zigbee-herdsman 0.28.0 → 0.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/.babelrc.js +0 -4
  2. package/.release-please-manifest.json +1 -1
  3. package/CHANGELOG.md +23 -0
  4. package/dist/adapter/adapter.js +10 -6
  5. package/dist/adapter/adapter.js.map +1 -1
  6. package/dist/adapter/deconz/adapter/deconzAdapter.js +10 -4
  7. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  8. package/dist/adapter/deconz/driver/driver.js +20 -4
  9. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  10. package/dist/adapter/deconz/driver/parser.js +2 -0
  11. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  12. package/dist/adapter/ezsp/adapter/backup.js +3 -1
  13. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  14. package/dist/adapter/ezsp/adapter/ezspAdapter.js +6 -0
  15. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  16. package/dist/adapter/ezsp/driver/driver.js +16 -5
  17. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  18. package/dist/adapter/ezsp/driver/ezsp.js +18 -4
  19. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  20. package/dist/adapter/ezsp/driver/multicast.js +6 -1
  21. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  22. package/dist/adapter/ezsp/driver/parser.js +1 -0
  23. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  24. package/dist/adapter/ezsp/driver/types/basic.js +16 -16
  25. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  26. package/dist/adapter/ezsp/driver/types/named.js +1493 -1492
  27. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  28. package/dist/adapter/ezsp/driver/types/struct.js +561 -509
  29. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  30. package/dist/adapter/ezsp/driver/uart.js +11 -3
  31. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  32. package/dist/adapter/ezsp/driver/utils/index.js +7 -2
  33. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  34. package/dist/adapter/serialPort.js +2 -2
  35. package/dist/adapter/serialPort.js.map +1 -1
  36. package/dist/adapter/z-stack/adapter/adapter-backup.js +15 -14
  37. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  38. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +4 -4
  39. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  40. package/dist/adapter/z-stack/adapter/manager.js +12 -7
  41. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  42. package/dist/adapter/z-stack/adapter/zStackAdapter.js +14 -3
  43. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  44. package/dist/adapter/z-stack/structs/struct.js +7 -6
  45. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  46. package/dist/adapter/z-stack/structs/table.js +6 -4
  47. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  48. package/dist/adapter/z-stack/unpi/frame.js +6 -0
  49. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  50. package/dist/adapter/z-stack/unpi/parser.js +1 -0
  51. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  52. package/dist/adapter/z-stack/znp/znp.js +11 -0
  53. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  54. package/dist/adapter/z-stack/znp/zpiObject.js +6 -0
  55. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  56. package/dist/adapter/zigate/adapter/zigateAdapter.js +5 -0
  57. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  58. package/dist/adapter/zigate/driver/frame.js +8 -8
  59. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  60. package/dist/adapter/zigate/driver/ziGateObject.js +4 -0
  61. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  62. package/dist/adapter/zigate/driver/zigate.js +14 -0
  63. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  64. package/dist/buffalo/buffalo.js +2 -0
  65. package/dist/buffalo/buffalo.js.map +1 -1
  66. package/dist/controller/controller.js +19 -2
  67. package/dist/controller/controller.js.map +1 -1
  68. package/dist/controller/database.js +2 -0
  69. package/dist/controller/database.js.map +1 -1
  70. package/dist/controller/greenPower.js +1 -0
  71. package/dist/controller/greenPower.js.map +1 -1
  72. package/dist/controller/helpers/request.js +37 -29
  73. package/dist/controller/helpers/request.js.map +1 -1
  74. package/dist/controller/helpers/requestQueue.js +4 -2
  75. package/dist/controller/helpers/requestQueue.js.map +1 -1
  76. package/dist/controller/helpers/zclFrameConverter.js +1 -2
  77. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  78. package/dist/controller/helpers/zclTransactionSequenceNumber.js +1 -1
  79. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  80. package/dist/controller/model/device.js +47 -23
  81. package/dist/controller/model/device.js.map +1 -1
  82. package/dist/controller/model/endpoint.d.ts.map +1 -1
  83. package/dist/controller/model/endpoint.js +21 -12
  84. package/dist/controller/model/endpoint.js.map +1 -1
  85. package/dist/controller/model/entity.js +2 -2
  86. package/dist/controller/model/entity.js.map +1 -1
  87. package/dist/controller/model/group.js +10 -7
  88. package/dist/controller/model/group.js.map +1 -1
  89. package/dist/controller/touchlink.js +2 -0
  90. package/dist/controller/touchlink.js.map +1 -1
  91. package/dist/utils/backup.js +7 -9
  92. package/dist/utils/backup.js.map +1 -1
  93. package/dist/utils/queue.js +2 -0
  94. package/dist/utils/queue.js.map +1 -1
  95. package/dist/utils/waitress.js +4 -0
  96. package/dist/utils/waitress.js.map +1 -1
  97. package/dist/zcl/buffaloZcl.js +1 -1
  98. package/dist/zcl/buffaloZcl.js.map +1 -1
  99. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  100. package/dist/zcl/definition/cluster.js +33 -0
  101. package/dist/zcl/definition/cluster.js.map +1 -1
  102. package/dist/zcl/utils.js +4 -5
  103. package/dist/zcl/utils.js.map +1 -1
  104. package/dist/zcl/zclFrame.js +4 -0
  105. package/dist/zcl/zclFrame.js.map +1 -1
  106. package/dist/zcl/zclStatusError.js +1 -0
  107. package/dist/zcl/zclStatusError.js.map +1 -1
  108. package/package.json +1 -4
  109. package/tsconfig.json +3 -2
@@ -54,569 +54,610 @@ class EzspStruct {
54
54
  }
55
55
  exports.EzspStruct = EzspStruct;
56
56
  class EmberNetworkParameters extends EzspStruct {
57
+ extendedPanId;
58
+ panId;
59
+ radioTxPower;
60
+ radioChannel;
61
+ joinMethod;
62
+ nwkManagerId;
63
+ nwkUpdateId;
64
+ channels;
65
+ static _fields = [
66
+ // The network's extended PAN identifier.
67
+ ['extendedPanId', basic.fixed_list(8, basic.uint8_t)],
68
+ // The network's PAN identifier.
69
+ ['panId', basic.uint16_t],
70
+ // A power setting, in dBm.
71
+ ['radioTxPower', basic.uint8_t],
72
+ // A radio channel.
73
+ ['radioChannel', basic.uint8_t],
74
+ // The method used to initially join the network.
75
+ ['joinMethod', named.EmberJoinMethod],
76
+ // NWK Manager ID. The ID of the network manager in the current network.
77
+ // This may only be set at joining when using USE_NWK_COMMISSIONING as
78
+ // the join method.
79
+ ['nwkManagerId', named.EmberNodeId],
80
+ // NWK Update ID. The value of the ZigBee nwkUpdateId known by the
81
+ // stack. This is used to determine the newest instance of the network
82
+ // after a PAN ID or channel change. This may only be set at joining
83
+ // when using USE_NWK_COMMISSIONING as the join method.
84
+ ['nwkUpdateId', basic.uint8_t],
85
+ // NWK channel mask. The list of preferred channels that the NWK manager
86
+ // has told this device to use when searching for the network. This may
87
+ // only be set at joining when using USE_NWK_COMMISSIONING as the join
88
+ // method.
89
+ ['channels', basic.uint32_t],
90
+ ];
57
91
  }
58
92
  exports.EmberNetworkParameters = EmberNetworkParameters;
