@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 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/zspec/zcl/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /// <reference types="node" />
2
+ import { Cluster, Command, ClusterName, CustomClusters, ParameterDefinition } from './definition/tstype';
3
+ import { Direction, FrameType } from './definition/enums';
4
+ import { FoundationCommandName } from './definition/foundation';
5
+ import { ZclHeader } from './zclHeader';
6
+ type ZclPayload = any;
7
+ export declare class ZclFrame {
8
+ readonly header: ZclHeader;
9
+ readonly payload: ZclPayload;
10
+ readonly cluster: Cluster;
11
+ readonly command: Command;
12
+ private constructor();
13
+ toString(): string;
14
+ /**
15
+ * Creating
16
+ */
17
+ static create(frameType: FrameType, direction: Direction, disableDefaultResponse: boolean, manufacturerCode: number | null, transactionSequenceNumber: number, commandKey: number | string, clusterKey: number | string, payload: ZclPayload, customClusters: CustomClusters, reservedBits?: number): ZclFrame;
18
+ toBuffer(): Buffer;
19
+ private writePayloadGlobal;
20
+ private writePayloadCluster;
21
+ /**
22
+ * Parsing
23
+ */
24
+ static fromBuffer(clusterID: number, header: ZclHeader, buffer: Buffer, customClusters: CustomClusters): ZclFrame;
25
+ private static parsePayload;
26
+ private static parsePayloadCluster;
27
+ private static parsePayloadGlobal;
28
+ /**
29
+ * Utils
30
+ */
31
+ static conditionsValid(parameter: ParameterDefinition, entry: ZclPayload, remainingBufferBytes: number | null): boolean;
32
+ isCluster(clusterName: FoundationCommandName | ClusterName): boolean;
33
+ isCommand(commandName: FoundationCommandName | 'remove' | 'add' | 'write' | 'enrollReq' | 'checkin' | 'getAlarm'): boolean;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=zclFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zclFrame.d.ts","sourceRoot":"","sources":["../../../src/zspec/zcl/zclFrame.ts"],"names":[],"mappings":";AACA,OAAO,EAAoB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAC1H,OAAO,EAAC,SAAS,EAAgC,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAC,qBAAqB,EAAa,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAKtC,KAAK,UAAU,GAAG,GAAG,CAAC;AAUtB,qBAAa,QAAQ;IACjB,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,OAAO,EAAE,UAAU,CAAC;IACpC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,OAAO;IAOA,QAAQ,IAAI,MAAM;IAIzB;;OAEG;WACW,MAAM,CAChB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,sBAAsB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC5G,yBAAyB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3F,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,SAAI,GACtE,QAAQ;IAoBJ,QAAQ,IAAI,MAAM;IAezB,OAAO,CAAC,kBAAkB;IA0C1B,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;WACW,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,QAAQ;IAqBxH,OAAO,CAAC,MAAM,CAAC,YAAY;IAU3B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA4BlC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA8EjC;;OAEG;WAEW,eAAe,CACzB,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,UAAU,EACjB,oBAAoB,EAAE,MAAM,GAAG,IAAI,GACpC,OAAO;IAuCH,SAAS,CAAC,WAAW,EAAE,qBAAqB,GAAG,WAAW,GAAG,OAAO;IAKpE,SAAS,CACZ,WAAW,EAAE,qBAAqB,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GACvG,OAAO;CAGb"}
@@ -0,0 +1,304 @@
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.ZclFrame = void 0;
27
+ const Utils = __importStar(require("./utils"));
28
+ const enums_1 = require("./definition/enums");
29
+ const foundation_1 = require("./definition/foundation");
30
+ const zclHeader_1 = require("./zclHeader");
31
+ const buffaloZcl_1 = require("./buffaloZcl");
32
+ const ListTypes = [
33
+ enums_1.BuffaloZclDataType.LIST_UINT8,
34
+ enums_1.BuffaloZclDataType.LIST_UINT16,
35
+ enums_1.BuffaloZclDataType.LIST_UINT24,
36
+ enums_1.BuffaloZclDataType.LIST_UINT32,
37
+ enums_1.BuffaloZclDataType.LIST_ZONEINFO,
38
+ ];
39
+ class ZclFrame {
40
+ header;
41
+ payload;
42
+ cluster;
43
+ command;
44
+ constructor(header, payload, cluster, command) {
45
+ this.header = header;
46
+ this.payload = payload;
47
+ this.cluster = cluster;
48
+ this.command = command;
49
+ }
50
+ toString() {
51
+ return JSON.stringify({ header: this.header, payload: this.payload, command: this.command });
52
+ }
53
+ /**
54
+ * Creating
55
+ */
56
+ static create(frameType, direction, disableDefaultResponse, manufacturerCode, transactionSequenceNumber, commandKey, clusterKey, payload, customClusters, reservedBits = 0) {
57
+ const cluster = Utils.getCluster(clusterKey, manufacturerCode, customClusters);
58
+ let command = null;
59
+ if (frameType === enums_1.FrameType.GLOBAL) {
60
+ command = Utils.getGlobalCommand(commandKey);
61
+ }
62
+ else {
63
+ command = direction === enums_1.Direction.CLIENT_TO_SERVER ?
64
+ cluster.getCommand(commandKey) : cluster.getCommandResponse(commandKey);
65
+ }
66
+ const header = new zclHeader_1.ZclHeader({ reservedBits, frameType, direction, disableDefaultResponse, manufacturerSpecific: manufacturerCode != null }, manufacturerCode, transactionSequenceNumber, command.ID);
67
+ return new ZclFrame(header, payload, cluster, command);
68
+ }
69
+ toBuffer() {
70
+ const buffalo = new buffaloZcl_1.BuffaloZcl(Buffer.alloc(250));
71
+ this.header.write(buffalo);
72
+ if (this.header.isGlobal) {
73
+ this.writePayloadGlobal(buffalo);
74
+ }
75
+ else if (this.header.isSpecific) {
76
+ this.writePayloadCluster(buffalo);
77
+ }
78
+ else {
79
+ throw new Error(`Frametype '${this.header.frameControl.frameType}' not valid`);
80
+ }
81
+ return buffalo.getWritten();
82
+ }
83
+ writePayloadGlobal(buffalo) {
84
+ const command = Object.values(foundation_1.Foundation).find((c) => c.ID === this.command.ID);
85
+ if (command.parseStrategy === 'repetitive') {
86
+ for (const entry of this.payload) {
87
+ for (const parameter of command.parameters) {
88
+ const options = {};
89
+ if (!ZclFrame.conditionsValid(parameter, entry, null)) {
90
+ continue;
91
+ }
92
+ if (parameter.type === enums_1.BuffaloZclDataType.USE_DATA_TYPE && typeof entry.dataType === 'number') {
93
+ // We need to grab the dataType to parse useDataType
94
+ options.dataType = entry.dataType;
95
+ }
96
+ buffalo.write(parameter.type, entry[parameter.name], options);
97
+ }
98
+ }
99
+ }
100
+ else if (command.parseStrategy === 'flat') {
101
+ for (const parameter of command.parameters) {
102
+ buffalo.write(parameter.type, this.payload[parameter.name], {});
103
+ }
104
+ }
105
+ else {
106
+ /* istanbul ignore else */
107
+ if (command.parseStrategy === 'oneof') {
108
+ /* istanbul ignore else */
109
+ if ([foundation_1.Foundation.discoverRsp, foundation_1.Foundation.discoverCommandsRsp,
110
+ foundation_1.Foundation.discoverCommandsGenRsp, foundation_1.Foundation.discoverExtRsp].includes(command)) {
111
+ buffalo.writeUInt8(this.payload.discComplete);
112
+ for (const entry of this.payload.attrInfos) {
113
+ for (const parameter of command.parameters) {
114
+ buffalo.write(parameter.type, entry[parameter.name], {});
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }
121
+ writePayloadCluster(buffalo) {
122
+ for (const parameter of this.command.parameters) {
123
+ if (!ZclFrame.conditionsValid(parameter, this.payload, null)) {
124
+ continue;
125
+ }
126
+ if (this.payload[parameter.name] == undefined) {
127
+ throw new Error(`Parameter '${parameter.name}' is missing`);
128
+ }
129
+ buffalo.write(parameter.type, this.payload[parameter.name], {});
130
+ }
131
+ }
132
+ /**
133
+ * Parsing
134
+ */
135
+ static fromBuffer(clusterID, header, buffer, customClusters) {
136
+ if (!header) {
137
+ throw new Error("Invalid ZclHeader.");
138
+ }
139
+ const buffalo = new buffaloZcl_1.BuffaloZcl(buffer, header.length);
140
+ const cluster = Utils.getCluster(clusterID, header.manufacturerCode, customClusters);
141
+ let command = null;
142
+ if (header.isGlobal) {
143
+ command = Utils.getGlobalCommand(header.commandIdentifier);
144
+ }
145
+ else {
146
+ command = header.frameControl.direction === enums_1.Direction.CLIENT_TO_SERVER ?
147
+ cluster.getCommand(header.commandIdentifier) : cluster.getCommandResponse(header.commandIdentifier);
148
+ }
149
+ const payload = this.parsePayload(header, cluster, buffalo);
150
+ return new ZclFrame(header, payload, cluster, command);
151
+ }
152
+ static parsePayload(header, cluster, buffalo) {
153
+ if (header.isGlobal) {
154
+ return this.parsePayloadGlobal(header, buffalo);
155
+ }
156
+ else if (header.isSpecific) {
157
+ return this.parsePayloadCluster(header, cluster, buffalo);
158
+ }
159
+ else {
160
+ throw new Error(`Unsupported frameType '${header.frameControl.frameType}'`);
161
+ }
162
+ }
163
+ static parsePayloadCluster(header, cluster, buffalo) {
164
+ const command = header.frameControl.direction === enums_1.Direction.CLIENT_TO_SERVER ?
165
+ cluster.getCommand(header.commandIdentifier) : cluster.getCommandResponse(header.commandIdentifier);
166
+ const payload = {};
167
+ for (const parameter of command.parameters) {
168
+ const options = { payload };
169
+ if (!this.conditionsValid(parameter, payload, buffalo.getBuffer().length - buffalo.getPosition())) {
170
+ continue;
171
+ }
172
+ if (ListTypes.includes(parameter.type)) {
173
+ const lengthParameter = command.parameters[command.parameters.indexOf(parameter) - 1];
174
+ const length = payload[lengthParameter.name];
175
+ /* istanbul ignore else */
176
+ if (typeof length === 'number') {
177
+ options.length = length;
178
+ }
179
+ }
180
+ payload[parameter.name] = buffalo.read(parameter.type, options);
181
+ }
182
+ return payload;
183
+ }
184
+ static parsePayloadGlobal(header, buffalo) {
185
+ const command = Object.values(foundation_1.Foundation).find((c) => c.ID === header.commandIdentifier);
186
+ if (command.parseStrategy === 'repetitive') {
187
+ const payload = [];
188
+ while (buffalo.isMore()) {
189
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
190
+ const entry = {};
191
+ for (const parameter of command.parameters) {
192
+ const options = {};
193
+ if (!this.conditionsValid(parameter, entry, buffalo.getBuffer().length - buffalo.getPosition())) {
194
+ continue;
195
+ }
196
+ if (parameter.type === enums_1.BuffaloZclDataType.USE_DATA_TYPE && typeof entry.dataType === 'number') {
197
+ // We need to grab the dataType to parse useDataType
198
+ options.dataType = entry.dataType;
199
+ if (entry.dataType === enums_1.DataType.CHAR_STR && entry.attrId === 65281) {
200
+ // [workaround] parse char str as Xiaomi struct
201
+ options.dataType = enums_1.BuffaloZclDataType.MI_STRUCT;
202
+ }
203
+ }
204
+ entry[parameter.name] = buffalo.read(parameter.type, options);
205
+ // TODO: not needed, but temp workaroudn to make payload equal to that of zcl-packet
206
+ // XXX: is this still needed?
207
+ if (parameter.type === enums_1.BuffaloZclDataType.USE_DATA_TYPE && entry.dataType === enums_1.DataType.STRUCT) {
208
+ entry['structElms'] = entry.attrData;
209
+ entry['numElms'] = entry.attrData.length;
210
+ }
211
+ }
212
+ payload.push(entry);
213
+ }
214
+ return payload;
215
+ }
216
+ else if (command.parseStrategy === 'flat') {
217
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
218
+ const payload = {};
219
+ for (const parameter of command.parameters) {
220
+ payload[parameter.name] = buffalo.read(parameter.type, {});
221
+ }
222
+ return payload;
223
+ }
224
+ else {
225
+ /* istanbul ignore else */
226
+ if (command.parseStrategy === 'oneof') {
227
+ /* istanbul ignore else */
228
+ if ([foundation_1.Foundation.discoverRsp, foundation_1.Foundation.discoverCommandsRsp,
229
+ foundation_1.Foundation.discoverCommandsGenRsp, foundation_1.Foundation.discoverExtRsp].includes(command)) {
230
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
231
+ const payload = {
232
+ discComplete: buffalo.readUInt8(),
233
+ attrInfos: [],
234
+ };
235
+ while (buffalo.isMore()) {
236
+ const entry = {};
237
+ for (const parameter of command.parameters) {
238
+ entry[parameter.name] = buffalo.read(parameter.type, {});
239
+ }
240
+ payload.attrInfos.push(entry);
241
+ }
242
+ return payload;
243
+ }
244
+ }
245
+ }
246
+ }
247
+ /**
248
+ * Utils
249
+ */
250
+ static conditionsValid(parameter, entry, remainingBufferBytes) {
251
+ if (parameter.conditions) {
252
+ for (const condition of parameter.conditions) {
253
+ switch (condition.type) {
254
+ case enums_1.ParameterCondition.STATUS_EQUAL: {
255
+ if (entry.status !== condition.value)
256
+ return false;
257
+ break;
258
+ }
259
+ case enums_1.ParameterCondition.STATUS_NOT_EQUAL: {
260
+ if (entry.status === condition.value)
261
+ return false;
262
+ break;
263
+ }
264
+ case enums_1.ParameterCondition.DIRECTION_EQUAL: {
265
+ if (entry.direction !== condition.value)
266
+ return false;
267
+ break;
268
+ }
269
+ case enums_1.ParameterCondition.BITMASK_SET: {
270
+ if ((entry[condition.param] & condition.mask) !== condition.mask)
271
+ return false;
272
+ break;
273
+ }
274
+ case enums_1.ParameterCondition.BITFIELD_ENUM: {
275
+ if (((entry[condition.param] >> condition.offset) & ((1 << condition.size) - 1)) !== condition.value)
276
+ return false;
277
+ break;
278
+ }
279
+ case enums_1.ParameterCondition.MINIMUM_REMAINING_BUFFER_BYTES: {
280
+ if (remainingBufferBytes != null && (remainingBufferBytes < (condition.value)))
281
+ return false;
282
+ break;
283
+ }
284
+ case enums_1.ParameterCondition.DATA_TYPE_CLASS_EQUAL: {
285
+ if (Utils.getDataTypeClass(entry.dataType) !== condition.value)
286
+ return false;
287
+ break;
288
+ }
289
+ }
290
+ }
291
+ ;
292
+ }
293
+ return true;
294
+ }
295
+ isCluster(clusterName) {
296
+ return this.cluster.name === clusterName;
297
+ }
298
+ // List of commands is not completed, feel free to add more.
299
+ isCommand(commandName) {
300
+ return this.command.name === commandName;
301
+ }
302
+ }
303
+ exports.ZclFrame = ZclFrame;
304
+ //# sourceMappingURL=zclFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zclFrame.js","sourceRoot":"","sources":["../../../src/zspec/zcl/zclFrame.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ import { FrameControl } from './definition/tstype';
3
+ import { BuffaloZcl } from './buffaloZcl';
4
+ export declare class ZclHeader {
5
+ readonly frameControl: FrameControl;
6
+ readonly manufacturerCode: number | null;
7
+ readonly transactionSequenceNumber: number;
8
+ readonly commandIdentifier: number;
9
+ constructor(frameControl: FrameControl, manufacturerCode: number | null, transactionSequenceNumber: number, commandIdentifier: number);
10
+ /** Returns the amount of bytes used by this header */
11
+ get length(): number;
12
+ get isGlobal(): boolean;
13
+ get isSpecific(): boolean;
14
+ write(buffalo: BuffaloZcl): void;
15
+ static fromBuffer(buffer: Buffer): ZclHeader | undefined;
16
+ }
17
+ //# sourceMappingURL=zclHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zclHeader.d.ts","sourceRoot":"","sources":["../../../src/zspec/zcl/zclHeader.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAsBxC,qBAAa,SAAS;IAClB,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAgB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,SAAgB,yBAAyB,EAAE,MAAM,CAAC;IAClD,SAAgB,iBAAiB,EAAE,MAAM,CAAC;gBAE9B,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAOrI,sDAAsD;IACtD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAEM,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;WAmBzB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;CAgClE"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZclHeader = void 0;
4
+ const enums_1 = require("./definition/enums");
5
+ const buffaloZcl_1 = require("./buffaloZcl");
6
+ const logger_1 = require("../../utils/logger");
7
+ const NS = 'zh:zcl:header';
8
+ const HEADER_MINIMAL_LENGTH = 3;
9
+ const HEADER_WITH_MANUF_LENGTH = HEADER_MINIMAL_LENGTH + 2;
10
+ /** ZCL Header frame control frame type */
11
+ const HEADER_CTRL_FRAME_TYPE_MASK = 0x03;
12
+ const HEADER_CTRL_FRAME_TYPE_BIT = 0;
13
+ /** ZCL Header frame control manufacturer specific */
14
+ const HEADER_CTRL_MANUF_SPE_MASK = 0x04;
15
+ const HEADER_CTRL_MANUF_SPE_BIT = 2;
16
+ /** ZCL Header frame control direction */
17
+ const HEADER_CTRL_DIRECTION_MASK = 0x08;
18
+ const HEADER_CTRL_DIRECTION_BIT = 3;
19
+ /** ZCL Header frame control disable default response */
20
+ const HEADER_CTRL_DISABLE_DEF_RESP_MASK = 0x10;
21
+ const HEADER_CTRL_DISABLE_DEF_RESP_BIT = 4;
22
+ /** ZCL Header frame control reserved */
23
+ const HEADER_CTRL_RESERVED_MASK = 0xE0;
24
+ const HEADER_CTRL_RESERVED_BIT = 5;
25
+ class ZclHeader {
26
+ frameControl;
27
+ manufacturerCode;
28
+ transactionSequenceNumber;
29
+ commandIdentifier;
30
+ constructor(frameControl, manufacturerCode, transactionSequenceNumber, commandIdentifier) {
31
+ this.frameControl = frameControl;
32
+ this.manufacturerCode = manufacturerCode;
33
+ this.transactionSequenceNumber = transactionSequenceNumber;
34
+ this.commandIdentifier = commandIdentifier;
35
+ }
36
+ /** Returns the amount of bytes used by this header */
37
+ get length() {
38
+ return this.manufacturerCode === null ? HEADER_MINIMAL_LENGTH : HEADER_WITH_MANUF_LENGTH;
39
+ }
40
+ get isGlobal() {
41
+ return this.frameControl.frameType === enums_1.FrameType.GLOBAL;
42
+ }
43
+ get isSpecific() {
44
+ return this.frameControl.frameType === enums_1.FrameType.SPECIFIC;
45
+ }
46
+ write(buffalo) {
47
+ const frameControl = (((this.frameControl.frameType << HEADER_CTRL_FRAME_TYPE_BIT) & HEADER_CTRL_FRAME_TYPE_MASK) |
48
+ (((this.frameControl.manufacturerSpecific ? 1 : 0) << HEADER_CTRL_MANUF_SPE_BIT) & HEADER_CTRL_MANUF_SPE_MASK) |
49
+ ((this.frameControl.direction << HEADER_CTRL_DIRECTION_BIT) & HEADER_CTRL_DIRECTION_MASK) |
50
+ (((this.frameControl.disableDefaultResponse ? 1 : 0) << HEADER_CTRL_DISABLE_DEF_RESP_BIT) & HEADER_CTRL_DISABLE_DEF_RESP_MASK) |
51
+ ((this.frameControl.reservedBits << HEADER_CTRL_RESERVED_BIT) & HEADER_CTRL_RESERVED_MASK));
52
+ buffalo.writeUInt8(frameControl);
53
+ if (this.frameControl.manufacturerSpecific) {
54
+ buffalo.writeUInt16(this.manufacturerCode);
55
+ }
56
+ buffalo.writeUInt8(this.transactionSequenceNumber);
57
+ buffalo.writeUInt8(this.commandIdentifier);
58
+ }
59
+ static fromBuffer(buffer) {
60
+ // Returns `undefined` in case the ZclHeader cannot be parsed.
61
+ if (buffer.length < HEADER_MINIMAL_LENGTH) {
62
+ logger_1.logger.debug(`ZclHeader is too short.`, NS);
63
+ return undefined;
64
+ }
65
+ const buffalo = new buffaloZcl_1.BuffaloZcl(buffer);
66
+ const frameControlValue = buffalo.readUInt8();
67
+ const frameControl = {
68
+ frameType: (frameControlValue & HEADER_CTRL_FRAME_TYPE_MASK) >> HEADER_CTRL_FRAME_TYPE_BIT,
69
+ manufacturerSpecific: ((frameControlValue & HEADER_CTRL_MANUF_SPE_MASK) >> HEADER_CTRL_MANUF_SPE_BIT) === 1,
70
+ direction: (frameControlValue & HEADER_CTRL_DIRECTION_MASK) >> HEADER_CTRL_DIRECTION_BIT,
71
+ disableDefaultResponse: ((frameControlValue & HEADER_CTRL_DISABLE_DEF_RESP_MASK) >> HEADER_CTRL_DISABLE_DEF_RESP_BIT) === 1,
72
+ reservedBits: (frameControlValue & HEADER_CTRL_RESERVED_MASK) >> HEADER_CTRL_RESERVED_BIT,
73
+ };
74
+ let manufacturerCode = null;
75
+ if (frameControl.manufacturerSpecific) {
76
+ if (buffer.length < HEADER_WITH_MANUF_LENGTH) {
77
+ logger_1.logger.debug(`ZclHeader is too short for control with manufacturer-specific.`, NS);
78
+ return undefined;
79
+ }
80
+ manufacturerCode = buffalo.readUInt16();
81
+ }
82
+ const transactionSequenceNumber = buffalo.readUInt8();
83
+ const commandIdentifier = buffalo.readUInt8();
84
+ return new ZclHeader(frameControl, manufacturerCode, transactionSequenceNumber, commandIdentifier);
85
+ }
86
+ }
87
+ exports.ZclHeader = ZclHeader;
88
+ //# sourceMappingURL=zclHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zclHeader.js","sourceRoot":"","sources":["../../../src/zspec/zcl/zclHeader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Status } from './definition/status';
2
+ export declare class ZclStatusError extends Error {
3
+ code: Status;
4
+ constructor(code: Status);
5
+ }
6
+ //# sourceMappingURL=zclStatusError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zclStatusError.d.ts","sourceRoot":"","sources":["../../../src/zspec/zcl/zclStatusError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAE3C,qBAAa,cAAe,SAAQ,KAAK;IAC9B,IAAI,EAAE,MAAM,CAAC;gBAEP,IAAI,EAAE,MAAM;CAI5B"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZclStatusError = void 0;
4
+ const status_1 = require("./definition/status");
5
+ class ZclStatusError extends Error {
6
+ code;
7
+ constructor(code) {
8
+ super(`Status '${status_1.Status[code]}'`);
9
+ this.code = code;
10
+ }
11
+ }
12
+ exports.ZclStatusError = ZclStatusError;
13
+ //# sourceMappingURL=zclStatusError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zclStatusError.js","sourceRoot":"","sources":["../../../src/zspec/zcl/zclStatusError.ts"],"names":[],"mappings":";;;AAAA,gDAA2C;AAE3C,MAAa,cAAe,SAAQ,KAAK;IAC9B,IAAI,CAAS;IAEpB,YAAa,IAAY;QACrB,KAAK,CAAC,WAAW,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAPD,wCAOC"}