List of end device APIs.
End devices are registered in multiple registries. The Identity Server has a registry with end device metadata, the Network Server’s registry contains the MAC configuration, MAC state and network session keys, the Application Server keeps payload formatters and application session keys, the Join Server keeps the root keys.
When registering end devices, we recommend registering them in the following order:
EndDeviceRegistry.Create
(Identity Server)JsEndDeviceRegistry.Set
(Join Server, only for OTAA devices)NsEndDeviceRegistry.Set
(Network Server)AsEndDeviceRegistry.Set
(Application Server)
Check out the devices subsection for an example on how to register a device via API.
When deleting end devices, we recommend deleting them in the reverse order.
The EndDeviceRegistry
service
The Identity Server’s EndDeviceRegistry
is the first service, where end device is registered. The following EndDevice fields are registered in this registry:
ids
(with subfields)name
description
attributes
version_ids
(with subfields)network_server_address
application_server_address
join_server_address
(only for OTAA devices)service_profile_id
locations
picture
Method |
EndDeviceRegistry.Create
|
---|---|
Description |
Create a new end device within an application. After registering an end device, it also needs to be registered in the NsEndDeviceRegistry that is exposed by the Network Server, the AsEndDeviceRegistry that is exposed by the Application Server, and the JsEndDeviceRegistry that is exposed by the Join Server. |
Request type |
CreateEndDeviceRequest
|
Response type |
EndDevice
|
HTTP bindings |
|
Method |
EndDeviceRegistry.Get
|
---|---|
Description | Get the end device with the given identifiers, selecting the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller. |
Request type |
GetEndDeviceRequest
|
Response type |
EndDevice
|
HTTP bindings |
|
Method |
EndDeviceRegistry.GetIdentifiersForEUIs
|
---|---|
Description | Get the identifiers of the end device that has the given EUIs registered. |
Request type |
GetEndDeviceIdentifiersForEUIsRequest
|
Response type |
EndDeviceIdentifiers
|
HTTP bindings |
Method |
EndDeviceRegistry.List
|
---|---|
Description | List end devices in the given application. Similar to Get, this selects the fields given by the field mask. More or less fields may be returned, depending on the rights of the caller. |
Request type |
ListEndDevicesRequest
|
Response type |
EndDevices
|
HTTP bindings |
|
Method |
EndDeviceRegistry.Update
|
---|---|
Description | Update the end device, changing the fields specified by the field mask to the provided values. |
Request type |
UpdateEndDeviceRequest
|
Response type |
EndDevice
|
HTTP bindings |
|
Method |
EndDeviceRegistry.Delete
|
---|---|
Description |
Delete the end device with the given IDs. Before deleting an end device it first needs to be deleted from the NsEndDeviceRegistry, the AsEndDeviceRegistry and the JsEndDeviceRegistry. In addition, if the device claimed on a Join Server, it also needs to be unclaimed via the DeviceClaimingServer so it can be claimed in the future. This is NOT done automatically. |
Request type |
EndDeviceIdentifiers
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
Method |
EndDeviceRegistry.BatchUpdateLastSeen
|
---|---|
Description | Update the last seen timestamp for a batch of end devices. |
Request type |
BatchUpdateEndDeviceLastSeenRequest
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
The EndDeviceBatchRegistry
service
Method |
EndDeviceBatchRegistry.Get
|
---|---|
Description | Get a batch of end devices with the given identifiers, selecting the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller. Devices not found are skipped and no error is returned. |
Request type |
BatchGetEndDevicesRequest
|
Response type |
EndDevices
|
HTTP bindings |
|
Method |
EndDeviceBatchRegistry.Delete
|
---|---|
Description |
Delete a batch of end devices with the given IDs. This operation is atomic; either all devices are deleted or none. Devices not found are skipped and no error is returned. Before calling this RPC, use the corresponding BatchDelete RPCs of NsEndDeviceRegistry, AsEndDeviceRegistry and optionally the JsEndDeviceRegistry to delete the end devices. If the devices were claimed on a Join Server, use the BatchUnclaim RPC of the DeviceClaimingServer. This is NOT done automatically. |
Request type |
BatchDeleteEndDevicesRequest
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
The JsEndDeviceRegistry
service
OTAA devices are registered in the Join Server’s JsEndDeviceRegistry
. The following EndDevice fields are registered in this registry:
ids
(with subfields)provisioner_id
(when provisioning with secure elements)provisioning_data
(when provisioning with secure elements)resets_join_nonces
root_keys
:root_key_id
app_key
nwk_key
net_id
network_server_address
network_server_kek_label
application_server_address
application_server_id
application_server_kek_label
claim_authentication_code
(when using end device claiming)
See the EndDevice message and its sub-messages for additional fields that can be read from the Join Server’s JsEndDeviceRegistry
.
Method |
JsEndDeviceRegistry.Set
|
---|---|
Description | Set creates or updates the device. |
Request type |
SetEndDeviceRequest
|
Response type |
EndDevice
|
HTTP bindings |
|
Method |
JsEndDeviceRegistry.Get
|
---|---|
Description | Get returns the device that matches the given identifiers. If there are multiple matches, an error will be returned. |
Request type |
GetEndDeviceRequest
|
Response type |
EndDevice
|
HTTP bindings |
|
Method |
JsEndDeviceRegistry.Delete
|
---|---|
Description | Delete deletes the device that matches the given identifiers. If there are multiple matches, an error will be returned. |
Request type |
EndDeviceIdentifiers
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
The JsEndDeviceBatchRegistry
service
Method |
JsEndDeviceBatchRegistry.Delete
|
---|---|
Description | Delete a list of devices within the same application. This operation is atomic; either all devices are deleted or none. Devices not found are skipped and no error is returned. |
Request type |
BatchDeleteEndDevicesRequest
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
The NsEndDeviceRegistry
service
The following EndDevice fields are registered in the Network Server’s NsEndDeviceRegistry
:
ids
(with subfields)frequency_plan_id
lorawan_phy_version
lorawan_version
mac_settings
(with subfields)mac_state
(with subfields)supports_join
multicast
supports_class_b
supports_class_c
session.dev_addr
session.keys
:session_key_id
f_nwk_s_int_key
s_nwk_s_int_key
nwk_s_enc_key
See the EndDevice message and its sub-messages for additional fields that can be read from the Network Server’s NsEndDeviceRegistry
.
Method |
NsEndDeviceRegistry.Set
|
---|---|
Description | Set creates or updates the device. |
Request type |
SetEndDeviceRequest
|
Response type |
EndDevice
|
HTTP bindings |
|
Method |
NsEndDeviceRegistry.Get
|
---|---|
Description | Get returns the device that matches the given identifiers. If there are multiple matches, an error will be returned. |
Request type |
GetEndDeviceRequest
|
Response type |
EndDevice
|
HTTP bindings |
|
Method |
NsEndDeviceRegistry.Delete
|
---|---|
Description | Delete deletes the device that matches the given identifiers. If there are multiple matches, an error will be returned. |
Request type |
EndDeviceIdentifiers
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
The NsEndDeviceBatchRegistry
service
Method |
NsEndDeviceBatchRegistry.Delete
|
---|---|
Description | Delete a list of devices within the same application. This operation is atomic; either all devices are deleted or none. Devices not found are skipped and no error is returned. |
Request type |
BatchDeleteEndDevicesRequest
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
The AsEndDeviceRegistry
service
The following EndDevice fields are registered in the Application Server’s AsEndDeviceRegistry
:
ids
(with subfields)formatters
:up_formatter
up_formatter_parameter
down_formatter
down_formatter_parameter
session.dev_addr
session.keys
:session_key_id
app_s_key
See the EndDevice message and its sub-messages for additional fields that can be read from the Application Server’s AsEndDeviceRegistry
.
Method |
AsEndDeviceRegistry.Set
|
---|---|
Description | Set creates or updates the device. |
Request type |
SetEndDeviceRequest
|
Response type |
EndDevice
|
HTTP bindings |
|
Method |
AsEndDeviceRegistry.Get
|
---|---|
Description | Get returns the device that matches the given identifiers. If there are multiple matches, an error will be returned. |
Request type |
GetEndDeviceRequest
|
Response type |
EndDevice
|
HTTP bindings |
|
Method |
AsEndDeviceRegistry.Delete
|
---|---|
Description | Delete deletes the device that matches the given identifiers. If there are multiple matches, an error will be returned. |
Request type |
EndDeviceIdentifiers
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
The AsEndDeviceBatchRegistry
service
Method |
AsEndDeviceBatchRegistry.Delete
|
---|---|
Description | Delete a list of devices within the same application. This operation is atomic; either all devices are deleted or none. Devices not found are skipped and no error is returned. |
Request type |
BatchDeleteEndDevicesRequest
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
The EndDeviceClaimingServer
service
Method |
EndDeviceClaimingServer.AuthorizeApplication
|
---|---|
Description | Authorize the End Device Claiming Server to claim devices registered in the given application. The application identifiers are the source application, where the devices are registered before they are claimed. The API key is used to access the application, find the device, verify the claim request and delete the end device from the source application. DEPRECATED: Device claiming that transfers devices between applications is no longer supported and will be removed in a future version of The Things Stack. |
Request type |
AuthorizeApplicationRequest
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
Method |
EndDeviceClaimingServer.Claim
|
---|---|
Description | Claims the end device on a Join Server by claim authentication code or QR code. |
Request type |
ClaimEndDeviceRequest
|
Response type |
EndDeviceIdentifiers
|
HTTP bindings |
|
Method |
EndDeviceClaimingServer.GetClaimStatus
|
---|---|
Description | Gets the claim status of an end device. EUIs provided in the request are ignored and the end device is looked up by the given identifiers. |
Request type |
EndDeviceIdentifiers
|
Response type |
GetClaimStatusResponse
|
HTTP bindings |
|
Method |
EndDeviceClaimingServer.GetInfoByJoinEUI
|
---|---|
Description | Return whether claiming is available for a given JoinEUI. |
Request type |
GetInfoByJoinEUIRequest
|
Response type |
GetInfoByJoinEUIResponse
|
HTTP bindings |
|
Method |
EndDeviceClaimingServer.UnauthorizeApplication
|
---|---|
Description | Unauthorize the End Device Claiming Server to claim devices in the given application. This reverts the authorization given with rpc AuthorizeApplication. DEPRECATED: Device claiming that transfers devices between applications is no longer supported and will be removed in a future version of The Things Stack. |
Request type |
ApplicationIdentifiers
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
Method |
EndDeviceClaimingServer.Unclaim
|
---|---|
Description | Unclaims the end device on a Join Server. EUIs provided in the request are ignored and the end device is looked up by the given identifiers. |
Request type |
EndDeviceIdentifiers
|
Response type |
google.protobuf.Empty
|
HTTP bindings |
|
The EndDeviceBatchClaimingServer
service
Method |
EndDeviceBatchClaimingServer.GetInfoByJoinEUIs
|
---|---|
Description | Return whether claiming is supported for each Join EUI in a given list. |
Request type |
GetInfoByJoinEUIsRequest
|
Response type |
GetInfoByJoinEUIsResponse
|
HTTP bindings |
|
Method |
EndDeviceBatchClaimingServer.Unclaim
|
---|---|
Description | Unclaims multiple end devices on an external Join Server. All devices must have the same application ID. Check the response for devices that could not be unclaimed. |
Request type |
BatchUnclaimEndDevicesRequest
|
Response type |
BatchUnclaimEndDevicesResponse
|
HTTP bindings |
|
The DeviceRepository
service
Method |
DeviceRepository.ListBrands
|
---|---|
Request type |
ListEndDeviceBrandsRequest
|
Response type |
ListEndDeviceBrandsResponse
|
HTTP bindings |
|
Method |
DeviceRepository.GetBrand
|
---|---|
Request type |
GetEndDeviceBrandRequest
|
Response type |
EndDeviceBrand
|
HTTP bindings |
|
Method |
DeviceRepository.ListModels
|
---|---|
Request type |
ListEndDeviceModelsRequest
|
Response type |
ListEndDeviceModelsResponse
|
HTTP bindings |
|
Method |
DeviceRepository.GetModel
|
---|---|
Request type |
GetEndDeviceModelRequest
|
Response type |
EndDeviceModel
|
HTTP bindings |
|
Method |
DeviceRepository.GetTemplate
|
---|---|
Request type |
GetTemplateRequest
|
Response type |
EndDeviceTemplate
|
HTTP bindings |
|
Method |
DeviceRepository.GetUplinkDecoder
|
---|---|
Request type |
GetPayloadFormatterRequest
|
Response type |
MessagePayloadDecoder
|
HTTP bindings |
|
Method |
DeviceRepository.GetDownlinkDecoder
|
---|---|
Request type |
GetPayloadFormatterRequest
|
Response type |
MessagePayloadDecoder
|
HTTP bindings |
|
Method |
DeviceRepository.GetDownlinkEncoder
|
---|---|
Request type |
GetPayloadFormatterRequest
|
Response type |
MessagePayloadEncoder
|
HTTP bindings |
|
The EndDeviceQRCodeGenerator
service
Method |
EndDeviceQRCodeGenerator.GetFormat
|
---|---|
Description | Return the QR code format. |
Request type |
GetQRCodeFormatRequest
|
Response type |
QRCodeFormat
|
HTTP bindings |
|
Method |
EndDeviceQRCodeGenerator.ListFormats
|
---|---|
Description | Returns the supported formats. |
Request type |
google.protobuf.Empty
|
Response type |
QRCodeFormats
|
HTTP bindings |
|
Method |
EndDeviceQRCodeGenerator.Generate
|
---|---|
Description | Generates a QR code. |
Request type |
GenerateEndDeviceQRCodeRequest
|
Response type |
GenerateQRCodeResponse
|
HTTP bindings |
|
Method |
EndDeviceQRCodeGenerator.Parse
|
---|---|
Description | Parse QR Codes of known formats and return the information contained within. |
Request type |
ParseEndDeviceQRCodeRequest
|
Response type |
ParseEndDeviceQRCodeResponse
|
HTTP bindings |
|
The EndDeviceRegistrySearch
service
Method |
EndDeviceRegistrySearch.SearchEndDevices
|
---|---|
Description | Search for end devices in the given application that match the conditions specified in the request. |
Request type |
SearchEndDevicesRequest
|
Response type |
EndDevices
|
HTTP bindings |
|
The EndDeviceTemplateConverter
service
Method |
EndDeviceTemplateConverter.ListFormats
|
---|---|
Description | Returns the configured formats to convert from. |
Request type |
google.protobuf.Empty
|
Response type |
EndDeviceTemplateFormats
|
HTTP bindings |
|
Method |
EndDeviceTemplateConverter.Convert
|
---|---|
Description | Converts the binary data to a stream of end device templates. |
Request type |
ConvertEndDeviceTemplateRequest
|
Response type |
Stream of EndDeviceTemplate
The HTTP API uses Content-Type: text/event-stream and a response body of newline-delimited JSON. Make sure to send Accept: text/event-stream in the request.
|
HTTP bindings |
|
Messages
Message ApplicationIdentifiers
Show object example
{
"application_id": "",
}
Fields:
Field |
application_id
|
---|---|
Type |
string
|
Description |
|
Message ApplicationDownlink
Show object example
{
"session_key_id": "",
"f_port": 0,
"f_cnt": 0,
"frm_payload": "",
"decoded_payload": {},
"decoded_payload_warnings": [],
"confirmed": false,
"class_b_c": {},
"priority": "LOWEST",
"correlation_ids": [],
"confirmed_retry": {},
}
Fields:
Field |
session_key_id
|
---|---|
Type |
bytes
|
Description |
Join Server issued identifier for the session keys used by this downlink.
|
Field |
f_port
|
---|---|
Type |
uint32
|
Description |
|
Field |
f_cnt
|
---|---|
Type |
uint32
|
Field |
frm_payload
|
---|---|
Type |
bytes
|
Description |
The frame payload of the downlink message. The payload is encrypted if the skip_payload_crypto field of the EndDevice is true.
|
Field |
decoded_payload
|
---|---|
Type |
google.protobuf.
Struct
|
Description |
The decoded frame payload of the downlink message. When scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters), this fields acts as input for the downlink encoder, and the output is set to frm_payload. When reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload. |
Field |
decoded_payload_warnings
|
---|---|
Type |
repeated
string
|
Description |
Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink). |
Field |
confirmed
|
---|---|
Type |
bool
|
Field |
class_b_c
|
---|---|
Type |
ApplicationDownlink.ClassBC
|
Description |
Optional gateway and timing information for class B and C. If set, this downlink message will only be transmitted as class B or C downlink. If not set, this downlink message may be transmitted in class A, B and C. |
Field |
priority
|
---|---|
Type |
TxSchedulePriority
|
Description |
Priority for scheduling the downlink message.
|
Field |
correlation_ids
|
---|---|
Type |
repeated
string
|
Description |
|
Field |
confirmed_retry
|
---|---|
Type |
ApplicationDownlink.ConfirmedRetry
|
Message ApplicationDownlink.ClassBC
Show object example
{
"gateways": [],
"absolute_time": "0001-01-01T00:00:00Z",
}
Fields:
Field |
gateways
|
---|---|
Type |
repeated
ClassBCGatewayIdentifiers
|
Description |
Possible gateway identifiers, antenna index, and group index to use for this downlink message. The Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot. If none of the gateways can be selected, the downlink message fails. If empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks. If group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group. |
Field |
absolute_time
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Absolute time when the downlink message should be transmitted. This requires the gateway to have GPS time synchronization. If the time is in the past or if there is a scheduling conflict, the downlink message fails. If null, the time is selected based on slot availability. This is recommended in class B mode. |
Message ApplicationDownlink.ConfirmedRetry
Show object example
{
"attempt": 0,
"max_attempts": null,
}
Fields:
Field |
attempt
|
---|---|
Type |
uint32
|
Description |
The number of attempted confirmed downlink acknowledgements. |
Field |
max_attempts
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
The maximum number of confirmed downlink acknowledgement attempts. If null, the Application Server configuration is used instead.
|
Message ADRAckLimitExponentValue
Show object example
{
"value": "ADR_ACK_LIMIT_1",
}
Fields:
Field |
value
|
---|---|
Type |
ADRAckLimitExponent
|
Description |
|
Message ADRAckDelayExponentValue
Show object example
{
"value": "ADR_ACK_DELAY_1",
}
Fields:
Field |
value
|
---|---|
Type |
ADRAckDelayExponent
|
Description |
|
Message ADRSettings
Adaptive Data Rate settings.
Restrictions:- Only one of
static
,dynamic
,disabled
can be set.
Show object example
{
"static": {},
"dynamic": {},
"disabled": {},
}
Fields:
Field |
static
|
---|---|
Type |
ADRSettings.StaticMode
|
Field |
dynamic
|
---|---|
Type |
ADRSettings.DynamicMode
|
Field |
disabled
|
---|---|
Type |
ADRSettings.DisabledMode
|
Message ADRSettings.StaticMode
Configuration options for static ADR.
Show object example
{
"data_rate_index": "DATA_RATE_0",
"tx_power_index": 0,
"nb_trans": 0,
}
Fields:
Field |
data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
Data rate index to use.
|
Field |
tx_power_index
|
---|---|
Type |
uint32
|
Description |
Transmission power index to use.
|
Field |
nb_trans
|
---|---|
Type |
uint32
|
Description |
Number of retransmissions.
|
Message ADRSettings.DynamicMode
Configuration options for dynamic ADR.
Show object example
{
"margin": null,
"min_data_rate_index": {},
"max_data_rate_index": {},
"min_tx_power_index": null,
"max_tx_power_index": null,
"min_nb_trans": null,
"max_nb_trans": null,
"channel_steering": {},
"overrides": {},
}
Fields:
Field |
margin
|
---|---|
Type |
google.protobuf.
FloatValue
|
Description |
The ADR margin (dB) tells the network server how much margin it should add in ADR requests. A bigger margin is less efficient, but gives a better chance of successful reception. If unset, the default value from Network Server configuration will be used. |
Field |
min_data_rate_index
|
---|---|
Type |
DataRateIndexValue
|
Description |
Minimum data rate index. If unset, the default value from Network Server configuration will be used. |
Field |
max_data_rate_index
|
---|---|
Type |
DataRateIndexValue
|
Description |
Maximum data rate index. If unset, the default value from Network Server configuration will be used. |
Field |
min_tx_power_index
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
Minimum transmission power index. If unset, the default value from Network Server configuration will be used.
|
Field |
max_tx_power_index
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
Maximum transmission power index. If unset, the default value from Network Server configuration will be used.
|
Field |
min_nb_trans
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
Minimum number of retransmissions. If unset, the default value from Network Server configuration will be used.
|
Field |
max_nb_trans
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
Maximum number of retransmissions. If unset, the default value from Network Server configuration will be used.
|
Field |
channel_steering
|
---|---|
Type |
ADRSettings.DynamicMode.ChannelSteeringSettings
|
Field |
overrides
|
---|---|
Type |
ADRSettings.DynamicMode.Overrides
|
Message ADRSettings.DynamicMode.ChannelSteeringSettings
EXPERIMENTAL: Channel steering settings.
Restrictions:- Only one of
lora_narrow
,disabled
can be set.
Show object example
{
"lora_narrow": {},
"disabled": {},
}
Fields:
Field |
lora_narrow
|
---|---|
Type |
ADRSettings.DynamicMode.ChannelSteeringSettings.LoRaNarrowMode
|
Field |
disabled
|
---|---|
Type |
ADRSettings.DynamicMode.ChannelSteeringSettings.DisabledMode
|
Message ADRSettings.DynamicMode.ChannelSteeringSettings.LoRaNarrowMode
Configuration options for LoRa narrow channels steering. The narrow mode attempts to steer the end device towards using the LoRa modulated, 125kHz bandwidth channels.
Show object example
{
}
Fields:
Message ADRSettings.DynamicMode.ChannelSteeringSettings.DisabledMode
Configuration options for cases in which ADR is not supposed to steer the end device to another set of channels.
Show object example
{
}
Fields:
Message ADRSettings.DynamicMode.PerDataRateIndexOverride
EXPERIMENTAL: Data rate index override settings.
Show object example
{
"min_nb_trans": null,
"max_nb_trans": null,
}
Fields:
Field |
min_nb_trans
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
Minimum number of retransmissions. If unset, the default value from Network Server configuration will be used.
|
Field |
max_nb_trans
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
Maximum number of retransmissions. If unset, the default value from Network Server configuration will be used.
|
Message ADRSettings.DynamicMode.Overrides
EXPERIMENTAL: Configuration overrides.
Show object example
{
"data_rate_0": {},
"data_rate_1": {},
"data_rate_2": {},
"data_rate_3": {},
"data_rate_4": {},
"data_rate_5": {},
"data_rate_6": {},
"data_rate_7": {},
"data_rate_8": {},
"data_rate_9": {},
"data_rate_10": {},
"data_rate_11": {},
"data_rate_12": {},
"data_rate_13": {},
"data_rate_14": {},
"data_rate_15": {},
}
Fields:
Field |
data_rate_0
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_1
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_2
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_3
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_4
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_5
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_6
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_7
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_8
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_9
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_10
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_11
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_12
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_13
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_14
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Field |
data_rate_15
|
---|---|
Type |
ADRSettings.DynamicMode.PerDataRateIndexOverride
|
Message ADRSettings.DisabledMode
Configuration options for cases in which ADR is to be disabled completely.
Show object example
{
}
Fields:
Message AggregatedDutyCycleValue
Show object example
{
"value": "DUTY_CYCLE_1",
}
Fields:
Field |
value
|
---|---|
Type |
AggregatedDutyCycle
|
Description |
|
Message AuthorizeApplicationRequest
DEPRECATED: Device claiming that transfers devices between applications is no longer supported and will be removed in a future version of The Things Stack.
Show object example
{
"application_ids": {},
"api_key": "",
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
|
Field |
api_key
|
---|---|
Type |
string
|
Description |
|
Message BoolValue
Show object example
{
"value": false,
}
Fields:
Field |
value
|
---|---|
Type |
bool
|
Message BatchDeleteEndDevicesRequest
Show object example
{
"application_ids": {},
"device_ids": [],
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
|
Field |
device_ids
|
---|---|
Type |
repeated
string
|
Description |
|
Message BatchGetEndDevicesRequest
Show object example
{
"application_ids": {},
"device_ids": [],
"field_mask": {},
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
|
Field |
device_ids
|
---|---|
Type |
repeated
string
|
Description |
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
The names of the end device fields that should be returned. This mask is applied on all the end devices in the result. See the API reference for which fields can be returned by the different services. |
Message BatchUpdateEndDeviceLastSeenRequest.EndDeviceLastSeenUpdate
Show object example
{
"ids": {},
"last_seen_at": "0001-01-01T00:00:00Z",
}
Fields:
Field |
ids
|
---|---|
Type |
EndDeviceIdentifiers
|
Description |
|
Field |
last_seen_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Message BatchUpdateEndDeviceLastSeenRequest
Show object example
{
"updates": [],
}
Fields:
Field |
updates
|
---|---|
Type |
repeated
BatchUpdateEndDeviceLastSeenRequest.EndDeviceLastSeenUpdate
|
Description |
The last seen timestamp needs to be set per end device. |
Message BatchUnclaimEndDevicesRequest
Show object example
{
"application_ids": {},
"device_ids": [],
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
|
Field |
device_ids
|
---|---|
Type |
repeated
string
|
Description |
|
Message BatchUnclaimEndDevicesResponse
Show object example
{
"application_ids": {},
"failed": {},
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Field |
failed
|
---|---|
Type |
map of
string
to
ErrorDetails
|
Description |
End devices that could not be unclaimed. The key is the device ID. |
Message CreateEndDeviceRequest
Show object example
{
"end_device": {},
}
Fields:
Field |
end_device
|
---|---|
Type |
EndDevice
|
Description |
|
Message CFList
Show object example
{
"type": "FREQUENCIES",
"freq": [],
"ch_masks": [],
}
Fields:
Field |
type
|
---|---|
Type |
CFListType
|
Description |
|
Field |
freq
|
---|---|
Type |
repeated
uint32
|
Description |
Frequencies to be broadcasted, in hecto-Hz. These values are broadcasted as 24 bits unsigned integers. This field should not contain default values. |
Field |
ch_masks
|
---|---|
Type |
repeated
bool
|
Description |
ChMasks controlling the channels to be used. Length of this field must be equal to the amount of uplink channels defined by the selected frequency plan. |
Message ClaimEndDeviceRequest
Restrictions:
- Only one of
authenticated_identifiers
,qr_code
can be set.
Show object example
{
"authenticated_identifiers": {},
"qr_code": "",
"target_application_ids": {},
"target_device_id": "",
}
Fields:
Field |
authenticated_identifiers
|
---|---|
Type |
ClaimEndDeviceRequest.AuthenticatedIdentifiers
|
Description |
Authenticated identifiers. |
Field |
qr_code
|
---|---|
Type |
bytes
|
Description |
Raw QR code contents.
|
Field |
target_application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
Application identifiers of the target end device.
|
Field |
target_device_id
|
---|---|
Type |
string
|
Description |
End device ID of the target end device. If empty, use the source device ID.
|
Message ClaimEndDeviceRequest.AuthenticatedIdentifiers
Show object example
{
"join_eui": "",
"dev_eui": "",
"authentication_code": "",
}
Fields:
Field |
join_eui
|
---|---|
Type |
bytes
|
Description |
JoinEUI (or AppEUI) of the device to claim.
|
Field |
dev_eui
|
---|---|
Type |
bytes
|
Description |
DevEUI of the device to claim.
|
Field |
authentication_code
|
---|---|
Type |
string
|
Description |
Authentication code to prove ownership. In the LoRa Alliance TR005 specification, this equals the OwnerToken.
|
Message ClassBCGatewayIdentifiers
Show object example
{
"gateway_ids": {},
"antenna_index": 0,
"group_index": 0,
}
Fields:
Field |
gateway_ids
|
---|---|
Type |
GatewayIdentifiers
|
Description |
|
Field |
antenna_index
|
---|---|
Type |
uint32
|
Field |
group_index
|
---|---|
Type |
uint32
|
Message ConvertEndDeviceTemplateRequest
Show object example
{
"format_id": "",
"data": "",
"end_device_version_ids": {},
}
Fields:
Field |
format_id
|
---|---|
Type |
string
|
Description |
ID of the format.
|
Field |
data
|
---|---|
Type |
bytes
|
Description |
Data to convert. |
Field |
end_device_version_ids
|
---|---|
Type |
EndDeviceVersionIdentifiers
|
Description |
End device profile identifiers. |
Message DataRate
Restrictions:
- Only one of
lora
,fsk
,lrfhss
can be set.
Show object example
{
"lora": {},
"fsk": {},
"lrfhss": {},
}
Fields:
Field |
lora
|
---|---|
Type |
LoRaDataRate
|
Field |
fsk
|
---|---|
Type |
FSKDataRate
|
Field |
lrfhss
|
---|---|
Type |
LRFHSSDataRate
|
Message DataRateIndexValue
Show object example
{
"value": "DATA_RATE_0",
}
Fields:
Field |
value
|
---|---|
Type |
DataRateIndex
|
Description |
|
Message DataRateOffsetValue
Show object example
{
"value": "DATA_RATE_OFFSET_0",
}
Fields:
Field |
value
|
---|---|
Type |
DataRateOffset
|
Description |
|
Message DeviceEIRPValue
Show object example
{
"value": "DEVICE_EIRP_8",
}
Fields:
Field |
value
|
---|---|
Type |
DeviceEIRP
|
Description |
|
Message DLSettings
Show object example
{
"rx1_dr_offset": "DATA_RATE_OFFSET_0",
"rx2_dr": "DATA_RATE_0",
"opt_neg": false,
}
Fields:
Field |
rx1_dr_offset
|
---|---|
Type |
DataRateOffset
|
Description |
|
Field |
rx2_dr
|
---|---|
Type |
DataRateIndex
|
Description |
|
Field |
opt_neg
|
---|---|
Type |
bool
|
Description |
OptNeg is set if Network Server implements LoRaWAN 1.1 or greater. |
Message DownlinkMessage
Downlink message from the network to the end device
Restrictions:- Only one of
request
,scheduled
can be set.
Show object example
{
"raw_payload": "",
"payload": {},
"end_device_ids": {},
"request": {},
"scheduled": {},
"correlation_ids": [],
"session_key_id": "",
}
Fields:
Field |
raw_payload
|
---|---|
Type |
bytes
|
Field |
payload
|
---|---|
Type |
Message
|
Field |
end_device_ids
|
---|---|
Type |
EndDeviceIdentifiers
|
Field |
request
|
---|---|
Type |
TxRequest
|
Field |
scheduled
|
---|---|
Type |
TxSettings
|
Field |
correlation_ids
|
---|---|
Type |
repeated
string
|
Description |
|
Field |
session_key_id
|
---|---|
Type |
bytes
|
Description |
|
Message DownlinkPath
Restrictions:
- Only one of
uplink_token
,fixed
can be set.
Show object example
{
"uplink_token": "",
"fixed": {},
}
Fields:
Field |
uplink_token
|
---|---|
Type |
bytes
|
Field |
fixed
|
---|---|
Type |
GatewayAntennaIdentifiers
|
Message EndDevice
Defines an End Device registration and its state on the network. The persistence of the EndDevice is divided between the Network Server, Application Server and Join Server. SDKs are responsible for combining (if desired) the three.
Show object example
{
"ids": {},
"created_at": "0001-01-01T00:00:00Z",
"updated_at": "0001-01-01T00:00:00Z",
"name": "",
"description": "",
"attributes": {},
"version_ids": {},
"service_profile_id": "",
"network_server_address": "",
"network_server_kek_label": "",
"application_server_address": "",
"application_server_kek_label": "",
"application_server_id": "",
"join_server_address": "",
"locations": {},
"picture": {},
"supports_class_b": false,
"supports_class_c": false,
"lorawan_version": "MAC_UNKNOWN",
"lorawan_phy_version": "PHY_UNKNOWN",
"frequency_plan_id": "",
"min_frequency": 0,
"max_frequency": 0,
"supports_join": false,
"resets_join_nonces": false,
"root_keys": {},
"net_id": "",
"mac_settings": {},
"mac_state": {},
"pending_mac_state": {},
"session": {},
"pending_session": {},
"last_dev_nonce": 0,
"used_dev_nonces": [],
"last_join_nonce": 0,
"last_rj_count_0": 0,
"last_rj_count_1": 0,
"last_dev_status_received_at": "0001-01-01T00:00:00Z",
"power_state": "POWER_UNKNOWN",
"battery_percentage": null,
"downlink_margin": 0,
"queued_application_downlinks": [],
"formatters": {},
"provisioner_id": "",
"provisioning_data": {},
"multicast": false,
"claim_authentication_code": {},
"skip_payload_crypto": false,
"skip_payload_crypto_override": null,
"activated_at": "0001-01-01T00:00:00Z",
"last_seen_at": "0001-01-01T00:00:00Z",
"serial_number": "",
"lora_alliance_profile_ids": {},
}
Fields:
Field |
ids
|
---|---|
Type |
EndDeviceIdentifiers
|
Description |
|
Field |
created_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Field |
updated_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Field |
name
|
---|---|
Type |
string
|
Description |
Friendly name of the device. Stored in Entity Registry.
|
Field |
description
|
---|---|
Type |
string
|
Description |
Description of the device. Stored in Entity Registry.
|
Field |
attributes
|
---|---|
Type |
map of
string
to
string
|
Description |
Key-value attributes for this end device. Typically used for organizing end devices or for storing integration-specific data. Stored in Entity Registry.
|
Field |
version_ids
|
---|---|
Type |
EndDeviceVersionIdentifiers
|
Description |
Version Identifiers. Stored in Entity Registry, Network Server and Application Server. |
Field |
service_profile_id
|
---|---|
Type |
string
|
Description |
Default service profile. Stored in Entity Registry.
|
Field |
network_server_address
|
---|---|
Type |
string
|
Description |
The address of the Network Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. The typical format of the address is “host:port”. If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.
|
Field |
network_server_kek_label
|
---|---|
Type |
string
|
Description |
The KEK label of the Network Server to use for wrapping network session keys. Stored in Join Server.
|
Field |
application_server_address
|
---|---|
Type |
string
|
Description |
The address of the Application Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. The typical format of the address is “host:port”. If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.
|
Field |
application_server_kek_label
|
---|---|
Type |
string
|
Description |
The KEK label of the Application Server to use for wrapping the application session key. Stored in Join Server.
|
Field |
application_server_id
|
---|---|
Type |
string
|
Description |
The AS-ID of the Application Server to use. Stored in Join Server.
|
Field |
join_server_address
|
---|---|
Type |
string
|
Description |
The address of the Join Server where this device is supposed to be registered. Stored in Entity Registry. The typical format of the address is “host:port”. If the port is omitted, the normal port inference (with DNS lookup, otherwise defaults) is used. The connection shall be established with transport layer security (TLS). Custom certificate authorities may be configured out-of-band.
|
Field |
locations
|
---|---|
Type |
map of
string
to
Location
|
Description |
Location of the device. Stored in Entity Registry.
|
Field |
picture
|
---|---|
Type |
Picture
|
Description |
Stored in Entity Registry. |
Field |
supports_class_b
|
---|---|
Type |
bool
|
Description |
Whether the device supports class B. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any. |
Field |
supports_class_c
|
---|---|
Type |
bool
|
Description |
Whether the device supports class C. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any. |
Field |
lorawan_version
|
---|---|
Type |
MACVersion
|
Description |
LoRaWAN MAC version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.
|
Field |
lorawan_phy_version
|
---|---|
Type |
PHYVersion
|
Description |
LoRaWAN PHY version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.
|
Field |
frequency_plan_id
|
---|---|
Type |
string
|
Description |
ID of the frequency plan used by this device. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.
|
Field |
min_frequency
|
---|---|
Type |
uint64
|
Description |
Minimum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any. |
Field |
max_frequency
|
---|---|
Type |
uint64
|
Description |
Maximum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any. |
Field |
supports_join
|
---|---|
Type |
bool
|
Description |
The device supports join (it’s OTAA). Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any. |
Field |
resets_join_nonces
|
---|---|
Type |
bool
|
Description |
Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any. |
Field |
root_keys
|
---|---|
Type |
RootKeys
|
Description |
Device root keys. Stored in Join Server. |
Field |
net_id
|
---|---|
Type |
bytes
|
Description |
Home NetID. Stored in Join Server.
|
Field |
mac_settings
|
---|---|
Type |
MACSettings
|
Description |
Settings for how the Network Server handles MAC layer for this device. Stored in Network Server. |
Field |
mac_state
|
---|---|
Type |
MACState
|
Description |
MAC state of the device. Stored in Network Server. |
Field |
pending_mac_state
|
---|---|
Type |
MACState
|
Description |
Pending MAC state of the device. Stored in Network Server. |
Field |
session
|
---|---|
Type |
Session
|
Description |
Current session of the device. Stored in Network Server and Application Server. |
Field |
pending_session
|
---|---|
Type |
Session
|
Description |
Pending session. Stored in Network Server and Application Server until RekeyInd is received. |
Field |
last_dev_nonce
|
---|---|
Type |
uint32
|
Description |
Last DevNonce used. This field is only used for devices using LoRaWAN version 1.1 and later. Stored in Join Server. |
Field |
used_dev_nonces
|
---|---|
Type |
repeated
uint32
|
Description |
Used DevNonces sorted in ascending order. This field is only used for devices using LoRaWAN versions preceding 1.1. Stored in Join Server. |
Field |
last_join_nonce
|
---|---|
Type |
uint32
|
Description |
Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used. Stored in Join Server. |
Field |
last_rj_count_0
|
---|---|
Type |
uint32
|
Description |
Last Rejoin counter value used (type 0/2). Stored in Join Server. |
Field |
last_rj_count_1
|
---|---|
Type |
uint32
|
Description |
Last Rejoin counter value used (type 1). Stored in Join Server. |
Field |
last_dev_status_received_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Time when last DevStatus MAC command was received. Stored in Network Server. |
Field |
power_state
|
---|---|
Type |
PowerState
|
Description |
The power state of the device; whether it is battery-powered or connected to an external power source. Received via the DevStatus MAC command at status_received_at. Stored in Network Server.
|
Field |
battery_percentage
|
---|---|
Type |
google.protobuf.
FloatValue
|
Description |
Latest-known battery percentage of the device. Received via the DevStatus MAC command at last_dev_status_received_at or earlier. Stored in Network Server.
|
Field |
downlink_margin
|
---|---|
Type |
int32
|
Description |
Demodulation signal-to-noise ratio (dB). Received via the DevStatus MAC command at last_dev_status_received_at. Stored in Network Server. |
Field |
queued_application_downlinks
|
---|---|
Type |
repeated
ApplicationDownlink
|
Description |
Queued Application downlink messages. Stored in Application Server, which sets them on the Network Server. This field is deprecated and is always set equal to session.queued_application_downlinks. |
Field |
formatters
|
---|---|
Type |
MessagePayloadFormatters
|
Description |
The payload formatters for this end device. Stored in Application Server. Copied on creation from template identified by version_ids. |
Field |
provisioner_id
|
---|---|
Type |
string
|
Description |
ID of the provisioner. Stored in Join Server.
|
Field |
provisioning_data
|
---|---|
Type |
google.protobuf.
Struct
|
Description |
Vendor-specific provisioning data. Stored in Join Server. |
Field |
multicast
|
---|---|
Type |
bool
|
Description |
Indicates whether this device represents a multicast group. |
Field |
claim_authentication_code
|
---|---|
Type |
EndDeviceAuthenticationCode
|
Description |
Authentication code to claim ownership of the end device. From TTS v3.21.0 this field is stored in the Identity Server. For TTS versions < 3.21.0, this field is stored in the Join Server. The value stored on the Identity Server takes precedence. |
Field |
skip_payload_crypto
|
---|---|
Type |
bool
|
Description |
Skip decryption of uplink payloads and encryption of downlink payloads. This field is deprecated, use skip_payload_crypto_override instead. |
Field |
skip_payload_crypto_override
|
---|---|
Type |
google.protobuf.
BoolValue
|
Description |
Skip decryption of uplink payloads and encryption of downlink payloads. This field overrides the application-level setting. |
Field |
activated_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Timestamp when the device has been activated. Stored in the Entity Registry. This field is set by the Application Server when an end device sends its first uplink. The Application Server will use the field in order to avoid repeated calls to the Entity Registry. The field cannot be unset once set. |
Field |
last_seen_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Timestamp when a device uplink has been last observed. This field is set by the Application Server and stored in the Identity Server. |
Field |
serial_number
|
---|---|
Type |
string
|
Description |
|
Field |
lora_alliance_profile_ids
|
---|---|
Type |
LoRaAllianceProfileIdentifiers
|
Message EndDeviceAuthenticationCode
Authentication code for end devices.
Show object example
{
"value": "",
"valid_from": "0001-01-01T00:00:00Z",
"valid_to": "0001-01-01T00:00:00Z",
}
Fields:
Field |
value
|
---|---|
Type |
string
|
Description |
|
Field |
valid_from
|
---|---|
Type |
google.protobuf.
Timestamp
|
Field |
valid_to
|
---|---|
Type |
google.protobuf.
Timestamp
|
Message EndDeviceIdentifiers
Show object example
{
"device_id": "",
"application_ids": {},
"dev_eui": "",
"join_eui": "",
"dev_addr": "",
}
Fields:
Field |
device_id
|
---|---|
Type |
string
|
Description |
|
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
|
Field |
dev_eui
|
---|---|
Type |
bytes
|
Description |
The LoRaWAN DevEUI.
|
Field |
join_eui
|
---|---|
Type |
bytes
|
Description |
The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices).
|
Field |
dev_addr
|
---|---|
Type |
bytes
|
Description |
The LoRaWAN DevAddr.
|
Message EndDeviceIdentifiersList
Show object example
{
"end_device_ids": [],
}
Fields:
Field |
end_device_ids
|
---|---|
Type |
repeated
EndDeviceIdentifiers
|
Description |
Message EndDevices
Show object example
{
"end_devices": [],
}
Fields:
Field |
end_devices
|
---|---|
Type |
repeated
EndDevice
|
Description |
Message EndDeviceVersionIdentifiers
Identifies an end device model with version information.
Show object example
{
"brand_id": "",
"model_id": "",
"hardware_version": "",
"firmware_version": "",
"band_id": "",
}
Fields:
Field |
brand_id
|
---|---|
Type |
string
|
Description |
|
Field |
model_id
|
---|---|
Type |
string
|
Description |
|
Field |
hardware_version
|
---|---|
Type |
string
|
Description |
|
Field |
firmware_version
|
---|---|
Type |
string
|
Description |
|
Field |
band_id
|
---|---|
Type |
string
|
Description |
|
Message FrequencyValue
Show object example
{
"value": 0,
}
Fields:
Field |
value
|
---|---|
Type |
uint64
|
Description |
|
Message FHDR
Show object example
{
"dev_addr": "",
"f_ctrl": {},
"f_cnt": 0,
"f_opts": "",
}
Fields:
Field |
dev_addr
|
---|---|
Type |
bytes
|
Description |
|
Field |
f_ctrl
|
---|---|
Type |
FCtrl
|
Description |
|
Field |
f_cnt
|
---|---|
Type |
uint32
|
Description |
|
Field |
f_opts
|
---|---|
Type |
bytes
|
Description |
|
Message FCtrl
Show object example
{
"adr": false,
"adr_ack_req": false,
"ack": false,
"f_pending": false,
"class_b": false,
}
Fields:
Field |
adr
|
---|---|
Type |
bool
|
Field |
adr_ack_req
|
---|---|
Type |
bool
|
Description |
Only on uplink. |
Field |
ack
|
---|---|
Type |
bool
|
Field |
f_pending
|
---|---|
Type |
bool
|
Description |
Only on downlink. |
Field |
class_b
|
---|---|
Type |
bool
|
Description |
Only on uplink. |
Message FSKDataRate
Show object example
{
"bit_rate": 0,
}
Fields:
Field |
bit_rate
|
---|---|
Type |
uint32
|
Description |
Bit rate (bps). |
Message GatewayClaimAuthenticationCode
Authentication code for claiming gateways.
Show object example
{
"secret": {},
"valid_from": "0001-01-01T00:00:00Z",
"valid_to": "0001-01-01T00:00:00Z",
}
Fields:
Field |
secret
|
---|---|
Type |
Secret
|
Field |
valid_from
|
---|---|
Type |
google.protobuf.
Timestamp
|
Field |
valid_to
|
---|---|
Type |
google.protobuf.
Timestamp
|
Message GatewayIdentifiers
Show object example
{
"gateway_id": "",
"eui": "",
}
Fields:
Field |
gateway_id
|
---|---|
Type |
string
|
Description |
|
Field |
eui
|
---|---|
Type |
bytes
|
Description |
Secondary identifier, which can only be used in specific requests.
|
Message GatewayAntennaIdentifiers
Show object example
{
"gateway_ids": {},
"antenna_index": 0,
}
Fields:
Field |
gateway_ids
|
---|---|
Type |
GatewayIdentifiers
|
Description |
|
Field |
antenna_index
|
---|---|
Type |
uint32
|
Message GetClaimStatusResponse
Show object example
{
"end_device_ids": {},
"home_net_id": "",
"home_ns_id": "",
"vendor_specific": {},
}
Fields:
Field |
end_device_ids
|
---|---|
Type |
EndDeviceIdentifiers
|
Description |
|
Field |
home_net_id
|
---|---|
Type |
bytes
|
Description |
|
Field |
home_ns_id
|
---|---|
Type |
bytes
|
Description |
|
Field |
vendor_specific
|
---|---|
Type |
GetClaimStatusResponse.VendorSpecific
|
Message GetClaimStatusResponse.VendorSpecific
Show object example
{
"organization_unique_identifier": 0,
"data": {},
}
Fields:
Field |
organization_unique_identifier
|
---|---|
Type |
uint32
|
Field |
data
|
---|---|
Type |
google.protobuf.
Struct
|
Description |
Vendor Specific data in JSON format. |
Message GetEndDeviceIdentifiersForEUIsRequest
Show object example
{
"join_eui": "",
"dev_eui": "",
}
Fields:
Field |
join_eui
|
---|---|
Type |
bytes
|
Description |
|
Field |
dev_eui
|
---|---|
Type |
bytes
|
Description |
|
Message GetInfoByJoinEUIRequest
Show object example
{
"join_eui": "",
}
Fields:
Field |
join_eui
|
---|---|
Type |
bytes
|
Description |
|
Message GetInfoByJoinEUIsRequest
Show object example
{
"requests": [],
}
Fields:
Field |
requests
|
---|---|
Type |
repeated
GetInfoByJoinEUIRequest
|
Description |
|
Message GetInfoByJoinEUIResponse
Show object example
{
"join_eui": "",
"supports_claiming": false,
}
Fields:
Field |
join_eui
|
---|---|
Type |
bytes
|
Description |
|
Field |
supports_claiming
|
---|---|
Type |
bool
|
Description |
If set, this Join EUI is available for claiming on one of the configured Join Servers. |
Message GetInfoByJoinEUIsResponse
Show object example
{
"infos": [],
}
Fields:
Field |
infos
|
---|---|
Type |
repeated
GetInfoByJoinEUIResponse
|
Description |
Message GetEndDeviceModelRequest
Show object example
{
"application_ids": {},
"brand_id": "",
"model_id": "",
"field_mask": {},
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
Application identifiers. |
Field |
brand_id
|
---|---|
Type |
string
|
Description |
Brand identifier, as defined in the Device Repository.
|
Field |
model_id
|
---|---|
Type |
string
|
Description |
Model identifier, as defined in the Device Repository.
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
Field mask paths. |
Message GetEndDeviceBrandRequest
Show object example
{
"application_ids": {},
"brand_id": "",
"field_mask": {},
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
Application identifiers. |
Field |
brand_id
|
---|---|
Type |
string
|
Description |
Brand identifier, as defined in the Device Repository.
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
Field mask paths. |
Message GetEndDeviceRequest
Show object example
{
"end_device_ids": {},
"field_mask": {},
}
Fields:
Field |
end_device_ids
|
---|---|
Type |
EndDeviceIdentifiers
|
Description |
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
The names of the end device fields that should be returned. See the API reference for which fields can be returned by the different services. |
Message GetQRCodeFormatRequest
Show object example
{
"format_id": "",
}
Fields:
Field |
format_id
|
---|---|
Type |
string
|
Description |
QR code format identifier. Enumerate available formats with rpc ListFormats in the EndDeviceQRCodeGenerator service.
|
Message GenerateEndDeviceQRCodeRequest
Show object example
{
"format_id": "",
"end_device": {},
"image": {},
}
Fields:
Field |
format_id
|
---|---|
Type |
string
|
Description |
QR code format identifier. Enumerate available formats with rpc ListFormats in the EndDeviceQRCodeGenerator service.
|
Field |
end_device
|
---|---|
Type |
EndDevice
|
Description |
End device to use as input to generate the QR code.
|
Field |
image
|
---|---|
Type |
GenerateEndDeviceQRCodeRequest.Image
|
Description |
If set, the server will render the QR code image according to these settings. |
Message GenerateEndDeviceQRCodeRequest.Image
Show object example
{
"image_size": 0,
}
Fields:
Field |
image_size
|
---|---|
Type |
uint32
|
Description |
Requested QR code image dimension in pixels.
|
Message ParseEndDeviceQRCodeRequest
Show object example
{
"format_id": "",
"qr_code": "",
}
Fields:
Field |
format_id
|
---|---|
Type |
string
|
Description |
QR code format identifier.
Enumerate available formats with the rpc
|
Field |
qr_code
|
---|---|
Type |
bytes
|
Description |
Raw QR code contents.
|
Message GetTemplateRequest
Show object example
{
"application_ids": {},
"version_ids": {},
"end_device_profile_ids": {},
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
Application identifiers. |
Field |
version_ids
|
---|---|
Type |
EndDeviceVersionIdentifiers
|
Description |
End device version information. Use either EndDeviceVersionIdentifiers or EndDeviceProfileIdentifiers. |
Field |
end_device_profile_ids
|
---|---|
Type |
GetTemplateRequest.EndDeviceProfileIdentifiers
|
Description |
End device profile identifiers. |
Message GetTemplateRequest.EndDeviceProfileIdentifiers
Identifiers to uniquely identify a LoRaWAN end device profile.
Show object example
{
"vendor_id": 0,
"vendor_profile_id": 0,
}
Fields:
Field |
vendor_id
|
---|---|
Type |
uint32
|
Description |
VendorID managed by the LoRa Alliance, as defined in TR005.
|
Field |
vendor_profile_id
|
---|---|
Type |
uint32
|
Description |
ID of the LoRaWAN end device profile assigned by the vendor. |
Message GetPayloadFormatterRequest
Show object example
{
"application_ids": {},
"version_ids": {},
"field_mask": {},
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
Application identifiers. |
Field |
version_ids
|
---|---|
Type |
EndDeviceVersionIdentifiers
|
Description |
End device version information. |
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
Field mask paths. |
Message JoinRequestPayload
Show object example
{
"join_eui": "",
"dev_eui": "",
"dev_nonce": "",
}
Fields:
Field |
join_eui
|
---|---|
Type |
bytes
|
Description |
|
Field |
dev_eui
|
---|---|
Type |
bytes
|
Description |
|
Field |
dev_nonce
|
---|---|
Type |
bytes
|
Description |
|
Message JoinAcceptPayload
Show object example
{
"encrypted": "",
"join_nonce": "",
"net_id": "",
"dev_addr": "",
"dl_settings": {},
"rx_delay": "RX_DELAY_0",
"cf_list": {},
}
Fields:
Field |
encrypted
|
---|---|
Type |
bytes
|
Field |
join_nonce
|
---|---|
Type |
bytes
|
Description |
|
Field |
net_id
|
---|---|
Type |
bytes
|
Description |
|
Field |
dev_addr
|
---|---|
Type |
bytes
|
Description |
|
Field |
dl_settings
|
---|---|
Type |
DLSettings
|
Description |
|
Field |
rx_delay
|
---|---|
Type |
RxDelay
|
Description |
|
Field |
cf_list
|
---|---|
Type |
CFList
|
Message KeyEnvelope
Show object example
{
"key": "",
"kek_label": "",
"encrypted_key": "",
}
Fields:
Field |
key
|
---|---|
Type |
bytes
|
Description |
The unencrypted AES key.
|
Field |
kek_label
|
---|---|
Type |
string
|
Description |
The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key.
|
Field |
encrypted_key
|
---|---|
Type |
bytes
|
Description |
|
Message ListEndDeviceBrandsRequest
Show object example
{
"application_ids": {},
"limit": 0,
"page": 0,
"order_by": "",
"search": "",
"field_mask": {},
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
Application identifiers. |
Field |
limit
|
---|---|
Type |
uint32
|
Description |
Limit the number of results per page.
|
Field |
page
|
---|---|
Type |
uint32
|
Description |
Page number for pagination. 0 is interpreted as 1. |
Field |
order_by
|
---|---|
Type |
string
|
Description |
Order (for pagination)
|
Field |
search
|
---|---|
Type |
string
|
Description |
Search for brands matching a query string.
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
Field mask paths. |
Message ListEndDeviceModelsRequest
Show object example
{
"application_ids": {},
"brand_id": "",
"limit": 0,
"page": 0,
"order_by": "",
"search": "",
"field_mask": {},
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
Application identifiers. |
Field |
brand_id
|
---|---|
Type |
string
|
Description |
List end devices from a specific brand.
|
Field |
limit
|
---|---|
Type |
uint32
|
Description |
Limit the number of results per page.
|
Field |
page
|
---|---|
Type |
uint32
|
Description |
Page number for pagination. 0 is interpreted as 1. |
Field |
order_by
|
---|---|
Type |
string
|
Description |
Order end devices
|
Field |
search
|
---|---|
Type |
string
|
Description |
List end devices matching a query string.
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
Field mask paths. |
Message ListEndDevicesRequest
Show object example
{
"application_ids": {},
"field_mask": {},
"order": "",
"limit": 0,
"page": 0,
"filters": [],
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
The names of the end device fields that should be returned. See the API reference for which fields can be returned by the different services. |
Field |
order
|
---|---|
Type |
string
|
Description |
Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order.
|
Field |
limit
|
---|---|
Type |
uint32
|
Description |
Limit the number of results per page.
|
Field |
page
|
---|---|
Type |
uint32
|
Description |
Page number for pagination. 0 is interpreted as 1. |
Field |
filters
|
---|---|
Type |
repeated
ListEndDevicesRequest.Filter
|
Description |
Message ListEndDevicesRequest.Filter
Filter end devices by fields.
Restrictions:- Only one of
updated_since
can be set.
Show object example
{
"updated_since": "0001-01-01T00:00:00Z",
}
Fields:
Field |
updated_since
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
|
Message Location
Show object example
{
"latitude": 0,
"longitude": 0,
"altitude": 0,
"accuracy": 0,
"source": "SOURCE_UNKNOWN",
}
Fields:
Field |
latitude
|
---|---|
Type |
double
|
Description |
The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative.
|
Field |
longitude
|
---|---|
Type |
double
|
Description |
The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative.
|
Field |
altitude
|
---|---|
Type |
int32
|
Description |
The altitude (meters), where 0 is the mean sea level. |
Field |
accuracy
|
---|---|
Type |
int32
|
Description |
The accuracy of the location (meters). |
Field |
source
|
---|---|
Type |
LocationSource
|
Description |
Source of the location information.
|
Message LoRaAllianceProfileIdentifiers
Show object example
{
"vendor_id": 0,
"vendor_profile_id": 0,
}
Fields:
Field |
vendor_id
|
---|---|
Type |
uint32
|
Description |
VendorID managed by the LoRa Alliance, as defined in TR005. |
Field |
vendor_profile_id
|
---|---|
Type |
uint32
|
Description |
ID of the LoRaWAN end device profile assigned by the vendor. |
Message LoRaDataRate
Show object example
{
"bandwidth": 0,
"spreading_factor": 0,
"coding_rate": "",
}
Fields:
Field |
bandwidth
|
---|---|
Type |
uint32
|
Description |
Bandwidth (Hz). |
Field |
spreading_factor
|
---|---|
Type |
uint32
|
Field |
coding_rate
|
---|---|
Type |
string
|
Message LRFHSSDataRate
Show object example
{
"modulation_type": 0,
"operating_channel_width": 0,
"coding_rate": "",
}
Fields:
Field |
modulation_type
|
---|---|
Type |
uint32
|
Field |
operating_channel_width
|
---|---|
Type |
uint32
|
Description |
Operating Channel Width (Hz). |
Field |
coding_rate
|
---|---|
Type |
string
|
Message MACCommand
Restrictions:
- Only one of
raw_payload
,reset_ind
,reset_conf
,link_check_ans
,link_adr_req
,link_adr_ans
,duty_cycle_req
,rx_param_setup_req
,rx_param_setup_ans
,dev_status_ans
,new_channel_req
,new_channel_ans
,dl_channel_req
,dl_channel_ans
,rx_timing_setup_req
,tx_param_setup_req
,rekey_ind
,rekey_conf
,adr_param_setup_req
,device_time_ans
,force_rejoin_req
,rejoin_param_setup_req
,rejoin_param_setup_ans
,ping_slot_info_req
,ping_slot_channel_req
,ping_slot_channel_ans
,beacon_timing_ans
,beacon_freq_req
,beacon_freq_ans
,device_mode_ind
,device_mode_conf
,relay_conf_req
,relay_conf_ans
,relay_end_device_conf_req
,relay_end_device_conf_ans
,relay_update_uplink_list_req
,relay_update_uplink_list_ans
,relay_ctrl_uplink_list_req
,relay_ctrl_uplink_list_ans
,relay_configure_fwd_limit_req
,relay_configure_fwd_limit_ans
,relay_notify_new_end_device_req
can be set.
Show object example
{
"cid": "CID_RFU_0",
"raw_payload": "",
"reset_ind": {},
"reset_conf": {},
"link_check_ans": {},
"link_adr_req": {},
"link_adr_ans": {},
"duty_cycle_req": {},
"rx_param_setup_req": {},
"rx_param_setup_ans": {},
"dev_status_ans": {},
"new_channel_req": {},
"new_channel_ans": {},
"dl_channel_req": {},
"dl_channel_ans": {},
"rx_timing_setup_req": {},
"tx_param_setup_req": {},
"rekey_ind": {},
"rekey_conf": {},
"adr_param_setup_req": {},
"device_time_ans": {},
"force_rejoin_req": {},
"rejoin_param_setup_req": {},
"rejoin_param_setup_ans": {},
"ping_slot_info_req": {},
"ping_slot_channel_req": {},
"ping_slot_channel_ans": {},
"beacon_timing_ans": {},
"beacon_freq_req": {},
"beacon_freq_ans": {},
"device_mode_ind": {},
"device_mode_conf": {},
"relay_conf_req": {},
"relay_conf_ans": {},
"relay_end_device_conf_req": {},
"relay_end_device_conf_ans": {},
"relay_update_uplink_list_req": {},
"relay_update_uplink_list_ans": {},
"relay_ctrl_uplink_list_req": {},
"relay_ctrl_uplink_list_ans": {},
"relay_configure_fwd_limit_req": {},
"relay_configure_fwd_limit_ans": {},
"relay_notify_new_end_device_req": {},
}
Fields:
Field |
cid
|
---|---|
Type |
MACCommandIdentifier
|
Description |
|
Field |
raw_payload
|
---|---|
Type |
bytes
|
Field |
reset_ind
|
---|---|
Type |
MACCommand.ResetInd
|
Field |
reset_conf
|
---|---|
Type |
MACCommand.ResetConf
|
Field |
link_check_ans
|
---|---|
Type |
MACCommand.LinkCheckAns
|
Field |
link_adr_req
|
---|---|
Type |
MACCommand.LinkADRReq
|
Field |
link_adr_ans
|
---|---|
Type |
MACCommand.LinkADRAns
|
Field |
duty_cycle_req
|
---|---|
Type |
MACCommand.DutyCycleReq
|
Field |
rx_param_setup_req
|
---|---|
Type |
MACCommand.RxParamSetupReq
|
Field |
rx_param_setup_ans
|
---|---|
Type |
MACCommand.RxParamSetupAns
|
Field |
dev_status_ans
|
---|---|
Type |
MACCommand.DevStatusAns
|
Field |
new_channel_req
|
---|---|
Type |
MACCommand.NewChannelReq
|
Field |
new_channel_ans
|
---|---|
Type |
MACCommand.NewChannelAns
|
Field |
dl_channel_req
|
---|---|
Type |
MACCommand.DLChannelReq
|
Field |
dl_channel_ans
|
---|---|
Type |
MACCommand.DLChannelAns
|
Field |
rx_timing_setup_req
|
---|---|
Type |
MACCommand.RxTimingSetupReq
|
Field |
tx_param_setup_req
|
---|---|
Type |
MACCommand.TxParamSetupReq
|
Field |
rekey_ind
|
---|---|
Type |
MACCommand.RekeyInd
|
Field |
rekey_conf
|
---|---|
Type |
MACCommand.RekeyConf
|
Field |
adr_param_setup_req
|
---|---|
Type |
MACCommand.ADRParamSetupReq
|
Field |
device_time_ans
|
---|---|
Type |
MACCommand.DeviceTimeAns
|
Field |
force_rejoin_req
|
---|---|
Type |
MACCommand.ForceRejoinReq
|
Field |
rejoin_param_setup_req
|
---|---|
Type |
MACCommand.RejoinParamSetupReq
|
Field |
rejoin_param_setup_ans
|
---|---|
Type |
MACCommand.RejoinParamSetupAns
|
Field |
ping_slot_info_req
|
---|---|
Type |
MACCommand.PingSlotInfoReq
|
Field |
ping_slot_channel_req
|
---|---|
Type |
MACCommand.PingSlotChannelReq
|
Field |
ping_slot_channel_ans
|
---|---|
Type |
MACCommand.PingSlotChannelAns
|
Field |
beacon_timing_ans
|
---|---|
Type |
MACCommand.BeaconTimingAns
|
Field |
beacon_freq_req
|
---|---|
Type |
MACCommand.BeaconFreqReq
|
Field |
beacon_freq_ans
|
---|---|
Type |
MACCommand.BeaconFreqAns
|
Field |
device_mode_ind
|
---|---|
Type |
MACCommand.DeviceModeInd
|
Field |
device_mode_conf
|
---|---|
Type |
MACCommand.DeviceModeConf
|
Field |
relay_conf_req
|
---|---|
Type |
MACCommand.RelayConfReq
|
Field |
relay_conf_ans
|
---|---|
Type |
MACCommand.RelayConfAns
|
Field |
relay_end_device_conf_req
|
---|---|
Type |
MACCommand.RelayEndDeviceConfReq
|
Field |
relay_end_device_conf_ans
|
---|---|
Type |
MACCommand.RelayEndDeviceConfAns
|
Field |
relay_update_uplink_list_req
|
---|---|
Type |
MACCommand.RelayUpdateUplinkListReq
|
Field |
relay_update_uplink_list_ans
|
---|---|
Type |
MACCommand.RelayUpdateUplinkListAns
|
Field |
relay_ctrl_uplink_list_req
|
---|---|
Type |
MACCommand.RelayCtrlUplinkListReq
|
Field |
relay_ctrl_uplink_list_ans
|
---|---|
Type |
MACCommand.RelayCtrlUplinkListAns
|
Field |
relay_configure_fwd_limit_req
|
---|---|
Type |
MACCommand.RelayConfigureFwdLimitReq
|
Field |
relay_configure_fwd_limit_ans
|
---|---|
Type |
MACCommand.RelayConfigureFwdLimitAns
|
Field |
relay_notify_new_end_device_req
|
---|---|
Type |
MACCommand.RelayNotifyNewEndDeviceReq
|
Message MACCommand.ResetInd
Show object example
{
"minor_version": "MINOR_RFU_0",
}
Fields:
Field |
minor_version
|
---|---|
Type |
Minor
|
Description |
|
Message MACCommand.ResetConf
Show object example
{
"minor_version": "MINOR_RFU_0",
}
Fields:
Field |
minor_version
|
---|---|
Type |
Minor
|
Description |
|
Message MACCommand.LinkCheckAns
Show object example
{
"margin": 0,
"gateway_count": 0,
}
Fields:
Field |
margin
|
---|---|
Type |
uint32
|
Description |
Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor.
|
Field |
gateway_count
|
---|---|
Type |
uint32
|
Description |
|
Message MACCommand.LinkADRReq
Show object example
{
"data_rate_index": "DATA_RATE_0",
"tx_power_index": 0,
"channel_mask": [],
"channel_mask_control": 0,
"nb_trans": 0,
}
Fields:
Field |
data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
|
Field |
tx_power_index
|
---|---|
Type |
uint32
|
Description |
|
Field |
channel_mask
|
---|---|
Type |
repeated
bool
|
Description |
|
Field |
channel_mask_control
|
---|---|
Type |
uint32
|
Description |
|
Field |
nb_trans
|
---|---|
Type |
uint32
|
Description |
|
Message MACCommand.LinkADRAns
Show object example
{
"channel_mask_ack": false,
"data_rate_index_ack": false,
"tx_power_index_ack": false,
}
Fields:
Field |
channel_mask_ack
|
---|---|
Type |
bool
|
Field |
data_rate_index_ack
|
---|---|
Type |
bool
|
Field |
tx_power_index_ack
|
---|---|
Type |
bool
|
Message MACCommand.DutyCycleReq
Show object example
{
"max_duty_cycle": "DUTY_CYCLE_1",
}
Fields:
Field |
max_duty_cycle
|
---|---|
Type |
AggregatedDutyCycle
|
Description |
|
Message MACCommand.RxParamSetupReq
Show object example
{
"rx2_data_rate_index": "DATA_RATE_0",
"rx1_data_rate_offset": "DATA_RATE_OFFSET_0",
"rx2_frequency": 0,
}
Fields:
Field |
rx2_data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
|
Field |
rx1_data_rate_offset
|
---|---|
Type |
DataRateOffset
|
Description |
|
Field |
rx2_frequency
|
---|---|
Type |
uint64
|
Description |
Rx2 frequency (Hz).
|
Message MACCommand.RxParamSetupAns
Show object example
{
"rx2_data_rate_index_ack": false,
"rx1_data_rate_offset_ack": false,
"rx2_frequency_ack": false,
}
Fields:
Field |
rx2_data_rate_index_ack
|
---|---|
Type |
bool
|
Field |
rx1_data_rate_offset_ack
|
---|---|
Type |
bool
|
Field |
rx2_frequency_ack
|
---|---|
Type |
bool
|
Message MACCommand.DevStatusAns
Show object example
{
"battery": 0,
"margin": 0,
}
Fields:
Field |
battery
|
---|---|
Type |
uint32
|
Description |
Device battery status. 0 indicates that the device is connected to an external power source. 1..254 indicates a battery level. 255 indicates that the device was not able to measure the battery level.
|
Field |
margin
|
---|---|
Type |
int32
|
Description |
SNR of the last downlink (dB; [-32, +31]).
|
Message MACCommand.NewChannelReq
Show object example
{
"channel_index": 0,
"frequency": 0,
"min_data_rate_index": "DATA_RATE_0",
"max_data_rate_index": "DATA_RATE_0",
}
Fields:
Field |
channel_index
|
---|---|
Type |
uint32
|
Description |
|
Field |
frequency
|
---|---|
Type |
uint64
|
Description |
Channel frequency (Hz).
|
Field |
min_data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
|
Field |
max_data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
|
Message MACCommand.NewChannelAns
Show object example
{
"frequency_ack": false,
"data_rate_ack": false,
}
Fields:
Field |
frequency_ack
|
---|---|
Type |
bool
|
Field |
data_rate_ack
|
---|---|
Type |
bool
|
Message MACCommand.DLChannelReq
Show object example
{
"channel_index": 0,
"frequency": 0,
}
Fields:
Field |
channel_index
|
---|---|
Type |
uint32
|
Description |
|
Field |
frequency
|
---|---|
Type |
uint64
|
Description |
Downlink channel frequency (Hz).
|
Message MACCommand.DLChannelAns
Show object example
{
"channel_index_ack": false,
"frequency_ack": false,
}
Fields:
Field |
channel_index_ack
|
---|---|
Type |
bool
|
Field |
frequency_ack
|
---|---|
Type |
bool
|
Message MACCommand.RxTimingSetupReq
Show object example
{
"delay": "RX_DELAY_0",
}
Fields:
Field |
delay
|
---|---|
Type |
RxDelay
|
Description |
|
Message MACCommand.TxParamSetupReq
Show object example
{
"max_eirp_index": "DEVICE_EIRP_8",
"uplink_dwell_time": false,
"downlink_dwell_time": false,
}
Fields:
Field |
max_eirp_index
|
---|---|
Type |
DeviceEIRP
|
Description |
Indicates the maximum EIRP value in dBm, indexed by the following vector: [ 8 10 12 13 14 16 18 20 21 24 26 27 29 30 33 36 ]
|
Field |
uplink_dwell_time
|
---|---|
Type |
bool
|
Field |
downlink_dwell_time
|
---|---|
Type |
bool
|
Message MACCommand.RelayNotifyNewEndDeviceReq
Show object example
{
"dev_addr": "",
"snr": 0,
"rssi": 0,
}
Fields:
Field |
dev_addr
|
---|---|
Type |
bytes
|
Description |
|
Field |
snr
|
---|---|
Type |
int32
|
Description |
|
Field |
rssi
|
---|---|
Type |
int32
|
Description |
|
Message MACCommand.RelayConfigureFwdLimitAns
Show object example
{
}
Fields:
Message MACCommand.RelayConfigureFwdLimitReq
Show object example
{
"reset_limit_counter": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"join_request_limits": {},
"notify_limits": {},
"global_uplink_limits": {},
"overall_limits": {},
}
Fields:
Field |
reset_limit_counter
|
---|---|
Type |
RelayResetLimitCounter
|
Field |
join_request_limits
|
---|---|
Type |
RelayForwardLimits
|
Field |
notify_limits
|
---|---|
Type |
RelayForwardLimits
|
Field |
global_uplink_limits
|
---|---|
Type |
RelayForwardLimits
|
Field |
overall_limits
|
---|---|
Type |
RelayForwardLimits
|
Message MACCommand.RelayCtrlUplinkListAns
Show object example
{
"rule_index_ack": false,
"w_f_cnt": 0,
}
Fields:
Field |
rule_index_ack
|
---|---|
Type |
bool
|
Field |
w_f_cnt
|
---|---|
Type |
uint32
|
Message MACCommand.RelayCtrlUplinkListReq
Show object example
{
"rule_index": 0,
"action": "RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT",
}
Fields:
Field |
rule_index
|
---|---|
Type |
uint32
|
Description |
|
Field |
action
|
---|---|
Type |
RelayCtrlUplinkListAction
|
Message MACCommand.RelayUpdateUplinkListAns
Show object example
{
}
Fields:
Message MACCommand.RelayUpdateUplinkListReq
Show object example
{
"rule_index": 0,
"forward_limits": {},
"dev_addr": "",
"w_f_cnt": 0,
"root_wor_s_key": "",
"device_id": "",
"session_key_id": "",
}
Fields:
Field |
rule_index
|
---|---|
Type |
uint32
|
Description |
|
Field |
forward_limits
|
---|---|
Type |
RelayUplinkForwardLimits
|
Field |
dev_addr
|
---|---|
Type |
bytes
|
Description |
|
Field |
w_f_cnt
|
---|---|
Type |
uint32
|
Field |
root_wor_s_key
|
---|---|
Type |
bytes
|
Description |
|
Field |
device_id
|
---|---|
Type |
string
|
Description |
|
Field |
session_key_id
|
---|---|
Type |
bytes
|
Message MACCommand.RelayEndDeviceConfAns
Show object example
{
"second_channel_frequency_ack": false,
"second_channel_data_rate_index_ack": false,
"second_channel_index_ack": false,
"backoff_ack": false,
}
Fields:
Field |
second_channel_frequency_ack
|
---|---|
Type |
bool
|
Field |
second_channel_data_rate_index_ack
|
---|---|
Type |
bool
|
Field |
second_channel_index_ack
|
---|---|
Type |
bool
|
Field |
backoff_ack
|
---|---|
Type |
bool
|
Message MACCommand.RelayEndDeviceConfReq
Show object example
{
"configuration": {},
}
Fields:
Field |
configuration
|
---|---|
Type |
MACCommand.RelayEndDeviceConfReq.Configuration
|
Message MACCommand.RelayEndDeviceConfReq.Configuration
Restrictions:
- Only one of
always
,dynamic
,end_device_controlled
can be set.
Show object example
{
"always": {},
"dynamic": {},
"end_device_controlled": {},
"backoff": 0,
"second_channel": {},
"serving_device_id": "",
}
Fields:
Field |
always
|
---|---|
Type |
RelayEndDeviceAlwaysMode
|
Field |
dynamic
|
---|---|
Type |
RelayEndDeviceDynamicMode
|
Field |
end_device_controlled
|
---|---|
Type |
RelayEndDeviceControlledMode
|
Field |
backoff
|
---|---|
Type |
uint32
|
Description |
|
Field |
second_channel
|
---|---|
Type |
RelaySecondChannel
|
Field |
serving_device_id
|
---|---|
Type |
string
|
Description |
|
Message MACCommand.RelayConfAns
Show object example
{
"second_channel_frequency_ack": false,
"second_channel_ack_offset_ack": false,
"second_channel_data_rate_index_ack": false,
"second_channel_index_ack": false,
"default_channel_index_ack": false,
"cad_periodicity_ack": false,
}
Fields:
Field |
second_channel_frequency_ack
|
---|---|
Type |
bool
|
Field |
second_channel_ack_offset_ack
|
---|---|
Type |
bool
|
Field |
second_channel_data_rate_index_ack
|
---|---|
Type |
bool
|
Field |
second_channel_index_ack
|
---|---|
Type |
bool
|
Field |
default_channel_index_ack
|
---|---|
Type |
bool
|
Field |
cad_periodicity_ack
|
---|---|
Type |
bool
|
Message MACCommand.RelayConfReq
Show object example
{
"configuration": {},
}
Fields:
Field |
configuration
|
---|---|
Type |
MACCommand.RelayConfReq.Configuration
|
Message MACCommand.RelayConfReq.Configuration
Show object example
{
"second_channel": {},
"default_channel_index": 0,
"cad_periodicity": "RELAY_CAD_PERIODICITY_1_SECOND",
}
Fields:
Field |
second_channel
|
---|---|
Type |
RelaySecondChannel
|
Field |
default_channel_index
|
---|---|
Type |
uint32
|
Description |
|
Field |
cad_periodicity
|
---|---|
Type |
RelayCADPeriodicity
|
Description |
|
Message MACCommand.RekeyInd
Show object example
{
"minor_version": "MINOR_RFU_0",
}
Fields:
Field |
minor_version
|
---|---|
Type |
Minor
|
Description |
|
Message MACCommand.RekeyConf
Show object example
{
"minor_version": "MINOR_RFU_0",
}
Fields:
Field |
minor_version
|
---|---|
Type |
Minor
|
Description |
|
Message MACCommand.ADRParamSetupReq
Show object example
{
"adr_ack_limit_exponent": "ADR_ACK_LIMIT_1",
"adr_ack_delay_exponent": "ADR_ACK_DELAY_1",
}
Fields:
Field |
adr_ack_limit_exponent
|
---|---|
Type |
ADRAckLimitExponent
|
Description |
Exponent e that configures the ADR_ACK_LIMIT = 2^e messages.
|
Field |
adr_ack_delay_exponent
|
---|---|
Type |
ADRAckDelayExponent
|
Description |
Exponent e that configures the ADR_ACK_DELAY = 2^e messages.
|
Message MACCommand.DeviceTimeAns
Show object example
{
"time": "0001-01-01T00:00:00Z",
}
Fields:
Field |
time
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
|
Message MACCommand.ForceRejoinReq
Show object example
{
"rejoin_type": "CONTEXT",
"data_rate_index": "DATA_RATE_0",
"max_retries": 0,
"period_exponent": "REJOIN_PERIOD_0",
}
Fields:
Field |
rejoin_type
|
---|---|
Type |
RejoinRequestType
|
Description |
|
Field |
data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
|
Field |
max_retries
|
---|---|
Type |
uint32
|
Description |
|
Field |
period_exponent
|
---|---|
Type |
RejoinPeriodExponent
|
Description |
Exponent e that configures the rejoin period = 32 * 2^e + rand(0,32) seconds.
|
Message MACCommand.RejoinParamSetupReq
Show object example
{
"max_count_exponent": "REJOIN_COUNT_16",
"max_time_exponent": "REJOIN_TIME_0",
}
Fields:
Field |
max_count_exponent
|
---|---|
Type |
RejoinCountExponent
|
Description |
Exponent e that configures the rejoin counter = 2^(e+4) messages.
|
Field |
max_time_exponent
|
---|---|
Type |
RejoinTimeExponent
|
Description |
Exponent e that configures the rejoin timer = 2^(e+10) seconds.
|
Message MACCommand.RejoinParamSetupAns
Show object example
{
"max_time_exponent_ack": false,
}
Fields:
Field |
max_time_exponent_ack
|
---|---|
Type |
bool
|
Message MACCommand.PingSlotInfoReq
Show object example
{
"period": "PING_EVERY_1S",
}
Fields:
Field |
period
|
---|---|
Type |
PingSlotPeriod
|
Description |
|
Message MACCommand.PingSlotChannelReq
Show object example
{
"frequency": 0,
"data_rate_index": "DATA_RATE_0",
}
Fields:
Field |
frequency
|
---|---|
Type |
uint64
|
Description |
Ping slot channel frequency (Hz).
|
Field |
data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
|
Message MACCommand.PingSlotChannelAns
Show object example
{
"frequency_ack": false,
"data_rate_index_ack": false,
}
Fields:
Field |
frequency_ack
|
---|---|
Type |
bool
|
Field |
data_rate_index_ack
|
---|---|
Type |
bool
|
Message MACCommand.BeaconTimingAns
Show object example
{
"delay": 0,
"channel_index": 0,
}
Fields:
Field |
delay
|
---|---|
Type |
uint32
|
Description |
(uint16) See LoRaWAN specification.
|
Field |
channel_index
|
---|---|
Type |
uint32
|
Description |
|
Message MACCommand.BeaconFreqReq
Show object example
{
"frequency": 0,
}
Fields:
Field |
frequency
|
---|---|
Type |
uint64
|
Description |
Frequency of the Class B beacons (Hz).
|
Message MACCommand.BeaconFreqAns
Show object example
{
"frequency_ack": false,
}
Fields:
Field |
frequency_ack
|
---|---|
Type |
bool
|
Message MACCommand.DeviceModeInd
Show object example
{
"class": "CLASS_A",
}
Fields:
Field |
class
|
---|---|
Type |
Class
|
Description |
|
Message MACCommand.DeviceModeConf
Show object example
{
"class": "CLASS_A",
}
Fields:
Field |
class
|
---|---|
Type |
Class
|
Description |
|
Message MACPayload
Show object example
{
"f_hdr": {},
"f_port": 0,
"frm_payload": "",
"decoded_payload": {},
"full_f_cnt": 0,
}
Fields:
Field |
f_hdr
|
---|---|
Type |
FHDR
|
Description |
|
Field |
f_port
|
---|---|
Type |
uint32
|
Description |
|
Field |
frm_payload
|
---|---|
Type |
bytes
|
Field |
decoded_payload
|
---|---|
Type |
google.protobuf.
Struct
|
Field |
full_f_cnt
|
---|---|
Type |
uint32
|
Description |
Full 32-bit FCnt value. Used internally by Network Server. |
Message MACParameters
MACParameters represent the parameters of the device’s MAC layer (active or desired). This is used internally by the Network Server.
Show object example
{
"max_eirp": 0,
"adr_data_rate_index": "DATA_RATE_0",
"adr_tx_power_index": 0,
"adr_nb_trans": 0,
"adr_ack_limit": 0,
"adr_ack_delay": 0,
"rx1_delay": "RX_DELAY_0",
"rx1_data_rate_offset": "DATA_RATE_OFFSET_0",
"rx2_data_rate_index": "DATA_RATE_0",
"rx2_frequency": 0,
"max_duty_cycle": "DUTY_CYCLE_1",
"rejoin_time_periodicity": "REJOIN_TIME_0",
"rejoin_count_periodicity": "REJOIN_COUNT_16",
"ping_slot_frequency": 0,
"ping_slot_data_rate_index": "DATA_RATE_0",
"beacon_frequency": 0,
"channels": [],
"uplink_dwell_time": {},
"downlink_dwell_time": {},
"adr_ack_limit_exponent": {},
"adr_ack_delay_exponent": {},
"ping_slot_data_rate_index_value": {},
"relay": {},
}
Fields:
Field |
max_eirp
|
---|---|
Type |
float
|
Description |
Maximum EIRP (dBm). |
Field |
adr_data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
ADR: data rate index to use.
|
Field |
adr_tx_power_index
|
---|---|
Type |
uint32
|
Description |
ADR: transmission power index to use.
|
Field |
adr_nb_trans
|
---|---|
Type |
uint32
|
Description |
ADR: number of retransmissions.
|
Field |
adr_ack_limit
|
---|---|
Type |
uint32
|
Description |
ADR: number of messages to wait before setting ADRAckReq. This field is deprecated, use adr_ack_limit_exponent instead. |
Field |
adr_ack_delay
|
---|---|
Type |
uint32
|
Description |
ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate. This field is deprecated, use adr_ack_delay_exponent instead. |
Field |
rx1_delay
|
---|---|
Type |
RxDelay
|
Description |
Rx1 delay (Rx2 delay is Rx1 delay + 1 second).
|
Field |
rx1_data_rate_offset
|
---|---|
Type |
DataRateOffset
|
Description |
Data rate offset for Rx1.
|
Field |
rx2_data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
Data rate index for Rx2.
|
Field |
rx2_frequency
|
---|---|
Type |
uint64
|
Description |
Frequency for Rx2 (Hz).
|
Field |
max_duty_cycle
|
---|---|
Type |
AggregatedDutyCycle
|
Description |
Maximum uplink duty cycle (of all channels).
|
Field |
rejoin_time_periodicity
|
---|---|
Type |
RejoinTimeExponent
|
Description |
Time within which a rejoin-request must be sent.
|
Field |
rejoin_count_periodicity
|
---|---|
Type |
RejoinCountExponent
|
Description |
Message count within which a rejoin-request must be sent.
|
Field |
ping_slot_frequency
|
---|---|
Type |
uint64
|
Description |
Frequency of the class B ping slot (Hz).
|
Field |
ping_slot_data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
Data rate index of the class B ping slot. This field is deprecated, use ping_slot_data_rate_index_value instead. |
Field |
beacon_frequency
|
---|---|
Type |
uint64
|
Description |
Frequency of the class B beacon (Hz).
|
Field |
channels
|
---|---|
Type |
repeated
MACParameters.Channel
|
Description |
Configured uplink channels and optionally Rx1 frequency.
|
Field |
uplink_dwell_time
|
---|---|
Type |
BoolValue
|
Description |
Whether uplink dwell time is set (400ms). If unset, then the value is either unknown or irrelevant(Network Server cannot modify it). |
Field |
downlink_dwell_time
|
---|---|
Type |
BoolValue
|
Description |
Whether downlink dwell time is set (400ms). If unset, then the value is either unknown or irrelevant(Network Server cannot modify it). |
Field |
adr_ack_limit_exponent
|
---|---|
Type |
ADRAckLimitExponentValue
|
Description |
ADR: number of messages to wait before setting ADRAckReq. |
Field |
adr_ack_delay_exponent
|
---|---|
Type |
ADRAckDelayExponentValue
|
Description |
ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate. |
Field |
ping_slot_data_rate_index_value
|
---|---|
Type |
DataRateIndexValue
|
Description |
Data rate index of the class B ping slot. |
Field |
relay
|
---|---|
Type |
RelayParameters
|
Description |
Relay parameters. |
Message MACParameters.Channel
Show object example
{
"uplink_frequency": 0,
"downlink_frequency": 0,
"min_data_rate_index": "DATA_RATE_0",
"max_data_rate_index": "DATA_RATE_0",
"enable_uplink": false,
}
Fields:
Field |
uplink_frequency
|
---|---|
Type |
uint64
|
Description |
Uplink frequency of the channel (Hz).
|
Field |
downlink_frequency
|
---|---|
Type |
uint64
|
Description |
Downlink frequency of the channel (Hz).
|
Field |
min_data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
Index of the minimum data rate for uplink.
|
Field |
max_data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
Index of the maximum data rate for uplink.
|
Field |
enable_uplink
|
---|---|
Type |
bool
|
Description |
Channel can be used by device for uplink. |
Message MACSettings
Show object example
{
"class_b_timeout": "0s",
"ping_slot_periodicity": {},
"ping_slot_data_rate_index": {},
"ping_slot_frequency": {},
"beacon_frequency": {},
"class_c_timeout": "0s",
"rx1_delay": {},
"rx1_data_rate_offset": {},
"rx2_data_rate_index": {},
"rx2_frequency": {},
"factory_preset_frequencies": [],
"max_duty_cycle": {},
"supports_32_bit_f_cnt": {},
"use_adr": {},
"adr_margin": null,
"resets_f_cnt": {},
"status_time_periodicity": "0s",
"status_count_periodicity": null,
"desired_rx1_delay": {},
"desired_rx1_data_rate_offset": {},
"desired_rx2_data_rate_index": {},
"desired_rx2_frequency": {},
"desired_max_duty_cycle": {},
"desired_adr_ack_limit_exponent": {},
"desired_adr_ack_delay_exponent": {},
"desired_ping_slot_data_rate_index": {},
"desired_ping_slot_frequency": {},
"desired_beacon_frequency": {},
"desired_max_eirp": {},
"class_b_c_downlink_interval": "0s",
"uplink_dwell_time": {},
"downlink_dwell_time": {},
"adr": {},
"schedule_downlinks": {},
"relay": {},
"desired_relay": {},
}
Fields:
Field |
class_b_timeout
|
---|---|
Type |
google.protobuf.
Duration
|
Description |
Maximum delay for the device to answer a MAC request or a confirmed downlink frame. If unset, the default value from Network Server configuration will be used. |
Field |
ping_slot_periodicity
|
---|---|
Type |
PingSlotPeriodValue
|
Description |
Periodicity of the class B ping slot. If unset, the default value from Network Server configuration will be used. |
Field |
ping_slot_data_rate_index
|
---|---|
Type |
DataRateIndexValue
|
Description |
Data rate index of the class B ping slot. If unset, the default value from Network Server configuration will be used. |
Field |
ping_slot_frequency
|
---|---|
Type |
ZeroableFrequencyValue
|
Description |
Frequency of the class B ping slot (Hz). If unset, the default value from Network Server configuration will be used. |
Field |
beacon_frequency
|
---|---|
Type |
ZeroableFrequencyValue
|
Description |
Frequency of the class B beacon (Hz). If unset, the default value from Network Server configuration will be used. |
Field |
class_c_timeout
|
---|---|
Type |
google.protobuf.
Duration
|
Description |
Maximum delay for the device to answer a MAC request or a confirmed downlink frame. If unset, the default value from Network Server configuration will be used. |
Field |
rx1_delay
|
---|---|
Type |
RxDelayValue
|
Description |
Class A Rx1 delay. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
rx1_data_rate_offset
|
---|---|
Type |
DataRateOffsetValue
|
Description |
Rx1 data rate offset. If unset, the default value from Network Server configuration will be used. |
Field |
rx2_data_rate_index
|
---|---|
Type |
DataRateIndexValue
|
Description |
Data rate index for Rx2. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
rx2_frequency
|
---|---|
Type |
FrequencyValue
|
Description |
Frequency for Rx2 (Hz). If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
factory_preset_frequencies
|
---|---|
Type |
repeated
uint64
|
Description |
List of factory-preset frequencies. If unset, the default value from Network Server configuration or regional parameters specification will be used.
|
Field |
max_duty_cycle
|
---|---|
Type |
AggregatedDutyCycleValue
|
Description |
Maximum uplink duty cycle (of all channels). |
Field |
supports_32_bit_f_cnt
|
---|---|
Type |
BoolValue
|
Description |
Whether the device supports 32-bit frame counters. If unset, the default value from Network Server configuration will be used. |
Field |
use_adr
|
---|---|
Type |
BoolValue
|
Description |
Whether the Network Server should use ADR for the device. This field is deprecated, use adr_settings instead. |
Field |
adr_margin
|
---|---|
Type |
google.protobuf.
FloatValue
|
Description |
The ADR margin (dB) tells the network server how much margin it should add in ADR requests. A bigger margin is less efficient, but gives a better chance of successful reception. This field is deprecated, use adr_settings.dynamic.margin instead. |
Field |
resets_f_cnt
|
---|---|
Type |
BoolValue
|
Description |
Whether the device resets the frame counters (not LoRaWAN compliant). If unset, the default value from Network Server configuration will be used. |
Field |
status_time_periodicity
|
---|---|
Type |
google.protobuf.
Duration
|
Description |
The interval after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used. |
Field |
status_count_periodicity
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
Number of uplink messages after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used. |
Field |
desired_rx1_delay
|
---|---|
Type |
RxDelayValue
|
Description |
The Rx1 delay Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
desired_rx1_data_rate_offset
|
---|---|
Type |
DataRateOffsetValue
|
Description |
The Rx1 data rate offset Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from Network Server configuration will be used. |
Field |
desired_rx2_data_rate_index
|
---|---|
Type |
DataRateIndexValue
|
Description |
The Rx2 data rate index Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from frequency plan, Network Server configuration or regional parameters specification will be used. |
Field |
desired_rx2_frequency
|
---|---|
Type |
FrequencyValue
|
Description |
The Rx2 frequency index Network Server should configure device to use via MAC commands. If unset, the default value from frequency plan, Network Server configuration or regional parameters specification will be used. |
Field |
desired_max_duty_cycle
|
---|---|
Type |
AggregatedDutyCycleValue
|
Description |
The maximum uplink duty cycle (of all channels) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used. |
Field |
desired_adr_ack_limit_exponent
|
---|---|
Type |
ADRAckLimitExponentValue
|
Description |
The ADR ACK limit Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
desired_adr_ack_delay_exponent
|
---|---|
Type |
ADRAckDelayExponentValue
|
Description |
The ADR ACK delay Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
desired_ping_slot_data_rate_index
|
---|---|
Type |
DataRateIndexValue
|
Description |
The data rate index of the class B ping slot Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used. |
Field |
desired_ping_slot_frequency
|
---|---|
Type |
ZeroableFrequencyValue
|
Description |
The frequency of the class B ping slot (Hz) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
desired_beacon_frequency
|
---|---|
Type |
ZeroableFrequencyValue
|
Description |
The frequency of the class B beacon (Hz) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used. |
Field |
desired_max_eirp
|
---|---|
Type |
DeviceEIRPValue
|
Description |
Maximum EIRP (dBm). If unset, the default value from regional parameters specification will be used. |
Field |
class_b_c_downlink_interval
|
---|---|
Type |
google.protobuf.
Duration
|
Description |
The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink. |
Field |
uplink_dwell_time
|
---|---|
Type |
BoolValue
|
Description |
Whether uplink dwell time is set (400ms). If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
downlink_dwell_time
|
---|---|
Type |
BoolValue
|
Description |
Whether downlink dwell time is set (400ms). If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
adr
|
---|---|
Type |
ADRSettings
|
Description |
Adaptive Data Rate settings. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
schedule_downlinks
|
---|---|
Type |
BoolValue
|
Description |
Whether or not downlink messages should be scheduled. This option can be used in order to disable any downlink interaction with the end device. It will affect all types of downlink messages: data and MAC downlinks, and join accepts. |
Field |
relay
|
---|---|
Type |
RelaySettings
|
Description |
The relay settings the end device is using. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Field |
desired_relay
|
---|---|
Type |
RelaySettings
|
Description |
The relay settings the Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used. |
Message MACState
MACState represents the state of MAC layer of the device. MACState is reset on each join for OTAA or ResetInd for ABP devices. This is used internally by the Network Server.
Show object example
{
"current_parameters": {},
"desired_parameters": {},
"device_class": "CLASS_A",
"lorawan_version": "MAC_UNKNOWN",
"last_confirmed_downlink_at": "0001-01-01T00:00:00Z",
"last_dev_status_f_cnt_up": 0,
"ping_slot_periodicity": {},
"pending_application_downlink": {},
"queued_responses": [],
"pending_requests": [],
"queued_join_accept": {},
"pending_join_request": {},
"rx_windows_available": false,
"recent_uplinks": [],
"recent_downlinks": [],
"last_network_initiated_downlink_at": "0001-01-01T00:00:00Z",
"rejected_adr_data_rate_indexes": [],
"rejected_adr_tx_power_indexes": [],
"rejected_frequencies": [],
"last_downlink_at": "0001-01-01T00:00:00Z",
"rejected_data_rate_ranges": {},
"last_adr_change_f_cnt_up": 0,
"recent_mac_command_identifiers": [],
"pending_relay_downlink": {},
}
Fields:
Field |
current_parameters
|
---|---|
Type |
MACParameters
|
Description |
Current LoRaWAN MAC parameters.
|
Field |
desired_parameters
|
---|---|
Type |
MACParameters
|
Description |
Desired LoRaWAN MAC parameters.
|
Field |
device_class
|
---|---|
Type |
Class
|
Description |
Currently active LoRaWAN device class
|
Field |
lorawan_version
|
---|---|
Type |
MACVersion
|
Description |
LoRaWAN MAC version.
|
Field |
last_confirmed_downlink_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Time when the last confirmed downlink message or MAC command was scheduled. |
Field |
last_dev_status_f_cnt_up
|
---|---|
Type |
uint32
|
Description |
Frame counter value of last uplink containing DevStatusAns. |
Field |
ping_slot_periodicity
|
---|---|
Type |
PingSlotPeriodValue
|
Description |
Periodicity of the class B ping slot. |
Field |
pending_application_downlink
|
---|---|
Type |
ApplicationDownlink
|
Description |
A confirmed application downlink, for which an acknowledgment is expected to arrive. |
Field |
queued_responses
|
---|---|
Type |
repeated
MACCommand
|
Description |
Queued MAC responses. Regenerated on each uplink. |
Field |
pending_requests
|
---|---|
Type |
repeated
MACCommand
|
Description |
Pending MAC requests(i.e. sent requests, for which no response has been received yet). Regenerated on each downlink. |
Field |
queued_join_accept
|
---|---|
Type |
MACState.JoinAccept
|
Description |
Queued join-accept. Set each time a (re-)join request accept is received from Join Server and removed each time a downlink is scheduled. |
Field |
pending_join_request
|
---|---|
Type |
MACState.JoinRequest
|
Description |
Pending join request. Set each time a join-accept is scheduled and removed each time an uplink is received from the device. |
Field |
rx_windows_available
|
---|---|
Type |
bool
|
Description |
Whether or not Rx windows are expected to be open. Set to true every time an uplink is received. Set to false every time a successful downlink scheduling attempt is made. |
Field |
recent_uplinks
|
---|---|
Type |
repeated
MACState.UplinkMessage
|
Description |
Recent data uplink messages sorted by time. The number of messages stored may depend on configuration. |
Field |
recent_downlinks
|
---|---|
Type |
repeated
MACState.DownlinkMessage
|
Description |
Recent data downlink messages sorted by time. The number of messages stored may depend on configuration. |
Field |
last_network_initiated_downlink_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Time when the last network-initiated downlink message was scheduled. |
Field |
rejected_adr_data_rate_indexes
|
---|---|
Type |
repeated
DataRateIndex
|
Description |
ADR Data rate index values rejected by the device.
Reset each time
|
Field |
rejected_adr_tx_power_indexes
|
---|---|
Type |
repeated
uint32
|
Description |
ADR TX output power index values rejected by the device. Elements are sorted in ascending order.
|
Field |
rejected_frequencies
|
---|---|
Type |
repeated
uint64
|
Description |
Frequencies rejected by the device.
|
Field |
last_downlink_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Time when the last downlink message was scheduled. |
Field |
rejected_data_rate_ranges
|
---|---|
Type |
map of
uint64
to
MACState.DataRateRanges
|
Description |
Data rate ranges rejected by the device per frequency. |
Field |
last_adr_change_f_cnt_up
|
---|---|
Type |
uint32
|
Description |
Frame counter of uplink, which confirmed the last ADR parameter change. |
Field |
recent_mac_command_identifiers
|
---|---|
Type |
repeated
MACCommandIdentifier
|
Description |
MAC command identifiers sent by the end device in the last received uplink. The Network Server may choose to store only certain types of MAC command identifiers in the underlying implementation. |
Field |
pending_relay_downlink
|
---|---|
Type |
RelayForwardDownlinkReq
|
Description |
Pending relay downlink contents. The pending downlink will be scheduled to the relay in either Rx1 or Rx2. The pending downlink will be cleared after the scheduling attempt. |
Message MACState.JoinAccept
Show object example
{
"payload": "",
"request": {},
"keys": {},
"correlation_ids": [],
"dev_addr": "",
"net_id": "",
}
Fields:
Field |
payload
|
---|---|
Type |
bytes
|
Description |
Payload of the join-accept received from Join Server.
|
Field |
request
|
---|---|
Type |
MACState.JoinRequest
|
Description |
|
Field |
keys
|
---|---|
Type |
SessionKeys
|
Description |
Network session keys associated with the join.
|
Field |
correlation_ids
|
---|---|
Type |
repeated
string
|
Description |
|
Field |
dev_addr
|
---|---|
Type |
bytes
|
Description |
|
Field |
net_id
|
---|---|
Type |
bytes
|
Description |
|
Message MACState.JoinRequest
Show object example
{
"downlink_settings": {},
"rx_delay": "RX_DELAY_0",
"cf_list": {},
}
Fields:
Field |
downlink_settings
|
---|---|
Type |
DLSettings
|
Description |
|
Field |
rx_delay
|
---|---|
Type |
RxDelay
|
Description |
|
Field |
cf_list
|
---|---|
Type |
CFList
|
Message MACState.DownlinkMessage
A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message. Used for type safe recent downlink storage.
Show object example
{
"payload": {},
"correlation_ids": [],
}
Fields:
Field |
payload
|
---|---|
Type |
MACState.DownlinkMessage.Message
|
Field |
correlation_ids
|
---|---|
Type |
repeated
string
|
Description |
|
Message MACState.DownlinkMessage.Message
Show object example
{
"m_hdr": {},
"mac_payload": {},
}
Fields:
Field |
m_hdr
|
---|---|
Type |
MACState.DownlinkMessage.Message.MHDR
|
Description |
|
Field |
mac_payload
|
---|---|
Type |
MACState.DownlinkMessage.Message.MACPayload
|
Message MACState.DownlinkMessage.Message.MACPayload
Show object example
{
"f_port": 0,
"full_f_cnt": 0,
}
Fields:
Field |
f_port
|
---|---|
Type |
uint32
|
Description |
|
Field |
full_f_cnt
|
---|---|
Type |
uint32
|
Message MACState.DownlinkMessage.Message.MHDR
Show object example
{
"m_type": "JOIN_REQUEST",
}
Fields:
Field |
m_type
|
---|---|
Type |
MType
|
Description |
|
Message MACState.UplinkMessage
A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message. Used for type safe recent uplink storage.
Show object example
{
"payload": {},
"settings": {},
"rx_metadata": [],
"received_at": "0001-01-01T00:00:00Z",
"correlation_ids": [],
"device_channel_index": 0,
}
Fields:
Field |
payload
|
---|---|
Type |
Message
|
Description |
|
Field |
settings
|
---|---|
Type |
MACState.UplinkMessage.TxSettings
|
Description |
|
Field |
rx_metadata
|
---|---|
Type |
repeated
MACState.UplinkMessage.RxMetadata
|
Description |
Field |
received_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Field |
correlation_ids
|
---|---|
Type |
repeated
string
|
Description |
|
Field |
device_channel_index
|
---|---|
Type |
uint32
|
Description |
|
Message MACState.UplinkMessage.RxMetadata
Show object example
{
"gateway_ids": {},
"channel_rssi": 0,
"snr": 0,
"downlink_path_constraint": "DOWNLINK_PATH_CONSTRAINT_NONE",
"uplink_token": "",
"packet_broker": {},
"relay": {},
}
Fields:
Field |
gateway_ids
|
---|---|
Type |
GatewayIdentifiers
|
Description |
|
Field |
channel_rssi
|
---|---|
Type |
float
|
Field |
snr
|
---|---|
Type |
float
|
Field |
downlink_path_constraint
|
---|---|
Type |
DownlinkPathConstraint
|
Description |
|
Field |
uplink_token
|
---|---|
Type |
bytes
|
Field |
packet_broker
|
---|---|
Type |
MACState.UplinkMessage.RxMetadata.PacketBrokerMetadata
|
Field |
relay
|
---|---|
Type |
MACState.UplinkMessage.RxMetadata.RelayMetadata
|
Message MACState.UplinkMessage.TxSettings
Show object example
{
"data_rate": {},
}
Fields:
Field |
data_rate
|
---|---|
Type |
DataRate
|
Description |
|
Message MACState.UplinkMessage.RxMetadata.PacketBrokerMetadata
Show object example
{
}
Fields:
Message MACState.UplinkMessage.RxMetadata.RelayMetadata
Show object example
{
}
Fields:
Message Message
Message represents a LoRaWAN message
Restrictions:- Only one of
mac_payload
,join_request_payload
,join_accept_payload
,rejoin_request_payload
can be set.
Show object example
{
"m_hdr": {},
"mic": "",
"mac_payload": {},
"join_request_payload": {},
"join_accept_payload": {},
"rejoin_request_payload": {},
}
Fields:
Field |
m_hdr
|
---|---|
Type |
MHDR
|
Description |
|
Field |
mic
|
---|---|
Type |
bytes
|
Description |
|
Field |
mac_payload
|
---|---|
Type |
MACPayload
|
Field |
join_request_payload
|
---|---|
Type |
JoinRequestPayload
|
Field |
join_accept_payload
|
---|---|
Type |
JoinAcceptPayload
|
Field |
rejoin_request_payload
|
---|---|
Type |
RejoinRequestPayload
|
Message MHDR
Show object example
{
"m_type": "JOIN_REQUEST",
"major": "LORAWAN_R1",
}
Fields:
Field |
m_type
|
---|---|
Type |
MType
|
Description |
|
Field |
major
|
---|---|
Type |
Major
|
Description |
|
Message MessagePayloadFormatters
Show object example
{
"up_formatter": "FORMATTER_NONE",
"up_formatter_parameter": "",
"down_formatter": "FORMATTER_NONE",
"down_formatter_parameter": "",
}
Fields:
Field |
up_formatter
|
---|---|
Type |
PayloadFormatter
|
Description |
Payload formatter for uplink messages, must be set together with its parameter.
|
Field |
up_formatter_parameter
|
---|---|
Type |
string
|
Description |
Parameter for the up_formatter, must be set together. The API enforces a maximum length of 16KB, but the size may be restricted further by deployment configuration.
|
Field |
down_formatter
|
---|---|
Type |
PayloadFormatter
|
Description |
Payload formatter for downlink messages, must be set together with its parameter.
|
Field |
down_formatter_parameter
|
---|---|
Type |
string
|
Description |
Parameter for the down_formatter, must be set together. The API enforces a maximum length of 16KB, but the size may be restricted further by deployment configuration.
|
Message PacketBrokerMetadata
Show object example
{
"message_id": "",
"forwarder_net_id": "",
"forwarder_tenant_id": "",
"forwarder_cluster_id": "",
"forwarder_gateway_eui": "",
"forwarder_gateway_id": null,
"home_network_net_id": "",
"home_network_tenant_id": "",
"home_network_cluster_id": "",
"hops": [],
}
Fields:
Field |
message_id
|
---|---|
Type |
string
|
Description |
Message identifier generated by Packet Broker Router. |
Field |
forwarder_net_id
|
---|---|
Type |
bytes
|
Description |
LoRa Alliance NetID of the Packet Broker Forwarder Member.
|
Field |
forwarder_tenant_id
|
---|---|
Type |
string
|
Description |
Tenant ID managed by the Packet Broker Forwarder Member. |
Field |
forwarder_cluster_id
|
---|---|
Type |
string
|
Description |
Forwarder Cluster ID of the Packet Broker Forwarder. |
Field |
forwarder_gateway_eui
|
---|---|
Type |
bytes
|
Description |
Forwarder gateway EUI.
|
Field |
forwarder_gateway_id
|
---|---|
Type |
google.protobuf.
StringValue
|
Description |
Forwarder gateway ID. |
Field |
home_network_net_id
|
---|---|
Type |
bytes
|
Description |
LoRa Alliance NetID of the Packet Broker Home Network Member.
|
Field |
home_network_tenant_id
|
---|---|
Type |
string
|
Description |
Tenant ID managed by the Packet Broker Home Network Member. This value is empty if it cannot be determined by the Packet Broker Router. |
Field |
home_network_cluster_id
|
---|---|
Type |
string
|
Description |
Home Network Cluster ID of the Packet Broker Home Network. |
Field |
hops
|
---|---|
Type |
repeated
PacketBrokerRouteHop
|
Description |
Hops that the message passed. Each Packet Broker Router service appends an entry. |
Message PacketBrokerRouteHop
Show object example
{
"received_at": "0001-01-01T00:00:00Z",
"sender_name": "",
"sender_address": "",
"receiver_name": "",
"receiver_agent": "",
}
Fields:
Field |
received_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Time when the service received the message. |
Field |
sender_name
|
---|---|
Type |
string
|
Description |
Sender of the message, typically the authorized client identifier. |
Field |
sender_address
|
---|---|
Type |
string
|
Description |
Sender IP address or host name. |
Field |
receiver_name
|
---|---|
Type |
string
|
Description |
Receiver of the message. |
Field |
receiver_agent
|
---|---|
Type |
string
|
Description |
Receiver agent. |
Message Picture
Show object example
{
"embedded": {},
"sizes": {},
}
Fields:
Field |
embedded
|
---|---|
Type |
Picture.Embedded
|
Description |
Embedded picture. Omitted if there are external URLs available (in sizes). |
Field |
sizes
|
---|---|
Type |
map of
uint32
to
string
|
Description |
URLs of the picture for different sizes, if available on a CDN.
|
Message Picture.Embedded
Show object example
{
"mime_type": "",
"data": "",
}
Fields:
Field |
mime_type
|
---|---|
Type |
string
|
Description |
MIME type of the picture.
|
Field |
data
|
---|---|
Type |
bytes
|
Description |
Picture data. A data URI can be constructed as follows:
|
Message PingSlotPeriodValue
Show object example
{
"value": "PING_EVERY_1S",
}
Fields:
Field |
value
|
---|---|
Type |
PingSlotPeriod
|
Description |
|
Message RejoinRequestPayload
Show object example
{
"rejoin_type": "CONTEXT",
"net_id": "",
"join_eui": "",
"dev_eui": "",
"rejoin_cnt": 0,
}
Fields:
Field |
rejoin_type
|
---|---|
Type |
RejoinRequestType
|
Description |
|
Field |
net_id
|
---|---|
Type |
bytes
|
Description |
|
Field |
join_eui
|
---|---|
Type |
bytes
|
Description |
|
Field |
dev_eui
|
---|---|
Type |
bytes
|
Description |
|
Field |
rejoin_cnt
|
---|---|
Type |
uint32
|
Description |
Contains RJCount0 or RJCount1 depending on rejoin_type. |
Message RootKeys
Root keys for a LoRaWAN device. These are stored on the Join Server.
Show object example
{
"root_key_id": "",
"app_key": {},
"nwk_key": {},
}
Fields:
Field |
root_key_id
|
---|---|
Type |
string
|
Description |
Join Server issued identifier for the root keys.
|
Field |
app_key
|
---|---|
Type |
KeyEnvelope
|
Description |
The (encrypted) Application Key. |
Field |
nwk_key
|
---|---|
Type |
KeyEnvelope
|
Description |
The (encrypted) Network Key. |
Message RelayEndDeviceAlwaysMode
Show object example
{
}
Fields:
Message RelayEndDeviceDynamicMode
Show object example
{
"smart_enable_level": "RELAY_SMART_ENABLE_LEVEL_8",
}
Fields:
Field |
smart_enable_level
|
---|---|
Type |
RelaySmartEnableLevel
|
Description |
The number of consecutive uplinks without a valid downlink before the end device attempts to use the relay mode to transmit messages.
|
Message RelayEndDeviceControlledMode
Show object example
{
}
Fields:
Message RelaySecondChannel
Show object example
{
"ack_offset": "RELAY_SECOND_CH_ACK_OFFSET_0",
"data_rate_index": "DATA_RATE_0",
"frequency": 0,
}
Fields:
Field |
ack_offset
|
---|---|
Type |
RelaySecondChAckOffset
|
Description |
The frequency (Hz) offset used for the WOR acknowledgement.
|
Field |
data_rate_index
|
---|---|
Type |
DataRateIndex
|
Description |
The data rate index used by the WOR and WOR acknowledgement.
|
Field |
frequency
|
---|---|
Type |
uint64
|
Description |
The frequency (Hz) used by the wake on radio message.
|
Message RelayUplinkForwardLimits
Show object example
{
"bucket_size": "RELAY_LIMIT_BUCKET_SIZE_1",
"reload_rate": 0,
}
Fields:
Field |
bucket_size
|
---|---|
Type |
RelayLimitBucketSize
|
Description |
The multiplier used to compute the total bucket size for the limits. The multiplier is multiplied by the reload rate in order to compute the total bucket size.
|
Field |
reload_rate
|
---|---|
Type |
uint32
|
Description |
The number of tokens which are replenished in the bucket every hour.
|
Message RelayForwardDownlinkReq
Show object example
{
"raw_payload": "",
}
Fields:
Field |
raw_payload
|
---|---|
Type |
bytes
|
Message RelayForwardLimits
Show object example
{
"bucket_size": "RELAY_LIMIT_BUCKET_SIZE_1",
"reload_rate": 0,
}
Fields:
Field |
bucket_size
|
---|---|
Type |
RelayLimitBucketSize
|
Description |
The multiplier used to compute the total bucket size for the limits. The multiplier is multiplied by the reload rate in order to compute the total bucket size.
|
Field |
reload_rate
|
---|---|
Type |
uint32
|
Description |
The number of tokens which are replenished in the bucket every hour.
|
Message RelayMetadata
Show object example
{
"device_id": "",
"wor_channel": "RELAY_WOR_CHANNEL_DEFAULT",
}
Fields:
Field |
device_id
|
---|---|
Type |
string
|
Description |
End device identifiers of the relay.
|
Field |
wor_channel
|
---|---|
Type |
RelayWORChannel
|
Description |
Wake on radio channel.
|
Message RelayParameters
RelayParameters represent the parameters of a relay. This is used internally by the Network Server.
Restrictions:- Only one of
serving
,served
can be set.
Show object example
{
"serving": {},
"served": {},
}
Fields:
Field |
serving
|
---|---|
Type |
ServingRelayParameters
|
Description |
Parameters related to a relay which is serving end devices. |
Field |
served
|
---|---|
Type |
ServedRelayParameters
|
Description |
Parameters related to an end device served by a relay. |
Message RxDelayValue
Show object example
{
"value": "RX_DELAY_0",
}
Fields:
Field |
value
|
---|---|
Type |
RxDelay
|
Description |
|
Message RxMetadata
Contains metadata for a received message. Each antenna that receives a message corresponds to one RxMetadata.
Show object example
{
"gateway_ids": {},
"packet_broker": {},
"relay": {},
"antenna_index": 0,
"time": "0001-01-01T00:00:00Z",
"timestamp": 0,
"fine_timestamp": 0,
"encrypted_fine_timestamp": "",
"encrypted_fine_timestamp_key_id": "",
"rssi": 0,
"signal_rssi": null,
"channel_rssi": 0,
"rssi_standard_deviation": 0,
"snr": 0,
"frequency_offset": 0,
"location": {},
"downlink_path_constraint": "DOWNLINK_PATH_CONSTRAINT_NONE",
"uplink_token": "",
"channel_index": 0,
"hopping_width": 0,
"frequency_drift": 0,
"gps_time": "0001-01-01T00:00:00Z",
"received_at": "0001-01-01T00:00:00Z",
"advanced": {},
}
Fields:
Field |
gateway_ids
|
---|---|
Type |
GatewayIdentifiers
|
Description |
|
Field |
packet_broker
|
---|---|
Type |
PacketBrokerMetadata
|
Field |
relay
|
---|---|
Type |
RelayMetadata
|
Field |
antenna_index
|
---|---|
Type |
uint32
|
Field |
time
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Timestamp at the end of the transmission, provided by the gateway. The accuracy is undefined. |
Field |
timestamp
|
---|---|
Type |
uint32
|
Description |
Gateway concentrator timestamp when the Rx finished (microseconds). |
Field |
fine_timestamp
|
---|---|
Type |
uint64
|
Description |
Gateway’s internal fine timestamp when the Rx finished (nanoseconds). |
Field |
encrypted_fine_timestamp
|
---|---|
Type |
bytes
|
Description |
Encrypted gateway’s internal fine timestamp when the Rx finished (nanoseconds). |
Field |
encrypted_fine_timestamp_key_id
|
---|---|
Type |
string
|
Field |
rssi
|
---|---|
Type |
float
|
Description |
Received signal strength indicator (dBm).
This value equals |
Field |
signal_rssi
|
---|---|
Type |
google.protobuf.
FloatValue
|
Description |
Received signal strength indicator of the signal (dBm). |
Field |
channel_rssi
|
---|---|
Type |
float
|
Description |
Received signal strength indicator of the channel (dBm). |
Field |
rssi_standard_deviation
|
---|---|
Type |
float
|
Description |
Standard deviation of the RSSI during preamble. |
Field |
snr
|
---|---|
Type |
float
|
Description |
Signal-to-noise ratio (dB). |
Field |
frequency_offset
|
---|---|
Type |
int64
|
Description |
Frequency offset (Hz). |
Field |
location
|
---|---|
Type |
Location
|
Description |
Antenna location; injected by the Gateway Server. |
Field |
downlink_path_constraint
|
---|---|
Type |
DownlinkPathConstraint
|
Description |
Gateway downlink path constraint; injected by the Gateway Server.
|
Field |
uplink_token
|
---|---|
Type |
bytes
|
Description |
Uplink token to be included in the Tx request in class A downlink; injected by gateway, Gateway Server or fNS. |
Field |
channel_index
|
---|---|
Type |
uint32
|
Description |
Index of the gateway channel that received the message.
|
Field |
hopping_width
|
---|---|
Type |
uint32
|
Description |
Hopping width; a number describing the number of steps of the LR-FHSS grid. |
Field |
frequency_drift
|
---|---|
Type |
int32
|
Description |
Frequency drift in Hz between start and end of an LR-FHSS packet (signed). |
Field |
gps_time
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Timestamp at the end of the transmission, provided by the gateway. Guaranteed to be based on a GPS PPS signal, with an accuracy of 1 millisecond. |
Field |
received_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Timestamp at which the Gateway Server has received the message. |
Field |
advanced
|
---|---|
Type |
google.protobuf.
Struct
|
Description |
Advanced metadata fields
|
Message SearchEndDevicesRequest
Show object example
{
"application_ids": {},
"query": "",
"id_contains": "",
"name_contains": "",
"description_contains": "",
"attributes_contain": {},
"dev_eui_contains": "",
"join_eui_contains": "",
"dev_addr_contains": "",
"field_mask": {},
"order": "",
"limit": 0,
"page": 0,
}
Fields:
Field |
application_ids
|
---|---|
Type |
ApplicationIdentifiers
|
Description |
|
Field |
query
|
---|---|
Type |
string
|
Description |
Find end devices where the ID, name, description or EUI contains this substring.
|
Field |
id_contains
|
---|---|
Type |
string
|
Description |
Find end devices where the ID contains this substring.
|
Field |
name_contains
|
---|---|
Type |
string
|
Description |
Find end devices where the name contains this substring.
|
Field |
description_contains
|
---|---|
Type |
string
|
Description |
Find end devices where the description contains this substring.
|
Field |
attributes_contain
|
---|---|
Type |
map of
string
to
string
|
Description |
Find end devices where the given attributes contain these substrings.
|
Field |
dev_eui_contains
|
---|---|
Type |
string
|
Description |
Find end devices where the (hexadecimal) DevEUI contains this substring.
|
Field |
join_eui_contains
|
---|---|
Type |
string
|
Description |
Find end devices where the (hexadecimal) JoinEUI contains this substring.
|
Field |
dev_addr_contains
|
---|---|
Type |
string
|
Description |
Find end devices where the (hexadecimal) DevAddr contains this substring.
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Field |
order
|
---|---|
Type |
string
|
Description |
Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order.
|
Field |
limit
|
---|---|
Type |
uint32
|
Description |
Limit the number of results per page.
|
Field |
page
|
---|---|
Type |
uint32
|
Description |
Page number for pagination. 0 is interpreted as 1. |
Message Secret
Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it.
Show object example
{
"key_id": "",
"value": "",
}
Fields:
Field |
key_id
|
---|---|
Type |
string
|
Description |
ID of the Key used to encrypt the secret. |
Field |
value
|
---|---|
Type |
bytes
|
Description |
|
Message ServedRelaySettings
Restrictions:
- Only one of
always
,dynamic
,end_device_controlled
can be set.
Show object example
{
"always": {},
"dynamic": {},
"end_device_controlled": {},
"backoff": null,
"second_channel": {},
"serving_device_id": "",
}
Fields:
Field |
always
|
---|---|
Type |
RelayEndDeviceAlwaysMode
|
Description |
The end device will always attempt to use the relay mode in order to send uplink messages. |
Field |
dynamic
|
---|---|
Type |
RelayEndDeviceDynamicMode
|
Description |
The end device will attempt to use relay mode only after a number of uplink messages have been sent without receiving a valid a downlink message. |
Field |
end_device_controlled
|
---|---|
Type |
RelayEndDeviceControlledMode
|
Description |
The end device will control when it uses the relay mode. This is the default mode. |
Field |
backoff
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly. If unset, the default value from Network Server configuration will be used.
|
Field |
second_channel
|
---|---|
Type |
RelaySecondChannel
|
Description |
Second wake on radio channel configuration. |
Field |
serving_device_id
|
---|---|
Type |
string
|
Description |
End device identifier of the serving end device.
|
Message ServedRelayParameters
Restrictions:
- Only one of
always
,dynamic
,end_device_controlled
can be set.
Show object example
{
"always": {},
"dynamic": {},
"end_device_controlled": {},
"backoff": 0,
"second_channel": {},
"serving_device_id": "",
}
Fields:
Field |
always
|
---|---|
Type |
RelayEndDeviceAlwaysMode
|
Description |
The end device will always attempt to use the relay mode in order to send uplink messages. |
Field |
dynamic
|
---|---|
Type |
RelayEndDeviceDynamicMode
|
Description |
The end device will attempt to use relay mode only after a number of uplink messages have been sent without receiving a valid a downlink message. |
Field |
end_device_controlled
|
---|---|
Type |
RelayEndDeviceControlledMode
|
Description |
The end device will control when it uses the relay mode. This is the default mode. |
Field |
backoff
|
---|---|
Type |
uint32
|
Description |
Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly.
|
Field |
second_channel
|
---|---|
Type |
RelaySecondChannel
|
Description |
Second wake on radio channel configuration. |
Field |
serving_device_id
|
---|---|
Type |
string
|
Description |
End device identifier of the serving end device.
|
Message ServingRelaySettings
Show object example
{
"second_channel": {},
"default_channel_index": null,
"cad_periodicity": "RELAY_CAD_PERIODICITY_1_SECOND",
"uplink_forwarding_rules": [],
"limits": {},
}
Fields:
Field |
second_channel
|
---|---|
Type |
RelaySecondChannel
|
Description |
Second wake on radio channel configuration. |
Field |
default_channel_index
|
---|---|
Type |
google.protobuf.
UInt32Value
|
Description |
Index of the default wake on radio channel. If unset, the default value from Network Server configuration will be used.
|
Field |
cad_periodicity
|
---|---|
Type |
RelayCADPeriodicity
|
Description |
Channel activity detection periodicity.
|
Field |
uplink_forwarding_rules
|
---|---|
Type |
repeated
RelayUplinkForwardingRule
|
Description |
Configured uplink forwarding rules.
|
Field |
limits
|
---|---|
Type |
ServingRelayForwardingLimits
|
Description |
Configured forwarding limits. If unset, the default value from Network Server configuration will be used. |
Message ServingRelayParameters
Show object example
{
"second_channel": {},
"default_channel_index": 0,
"cad_periodicity": "RELAY_CAD_PERIODICITY_1_SECOND",
"uplink_forwarding_rules": [],
"limits": {},
}
Fields:
Field |
second_channel
|
---|---|
Type |
RelaySecondChannel
|
Description |
Second wake on radio channel configuration. |
Field |
default_channel_index
|
---|---|
Type |
uint32
|
Description |
Index of the default wake on radio channel.
|
Field |
cad_periodicity
|
---|---|
Type |
RelayCADPeriodicity
|
Description |
Channel activity detection periodicity.
|
Field |
uplink_forwarding_rules
|
---|---|
Type |
repeated
RelayUplinkForwardingRule
|
Description |
Configured uplink forwarding rules.
|
Field |
limits
|
---|---|
Type |
ServingRelayForwardingLimits
|
Description |
Configured forwarding limits. If unset, the default value from Network Server configuration will be used. |
Message RelayUplinkForwardingRule
Show object example
{
"limits": {},
"last_w_f_cnt": 0,
"device_id": "",
"session_key_id": "",
}
Fields:
Field |
limits
|
---|---|
Type |
RelayUplinkForwardLimits
|
Description |
Bucket configuration for the served end device. If unset, no individual limits will apply to the end device, but the relay global limitations will apply. |
Field |
last_w_f_cnt
|
---|---|
Type |
uint32
|
Description |
Last wake on radio frame counter used by the served end device. |
Field |
device_id
|
---|---|
Type |
string
|
Description |
End device identifier of the served end device.
|
Field |
session_key_id
|
---|---|
Type |
bytes
|
Description |
Session key ID of the session keys used to derive the root relay session key. |
Message ServingRelayForwardingLimits
Show object example
{
"reset_behavior": "RELAY_RESET_LIMIT_COUNTER_ZERO",
"join_requests": {},
"notifications": {},
"uplink_messages": {},
"overall": {},
}
Fields:
Field |
reset_behavior
|
---|---|
Type |
RelayResetLimitCounter
|
Description |
Reset behavior of the buckets upon limit update. |
Field |
join_requests
|
---|---|
Type |
RelayForwardLimits
|
Description |
Bucket configuration for join requests. If unset, no individual limits will apply to join requests, but the relay overall limitations will apply. |
Field |
notifications
|
---|---|
Type |
RelayForwardLimits
|
Description |
Bucket configuration for unknown device notifications. If unset, no individual limits will apply to unknown end device notifications, but the relay overall limitations will still apply. |
Field |
uplink_messages
|
---|---|
Type |
RelayForwardLimits
|
Description |
Bucket configuration for uplink messages across all served end devices. If unset, no individual limits will apply to uplink messages across all served end devices, but the relay overall limitations will still apply. |
Field |
overall
|
---|---|
Type |
RelayForwardLimits
|
Description |
Bucket configuration for all relay messages. If unset, no overall limits will apply to the relay, but individual limitations will still apply. |
Message Session
Show object example
{
"dev_addr": "",
"keys": {},
"last_f_cnt_up": 0,
"last_n_f_cnt_down": 0,
"last_a_f_cnt_down": 0,
"last_conf_f_cnt_down": 0,
"started_at": "0001-01-01T00:00:00Z",
"queued_application_downlinks": [],
}
Fields:
Field |
dev_addr
|
---|---|
Type |
bytes
|
Description |
Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03). Known by Network Server, Application Server and Join Server. Owned by Network Server.
|
Field |
keys
|
---|---|
Type |
SessionKeys
|
Description |
|
Field |
last_f_cnt_up
|
---|---|
Type |
uint32
|
Description |
Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it. |
Field |
last_n_f_cnt_down
|
---|---|
Type |
uint32
|
Description |
Last network downlink frame counter value used. Network Server only. |
Field |
last_a_f_cnt_down
|
---|---|
Type |
uint32
|
Description |
Last application downlink frame counter value used. Application Server only. |
Field |
last_conf_f_cnt_down
|
---|---|
Type |
uint32
|
Description |
Frame counter of the last confirmed downlink message sent. Network Server only. |
Field |
started_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Time when the session started. Network Server only. |
Field |
queued_application_downlinks
|
---|---|
Type |
repeated
ApplicationDownlink
|
Description |
Queued Application downlink messages. Stored in Application Server and Network Server. |
Message SessionKeys
Session keys for a LoRaWAN session. Only the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.
Show object example
{
"session_key_id": "",
"f_nwk_s_int_key": {},
"s_nwk_s_int_key": {},
"nwk_s_enc_key": {},
"app_s_key": {},
}
Fields:
Field |
session_key_id
|
---|---|
Type |
bytes
|
Description |
Join Server issued identifier for the session keys. This ID can be used to request the keys from the Join Server in case the are lost.
|
Field |
f_nwk_s_int_key
|
---|---|
Type |
KeyEnvelope
|
Description |
The (encrypted) Forwarding Network Session Integrity Key (or Network Session Key in 1.0 compatibility mode). This key is stored by the (forwarding) Network Server. |
Field |
s_nwk_s_int_key
|
---|---|
Type |
KeyEnvelope
|
Description |
The (encrypted) Serving Network Session Integrity Key. This key is stored by the (serving) Network Server. |
Field |
nwk_s_enc_key
|
---|---|
Type |
KeyEnvelope
|
Description |
The (encrypted) Network Session Encryption Key. This key is stored by the (serving) Network Server. |
Field |
app_s_key
|
---|---|
Type |
KeyEnvelope
|
Description |
The (encrypted) Application Session Key. This key is stored by the Application Server. |
Message SetEndDeviceRequest
Show object example
{
"end_device": {},
"field_mask": {},
}
Fields:
Field |
end_device
|
---|---|
Type |
EndDevice
|
Description |
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
The names of the end device fields that should be updated. See the API reference for which fields can be set on the different services. |
Message TxRequest
TxRequest is a request for transmission. If sent to a roaming partner, this request is used to generate the DLMetadata Object (see Backend Interfaces 1.0, Table 22). If the gateway has a scheduler, this request is sent to the gateway, in the order of gateway_ids. Otherwise, the Gateway Server attempts to schedule the request and creates the TxSettings.
Show object example
{
"class": "CLASS_A",
"downlink_paths": [],
"rx1_delay": "RX_DELAY_0",
"rx1_data_rate": {},
"rx1_frequency": 0,
"rx2_data_rate": {},
"rx2_frequency": 0,
"priority": "LOWEST",
"absolute_time": "0001-01-01T00:00:00Z",
"frequency_plan_id": "",
"advanced": {},
}
Fields:
Field |
class
|
---|---|
Type |
Class
|
Field |
downlink_paths
|
---|---|
Type |
repeated
DownlinkPath
|
Description |
Downlink paths used to select a gateway for downlink. In class A, the downlink paths are required to only contain uplink tokens. In class B and C, the downlink paths may contain uplink tokens and fixed gateways antenna identifiers. |
Field |
rx1_delay
|
---|---|
Type |
RxDelay
|
Description |
Rx1 delay (Rx2 delay is Rx1 delay + 1 second).
|
Field |
rx1_data_rate
|
---|---|
Type |
DataRate
|
Description |
LoRaWAN data rate for Rx1. |
Field |
rx1_frequency
|
---|---|
Type |
uint64
|
Description |
Frequency (Hz) for Rx1. |
Field |
rx2_data_rate
|
---|---|
Type |
DataRate
|
Description |
LoRaWAN data rate for Rx2. |
Field |
rx2_frequency
|
---|---|
Type |
uint64
|
Description |
Frequency (Hz) for Rx2. |
Field |
priority
|
---|---|
Type |
TxSchedulePriority
|
Description |
Priority for scheduling. Requests with a higher priority are allocated more channel time than messages with a lower priority, in duty-cycle limited regions. A priority of HIGH or higher sets the HiPriorityFlag in the DLMetadata Object.
|
Field |
absolute_time
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Time when the downlink message should be transmitted. This value is only valid for class C downlink; class A downlink uses uplink tokens and class B downlink is scheduled on ping slots. This requires the gateway to have GPS time sychronization. If the absolute time is not set, the first available time will be used that does not conflict or violate regional limitations. |
Field |
frequency_plan_id
|
---|---|
Type |
string
|
Description |
Frequency plan ID from which the frequencies in this message are retrieved.
|
Field |
advanced
|
---|---|
Type |
google.protobuf.
Struct
|
Description |
Advanced metadata fields
|
Message TxSettings
TxSettings contains the settings for a transmission. This message is used on both uplink and downlink. On downlink, this is a scheduled transmission.
Show object example
{
"data_rate": {},
"frequency": 0,
"enable_crc": false,
"timestamp": 0,
"time": "0001-01-01T00:00:00Z",
"downlink": {},
"concentrator_timestamp": 0,
}
Fields:
Field |
data_rate
|
---|---|
Type |
DataRate
|
Description |
Data rate.
|
Field |
frequency
|
---|---|
Type |
uint64
|
Description |
Frequency (Hz).
|
Field |
enable_crc
|
---|---|
Type |
bool
|
Description |
Send a CRC in the packet; only on uplink; on downlink, CRC should not be enabled. |
Field |
timestamp
|
---|---|
Type |
uint32
|
Description |
Timestamp of the gateway concentrator when the uplink message was received, or when the downlink message should be transmitted (microseconds). On downlink, set timestamp to 0 and time to null to use immediate scheduling. |
Field |
time
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Time of the gateway when the uplink message was received, or when the downlink message should be transmitted. For downlink, this requires the gateway to have GPS time synchronization. |
Field |
downlink
|
---|---|
Type |
TxSettings.Downlink
|
Description |
Transmission settings for downlink. |
Field |
concentrator_timestamp
|
---|---|
Type |
int64
|
Description |
Concentrator timestamp for the downlink as calculated by the Gateway Server scheduler. This value takes into account necessary offsets such as the RTT (Round Trip Time) and TOA (Time Of Arrival). This field is set and used only by the Gateway Server. |
Message TxSettings.Downlink
Transmission settings for downlink.
Show object example
{
"antenna_index": 0,
"tx_power": 0,
"invert_polarization": false,
}
Fields:
Field |
antenna_index
|
---|---|
Type |
uint32
|
Description |
Index of the antenna on which the uplink was received and/or downlink must be sent. |
Field |
tx_power
|
---|---|
Type |
float
|
Description |
Transmission power (dBm). Only on downlink. |
Field |
invert_polarization
|
---|---|
Type |
bool
|
Description |
Invert LoRa polarization; false for LoRaWAN uplink, true for downlink. |
Message UpdateEndDeviceRequest
Show object example
{
"end_device": {},
"field_mask": {},
}
Fields:
Field |
end_device
|
---|---|
Type |
EndDevice
|
Description |
|
Field |
field_mask
|
---|---|
Type |
google.protobuf.
FieldMask
|
Description |
The names of the end device fields that should be updated. See the API reference for which fields can be set on the different services. |
Message UplinkMessage
Uplink message from the end device to the network
Show object example
{
"raw_payload": "",
"payload": {},
"settings": {},
"rx_metadata": [],
"received_at": "0001-01-01T00:00:00Z",
"correlation_ids": [],
"device_channel_index": 0,
"consumed_airtime": "0s",
"crc_status": null,
}
Fields:
Field |
raw_payload
|
---|---|
Type |
bytes
|
Field |
payload
|
---|---|
Type |
Message
|
Field |
settings
|
---|---|
Type |
TxSettings
|
Description |
|
Field |
rx_metadata
|
---|---|
Type |
repeated
RxMetadata
|
Description |
Field |
received_at
|
---|---|
Type |
google.protobuf.
Timestamp
|
Description |
Server time when a component received the message. The Gateway Server and Network Server set this value to their local server time of reception. |
Field |
correlation_ids
|
---|---|
Type |
repeated
string
|
Description |
|
Field |
device_channel_index
|
---|---|
Type |
uint32
|
Description |
Index of the device channel that received the message. Set by Network Server.
|
Field |
consumed_airtime
|
---|---|
Type |
google.protobuf.
Duration
|
Description |
Consumed airtime for the transmission of the uplink message. Calculated by Network Server using the RawPayload size and the transmission settings. |
Field |
crc_status
|
---|---|
Type |
google.protobuf.
BoolValue
|
Description |
Cyclic Redundancy Check (CRC) status of demodulating the frame. If unset, the modulation does not support CRC or the gateway did not provide a CRC status. If set to false, this message should not be processed. |
Message ZeroableFrequencyValue
Show object example
{
"value": 0,
}
Fields:
Field |
value
|
---|---|
Type |
uint64
|
Description |
|
Enums
Enum ADRAckLimitExponent
Name | Value | Description |
---|---|---|
ADR_ACK_LIMIT_1 |
0 |
|
ADR_ACK_LIMIT_2 |
1 |
|
ADR_ACK_LIMIT_4 |
2 |
|
ADR_ACK_LIMIT_8 |
3 |
|
ADR_ACK_LIMIT_16 |
4 |
|
ADR_ACK_LIMIT_32 |
5 |
|
ADR_ACK_LIMIT_64 |
6 |
|
ADR_ACK_LIMIT_128 |
7 |
|
ADR_ACK_LIMIT_256 |
8 |
|
ADR_ACK_LIMIT_512 |
9 |
|
ADR_ACK_LIMIT_1024 |
10 |
|
ADR_ACK_LIMIT_2048 |
11 |
|
ADR_ACK_LIMIT_4096 |
12 |
|
ADR_ACK_LIMIT_8192 |
13 |
|
ADR_ACK_LIMIT_16384 |
14 |
|
ADR_ACK_LIMIT_32768 |
15 |
Enum ADRAckDelayExponent
Name | Value | Description |
---|---|---|
ADR_ACK_DELAY_1 |
0 |
|
ADR_ACK_DELAY_2 |
1 |
|
ADR_ACK_DELAY_4 |
2 |
|
ADR_ACK_DELAY_8 |
3 |
|
ADR_ACK_DELAY_16 |
4 |
|
ADR_ACK_DELAY_32 |
5 |
|
ADR_ACK_DELAY_64 |
6 |
|
ADR_ACK_DELAY_128 |
7 |
|
ADR_ACK_DELAY_256 |
8 |
|
ADR_ACK_DELAY_512 |
9 |
|
ADR_ACK_DELAY_1024 |
10 |
|
ADR_ACK_DELAY_2048 |
11 |
|
ADR_ACK_DELAY_4096 |
12 |
|
ADR_ACK_DELAY_8192 |
13 |
|
ADR_ACK_DELAY_16384 |
14 |
|
ADR_ACK_DELAY_32768 |
15 |
Enum AggregatedDutyCycle
Name | Value | Description |
---|---|---|
DUTY_CYCLE_1 |
0 |
100%. |
DUTY_CYCLE_2 |
1 |
50%. |
DUTY_CYCLE_4 |
2 |
25%. |
DUTY_CYCLE_8 |
3 |
12.5%. |
DUTY_CYCLE_16 |
4 |
6.25%. |
DUTY_CYCLE_32 |
5 |
3.125%. |
DUTY_CYCLE_64 |
6 |
1.5625%. |
DUTY_CYCLE_128 |
7 |
Roughly 0.781%. |
DUTY_CYCLE_256 |
8 |
Roughly 0.390%. |
DUTY_CYCLE_512 |
9 |
Roughly 0.195%. |
DUTY_CYCLE_1024 |
10 |
Roughly 0.098%. |
DUTY_CYCLE_2048 |
11 |
Roughly 0.049%. |
DUTY_CYCLE_4096 |
12 |
Roughly 0.024%. |
DUTY_CYCLE_8192 |
13 |
Roughly 0.012%. |
DUTY_CYCLE_16384 |
14 |
Roughly 0.006%. |
DUTY_CYCLE_32768 |
15 |
Roughly 0.003%. |
Enum Class
Name | Value | Description |
---|---|---|
CLASS_A |
0 |
|
CLASS_B |
1 |
|
CLASS_C |
2 |
Enum CFListType
Name | Value | Description |
---|---|---|
FREQUENCIES |
0 |
|
CHANNEL_MASKS |
1 |
Enum DataRateIndex
Name | Value | Description |
---|---|---|
DATA_RATE_0 |
0 |
|
DATA_RATE_1 |
1 |
|
DATA_RATE_2 |
2 |
|
DATA_RATE_3 |
3 |
|
DATA_RATE_4 |
4 |
|
DATA_RATE_5 |
5 |
|
DATA_RATE_6 |
6 |
|
DATA_RATE_7 |
7 |
|
DATA_RATE_8 |
8 |
|
DATA_RATE_9 |
9 |
|
DATA_RATE_10 |
10 |
|
DATA_RATE_11 |
11 |
|
DATA_RATE_12 |
12 |
|
DATA_RATE_13 |
13 |
|
DATA_RATE_14 |
14 |
|
DATA_RATE_15 |
15 |
Enum DataRateOffset
Name | Value | Description |
---|---|---|
DATA_RATE_OFFSET_0 |
0 |
|
DATA_RATE_OFFSET_1 |
1 |
|
DATA_RATE_OFFSET_2 |
2 |
|
DATA_RATE_OFFSET_3 |
3 |
|
DATA_RATE_OFFSET_4 |
4 |
|
DATA_RATE_OFFSET_5 |
5 |
|
DATA_RATE_OFFSET_6 |
6 |
|
DATA_RATE_OFFSET_7 |
7 |
Enum DeviceEIRP
Name | Value | Description |
---|---|---|
DEVICE_EIRP_8 |
0 |
8 dBm. |
DEVICE_EIRP_10 |
1 |
10 dBm. |
DEVICE_EIRP_12 |
2 |
12 dBm. |
DEVICE_EIRP_13 |
3 |
13 dBm. |
DEVICE_EIRP_14 |
4 |
14 dBm. |
DEVICE_EIRP_16 |
5 |
16 dBm. |
DEVICE_EIRP_18 |
6 |
18 dBm. |
DEVICE_EIRP_20 |
7 |
20 dBm. |
DEVICE_EIRP_21 |
8 |
21 dBm. |
DEVICE_EIRP_24 |
9 |
24 dBm. |
DEVICE_EIRP_26 |
10 |
26 dBm. |
DEVICE_EIRP_27 |
11 |
27 dBm. |
DEVICE_EIRP_29 |
12 |
29 dBm. |
DEVICE_EIRP_30 |
13 |
30 dBm. |
DEVICE_EIRP_33 |
14 |
33 dBm. |
DEVICE_EIRP_36 |
15 |
36 dBm. |
Enum DownlinkPathConstraint
Name | Value | Description |
---|---|---|
DOWNLINK_PATH_CONSTRAINT_NONE |
0 |
Indicates that the gateway can be selected for downlink without constraints by the Network Server. |
DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER |
1 |
Indicates that the gateway can be selected for downlink only if no other or better gateway can be selected. |
DOWNLINK_PATH_CONSTRAINT_NEVER |
2 |
Indicates that this gateway will never be selected for downlink, even if that results in no available downlink path. |
Enum LocationSource
Name | Value | Description |
---|---|---|
SOURCE_UNKNOWN |
0 |
The source of the location is not known or not set. |
SOURCE_GPS |
1 |
The location is determined by GPS. |
SOURCE_REGISTRY |
3 |
The location is set in and updated from a registry. |
SOURCE_IP_GEOLOCATION |
4 |
The location is estimated with IP geolocation. |
SOURCE_WIFI_RSSI_GEOLOCATION |
5 |
The location is estimated with WiFi RSSI geolocation. |
SOURCE_BT_RSSI_GEOLOCATION |
6 |
The location is estimated with BT/BLE RSSI geolocation. |
SOURCE_LORA_RSSI_GEOLOCATION |
7 |
The location is estimated with LoRa RSSI geolocation. |
SOURCE_LORA_TDOA_GEOLOCATION |
8 |
The location is estimated with LoRa TDOA geolocation. |
SOURCE_COMBINED_GEOLOCATION |
9 |
The location is estimated by a combination of geolocation sources. |
Enum MACVersion
Name | Value | Description |
---|---|---|
MAC_UNKNOWN |
0 |
|
MAC_V1_0 |
1 |
|
MAC_V1_0_1 |
2 |
|
MAC_V1_0_2 |
3 |
|
MAC_V1_1 |
4 |
|
MAC_V1_0_3 |
5 |
|
MAC_V1_0_4 |
6 |
Enum MACCommandIdentifier
Name | Value | Description |
---|---|---|
CID_RFU_0 |
0 |
|
CID_RESET |
1 |
|
CID_LINK_CHECK |
2 |
|
CID_LINK_ADR |
3 |
|
CID_DUTY_CYCLE |
4 |
|
CID_RX_PARAM_SETUP |
5 |
|
CID_DEV_STATUS |
6 |
|
CID_NEW_CHANNEL |
7 |
|
CID_RX_TIMING_SETUP |
8 |
|
CID_TX_PARAM_SETUP |
9 |
|
CID_DL_CHANNEL |
10 |
|
CID_REKEY |
11 |
|
CID_ADR_PARAM_SETUP |
12 |
|
CID_DEVICE_TIME |
13 |
|
CID_FORCE_REJOIN |
14 |
|
CID_REJOIN_PARAM_SETUP |
15 |
|
CID_PING_SLOT_INFO |
16 |
|
CID_PING_SLOT_CHANNEL |
17 |
|
CID_BEACON_TIMING |
18 |
Deprecated |
CID_BEACON_FREQ |
19 |
|
CID_DEVICE_MODE |
32 |
|
CID_RELAY_CONF |
64 |
|
CID_RELAY_END_DEVICE_CONF |
65 |
|
CID_RELAY_FILTER_LIST |
66 |
|
CID_RELAY_UPDATE_UPLINK_LIST |
67 |
|
CID_RELAY_CTRL_UPLINK_LIST |
68 |
|
CID_RELAY_CONFIGURE_FWD_LIMIT |
69 |
|
CID_RELAY_NOTIFY_NEW_END_DEVICE |
70 |
Enum Major
Name | Value | Description |
---|---|---|
LORAWAN_R1 |
0 |
Enum MType
Name | Value | Description |
---|---|---|
JOIN_REQUEST |
0 |
|
JOIN_ACCEPT |
1 |
|
UNCONFIRMED_UP |
2 |
|
UNCONFIRMED_DOWN |
3 |
|
CONFIRMED_UP |
4 |
|
CONFIRMED_DOWN |
5 |
|
REJOIN_REQUEST |
6 |
|
PROPRIETARY |
7 |
Enum Minor
Name | Value | Description |
---|---|---|
MINOR_RFU_0 |
0 |
|
MINOR_1 |
1 |
|
MINOR_RFU_2 |
2 |
|
MINOR_RFU_3 |
3 |
|
MINOR_RFU_4 |
4 |
|
MINOR_RFU_5 |
5 |
|
MINOR_RFU_6 |
6 |
|
MINOR_RFU_7 |
7 |
|
MINOR_RFU_8 |
8 |
|
MINOR_RFU_9 |
9 |
|
MINOR_RFU_10 |
10 |
|
MINOR_RFU_11 |
11 |
|
MINOR_RFU_12 |
12 |
|
MINOR_RFU_13 |
13 |
|
MINOR_RFU_14 |
14 |
|
MINOR_RFU_15 |
15 |
Enum PayloadFormatter
Name | Value | Description |
---|---|---|
FORMATTER_NONE |
0 |
No payload formatter to work with raw payload only. |
FORMATTER_REPOSITORY |
1 |
Use payload formatter for the end device type from a repository. |
FORMATTER_GRPC_SERVICE |
2 |
gRPC service payload formatter. The parameter is the host:port of the service. |
FORMATTER_JAVASCRIPT |
3 |
Custom payload formatter that executes Javascript code. The parameter is a JavaScript filename. |
FORMATTER_CAYENNELPP |
4 |
CayenneLPP payload formatter. |
Enum PingSlotPeriod
Name | Value | Description |
---|---|---|
PING_EVERY_1S |
0 |
Every second. |
PING_EVERY_2S |
1 |
Every 2 seconds. |
PING_EVERY_4S |
2 |
Every 4 seconds. |
PING_EVERY_8S |
3 |
Every 8 seconds. |
PING_EVERY_16S |
4 |
Every 16 seconds. |
PING_EVERY_32S |
5 |
Every 32 seconds. |
PING_EVERY_64S |
6 |
Every 64 seconds. |
PING_EVERY_128S |
7 |
Every 128 seconds. |
Enum PHYVersion
Name | Value | Description |
---|---|---|
PHY_UNKNOWN |
0 |
|
PHY_V1_0 |
1 |
|
TS001_V1_0 |
1 |
|
PHY_V1_0_1 |
2 |
|
TS001_V1_0_1 |
2 |
|
PHY_V1_0_2_REV_A |
3 |
|
RP001_V1_0_2 |
3 |
|
PHY_V1_0_2_REV_B |
4 |
|
RP001_V1_0_2_REV_B |
4 |
|
PHY_V1_1_REV_A |
5 |
|
RP001_V1_1_REV_A |
5 |
|
PHY_V1_1_REV_B |
6 |
|
RP001_V1_1_REV_B |
6 |
|
PHY_V1_0_3_REV_A |
7 |
|
RP001_V1_0_3_REV_A |
7 |
|
RP002_V1_0_0 |
8 |
|
RP002_V1_0_1 |
9 |
|
RP002_V1_0_2 |
10 |
|
RP002_V1_0_3 |
11 |
|
RP002_V1_0_4 |
12 |
Enum PowerState
Power state of the device.
Name | Value | Description |
---|---|---|
POWER_UNKNOWN |
0 |
|
POWER_BATTERY |
1 |
|
POWER_EXTERNAL |
2 |
Enum RxDelay
Name | Value | Description |
---|---|---|
RX_DELAY_0 |
0 |
1 second. |
RX_DELAY_1 |
1 |
1 second. |
RX_DELAY_2 |
2 |
2 seconds. |
RX_DELAY_3 |
3 |
3 seconds. |
RX_DELAY_4 |
4 |
4 seconds. |
RX_DELAY_5 |
5 |
5 seconds. |
RX_DELAY_6 |
6 |
6 seconds. |
RX_DELAY_7 |
7 |
7 seconds. |
RX_DELAY_8 |
8 |
8 seconds. |
RX_DELAY_9 |
9 |
9 seconds. |
RX_DELAY_10 |
10 |
10 seconds. |
RX_DELAY_11 |
11 |
11 seconds. |
RX_DELAY_12 |
12 |
12 seconds. |
RX_DELAY_13 |
13 |
13 seconds. |
RX_DELAY_14 |
14 |
14 seconds. |
RX_DELAY_15 |
15 |
15 seconds. |
Enum RejoinTimeExponent
Name | Value | Description |
---|---|---|
REJOIN_TIME_0 |
0 |
Every ~17.1 minutes. |
REJOIN_TIME_1 |
1 |
Every ~34.1 minutes. |
REJOIN_TIME_2 |
2 |
Every ~1.1 hours. |
REJOIN_TIME_3 |
3 |
Every ~2.3 hours. |
REJOIN_TIME_4 |
4 |
Every ~4.6 hours. |
REJOIN_TIME_5 |
5 |
Every ~9.1 hours. |
REJOIN_TIME_6 |
6 |
Every ~18.2 hours. |
REJOIN_TIME_7 |
7 |
Every ~1.5 days. |
REJOIN_TIME_8 |
8 |
Every ~3.0 days. |
REJOIN_TIME_9 |
9 |
Every ~6.1 days. |
REJOIN_TIME_10 |
10 |
Every ~12.1 days. |
REJOIN_TIME_11 |
11 |
Every ~3.5 weeks. |
REJOIN_TIME_12 |
12 |
Every ~1.6 months. |
REJOIN_TIME_13 |
13 |
Every ~3.2 months. |
REJOIN_TIME_14 |
14 |
Every ~6.4 months. |
REJOIN_TIME_15 |
15 |
Every ~1.1 year. |
Enum RejoinCountExponent
Name | Value | Description |
---|---|---|
REJOIN_COUNT_16 |
0 |
|
REJOIN_COUNT_32 |
1 |
|
REJOIN_COUNT_64 |
2 |
|
REJOIN_COUNT_128 |
3 |
|
REJOIN_COUNT_256 |
4 |
|
REJOIN_COUNT_512 |
5 |
|
REJOIN_COUNT_1024 |
6 |
|
REJOIN_COUNT_2048 |
7 |
|
REJOIN_COUNT_4096 |
8 |
|
REJOIN_COUNT_8192 |
9 |
|
REJOIN_COUNT_16384 |
10 |
|
REJOIN_COUNT_32768 |
11 |
|
REJOIN_COUNT_65536 |
12 |
|
REJOIN_COUNT_131072 |
13 |
|
REJOIN_COUNT_262144 |
14 |
|
REJOIN_COUNT_524288 |
15 |
Enum RejoinRequestType
Name | Value | Description |
---|---|---|
CONTEXT |
0 |
Resets DevAddr, Session Keys, Frame Counters, Radio Parameters. |
SESSION |
1 |
Equivalent to the initial JoinRequest. |
KEYS |
2 |
Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters. |
Enum RejoinPeriodExponent
Name | Value | Description |
---|---|---|
REJOIN_PERIOD_0 |
0 |
Every 32 to 64 seconds. |
REJOIN_PERIOD_1 |
1 |
Every 64 to 96 seconds. |
REJOIN_PERIOD_2 |
2 |
Every 128 to 160 seconds. |
REJOIN_PERIOD_3 |
3 |
Every 256 to 288 seconds. |
REJOIN_PERIOD_4 |
4 |
Every 512 to 544 seconds. |
REJOIN_PERIOD_5 |
5 |
Every 1024 to 1056 seconds. |
REJOIN_PERIOD_6 |
6 |
Every 2048 to 2080 seconds. |
REJOIN_PERIOD_7 |
7 |
Every 4096 to 4128 seconds. |
Enum RelayCADPeriodicity
Name | Value | Description |
---|---|---|
RELAY_CAD_PERIODICITY_1_SECOND |
0 |
|
RELAY_CAD_PERIODICITY_500_MILLISECONDS |
1 |
|
RELAY_CAD_PERIODICITY_250_MILLISECONDS |
2 |
|
RELAY_CAD_PERIODICITY_100_MILLISECONDS |
3 |
|
RELAY_CAD_PERIODICITY_50_MILLISECONDS |
4 |
|
RELAY_CAD_PERIODICITY_20_MILLISECONDS |
5 |
sic |
Enum RelayCtrlUplinkListAction
Name | Value | Description |
---|---|---|
RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT |
0 |
|
RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE |
1 |
Enum RelayResetLimitCounter
Name | Value | Description |
---|---|---|
RELAY_RESET_LIMIT_COUNTER_ZERO |
0 |
|
RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE |
1 |
|
RELAY_RESET_LIMIT_COUNTER_MAX_VALUE |
2 |
|
RELAY_RESET_LIMIT_COUNTER_NO_RESET |
3 |
Enum RelaySecondChAckOffset
Name | Value | Description |
---|---|---|
RELAY_SECOND_CH_ACK_OFFSET_0 |
0 |
0 kHz |
RELAY_SECOND_CH_ACK_OFFSET_200 |
1 |
200 kHz |
RELAY_SECOND_CH_ACK_OFFSET_400 |
2 |
400 kHz |
RELAY_SECOND_CH_ACK_OFFSET_800 |
3 |
800 kHz |
RELAY_SECOND_CH_ACK_OFFSET_1600 |
4 |
1.6 MHz |
RELAY_SECOND_CH_ACK_OFFSET_3200 |
5 |
3.2 MHz |
Message RelaySettings
RelaySettings represent the settings of a relay. This is used internally by the Network Server.
Restrictions:- Only one of
serving
,served
can be set.
Show object example
{
"serving": {},
"served": {},
}
Fields:
Field |
serving
|
---|---|
Type |
ServingRelaySettings
|
Field |
served
|
---|---|
Type |
ServedRelaySettings
|
Enum RelaySmartEnableLevel
Name | Value | Description |
---|---|---|
RELAY_SMART_ENABLE_LEVEL_8 |
0 |
|
RELAY_SMART_ENABLE_LEVEL_16 |
1 |
|
RELAY_SMART_ENABLE_LEVEL_32 |
2 |
|
RELAY_SMART_ENABLE_LEVEL_64 |
3 |
Enum RelayLimitBucketSize
Name | Value | Description |
---|---|---|
RELAY_LIMIT_BUCKET_SIZE_1 |
0 |
|
RELAY_LIMIT_BUCKET_SIZE_2 |
1 |
|
RELAY_LIMIT_BUCKET_SIZE_4 |
2 |
|
RELAY_LIMIT_BUCKET_SIZE_12 |
3 |
sic |
Enum RelayWORChannel
Name | Value | Description |
---|---|---|
RELAY_WOR_CHANNEL_DEFAULT |
0 |
|
RELAY_WOR_CHANNEL_SECONDARY |
1 |
Enum TxSchedulePriority
Name | Value | Description |
---|---|---|
LOWEST |
0 |
|
LOW |
1 |
|
BELOW_NORMAL |
2 |
|
NORMAL |
3 |
|
ABOVE_NORMAL |
4 |
|
HIGH |
5 |
|
HIGHEST |
6 |