zigbee-herdsman 6.0.2 → 6.0.3

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 (252) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +12 -3
  3. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  4. package/.github/dependabot.yml +0 -22
  5. package/.github/workflows/ci.yml +0 -69
  6. package/.github/workflows/release-please.yml +0 -18
  7. package/.github/workflows/stale.yml +0 -20
  8. package/.github/workflows/typedoc.yaml +0 -47
  9. package/.release-please-manifest.json +0 -3
  10. package/.vscode/extensions.json +0 -3
  11. package/.vscode/settings.json +0 -11
  12. package/biome.json +0 -98
  13. package/examples/join-and-log.js +0 -24
  14. package/release-please-config.json +0 -9
  15. package/src/adapter/adapter.ts +0 -189
  16. package/src/adapter/adapterDiscovery.ts +0 -666
  17. package/src/adapter/const.ts +0 -12
  18. package/src/adapter/deconz/adapter/deconzAdapter.ts +0 -877
  19. package/src/adapter/deconz/driver/constants.ts +0 -246
  20. package/src/adapter/deconz/driver/driver.ts +0 -1540
  21. package/src/adapter/deconz/driver/frame.ts +0 -11
  22. package/src/adapter/deconz/driver/frameParser.ts +0 -753
  23. package/src/adapter/deconz/driver/parser.ts +0 -45
  24. package/src/adapter/deconz/driver/writer.ts +0 -22
  25. package/src/adapter/deconz/types.d.ts +0 -13
  26. package/src/adapter/ember/adapter/emberAdapter.ts +0 -2265
  27. package/src/adapter/ember/adapter/endpoints.ts +0 -86
  28. package/src/adapter/ember/adapter/oneWaitress.ts +0 -324
  29. package/src/adapter/ember/adapter/tokensManager.ts +0 -782
  30. package/src/adapter/ember/consts.ts +0 -178
  31. package/src/adapter/ember/enums.ts +0 -1746
  32. package/src/adapter/ember/ezsp/buffalo.ts +0 -1392
  33. package/src/adapter/ember/ezsp/consts.ts +0 -148
  34. package/src/adapter/ember/ezsp/enums.ts +0 -1114
  35. package/src/adapter/ember/ezsp/ezsp.ts +0 -9061
  36. package/src/adapter/ember/ezspError.ts +0 -10
  37. package/src/adapter/ember/types.ts +0 -866
  38. package/src/adapter/ember/uart/ash.ts +0 -1960
  39. package/src/adapter/ember/uart/consts.ts +0 -109
  40. package/src/adapter/ember/uart/enums.ts +0 -192
  41. package/src/adapter/ember/uart/parser.ts +0 -48
  42. package/src/adapter/ember/uart/queues.ts +0 -247
  43. package/src/adapter/ember/uart/writer.ts +0 -53
  44. package/src/adapter/ember/utils/initters.ts +0 -58
  45. package/src/adapter/ember/utils/math.ts +0 -73
  46. package/src/adapter/events.ts +0 -21
  47. package/src/adapter/ezsp/adapter/backup.ts +0 -109
  48. package/src/adapter/ezsp/adapter/ezspAdapter.ts +0 -614
  49. package/src/adapter/ezsp/driver/commands.ts +0 -2497
  50. package/src/adapter/ezsp/driver/consts.ts +0 -11
  51. package/src/adapter/ezsp/driver/driver.ts +0 -1002
  52. package/src/adapter/ezsp/driver/ezsp.ts +0 -802
  53. package/src/adapter/ezsp/driver/frame.ts +0 -101
  54. package/src/adapter/ezsp/driver/index.ts +0 -4
  55. package/src/adapter/ezsp/driver/multicast.ts +0 -78
  56. package/src/adapter/ezsp/driver/parser.ts +0 -81
  57. package/src/adapter/ezsp/driver/types/basic.ts +0 -201
  58. package/src/adapter/ezsp/driver/types/index.ts +0 -239
  59. package/src/adapter/ezsp/driver/types/named.ts +0 -2330
  60. package/src/adapter/ezsp/driver/types/struct.ts +0 -844
  61. package/src/adapter/ezsp/driver/uart.ts +0 -460
  62. package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +0 -44
  63. package/src/adapter/ezsp/driver/utils/index.ts +0 -32
  64. package/src/adapter/ezsp/driver/writer.ts +0 -64
  65. package/src/adapter/index.ts +0 -3
  66. package/src/adapter/serialPort.ts +0 -58
  67. package/src/adapter/socketPortUtils.ts +0 -16
  68. package/src/adapter/tstype.ts +0 -78
  69. package/src/adapter/z-stack/adapter/adapter-backup.ts +0 -519
  70. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +0 -457
  71. package/src/adapter/z-stack/adapter/endpoints.ts +0 -57
  72. package/src/adapter/z-stack/adapter/manager.ts +0 -543
  73. package/src/adapter/z-stack/adapter/tstype.ts +0 -6
  74. package/src/adapter/z-stack/adapter/zStackAdapter.ts +0 -1190
  75. package/src/adapter/z-stack/constants/af.ts +0 -27
  76. package/src/adapter/z-stack/constants/common.ts +0 -285
  77. package/src/adapter/z-stack/constants/dbg.ts +0 -23
  78. package/src/adapter/z-stack/constants/index.ts +0 -11
  79. package/src/adapter/z-stack/constants/mac.ts +0 -128
  80. package/src/adapter/z-stack/constants/sapi.ts +0 -25
  81. package/src/adapter/z-stack/constants/sys.ts +0 -72
  82. package/src/adapter/z-stack/constants/util.ts +0 -82
  83. package/src/adapter/z-stack/constants/utils.ts +0 -14
  84. package/src/adapter/z-stack/constants/zdo.ts +0 -103
  85. package/src/adapter/z-stack/models/startup-options.ts +0 -13
  86. package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +0 -44
  87. package/src/adapter/z-stack/structs/entries/address-manager-table.ts +0 -19
  88. package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +0 -12
  89. package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +0 -21
  90. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +0 -19
  91. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +0 -21
  92. package/src/adapter/z-stack/structs/entries/channel-list.ts +0 -8
  93. package/src/adapter/z-stack/structs/entries/has-configured.ts +0 -16
  94. package/src/adapter/z-stack/structs/entries/index.ts +0 -16
  95. package/src/adapter/z-stack/structs/entries/nib.ts +0 -66
  96. package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +0 -15
  97. package/src/adapter/z-stack/structs/entries/nwk-key.ts +0 -13
  98. package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +0 -8
  99. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +0 -20
  100. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +0 -19
  101. package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +0 -33
  102. package/src/adapter/z-stack/structs/entries/security-manager-table.ts +0 -22
  103. package/src/adapter/z-stack/structs/index.ts +0 -4
  104. package/src/adapter/z-stack/structs/serializable-memory-object.ts +0 -14
  105. package/src/adapter/z-stack/structs/struct.ts +0 -367
  106. package/src/adapter/z-stack/structs/table.ts +0 -198
  107. package/src/adapter/z-stack/unpi/constants.ts +0 -33
  108. package/src/adapter/z-stack/unpi/frame.ts +0 -62
  109. package/src/adapter/z-stack/unpi/index.ts +0 -4
  110. package/src/adapter/z-stack/unpi/parser.ts +0 -56
  111. package/src/adapter/z-stack/unpi/writer.ts +0 -21
  112. package/src/adapter/z-stack/utils/channel-list.ts +0 -40
  113. package/src/adapter/z-stack/utils/index.ts +0 -2
  114. package/src/adapter/z-stack/utils/network-options.ts +0 -26
  115. package/src/adapter/z-stack/znp/buffaloZnp.ts +0 -175
  116. package/src/adapter/z-stack/znp/definition.ts +0 -2713
  117. package/src/adapter/z-stack/znp/index.ts +0 -2
  118. package/src/adapter/z-stack/znp/parameterType.ts +0 -22
  119. package/src/adapter/z-stack/znp/tstype.ts +0 -44
  120. package/src/adapter/z-stack/znp/utils.ts +0 -10
  121. package/src/adapter/z-stack/znp/znp.ts +0 -342
  122. package/src/adapter/z-stack/znp/zpiObject.ts +0 -148
  123. package/src/adapter/zboss/adapter/zbossAdapter.ts +0 -526
  124. package/src/adapter/zboss/commands.ts +0 -1184
  125. package/src/adapter/zboss/consts.ts +0 -9
  126. package/src/adapter/zboss/driver.ts +0 -422
  127. package/src/adapter/zboss/enums.ts +0 -360
  128. package/src/adapter/zboss/frame.ts +0 -227
  129. package/src/adapter/zboss/reader.ts +0 -65
  130. package/src/adapter/zboss/types.ts +0 -0
  131. package/src/adapter/zboss/uart.ts +0 -428
  132. package/src/adapter/zboss/utils.ts +0 -58
  133. package/src/adapter/zboss/writer.ts +0 -49
  134. package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +0 -27
  135. package/src/adapter/zigate/adapter/zigateAdapter.ts +0 -618
  136. package/src/adapter/zigate/driver/LICENSE +0 -17
  137. package/src/adapter/zigate/driver/buffaloZiGate.ts +0 -212
  138. package/src/adapter/zigate/driver/commandType.ts +0 -418
  139. package/src/adapter/zigate/driver/constants.ts +0 -150
  140. package/src/adapter/zigate/driver/frame.ts +0 -197
  141. package/src/adapter/zigate/driver/messageType.ts +0 -287
  142. package/src/adapter/zigate/driver/parameterType.ts +0 -32
  143. package/src/adapter/zigate/driver/ziGateObject.ts +0 -146
  144. package/src/adapter/zigate/driver/zigate.ts +0 -423
  145. package/src/adapter/zoh/adapter/utils.ts +0 -27
  146. package/src/adapter/zoh/adapter/zohAdapter.ts +0 -838
  147. package/src/buffalo/buffalo.ts +0 -342
  148. package/src/buffalo/index.ts +0 -1
  149. package/src/controller/controller.ts +0 -1022
  150. package/src/controller/database.ts +0 -124
  151. package/src/controller/events.ts +0 -52
  152. package/src/controller/greenPower.ts +0 -603
  153. package/src/controller/helpers/index.ts +0 -1
  154. package/src/controller/helpers/installCodes.ts +0 -107
  155. package/src/controller/helpers/request.ts +0 -96
  156. package/src/controller/helpers/requestQueue.ts +0 -125
  157. package/src/controller/helpers/zclFrameConverter.ts +0 -47
  158. package/src/controller/helpers/zclTransactionSequenceNumber.ts +0 -19
  159. package/src/controller/index.ts +0 -6
  160. package/src/controller/model/device.ts +0 -1249
  161. package/src/controller/model/endpoint.ts +0 -1105
  162. package/src/controller/model/entity.ts +0 -23
  163. package/src/controller/model/group.ts +0 -424
  164. package/src/controller/model/index.ts +0 -5
  165. package/src/controller/model/zigbeeEntity.ts +0 -30
  166. package/src/controller/touchlink.ts +0 -189
  167. package/src/controller/tstype.ts +0 -274
  168. package/src/index.ts +0 -12
  169. package/src/models/backup-storage-legacy.ts +0 -48
  170. package/src/models/backup-storage-unified.ts +0 -47
  171. package/src/models/backup.ts +0 -37
  172. package/src/models/index.ts +0 -5
  173. package/src/models/network-options.ts +0 -11
  174. package/src/utils/backup.ts +0 -152
  175. package/src/utils/index.ts +0 -5
  176. package/src/utils/logger.ts +0 -20
  177. package/src/utils/patchBigIntSerialization.ts +0 -8
  178. package/src/utils/queue.ts +0 -76
  179. package/src/utils/types.d.ts +0 -3
  180. package/src/utils/utils.ts +0 -19
  181. package/src/utils/wait.ts +0 -5
  182. package/src/utils/waitress.ts +0 -96
  183. package/src/zspec/consts.ts +0 -84
  184. package/src/zspec/enums.ts +0 -22
  185. package/src/zspec/index.ts +0 -3
  186. package/src/zspec/tstypes.ts +0 -18
  187. package/src/zspec/utils.ts +0 -247
  188. package/src/zspec/zcl/buffaloZcl.ts +0 -1220
  189. package/src/zspec/zcl/definition/cluster.ts +0 -5915
  190. package/src/zspec/zcl/definition/clusters-typegen.ts +0 -588
  191. package/src/zspec/zcl/definition/clusters-types.ts +0 -7331
  192. package/src/zspec/zcl/definition/consts.ts +0 -24
  193. package/src/zspec/zcl/definition/enums.ts +0 -203
  194. package/src/zspec/zcl/definition/foundation.ts +0 -329
  195. package/src/zspec/zcl/definition/manufacturerCode.ts +0 -729
  196. package/src/zspec/zcl/definition/status.ts +0 -69
  197. package/src/zspec/zcl/definition/tstype.ts +0 -377
  198. package/src/zspec/zcl/index.ts +0 -11
  199. package/src/zspec/zcl/utils.ts +0 -321
  200. package/src/zspec/zcl/zclFrame.ts +0 -356
  201. package/src/zspec/zcl/zclHeader.ts +0 -102
  202. package/src/zspec/zcl/zclStatusError.ts +0 -10
  203. package/src/zspec/zdo/buffaloZdo.ts +0 -2336
  204. package/src/zspec/zdo/definition/clusters.ts +0 -722
  205. package/src/zspec/zdo/definition/consts.ts +0 -16
  206. package/src/zspec/zdo/definition/enums.ts +0 -99
  207. package/src/zspec/zdo/definition/status.ts +0 -105
  208. package/src/zspec/zdo/definition/tstypes.ts +0 -1062
  209. package/src/zspec/zdo/index.ts +0 -7
  210. package/src/zspec/zdo/utils.ts +0 -76
  211. package/src/zspec/zdo/zdoStatusError.ts +0 -10
  212. package/test/adapter/adapter.test.ts +0 -1062
  213. package/test/adapter/ember/ash.test.ts +0 -337
  214. package/test/adapter/ember/consts.ts +0 -131
  215. package/test/adapter/ember/emberAdapter.test.ts +0 -3449
  216. package/test/adapter/ember/ezsp.test.ts +0 -385
  217. package/test/adapter/ember/ezspBuffalo.test.ts +0 -93
  218. package/test/adapter/ember/ezspError.test.ts +0 -12
  219. package/test/adapter/ember/math.test.ts +0 -206
  220. package/test/adapter/ezsp/frame.test.ts +0 -30
  221. package/test/adapter/ezsp/uart.test.ts +0 -181
  222. package/test/adapter/z-stack/adapter.test.ts +0 -3984
  223. package/test/adapter/z-stack/constants.test.ts +0 -33
  224. package/test/adapter/z-stack/structs.test.ts +0 -115
  225. package/test/adapter/z-stack/unpi.test.ts +0 -213
  226. package/test/adapter/z-stack/znp.test.ts +0 -1284
  227. package/test/adapter/zboss/fixZdoResponse.test.ts +0 -179
  228. package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +0 -81
  229. package/test/adapter/zigate/zdo.test.ts +0 -187
  230. package/test/adapter/zoh/utils.test.ts +0 -36
  231. package/test/adapter/zoh/zohAdapter.test.ts +0 -1307
  232. package/test/benchOptions.ts +0 -14
  233. package/test/buffalo.test.ts +0 -431
  234. package/test/controller.bench.ts +0 -214
  235. package/test/controller.test.ts +0 -8702
  236. package/test/greenpower.test.ts +0 -1408
  237. package/test/mockAdapters.ts +0 -65
  238. package/test/mockDevices.ts +0 -598
  239. package/test/requests.bench.ts +0 -229
  240. package/test/testUtils.ts +0 -20
  241. package/test/tsconfig.json +0 -9
  242. package/test/utils/math.ts +0 -19
  243. package/test/utils.test.ts +0 -279
  244. package/test/vitest.config.mts +0 -26
  245. package/test/zcl.test.ts +0 -2831
  246. package/test/zspec/utils.test.ts +0 -68
  247. package/test/zspec/zcl/buffalo.test.ts +0 -1374
  248. package/test/zspec/zcl/frame.test.ts +0 -960
  249. package/test/zspec/zcl/utils.test.ts +0 -273
  250. package/test/zspec/zdo/buffalo.test.ts +0 -1850
  251. package/test/zspec/zdo/utils.test.ts +0 -241
  252. package/tsconfig.json +0 -24