59
- EmberNetworkParameters._fields = [
60
- // The network's extended PAN identifier.
61
- ['extendedPanId', basic.fixed_list(8, basic.uint8_t)],
62
- // The network's PAN identifier.
63
- ['panId', basic.uint16_t],
64
- // A power setting, in dBm.
65
- ['radioTxPower', basic.uint8_t],
66
- // A radio channel.
67
- ['radioChannel', basic.uint8_t],
68
- // The method used to initially join the network.
69
- ['joinMethod', named.EmberJoinMethod],
70
- // NWK Manager ID. The ID of the network manager in the current network.
71
- // This may only be set at joining when using USE_NWK_COMMISSIONING as
72
- // the join method.
73
- ['nwkManagerId', named.EmberNodeId],
74
- // NWK Update ID. The value of the ZigBee nwkUpdateId known by the
75
- // stack. This is used to determine the newest instance of the network
76
- // after a PAN ID or channel change. This may only be set at joining
77
- // when using USE_NWK_COMMISSIONING as the join method.
78
- ['nwkUpdateId', basic.uint8_t],
79
- // NWK channel mask. The list of preferred channels that the NWK manager
80
- // has told this device to use when searching for the network. This may
81
- // only be set at joining when using USE_NWK_COMMISSIONING as the join
82
- // method.
83
- ['channels', basic.uint32_t],
84
- ];
85
93
  class EmberZigbeeNetwork extends EzspStruct {
94
+ // The parameters of a ZigBee network.
95
+ static _fields = [
96
+ // The 802.15.4 channel associated with the network.
97
+ ['channel', basic.uint8_t],
98
+ // The network's PAN identifier.
99
+ ['panId', basic.uint16_t],
100
+ // The network's extended PAN identifier.
101
+ ['extendedPanId', basic.fixed_list(8, basic.uint8_t)],
102
+ // Whether the network is allowing MAC associations.
103
+ ['allowingJoin', named.Bool],
104
+ // The Stack Profile associated with the network.
105
+ ['stackProfile', basic.uint8_t],
106
+ // The instance of the Network.
107
+ ['nwkUpdateId', basic.uint8_t],
108
+ ];
86
109
  }
87
110
  exports.EmberZigbeeNetwork = EmberZigbeeNetwork;
88
- // The parameters of a ZigBee network.
89
- EmberZigbeeNetwork._fields = [
90
- // The 802.15.4 channel associated with the network.
91
- ['channel', basic.uint8_t],
92
- // The network's PAN identifier.
93
- ['panId', basic.uint16_t],
94
- // The network's extended PAN identifier.
95
- ['extendedPanId', basic.fixed_list(8, basic.uint8_t)],
96
- // Whether the network is allowing MAC associations.
97
- ['allowingJoin', named.Bool],
98
- // The Stack Profile associated with the network.
99
- ['stackProfile', basic.uint8_t],
100
- // The instance of the Network.
101
- ['nwkUpdateId', basic.uint8_t],
102
- ];
103
111
  class EmberApsFrame extends EzspStruct {
112
+ profileId;
113
+ sequence;
114
+ clusterId;
115
+ sourceEndpoint;
116
+ destinationEndpoint;
117
+ groupId;
118
+ options;
119
+ // ZigBee APS frame parameters.
120
+ static _fields = [
121
+ // The application profile ID that describes the format of the message.
122
+ ['profileId', basic.uint16_t],
123
+ // The cluster ID for this message.
124
+ ['clusterId', basic.uint16_t],
125
+ // The source endpoint.
126
+ ['sourceEndpoint', basic.uint8_t],
127
+ // The destination endpoint.
128
+ ['destinationEndpoint', basic.uint8_t],
129
+ // A bitmask of options.
130
+ ['options', named.EmberApsOption],
131
+ // The group ID for this message, if it is multicast mode.
132
+ ['groupId', basic.uint16_t],
133
+ // The sequence number.
134
+ ['sequence', basic.uint8_t],
135
+ ];
104
136
  }
105
137
  exports.EmberApsFrame = EmberApsFrame;
106
- // ZigBee APS frame parameters.
107
- EmberApsFrame._fields = [
108
- // The application profile ID that describes the format of the message.
109
- ['profileId', basic.uint16_t],
110
- // The cluster ID for this message.
111
- ['clusterId', basic.uint16_t],
112
- // The source endpoint.
113
- ['sourceEndpoint', basic.uint8_t],
114
- // The destination endpoint.
115
- ['destinationEndpoint', basic.uint8_t],
116
- // A bitmask of options.
117
- ['options', named.EmberApsOption],
118
- // The group ID for this message, if it is multicast mode.
119
- ['groupId', basic.uint16_t],
120
- // The sequence number.
121
- ['sequence', basic.uint8_t],
122
- ];
123
138
  class EmberBindingTableEntry extends EzspStruct {
139
+ // An entry in the binding table.
140
+ static _fields = [
141
+ // The type of binding.
142
+ ['type', named.EmberBindingType],
143
+ // The endpoint on the local node.
144
+ ['local', basic.uint8_t],
145
+ // A cluster ID that matches one from the local endpoint's simple
146
+ // descriptor.This cluster ID is set by the provisioning application to
147
+ // indicate which part an endpoint's functionality is bound to this
148
+ // particular remote node and is used to distinguish between unicast and
149
+ // multicast bindings.Note that a binding can be used to send messages
150
+ // with any cluster ID, not just that listed in the binding.
151
+ ['clusterId', basic.uint16_t],
152
+ // The endpoint on the remote node [specified by identifier].
153
+ ['remote', basic.uint8_t],
154
+ // A 64- bit identifier.This is either the destination EUI64 [for
155
+ // unicasts] or the 64- bit group address [for multicasts].
156
+ ['identifier', named.EmberEUI64],
157
+ // The index of the network the binding belongs to.
158
+ ['networkIndex', basic.uint8_t],
159
+ ];
124
160
  }
125
161
  exports.EmberBindingTableEntry = EmberBindingTableEntry;
126
- // An entry in the binding table.
127
- EmberBindingTableEntry._fields = [
128
- // The type of binding.
129
- ['type', named.EmberBindingType],
130
- // The endpoint on the local node.
131
- ['local', basic.uint8_t],
132
- // A cluster ID that matches one from the local endpoint's simple
133
- // descriptor.This cluster ID is set by the provisioning application to
134
- // indicate which part an endpoint's functionality is bound to this
135
- // particular remote node and is used to distinguish between unicast and
136
- // multicast bindings.Note that a binding can be used to send messages
137
- // with any cluster ID, not just that listed in the binding.
138
- ['clusterId', basic.uint16_t],
139
- // The endpoint on the remote node [specified by identifier].
140
- ['remote', basic.uint8_t],
141
- // A 64- bit identifier.This is either the destination EUI64 [for
142
- // unicasts] or the 64- bit group address [for multicasts].
143
- ['identifier', named.EmberEUI64],
144
- // The index of the network the binding belongs to.
145
- ['networkIndex', basic.uint8_t],
146
- ];
147
162
  class EmberMulticastTableEntry extends EzspStruct {
163
+ multicastId;
164
+ endpoint;
165
+ networkIndex;
166
+ // A multicast table entry indicates that a particular endpoint is a member
167
+ // of a particular multicast group.Only devices with an endpoint in a
168
+ // multicast group will receive messages sent to that multicast group.
169
+ static _fields = [
170
+ // The multicast group ID.
171
+ ['multicastId', named.EmberMulticastId],
172
+ // The endpoint that is a member, or 0 if this entry is not in use[the
173
+ // ZDO is not a member of any multicast groups.]
174
+ ['endpoint', basic.uint8_t],
175
+ // The network index of the network the entry is related to.
176
+ ['networkIndex', basic.uint8_t],
177
+ ];
148
178
  }
149
179
  exports.EmberMulticastTableEntry = EmberMulticastTableEntry;
