-
Notifications
You must be signed in to change notification settings - Fork 82
/
integration.proto
248 lines (176 loc) · 5.77 KB
/
integration.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
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"];
}