@@ -1,1184 +0,0 @@
1
- /* v8 ignore start */
2
-
3
- import {BuffaloZclDataType, DataType} from "../../zspec/zcl/definition/enums";
4
- import {ClusterId as ZdoClusterId} from "../../zspec/zdo";
5
- import {
6
- BuffaloZBOSSDataType,
7
- CommandId,
8
- DeviceAuthorizedType,
9
- DeviceType,
10
- DeviceUpdateStatus,
11
- PolicyType,
12
- ResetOptions,
13
- ResetSource,
14
- StatusCategory,
15
- StatusCodeAPS,
16
- StatusCodeCBKE,
17
- StatusCodeGeneric,
18
- } from "./enums";
19
-
20
- export interface ParamsDesc {
21
- name: string;
22
- type: DataType | BuffaloZclDataType | BuffaloZBOSSDataType;
23
- // biome-ignore lint/suspicious/noExplicitAny: API
24
- condition?: (payload: any, buffalo: any) => boolean;
25
- // biome-ignore lint/suspicious/noExplicitAny: API
26
- typed?: any;
27
- // biome-ignore lint/suspicious/noExplicitAny: API
28
- options?: (payload: any, options: any) => void;
29
- }
30
-
31
- interface ZBOSSFrameDesc {
32
- request: ParamsDesc[];
33
- response: ParamsDesc[];
34
- indication?: ParamsDesc[];
35
- }
36
-
37
- export const ZDO_REQ_CLUSTER_ID_TO_ZBOSS_COMMAND_ID: Readonly<Partial<Record<ZdoClusterId, CommandId>>> = {
38
- [ZdoClusterId.NETWORK_ADDRESS_REQUEST]: CommandId.ZDO_NWK_ADDR_REQ,
39
- [ZdoClusterId.IEEE_ADDRESS_REQUEST]: CommandId.ZDO_IEEE_ADDR_REQ,
40
- [ZdoClusterId.POWER_DESCRIPTOR_REQUEST]: CommandId.ZDO_POWER_DESC_REQ,
41
- [ZdoClusterId.NODE_DESCRIPTOR_REQUEST]: CommandId.ZDO_NODE_DESC_REQ,
42
- [ZdoClusterId.SIMPLE_DESCRIPTOR_REQUEST]: CommandId.ZDO_SIMPLE_DESC_REQ,
43
- [ZdoClusterId.ACTIVE_ENDPOINTS_REQUEST]: CommandId.ZDO_ACTIVE_EP_REQ,
44
- [ZdoClusterId.MATCH_DESCRIPTORS_REQUEST]: CommandId.ZDO_MATCH_DESC_REQ,
45
- [ZdoClusterId.BIND_REQUEST]: CommandId.ZDO_BIND_REQ,
46
- [ZdoClusterId.UNBIND_REQUEST]: CommandId.ZDO_UNBIND_REQ,
47
- [ZdoClusterId.LEAVE_REQUEST]: CommandId.ZDO_MGMT_LEAVE_REQ,
48
- [ZdoClusterId.PERMIT_JOINING_REQUEST]: CommandId.ZDO_PERMIT_JOINING_REQ,
49
- [ZdoClusterId.BINDING_TABLE_REQUEST]: CommandId.ZDO_MGMT_BIND_REQ,
50
- [ZdoClusterId.LQI_TABLE_REQUEST]: CommandId.ZDO_MGMT_LQI_REQ,
51
- // [ZdoClusterId.ROUTING_TABLE_REQUEST]: CommandId.ZDO_MGMT_RTG_REQ,
52
- [ZdoClusterId.NWK_UPDATE_REQUEST]: CommandId.ZDO_MGMT_NWK_UPDATE_REQ,
53
- };
54
-
55
- export const ZBOSS_COMMAND_ID_TO_ZDO_RSP_CLUSTER_ID: Readonly<Partial<Record<CommandId, ZdoClusterId>>> = {
56
- [CommandId.ZDO_NWK_ADDR_REQ]: ZdoClusterId.NETWORK_ADDRESS_RESPONSE,
57
- [CommandId.ZDO_IEEE_ADDR_REQ]: ZdoClusterId.IEEE_ADDRESS_RESPONSE,
58
- [CommandId.ZDO_POWER_DESC_REQ]: ZdoClusterId.POWER_DESCRIPTOR_RESPONSE,
59
- [CommandId.ZDO_NODE_DESC_REQ]: ZdoClusterId.NODE_DESCRIPTOR_RESPONSE,
60
- [CommandId.ZDO_SIMPLE_DESC_REQ]: ZdoClusterId.SIMPLE_DESCRIPTOR_RESPONSE,
61
- [CommandId.ZDO_ACTIVE_EP_REQ]: ZdoClusterId.ACTIVE_ENDPOINTS_RESPONSE,
62
- [CommandId.ZDO_MATCH_DESC_REQ]: ZdoClusterId.MATCH_DESCRIPTORS_RESPONSE,
63
- [CommandId.ZDO_BIND_REQ]: ZdoClusterId.BIND_RESPONSE,
64
- [CommandId.ZDO_UNBIND_REQ]: ZdoClusterId.UNBIND_RESPONSE,
65
- [CommandId.ZDO_MGMT_LEAVE_REQ]: ZdoClusterId.LEAVE_RESPONSE,
66
- [CommandId.ZDO_PERMIT_JOINING_REQ]: ZdoClusterId.PERMIT_JOINING_RESPONSE,
67
- [CommandId.ZDO_MGMT_BIND_REQ]: ZdoClusterId.BINDING_TABLE_RESPONSE,
68
- [CommandId.ZDO_MGMT_LQI_REQ]: ZdoClusterId.LQI_TABLE_RESPONSE,
69
- // [CommandId.ZDO_MGMT_RTG_REQ]: ZdoClusterId.ROUTING_TABLE_RESPONSE,
70
- [CommandId.ZDO_MGMT_NWK_UPDATE_REQ]: ZdoClusterId.NWK_UPDATE_RESPONSE,
71
- [CommandId.ZDO_DEV_ANNCE_IND]: ZdoClusterId.END_DEVICE_ANNOUNCE,
72
- };
73
-
74
- const commonResponse = [
75
- {name: "category", type: DataType.UINT8, typed: StatusCategory},
76
- {name: "status", type: DataType.UINT8, typed: [StatusCodeGeneric, StatusCodeAPS, StatusCodeCBKE]},
77
- ];
78
-
79
- export const FRAMES: Partial<Record<CommandId, ZBOSSFrameDesc>> = {
80
- // ------------------------------------------
81
- // NCP config
82
- // ------------------------------------------
83
-
84
- // Requests firmware, stack and protocol versions from NCP
85
- [CommandId.GET_MODULE_VERSION]: {
86
- request: [],
87
- response: [
88
- ...commonResponse,
89
- {name: "fwVersion", type: DataType.UINT32},
90
- {name: "stackVersion", type: DataType.UINT32},
91
- {name: "protocolVersion", type: DataType.UINT32},
92
- ],
93
- },
94
- // Force NCP module reboot
95
- [CommandId.NCP_RESET]: {
96
- request: [{name: "options", type: DataType.UINT8, typed: ResetOptions}],
97
- response: [...commonResponse],
98
- },
99
- // Requests current Zigbee role of the local device
100
- [CommandId.GET_ZIGBEE_ROLE]: {
101
- request: [],
102
- response: [...commonResponse, {name: "role", type: DataType.UINT8, typed: DeviceType}],
103
- },
104
- // Set Zigbee role of the local device
105
- [CommandId.SET_ZIGBEE_ROLE]: {
106
- request: [{name: "role", type: DataType.UINT8, typed: DeviceType}],
107
- response: [...commonResponse],
108
- },
109
- // Get Zigbee channels page and mask of the local device
110
- [CommandId.GET_ZIGBEE_CHANNEL_MASK]: {
111
- request: [],
112
- response: [
113
- ...commonResponse,
114
- {name: "len", type: DataType.UINT8},
115
- {
116
- name: "channels",
117
- type: BuffaloZBOSSDataType.LIST_TYPED,
118
- typed: [
119
- {name: "page", type: DataType.UINT8},
120
- {name: "mask", type: DataType.UINT32},
121
- ],
122
- },
123
- ],
124
- },
125
- // Set Zigbee channels page and mask
126
- [CommandId.SET_ZIGBEE_CHANNEL_MASK]: {
127
- request: [
128
- {name: "page", type: DataType.UINT8},
129
- {name: "mask", type: DataType.UINT32},
130
- ],
131
- response: [...commonResponse],
132
- },
133
- // Get Zigbee channel
134
- [CommandId.GET_ZIGBEE_CHANNEL]: {
135
- request: [],
136
- response: [...commonResponse, {name: "page", type: DataType.UINT8}, {name: "channel", type: DataType.UINT8}],
137
- },
138
- // Requests current short PAN ID
139
- [CommandId.GET_PAN_ID]: {
140
- request: [],
141
- response: [...commonResponse, {name: "panID", type: DataType.UINT16}],
142
- },
143
- // Set short PAN ID
144
- [CommandId.SET_PAN_ID]: {
145
- request: [{name: "panID", type: DataType.UINT16}],
146
- response: [...commonResponse],
147
- },
148
- // Requests local IEEE address
149
- [CommandId.GET_LOCAL_IEEE_ADDR]: {
150
- request: [{name: "mac", type: DataType.UINT8}],
151
- response: [...commonResponse, {name: "mac", type: DataType.UINT8}, {name: "ieee", type: DataType.IEEE_ADDR}],
152
- },
153
- // Set local IEEE address
154
- [CommandId.SET_LOCAL_IEEE_ADDR]: {
155
- request: [
156
- {name: "mac", type: DataType.UINT8},
157
- {name: "ieee", type: DataType.IEEE_ADDR},
158
- ],
159
- response: [...commonResponse],
160
- },
161
- // Get Transmit Power
162
- [CommandId.GET_TX_POWER]: {
163
- request: [],
164
- response: [...commonResponse, {name: "txPower", type: DataType.UINT8}],
165
- },
166
- // Set Transmit Power
167
- [CommandId.SET_TX_POWER]: {
168
- request: [{name: "txPower", type: DataType.UINT8}],
169
- response: [...commonResponse, {name: "txPower", type: DataType.UINT8}],
170
- },
171
- // Requests RxOnWhenIdle PIB attribute
172
- [CommandId.GET_RX_ON_WHEN_IDLE]: {
173
- request: [],
174
- response: [...commonResponse, {name: "rxOn", type: DataType.UINT8}],
175
- },
176
- // Sets Rx On When Idle PIB attribute
177
- [CommandId.SET_RX_ON_WHEN_IDLE]: {
178
- request: [{name: "rxOn", type: DataType.UINT8}],
179
- response: [...commonResponse],
180
- },
181
- // Requests current join status of the device
182
- [CommandId.GET_JOINED]: {
183
- request: [],
184
- response: [...commonResponse, {name: "joined", type: DataType.UINT8}],
185
- },
186
- // Requests current authentication status of the device
187
- [CommandId.GET_AUTHENTICATED]: {
188
- request: [],
189
- response: [...commonResponse, {name: "authenticated", type: DataType.UINT8}],
190
- },
191
- // Requests current End Device timeout
192
- [CommandId.GET_ED_TIMEOUT]: {
193
- request: [],
194
- response: [...commonResponse, {name: "timeout", type: DataType.UINT8}],
195
- },
196
- // Sets End Device timeout
197
- [CommandId.SET_ED_TIMEOUT]: {
198
- request: [{name: "timeout", type: DataType.UINT8}],
199
- response: [...commonResponse],
200
- },
201
- // Set NWK Key
202
- [CommandId.SET_NWK_KEY]: {
203
- request: [
204
- {name: "nwkKey", type: DataType.SEC_KEY},
205
- {name: "index", type: DataType.UINT8},
206
- ],
207
- response: [...commonResponse],
208
- },
209
- // Get list of NWK keys
210
- [CommandId.GET_NWK_KEYS]: {
211
- request: [],
212
- response: [
213
- ...commonResponse,
214
- {name: "nwkKey1", type: DataType.SEC_KEY},
215
- {name: "index1", type: DataType.UINT8},
216
- {name: "nwkKey2", type: DataType.SEC_KEY},
217
- {name: "index2", type: DataType.UINT8},
218
- {name: "nwkKey3", type: DataType.SEC_KEY},
219
- {name: "index3", type: DataType.UINT8},
220
- ],
221
- },
222
- // Get APS key by IEEE
223
- [CommandId.GET_APS_KEY_BY_IEEE]: {
224
- request: [{name: "ieee", type: DataType.IEEE_ADDR}],
225
- response: [...commonResponse, {name: "apsKey", type: DataType.SEC_KEY}],
226
- },
227
- // Get Parent short address
228
- [CommandId.GET_PARENT_ADDRESS]: {
229
- request: [],
230
- response: [...commonResponse, {name: "parent", type: DataType.UINT16}],
231
- },
232
- // Get Extended Pan ID
233
- [CommandId.GET_EXTENDED_PAN_ID]: {
234
- request: [],
235
- response: [...commonResponse, {name: "extendedPanID", type: BuffaloZBOSSDataType.EXTENDED_PAN_ID}],
236
- },
237
- // Get Coordinator version
238
- [CommandId.GET_COORDINATOR_VERSION]: {
239
- request: [],
240
- response: [...commonResponse, {name: "version", type: DataType.UINT8}],
241
- },
242
- // Get Short Address of the device
243
- [CommandId.GET_SHORT_ADDRESS]: {
244
- request: [],
245
- response: [...commonResponse, {name: "nwk", type: DataType.UINT16}],
246
- },
247
- // Get Trust Center IEEE Address
248
- [CommandId.GET_TRUST_CENTER_ADDRESS]: {
249
- request: [],
250
- response: [...commonResponse, {name: "ieee", type: DataType.IEEE_ADDR}],
251
- },
252
- // Device Reset Indication with reset source
253
- [CommandId.NCP_RESET_IND]: {
254
- request: [],
255
- response: [...commonResponse],
256
- indication: [{name: "source", type: DataType.UINT8, typed: ResetSource}],
257
- },
258
- // Writes NVRAM datasets
259
- [CommandId.NVRAM_WRITE]: {
260
- request: [
261
- {name: "len", type: DataType.UINT8},
262
- {
263
- name: "data",
264
- type: BuffaloZclDataType.LIST_UINT8,
265
- options: (payload, options) => {
266
- options.length = payload.len;
267
- },
268
- },
269
- ],
270
- response: [...commonResponse],
271
- },
272
- // Reads an NVRAM dataset
273
- [CommandId.NVRAM_READ]: {
274
- request: [{name: "type", type: DataType.UINT8}],
275
- response: [
276
- ...commonResponse,
277
- {name: "nvVersion", type: DataType.UINT16},
278
- {name: "type", type: DataType.UINT16},
279
- {name: "version", type: DataType.UINT16},
280
- {name: "len", type: DataType.UINT16},
281
- {
282
- name: "data",
283
- type: BuffaloZclDataType.LIST_UINT8,
284
- options: (payload, options) => {
285
- options.length = payload.len;
286
- },
287
- },
288
- ],
289
- },
290
- // Erases all datasets in NVRAM
291
- [CommandId.NVRAM_ERASE]: {
292
- request: [],
293
- response: [...commonResponse],
294
- },
295
- // Erases all datasets in NVRAM except ZB_NVRAM_RESERVED, ZB_IB_COUNTERS and application datasets
296
- [CommandId.NVRAM_CLEAR]: {
297
- request: [],
298
- response: [...commonResponse],
299
- },
300
- // Sets TC Policy
301
- [CommandId.SET_TC_POLICY]: {
302
- request: [
303
- {name: "type", type: DataType.UINT16, typed: PolicyType},
304
- {name: "value", type: DataType.UINT8},
305
- ],
306
- response: [...commonResponse],
307
- },
308
- // Sets an extended PAN ID
309
- [CommandId.SET_EXTENDED_PAN_ID]: {
310
- request: [{name: "extendedPanID", type: BuffaloZBOSSDataType.EXTENDED_PAN_ID}],
311
- response: [...commonResponse],
312
- },
313
- // Sets the maximum number of children
314
- [CommandId.SET_MAX_CHILDREN]: {
315
- request: [{name: "children", type: DataType.UINT8}],
316
- response: [...commonResponse],
317
- },
318
- // Gets the maximum number of children
319
- [CommandId.GET_MAX_CHILDREN]: {
320
- request: [],
321
- response: [...commonResponse, {name: "children", type: DataType.UINT8}],
322
- },
323
-
324
- // ------------------------------------------
325
- // Application Framework
326
- // ------------------------------------------
327
-
328
- // Add or update Simple descriptor for a specified endpoint
329
- [CommandId.AF_SET_SIMPLE_DESC]: {
330
- request: [
331
- {name: "endpoint", type: DataType.UINT8},
332
- {name: "profileID", type: DataType.UINT16},
333
- {name: "deviceID", type: DataType.UINT16},
334
- {name: "version", type: DataType.UINT8},
335
- {name: "inputClusterCount", type: DataType.UINT8},
336
- {name: "outputClusterCount", type: DataType.UINT8},
337
- {
338
- name: "inputClusters",
339
- type: BuffaloZclDataType.LIST_UINT16,
340
- options: (payload, options) => {
341
- options.length = payload.inputClusterCount;
342
- },
343
- },
344
- {
345
- name: "outputClusters",
346
- type: BuffaloZclDataType.LIST_UINT16,
347
- options: (payload, options) => {
348
- options.length = payload.outputClusterCount;
349
- },
350
- },
351
- ],
352
- response: [...commonResponse],
353
- },
354
- // Delete Simple Descriptor for a specified endpoint
355
- [CommandId.AF_DEL_SIMPLE_DESC]: {
356
- request: [{name: "endpoint", type: DataType.UINT8}],
357
- response: [...commonResponse],
358
- },
359
- // Set Node Descriptor
360
- [CommandId.AF_SET_NODE_DESC]: {
361
- request: [
362
- {name: "type", type: DataType.UINT8, typed: DeviceType},
363
- {name: "macCapabilities", type: DataType.UINT8},
364
- {name: "manufacturerCode", type: DataType.UINT16},
365
- ],
366
- response: [...commonResponse],
367
- },
368
- // Set power descriptor for the device
369
- [CommandId.AF_SET_POWER_DESC]: {
370
- request: [
371
- {name: "powerMode", type: DataType.UINT8},
372
- {name: "powerSources", type: DataType.UINT8},
373
- {name: "powerSource", type: DataType.UINT8},
374
- {name: "powerSourceLevel", type: DataType.UINT8},
375
- ],
376
- response: [...commonResponse],
377
- },
378
-
379
- // ------------------------------------------
380
- // Zigbee Device Object
381
- // ------------------------------------------
382
-
383
- // Request for a remote device NWK address
384
- // [CommandId.ZDO_NWK_ADDR_REQ]: {
385
- // request: [
386
- // {name: 'nwk', type: DataType.UINT16},
387
- // {name: 'ieee', type: DataType.IEEE_ADDR},
388
- // {name: 'type', type: DataType.UINT8},
389
- // {name: 'startIndex', type: DataType.UINT8},
390
- // ],
391
- // response: [
392
- // ...commonResponse,
393
- // {name: 'ieee', type: DataType.IEEE_ADDR},
394
- // {name: 'nwk', type: DataType.UINT16},
395
- // {name: 'num', type: DataType.UINT8, condition: (payload, buffalo) => buffalo && buffalo.isMore()},
396
- // {name: 'startIndex', type: DataType.UINT8, condition: (payload, buffalo) => buffalo && buffalo.isMore()},
397
- // {name: 'nwks', type: BuffaloZclDataType.LIST_UINT16, options: (payload, options) => (options.length = payload.num)},
398
- // ],
399
- // },
400
- // Request for a remote device IEEE address
401
- // [CommandId.ZDO_IEEE_ADDR_REQ]: {
402
- // request: [
403
- // {name: 'destNwk', type: DataType.UINT16},
404
- // {name: 'nwk', type: DataType.UINT16},
405
- // {name: 'type', type: DataType.UINT8},
406
- // {name: 'startIndex', type: DataType.UINT8},
407
- // ],
408
- // response: [
409
- // ...commonResponse,
410
- // {name: 'ieee', type: DataType.IEEE_ADDR},
411
- // {name: 'nwk', type: DataType.UINT16},
412
- // {name: 'num', type: DataType.UINT8, condition: (payload, buffalo) => buffalo && buffalo.isMore()},
413
- // {name: 'startIndex', type: DataType.UINT8, condition: (payload, buffalo) => buffalo && buffalo.isMore()},
414
- // {name: 'nwks', type: BuffaloZclDataType.LIST_UINT16, options: (payload, options) => (options.length = payload.num)},
415
- // ],
416
- // },
417
- // Get the Power Descriptor from a remote device
418
- // [CommandId.ZDO_POWER_DESC_REQ]: {
419
- // request: [{name: 'nwk', type: DataType.UINT16}],
420
- // response: [...commonResponse, {name: 'powerDescriptor', type: DataType.UINT16}, {name: 'nwk', type: DataType.UINT16}],
421
- // },
422
- // Get the Node Descriptor from a remote device
423
- // [CommandId.ZDO_NODE_DESC_REQ]: {
424
- // request: [{name: 'nwk', type: DataType.UINT16}],
425
- // response: [
426
- // ...commonResponse,
427
- // {name: 'flags', type: DataType.UINT16},
428
- // {name: 'macCapabilities', type: DataType.UINT8},
429
- // {name: 'manufacturerCode', type: DataType.UINT16},
430
- // {name: 'bufferSize', type: DataType.UINT8},
431
- // {name: 'incomingSize', type: DataType.UINT16},
432
- // {name: 'serverMask', type: DataType.UINT16},
433
- // {name: 'outgoingSize', type: DataType.UINT16},
434
- // {name: 'descriptorCapabilities', type: DataType.UINT8},
435
- // {name: 'nwk', type: DataType.UINT16},
436
- // ],
437
- // },
438
- // Get the Simple Descriptor from a remote device
439
- // [CommandId.ZDO_SIMPLE_DESC_REQ]: {
440
- // request: [
441
- // {name: 'nwk', type: DataType.UINT16},
442
- // {name: 'endpoint', type: DataType.UINT8},
443
- // ],
444
- // response: [
445
- // ...commonResponse,
446
- // {name: 'endpoint', type: DataType.UINT8},
447
- // {name: 'profileID', type: DataType.UINT16},
448
- // {name: 'deviceID', type: DataType.UINT16},
449
- // {name: 'version', type: DataType.UINT8},
450
- // {name: 'inputClusterCount', type: DataType.UINT8},
451
- // {name: 'outputClusterCount', type: DataType.UINT8},
452
- // {
453
- // name: 'inputClusters',
454
- // type: BuffaloZclDataType.LIST_UINT16,
455
- // options: (payload, options) => (options.length = payload.inputClusterCount),
456
- // },
457
- // {
458
- // name: 'outputClusters',
459
- // type: BuffaloZclDataType.LIST_UINT16,
460
- // options: (payload, options) => (options.length = payload.outputClusterCount),
461
- // },
462
- // {name: 'nwk', type: DataType.UINT16},
463
- // ],
464
- // },
465
- // Get a list of Active Endpoints from a remote device
466
- // [CommandId.ZDO_ACTIVE_EP_REQ]: {
467
- // request: [{name: 'nwk', type: DataType.UINT16}],
468
- // response: [
469
- // ...commonResponse,
470
- // {name: 'len', type: DataType.UINT8},
471
- // {name: 'endpoints', type: BuffaloZclDataType.LIST_UINT8, options: (payload, options) => (options.length = payload.len)},
472
- // {name: 'nwk', type: DataType.UINT16},
473
- // ],
474
- // },
475
- // Send Match Descriptor request to a remote device
476
- // [CommandId.ZDO_MATCH_DESC_REQ]: {
477
- // request: [
478
- // {name: 'nwk', type: DataType.UINT16},
479
- // {name: 'profileID', type: DataType.UINT16},
480
- // {name: 'inputClusterCount', type: DataType.UINT8},
481
- // {name: 'outputClusterCount', type: DataType.UINT8},
482
- // {
483
- // name: 'inputClusters',
484
- // type: BuffaloZclDataType.LIST_UINT16,
485
- // options: (payload, options) => (options.length = payload.inputClusterCount),
486
- // },
487
- // {
488
- // name: 'outputClusters',
489
- // type: BuffaloZclDataType.LIST_UINT16,
490
- // options: (payload, options) => (options.length = payload.outputClusterCount),
491
- // },
492
- // ],
493
- // response: [
494
- // ...commonResponse,
495
- // {name: 'len', type: DataType.UINT8},
496
- // {name: 'endpoints', type: BuffaloZclDataType.LIST_UINT8, options: (payload, options) => (options.length = payload.len)},
497
- // {name: 'nwk', type: DataType.UINT16},
498
- // ],
499
- // },
500
- // Send Bind request to a remote device
501
- // [CommandId.ZDO_BIND_REQ]: {
502
- // request: [
503
- // {name: 'target', type: DataType.UINT16},
504
- // {name: 'srcIeee', type: DataType.IEEE_ADDR},
505
- // {name: 'srcEP', type: DataType.UINT8},
506
- // {name: 'clusterID', type: DataType.UINT16},
507
- // {name: 'addrMode', type: DataType.UINT8},
508
- // {name: 'dstIeee', type: DataType.IEEE_ADDR},
509
- // {name: 'dstEP', type: DataType.UINT8},
510
- // ],
511
- // response: [...commonResponse],
512
- // },
513
- // Send Unbind request to a remote device
514
- // [CommandId.ZDO_UNBIND_REQ]: {
515
- // request: [
516
- // {name: 'target', type: DataType.UINT16},
517
- // {name: 'srcIeee', type: DataType.IEEE_ADDR},
518
- // {name: 'srcEP', type: DataType.UINT8},
519
- // {name: 'clusterID', type: DataType.UINT16},
520
- // {name: 'addrMode', type: DataType.UINT8},
521
- // {name: 'dstIeee', type: DataType.IEEE_ADDR},
522
- // {name: 'dstEP', type: DataType.UINT8},
523
- // ],
524
- // response: [...commonResponse],
525
- // },
526
- // Request that a Remote Device leave the network
527
- // [CommandId.ZDO_MGMT_LEAVE_REQ]: {
528
- // request: [
529
- // {name: 'nwk', type: DataType.UINT16},
530
- // {name: 'ieee', type: DataType.IEEE_ADDR},
531
- // {name: 'flags', type: DataType.UINT8},
532
- // ],
533
- // response: [...commonResponse],
534
- // },
535
- // Request a remote device or devices to allow or disallow association
536
- // [CommandId.ZDO_PERMIT_JOINING_REQ]: {
537
- // request: [
538
- // {name: 'nwk', type: DataType.UINT16},
539
- // {name: 'duration', type: DataType.UINT8},
540
- // {name: 'tcSignificance', type: DataType.UINT8},
541
- // ],
542
- // response: [...commonResponse],
543
- // },
544
- // Device announce indication
545
- // [CommandId.ZDO_DEV_ANNCE_IND]: {
546
- // request: [],
547
- // response: [],
548
- // indication: [
549
- // {name: 'nwk', type: DataType.UINT16},
550
- // {name: 'ieee', type: DataType.IEEE_ADDR},
551
- // {name: 'macCapabilities', type: DataType.UINT8},
552
- // ],
553
- // },
554
- // Rejoin to remote network even if joined already. If joined, clear internal data structures prior to joining. That call is useful for rejoin after parent loss.
555
- [CommandId.ZDO_REJOIN]: {
556
- request: [
557
- {name: "extendedPanID", type: BuffaloZBOSSDataType.EXTENDED_PAN_ID},
558
- {name: "len", type: DataType.UINT8},
559
- {
560
- name: "channels",
561
- type: BuffaloZBOSSDataType.LIST_TYPED,
562
- typed: [
563
- {name: "page", type: DataType.UINT8},
564
- {name: "mask", type: DataType.UINT32},
565
- ],
566
- },
567
- {name: "secure", type: DataType.UINT8},
568
- ],
569
- response: [...commonResponse, {name: "flags", type: DataType.UINT8}],
570
- },
571
- // Sends a ZDO system server discovery request
572
- [CommandId.ZDO_SYSTEM_SRV_DISCOVERY_REQ]: {
573
- request: [{name: "serverMask", type: DataType.UINT16}],
574
- response: [...commonResponse],
575
- },
576
- // Sends a ZDO Mgmt Bind request to a remote device
577
- // [CommandId.ZDO_MGMT_BIND_REQ]: {
578
- // request: [
579
- // {name: 'nwk', type: DataType.UINT16},
580
- // {name: 'startIndex', type: DataType.UINT8},
581
- // ],
582
- // response: [...commonResponse],
583
- // },
584
- // Sends a ZDO Mgmt LQI request to a remote device
585
- // [CommandId.ZDO_MGMT_LQI_REQ]: {
586
- // request: [
587
- // {name: 'nwk', type: DataType.UINT16},
588
- // {name: 'startIndex', type: DataType.UINT8},
589
- // ],
590
- // response: [
591
- // ...commonResponse,
592
- // {name: 'entries', type: DataType.UINT8},
593
- // {name: 'startIndex', type: DataType.UINT8},
594
- // {name: 'len', type: DataType.UINT8},
595
- // {
596
- // name: 'neighbors',
597
- // type: BuffaloZBOSSDataType.LIST_TYPED,
598
- // typed: [
599
- // {name: 'extendedPanID', type: BuffaloZBOSSDataType.EXTENDED_PAN_ID},
600
- // {name: 'ieee', type: DataType.IEEE_ADDR},
601
- // {name: 'nwk', type: DataType.UINT16},
602
- // {name: 'relationship', type: DataType.UINT8},
603
- // {name: 'joining', type: DataType.UINT8},
604
- // {name: 'depth', type: DataType.UINT8},
605
- // {name: 'lqi', type: DataType.UINT8},
606
- // ],
607
- // options: (payload, options) => (options.length = payload.len),
608
- // },
609
- // ],
610
- // },
611
- // Sends a ZDO Mgmt NWK Update Request to a remote device
612
- // [CommandId.ZDO_MGMT_NWK_UPDATE_REQ]: {
613
- // request: [
614
- // {name: 'channelMask', type: DataType.UINT32},
615
- // {name: 'duration', type: DataType.UINT8},
616
- // {name: 'count', type: DataType.UINT8},
617
- // {name: 'managerNwk', type: DataType.UINT16},
618
- // {name: 'nwk', type: DataType.UINT16},
619
- // ],
620
- // response: [...commonResponse],
621
- // },
622
- // Require statistics (last message LQI\RSSI, counters, etc.) from the ZDO level
623
- [CommandId.ZDO_GET_STATS]: {
624
- request: [{name: "cleanup", type: DataType.UINT8}],
625
- response: [
626
- ...commonResponse,
627
- {name: "mac_rx_bcast", type: DataType.UINT32},
628
- {name: "mac_tx_bcast", type: DataType.UINT32},
629
- {name: "mac_rx_ucast", type: DataType.UINT32},
630
- {name: "mac_tx_ucast_total_zcl", type: DataType.UINT32},
631
- {name: "mac_tx_ucast_failures_zcl", type: DataType.UINT16},
632
- {name: "mac_tx_ucast_retries_zcl", type: DataType.UINT16},
633
- {name: "mac_tx_ucast_total", type: DataType.UINT16},
634
- {name: "mac_tx_ucast_failures", type: DataType.UINT16},
635
- {name: "mac_tx_ucast_retries", type: DataType.UINT16},
636
- {name: "phy_to_mac_que_lim_reached", type: DataType.UINT16},
637
- {name: "mac_validate_drop_cnt", type: DataType.UINT16},
638
- {name: "phy_cca_fail_count", type: DataType.UINT16},
639
- {name: "period_of_time", type: DataType.UINT8},
640
- {name: "last_msg_lqi", type: DataType.UINT8},
641
- {name: "last_msg_rssi", type: DataType.UINT8},
642
- {name: "number_of_resets", type: DataType.UINT16},
643
- {name: "aps_tx_bcast", type: DataType.UINT16},
644
- {name: "aps_tx_ucast_success", type: DataType.UINT16},
645
- {name: "aps_tx_ucast_retry", type: DataType.UINT16},
646
- {name: "aps_tx_ucast_fail", type: DataType.UINT16},
647
- {name: "route_disc_initiated", type: DataType.UINT16},
648
- {name: "nwk_neighbor_added", type: DataType.UINT16},
649
- {name: "nwk_neighbor_removed", type: DataType.UINT16},
650
- {name: "nwk_neighbor_stale", type: DataType.UINT16},
651
- {name: "join_indication", type: DataType.UINT16},
652
- {name: "childs_removed", type: DataType.UINT16},
653
- {name: "nwk_fc_failure", type: DataType.UINT16},
654
- {name: "aps_fc_failure", type: DataType.UINT16},
655
- {name: "aps_unauthorized_key", type: DataType.UINT16},
656
- {name: "nwk_decrypt_failure", type: DataType.UINT16},
657
- {name: "aps_decrypt_failure", type: DataType.UINT16},
658
- {name: "packet_buffer_allocate_failures", type: DataType.UINT16},
659
- {name: "average_mac_retry_per_aps_message_sent", type: DataType.UINT16},
660
- {name: "nwk_retry_overflow", type: DataType.UINT16},
661
- {name: "nwk_bcast_table_full", type: DataType.UINT16},
662
- {name: "status", type: DataType.UINT8},
663
- ],
664
- },
665
- // Indicates some device in the network was authorized (e.g. received TCLK)
666
- [CommandId.ZDO_DEV_AUTHORIZED_IND]: {
667
- request: [],
668
- response: [],
669
- indication: [
670
- {name: "ieee", type: DataType.IEEE_ADDR},
671
- {name: "nwk", type: DataType.UINT16},
672
- {name: "authType", type: DataType.UINT8, typed: DeviceAuthorizedType},
673
- {
674
- name: "authStatus",
675
- type: DataType.UINT8,
676
- /* typed: DeviceAuthorizedLegacyStatus | DeviceAuthorizedR21TCLKStatus | DeviceAuthorizedSECBKEStatus */
677
- },
678
- ],
679
- },
680
- // Indicates some device joined the network
681
- [CommandId.ZDO_DEV_UPDATE_IND]: {
682
- request: [],
683
- response: [],
684
- indication: [
685
- {name: "ieee", type: DataType.IEEE_ADDR},
686
- {name: "nwk", type: DataType.UINT16},
687
- {name: "status", type: DataType.UINT8, typed: DeviceUpdateStatus},
688
- // not in dsr-corporation spec
689
- // {name: 'tcAction', type: DataType.UINT8, typed: DeviceUpdateTCAction},
690
- // {name: 'parentNwk', type: DataType.UINT16},
691
- ],
692
- },
693
- // Sets manufacturer code field in the node descriptor
694
- [CommandId.ZDO_SET_NODE_DESC_MANUF_CODE]: {
695
- request: [{name: "manufacturerCode", type: DataType.UINT16}],
696
- response: [...commonResponse],
697
- },
698
-
699
- // ------------------------------------------
700
- // Application Support Sub-layer
701
- // ------------------------------------------
702
-
703
- // APSDE-DATA.request
704
- [CommandId.APSDE_DATA_REQ]: {
705
- request: [
706
- {name: "paramLength", type: DataType.UINT8},
707
- {name: "dataLength", type: DataType.UINT16},
708
- {name: "addr", type: DataType.IEEE_ADDR},
709
- {name: "profileID", type: DataType.UINT16},
710
- {name: "clusterID", type: DataType.UINT16},
711
- {name: "dstEndpoint", type: DataType.UINT8, condition: (payload) => [2, 3].includes(payload.dstAddrMode)},
712
- //{name: 'dstEndpoint', type: DataType.UINT8},
713
- {name: "srcEndpoint", type: DataType.UINT8},
714
- {name: "radius", type: DataType.UINT8},
715
- {name: "dstAddrMode", type: DataType.UINT8},
716
- {name: "txOptions", type: DataType.UINT8},
717
- {name: "useAlias", type: DataType.UINT8},
718
- //{name: 'aliasAddr', type: DataType.UINT16, condition: (payload) => payload.useAlias !== 0},
719
- {name: "aliasAddr", type: DataType.UINT16},
720
- {name: "aliasSequence", type: DataType.UINT8},
721
- {
722
- name: "data",
723
- type: BuffaloZclDataType.LIST_UINT8,
724
- options: (payload, options) => {
725
- options.length = payload.dataLength;
726
- },
727
- },
728
- ],
729
- response: [
730
- ...commonResponse,
731
- {name: "ieee", type: DataType.IEEE_ADDR},
732
- {name: "dstEndpoint", type: DataType.UINT8, condition: (payload) => [2, 3].includes(payload.dstAddrMode)},
733
- {name: "srcEndpoint", type: DataType.UINT8},
734
- {name: "txTime", type: DataType.UINT32},
735
- {name: "dstAddrMode", type: DataType.UINT8},
736
- ],
737
- },
738
- // APSME-BIND.Request
739
- [CommandId.APSME_BIND]: {
740
- request: [
741
- {name: "srcIeee", type: DataType.IEEE_ADDR},
742
- {name: "srcEndpoint", type: DataType.UINT8},
743
- {name: "clusterID", type: DataType.UINT16},
744
- {name: "dstAddrMode", type: DataType.UINT8},
745
- {name: "dstIeee", type: DataType.IEEE_ADDR},
746
- {name: "dstEndpoint", type: DataType.UINT8},
747
- ],
748
- response: [...commonResponse, {name: "index", type: DataType.UINT8}],
749
- },
750
- // APSME-UNBIND.request
751
- [CommandId.APSME_UNBIND]: {
752
- request: [
753
- {name: "srcIeee", type: DataType.IEEE_ADDR},
754
- {name: "srcEndpoint", type: DataType.UINT8},
755
- {name: "clusterID", type: DataType.UINT16},
756
- {name: "dstAddrMode", type: DataType.UINT8},
757
- {name: "dstIeee", type: DataType.IEEE_ADDR},
758
- {name: "dstEndpoint", type: DataType.UINT8},
759
- ],
760
- response: [...commonResponse, {name: "index", type: DataType.UINT8}],
761
- },
762
- // APSME-ADD-GROUP.request
763
- [CommandId.APSME_ADD_GROUP]: {
764
- request: [
765
- {name: "nwk", type: DataType.UINT16},
766
- {name: "endpoint", type: DataType.UINT8},
767
- ],
768
- response: [...commonResponse],
769
- },
770
- // APSME-REMOVE-GROUP.request
771
- [CommandId.APSME_RM_GROUP]: {
772
- request: [
773
- {name: "nwk", type: DataType.UINT16},
774
- {name: "endpoint", type: DataType.UINT8},
775
- ],
776
- response: [...commonResponse],
777
- },
778
- // APSDE-DATA.indication
779
- [CommandId.APSDE_DATA_IND]: {
780
- request: [],
781
- response: [],
782
- indication: [
783
- {name: "paramLength", type: DataType.UINT8},
784
- {name: "dataLength", type: DataType.UINT16},
785
- {name: "apsFC", type: DataType.UINT8},
786
- {name: "srcNwk", type: DataType.UINT16},
787
- {name: "dstNwk", type: DataType.UINT16},
788
- {name: "grpNwk", type: DataType.UINT16},
789
- {name: "dstEndpoint", type: DataType.UINT8},
790
- {name: "srcEndpoint", type: DataType.UINT8},
791
- {name: "clusterID", type: DataType.UINT16},
792
- {name: "profileID", type: DataType.UINT16},
793
- {name: "apsCounter", type: DataType.UINT8},
794
- {name: "srcMAC", type: DataType.UINT16},
795
- {name: "dstMAC", type: DataType.UINT16},
796
- {name: "lqi", type: DataType.UINT8},
797
- {name: "rssi", type: DataType.UINT8},
798
- {name: "apsKey", type: DataType.UINT8},
799
- {
800
- name: "data",
801
- type: BuffaloZclDataType.BUFFER,
802
- options: (payload, options) => {
803
- options.length = payload.dataLength;
804
- },
805
- },
806
- ],
807
- },
808
- // APSME-REMOVE-ALL-GROUPS.request
809
- [CommandId.APSME_RM_ALL_GROUPS]: {
810
- request: [{name: "endpoint", type: DataType.UINT8}],
811
- response: [...commonResponse],
812
- },
813
- // Checks if there are any bindings for specified endpoint and cluster
814
- [CommandId.APS_CHECK_BINDING]: {
815
- request: [
816
- {name: "endpoint", type: DataType.UINT8},
817
- {name: "clusterID", type: DataType.UINT16},
818
- ],
819
- response: [...commonResponse, {name: "exists", type: DataType.UINT8}],
820
- },
821
- // Gets the APS Group Table
822
- [CommandId.APS_GET_GROUP_TABLE]: {
823
- request: [],
824
- response: [
825
- ...commonResponse,
826
- {name: "length", type: DataType.UINT16},
827
- {
828
- name: "groups",
829
- type: BuffaloZclDataType.LIST_UINT16,
830
- options: (payload, options) => {
831
- options.length = payload.length;
832
- },
833
- },
834
- ],
835
- },
836
- // Removes all bindings
837
- [CommandId.APSME_UNBIND_ALL]: {
838
- request: [],
839
- response: [...commonResponse],
840
- },
841
-
842
- // ------------------------------------------
843
- // NWK Management API
844
- // ------------------------------------------
845
-
846
- // NLME-NETWORK-FORMATION.request
847
- [CommandId.NWK_FORMATION]: {
848
- request: [
849
- {name: "len", type: DataType.UINT8},
850
- {
851
- name: "channels",
852
- type: BuffaloZBOSSDataType.LIST_TYPED,
853
- typed: [
854
- {name: "page", type: DataType.UINT8},
855
- {name: "mask", type: DataType.UINT32},
856
- ],
857
- },
858
- {name: "duration", type: DataType.UINT8},
859
- {name: "distribFlag", type: DataType.UINT8},
860
- {name: "distribNwk", type: DataType.UINT16},
861
- {name: "extendedPanID", type: BuffaloZBOSSDataType.EXTENDED_PAN_ID},
862
- ],
863
- response: [...commonResponse, {name: "nwk", type: DataType.UINT16}],
864
- },
865
- // NLME-NETWORK-DISCOVERY.request
866
- [CommandId.NWK_DISCOVERY]: {
867
- request: [
868
- {name: "len", type: DataType.UINT8},
869
- {
870
- name: "channels",
871
- type: BuffaloZBOSSDataType.LIST_TYPED,
872
- typed: [
873
- {name: "page", type: DataType.UINT8},
874
- {name: "mask", type: DataType.UINT32},
875
- ],
876
- },
877
- {name: "duration", type: DataType.UINT8},
878
- {name: "macCapabilities", type: DataType.UINT8},
879
- {name: "security", type: DataType.UINT8},
880
- ],
881
- response: [
882
- ...commonResponse,
883
- {name: "extendedPanID", type: BuffaloZBOSSDataType.EXTENDED_PAN_ID},
884
- {name: "panID", type: DataType.UINT16},
885
- {name: "nwkUpdateID", type: DataType.UINT8},
886
- {name: "page", type: DataType.UINT8},
887
- {name: "channel", type: DataType.UINT8},
888
- {name: "flags", type: DataType.UINT8},
889
- {name: "lqi", type: DataType.UINT8},
890
- {name: "rssi", type: DataType.INT8},
891
- ],
892
- },
893
- // Join network, do basic post-join actions
894
- [CommandId.NWK_NLME_JOIN]: {
895
- request: [
896
- {name: "extendedPanID", type: BuffaloZBOSSDataType.EXTENDED_PAN_ID},
897
- {name: "rejoin", type: DataType.UINT8},
898
- {name: "len", type: DataType.UINT8},
899
- {
900
- name: "channels",
901
- type: BuffaloZBOSSDataType.LIST_TYPED,
902
- typed: [
903
- {name: "page", type: DataType.UINT8},
904
- {name: "mask", type: DataType.UINT32},
905
- ],
906
- },
907
- ],
908
- response: [
909
- ...commonResponse,
910
- {name: "nwk", type: DataType.UINT16},
911
- {name: "extendedPanID", type: BuffaloZBOSSDataType.EXTENDED_PAN_ID},
912
- {name: "page", type: DataType.UINT8},
913
- {name: "channel", type: DataType.UINT8},
914
- {name: "beacon", type: DataType.UINT8},
915
- {name: "macInterface", type: DataType.UINT8},
916
- ],
917
- },
918
- // NLME-PERMIT-JOINING.request
919
- [CommandId.NWK_PERMIT_JOINING]: {
920
- request: [{name: "duration", type: DataType.UINT8}],
921
- response: [...commonResponse],
922
- },
923
- // Get IEEE address by short address from the local address translation table
924
- [CommandId.NWK_GET_IEEE_BY_SHORT]: {
925
- request: [{name: "nwk", type: DataType.UINT16}],
926
- response: [...commonResponse, {name: "ieee", type: DataType.IEEE_ADDR}],
927
- },
928
- // Get short address by IEEE address from the local address translation table
929
- [CommandId.NWK_GET_SHORT_BY_IEEE]: {
930
- request: [{name: "ieee", type: DataType.IEEE_ADDR}],
931
- response: [...commonResponse, {name: "nwk", type: DataType.UINT16}],
932
- },
933
- // Get local neighbor table entry by IEEE address
934
- [CommandId.NWK_GET_NEIGHBOR_BY_IEEE]: {
935
- request: [{name: "ieee", type: DataType.IEEE_ADDR}],
936
- response: [
937
- ...commonResponse,
938
- {name: "ieee", type: DataType.IEEE_ADDR},
939
- {name: "nwk", type: DataType.UINT16},
940
- {name: "role", type: DataType.UINT8},
941
- {name: "rxOnWhenIdle", type: DataType.UINT8},
942
- {name: "edConfig", type: DataType.UINT16},
943
- {name: "timeoutCounter", type: DataType.UINT32},
944
- {name: "deviceTimeout", type: DataType.UINT32},
945
- {name: "relationship", type: DataType.UINT8},
946
- {name: "failureCount", type: DataType.UINT8},
947
- {name: "lqi", type: DataType.UINT8},
948
- {name: "cost", type: DataType.UINT8},
949
- {name: "age", type: DataType.UINT8},
950
- {name: "keepalive", type: DataType.UINT8},
951
- {name: "macInterface", type: DataType.UINT8},
952
- ],
953
- },
954
- // Indicates that network rejoining procedure has completed
955
- [CommandId.NWK_REJOINED_IND]: {
956
- request: [],
957
- response: [],
958
- indication: [
959
- {name: "nwk", type: DataType.UINT16},
960
- {name: "extendedPanID", type: BuffaloZBOSSDataType.EXTENDED_PAN_ID},
961
- {name: "page", type: DataType.UINT8},
962
- {name: "channel", type: DataType.UINT8},
963
- {name: "beacon", type: DataType.UINT8},
964
- {name: "macInterface", type: DataType.UINT8},
965
- ],
966
- },
967
- // Indicates that network rejoining procedure has failed
968
- [CommandId.NWK_REJOIN_FAILED_IND]: {
969
- request: [],
970
- response: [],
971
- indication: [...commonResponse],
972
- },
973
- // Network Leave indication
974
- [CommandId.NWK_LEAVE_IND]: {
975
- request: [],
976
- response: [],
977
- indication: [
978
- {name: "ieee", type: DataType.IEEE_ADDR},
979
- {name: "rejoin", type: DataType.UINT8},
980
- ],
981
- },
982
- // Set Fast Poll Interval PIM attribute
983
- [CommandId.PIM_SET_FAST_POLL_INTERVAL]: {
984
- request: [{name: "interval", type: DataType.UINT16}],
985
- response: [...commonResponse],
986
- },
987
- // Set Long Poll Interval PIM attribute
988
- [CommandId.PIM_SET_LONG_POLL_INTERVAL]: {
989
- request: [{name: "interval", type: DataType.UINT32}],
990
- response: [...commonResponse],
991
- },
992
- // Start poll with the Fast Poll Interval specified by PIM attribute
993
- [CommandId.PIM_START_FAST_POLL]: {
994
- request: [],
995
- response: [...commonResponse],
996
- },
997
- // Start Long Poll
998
- [CommandId.PIM_START_LONG_POLL]: {
999
- request: [],
1000
- response: [...commonResponse],
1001
- },
1002
- // Start poll with the Long Poll Interval specified by PIM attribute
1003
- [CommandId.PIM_START_POLL]: {
1004
- request: [],
1005
- response: [...commonResponse],
1006
- },
1007
- // Stop fast poll and restart it with the Long Poll Interval
1008
- [CommandId.PIM_STOP_FAST_POLL]: {
1009
- request: [],
1010
- response: [...commonResponse, {name: "result", type: DataType.UINT8}],
1011
- },
1012
- // Stop automatic ZBOSS poll
1013
- [CommandId.PIM_STOP_POLL]: {
1014
- request: [],
1015
- response: [...commonResponse],
1016
- },
1017
- // Enable turbo poll for a given amount of time.
1018
- [CommandId.PIM_ENABLE_TURBO_POLL]: {
1019
- request: [{name: "time", type: DataType.UINT32}],
1020
- response: [...commonResponse],
1021
- },
1022
- // Disable turbo poll for a given amount of time.
1023
- [CommandId.PIM_DISABLE_TURBO_POLL]: {
1024
- request: [],
1025
- response: [...commonResponse],
1026
- },
1027
- // Disable turbo poll for a given amount of time.
1028
- [CommandId.NWK_ADDRESS_UPDATE_IND]: {
1029
- request: [],
1030
- response: [],
1031
- indication: [{name: "nwk", type: DataType.UINT16}],
1032
- },
1033
- // Start without forming a new network.
1034
- [CommandId.NWK_START_WITHOUT_FORMATION]: {
1035
- request: [],
1036
- response: [...commonResponse],
1037
- },
1038
- // NWK NLME start router request
1039
- [CommandId.NWK_NLME_ROUTER_START]: {
1040
- request: [
1041
- {name: "beaconOrder", type: DataType.UINT8},
1042
- {name: "superframeOrder", type: DataType.UINT8},
1043
- {name: "batteryLife", type: DataType.UINT8},
1044
- ],
1045
- response: [...commonResponse],
1046
- },
1047
- // Indicates that joined device has no parent
1048
- [CommandId.PARENT_LOST_IND]: {
1049
- request: [],
1050
- response: [],
1051
- indication: [],
1052
- },
1053
- // PIM_START_TURBO_POLL_PACKETS
1054
- // PIM_START_TURBO_POLL_CONTINUOUS
1055
- // PIM_TURBO_POLL_CONTINUOUS_LEAVE
1056
- // PIM_TURBO_POLL_PACKETS_LEAVE
1057
- // PIM_PERMIT_TURBO_POLL
1058
- // PIM_SET_FAST_POLL_TIMEOUT
1059
- // PIM_GET_LONG_POLL_INTERVAL
1060
- // PIM_GET_IN_FAST_POLL_FLAG
1061
- // Sets keepalive mode
1062
- [CommandId.SET_KEEPALIVE_MOVE]: {
1063
- request: [{name: "mode", type: DataType.UINT8}],
1064
- response: [...commonResponse],
1065
- },
1066
- // Starts a concentrator mode
1067
- [CommandId.START_CONCENTRATOR_MODE]: {
1068
- request: [
1069
- {name: "radius", type: DataType.UINT8},
1070
- {name: "timeout", type: DataType.UINT32},
1071
- ],
1072
- response: [...commonResponse],
1073
- },
1074
- // Stops a concentrator mode
1075
- [CommandId.STOP_CONCENTRATOR_MODE]: {
1076
- request: [],
1077
- response: [...commonResponse],
1078
- },
1079
- // Enables or disables PAN ID conflict resolution
1080
- [CommandId.NWK_ENABLE_PAN_ID_CONFLICT_RESOLUTION]: {
1081
- request: [{name: "enable", type: DataType.UINT8}],
1082
- response: [...commonResponse],
1083
- },
1084
- // Enables or disables automatic PAN ID conflict resolution
1085
- [CommandId.NWK_ENABLE_AUTO_PAN_ID_CONFLICT_RESOLUTION]: {
1086
- request: [{name: "enable", type: DataType.UINT8}],
1087
- response: [...commonResponse],
1088
- },
1089
- // PIM_TURBO_POLL_CANCEL_PACKET
1090
-
1091
- // ------------------------------------------
1092
- // Security
1093
- // ------------------------------------------
1094
-
1095
- // Set local device installcode to ZR/ZED
1096
- [CommandId.SECUR_SET_LOCAL_IC]: {
1097
- request: [
1098
- {name: "installCode", type: BuffaloZclDataType.LIST_UINT8}, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
1099
- ],
1100
- response: [...commonResponse],
1101
- },
1102
- // Set remote device installcode to ZC
1103
- [CommandId.SECUR_ADD_IC]: {
1104
- request: [
1105
- {name: "ieee", type: DataType.IEEE_ADDR},
1106
- {name: "installCode", type: BuffaloZclDataType.LIST_UINT8}, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
1107
- ],
1108
- response: [...commonResponse],
1109
- },
1110
- // Delete remote device installcode from ZC
1111
- [CommandId.SECUR_DEL_IC]: {
1112
- request: [{name: "ieee", type: DataType.IEEE_ADDR}],
1113
- response: [...commonResponse],
1114
- },
1115
- // Get local device Installcode
1116
- [CommandId.SECUR_GET_LOCAL_IC]: {
1117
- request: [],
1118
- response: [
1119
- ...commonResponse,
1120
- {name: "installCode", type: BuffaloZclDataType.LIST_UINT8}, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
1121
- ],
1122
- },
1123
- // TCLK Indication
1124
- [CommandId.SECUR_TCLK_IND]: {
1125
- request: [],
1126
- response: [],
1127
- indication: [
1128
- {name: "ieee", type: DataType.IEEE_ADDR},
1129
- {name: "keyType", type: DataType.UINT8},
1130
- ],
1131
- },
1132
- // TCLK Exchange Indication Failed
1133
- [CommandId.SECUR_TCLK_EXCHANGE_FAILED_IND]: {
1134
- request: [],
1135
- response: [],
1136
- indication: [...commonResponse],
1137
- },
1138
- // Initiates a key switch procedure
1139
- [CommandId.SECUR_NWK_INITIATE_KEY_SWITCH_PROCEDURE]: {
1140
- request: [],
1141
- response: [...commonResponse],
1142
- },
1143
- // Gets the IC list
1144
- [CommandId.SECUR_GET_IC_LIST]: {
1145
- request: [{name: "startIndex", type: DataType.UINT8}],
1146
- response: [
1147
- ...commonResponse,
1148
- {name: "size", type: DataType.UINT8},
1149
- {name: "startIndex", type: DataType.UINT8},
1150
- {name: "count", type: DataType.UINT8},
1151
- {
1152
- name: "table",
1153
- type: BuffaloZBOSSDataType.LIST_TYPED,
1154
- typed: [
1155
- {name: "ieee", type: DataType.IEEE_ADDR},
1156
- {name: "type", type: DataType.UINT8},
1157
- {name: "installCode", type: BuffaloZclDataType.LIST_UINT8}, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
1158
- ],
1159
- },
1160
- ],
1161
- },
1162
- // Get an IC table entry by index
1163
- [CommandId.SECUR_GET_IC_BY_IDX]: {
1164
- request: [{name: "index", type: DataType.UINT8}],
1165
- response: [
1166
- ...commonResponse,
1167
- {name: "ieee", type: DataType.IEEE_ADDR},
1168
- {name: "type", type: DataType.UINT8},
1169
- {name: "installCode", type: BuffaloZclDataType.LIST_UINT8}, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
1170
- ],
1171
- },
1172
- // Removes all IC
1173
- [CommandId.SECUR_REMOVE_ALL_IC]: {
1174
- request: [],
1175
- response: [...commonResponse],
1176
- },
1177
-
1178
- ///////////////////
1179
- [CommandId.UNKNOWN_1]: {
1180
- request: [],
1181
- response: [...commonResponse],
1182
- indication: [{name: "data", type: DataType.UINT8}],
1183
- },
1184
- };