150
- // A multicast table entry indicates that a particular endpoint is a member
151
- // of a particular multicast group.Only devices with an endpoint in a
152
- // multicast group will receive messages sent to that multicast group.
153
- EmberMulticastTableEntry._fields = [
154
- // The multicast group ID.
155
- ['multicastId', named.EmberMulticastId],
156
- // The endpoint that is a member, or 0 if this entry is not in use[the
157
- // ZDO is not a member of any multicast groups.]
158
- ['endpoint', basic.uint8_t],
159
- // The network index of the network the entry is related to.
160
- ['networkIndex', basic.uint8_t],
161
- ];
162
180
  class EmberKeyData extends EzspStruct {
181
+ contents;
182
+ // A 128- bit key.
183
+ static _fields = [
184
+ // The key data.
185
+ ['contents', basic.fixed_list(16, basic.uint8_t)],
186
+ ];
163
187
  }
164
188
  exports.EmberKeyData = EmberKeyData;
165
- // A 128- bit key.
166
- EmberKeyData._fields = [
167
- // The key data.
168
- ['contents', basic.fixed_list(16, basic.uint8_t)],
169
- ];
170
189
  class EmberCertificateData extends EzspStruct {
190
+ contents;
191
+ // The implicit certificate used in CBKE.
192
+ static _fields = [
193
+ // The certificate data.
194
+ ['contents', basic.fixed_list(48, basic.uint8_t)],
195
+ ];
171
196
  }
172
197
  exports.EmberCertificateData = EmberCertificateData;
173
- // The implicit certificate used in CBKE.
174
- EmberCertificateData._fields = [
175
- // The certificate data.
176
- ['contents', basic.fixed_list(48, basic.uint8_t)],
177
- ];
178
198
  class EmberPublicKeyData extends EzspStruct {
199
+ contents;
200
+ // The public key data used in CBKE.
201
+ static _fields = [
202
+ // The public key data.
203
+ ['contents', basic.fixed_list(22, basic.uint8_t)],
204
+ ];
179
205
  }
180
206
  exports.EmberPublicKeyData = EmberPublicKeyData;
181
- // The public key data used in CBKE.
182
- EmberPublicKeyData._fields = [
183
- // The public key data.
184
- ['contents', basic.fixed_list(22, basic.uint8_t)],
185
- ];
186
207
  class EmberPrivateKeyData extends EzspStruct {
208
+ contents;
209
+ // The private key data used in CBKE.
210
+ static _fields = [
211
+ // The private key data.
212
+ ['contents', basic.fixed_list(21, basic.uint8_t)],
213
+ ];
187
214
  }
188
215
  exports.EmberPrivateKeyData = EmberPrivateKeyData;
189
- // The private key data used in CBKE.
190
- EmberPrivateKeyData._fields = [
191
- // The private key data.
192
- ['contents', basic.fixed_list(21, basic.uint8_t)],
193
- ];
194
216
  class EmberSmacData extends EzspStruct {
217
+ // The Shared Message Authentication Code data used in CBKE.
218
+ static _fields = [
219
+ // The Shared Message Authentication Code data.
220
+ ['contents', basic.fixed_list(16, basic.uint8_t)],
221
+ ];
195
222
  }
196
223
  exports.EmberSmacData = EmberSmacData;
197
- // The Shared Message Authentication Code data used in CBKE.
198
- EmberSmacData._fields = [
199
- // The Shared Message Authentication Code data.
200
- ['contents', basic.fixed_list(16, basic.uint8_t)],
201
- ];
202
224
  class EmberSignatureData extends EzspStruct {
225
+ // An ECDSA signature
226
+ static _fields = [
227
+ // The signature data.
228
+ ['contents', basic.fixed_list(42, basic.uint8_t)],
229
+ ];
203
230
  }
204
231
  exports.EmberSignatureData = EmberSignatureData;
205
- // An ECDSA signature
206
- EmberSignatureData._fields = [
207
- // The signature data.
208
- ['contents', basic.fixed_list(42, basic.uint8_t)],
209
- ];
210
232
  class EmberCertificate283k1Data extends EzspStruct {
233
+ // The implicit certificate used in CBKE.
234
+ static _fields = [
235
+ // The 283k1 certificate data.
236
+ ['contents', basic.fixed_list(74, basic.uint8_t)],
237
+ ];
211
238
  }
212
239
  exports.EmberCertificate283k1Data = EmberCertificate283k1Data;
213
- // The implicit certificate used in CBKE.
214
- EmberCertificate283k1Data._fields = [
215
- // The 283k1 certificate data.
216
- ['contents', basic.fixed_list(74, basic.uint8_t)],
217
- ];
218
240
  class EmberPublicKey283k1Data extends EzspStruct {
241
+ // The public key data used in CBKE.
242
+ static _fields = [
243
+ // The 283k1 public key data.
244
+ ['contents', basic.fixed_list(37, basic.uint8_t)],
245
+ ];
219
246
  }
220
247
  exports.EmberPublicKey283k1Data = EmberPublicKey283k1Data;
221
- // The public key data used in CBKE.
222
- EmberPublicKey283k1Data._fields = [
223
- // The 283k1 public key data.
224
- ['contents', basic.fixed_list(37, basic.uint8_t)],
225
- ];
226
248
  class EmberPrivateKey283k1Data extends EzspStruct {
249
+ // The private key data used in CBKE.
250
+ static _fields = [
251
+ // The 283k1 private key data.
252
+ ['contents', basic.fixed_list(36, basic.uint8_t)],
253
+ ];
227
254
  }
228
255
  exports.EmberPrivateKey283k1Data = EmberPrivateKey283k1Data;
229
- // The private key data used in CBKE.
230
- EmberPrivateKey283k1Data._fields = [
231
- // The 283k1 private key data.
232
- ['contents', basic.fixed_list(36, basic.uint8_t)],
233
- ];
234
256
  class EmberSignature283k1Data extends EzspStruct {
257
+ // An ECDSA signature
258
+ static _fields = [
259
+ // The 283k1 signature data.
260
+ ['contents', basic.fixed_list(72, basic.uint8_t)],
261
+ ];
235
262
  }
236
263
  exports.EmberSignature283k1Data = EmberSignature283k1Data;
237
- // An ECDSA signature
238
- EmberSignature283k1Data._fields = [
239
- // The 283k1 signature data.
240
- ['contents', basic.fixed_list(72, basic.uint8_t)],
241
- ];
242
264
  class EmberMessageDigest extends EzspStruct {
265
+ // The calculated digest of a message
266
+ static _fields = [
267
+ // The calculated digest of a message.
268
+ ['contents', basic.fixed_list(16, basic.uint8_t)],
269
+ ];
243
270
  }
244
271
  exports.EmberMessageDigest = EmberMessageDigest;
245
- // The calculated digest of a message
246
- EmberMessageDigest._fields = [
247
- // The calculated digest of a message.
248
- ['contents', basic.fixed_list(16, basic.uint8_t)],
249
- ];
250
272
  class EmberAesMmoHashContext extends EzspStruct {
273
+ result;
274
+ length;
275
+ // The hash context for an ongoing hash operation.
276
+ static _fields = [
277
+ // The result of ongoing the hash operation.
278
+ ['result', basic.fixed_list(16, basic.uint8_t)],
279
+ // The total length of the data that has been hashed so far.
280
+ ['length', basic.uint32_t],
281
+ ];
251
282
  }
252
283
  exports.EmberAesMmoHashContext = EmberAesMmoHashContext;
