Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
1 contributor

Users who have contributed to this file

248 lines (176 sloc) 5.77 KB
syntax = "proto3";
package integration;
option go_package = "github.com/brocaar/chirpstack-api/go/v3/as/integration";
import "common/common.proto";
import "gw/gw.proto";
enum ErrorType {
// Unknown type.
UNKNOWN = 0;
// Error related to the downlink payload size.
// Usually seen when the payload exceeded the maximum allowed payload size.
DOWNLINK_PAYLOAD_SIZE = 1;
// Error related to the downlink frame-counter.
// Usually seen when the frame-counter has already been used.
DOWNLINK_FCNT = 2;
// Uplink codec error.
UPLINK_CODEC = 3;
// Downlink codec error.
DOWNLINK_CODEC = 4;
// OTAA error.
OTAA = 5;
// Uplink frame-counter was reset.
UPLINK_FCNT_RESET = 6;
// Uplink MIC error.
UPLINK_MIC = 7;
// Uplink frame-counter retransmission.
UPLINK_FCNT_RETRANSMISSION = 8;
// Downlink gateway error.
DOWNLINK_GATEWAY = 9;
}
// UplinkEvent is the message sent when an uplink payload has been received.
message UplinkEvent {
// Application ID.
uint64 application_id = 1 [json_name = "applicationID"];
// Application name.
string application_name = 2;
// Device name.
string device_name = 3;
// Device EUI.
bytes dev_eui = 4 [json_name = "devEUI"];
// Receiving gateway RX info.
repeated gw.UplinkRXInfo rx_info = 5;
// TX info.
gw.UplinkTXInfo tx_info = 6;
// Device has ADR bit set.
bool adr = 7;
// Data-rate.
uint32 dr = 8;
// Frame counter.
uint32 f_cnt = 9;
// Frame port.
uint32 f_port = 10;
// FRMPayload data.
bytes data = 11;
// JSON string containing the decoded object.
// Note that this is only set when a codec is configured in the Device Profile.
string object_json = 12 [json_name = "objectJSON"];
// User-defined device tags.
map<string, string> tags = 13;
}
// JoinEvent is the message sent when a device joined the network.
// Note that this is only sent after the first received uplink after the
// device (re)activation.
message JoinEvent {
// Application ID.
uint64 application_id = 1 [json_name = "applicationID"];
// Application name.
string application_name = 2;
// Device name.
string device_name = 3;
// Device EUI.
bytes dev_eui = 4 [json_name = "devEUI"];
// Device address.
bytes dev_addr = 5;
// Receiving gateway RX info.
repeated gw.UplinkRXInfo rx_info = 6;
// TX info.
gw.UplinkTXInfo tx_info = 7;
// Data-rate.
uint32 dr = 8;
// User-defined device tags.
map<string, string> tags = 9;
}
// AckEvent is the message sent when a confirmation on a confirmed downlink
// has been received -or- when the downlink timed out.
message AckEvent {
// Application ID.
uint64 application_id = 1 [json_name = "applicationID"];
// Application name.
string application_name = 2;
// Device name.
string device_name = 3;
// Device EUI.
bytes dev_eui = 4 [json_name = "devEUI"];
// Frame was acknowledged.
bool acknowledged = 5;
// Downlink frame counter to which the acknowledgement relates.
uint32 f_cnt = 6;
// User-defined device tags.
map<string, string> tags = 7;
}
// TxAckEvent is the message sent when a downlink was acknowledged by the gateway
// for transmission. As a downlink can be scheduled in the future, this event
// does not confirm that the message has already been transmitted.
message TxAckEvent {
// Application ID.
uint64 application_id = 1 [json_name = "applicationID"];
// Application name.
string application_name = 2;
// Device name.
string device_name = 3;
// Device EUI.
bytes dev_eui = 4 [json_name = "devEUI"];
// Downlink frame-counter.
uint32 f_cnt = 5;
// User-defined device tags.
map<string, string> tags = 6;
}
// ErrorEvent is the message sent when an error occurred.
message ErrorEvent {
// Application ID.
uint64 application_id = 1 [json_name = "applicationID"];
// Application name.
string application_name = 2;
// Device name.
string device_name = 3;
// Device EUI.
bytes dev_eui = 4 [json_name = "devEUI"];
// Error type.
ErrorType type = 5;
// Error message.
string error = 6;
// Downlink frame-counter (in case the downlink is related to a scheduled downlink).
uint32 f_cnt = 7;
// User-defined device tags.
map<string, string> tags = 8;
}
// StatusEvent is the message sent when a device-status mac-command was sent
// by the device.
message StatusEvent {
// Application ID.
uint64 application_id = 1 [json_name = "applicationID"];
// Application name.
string application_name = 2;
// Device name.
string device_name = 3;
// Device EUI.
bytes dev_eui = 4 [json_name = "devEUI"];
// The demodulation signal-to-noise ratio in dB for the last successfully
// received device-status request by the Network Server.
uint32 margin = 5;
// Device is connected to an external power source.
bool external_power_source = 6;
// Battery level is not available.
bool battery_level_unavailable = 7;
// Battery level.
float battery_level = 8;
// User-defined device tags.
map<string, string> tags = 9;
}
// LocationEvent is the message sent when a geolocation resolve was returned.
message LocationEvent {
// Application ID.
uint64 application_id = 1 [json_name = "applicationID"];
// Application name.
string application_name = 2;
// Device name.
string device_name = 3;
// Device EUI.
bytes dev_eui = 4 [json_name = "devEUI"];
// Location.
common.Location location = 5;
// User-defined device tags.
map<string, string> tags = 6;
// Uplink IDs used for geolocation.
repeated bytes uplink_ids = 7 [json_name = "uplinkIDs"];
}
You can’t perform that action at this time.