zigbee-herdsman 0.55.5 → 0.56.0

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 (336) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +14 -0
  3. package/dist/adapter/adapter.d.ts +16 -8
  4. package/dist/adapter/adapter.d.ts.map +1 -1
  5. package/dist/adapter/adapter.js +4 -2
  6. package/dist/adapter/adapter.js.map +1 -1
  7. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +11 -11
  8. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.js +98 -91
  10. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  11. package/dist/adapter/deconz/adapter/index.d.ts.map +1 -1
  12. package/dist/adapter/deconz/adapter/index.js +0 -2
  13. package/dist/adapter/deconz/adapter/index.js.map +1 -1
  14. package/dist/adapter/deconz/driver/driver.d.ts +13 -13
  15. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  16. package/dist/adapter/deconz/driver/driver.js +124 -126
  17. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  18. package/dist/adapter/deconz/driver/frame.d.ts.map +1 -1
  19. package/dist/adapter/deconz/driver/frame.js +1 -1
  20. package/dist/adapter/deconz/driver/frame.js.map +1 -1
  21. package/dist/adapter/deconz/driver/frameParser.d.ts +3 -1
  22. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  23. package/dist/adapter/deconz/driver/frameParser.js +31 -29
  24. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  25. package/dist/adapter/deconz/driver/parser.d.ts +3 -4
  26. package/dist/adapter/deconz/driver/parser.d.ts.map +1 -1
  27. package/dist/adapter/deconz/driver/parser.js +3 -28
  28. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  29. package/dist/adapter/ember/adapter/emberAdapter.d.ts +7 -8
  30. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  31. package/dist/adapter/ember/adapter/emberAdapter.js +63 -78
  32. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  33. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  34. package/dist/adapter/ember/adapter/oneWaitress.js +5 -2
  35. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  36. package/dist/adapter/ember/adapter/tokensManager.d.ts +1 -1
  37. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  38. package/dist/adapter/ember/adapter/tokensManager.js +2 -2
  39. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  40. package/dist/adapter/ember/ezsp/buffalo.d.ts +1 -3
  41. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -1
  42. package/dist/adapter/ember/ezsp/buffalo.js +11 -34
  43. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  44. package/dist/adapter/ember/ezsp/ezsp.d.ts +22 -38
  45. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  46. package/dist/adapter/ember/ezsp/ezsp.js +36 -65
  47. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  48. package/dist/adapter/ember/types.d.ts +16 -23
  49. package/dist/adapter/ember/types.d.ts.map +1 -1
  50. package/dist/adapter/ember/uart/ash.d.ts +6 -22
  51. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  52. package/dist/adapter/ember/uart/ash.js +97 -115
  53. package/dist/adapter/ember/uart/ash.js.map +1 -1
  54. package/dist/adapter/ember/uart/queues.d.ts +9 -9
  55. package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
  56. package/dist/adapter/ember/uart/queues.js +26 -25
  57. package/dist/adapter/ember/uart/queues.js.map +1 -1
  58. package/dist/adapter/events.d.ts +1 -9
  59. package/dist/adapter/events.d.ts.map +1 -1
  60. package/dist/adapter/events.js +0 -10
  61. package/dist/adapter/events.js.map +1 -1
  62. package/dist/adapter/ezsp/adapter/backup.d.ts +1 -1
  63. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  64. package/dist/adapter/ezsp/adapter/backup.js +6 -6
  65. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  66. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +6 -6
  67. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  68. package/dist/adapter/ezsp/adapter/ezspAdapter.js +24 -29
  69. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  70. package/dist/adapter/ezsp/adapter/index.d.ts.map +1 -1
  71. package/dist/adapter/ezsp/adapter/index.js +0 -2
  72. package/dist/adapter/ezsp/adapter/index.js.map +1 -1
  73. package/dist/adapter/ezsp/driver/commands.d.ts +2 -2
  74. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  75. package/dist/adapter/ezsp/driver/commands.js +111 -111
  76. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  77. package/dist/adapter/ezsp/driver/driver.d.ts +0 -1
  78. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  79. package/dist/adapter/ezsp/driver/driver.js +20 -11
  80. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  81. package/dist/adapter/ezsp/driver/ezsp.d.ts +2 -2
  82. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  83. package/dist/adapter/ezsp/driver/ezsp.js +7 -8
  84. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  85. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
  86. package/dist/adapter/ezsp/driver/index.js +0 -1
  87. package/dist/adapter/ezsp/driver/index.js.map +1 -1
  88. package/dist/adapter/ezsp/driver/multicast.js +1 -1
  89. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  90. package/dist/adapter/ezsp/driver/parser.d.ts +1 -2
  91. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  92. package/dist/adapter/ezsp/driver/parser.js +2 -8
  93. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  94. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -1
  95. package/dist/adapter/ezsp/driver/types/basic.js +0 -1
  96. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  97. package/dist/adapter/ezsp/driver/types/index.d.ts +1 -1
  98. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  99. package/dist/adapter/ezsp/driver/types/index.js +0 -1
  100. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  101. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  102. package/dist/adapter/ezsp/driver/types/named.js +0 -1
  103. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  104. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  105. package/dist/adapter/ezsp/driver/types/struct.js +62 -1
  106. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  107. package/dist/adapter/ezsp/driver/uart.d.ts +2 -3
  108. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  109. package/dist/adapter/ezsp/driver/uart.js +8 -12
  110. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  111. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +3 -1
  112. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -1
  113. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  114. package/dist/adapter/ezsp/driver/utils/index.d.ts +1 -15
  115. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
  116. package/dist/adapter/ezsp/driver/utils/index.js +1 -39
  117. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  118. package/dist/adapter/serialPort.d.ts +7 -2
  119. package/dist/adapter/serialPort.d.ts.map +1 -1
  120. package/dist/adapter/serialPort.js +5 -0
  121. package/dist/adapter/serialPort.js.map +1 -1
  122. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +1 -1
  123. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  124. package/dist/adapter/z-stack/adapter/adapter-backup.js +25 -17
  125. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  126. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +1 -1
  127. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -1
  128. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +27 -12
  129. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  130. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  131. package/dist/adapter/z-stack/adapter/manager.js +10 -9
  132. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  133. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +6 -6
  134. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  135. package/dist/adapter/z-stack/adapter/zStackAdapter.js +37 -30
  136. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  137. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +1 -1
  138. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +0 -2
  139. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  140. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +1 -1
  141. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +5 -0
  142. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
  143. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +1 -1
  144. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +0 -1
  145. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
  146. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +1 -1
  147. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +5 -0
  148. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
  149. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +1 -1
  150. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +0 -1
  151. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
  152. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +1 -1
  153. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +5 -0
  154. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
  155. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +1 -1
  156. package/dist/adapter/z-stack/structs/entries/channel-list.js +0 -1
  157. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
  158. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +1 -1
  159. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -1
  160. package/dist/adapter/z-stack/structs/entries/has-configured.js +11 -5
  161. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
  162. package/dist/adapter/z-stack/structs/entries/nib.d.ts +1 -1
  163. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -1
  164. package/dist/adapter/z-stack/structs/entries/nib.js +5 -1
  165. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
  166. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +1 -1
  167. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -1
  168. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +8 -2
  169. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
  170. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +1 -1
  171. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -1
  172. package/dist/adapter/z-stack/structs/entries/nwk-key.js +8 -2
  173. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
  174. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +1 -1
  175. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +0 -1
  176. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
  177. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +1 -1
  178. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +0 -1
  179. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
  180. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +1 -1
  181. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +5 -0
  182. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
  183. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +1 -1
  184. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +0 -1
  185. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  186. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -1
  187. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +6 -0
  188. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
  189. package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
  190. package/dist/adapter/z-stack/structs/struct.js +11 -1
  191. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  192. package/dist/adapter/z-stack/structs/table.d.ts +1 -1
  193. package/dist/adapter/z-stack/structs/table.d.ts.map +1 -1
  194. package/dist/adapter/z-stack/structs/table.js +18 -13
  195. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  196. package/dist/adapter/z-stack/unpi/frame.d.ts +2 -2
  197. package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
  198. package/dist/adapter/z-stack/unpi/frame.js +1 -1
  199. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  200. package/dist/adapter/z-stack/unpi/parser.js +1 -1
  201. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  202. package/dist/adapter/z-stack/utils/network-options.js +1 -1
  203. package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
  204. package/dist/adapter/z-stack/znp/znp.d.ts +5 -6
  205. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  206. package/dist/adapter/z-stack/znp/znp.js +19 -26
  207. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  208. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
  209. package/dist/adapter/z-stack/znp/zpiObject.js +2 -2
  210. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  211. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +9 -9
  212. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  213. package/dist/adapter/zigate/adapter/zigateAdapter.js +92 -118
  214. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  215. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +1 -1
  216. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  217. package/dist/adapter/zigate/driver/buffaloZiGate.js +3 -3
  218. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  219. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  220. package/dist/adapter/zigate/driver/commandType.js +3 -2
  221. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  222. package/dist/adapter/zigate/driver/constants.d.ts +7 -1
  223. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  224. package/dist/adapter/zigate/driver/constants.js +1 -2
  225. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  226. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  227. package/dist/adapter/zigate/driver/frame.js +3 -4
  228. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  229. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
  230. package/dist/adapter/zigate/driver/messageType.js +1 -2
  231. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  232. package/dist/adapter/zigate/driver/ziGateObject.d.ts +5 -5
  233. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  234. package/dist/adapter/zigate/driver/ziGateObject.js +8 -9
  235. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  236. package/dist/adapter/zigate/driver/zigate.d.ts +7 -10
  237. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  238. package/dist/adapter/zigate/driver/zigate.js +33 -39
  239. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  240. package/dist/controller/controller.d.ts +18 -6
  241. package/dist/controller/controller.d.ts.map +1 -1
  242. package/dist/controller/controller.js +95 -103
  243. package/dist/controller/controller.js.map +1 -1
  244. package/dist/controller/events.d.ts +2 -13
  245. package/dist/controller/events.d.ts.map +1 -1
  246. package/dist/controller/events.js +0 -13
  247. package/dist/controller/events.js.map +1 -1
  248. package/dist/controller/greenPower.d.ts +6 -2
  249. package/dist/controller/greenPower.d.ts.map +1 -1
  250. package/dist/controller/greenPower.js +17 -13
  251. package/dist/controller/greenPower.js.map +1 -1
  252. package/dist/controller/helpers/request.d.ts +1 -1
  253. package/dist/controller/helpers/request.d.ts.map +1 -1
  254. package/dist/controller/helpers/request.js.map +1 -1
  255. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  256. package/dist/controller/helpers/requestQueue.js +1 -1
  257. package/dist/controller/helpers/requestQueue.js.map +1 -1
  258. package/dist/controller/helpers/zclFrameConverter.d.ts +2 -2
  259. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  260. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  261. package/dist/controller/model/device.d.ts +30 -28
  262. package/dist/controller/model/device.d.ts.map +1 -1
  263. package/dist/controller/model/device.js +41 -29
  264. package/dist/controller/model/device.js.map +1 -1
  265. package/dist/controller/model/endpoint.d.ts +5 -2
  266. package/dist/controller/model/endpoint.d.ts.map +1 -1
  267. package/dist/controller/model/endpoint.js +92 -93
  268. package/dist/controller/model/endpoint.js.map +1 -1
  269. package/dist/controller/model/entity.d.ts +5 -3
  270. package/dist/controller/model/entity.d.ts.map +1 -1
  271. package/dist/controller/model/entity.js +2 -2
  272. package/dist/controller/model/entity.js.map +1 -1
  273. package/dist/controller/model/group.d.ts +1 -0
  274. package/dist/controller/model/group.d.ts.map +1 -1
  275. package/dist/controller/model/group.js +36 -28
  276. package/dist/controller/model/group.js.map +1 -1
  277. package/dist/controller/touchlink.d.ts.map +1 -1
  278. package/dist/controller/touchlink.js +6 -5
  279. package/dist/controller/touchlink.js.map +1 -1
  280. package/dist/controller/tstype.d.ts +1 -4
  281. package/dist/controller/tstype.d.ts.map +1 -1
  282. package/dist/controller/tstype.js +0 -5
  283. package/dist/controller/tstype.js.map +1 -1
  284. package/dist/models/backup-storage-unified.d.ts +2 -2
  285. package/dist/models/backup-storage-unified.d.ts.map +1 -1
  286. package/dist/models/backup.d.ts +1 -1
  287. package/dist/models/backup.d.ts.map +1 -1
  288. package/dist/utils/backup.d.ts.map +1 -1
  289. package/dist/utils/backup.js +20 -52
  290. package/dist/utils/backup.js.map +1 -1
  291. package/dist/utils/index.d.ts +2 -3
  292. package/dist/utils/index.d.ts.map +1 -1
  293. package/dist/utils/index.js +3 -5
  294. package/dist/utils/index.js.map +1 -1
  295. package/dist/utils/logger.d.ts +1 -1
  296. package/dist/utils/logger.d.ts.map +1 -1
  297. package/dist/utils/queue.d.ts.map +1 -1
  298. package/dist/utils/queue.js +8 -8
  299. package/dist/utils/queue.js.map +1 -1
  300. package/dist/utils/utils.d.ts +5 -0
  301. package/dist/utils/utils.d.ts.map +1 -0
  302. package/dist/utils/utils.js +24 -0
  303. package/dist/utils/utils.js.map +1 -0
  304. package/dist/zspec/index.js +0 -10
  305. package/dist/zspec/index.js.map +1 -1
  306. package/dist/zspec/utils.d.ts.map +1 -1
  307. package/dist/zspec/utils.js +7 -1
  308. package/dist/zspec/utils.js.map +1 -1
  309. package/dist/zspec/zcl/buffaloZcl.js +12 -12
  310. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  311. package/dist/zspec/zcl/utils.d.ts +1 -1
  312. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  313. package/dist/zspec/zcl/utils.js +21 -20
  314. package/dist/zspec/zcl/utils.js.map +1 -1
  315. package/dist/zspec/zcl/zclFrame.d.ts +3 -3
  316. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  317. package/dist/zspec/zcl/zclFrame.js +10 -17
  318. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  319. package/dist/zspec/zcl/zclHeader.d.ts +2 -2
  320. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
  321. package/dist/zspec/zcl/zclHeader.js +3 -3
  322. package/dist/zspec/zcl/zclHeader.js.map +1 -1
  323. package/dist/zspec/zdo/buffaloZdo.d.ts +1 -1
  324. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
  325. package/dist/zspec/zdo/buffaloZdo.js +12 -8
  326. package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
  327. package/package.json +3 -3
  328. package/tsconfig.json +1 -0
  329. package/dist/utils/assertString.d.ts +0 -3
  330. package/dist/utils/assertString.d.ts.map +0 -1
  331. package/dist/utils/assertString.js +0 -9
  332. package/dist/utils/assertString.js.map +0 -1
  333. package/dist/utils/isNumberArray.d.ts +0 -3
  334. package/dist/utils/isNumberArray.d.ts.map +0 -1
  335. package/dist/utils/isNumberArray.js +0 -7
  336. package/dist/utils/isNumberArray.js.map +0 -1