253
- // The hash context for an ongoing hash operation.
254
- EmberAesMmoHashContext._fields = [
255
- // The result of ongoing the hash operation.
256
- ['result', basic.fixed_list(16, basic.uint8_t)],
257
- // The total length of the data that has been hashed so far.
258
- ['length', basic.uint32_t],
259
- ];
260
284
  class EmberNeighborTableEntry extends EzspStruct {
285
+ // A neighbor table entry stores information about the reliability of RF
286
+ // links to and from neighboring nodes.
287
+ static _fields = [
288
+ // The neighbor's two byte network id
289
+ ['shortId', basic.uint16_t],
290
+ // An exponentially weighted moving average of the link quality values
291
+ // of incoming packets from this neighbor as reported by the PHY.
292
+ ['averageLqi', basic.uint8_t],
293
+ // The incoming cost for this neighbor, computed from the average LQI.
294
+ // Values range from 1 for a good link to 7 for a bad link.
295
+ ['inCost', basic.uint8_t],
296
+ // The outgoing cost for this neighbor, obtained from the most recently
297
+ // received neighbor exchange message from the neighbor. A value of zero
298
+ // means that a neighbor exchange message from the neighbor has not been
299
+ // received recently enough, or that our id was not present in the most
300
+ // recently received one.
301
+ ['outCost', basic.uint8_t],
302
+ // The number of aging periods elapsed since a link status message was
303
+ // last received from this neighbor. The aging period is 16 seconds.
304
+ ['age', basic.uint8_t],
305
+ // The 8 byte EUI64 of the neighbor.
306
+ ['longId', named.EmberEUI64],
307
+ ];
261
308
  }
262
309
  exports.EmberNeighborTableEntry = EmberNeighborTableEntry;
263
- // A neighbor table entry stores information about the reliability of RF
264
- // links to and from neighboring nodes.
265
- EmberNeighborTableEntry._fields = [
266
- // The neighbor's two byte network id
267
- ['shortId', basic.uint16_t],
268
- // An exponentially weighted moving average of the link quality values
269
- // of incoming packets from this neighbor as reported by the PHY.
270
- ['averageLqi', basic.uint8_t],
271
- // The incoming cost for this neighbor, computed from the average LQI.
272
- // Values range from 1 for a good link to 7 for a bad link.
273
- ['inCost', basic.uint8_t],
274
- // The outgoing cost for this neighbor, obtained from the most recently
275
- // received neighbor exchange message from the neighbor. A value of zero
276
- // means that a neighbor exchange message from the neighbor has not been
277
- // received recently enough, or that our id was not present in the most
278
- // recently received one.
279
- ['outCost', basic.uint8_t],
280
- // The number of aging periods elapsed since a link status message was
281
- // last received from this neighbor. The aging period is 16 seconds.
282
- ['age', basic.uint8_t],
283
- // The 8 byte EUI64 of the neighbor.
284
- ['longId', named.EmberEUI64],
285
- ];
286
310
  class EmberRouteTableEntry extends EzspStruct {
311
+ // A route table entry stores information about the next hop along the route
312
+ // to the destination.
313
+ static _fields = [
314
+ // The short id of the destination. A value of 0xFFFF indicates the
315
+ // entry is unused.
316
+ ['destination', basic.uint16_t],
317
+ // The short id of the next hop to this destination.
318
+ ['nextHop', basic.uint16_t],
319
+ // Indicates whether this entry is active [0], being discovered [1]],
320
+ // unused [3], or validating [4].
321
+ ['status', basic.uint8_t],
322
+ // The number of seconds since this route entry was last used to send a
323
+ // packet.
324
+ ['age', basic.uint8_t],
325
+ // Indicates whether this destination is a High RAM Concentrator [2], a
326
+ // Low RAM Concentrator [1], or not a concentrator [0].
327
+ ['concentratorType', basic.uint8_t],
328
+ // For a High RAM Concentrator, indicates whether a route record is
329
+ // needed [2], has been sent [1], or is no long needed [0] because a
330
+ // source routed message from the concentrator has been received.
331
+ ['routeRecordState', basic.uint8_t],
332
+ ];
287
333
  }
288
334
  exports.EmberRouteTableEntry = EmberRouteTableEntry;
289
- // A route table entry stores information about the next hop along the route
290
- // to the destination.
291
- EmberRouteTableEntry._fields = [
292
- // The short id of the destination. A value of 0xFFFF indicates the
293
- // entry is unused.
294
- ['destination', basic.uint16_t],
295
- // The short id of the next hop to this destination.
296
- ['nextHop', basic.uint16_t],
297
- // Indicates whether this entry is active [0], being discovered [1]],
298
- // unused [3], or validating [4].
299
- ['status', basic.uint8_t],
300
- // The number of seconds since this route entry was last used to send a
301
- // packet.
302
- ['age', basic.uint8_t],
303
- // Indicates whether this destination is a High RAM Concentrator [2], a
304
- // Low RAM Concentrator [1], or not a concentrator [0].
305
- ['concentratorType', basic.uint8_t],
306
- // For a High RAM Concentrator, indicates whether a route record is
307
- // needed [2], has been sent [1], or is no long needed [0] because a
308
- // source routed message from the concentrator has been received.
309
- ['routeRecordState', basic.uint8_t],
310
- ];
311
335
  class EmberInitialSecurityState extends EzspStruct {
336
+ bitmask;
337
+ preconfiguredKey;
338
+ networkKey;
339
+ networkKeySequenceNumber;
340
+ preconfiguredTrustCenterEui64;
341
+ // The security data used to set the configuration for the stack, or the
342
+ // retrieved configuration currently in use.
343
+ static _fields = [
344
+ // A bitmask indicating the security state used to indicate what the
345
+ // security configuration will be when the device forms or joins the
346
+ // network.
347
+ ['bitmask', named.EmberInitialSecurityBitmask],
348
+ // The pre-configured Key data that should be used when forming or
349
+ // joining the network. The security bitmask must be set with the
350
+ // HAVE_PRECONFIGURED_KEY bit to indicate that the key contains valid
351
+ // data.
352
+ ['preconfiguredKey', EmberKeyData],
353
+ // The Network Key that should be used by the Trust Center when it forms
354
+ // the network, or the Network Key currently in use by a joined device.
355
+ // The security bitmask must be set with HAVE_NETWORK_KEY to indicate
356
+ // that the key contains valid data.
357
+ ['networkKey', EmberKeyData],
358
+ // The sequence number associated with the network key. This is only
359
+ // valid if the HAVE_NETWORK_KEY has been set in the security bitmask.
360
+ ['networkKeySequenceNumber', basic.uint8_t],
361
+ // This is the long address of the trust center on the network that will
362
+ // be joined. It is usually NOT set prior to joining the network and
363
+ // instead it is learned during the joining message exchange. This field
364
+ // is only examined if HAVE_TRUST_CENTER_EUI64 is set in the
365
+ // EmberInitialSecurityState::bitmask. Most devices should clear that
366
+ // bit and leave this field alone. This field must be set when using
367
+ // commissioning mode.
368
+ ['preconfiguredTrustCenterEui64', named.EmberEUI64],
369
+ ];
312
370
  }
313
371
  exports.EmberInitialSecurityState = EmberInitialSecurityState;
314
- // The security data used to set the configuration for the stack, or the
315
- // retrieved configuration currently in use.
316
- EmberInitialSecurityState._fields = [
317
- // A bitmask indicating the security state used to indicate what the
318
- // security configuration will be when the device forms or joins the
319
- // network.
320
- ['bitmask', named.EmberInitialSecurityBitmask],
321
- // The pre-configured Key data that should be used when forming or
322
- // joining the network. The security bitmask must be set with the
323
- // HAVE_PRECONFIGURED_KEY bit to indicate that the key contains valid
324
- // data.
325
- ['preconfiguredKey', EmberKeyData],
326
- // The Network Key that should be used by the Trust Center when it forms
327
- // the network, or the Network Key currently in use by a joined device.
328
- // The security bitmask must be set with HAVE_NETWORK_KEY to indicate
329
- // that the key contains valid data.
330
- ['networkKey', EmberKeyData],
331
- // The sequence number associated with the network key. This is only
332
- // valid if the HAVE_NETWORK_KEY has been set in the security bitmask.
333
- ['networkKeySequenceNumber', basic.uint8_t],
334
- // This is the long address of the trust center on the network that will
335
- // be joined. It is usually NOT set prior to joining the network and
336
- // instead it is learned during the joining message exchange. This field
337
- // is only examined if HAVE_TRUST_CENTER_EUI64 is set in the
338
- // EmberInitialSecurityState::bitmask. Most devices should clear that
339
- // bit and leave this field alone. This field must be set when using
340
- // commissioning mode.
341
- ['preconfiguredTrustCenterEui64', named.EmberEUI64],
342
- ];
343
372
  class EmberCurrentSecurityState extends EzspStruct {
373
+ // The security options and information currently used by the stack.
374
+ static _fields = [
375
+ // A bitmask indicating the security options currently in use by a
376
+ // device joined in the network.
377
+ ['bitmask', named.EmberCurrentSecurityBitmask],
378
+ // The IEEE Address of the Trust Center device.
379
+ ['trustCenterLongAddress', named.EmberEUI64],
380
+ ];
344
381
  }
