Lorawan-stack: JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдЕрд╕рдВрдЧрдд рдПрдирдо рдкреНрд░рддрд┐рдкрд╛рджрди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдорд╛рд░реНрдЪ 2020  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: TheThingsNetwork/lorawan-stack

рд╕рд╛рд░рд╛рдВрд╢

рд╕рдВрджрд░реНрдн: https://github.com/TheThingsNetwork/lorawan-stack/issues/2047

mac_settings рдлрд╝реАрд▓реНрдб рдХреЗ рднреАрддрд░ рдПрдирдореНрд╕ рдХреЗ рд▓рд┐рдП NS рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рдорд╛рди рдЕрд╕рдВрдЧрдд рд╣реИрдВред рдХреБрдЫ рдПрдирдПрд╕ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрдЪреНрдЪреЗ рдорд╛рди рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

  1. mac_settings.rx1_delay.value рд╕реЗрдЯ рдХрд░реЗрдВ
// request
{
   "end_device":{
      "mac_settings":{
         "rx1_delay":{
            "value":5 // or 'RX_DELAY_5'
         }
      }
   },
   "field_mask":{
      "paths":[
         "mac_settings.rx1_delay.value",
      ]
   }
}

// response
{
   ...
   "mac_settings":{
      "rx1_delay":{
         "value":5
      },
   }
}

// Note, regardless of what you send as the value for mac_settings.rx1_delay.value you always get the raw enum value.
  1. mac_settings.ping_slot_periodicity.value рд╕реЗрдЯ рдХрд░реЗрдВ
// request

{
   "end_device":{
      "mac_settings":{
         "ping_slot_periodicity":{
            "value": 1 // or 'PING_EVERY_2S'
         }
      }
   },
   "field_mask":{
      "paths":[
         "mac_settings.ping_slot_periodicity.value"
      ]
   }
}

// response

{
   "mac_settings":{
      "ping_slot_periodicity":{
         "value":"PING_EVERY_2S"
      }
   }
}

// Again, regardless of what you send you always get the string representation of the value.

рдЕрдм рдЖрдк рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ?

mac_settings рдПрдирдо рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрдЧрдд рдорд╛рди

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдк рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рд╕рднреА рдорд╛рди рдПрдХ рд╣реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП (рдХрдЪреНрдЪреЗ/рд╕реНрдЯреНрд░рд┐рдВрдЧ)

рд╡рд╛рддрд╛рд╡рд░рдг

рд╡реА3.7.0-рдЖрд░рд╕реА2

рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдкреНрд░рд╛рд░реВрдк рдкрд░ рд╕рд╣рдордд рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рдпрд╣ https://github.com/TheThingsNetwork/lorawan-stack/blob/master/api/lorawan.proto рдФрд░ https://github.com/TheThingsNetwork/lorawan-stack/blob/master/pkg рдХреЛ рдПрдбрдЬрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рд╣реИ

рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рд╛рдВ, рд▓реЗрдХрд┐рди @rvolosatovs @johanstokking @htdvisser . рд╕реЗ рдЗрдирдкреБрдЯ рдЪрд╛рд╣рд┐рдП

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

V4 . рдХреЗ рд▓рд┐рдП рдмрдврд╝рд┐рдпрд╛

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рдорд╕реЗ рдХреНрдпрд╛ рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ( @rvolosatovs @johanstokking @htdvisser)? рдХреНрдпрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ discussion рд▓реЗрдмрд▓ рдирд╣реАрдВ рд╣реИ?

рдПрдлрдЯреАрдЖрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓реЛрд░рд╛рд╡рди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореИрдХ рд╕рд╛рдорд╛рди рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рд╣реИ ( PING_EVERY_2S рдХреА рдкрд┐рдВрдЧ рд╕реНрд▓реЙрдЯ рдЖрд╡рдзрд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ 1 рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ)

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реА рдПрдкреАрдЖрдИ рд╕рдВрдЧрддрддрд╛ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорд╛рд░реНрдЪ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдПрдирдо рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, MACVersion рдХреЛ "MAC_V1_0_2" , 3 (рджреЛрдиреЛрдВ jsonpb- рдЕрдиреБрд░реВрдк) рдпрд╛ "1.0.2" (TTN рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧрд░ рдХреЗ рд╕рд╛рде, рдЕрдиреБрдкрд╛рд▓рди рдирд╣реАрдВ) рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрддреАрдд рдореЗрдВ рд╣рдордиреЗ JSON рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╕рдордп рддреАрд╕рд░реЗ ( "1.0.2" ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЧрд▓рддреА рдХреА рд╣реИред рд╣рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рд▓реЗрдХрд┐рди рд╣рдо рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреЛ рддреЛрдбрд╝реЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдФрд░ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗред

рдпрдерд╛рд╕рдВрднрд╡ рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдиреБрд░реЛрдз рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рд╕рднреА рд░реВрдкреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреЛ рд╣рдо рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдЕрдм рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рднрд╡рд┐рд╖реНрдп рдореЗрдВ (goproto v2 API рдХреЗ рд╕рд╛рде) рд╣рдо рд╢рд╛рдпрдж Accept рд╣реЗрдбрд░ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ Github рдРрд╕рд╛ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд░ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдирдо (рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдлрд╝реАрд▓реНрдб) рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдмрдВрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рддреБрд░рдВрдд рдПрдХ рдЕрднреНрдпрд╕реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдЗрдП рдЗрд╕реЗ рдмреИрдХрд▓реЙрдЧ рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

V4 . рдХреЗ рд▓рд┐рдП рдмрдврд╝рд┐рдпрд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

adriansmares picture adriansmares  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

htdvisser picture htdvisser  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

w4tsn picture w4tsn  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

johanstokking picture johanstokking  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ecities picture ecities  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