@@ -29,21 +29,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const assert_1 = __importDefault(require("assert"));
30
30
  const events_1 = __importDefault(require("events"));
31
31
  const fs_1 = __importDefault(require("fs"));
32
+ const mixin_deep_1 = __importDefault(require("mixin-deep"));
32
33
  const adapter_1 = require("../adapter");
33
34
  const utils_1 = require("../utils");
35
+ const logger_1 = require("../utils/logger");
36
+ const utils_2 = require("../utils/utils");
34
37
  const Zcl = __importStar(require("../zspec/zcl"));
35
38
  const database_1 = __importDefault(require("./database"));
36
- const Events = __importStar(require("./events"));
37
39
  const greenPower_1 = __importDefault(require("./greenPower"));
38
40
  const helpers_1 = require("./helpers");
39
41
  const model_1 = require("./model");
40
- const touchlink_1 = __importDefault(require("./touchlink"));
41
- const tstype_1 = require("./tstype");
42
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
43
- // @ts-ignore
44
- const mixin_deep_1 = __importDefault(require("mixin-deep"));
45
- const logger_1 = require("../utils/logger");
46
42
  const group_1 = __importDefault(require("./model/group"));
43
+ const touchlink_1 = __importDefault(require("./touchlink"));
47
44
  const NS = 'zh:controller';