345
382
  exports.EmberCurrentSecurityState = EmberCurrentSecurityState;
346
- // The security options and information currently used by the stack.
347
- EmberCurrentSecurityState._fields = [
348
- // A bitmask indicating the security options currently in use by a
349
- // device joined in the network.
350
- ['bitmask', named.EmberCurrentSecurityBitmask],
351
- // The IEEE Address of the Trust Center device.
352
- ['trustCenterLongAddress', named.EmberEUI64],
353
- ];
354
383
  class EmberKeyStruct extends EzspStruct {
384
+ key;
385
+ outgoingFrameCounter;
386
+ sequenceNumber;
387
+ // A structure containing a key and its associated data.
388
+ static _fields = [
389
+ // A bitmask indicating the presence of data within the various fields
390
+ // in the structure.
391
+ ['bitmask', named.EmberKeyStructBitmask],
392
+ // The type of the key.
393
+ ['type', named.EmberKeyType],
394
+ // The actual key data.
395
+ ['key', EmberKeyData],
396
+ // The outgoing frame counter associated with the key.
397
+ ['outgoingFrameCounter', basic.uint32_t],
398
+ // The frame counter of the partner device associated with the key.
399
+ ['incomingFrameCounter', basic.uint32_t],
400
+ // The sequence number associated with the key.
401
+ ['sequenceNumber', basic.uint8_t],
402
+ // The IEEE address of the partner device also in possession of the key.
403
+ ['partnerEUI64', named.EmberEUI64],
404
+ ];
355
405
  }
356
406
  exports.EmberKeyStruct = EmberKeyStruct;
357
- // A structure containing a key and its associated data.
358
- EmberKeyStruct._fields = [
359
- // A bitmask indicating the presence of data within the various fields
360
- // in the structure.
361
- ['bitmask', named.EmberKeyStructBitmask],
362
- // The type of the key.
363
- ['type', named.EmberKeyType],
364
- // The actual key data.
365
- ['key', EmberKeyData],
366
- // The outgoing frame counter associated with the key.
367
- ['outgoingFrameCounter', basic.uint32_t],
368
- // The frame counter of the partner device associated with the key.
369
- ['incomingFrameCounter', basic.uint32_t],
370
- // The sequence number associated with the key.
371
- ['sequenceNumber', basic.uint8_t],
372
- // The IEEE address of the partner device also in possession of the key.
373
- ['partnerEUI64', named.EmberEUI64],
374
- ];
375
407
  class EmberNetworkInitStruct extends EzspStruct {
408
+ // Network Initialization parameters.
409
+ static _fields = [
410
+ // Configuration options for network init.
411
+ ['bitmask', named.EmberNetworkInitBitmask],
412
+ ];
376
413
  }
377
414
  exports.EmberNetworkInitStruct = EmberNetworkInitStruct;
378
- // Network Initialization parameters.
379
- EmberNetworkInitStruct._fields = [
380
- // Configuration options for network init.
381
- ['bitmask', named.EmberNetworkInitBitmask],
382
- ];
383
415
  class EmberZllSecurityAlgorithmData extends EzspStruct {
416
+ // Data associated with the ZLL security algorithm.
417
+ static _fields = [
418
+ // Transaction identifier.
419
+ ['transactionId', basic.uint32_t],
420
+ // Response identifier.
421
+ ['responseId', basic.uint32_t],
422
+ // Bitmask.
423
+ ['bitmask', basic.uint16_t],
424
+ ];
384
425
  }
385
426
  exports.EmberZllSecurityAlgorithmData = EmberZllSecurityAlgorithmData;
386
- // Data associated with the ZLL security algorithm.
387
- EmberZllSecurityAlgorithmData._fields = [
388
- // Transaction identifier.
389
- ['transactionId', basic.uint32_t],
390
- // Response identifier.
391
- ['responseId', basic.uint32_t],
392
- // Bitmask.
393
- ['bitmask', basic.uint16_t],
394
- ];
395
427
  class EmberZllNetwork extends EzspStruct {
428
+ // The parameters of a ZLL network.
429
+ static _fields = [
430
+ // The parameters of a ZigBee network.
431
+ ['zigbeeNetwork', EmberZigbeeNetwork],
432
+ // Data associated with the ZLL security algorithm.
433
+ ['securityAlgorithm', EmberZllSecurityAlgorithmData],
434
+ // Associated EUI64.
435
+ ['eui64', named.EmberEUI64],
436
+ // The node id.
437
+ ['nodeId', named.EmberNodeId],
438
+ // The ZLL state.
439
+ ['state', named.EmberZllState],
440
+ // The node type.
441
+ ['nodeType', named.EmberNodeType],
442
+ // The number of sub devices.
443
+ ['numberSubDevices', basic.uint8_t],
444
+ // The total number of group identifiers.
445
+ ['totalGroupIdentifiers', basic.uint8_t],
446
+ // RSSI correction value.
447
+ ['rssiCorrection', basic.uint8_t],
448
+ ];
396
449
  }
397
450
  exports.EmberZllNetwork = EmberZllNetwork;
398
- // The parameters of a ZLL network.
399
- EmberZllNetwork._fields = [
400
- // The parameters of a ZigBee network.
401
- ['zigbeeNetwork', EmberZigbeeNetwork],
402
- // Data associated with the ZLL security algorithm.
403
- ['securityAlgorithm', EmberZllSecurityAlgorithmData],
404
- // Associated EUI64.
405
- ['eui64', named.EmberEUI64],
406
- // The node id.
407
- ['nodeId', named.EmberNodeId],
408
- // The ZLL state.
409
- ['state', named.EmberZllState],
410
- // The node type.
411
- ['nodeType', named.EmberNodeType],
412
- // The number of sub devices.
413
- ['numberSubDevices', basic.uint8_t],
414
- // The total number of group identifiers.
415
- ['totalGroupIdentifiers', basic.uint8_t],
416
- // RSSI correction value.
417
- ['rssiCorrection', basic.uint8_t],
418
- ];
419
451
  class EmberZllInitialSecurityState extends EzspStruct {
452
+ // Describes the initial security features and requirements that will be
453
+ // used when forming or joining ZLL networks.
454
+ static _fields = [
455
+ // Unused bitmask; reserved for future use.
456
+ ['bitmask', basic.uint32_t],
457
+ // The key encryption algorithm advertised by the application.
458
+ ['keyIndex', named.EmberZllKeyIndex],
459
+ // The encryption key for use by algorithms that require it.
460
+ ['encryptionKey', EmberKeyData],
461
+ // The pre-configured link key used during classical ZigBee
462
+ // commissioning.
463
+ ['preconfiguredKey', EmberKeyData],
464
+ ];
420
465
  }
421
466
  exports.EmberZllInitialSecurityState = EmberZllInitialSecurityState;
