@willieee802/zigbee-herdsman 0.36.0 → 0.48.2

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 (441) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +317 -0
  3. package/dist/adapter/adapter.d.ts +15 -13
  4. package/dist/adapter/adapter.d.ts.map +1 -1
  5. package/dist/adapter/adapter.js +15 -17
  6. package/dist/adapter/adapter.js.map +1 -1
  7. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +14 -12
  8. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.js +118 -128
  10. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  11. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  12. package/dist/adapter/deconz/driver/driver.js +44 -44
  13. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  14. package/dist/adapter/deconz/driver/frameParser.js +43 -43
  15. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  16. package/dist/adapter/deconz/driver/parser.js +6 -6
  17. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  18. package/dist/adapter/deconz/driver/writer.js +3 -3
  19. package/dist/adapter/deconz/driver/writer.js.map +1 -1
  20. package/dist/adapter/ember/adapter/emberAdapter.d.ts +32 -36
  21. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  22. package/dist/adapter/ember/adapter/emberAdapter.js +418 -446
  23. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  24. package/dist/adapter/ember/adapter/endpoints.d.ts +5 -3
  25. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  26. package/dist/adapter/ember/adapter/endpoints.js +33 -31
  27. package/dist/adapter/ember/adapter/endpoints.js.map +1 -1
  28. package/dist/adapter/ember/adapter/oneWaitress.d.ts +10 -2
  29. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  30. package/dist/adapter/ember/adapter/oneWaitress.js +19 -5
  31. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  32. package/dist/adapter/ember/adapter/requestQueue.d.ts +2 -4
  33. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +1 -1
  34. package/dist/adapter/ember/adapter/requestQueue.js +16 -21
  35. package/dist/adapter/ember/adapter/requestQueue.js.map +1 -1
  36. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  37. package/dist/adapter/ember/adapter/tokensManager.js +23 -20
  38. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  39. package/dist/adapter/ember/consts.d.ts +0 -7
  40. package/dist/adapter/ember/consts.d.ts.map +1 -1
  41. package/dist/adapter/ember/consts.js +2 -9
  42. package/dist/adapter/ember/consts.js.map +1 -1
  43. package/dist/adapter/ember/enums.d.ts +12 -14
  44. package/dist/adapter/ember/enums.d.ts.map +1 -1
  45. package/dist/adapter/ember/enums.js +12 -14
  46. package/dist/adapter/ember/enums.js.map +1 -1
  47. package/dist/adapter/ember/ezsp/buffalo.js +4 -4
  48. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  49. package/dist/adapter/ember/ezsp/ezsp.d.ts +1 -2
  50. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  51. package/dist/adapter/ember/ezsp/ezsp.js +218 -199
  52. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  53. package/dist/adapter/ember/types.d.ts +9 -9
  54. package/dist/adapter/ember/types.d.ts.map +1 -1
  55. package/dist/adapter/ember/uart/ash.d.ts +11 -5
  56. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  57. package/dist/adapter/ember/uart/ash.js +125 -93
  58. package/dist/adapter/ember/uart/ash.js.map +1 -1
  59. package/dist/adapter/ember/uart/consts.d.ts +1 -1
  60. package/dist/adapter/ember/uart/consts.js +1 -1
  61. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  62. package/dist/adapter/ember/uart/parser.js +5 -9
  63. package/dist/adapter/ember/uart/parser.js.map +1 -1
  64. package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
  65. package/dist/adapter/ember/uart/queues.js +3 -1
  66. package/dist/adapter/ember/uart/queues.js.map +1 -1
  67. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  68. package/dist/adapter/ember/uart/writer.js +4 -6
  69. package/dist/adapter/ember/uart/writer.js.map +1 -1
  70. package/dist/adapter/ember/utils/math.d.ts.map +1 -1
  71. package/dist/adapter/ember/zdo.d.ts +6 -2
  72. package/dist/adapter/ember/zdo.d.ts.map +1 -1
  73. package/dist/adapter/ember/zdo.js +2 -2
  74. package/dist/adapter/ember/zdo.js.map +1 -1
  75. package/dist/adapter/events.d.ts +17 -23
  76. package/dist/adapter/events.d.ts.map +1 -1
  77. package/dist/adapter/events.js +1 -2
  78. package/dist/adapter/events.js.map +1 -1
  79. package/dist/adapter/ezsp/adapter/backup.d.ts +0 -1
  80. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  81. package/dist/adapter/ezsp/adapter/backup.js +3 -7
  82. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  83. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +13 -10
  84. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  85. package/dist/adapter/ezsp/adapter/ezspAdapter.js +79 -72
  86. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  87. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  88. package/dist/adapter/ezsp/driver/commands.js +3 -5
  89. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  90. package/dist/adapter/ezsp/driver/driver.d.ts +1 -4
  91. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  92. package/dist/adapter/ezsp/driver/driver.js +101 -122
  93. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  94. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  95. package/dist/adapter/ezsp/driver/ezsp.js +61 -50
  96. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  97. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  98. package/dist/adapter/ezsp/driver/multicast.js +8 -12
  99. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  100. package/dist/adapter/ezsp/driver/parser.js +5 -5
  101. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  102. package/dist/adapter/ezsp/driver/types/basic.js +1 -1
  103. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  104. package/dist/adapter/ezsp/driver/types/named.js +2 -2
  105. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  106. package/dist/adapter/ezsp/driver/types/struct.js +2 -2
  107. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  108. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  109. package/dist/adapter/ezsp/driver/uart.js +46 -46
  110. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  111. package/dist/adapter/ezsp/driver/writer.js +3 -6
  112. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  113. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -1
  114. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  115. package/dist/adapter/z-stack/adapter/adapter-backup.js +25 -29
  116. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  117. package/dist/adapter/z-stack/adapter/endpoints.js +4 -4
  118. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
  119. package/dist/adapter/z-stack/adapter/manager.d.ts +1 -4
  120. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  121. package/dist/adapter/z-stack/adapter/manager.js +52 -61
  122. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  123. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +14 -10
  124. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  125. package/dist/adapter/z-stack/adapter/zStackAdapter.js +95 -69
  126. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  127. package/dist/adapter/z-stack/unpi/parser.d.ts +3 -1
  128. package/dist/adapter/z-stack/unpi/parser.d.ts.map +1 -1
  129. package/dist/adapter/z-stack/unpi/parser.js +18 -8
  130. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  131. package/dist/adapter/z-stack/unpi/writer.d.ts +3 -2
  132. package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -1
  133. package/dist/adapter/z-stack/unpi/writer.js +21 -11
  134. package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
  135. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +4 -2
  136. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
  137. package/dist/adapter/z-stack/znp/buffaloZnp.js +154 -25
  138. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  139. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
  140. package/dist/adapter/z-stack/znp/definition.js +2 -1
  141. package/dist/adapter/z-stack/znp/definition.js.map +1 -1
  142. package/dist/adapter/z-stack/znp/tstype.d.ts +4 -3
  143. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
  144. package/dist/adapter/z-stack/znp/znp.d.ts +3 -1
  145. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  146. package/dist/adapter/z-stack/znp/znp.js +27 -32
  147. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  148. package/dist/adapter/z-stack/znp/zpiObject.js +2 -2
  149. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  150. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +13 -12
  151. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  152. package/dist/adapter/zigate/adapter/zigateAdapter.js +81 -90
  153. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  154. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +7 -8
  155. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  156. package/dist/adapter/zigate/driver/buffaloZiGate.js +150 -100
  157. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  158. package/dist/adapter/zigate/driver/commandType.d.ts +2 -1
  159. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  160. package/dist/adapter/zigate/driver/commandType.js +56 -52
  161. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  162. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  163. package/dist/adapter/zigate/driver/frame.js +8 -8
  164. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  165. package/dist/adapter/zigate/driver/messageType.d.ts +2 -1
  166. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
  167. package/dist/adapter/zigate/driver/messageType.js +113 -108
  168. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  169. package/dist/adapter/zigate/driver/parameterType.d.ts +8 -1
  170. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
  171. package/dist/adapter/zigate/driver/parameterType.js +9 -0
  172. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  173. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  174. package/dist/adapter/zigate/driver/ziGateObject.js +9 -9
  175. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  176. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  177. package/dist/adapter/zigate/driver/zigate.js +23 -31
  178. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  179. package/dist/buffalo/buffalo.d.ts +23 -19
  180. package/dist/buffalo/buffalo.d.ts.map +1 -1
  181. package/dist/buffalo/buffalo.js +74 -169
  182. package/dist/buffalo/buffalo.js.map +1 -1
  183. package/dist/buffalo/index.d.ts +1 -2
  184. package/dist/buffalo/index.d.ts.map +1 -1
  185. package/dist/buffalo/index.js +1 -26
  186. package/dist/buffalo/index.js.map +1 -1
  187. package/dist/controller/controller.d.ts +10 -5
  188. package/dist/controller/controller.d.ts.map +1 -1
  189. package/dist/controller/controller.js +184 -126
  190. package/dist/controller/controller.js.map +1 -1
  191. package/dist/controller/database.d.ts +1 -0
  192. package/dist/controller/database.d.ts.map +1 -1
  193. package/dist/controller/database.js +7 -10
  194. package/dist/controller/database.js.map +1 -1
  195. package/dist/controller/events.d.ts +2 -2
  196. package/dist/controller/events.d.ts.map +1 -1
  197. package/dist/controller/events.js +4 -0
  198. package/dist/controller/events.js.map +1 -1
  199. package/dist/controller/greenPower.d.ts +2 -1
  200. package/dist/controller/greenPower.d.ts.map +1 -1
  201. package/dist/controller/greenPower.js +51 -57
  202. package/dist/controller/greenPower.js.map +1 -1
  203. package/dist/controller/helpers/request.d.ts +3 -3
  204. package/dist/controller/helpers/request.d.ts.map +1 -1
  205. package/dist/controller/helpers/request.js +2 -2
  206. package/dist/controller/helpers/request.js.map +1 -1
  207. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  208. package/dist/controller/helpers/requestQueue.js +26 -36
  209. package/dist/controller/helpers/requestQueue.js.map +1 -1
  210. package/dist/controller/helpers/zclFrameConverter.d.ts +4 -3
  211. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  212. package/dist/controller/helpers/zclFrameConverter.js +33 -14
  213. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  214. package/dist/controller/model/device.d.ts +12 -5
  215. package/dist/controller/model/device.d.ts.map +1 -1
  216. package/dist/controller/model/device.js +105 -86
  217. package/dist/controller/model/device.js.map +1 -1
  218. package/dist/controller/model/endpoint.d.ts +22 -17
  219. package/dist/controller/model/endpoint.d.ts.map +1 -1
  220. package/dist/controller/model/endpoint.js +139 -228
  221. package/dist/controller/model/endpoint.js.map +1 -1
  222. package/dist/controller/model/group.d.ts +1 -1
  223. package/dist/controller/model/group.d.ts.map +1 -1
  224. package/dist/controller/model/group.js +18 -18
  225. package/dist/controller/model/group.js.map +1 -1
  226. package/dist/controller/model/konnextConfig.d.ts +7 -0
  227. package/dist/controller/model/konnextConfig.d.ts.map +1 -0
  228. package/dist/controller/{logger-stub.js → model/konnextConfig.js} +1 -1
  229. package/dist/controller/model/konnextConfig.js.map +1 -0
  230. package/dist/controller/touchlink.js +25 -28
  231. package/dist/controller/touchlink.js.map +1 -1
  232. package/dist/index.d.ts +5 -3
  233. package/dist/index.d.ts.map +1 -1
  234. package/dist/index.js +8 -5
  235. package/dist/index.js.map +1 -1
  236. package/dist/utils/aes.d.ts +40 -0
  237. package/dist/utils/aes.d.ts.map +1 -0
  238. package/dist/utils/aes.js +198 -0
  239. package/dist/utils/aes.js.map +1 -0
  240. package/dist/utils/logger.d.ts +9 -0
  241. package/dist/utils/logger.d.ts.map +1 -0
  242. package/dist/utils/logger.js +14 -0
  243. package/dist/utils/logger.js.map +1 -0
  244. package/dist/zspec/consts.d.ts +60 -0
  245. package/dist/zspec/consts.d.ts.map +1 -0
  246. package/dist/zspec/consts.js +64 -0
  247. package/dist/zspec/consts.js.map +1 -0
  248. package/dist/zspec/enums.d.ts +19 -0
  249. package/dist/zspec/enums.d.ts.map +1 -0
  250. package/dist/zspec/enums.js +28 -0
  251. package/dist/zspec/enums.js.map +1 -0
  252. package/dist/zspec/index.d.ts +4 -0
  253. package/dist/zspec/index.d.ts.map +1 -0
  254. package/dist/zspec/index.js +43 -0
  255. package/dist/zspec/index.js.map +1 -0
  256. package/dist/zspec/tstypes.d.ts +19 -0
  257. package/dist/zspec/tstypes.d.ts.map +1 -0
  258. package/dist/{buffalo/tstype.js → zspec/tstypes.js} +1 -1
  259. package/dist/zspec/tstypes.js.map +1 -0
  260. package/dist/zspec/utils.d.ts +14 -0
  261. package/dist/zspec/utils.d.ts.map +1 -0
  262. package/dist/zspec/utils.js +29 -0
  263. package/dist/zspec/utils.js.map +1 -0
  264. package/dist/zspec/zcl/buffaloZcl.d.ts +55 -0
  265. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -0
  266. package/dist/zspec/zcl/buffaloZcl.js +929 -0
  267. package/dist/zspec/zcl/buffaloZcl.js.map +1 -0
  268. package/dist/zspec/zcl/definition/cluster.d.ts +3 -0
  269. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -0
  270. package/dist/zspec/zcl/definition/cluster.js +5500 -0
  271. package/dist/zspec/zcl/definition/cluster.js.map +1 -0
  272. package/dist/zspec/zcl/definition/consts.d.ts +9 -0
  273. package/dist/zspec/zcl/definition/consts.d.ts.map +1 -0
  274. package/dist/zspec/zcl/definition/consts.js +27 -0
  275. package/dist/zspec/zcl/definition/consts.js.map +1 -0
  276. package/dist/zspec/zcl/definition/enums.d.ts +177 -0
  277. package/dist/zspec/zcl/definition/enums.d.ts.map +1 -0
  278. package/dist/zspec/zcl/definition/enums.js +187 -0
  279. package/dist/zspec/zcl/definition/enums.js.map +1 -0
  280. package/dist/zspec/zcl/definition/foundation.d.ts +11 -0
  281. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -0
  282. package/dist/zspec/zcl/definition/foundation.js +241 -0
  283. package/dist/zspec/zcl/definition/foundation.js.map +1 -0
  284. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +727 -0
  285. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +1 -0
  286. package/dist/zspec/zcl/definition/manufacturerCode.js +733 -0
  287. package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -0
  288. package/dist/zspec/zcl/definition/status.d.ts +69 -0
  289. package/dist/zspec/zcl/definition/status.d.ts.map +1 -0
  290. package/dist/zspec/zcl/definition/status.js +74 -0
  291. package/dist/zspec/zcl/definition/status.js.map +1 -0
  292. package/dist/zspec/zcl/definition/tstype.d.ts +114 -0
  293. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -0
  294. package/dist/{zcl/zclHeader.js → zspec/zcl/definition/tstype.js} +2 -1
  295. package/dist/zspec/zcl/definition/tstype.js.map +1 -0
  296. package/dist/zspec/zcl/index.d.ts +11 -0
  297. package/dist/zspec/zcl/index.d.ts.map +1 -0
  298. package/dist/zspec/zcl/index.js +47 -0
  299. package/dist/zspec/zcl/index.js.map +1 -0
  300. package/dist/zspec/zcl/utils.d.ts +7 -0
  301. package/dist/zspec/zcl/utils.d.ts.map +1 -0
  302. package/dist/zspec/zcl/utils.js +234 -0
  303. package/dist/zspec/zcl/utils.js.map +1 -0
  304. package/dist/zspec/zcl/zclFrame.d.ts +36 -0
  305. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -0
  306. package/dist/zspec/zcl/zclFrame.js +304 -0
  307. package/dist/zspec/zcl/zclFrame.js.map +1 -0
  308. package/dist/zspec/zcl/zclHeader.d.ts +17 -0
  309. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -0
  310. package/dist/zspec/zcl/zclHeader.js +88 -0
  311. package/dist/zspec/zcl/zclHeader.js.map +1 -0
  312. package/dist/zspec/zcl/zclStatusError.d.ts +6 -0
  313. package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -0
  314. package/dist/zspec/zcl/zclStatusError.js +13 -0
  315. package/dist/zspec/zcl/zclStatusError.js.map +1 -0
  316. package/dist/zspec/zdo/buffaloZdo.d.ts +438 -0
  317. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -0
  318. package/dist/zspec/zdo/buffaloZdo.js +1892 -0
  319. package/dist/zspec/zdo/buffaloZdo.js.map +1 -0
  320. package/dist/zspec/zdo/definition/clusters.d.ts +624 -0
  321. package/dist/zspec/zdo/definition/clusters.d.ts.map +1 -0
  322. package/dist/zspec/zdo/definition/clusters.js +687 -0
  323. package/dist/zspec/zdo/definition/clusters.js.map +1 -0
  324. package/dist/zspec/zdo/definition/consts.d.ts +13 -0
  325. package/dist/zspec/zdo/definition/consts.d.ts.map +1 -0
  326. package/dist/zspec/zdo/definition/consts.js +16 -0
  327. package/dist/zspec/zdo/definition/consts.js.map +1 -0
  328. package/dist/zspec/zdo/definition/enums.d.ts +75 -0
  329. package/dist/zspec/zdo/definition/enums.d.ts.map +1 -0
  330. package/dist/zspec/zdo/definition/enums.js +97 -0
  331. package/dist/zspec/zdo/definition/enums.js.map +1 -0
  332. package/dist/zspec/zdo/definition/status.d.ts +99 -0
  333. package/dist/zspec/zdo/definition/status.d.ts.map +1 -0
  334. package/dist/zspec/zdo/definition/status.js +109 -0
  335. package/dist/zspec/zdo/definition/status.js.map +1 -0
  336. package/dist/zspec/zdo/definition/tstypes.d.ts +787 -0
  337. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -0
  338. package/dist/{zcl/definition/tstype.js → zspec/zdo/definition/tstypes.js} +1 -1
  339. package/dist/zspec/zdo/definition/tstypes.js.map +1 -0
  340. package/dist/zspec/zdo/index.d.ts +7 -0
  341. package/dist/zspec/zdo/index.d.ts.map +1 -0
  342. package/dist/zspec/zdo/index.js +39 -0
  343. package/dist/zspec/zdo/index.js.map +1 -0
  344. package/dist/zspec/zdo/utils.d.ts +25 -0
  345. package/dist/zspec/zdo/utils.d.ts.map +1 -0
  346. package/dist/zspec/zdo/utils.js +75 -0
  347. package/dist/zspec/zdo/utils.js.map +1 -0
  348. package/dist/zspec/zdo/zdoStatusError.d.ts +6 -0
  349. package/dist/zspec/zdo/zdoStatusError.d.ts.map +1 -0
  350. package/dist/zspec/zdo/zdoStatusError.js +13 -0
  351. package/dist/zspec/zdo/zdoStatusError.js.map +1 -0
  352. package/examples/join-and-log.js +7 -12
  353. package/package.json +6 -6
  354. package/dist/adapter/zigate/debug.d.ts +0 -8
  355. package/dist/adapter/zigate/debug.d.ts.map +0 -1
  356. package/dist/adapter/zigate/debug.js +0 -20
  357. package/dist/adapter/zigate/debug.js.map +0 -1
  358. package/dist/buffalo/tstype.d.ts +0 -9
  359. package/dist/buffalo/tstype.d.ts.map +0 -1
  360. package/dist/buffalo/tstype.js.map +0 -1
  361. package/dist/controller/logger-stub.d.ts +0 -7
  362. package/dist/controller/logger-stub.d.ts.map +0 -1
  363. package/dist/controller/logger-stub.js.map +0 -1
  364. package/dist/zcl/buffaloZcl.d.ts +0 -42
  365. package/dist/zcl/buffaloZcl.d.ts.map +0 -1
  366. package/dist/zcl/buffaloZcl.js +0 -595
  367. package/dist/zcl/buffaloZcl.js.map +0 -1
  368. package/dist/zcl/definition/buffaloZclDataType.d.ts +0 -18
  369. package/dist/zcl/definition/buffaloZclDataType.d.ts.map +0 -1
  370. package/dist/zcl/definition/buffaloZclDataType.js +0 -21
  371. package/dist/zcl/definition/buffaloZclDataType.js.map +0 -1
  372. package/dist/zcl/definition/cluster.d.ts +0 -30
  373. package/dist/zcl/definition/cluster.d.ts.map +0 -1
  374. package/dist/zcl/definition/cluster.js +0 -5531
  375. package/dist/zcl/definition/cluster.js.map +0 -1
  376. package/dist/zcl/definition/dataType.d.ts +0 -60
  377. package/dist/zcl/definition/dataType.d.ts.map +0 -1
  378. package/dist/zcl/definition/dataType.js +0 -65
  379. package/dist/zcl/definition/dataType.js.map +0 -1
  380. package/dist/zcl/definition/direction.d.ts +0 -6
  381. package/dist/zcl/definition/direction.d.ts.map +0 -1
  382. package/dist/zcl/definition/direction.js +0 -9
  383. package/dist/zcl/definition/direction.js.map +0 -1
  384. package/dist/zcl/definition/endpointDeviceType.d.ts +0 -5
  385. package/dist/zcl/definition/endpointDeviceType.d.ts.map +0 -1
  386. package/dist/zcl/definition/endpointDeviceType.js +0 -16
  387. package/dist/zcl/definition/endpointDeviceType.js.map +0 -1
  388. package/dist/zcl/definition/foundation.d.ts +0 -12
  389. package/dist/zcl/definition/foundation.d.ts.map +0 -1
  390. package/dist/zcl/definition/foundation.js +0 -168
  391. package/dist/zcl/definition/foundation.js.map +0 -1
  392. package/dist/zcl/definition/frameControl.d.ts +0 -11
  393. package/dist/zcl/definition/frameControl.d.ts.map +0 -1
  394. package/dist/zcl/definition/frameControl.js +0 -3
  395. package/dist/zcl/definition/frameControl.js.map +0 -1
  396. package/dist/zcl/definition/frameType.d.ts +0 -6
  397. package/dist/zcl/definition/frameType.d.ts.map +0 -1
  398. package/dist/zcl/definition/frameType.js +0 -9
  399. package/dist/zcl/definition/frameType.js.map +0 -1
  400. package/dist/zcl/definition/index.d.ts +0 -14
  401. package/dist/zcl/definition/index.d.ts.map +0 -1
  402. package/dist/zcl/definition/index.js +0 -52
  403. package/dist/zcl/definition/index.js.map +0 -1
  404. package/dist/zcl/definition/manufacturerCode.d.ts +0 -1078
  405. package/dist/zcl/definition/manufacturerCode.d.ts.map +0 -1
  406. package/dist/zcl/definition/manufacturerCode.js +0 -1083
  407. package/dist/zcl/definition/manufacturerCode.js.map +0 -1
  408. package/dist/zcl/definition/powerSource.d.ts +0 -5
  409. package/dist/zcl/definition/powerSource.d.ts.map +0 -1
  410. package/dist/zcl/definition/powerSource.js +0 -13
  411. package/dist/zcl/definition/powerSource.js.map +0 -1
  412. package/dist/zcl/definition/status.d.ts +0 -39
  413. package/dist/zcl/definition/status.d.ts.map +0 -1
  414. package/dist/zcl/definition/status.js +0 -42
  415. package/dist/zcl/definition/status.js.map +0 -1
  416. package/dist/zcl/definition/tstype.d.ts +0 -17
  417. package/dist/zcl/definition/tstype.d.ts.map +0 -1
  418. package/dist/zcl/definition/tstype.js.map +0 -1
  419. package/dist/zcl/index.d.ts +0 -17
  420. package/dist/zcl/index.d.ts.map +0 -1
  421. package/dist/zcl/index.js +0 -56
  422. package/dist/zcl/index.js.map +0 -1
  423. package/dist/zcl/tstype.d.ts +0 -57
  424. package/dist/zcl/tstype.d.ts.map +0 -1
  425. package/dist/zcl/tstype.js +0 -10
  426. package/dist/zcl/tstype.js.map +0 -1
  427. package/dist/zcl/utils.d.ts +0 -7
  428. package/dist/zcl/utils.d.ts.map +0 -1
  429. package/dist/zcl/utils.js +0 -165
  430. package/dist/zcl/utils.js.map +0 -1
  431. package/dist/zcl/zclFrame.d.ts +0 -41
  432. package/dist/zcl/zclFrame.d.ts.map +0 -1
  433. package/dist/zcl/zclFrame.js +0 -352
  434. package/dist/zcl/zclFrame.js.map +0 -1
  435. package/dist/zcl/zclHeader.d.ts +0 -9
  436. package/dist/zcl/zclHeader.d.ts.map +0 -1
  437. package/dist/zcl/zclHeader.js.map +0 -1
  438. package/dist/zcl/zclStatusError.d.ts +0 -6
  439. package/dist/zcl/zclStatusError.d.ts.map +0 -1
  440. package/dist/zcl/zclStatusError.js +0 -15
  441. package/dist/zcl/zclStatusError.js.map +0 -1
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.aesCbcDecryptBase64ToHex = exports.aesCbcEncryptBase64Hex = exports.aesCbcDecryptBase64 = exports.aesCbcEncryptBase64 = void 0;
27
+ const crypto = __importStar(require("crypto"));
28
+ const logger_1 = require("./logger");
29
+ const IV_MAC_PREFIX = '01010101010101010101';
30
+ /**
31
+ * PKCS7 填充
32
+ * @param data 需要填充的数据
33
+ * @param blockSize 块大小,默认 16
34
+ * @returns 填充后的数据
35
+ */
36
+ function pkcs7Pad(data, blockSize = 16) {
37
+ const padLen = blockSize - (data.length % blockSize);
38
+ const padding = Buffer.alloc(padLen, padLen);
39
+ return Buffer.concat([data, padding]);
40
+ }
41
+ /**
42
+ * PKCS7 去填充
43
+ * @param data 需要去填充的数据
44
+ * @returns 去填充后的数据
45
+ */
46
+ function pkcs7Unpad(data) {
47
+ if (data.length === 0) {
48
+ return data;
49
+ }
50
+ const padLen = data[data.length - 1];
51
+ if (padLen < 1 || padLen > 16) {
52
+ return data;
53
+ }
54
+ return data.slice(0, data.length - padLen);
55
+ }
56
+ /**
57
+ * 将 hex 字符串转换为 Buffer
58
+ * @param hex hex 字符串
59
+ * @returns Buffer
60
+ */
61
+ function hexToBuffer(hex) {
62
+ return Buffer.from(hex, 'hex');
63
+ }
64
+ /**
65
+ * AES CBC 模式加密,返回 base64 字符串
66
+ * @param plainText 明文(UTF-8 字符串)
67
+ * @param keyHex 密钥(hex 字符串,32 或 64 位)
68
+ * @param ivHex IV(hex 字符串)
69
+ * @returns base64 编码的密文
70
+ */
71
+ function aesCbcEncryptBase64(plainText, keyHex, ivHex) {
72
+ const key = hexToBuffer(keyHex);
73
+ const iv = hexToBuffer(IV_MAC_PREFIX + ivHex);
74
+ if (key.length !== 16 && key.length !== 32) {
75
+ throw new Error('Key length must be 16 or 32 bytes (hex: 32 or 64 chars)');
76
+ }
77
+ // 根据密钥长度选择算法
78
+ const algorithm = key.length === 16 ? 'aes-128-cbc' : 'aes-256-cbc';
79
+ // 将明文转换为 UTF-8 字节并填充
80
+ const data = pkcs7Pad(Buffer.from(plainText, 'utf-8'), 16);
81
+ // 创建加密器
82
+ const cipher = crypto.createCipheriv(algorithm, key, iv);
83
+ // 加密:update 处理所有数据,final 应该返回空(因为数据已经是完整块)
84
+ // 但 Node.js 的 crypto 模块在某些情况下 final() 会返回额外数据,需要特殊处理
85
+ const encrypted = cipher.update(data);
86
+ const final = cipher.final();
87
+ // 如果 final 返回了数据且 update 已处理完整数据,只使用 update 的结果(与 Python 行为一致)
88
+ const result = final.length > 0 && encrypted.length === data.length
89
+ ? encrypted
90
+ : Buffer.concat([encrypted, final]);
91
+ // 返回 base64 编码
92
+ return result.toString('base64');
93
+ }
94
+ exports.aesCbcEncryptBase64 = aesCbcEncryptBase64;
95
+ /**
96
+ * AES CBC 模式解密,从 base64 字符串解密
97
+ * @param cipherB64 base64 编码的密文
98
+ * @param keyHex 密钥(hex 字符串,32 或 64 位)
99
+ * @param ivHex IV(hex 字符串)
100
+ * @returns 解密后的 UTF-8 字符串
101
+ */
102
+ function aesCbcDecryptBase64(cipherB64, keyHex, ivHex) {
103
+ const key = hexToBuffer(keyHex);
104
+ const iv = hexToBuffer(IV_MAC_PREFIX + ivHex);
105
+ if (key.length !== 16 && key.length !== 32) {
106
+ throw new Error('Key length must be 16 or 32 bytes (hex: 32 or 64 chars)');
107
+ }
108
+ // 根据密钥长度选择算法
109
+ const algorithm = key.length === 16 ? 'aes-128-cbc' : 'aes-256-cbc';
110
+ // 解码 base64
111
+ const cipherBytes = Buffer.from(cipherB64, 'base64');
112
+ // 创建解密器
113
+ const decipher = crypto.createDecipheriv(algorithm, key, iv);
114
+ // 解密
115
+ const decrypted = Buffer.concat([
116
+ decipher.update(cipherBytes),
117
+ decipher.final(),
118
+ ]);
119
+ // 去填充并转换为 UTF-8 字符串
120
+ const unpadded = pkcs7Unpad(decrypted);
121
+ return unpadded.toString('utf-8');
122
+ }
123
+ exports.aesCbcDecryptBase64 = aesCbcDecryptBase64;
124
+ /**
125
+ * AES CBC 模式加密 hex 字符串,返回 base64
126
+ * @param plainHex 明文的 hex 字符串(如 'FE00210120')
127
+ * @param keyHex 密钥(hex 字符串,32 或 64 位)
128
+ * @param ivHex IV(hex 字符串)
129
+ * @returns base64 编码的密文
130
+ */
131
+ function aesCbcEncryptBase64Hex(plainHex, keyHex, ivHex) {
132
+ const key = hexToBuffer(keyHex);
133
+ const iv = hexToBuffer(IV_MAC_PREFIX + ivHex);
134
+ if (key.length !== 16 && key.length !== 32) {
135
+ throw new Error('Key length must be 16 or 32 bytes (hex: 32 or 64 chars)');
136
+ }
137
+ // 根据密钥长度选择算法
138
+ const algorithm = 'aes-128-cbc';
139
+ // 将 hex 字符串转换为 Buffer 并填充
140
+ const data = pkcs7Pad(hexToBuffer(plainHex), 16);
141
+ // 创建加密器
142
+ const cipher = crypto.createCipheriv(algorithm, key, iv);
143
+ // 禁用自动填充,因为我们已经手动进行了 PKCS7 填充
144
+ cipher.setAutoPadding(false);
145
+ // 加密:update 处理所有数据,final 应该返回空(因为数据已经是完整块)
146
+ // 但 Node.js 的 crypto 模块在某些情况下 final() 会返回额外数据,需要特殊处理
147
+ const encrypted = cipher.update(data);
148
+ const final = cipher.final();
149
+ // 如果 final 返回了数据且 update 已处理完整数据,只使用 update 的结果(与 Python 行为一致)
150
+ const result = final.length > 0 && encrypted.length === data.length
151
+ ? encrypted
152
+ : Buffer.concat([encrypted, final]);
153
+ // 返回 base64 编码
154
+ return result.toString('base64');
155
+ }
156
+ exports.aesCbcEncryptBase64Hex = aesCbcEncryptBase64Hex;
157
+ /**
158
+ * AES CBC 模式解密,从 base64 解密为 hex 字符串
159
+ * @param cipherB64 base64 编码的密文
160
+ * @param keyHex 密钥(hex 字符串,32 或 64 位)
161
+ * @param ivHex IV(hex 字符串)
162
+ * @returns 解密后的 hex 字符串(大写)
163
+ */
164
+ /**
165
+ * AES CBC 模式解密,从 base64 解密为 hex 字符串
166
+ * @param cipherB64 base64 编码的密文
167
+ * @param keyHex 密钥(hex 字符串,32 或 64 位)
168
+ * @param ivHex IV(hex 字符串)
169
+ * @returns 解密后的 hex 字符串(大写)
170
+ */
171
+ function aesCbcDecryptBase64ToHex(cipherB64, keyHex, ivHex) {
172
+ logger_1.logger.debug('解密前' + cipherB64, 'zh:aes');
173
+ const key = hexToBuffer(keyHex);
174
+ const iv = hexToBuffer(IV_MAC_PREFIX + ivHex);
175
+ if (key.length !== 16 && key.length !== 32) {
176
+ throw new Error('Key length must be 16 or 32 bytes (hex: 32 or 64 chars)');
177
+ }
178
+ // 根据密钥长度选择算法
179
+ const algorithm = key.length === 16 ? 'aes-128-cbc' : 'aes-256-cbc';
180
+ // 解码 base64
181
+ const cipherBytes = Buffer.from(cipherB64, 'base64');
182
+ // 创建解密器
183
+ const decipher = crypto.createDecipheriv(algorithm, key, iv);
184
+ // 禁用自动填充,因为我们要手动处理 PKCS7 填充
185
+ decipher.setAutoPadding(false);
186
+ // 解密
187
+ const decrypted = Buffer.concat([
188
+ decipher.update(cipherBytes),
189
+ decipher.final(),
190
+ ]);
191
+ // 去填充并转换为 hex 字符串(大写)
192
+ const unpadded = pkcs7Unpad(decrypted);
193
+ const res = unpadded.toString('hex').toUpperCase();
194
+ logger_1.logger.debug('解密后:' + res, 'zh:aes');
195
+ return res;
196
+ }
197
+ exports.aesCbcDecryptBase64ToHex = aesCbcDecryptBase64ToHex;
198
+ //# sourceMappingURL=aes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aes.js","sourceRoot":"","sources":["../../src/utils/aes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface Logger {
2
+ debug: (message: string, namespace: string) => void;
3
+ info: (message: string, namespace: string) => void;
4
+ warning: (message: string, namespace: string) => void;
5
+ error: (message: string | Error, namespace: string) => void;
6
+ }
7
+ export declare let logger: Logger;
8
+ export declare function setLogger(l: Logger): void;
9
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED,eAAO,IAAI,MAAM,EAAE,MAKlB,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAEzC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setLogger = exports.logger = void 0;
4
+ exports.logger = {
5
+ debug: (message, namespace) => console.debug(`${namespace}: ${message}`),
6
+ info: (message, namespace) => console.info(`${namespace}: ${message}`),
7
+ warning: (message, namespace) => console.warn(`${namespace}: ${message}`),
8
+ error: (message, namespace) => console.error(`${namespace}: ${message}`),
9
+ };
10
+ function setLogger(l) {
11
+ exports.logger = l;
12
+ }
13
+ exports.setLogger = setLogger;
14
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;AAOW,QAAA,MAAM,GAAW;IACxB,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC;IACxE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC;IACtE,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC;IACzE,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC;CAC3E,CAAC;AAEF,SAAgB,SAAS,CAAC,CAAS;IAC/B,cAAM,GAAG,CAAC,CAAC;AACf,CAAC;AAFD,8BAEC"}
@@ -0,0 +1,60 @@
1
+ import { ExtendedPanId } from "./tstypes";
2
+ /** Current supported Zigbee revision: https://csa-iot.org/wp-content/uploads/2023/04/05-3474-23-csg-zigbee-specification-compressed.pdf */
3
+ export declare const ZIGBEE_REVISION = 23;
4
+ /** The network ID of the coordinator in a ZigBee network is 0x0000. */
5
+ export declare const COORDINATOR_ADDRESS = 0;
6
+ /** Endpoint profile ID for Zigbee 3.0. "Home Automation" */
7
+ export declare const HA_PROFILE_ID = 260;
8
+ /** Endpoint profile ID for Smart Energy */
9
+ export declare const SE_PROFILE_ID = 265;
10
+ /** Endpoint profile ID for Green Power */
11
+ export declare const GP_PROFILE_ID = 41440;
12
+ /** The touchlink (ZigBee Light Link/ZLL) Profile ID. */
13
+ export declare const TOUCHLINK_PROFILE_ID = 49246;
14
+ /** The profile ID used to address all the public profiles. */
15
+ export declare const WILDCARD_PROFILE_ID = 65535;
16
+ /** The default HA endpoint. */
17
+ export declare const HA_ENDPOINT = 1;
18
+ /** The GP endpoint, as defined in the ZigBee spec. */
19
+ export declare const GP_ENDPOINT = 242;
20
+ /** The maximum 802.15.4 channel number is 26. */
21
+ export declare const MAX_802_15_4_CHANNEL_NUMBER = 26;
22
+ /** The minimum 2.4GHz 802.15.4 channel number is 11. */
23
+ export declare const MIN_802_15_4_CHANNEL_NUMBER = 11;
24
+ /** There are sixteen 802.15.4 channels. */
25
+ export declare const NUM_802_15_4_CHANNELS: number;
26
+ /** A bitmask to scan all 2.4 GHz 802.15.4 channels. */
27
+ export declare const ALL_802_15_4_CHANNELS_MASK = 134215680;
28
+ /** A bitmask of the preferred 2.4 GHz 802.15.4 channels to scan. */
29
+ export declare const PREFERRED_802_15_4_CHANNELS_MASK = 51955712;
30
+ /** List of all Zigbee channels */
31
+ export declare const ALL_802_15_4_CHANNELS: number[];
32
+ /** List of preferred Zigbee channels */
33
+ export declare const PREFERRED_802_15_4_CHANNELS: number[];
34
+ /** A blank (also used as "wildcard") EUI64 hex string prefixed with 0x */
35
+ export declare const BLANK_EUI64 = "0xFFFFFFFFFFFFFFFF";
36
+ /** A blank extended PAN ID. (null/not present) */
37
+ export declare const BLANK_EXTENDED_PAN_ID: Readonly<ExtendedPanId>;
38
+ /** An invalid profile ID. This is a reserved profileId. */
39
+ export declare const INVALID_PROFILE_ID = 65535;
40
+ /** An invalid cluster ID. */
41
+ export declare const INVALID_CLUSTER_ID = 65535;
42
+ /** An invalid PAN ID. */
43
+ export declare const INVALID_PAN_ID = 65535;
44
+ /** A distinguished network ID that will never be assigned to any node. It is used to indicate the absence of a node ID. */
45
+ export declare const NULL_NODE_ID = 65535;
46
+ /** A distinguished binding index used to indicate the absence of a binding. */
47
+ export declare const NULL_BINDING = 255;
48
+ /** This key is "ZigBeeAlliance09" */
49
+ export declare const INTEROPERABILITY_LINK_KEY: readonly number[];
50
+ export declare const PERMIT_JOIN_FOREVER = 255;
51
+ export declare const PERMIT_JOIN_MAX_TIMEOUT = 254;
52
+ /** Size of EUI64 (an IEEE address) in bytes. */
53
+ export declare const EUI64_SIZE = 8;
54
+ /** Size of an PAN identifier in bytes. */
55
+ export declare const PAN_ID_SIZE = 2;
56
+ /** Size of an extended PAN identifier in bytes. */
57
+ export declare const EXTENDED_PAN_ID_SIZE = 8;
58
+ /** Size of an encryption key in bytes. */
59
+ export declare const DEFAULT_ENCRYPTION_KEY_SIZE = 16;
60
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/zspec/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAExC,2IAA2I;AAC3I,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,IAAS,CAAC;AAE1C,4DAA4D;AAC5D,eAAO,MAAM,aAAa,MAAS,CAAC;AACpC,2CAA2C;AAC3C,eAAO,MAAM,aAAa,MAAS,CAAC;AACpC,0CAA0C;AAC1C,eAAO,MAAM,aAAa,QAAS,CAAC;AACpC,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,+BAA+B;AAC/B,eAAO,MAAM,WAAW,IAAO,CAAC;AAChC,sDAAsD;AACtD,eAAO,MAAM,WAAW,MAAO,CAAC;AAEhC,iDAAiD;AACjD,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,wDAAwD;AACxD,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,2CAA2C;AAC3C,eAAO,MAAM,qBAAqB,QAAkE,CAAC;AACrG,uDAAuD;AACvD,eAAO,MAAM,0BAA0B,YAAa,CAAC;AACrD,oEAAoE;AACpE,eAAO,MAAM,gCAAgC,WAAa,CAAC;AAC3D,kCAAkC;AAClC,eAAO,MAAM,qBAAqB,UAAmE,CAAC;AACtG,wCAAwC;AACxC,eAAO,MAAM,2BAA2B,UAA+B,CAAC;AAExE,0EAA0E;AAC1E,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,aAAa,CAAoD,CAAC;AAE/G,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,6BAA6B;AAC7B,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,yBAAyB;AACzB,eAAO,MAAM,cAAc,QAAS,CAAC;AAErC,2HAA2H;AAC3H,eAAO,MAAM,YAAY,QAAS,CAAC;AACnC,+EAA+E;AAC/E,eAAO,MAAM,YAAY,MAAO,CAAC;AAEjC,qCAAqC;AACrC,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAEtD,CAAC;AAEF,eAAO,MAAM,mBAAmB,MAAO,CAAC;AACxC,eAAO,MAAM,uBAAuB,MAAO,CAAC;AAE5C,gDAAgD;AAChD,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,0CAA0C;AAC1C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,0CAA0C;AAC1C,eAAO,MAAM,2BAA2B,KAAK,CAAC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_ENCRYPTION_KEY_SIZE = exports.EXTENDED_PAN_ID_SIZE = exports.PAN_ID_SIZE = exports.EUI64_SIZE = exports.PERMIT_JOIN_MAX_TIMEOUT = exports.PERMIT_JOIN_FOREVER = exports.INTEROPERABILITY_LINK_KEY = exports.NULL_BINDING = exports.NULL_NODE_ID = exports.INVALID_PAN_ID = exports.INVALID_CLUSTER_ID = exports.INVALID_PROFILE_ID = exports.BLANK_EXTENDED_PAN_ID = exports.BLANK_EUI64 = exports.PREFERRED_802_15_4_CHANNELS = exports.ALL_802_15_4_CHANNELS = exports.PREFERRED_802_15_4_CHANNELS_MASK = exports.ALL_802_15_4_CHANNELS_MASK = exports.NUM_802_15_4_CHANNELS = exports.MIN_802_15_4_CHANNEL_NUMBER = exports.MAX_802_15_4_CHANNEL_NUMBER = exports.GP_ENDPOINT = exports.HA_ENDPOINT = exports.WILDCARD_PROFILE_ID = exports.TOUCHLINK_PROFILE_ID = exports.GP_PROFILE_ID = exports.SE_PROFILE_ID = exports.HA_PROFILE_ID = exports.COORDINATOR_ADDRESS = exports.ZIGBEE_REVISION = void 0;
4
+ /** Current supported Zigbee revision: https://csa-iot.org/wp-content/uploads/2023/04/05-3474-23-csg-zigbee-specification-compressed.pdf */
5
+ exports.ZIGBEE_REVISION = 23;
6
+ /** The network ID of the coordinator in a ZigBee network is 0x0000. */
7
+ exports.COORDINATOR_ADDRESS = 0x0000;
8
+ /** Endpoint profile ID for Zigbee 3.0. "Home Automation" */
9
+ exports.HA_PROFILE_ID = 0x0104;
10
+ /** Endpoint profile ID for Smart Energy */
11
+ exports.SE_PROFILE_ID = 0x0109;
12
+ /** Endpoint profile ID for Green Power */
13
+ exports.GP_PROFILE_ID = 0xA1E0;
14
+ /** The touchlink (ZigBee Light Link/ZLL) Profile ID. */
15
+ exports.TOUCHLINK_PROFILE_ID = 0xC05E;
16
+ /** The profile ID used to address all the public profiles. */
17
+ exports.WILDCARD_PROFILE_ID = 0xFFFF;
18
+ /** The default HA endpoint. */
19
+ exports.HA_ENDPOINT = 0x01;
20
+ /** The GP endpoint, as defined in the ZigBee spec. */
21
+ exports.GP_ENDPOINT = 0xF2;
22
+ /** The maximum 802.15.4 channel number is 26. */
23
+ exports.MAX_802_15_4_CHANNEL_NUMBER = 26;
24
+ /** The minimum 2.4GHz 802.15.4 channel number is 11. */
25
+ exports.MIN_802_15_4_CHANNEL_NUMBER = 11;
26
+ /** There are sixteen 802.15.4 channels. */
27
+ exports.NUM_802_15_4_CHANNELS = (exports.MAX_802_15_4_CHANNEL_NUMBER - exports.MIN_802_15_4_CHANNEL_NUMBER + 1);
28
+ /** A bitmask to scan all 2.4 GHz 802.15.4 channels. */
29
+ exports.ALL_802_15_4_CHANNELS_MASK = 0x07FFF800;
30
+ /** A bitmask of the preferred 2.4 GHz 802.15.4 channels to scan. */
31
+ exports.PREFERRED_802_15_4_CHANNELS_MASK = 0x0318C800;
32
+ /** List of all Zigbee channels */
33
+ exports.ALL_802_15_4_CHANNELS = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26];
34
+ /** List of preferred Zigbee channels */
35
+ exports.PREFERRED_802_15_4_CHANNELS = [11, 14, 15, 19, 20, 24, 25];
36
+ /** A blank (also used as "wildcard") EUI64 hex string prefixed with 0x */
37
+ exports.BLANK_EUI64 = "0xFFFFFFFFFFFFFFFF";
38
+ /** A blank extended PAN ID. (null/not present) */
39
+ exports.BLANK_EXTENDED_PAN_ID = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];
40
+ /** An invalid profile ID. This is a reserved profileId. */
41
+ exports.INVALID_PROFILE_ID = 0xFFFF;
42
+ /** An invalid cluster ID. */
43
+ exports.INVALID_CLUSTER_ID = 0xFFFF;
44
+ /** An invalid PAN ID. */
45
+ exports.INVALID_PAN_ID = 0xFFFF;
46
+ /** A distinguished network ID that will never be assigned to any node. It is used to indicate the absence of a node ID. */
47
+ exports.NULL_NODE_ID = 0xFFFF;
48
+ /** A distinguished binding index used to indicate the absence of a binding. */
49
+ exports.NULL_BINDING = 0xFF;
50
+ /** This key is "ZigBeeAlliance09" */
51
+ exports.INTEROPERABILITY_LINK_KEY = [
52
+ 0x5A, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6C, 0x6C, 0x69, 0x61, 0x6E, 0x63, 0x65, 0x30, 0x39
53
+ ];
54
+ exports.PERMIT_JOIN_FOREVER = 0xFF;
55
+ exports.PERMIT_JOIN_MAX_TIMEOUT = 0xFE;
56
+ /** Size of EUI64 (an IEEE address) in bytes. */
57
+ exports.EUI64_SIZE = 8;
58
+ /** Size of an PAN identifier in bytes. */
59
+ exports.PAN_ID_SIZE = 2;
60
+ /** Size of an extended PAN identifier in bytes. */
61
+ exports.EXTENDED_PAN_ID_SIZE = 8;
62
+ /** Size of an encryption key in bytes. */
63
+ exports.DEFAULT_ENCRYPTION_KEY_SIZE = 16;
64
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/zspec/consts.ts"],"names":[],"mappings":";;;AAEA,2IAA2I;AAC9H,QAAA,eAAe,GAAG,EAAE,CAAC;AAElC,uEAAuE;AAC1D,QAAA,mBAAmB,GAAG,MAAM,CAAC;AAE1C,4DAA4D;AAC/C,QAAA,aAAa,GAAG,MAAM,CAAC;AACpC,2CAA2C;AAC9B,QAAA,aAAa,GAAG,MAAM,CAAC;AACpC,0CAA0C;AAC7B,QAAA,aAAa,GAAG,MAAM,CAAC;AACpC,wDAAwD;AAC3C,QAAA,oBAAoB,GAAG,MAAM,CAAC;AAC3C,8DAA8D;AACjD,QAAA,mBAAmB,GAAG,MAAM,CAAC;AAE1C,+BAA+B;AAClB,QAAA,WAAW,GAAG,IAAI,CAAC;AAChC,sDAAsD;AACzC,QAAA,WAAW,GAAG,IAAI,CAAC;AAEhC,iDAAiD;AACpC,QAAA,2BAA2B,GAAG,EAAE,CAAC;AAC9C,wDAAwD;AAC3C,QAAA,2BAA2B,GAAG,EAAE,CAAC;AAC9C,2CAA2C;AAC9B,QAAA,qBAAqB,GAAG,CAAC,mCAA2B,GAAG,mCAA2B,GAAG,CAAC,CAAC,CAAC;AACrG,uDAAuD;AAC1C,QAAA,0BAA0B,GAAG,UAAU,CAAC;AACrD,oEAAoE;AACvD,QAAA,gCAAgC,GAAG,UAAU,CAAC;AAC3D,kCAAkC;AACrB,QAAA,qBAAqB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACtG,wCAAwC;AAC3B,QAAA,2BAA2B,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAExE,0EAA0E;AAC7D,QAAA,WAAW,GAAG,oBAAoB,CAAC;AAChD,kDAAkD;AACrC,QAAA,qBAAqB,GAA4B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE/G,2DAA2D;AAC9C,QAAA,kBAAkB,GAAG,MAAM,CAAC;AACzC,6BAA6B;AAChB,QAAA,kBAAkB,GAAG,MAAM,CAAC;AACzC,yBAAyB;AACZ,QAAA,cAAc,GAAG,MAAM,CAAC;AAErC,2HAA2H;AAC9G,QAAA,YAAY,GAAG,MAAM,CAAC;AACnC,+EAA+E;AAClE,QAAA,YAAY,GAAG,IAAI,CAAC;AAEjC,qCAAqC;AACxB,QAAA,yBAAyB,GAAsB;IACxD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACjG,CAAC;AAEW,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAC3B,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAE5C,gDAAgD;AACnC,QAAA,UAAU,GAAG,CAAC,CAAC;AAC5B,0CAA0C;AAC7B,QAAA,WAAW,GAAG,CAAC,CAAC;AAC7B,mDAAmD;AACtC,QAAA,oBAAoB,GAAG,CAAC,CAAC;AACtC,0CAA0C;AAC7B,QAAA,2BAA2B,GAAG,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ZigBee Broadcast Addresses
3
+ *
4
+ * ZigBee specifies three different broadcast addresses that reach different collections of nodes.
5
+ * Broadcasts are normally sent only to routers.
6
+ * Broadcasts can also be forwarded to end devices, either all of them or only those that do not sleep.
7
+ * Broadcasting to end devices is both significantly more resource-intensive and significantly less reliable than broadcasting to routers.
8
+ */
9
+ export declare enum BroadcastAddress {
10
+ /** Low power routers only */
11
+ LOW_POWER_ROUTERS = 65531,
12
+ /** All routers and coordinator */
13
+ DEFAULT = 65532,
14
+ /** macRxOnWhenIdle = TRUE (all non-sleepy devices) */
15
+ RX_ON_WHEN_IDLE = 65533,
16
+ /** All devices in PAN (including sleepy end devices) */
17
+ SLEEPY = 65535
18
+ }
19
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/zspec/enums.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,oBAAY,gBAAgB;IAIxB,6BAA6B;IAC7B,iBAAiB,QAAS;IAC1B,kCAAkC;IAClC,OAAO,QAAS;IAChB,sDAAsD;IACtD,eAAe,QAAS;IAExB,wDAAwD;IACxD,MAAM,QAAS;CAClB"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BroadcastAddress = void 0;
4
+ /**
5
+ * ZigBee Broadcast Addresses
6
+ *
7
+ * ZigBee specifies three different broadcast addresses that reach different collections of nodes.
8
+ * Broadcasts are normally sent only to routers.
9
+ * Broadcasts can also be forwarded to end devices, either all of them or only those that do not sleep.
10
+ * Broadcasting to end devices is both significantly more resource-intensive and significantly less reliable than broadcasting to routers.
11
+ */
12
+ var BroadcastAddress;
13
+ (function (BroadcastAddress) {
14
+ // Reserved = 0xfff8,
15
+ // Reserved = 0xfff9,
16
+ // Reserved = 0xfffa,
17
+ /** Low power routers only */
18
+ BroadcastAddress[BroadcastAddress["LOW_POWER_ROUTERS"] = 65531] = "LOW_POWER_ROUTERS";
19
+ /** All routers and coordinator */
20
+ BroadcastAddress[BroadcastAddress["DEFAULT"] = 65532] = "DEFAULT";
21
+ /** macRxOnWhenIdle = TRUE (all non-sleepy devices) */
22
+ BroadcastAddress[BroadcastAddress["RX_ON_WHEN_IDLE"] = 65533] = "RX_ON_WHEN_IDLE";
23
+ // Reserved = 0xFFFE,
24
+ /** All devices in PAN (including sleepy end devices) */
25
+ BroadcastAddress[BroadcastAddress["SLEEPY"] = 65535] = "SLEEPY";
26
+ })(BroadcastAddress || (exports.BroadcastAddress = BroadcastAddress = {}));
27
+ ;
28
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/zspec/enums.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,gBAaX;AAbD,WAAY,gBAAgB;IACxB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,6BAA6B;IAC7B,qFAA0B,CAAA;IAC1B,kCAAkC;IAClC,iEAAgB,CAAA;IAChB,sDAAsD;IACtD,iFAAwB,CAAA;IACxB,qBAAqB;IACrB,wDAAwD;IACxD,+DAAe,CAAA;AACnB,CAAC,EAbW,gBAAgB,gCAAhB,gBAAgB,QAa3B;AAAA,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './consts';
2
+ export * from './enums';
3
+ export * as Utils from './utils';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zspec/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Utils = void 0;
30
+ __exportStar(require("./consts"), exports);
31
+ __exportStar(require("./enums"), exports);
32
+ exports.Utils = __importStar(require("./utils"));
33
+ // TODO: TBD:
34
+ // export Zcl/Zdo nested here, or just in root index.ts?
35
+ // export * as Zcl from './zcl';
36
+ // export * as Zdo from './zdo';
37
+ // resulting in:
38
+ // import {ZSpec, Zcl, Zdo} from 'zigbee-herdsman';
39
+ // vs
40
+ // import {ZSpec} from 'zigbee-herdsman';
41
+ // ZSpec.Zcl;
42
+ // ZSpec.Zdo;
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/zspec/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,iDAAiC;AAEjC,aAAa;AACb,wDAAwD;AACxD,gCAAgC;AAChC,gCAAgC;AAEhC,gBAAgB;AAChB,mDAAmD;AACnD,KAAK;AACL,yCAAyC;AACzC,aAAa;AACb,aAAa"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * EUI 64-bit ID (IEEE 802.15.4 long address). uint8[EUI64_SIZE]
3
+ *
4
+ * NOTE: Expected to contain `0x` prefix
5
+ */
6
+ export type EUI64 = `0x${string}`;
7
+ /** IEEE 802.15.4 node ID. Also known as short address. uint16 */
8
+ export type NodeId = number;
9
+ /** IEEE 802.15.4 PAN ID. uint16 */
10
+ export type PanId = number;
11
+ /** PAN 64-bit ID (IEEE 802.15.4 long address). uint8[EXTENDED_PAN_ID_SIZE] */
12
+ export type ExtendedPanId = number[];
13
+ /** 16-bit ZigBee multicast group identifier. uint16 */
14
+ export type MulticastId = number;
15
+ /** Refer to the Zigbee application profile ID. uint16 */
16
+ export type ProfileId = number;
17
+ /** Refer to the ZCL cluster ID. uint16 */
18
+ export type ClusterId = number;
19
+ //# sourceMappingURL=tstypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tstypes.d.ts","sourceRoot":"","sources":["../../src/zspec/tstypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,MAAM,EAAE,CAAC;AAClC,iEAAiE;AACjE,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,mCAAmC;AACnC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAC3B,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;AACrC,uDAAuD;AACvD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,yDAAyD;AACzD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,0CAA0C;AAC1C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=tstype.js.map
3
+ //# sourceMappingURL=tstypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tstypes.js","sourceRoot":"","sources":["../../src/zspec/tstypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Convert a channels array to a uint32 channel mask.
3
+ * @param channels
4
+ * @returns
5
+ */
6
+ export declare const channelsToUInt32Mask: (channels: number[]) => number;
7
+ /**
8
+ * Convert a uint32 channel mask to a channels array.
9
+ * @param mask
10
+ * @returns
11
+ */
12
+ export declare const uint32MaskToChannels: (mask: number) => number[];
13
+ export declare const isBroadcastAddress: (address: number) => boolean;
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/zspec/utils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,aAAc,MAAM,EAAE,KAAG,MAEzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,MAAM,EAEzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,OAGpD,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBroadcastAddress = exports.uint32MaskToChannels = exports.channelsToUInt32Mask = void 0;
4
+ const consts_1 = require("./consts");
5
+ const enums_1 = require("./enums");
6
+ /**
7
+ * Convert a channels array to a uint32 channel mask.
8
+ * @param channels
9
+ * @returns
10
+ */
11
+ const channelsToUInt32Mask = (channels) => {
12
+ return channels.reduce((a, c) => a + (1 << c), 0);
13
+ };
14
+ exports.channelsToUInt32Mask = channelsToUInt32Mask;
15
+ /**
16
+ * Convert a uint32 channel mask to a channels array.
17
+ * @param mask
18
+ * @returns
19
+ */
20
+ const uint32MaskToChannels = (mask) => {
21
+ return consts_1.ALL_802_15_4_CHANNELS.map((c) => ((2 ** c) & mask) ? c : null).filter((x) => x);
22
+ };
23
+ exports.uint32MaskToChannels = uint32MaskToChannels;
24
+ const isBroadcastAddress = (address) => {
25
+ return address === enums_1.BroadcastAddress.DEFAULT || address === enums_1.BroadcastAddress.RX_ON_WHEN_IDLE
26
+ || address === enums_1.BroadcastAddress.SLEEPY || address === enums_1.BroadcastAddress.LOW_POWER_ROUTERS;
27
+ };
28
+ exports.isBroadcastAddress = isBroadcastAddress;
29
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/zspec/utils.ts"],"names":[],"mappings":";;;AAAA,qCAA+C;AAC/C,mCAAyC;AAEzC;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,QAAkB,EAAU,EAAE;IAC/D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B;AAEF;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAY,EAAE;IAC3D,OAAO,8BAAqB,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B;AAEK,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAW,EAAE;IAC3D,OAAO,OAAO,KAAK,wBAAgB,CAAC,OAAO,IAAI,OAAO,KAAK,wBAAgB,CAAC,eAAe;WACpF,OAAO,KAAK,wBAAgB,CAAC,MAAM,IAAI,OAAO,KAAK,wBAAgB,CAAC,iBAAiB,CAAC;AACjG,CAAC,CAAC;AAHW,QAAA,kBAAkB,sBAG7B"}
@@ -0,0 +1,55 @@
1
+ import { BuffaloZclOptions } from './definition/tstype';
2
+ import { BuffaloZclDataType, DataType } from './definition/enums';
3
+ import { Buffalo } from '../../buffalo';
4
+ export declare class BuffaloZcl extends Buffalo {
5
+ private writeUInt40SB;
6
+ private readUInt40SB;
7
+ private writeUInt48SB;
8
+ private readUInt48SB;
9
+ private writeUInt56SB;
10
+ private readUInt56SB;
11
+ private readUInt64SB;
12
+ private writeUInt64SB;
13
+ private writeInt40SB;
14
+ private readInt40SB;
15
+ private writeInt56SB;
16
+ private readInt56SB;
17
+ private writeInt64SB;
18
+ private readInt64SB;
19
+ private writeOctetStr;
20
+ private readOctetStr;
21
+ private writeCharStr;
22
+ private readCharStr;
23
+ private writeLongOctetStr;
24
+ private readLongOctetStr;
25
+ private writeLongCharStr;
26
+ private readLongCharStr;
27
+ private writeArray;
28
+ private readArray;
29
+ private writeStruct;
30
+ private readStruct;
31
+ private writeToD;
32
+ private readToD;
33
+ private writeDate;
34
+ private readDate;
35
+ private writeListZoneInfo;
36
+ private readListZoneInfo;
37
+ private writeExtensionFieldSets;
38
+ private readExtensionFieldSets;
39
+ private writeListThermoTransitions;
40
+ private readListThermoTransitions;
41
+ private writeGdpFrame;
42
+ private readGdpFrame;
43
+ private writeStructuredSelector;
44
+ private readStructuredSelector;
45
+ private writeListTuyaDataPointValues;
46
+ private readListTuyaDataPointValues;
47
+ private writeListMiboxerZones;
48
+ private readListMiboxerZones;
49
+ private writeBigEndianUInt24;
50
+ private readBigEndianUInt24;
51
+ private readMiStruct;
52
+ write(type: DataType | BuffaloZclDataType, value: any, options: BuffaloZclOptions): void;
53
+ read(type: DataType | BuffaloZclDataType, options: BuffaloZclOptions): any;
54
+ }
55
+ //# sourceMappingURL=buffaloZcl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffaloZcl.d.ts","sourceRoot":"","sources":["../../../src/zspec/zcl/buffaloZcl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAA+B,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAC,kBAAkB,EAAE,QAAQ,EAA0B,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AA0HtC,qBAAa,UAAW,SAAQ,OAAO;IAInC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,yBAAyB;IA4BjC,OAAO,CAAC,aAAa;IAkDrB,OAAO,CAAC,YAAY;IAkHpB,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,4BAA4B;IAYpC,OAAO,CAAC,2BAA2B;IAoBnC,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,YAAY;IAsBb,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAwLxF,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,GAAG,GAAG;CAkMpF"}