48
45
  async function catcho(func, errorMessage) {
49
46
  try {
@@ -62,26 +59,26 @@ const DefaultOptions = {
62
59
  channelList: [11],
63
60
  },
64
61
  serialPort: {},
65
- databasePath: null,
66
- databaseBackupPath: null,
67
- backupPath: null,
68
62
  adapter: { disableLED: false },
69
- acceptJoiningDeviceHandler: null,
70
63
  };
71
64
  /**
72
65
  * @noInheritDoc
73
66
  */
74
67
  class Controller extends events_1.default.EventEmitter {
75
68
  options;
69
+ // @ts-expect-error assigned and validated in start()
76
70
  database;
71
+ // @ts-expect-error assigned and validated in start()
77
72
  adapter;
73
+ // @ts-expect-error assigned and validated in start()
78
74
  greenPower;
75
+ // @ts-expect-error assigned and validated in start()
76
+ touchlink;
79
77
  permitJoinNetworkClosedTimer;
80
78
  permitJoinTimeoutTimer;
81
79
  permitJoinTimeout;
82
80
  backupTimer;
83
81
  databaseSaveTimer;
84
- touchlink;
85
82
  stopping;
86
83
  adapterDisconnected;
87
84
  networkParametersCached;
@@ -101,13 +98,13 @@ class Controller extends events_1.default.EventEmitter {
101
98
  throw new Error(`'${channel}' is an invalid channel, use a channel between 11 - 26.`);
102
99
  }
103
100
  }
104
- if (!Array.isArray(this.options.network.networkKey) || this.options.network.networkKey.length !== 16) {
105
- throw new Error(`Network key must be 16 digits long, got ${this.options.network.networkKey.length}.`);
101
+ if (!(0, utils_2.isNumberArrayOfLength)(this.options.network.networkKey, 16)) {
102
+ throw new Error(`Network key must be a 16 digits long array, got ${this.options.network.networkKey}.`);
106
103
  }
107
- if (!Array.isArray(this.options.network.extendedPanID) || this.options.network.extendedPanID.length !== 8) {
108
- throw new Error(`ExtendedPanID must be 8 digits long, got ${this.options.network.extendedPanID.length}.`);
104
+ if (!(0, utils_2.isNumberArrayOfLength)(this.options.network.extendedPanID, 8)) {
105
+ throw new Error(`ExtendedPanID must be an 8 digits long array, got ${this.options.network.extendedPanID}.`);
109
106
  }
110
- if (this.options.network.panID >= 0xffff || this.options.network.panID <= 0) {
107
+ if (this.options.network.panID < 1 || this.options.network.panID >= 0xffff) {
111
108
  throw new Error(`PanID must have a value of 0x0001 (1) - 0xFFFE (65534), got ${this.options.network.panID}.`);
112
109
  }
113
110
  }
@@ -139,16 +136,16 @@ class Controller extends events_1.default.EventEmitter {
139
136
  }
140
137
  model_1.Entity.injectAdapter(this.adapter);
141
138
  // log injection
142
- logger_1.logger.debug(`Injected database: ${this.database != null}, adapter: ${this.adapter != null}`, NS);
139
+ logger_1.logger.debug(`Injected database: ${this.database != undefined}, adapter: ${this.adapter != undefined}`, NS);
143
140
  this.greenPower = new greenPower_1.default(this.adapter);
144
- this.greenPower.on(tstype_1.GreenPowerEvents.deviceJoined, this.onDeviceJoinedGreenPower.bind(this));
141
+ this.greenPower.on('deviceJoined', this.onDeviceJoinedGreenPower.bind(this));
145
142
  // Register adapter events
146
- this.adapter.on(adapter_1.Events.Events.deviceJoined, this.onDeviceJoined.bind(this));
147
- this.adapter.on(adapter_1.Events.Events.zclPayload, this.onZclPayload.bind(this));
148
- this.adapter.on(adapter_1.Events.Events.disconnected, this.onAdapterDisconnected.bind(this));
149
- this.adapter.on(adapter_1.Events.Events.deviceAnnounce, this.onDeviceAnnounce.bind(this));
150
- this.adapter.on(adapter_1.Events.Events.deviceLeave, this.onDeviceLeave.bind(this));
151
- this.adapter.on(adapter_1.Events.Events.networkAddress, this.onNetworkAddress.bind(this));
143
+ this.adapter.on('deviceJoined', this.onDeviceJoined.bind(this));
144
+ this.adapter.on('zclPayload', this.onZclPayload.bind(this));
145
+ this.adapter.on('disconnected', this.onAdapterDisconnected.bind(this));
146
+ this.adapter.on('deviceAnnounce', this.onDeviceAnnounce.bind(this));
147
+ this.adapter.on('deviceLeave', this.onDeviceLeave.bind(this));
148
+ this.adapter.on('networkAddress', this.onNetworkAddress.bind(this));
152
149
  if (startResult === 'reset') {
153
150
  if (this.options.databaseBackupPath && fs_1.default.existsSync(this.options.databasePath)) {
154
151
  fs_1.default.copyFileSync(this.options.databasePath, this.options.databaseBackupPath);
@@ -197,11 +194,16 @@ class Controller extends events_1.default.EventEmitter {
197
194
  }
198
195
  async addInstallCode(installCode) {
199
196
  const aqaraMatch = installCode.match(/^G\$M:.+\$A:(.+)\$I:(.+)$/);
197
+ const pipeMatch = installCode.match(/^(.+)\|(.+)$/);
200
198
  let ieeeAddr, key;
201
199
  if (aqaraMatch) {
202
200
  ieeeAddr = aqaraMatch[1];
203
201
  key = aqaraMatch[2];
204
202
  }
203
+ else if (pipeMatch) {
204
+ ieeeAddr = pipeMatch[1];
205
+ key = pipeMatch[2];
206
+ }
205
207
  else {
206
208
  (0, assert_1.default)(installCode.length === 95 || installCode.length === 91, `Unsupported install code, got ${installCode.length} chars, expected 95 or 91`);
207
209
  const keyStart = installCode.length - (installCode.length === 95 ? 36 : 32);
@@ -209,6 +211,7 @@ class Controller extends events_1.default.EventEmitter {
209
211
  key = installCode.substring(keyStart, installCode.length);
210
212
  }
211
213
  ieeeAddr = `0x${ieeeAddr}`;
214
+ // match valid else asserted above
212
215
  key = Buffer.from(key.match(/.{1,2}/g).map((d) => parseInt(d, 16)));
213
216
  await this.adapter.addInstallCode(ieeeAddr, key);
214
217
  }
@@ -218,45 +221,43 @@ class Controller extends events_1.default.EventEmitter {
218
221
  async permitJoinInternal(permit, reason, device, time) {
219
222
  clearInterval(this.permitJoinNetworkClosedTimer);
220
223
  clearInterval(this.permitJoinTimeoutTimer);
221
- this.permitJoinNetworkClosedTimer = null;
222
- this.permitJoinTimeoutTimer = null;
224
+ this.permitJoinNetworkClosedTimer = undefined;
225
+ this.permitJoinTimeoutTimer = undefined;
223
226
  this.permitJoinTimeout = undefined;
224
227
  if (permit) {
225
- await this.adapter.permitJoin(254, !device ? null : device.networkAddress);
226
- await this.greenPower.permitJoin(254, !device ? null : device.networkAddress);
228
+ await this.adapter.permitJoin(254, device?.networkAddress);
229
+ await this.greenPower.permitJoin(254, device?.networkAddress);
227
230
  // Zigbee 3 networks automatically close after max 255 seconds, keep network open.
228
231
  this.permitJoinNetworkClosedTimer = setInterval(async () => {
229
232
  await catcho(async () => {
230
- await this.adapter.permitJoin(254, !device ? null : device.networkAddress);
231
- await this.greenPower.permitJoin(254, !device ? null : device.networkAddress);
233
+ await this.adapter.permitJoin(254, device?.networkAddress);
234
+ await this.greenPower.permitJoin(254, device?.networkAddress);
232
235
  }, 'Failed to keep permit join alive');
233
236
  }, 200 * 1000);
234
237
  if (typeof time === 'number') {
235
238
  this.permitJoinTimeout = time;
236
239
  this.permitJoinTimeoutTimer = setInterval(async () => {
240
+ // assumed valid number while in interval
237
241
  this.permitJoinTimeout--;
238
242
  if (this.permitJoinTimeout <= 0) {
239
243
  await this.permitJoinInternal(false, 'timer_expired');
240
244
  }
241
245
  else {
242
- const data = { permitted: true, timeout: this.permitJoinTimeout, reason };
243
- this.emit(Events.Events.permitJoinChanged, data);
246
+ this.emit('permitJoinChanged', { permitted: true, timeout: this.permitJoinTimeout, reason });
244
247
  }
245
248
  }, 1000);
246
249
  }
247
- const data = { permitted: true, reason, timeout: this.permitJoinTimeout };
248
- this.emit(Events.Events.permitJoinChanged, data);
250
+ this.emit('permitJoinChanged', { permitted: true, reason, timeout: this.permitJoinTimeout });
249
251
  }
250
252
  else {
251
253
  logger_1.logger.debug('Disable joining', NS);
252
- await this.greenPower.permitJoin(0, null);
253
- await this.adapter.permitJoin(0, null);
254
- const data = { permitted: false, reason, timeout: this.permitJoinTimeout };
255
- this.emit(Events.Events.permitJoinChanged, data);
254
+ await this.greenPower.permitJoin(0);
255
+ await this.adapter.permitJoin(0);
256
+ this.emit('permitJoinChanged', { permitted: false, reason, timeout: this.permitJoinTimeout });
256
257
  }
257
258
  }
258
259
  getPermitJoin() {
259
- return this.permitJoinNetworkClosedTimer != null;
260
+ return this.permitJoinNetworkClosedTimer != undefined;
260
261
  }
261
262
  getPermitJoinTimeout() {
262
263
  return this.permitJoinTimeout;
@@ -270,11 +271,7 @@ class Controller extends events_1.default.EventEmitter {
270
271
  async stop() {
271
272
  this.stopping = true;
272
273
  // Unregister adapter events
273
- this.adapter.removeAllListeners(adapter_1.Events.Events.deviceJoined);
274
- this.adapter.removeAllListeners(adapter_1.Events.Events.zclPayload);
275
- this.adapter.removeAllListeners(adapter_1.Events.Events.disconnected);
276
- this.adapter.removeAllListeners(adapter_1.Events.Events.deviceAnnounce);
277
- this.adapter.removeAllListeners(adapter_1.Events.Events.deviceLeave);
274
+ this.adapter.removeAllListeners();
278
275
  clearInterval(this.backupTimer);
279
276
  clearInterval(this.databaseSaveTimer);
280
277
  if (this.adapterDisconnected) {
@@ -408,7 +405,7 @@ class Controller extends events_1.default.EventEmitter {
408
405
  logger_1.logger.warning(`Changing channel from '${oldChannel}' to '${newChannel}'`, NS);
409
406
  await this.adapter.changeChannel(newChannel);
410
407
  logger_1.logger.info(`Channel changed to '${newChannel}'`, NS);
411
- this.networkParametersCached = null; // invalidate cache
408
+ this.networkParametersCached = undefined; // invalidate cache
412
409
  }
413
410
  /**
414
411
  * Set transmit power of the adapter
@@ -424,13 +421,12 @@ class Controller extends events_1.default.EventEmitter {
424
421
  return;
425
422
  }
426
423
  device.updateLastSeen();
427
- this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'networkAddress' });
424
+ this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'networkAddress' });
428
425
  if (device.networkAddress !== payload.networkAddress) {
429
426
  logger_1.logger.debug(`Device '${payload.ieeeAddr}' got new networkAddress '${payload.networkAddress}'`, NS);
430
427
  device.networkAddress = payload.networkAddress;
431
428
  device.save();
432
- const data = { device };
433
- this.selfAndDeviceEmit(device, Events.Events.deviceNetworkAddressChanged, data);
429
+ this.selfAndDeviceEmit(device, 'deviceNetworkAddressChanged', { device });
434
430
  }
435
431
  }
436
432
  onDeviceAnnounce(payload) {
@@ -441,18 +437,18 @@ class Controller extends events_1.default.EventEmitter {
441
437
  return;
442
438
  }
443
439
  device.updateLastSeen();
444
- this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'deviceAnnounce' });
440
+ this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'deviceAnnounce' });
445
441
  device.implicitCheckin();
446
442
  if (device.networkAddress !== payload.networkAddress) {
447
443
  logger_1.logger.debug(`Device '${payload.ieeeAddr}' announced with new networkAddress '${payload.networkAddress}'`, NS);
448
444
  device.networkAddress = payload.networkAddress;
449
445
  device.save();
450
446
  }
451
- const data = { device };
452
- this.selfAndDeviceEmit(device, Events.Events.deviceAnnounce, data);
447
+ this.selfAndDeviceEmit(device, 'deviceAnnounce', { device });
453
448
  }
454
449
  onDeviceLeave(payload) {
455
450
  logger_1.logger.debug(`Device leave '${payload.ieeeAddr}'`, NS);
451
+ // XXX: seems type is not properly detected?
456
452
  const device = payload.ieeeAddr ? model_1.Device.byIeeeAddr(payload.ieeeAddr) : model_1.Device.byNetworkAddress(payload.networkAddress);
457
453
  if (!device) {
458
454
  logger_1.logger.debug(`Device leave is from unknown or already deleted device '${payload.ieeeAddr ?? payload.networkAddress}'`, NS);
@@ -460,14 +456,13 @@ class Controller extends events_1.default.EventEmitter {
460
456
  }
461
457
  logger_1.logger.debug(`Removing device from database '${device.ieeeAddr}'`, NS);
462
458
  device.removeFromDatabase();
463
- const data = { ieeeAddr: device.ieeeAddr };
464
- this.selfAndDeviceEmit(device, Events.Events.deviceLeave, data);
459
+ this.selfAndDeviceEmit(device, 'deviceLeave', { ieeeAddr: device.ieeeAddr });
465
460
  }
466
461
  async onAdapterDisconnected() {
467
462
  logger_1.logger.debug(`Adapter disconnected`, NS);
468
463
  this.adapterDisconnected = true;
469
464
  await catcho(() => this.adapter.stop(), 'Failed to stop adapter on disconnect');
470
- this.emit(Events.Events.adapterDisconnected);
465
+ this.emit('adapterDisconnected');
471
466
  }
472
467
  async onDeviceJoinedGreenPower(payload) {
473
468
  logger_1.logger.debug(`Green power device '${JSON.stringify(payload)}' joined`, NS);
@@ -480,23 +475,21 @@ class Controller extends events_1.default.EventEmitter {
480
475
  if (!device) {
481
476
  logger_1.logger.debug(`New green power device '${ieeeAddr}' joined`, NS);
482
477
  logger_1.logger.debug(`Creating device '${ieeeAddr}'`, NS);
483
- device = model_1.Device.create('GreenPower', ieeeAddr, payload.networkAddress, null, undefined, undefined, modelID, true, []);
478
+ device = model_1.Device.create('GreenPower', ieeeAddr, payload.networkAddress, undefined, undefined, undefined, modelID, true, []);
484
479
  device.save();
485
- this.selfAndDeviceEmit(device, Events.Events.deviceJoined, { device });
486
- const deviceInterviewPayload = { status: 'successful', device };
487
- this.selfAndDeviceEmit(device, Events.Events.deviceInterview, deviceInterviewPayload);
480
+ this.selfAndDeviceEmit(device, 'deviceJoined', { device });
481
+ this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'successful', device });
488
482
  }
489
483
  else if (device.isDeleted) {
490
484
  logger_1.logger.debug(`Deleted green power device '${ieeeAddr}' joined, undeleting`, NS);
491
485
  device.undelete(true);
492
- this.selfAndDeviceEmit(device, Events.Events.deviceJoined, { device });
493
- const deviceInterviewPayload = { status: 'successful', device };
494
- this.selfAndDeviceEmit(device, Events.Events.deviceInterview, deviceInterviewPayload);
486
+ this.selfAndDeviceEmit(device, 'deviceJoined', { device });
487
+ this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'successful', device });
495
488
  }
496
489
  }
497
- selfAndDeviceEmit(device, event, data) {
498
- device?.emit(event, data);
499
- this.emit(event, data);
490
+ selfAndDeviceEmit(device, event, ...args) {
491
+ device.emit(event, ...args);
492
+ this.emit(event, ...args);
500
493
  }
501
494
  async onDeviceJoined(payload) {
502
495
  logger_1.logger.debug(`Device '${payload.ieeeAddr}' joined`, NS);
@@ -515,12 +508,12 @@ class Controller extends events_1.default.EventEmitter {
515
508
  logger_1.logger.debug(`New device '${payload.ieeeAddr}' joined`, NS);
516
509
  logger_1.logger.debug(`Creating device '${payload.ieeeAddr}'`, NS);
517
510
  device = model_1.Device.create('Unknown', payload.ieeeAddr, payload.networkAddress, undefined, undefined, undefined, undefined, false, []);
518
- this.selfAndDeviceEmit(device, Events.Events.deviceJoined, { device });
511
+ this.selfAndDeviceEmit(device, 'deviceJoined', { device });
519
512
  }
520
513
  else if (device.isDeleted) {
521
514
  logger_1.logger.debug(`Deleted device '${payload.ieeeAddr}' joined, undeleting`, NS);
522
515
  device.undelete();
523
- this.selfAndDeviceEmit(device, Events.Events.deviceJoined, { device });
516
+ this.selfAndDeviceEmit(device, 'deviceJoined', { device });
524
517
  }
525
518
  if (device.networkAddress !== payload.networkAddress) {
526
519
  logger_1.logger.debug(`Device '${payload.ieeeAddr}' is already in database with different network address, updating network address`, NS);
@@ -528,22 +521,19 @@ class Controller extends events_1.default.EventEmitter {
528
521
  device.save();
529
522
  }
530
523
  device.updateLastSeen();
531
- this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'deviceJoined' });
524
+ this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'deviceJoined' });
532
525
  device.implicitCheckin();
533
526
  if (!device.interviewCompleted && !device.interviewing) {
534
- const payloadStart = { status: 'started', device };
535
527
  logger_1.logger.info(`Interview for '${device.ieeeAddr}' started`, NS);
536
- this.selfAndDeviceEmit(device, Events.Events.deviceInterview, payloadStart);
528
+ this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'started', device });
537
529
  try {
538
530
  await device.interview();
539
531
  logger_1.logger.info(`Succesfully interviewed '${device.ieeeAddr}'`, NS);
540
- const event = { status: 'successful', device };
541
- this.selfAndDeviceEmit(device, Events.Events.deviceInterview, event);
532
+ this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'successful', device });
542
533
  }
543
534
  catch (error) {
544
535
  logger_1.logger.error(`Interview failed for '${device.ieeeAddr} with error '${error}'`, NS);
545
- const event = { status: 'failed', device };
546
- this.selfAndDeviceEmit(device, Events.Events.deviceInterview, event);
536
+ this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'failed', device });
547
537
  }
548
538
  }
549
539
  else {
@@ -551,8 +541,8 @@ class Controller extends events_1.default.EventEmitter {
551
541
  }
552
542
  }
553
543
  async onZclPayload(payload) {
554
- let frame = undefined;
555
- let device = undefined;
544
+ let frame;
545
+ let device;
556
546
  if (payload.clusterID === Zcl.Clusters.touchlink.ID) {
557
547
  // This is handled by touchlink
558
548
  return;
@@ -589,7 +579,7 @@ class Controller extends events_1.default.EventEmitter {
589
579
  device = model_1.Device.byNetworkAddress(payload.groupID);
590
580
  }
591
581
  try {
592
- frame = Zcl.Frame.fromBuffer(payload.clusterID, payload.header, payload.data, device?.customClusters);
582
+ frame = Zcl.Frame.fromBuffer(payload.clusterID, payload.header, payload.data, device ? device.customClusters : {});
593
583
  }
594
584
  catch (error) {
595
585
  logger_1.logger.debug(`Failed to parse frame: ${error}`, NS);
@@ -614,9 +604,9 @@ class Controller extends events_1.default.EventEmitter {
614
604
  endpoint = device.createEndpoint(payload.endpoint);
615
605
  }
616
606
  // Parse command for event
617
- let type = undefined;
618
- let data;
619
- let clusterName = undefined;
607
+ let type;
608
+ let data = {};
609
+ let clusterName;
620
610
  const meta = {};
621
611
  if (frame) {
622
612
  const command = frame.command;
@@ -625,23 +615,26 @@ class Controller extends events_1.default.EventEmitter {
625
615
  meta.manufacturerCode = frame.header.manufacturerCode;
626
616
  meta.frameControl = frame.header.frameControl;
627
617
  if (frame.header.isGlobal) {
628
- if (frame.isCommand('report')) {
629
- type = 'attributeReport';
630
- data = helpers_1.ZclFrameConverter.attributeKeyValue(frame, device.manufacturerID, device.customClusters);
631
- }
632
- else if (frame.isCommand('read')) {
633
- type = 'read';
634
- data = helpers_1.ZclFrameConverter.attributeList(frame, device.manufacturerID, device.customClusters);
635
- }
636
- else if (frame.isCommand('write')) {
637
- type = 'write';
638
- data = helpers_1.ZclFrameConverter.attributeKeyValue(frame, device.manufacturerID, device.customClusters);
639
- }
640
- else {
641
- /* istanbul ignore else */
642
- if (frame.isCommand('readRsp')) {
618
+ switch (frame.command.name) {
619
+ case 'report': {
620
+ type = 'attributeReport';
621
+ data = helpers_1.ZclFrameConverter.attributeKeyValue(frame, device.manufacturerID, device.customClusters);
622
+ break;
623
+ }
624
+ case 'read': {
625
+ type = 'read';
626
+ data = helpers_1.ZclFrameConverter.attributeList(frame, device.manufacturerID, device.customClusters);
627
+ break;
628
+ }
629
+ case 'write': {
630
+ type = 'write';
631
+ data = helpers_1.ZclFrameConverter.attributeKeyValue(frame, device.manufacturerID, device.customClusters);
632
+ break;
633
+ }
634
+ case 'readRsp': {
643
635
  type = 'readResponse';
644
636
  data = helpers_1.ZclFrameConverter.attributeKeyValue(frame, device.manufacturerID, device.customClusters);
637
+ break;
645
638
  }
646
639
  }
647
640
  }
@@ -654,10 +647,11 @@ class Controller extends events_1.default.EventEmitter {
654
647
  }
655
648
  if (type === 'readResponse' || type === 'attributeReport') {
656
649
  // Some device report, e.g. it's modelID through a readResponse or attributeReport
657
- for (const [key, value] of Object.entries(data)) {
650
+ for (const key in data) {
658
651
  const property = model_1.Device.ReportablePropertiesMapping[key];
659
652
  if (property && !device[property.key]) {
660
- property.set(value, device);
653
+ // XXX: data technically can be `KeyValue | (string | number)[]`
654
+ property.set(data[key], device);
661
655
  }
662
656
  }
663
657
  endpoint.saveClusterAttributeKeyValue(frame.cluster.ID, data);
@@ -670,10 +664,9 @@ class Controller extends events_1.default.EventEmitter {
670
664
  clusterName = Number.isNaN(Number(name)) ? name : Number(name);
671
665
  }
672
666
  if (type && data) {
673
- const endpoint = device.getEndpoint(payload.endpoint);
674
667
  const linkquality = payload.linkquality;
675
668
  const groupID = payload.groupID;
676
- const eventData = {
669
+ this.selfAndDeviceEmit(device, 'message', {
677
670
  type,
678
671
  device,
679
672
  endpoint,
@@ -682,12 +675,11 @@ class Controller extends events_1.default.EventEmitter {
682
675
  groupID,
683
676
  cluster: clusterName,
684
677
  meta,
685
- };
686
- this.selfAndDeviceEmit(device, Events.Events.message, eventData);
687
- this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'messageEmitted' });
678
+ });
679
+ this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'messageEmitted' });
688
680
  }
689
681
  else {
690
- this.selfAndDeviceEmit(device, Events.Events.lastSeenChanged, { device, reason: 'messageNonEmitted' });
682
+ this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'messageNonEmitted' });
691
683
  }
692
684
  if (frame) {
693
685
  await device.onZclData(payload, frame, endpoint);
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller/controller.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,6 @@
1
1
  import { FrameControl } from '../zspec/zcl/definition/tstype';
2
2
  import { Device, Endpoint } from './model';
3
3
  import { KeyValue } from './tstype';
4
- declare enum Events {
5
- message = "message",
6
- adapterDisconnected = "adapterDisconnected",
7
- deviceJoined = "deviceJoined",
8
- deviceInterview = "deviceInterview",
9
- deviceAnnounce = "deviceAnnounce",
10
- deviceNetworkAddressChanged = "deviceNetworkAddressChanged",
11
- deviceLeave = "deviceLeave",
12
- permitJoinChanged = "permitJoinChanged",
13
- lastSeenChanged = "lastSeenChanged"
14
- }
15
4
  interface DeviceJoinedPayload {
16
5
  device: Device;
17
6
  }
@@ -31,7 +20,7 @@ interface DeviceLeavePayload {
31
20
  interface PermitJoinChangedPayload {
32
21
  permitted: boolean;
33
22
  reason: 'timer_expired' | 'manual';
34
- timeout: number;
23
+ timeout?: number;
35
24
  }
36
25
  interface LastSeenChangedPayload {
37
26
  device: Device;
@@ -52,5 +41,5 @@ interface MessagePayload {
52
41
  frameControl?: FrameControl;
53
42
  };
54
43
  }
55
- export { Events, MessagePayload, MessagePayloadType, DeviceInterviewPayload, DeviceAnnouncePayload, DeviceLeavePayload, DeviceJoinedPayload, PermitJoinChangedPayload, DeviceNetworkAddressChangedPayload, LastSeenChangedPayload, };
44
+ export { MessagePayload, MessagePayloadType, DeviceInterviewPayload, DeviceAnnouncePayload, DeviceLeavePayload, DeviceJoinedPayload, PermitJoinChangedPayload, DeviceNetworkAddressChangedPayload, LastSeenChangedPayload, };
56
45
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/controller/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAElC,aAAK,MAAM;IACP,OAAO,YAAY;IACnB,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,2BAA2B,gCAAgC;IAC3D,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;CACtC;AAED,UAAU,mBAAmB;IACzB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,sBAAsB;IAC5B,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kCAAkC;IACxC,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,qBAAqB;IAC3B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IACxB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,wBAAwB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,eAAe,GAAG,QAAQ,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;CACzG;AAED,KAAK,kBAAkB,GAAG,iBAAiB,GAAG,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,MAAM,EAAE,CAAC;AAE7G,UAAU,cAAc;IACpB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACxC,IAAI,EAAE;QACF,4BAA4B,CAAC,EAAE,MAAM,CAAC;QACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC/B,CAAC;CACL;AAED,OAAO,EACH,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,kCAAkC,EAClC,sBAAsB,GACzB,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/controller/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAElC,UAAU,mBAAmB;IACzB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,sBAAsB;IAC5B,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kCAAkC;IACxC,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,qBAAqB;IAC3B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IACxB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,wBAAwB;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,eAAe,GAAG,QAAQ,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,sBAAsB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;CACzG;AAED,KAAK,kBAAkB,GAAG,iBAAiB,GAAG,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,MAAM,EAAE,CAAC;AAE7G,UAAU,cAAc;IACpB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACxC,IAAI,EAAE;QACF,4BAA4B,CAAC,EAAE,MAAM,CAAC;QACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC/B,CAAC;CACL;AAED,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,kCAAkC,EAClC,sBAAsB,GACzB,CAAC"}
@@ -1,16 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Events = void 0;
4
- var Events;
5
- (function (Events) {
6
- Events["message"] = "message";
7
- Events["adapterDisconnected"] = "adapterDisconnected";
8
- Events["deviceJoined"] = "deviceJoined";
9
- Events["deviceInterview"] = "deviceInterview";
10
- Events["deviceAnnounce"] = "deviceAnnounce";
11
- Events["deviceNetworkAddressChanged"] = "deviceNetworkAddressChanged";
12
- Events["deviceLeave"] = "deviceLeave";
13
- Events["permitJoinChanged"] = "permitJoinChanged";
14
- Events["lastSeenChanged"] = "lastSeenChanged";
15
- })(Events || (exports.Events = Events = {}));
16
3
  //# sourceMappingURL=events.js.map