422
- // Describes the initial security features and requirements that will be
423
- // used when forming or joining ZLL networks.
424
- EmberZllInitialSecurityState._fields = [
425
- // Unused bitmask; reserved for future use.
426
- ['bitmask', basic.uint32_t],
427
- // The key encryption algorithm advertised by the application.
428
- ['keyIndex', named.EmberZllKeyIndex],
429
- // The encryption key for use by algorithms that require it.
430
- ['encryptionKey', EmberKeyData],
431
- // The pre-configured link key used during classical ZigBee
432
- // commissioning.
433
- ['preconfiguredKey', EmberKeyData],
434
- ];
435
467
  class EmberZllDeviceInfoRecord extends EzspStruct {
468
+ // Information about a specific ZLL Device.
469
+ static _fields = [
470
+ // EUI64 associated with the device.
471
+ ['ieeeAddress', named.EmberEUI64],
472
+ // Endpoint id.
473
+ ['endpointId', basic.uint8_t],
474
+ // Profile id.
475
+ ['profileId', basic.uint16_t],
476
+ // Device id.
477
+ ['deviceId', basic.uint16_t],
478
+ // Associated version.
479
+ ['version', basic.uint8_t],
480
+ // Number of relevant group ids.
481
+ ['groupIdCount', basic.uint8_t],
482
+ ];
436
483
  }
437
484
  exports.EmberZllDeviceInfoRecord = EmberZllDeviceInfoRecord;
438
- // Information about a specific ZLL Device.
439
- EmberZllDeviceInfoRecord._fields = [
440
- // EUI64 associated with the device.
441
- ['ieeeAddress', named.EmberEUI64],
442
- // Endpoint id.
443
- ['endpointId', basic.uint8_t],
444
- // Profile id.
445
- ['profileId', basic.uint16_t],
446
- // Device id.
447
- ['deviceId', basic.uint16_t],
448
- // Associated version.
449
- ['version', basic.uint8_t],
450
- // Number of relevant group ids.
451
- ['groupIdCount', basic.uint8_t],
452
- ];
453
485
  class EmberZllAddressAssignment extends EzspStruct {
486
+ // ZLL address assignment data.
487
+ static _fields = [
488
+ // Relevant node id.
489
+ ['nodeId', named.EmberNodeId],
490
+ // Minimum free node id.
491
+ ['freeNodeIdMin', named.EmberNodeId],
492
+ // Maximum free node id.
493
+ ['freeNodeIdMax', named.EmberNodeId],
494
+ // Minimum group id.
495
+ ['groupIdMin', named.EmberMulticastId],
496
+ // Maximum group id.
497
+ ['groupIdMax', named.EmberMulticastId],
498
+ // Minimum free group id.
499
+ ['freeGroupIdMin', named.EmberMulticastId],
500
+ // Maximum free group id.
501
+ ['freeGroupIdMax', named.EmberMulticastId],
502
+ ];
454
503
  }
455
504
  exports.EmberZllAddressAssignment = EmberZllAddressAssignment;
456
- // ZLL address assignment data.
457
- EmberZllAddressAssignment._fields = [
458
- // Relevant node id.
459
- ['nodeId', named.EmberNodeId],
460
- // Minimum free node id.
461
- ['freeNodeIdMin', named.EmberNodeId],
462
- // Maximum free node id.
463
- ['freeNodeIdMax', named.EmberNodeId],
464
- // Minimum group id.
465
- ['groupIdMin', named.EmberMulticastId],
466
- // Maximum group id.
467
- ['groupIdMax', named.EmberMulticastId],
468
- // Minimum free group id.
469
- ['freeGroupIdMin', named.EmberMulticastId],
470
- // Maximum free group id.
471
- ['freeGroupIdMax', named.EmberMulticastId],
472
- ];
473
505
  class EmberTokTypeStackZllData extends EzspStruct {
506
+ // Public API for ZLL stack data token.
507
+ static _fields = [
508
+ // Token bitmask.
509
+ ['bitmask', basic.uint32_t],
510
+ // Minimum free node id.
511
+ ['freeNodeIdMin', basic.uint16_t],
512
+ // Maximum free node id.
513
+ ['freeNodeIdMax', basic.uint16_t],
514
+ // Local minimum group id.
515
+ ['myGroupIdMin', basic.uint16_t],
516
+ // Minimum free group id.
517
+ ['freeGroupIdMin', basic.uint16_t],
518
+ // Maximum free group id.
519
+ ['freeGroupIdMax', basic.uint16_t],
520
+ // RSSI correction value.
521
+ ['rssiCorrection', basic.uint8_t],
522
+ ];
474
523
  }
475
524
  exports.EmberTokTypeStackZllData = EmberTokTypeStackZllData;
476
- // Public API for ZLL stack data token.
477
- EmberTokTypeStackZllData._fields = [
478
- // Token bitmask.
479
- ['bitmask', basic.uint32_t],
480
- // Minimum free node id.
481
- ['freeNodeIdMin', basic.uint16_t],
482
- // Maximum free node id.
483
- ['freeNodeIdMax', basic.uint16_t],
484
- // Local minimum group id.
485
- ['myGroupIdMin', basic.uint16_t],
486
- // Minimum free group id.
487
- ['freeGroupIdMin', basic.uint16_t],
488
- // Maximum free group id.
489
- ['freeGroupIdMax', basic.uint16_t],
490
- // RSSI correction value.
491
- ['rssiCorrection', basic.uint8_t],
492
- ];
493
525
  class EmberTokTypeStackZllSecurity extends EzspStruct {
526
+ // Public API for ZLL stack security token.
527
+ static _fields = [
528
+ // Token bitmask.
529
+ ['bitmask', basic.uint32_t],
530
+ // Key index.
531
+ ['keyIndex', basic.uint8_t],
532
+ // Encryption key.
533
+ ['encryptionKey', basic.fixed_list(16, basic.uint8_t)],
534
+ // Preconfigured key.
535
+ ['preconfiguredKey', basic.fixed_list(16, basic.uint8_t)],
536
+ ];
494
537
  }
495
538
  exports.EmberTokTypeStackZllSecurity = EmberTokTypeStackZllSecurity;
496
- // Public API for ZLL stack security token.
497
- EmberTokTypeStackZllSecurity._fields = [
498
- // Token bitmask.
499
- ['bitmask', basic.uint32_t],
500
- // Key index.
501
- ['keyIndex', basic.uint8_t],
502
- // Encryption key.
503
- ['encryptionKey', basic.fixed_list(16, basic.uint8_t)],
504
- // Preconfigured key.
505
- ['preconfiguredKey', basic.fixed_list(16, basic.uint8_t)],
506
- ];
507
539
  class EmberRf4ceVendorInfo extends EzspStruct {
540
+ // The RF4CE vendor information block.
541
+ static _fields = [
542
+ // The vendor identifier field shall contain the vendor identifier of
543
+ // the node.
544
+ ['vendorId', basic.uint16_t],
545
+ // The vendor string field shall contain the vendor string of the node.
546
+ ['vendorString', basic.fixed_list(7, basic.uint8_t)],
547
+ ];
508
548
  }
509
549
  exports.EmberRf4ceVendorInfo = EmberRf4ceVendorInfo;
510
- // The RF4CE vendor information block.
511
- EmberRf4ceVendorInfo._fields = [
512
- // The vendor identifier field shall contain the vendor identifier of
513
- // the node.
514
- ['vendorId', basic.uint16_t],
515
- // The vendor string field shall contain the vendor string of the node.
516
- ['vendorString', basic.fixed_list(7, basic.uint8_t)],
517
- ];
518
550
  class EmberRf4ceApplicationInfo extends EzspStruct {
551
+ // The RF4CE application information block.
552
+ static _fields = [
553
+ // The application capabilities field shall contain information relating
554
+ // to the capabilities of the application of the node.
555
+ ['capabilities', named.EmberRf4ceApplicationCapabilities],
556
+ // The user string field shall contain the user specified identification
557
+ // string.
558
+ ['userString', basic.fixed_list(15, basic.uint8_t)],
559
+ // The device type list field shall contain the list of device types
560
+ // supported by the node.
561
+ ['deviceTypeList', basic.fixed_list(3, basic.uint8_t)],
562
+ // The profile ID list field shall contain the list of profile
563
+ // identifiers disclosed as supported by the node.
564
+ ['profileIdList', basic.fixed_list(7, basic.uint8_t)],
565
+ ];
519
566
  }
520
567
  exports.EmberRf4ceApplicationInfo = EmberRf4ceApplicationInfo;
521
- // The RF4CE application information block.
522
- EmberRf4ceApplicationInfo._fields = [
523
- // The application capabilities field shall contain information relating
524
- // to the capabilities of the application of the node.
525
- ['capabilities', named.EmberRf4ceApplicationCapabilities],
526
- // The user string field shall contain the user specified identification
527
- // string.
528
- ['userString', basic.fixed_list(15, basic.uint8_t)],
529
- // The device type list field shall contain the list of device types
530
- // supported by the node.
531
- ['deviceTypeList', basic.fixed_list(3, basic.uint8_t)],
532
- // The profile ID list field shall contain the list of profile
533
- // identifiers disclosed as supported by the node.
534
- ['profileIdList', basic.fixed_list(7, basic.uint8_t)],
535
- ];
536
568
  class EmberRf4cePairingTableEntry extends EzspStruct {
569
+ // The internal representation of an RF4CE pairing table entry.
570
+ static _fields = [
571
+ // The link key to be used to secure this pairing link.
572
+ ['securityLinkKey', EmberKeyData],
573
+ // The IEEE address of the destination device.
574
+ ['destLongId', named.EmberEUI64],
575
+ // The frame counter last received from the recipient node.
576
+ ['frameCounter', basic.uint32_t],
577
+ // The network address to be assumed by the source device.
578
+ ['sourceNodeId', named.EmberNodeId],
579
+ // The PAN identifier of the destination device.
580
+ ['destPanId', named.EmberPanId],
581
+ // The network address of the destination device.
582
+ ['destNodeId', named.EmberNodeId],
583
+ // The vendor ID of the destination device.
584
+ ['destVendorId', basic.uint16_t],
585
+ // The list of profiles supported by the destination device.
586
+ ['destProfileIdList', basic.fixed_list(7, basic.uint8_t)],
587
+ // The length of the list of supported profiles.
588
+ ['destProfileIdListLength', basic.uint8_t],
589
+ // Info byte.
590
+ ['info', basic.uint8_t],
591
+ // The expected channel of the destination device.
592
+ ['channel', basic.uint8_t],
593
+ // The node capabilities of the recipient node.
594
+ ['capabilities', basic.uint8_t],
595
+ // Last MAC sequence number seen on this pairing link.
596
+ ['lastSeqn', basic.uint8_t],
597
+ ];
537
598
  }
538
599
  exports.EmberRf4cePairingTableEntry = EmberRf4cePairingTableEntry;
539
- // The internal representation of an RF4CE pairing table entry.
540
- EmberRf4cePairingTableEntry._fields = [
541
- // The link key to be used to secure this pairing link.
542
- ['securityLinkKey', EmberKeyData],
543
- // The IEEE address of the destination device.
544
- ['destLongId', named.EmberEUI64],
545
- // The frame counter last received from the recipient node.
546
- ['frameCounter', basic.uint32_t],
547
- // The network address to be assumed by the source device.
548
- ['sourceNodeId', named.EmberNodeId],
549
- // The PAN identifier of the destination device.
550
- ['destPanId', named.EmberPanId],
551
- // The network address of the destination device.
552
- ['destNodeId', named.EmberNodeId],
553
- // The vendor ID of the destination device.
554
- ['destVendorId', basic.uint16_t],
555
- // The list of profiles supported by the destination device.
556
- ['destProfileIdList', basic.fixed_list(7, basic.uint8_t)],
557
- // The length of the list of supported profiles.
558
- ['destProfileIdListLength', basic.uint8_t],
559
- // Info byte.
560
- ['info', basic.uint8_t],
561
- // The expected channel of the destination device.
562
- ['channel', basic.uint8_t],
563
- // The node capabilities of the recipient node.
564
- ['capabilities', basic.uint8_t],
565
- // Last MAC sequence number seen on this pairing link.
566
- ['lastSeqn', basic.uint8_t],
567
- ];
568
600
  class EmberGpAddress extends EzspStruct {
601
+ // A GP address structure.
602
+ static _fields = [
603
+ // The GPD's EUI64.
604
+ ['gpdIeeeAddress', named.EmberEUI64],
605
+ // The GPD's source ID.
606
+ ['sourceId', basic.uint32_t],
607
+ // The GPD Application ID.
608
+ ['applicationId', basic.uint8_t],
609
+ // The GPD endpoint.
610
+ ['endpoint', basic.uint8_t],
611
+ ];
569
612
  }
570
613
  exports.EmberGpAddress = EmberGpAddress;
571
- // A GP address structure.
572
- EmberGpAddress._fields = [
573
- // The GPD's EUI64.
574
- ['gpdIeeeAddress', named.EmberEUI64],
575
- // The GPD's source ID.
576
- ['sourceId', basic.uint32_t],
577
- // The GPD Application ID.
578
- ['applicationId', basic.uint8_t],
579
- // The GPD endpoint.
580
- ['endpoint', basic.uint8_t],
581
- ];
582
614
  class EmberGpSinkListEntry extends EzspStruct {
615
+ // A sink list entry
616
+ static _fields = [
617
+ // The sink list type.
618
+ ['type', basic.uint8_t],
619
+ // The EUI64 of the target sink.
620
+ ['sinkEUI', named.EmberEUI64],
621
+ // The short address of the target sink.
622
+ ['sinkNodeId', named.EmberNodeId],
623
+ ];
583
624
  }
584
625
  exports.EmberGpSinkListEntry = EmberGpSinkListEntry;
585
- // A sink list entry
586
- EmberGpSinkListEntry._fields = [
587
- // The sink list type.
588
- ['type', basic.uint8_t],
589
- // The EUI64 of the target sink.
590
- ['sinkEUI', named.EmberEUI64],
591
- // The short address of the target sink.
592
- ['sinkNodeId', named.EmberNodeId],
593
- ];
594
626
  class EmberNodeDescriptor extends EzspStruct {
627
+ static _fields = [
628
+ ['byte1', basic.uint8_t],
629
+ ['byte2', basic.uint8_t],
630
+ ['mac_capability_flags', basic.uint8_t],
631
+ ['manufacturer_code', basic.uint16_t],
632
+ ['maximum_buffer_size', basic.uint8_t],
633
+ ['maximum_incoming_transfer_size', basic.uint16_t],
634
+ ['server_mask', basic.uint16_t],
635
+ ['maximum_outgoing_transfer_size', basic.uint16_t],
636
+ ['descriptor_capability_field', basic.uint8_t],
637
+ ];
595
638
  }
596
639
  exports.EmberNodeDescriptor = EmberNodeDescriptor;
597
- EmberNodeDescriptor._fields = [
598
- ['byte1', basic.uint8_t],
599
- ['byte2', basic.uint8_t],
600
- ['mac_capability_flags', basic.uint8_t],
601
- ['manufacturer_code', basic.uint16_t],
602
- ['maximum_buffer_size', basic.uint8_t],
603
- ['maximum_incoming_transfer_size', basic.uint16_t],
604
- ['server_mask', basic.uint16_t],
605
- ['maximum_outgoing_transfer_size', basic.uint16_t],
606
- ['descriptor_capability_field', basic.uint8_t],
607
- ];
608
640
  class EmberSimpleDescriptor extends EzspStruct {
641
+ static _fields = [
642
+ ['endpoint', basic.uint8_t],
643
+ ['profileid', basic.uint16_t],
644
+ ['deviceid', basic.uint16_t],
645
+ ['deviceversion', basic.uint8_t],
646
+ ['inclusterlist', basic.LVList(basic.uint16_t)],
647
+ ['outclusterlist', basic.LVList(basic.uint16_t)],
648
+ ];
609
649
  }
610
650
  exports.EmberSimpleDescriptor = EmberSimpleDescriptor;
611
- EmberSimpleDescriptor._fields = [
612
- ['endpoint', basic.uint8_t],
613
- ['profileid', basic.uint16_t],
614
- ['deviceid', basic.uint16_t],
615
- ['deviceversion', basic.uint8_t],
616
- ['inclusterlist', basic.LVList(basic.uint16_t)],
617
- ['outclusterlist', basic.LVList(basic.uint16_t)],
618
- ];
619
651
  class EmberMultiAddress extends EzspStruct {
652
+ static fields3 = [
653
+ ['addrmode', basic.uint8_t],
654
+ ['ieee', named.EmberEUI64],
655
+ ['endpoint', basic.uint8_t],
656
+ ];
657
+ static fields1 = [
658
+ ['addrmode', basic.uint8_t],
659
+ ['nwk', named.EmberNodeId],
660
+ ];
620
661
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
621
662
  static serialize(cls, obj) {
622
663
  const addrmode = obj['addrmode'];
@@ -631,79 +672,90 @@ class EmberMultiAddress extends EzspStruct {
631
672
  }
632
673
  }
633
674
  exports.EmberMultiAddress = EmberMultiAddress;
634
- EmberMultiAddress.fields3 = [
635
- ['addrmode', basic.uint8_t],
636
- ['ieee', named.EmberEUI64],
637
- ['endpoint', basic.uint8_t],
638
- ];
639
- EmberMultiAddress.fields1 = [
640
- ['addrmode', basic.uint8_t],
641
- ['nwk', named.EmberNodeId],
642
- ];
643
675
  class EmberNeighbor extends EzspStruct {
676
+ static _fields = [
677
+ ['extendedpanid', basic.fixed_list(8, basic.uint8_t)],
678
+ ['ieee', named.EmberEUI64],
679
+ ['nodeid', named.EmberNodeId],
680
+ ['packed', basic.uint8_t],
681
+ ['permitjoining', basic.uint8_t],
682
+ ['depth', basic.uint8_t],
683
+ ['lqi', basic.uint8_t],
684
+ ];
644
685
  }
645
686
  exports.EmberNeighbor = EmberNeighbor;
646
- EmberNeighbor._fields = [
647
- ['extendedpanid', basic.fixed_list(8, basic.uint8_t)],
648
- ['ieee', named.EmberEUI64],
649
- ['nodeid', named.EmberNodeId],
650
- ['packed', basic.uint8_t],
651
- ['permitjoining', basic.uint8_t],
652
- ['depth', basic.uint8_t],
653
- ['lqi', basic.uint8_t],
654
- ];
655
687
  class EmberNeighbors extends EzspStruct {
688
+ static _fields = [
689
+ ['entries', basic.uint8_t],
690
+ ['startindex', basic.uint8_t],
691
+ ['neighbors', basic.LVList(EmberNeighbor)],
692
+ ];
656
693
  }
657
694
  exports.EmberNeighbors = EmberNeighbors;
658
- EmberNeighbors._fields = [
659
- ['entries', basic.uint8_t],
660
- ['startindex', basic.uint8_t],
661
- ['neighbors', basic.LVList(EmberNeighbor)],
662
- ];
663
695
  class EmberRoutingTableEntry extends EzspStruct {
696
+ static _fields = [
697
+ ['destination', basic.uint16_t],
698
+ ['status', basic.uint8_t],
699
+ ['nexthop', basic.uint16_t],
700
+ ];
664
701
  }
665
702
  exports.EmberRoutingTableEntry = EmberRoutingTableEntry;
666
- EmberRoutingTableEntry._fields = [
667
- ['destination', basic.uint16_t],
668
- ['status', basic.uint8_t],
669
- ['nexthop', basic.uint16_t],
670
- ];
671
703
  class EmberRoutingTable extends EzspStruct {
704
+ static _fields = [
705
+ ['entries', basic.uint8_t],
706
+ ['startindex', basic.uint8_t],
707
+ ['table', basic.LVList(EmberRoutingTableEntry)],
708
+ ];
672
709
  }
673
710
  exports.EmberRoutingTable = EmberRoutingTable;
674
- EmberRoutingTable._fields = [
675
- ['entries', basic.uint8_t],
676
- ['startindex', basic.uint8_t],
677
- ['table', basic.LVList(EmberRoutingTableEntry)],
678
- ];
679
711
  class EmberRawFrame extends EzspStruct {
712
+ ieeeFrameControl;
713
+ sequence;
714
+ destPanId;
715
+ destNodeId;
716
+ sourcePanId;
717
+ ieeeAddress;
718
+ nwkFrameControl;
719
+ appFrameControl;
720
+ clusterId;
721
+ profileId;
722
+ static _fields = [
723
+ ['ieeeFrameControl', basic.uint16_t],
724
+ ['sequence', basic.uint8_t],
725
+ ['destPanId', named.EmberPanId],
726
+ ['destNodeId', named.EmberNodeId],
727
+ ['sourcePanId', named.EmberPanId],
728
+ ['ieeeAddress', named.EmberEUI64],
729
+ ['nwkFrameControl', basic.uint16_t],
730
+ ['appFrameControl', basic.uint8_t],
731
+ ['clusterId', basic.uint16_t],
732
+ ['profileId', basic.uint16_t],
733
+ ];
680
734
  }
681
735
  exports.EmberRawFrame = EmberRawFrame;
682
- EmberRawFrame._fields = [
683
- ['ieeeFrameControl', basic.uint16_t],
684
- ['sequence', basic.uint8_t],
685
- ['destPanId', named.EmberPanId],
686
- ['destNodeId', named.EmberNodeId],
687
- ['sourcePanId', named.EmberPanId],
688
- ['ieeeAddress', named.EmberEUI64],
689
- ['nwkFrameControl', basic.uint16_t],
690
- ['appFrameControl', basic.uint8_t],
691
- ['clusterId', basic.uint16_t],
692
- ['profileId', basic.uint16_t],
693
- ];
694
736
  class EmberIeeeRawFrame extends EzspStruct {
737
+ ieeeFrameControl;
738
+ sequence;
739
+ destPanId;
740
+ destAddress;
741
+ sourcePanId;
742
+ sourceAddress;
743
+ nwkFrameControl;
744
+ appFrameControl;
745
+ clusterId;
746
+ profileId;
747
+ static _fields = [
748
+ ['ieeeFrameControl', basic.uint16_t],
749
+ ['sequence', basic.uint8_t],
750
+ ['destPanId', named.EmberPanId],
751
+ ['destAddress', named.EmberEUI64],
752
+ ['sourcePanId', named.EmberPanId],
753
+ ['sourceAddress', named.EmberEUI64],
754
+ ['nwkFrameControl', basic.uint16_t],
755
+ ['appFrameControl', basic.uint8_t],
756
+ ['clusterId', basic.uint16_t],
757
+ ['profileId', basic.uint16_t],
758
+ ];
695
759
  }
696
760
  exports.EmberIeeeRawFrame = EmberIeeeRawFrame;
697
- EmberIeeeRawFrame._fields = [
698
- ['ieeeFrameControl', basic.uint16_t],
699
- ['sequence', basic.uint8_t],
700
- ['destPanId', named.EmberPanId],
701
- ['destAddress', named.EmberEUI64],
702
- ['sourcePanId', named.EmberPanId],
703
- ['sourceAddress', named.EmberEUI64],
704
- ['nwkFrameControl', basic.uint16_t],
705
- ['appFrameControl', basic.uint8_t],
706
- ['clusterId', basic.uint16_t],
707
- ['profileId', basic.uint16_t],
708
- ];
709
761
  //# sourceMappingURL=struct.js.map