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
@@ -53,42 +53,22 @@ class Endpoint extends entity_1.default {
53
53
  pendingRequests;
54
54
  // Getters/setters
55
55
  get binds() {
56
- return this._binds
57
- .map((entry) => {
58
- let target = null;
59
- if (entry.type === 'endpoint') {
60
- const device = device_1.default.byIeeeAddr(entry.deviceIeeeAddress);
61
- if (device) {
62
- target = device.getEndpoint(entry.endpointID);
63
- }
64
- }
65
- else {
66
- target = group_1.default.byGroupID(entry.groupID);
67
- }
56
+ const binds = [];
57
+ for (const bind of this._binds) {
58
+ // XXX: properties assumed valid when associated to `type`
59
+ const target = bind.type === 'endpoint' ? device_1.default.byIeeeAddr(bind.deviceIeeeAddress)?.getEndpoint(bind.endpointID) : group_1.default.byGroupID(bind.groupID);
68
60
  if (target) {
69
- return { target, cluster: this.getCluster(entry.cluster) };
70
- }
71
- else {
72
- return undefined;
61
+ binds.push({ target, cluster: this.getCluster(bind.cluster) });
73
62
  }
74
- })
75
- .filter((b) => b !== undefined);
63
+ }
64
+ return binds;
76
65
  }
77
66
  get configuredReportings() {
78
- return this._configuredReportings.map((entry) => {
67
+ return this._configuredReportings.map((entry, index) => {
79
68
  const cluster = Zcl.Utils.getCluster(entry.cluster, entry.manufacturerCode, this.getDevice().customClusters);
80
- let attribute;
81
- if (cluster.hasAttribute(entry.attrId)) {
82
- attribute = cluster.getAttribute(entry.attrId);
83
- }
84
- else {
85
- attribute = {
86
- ID: entry.attrId,
87
- name: undefined,
88
- type: undefined,
89
- manufacturerCode: undefined,
90
- };
91
- }
69
+ const attribute = cluster.hasAttribute(entry.attrId)
70
+ ? cluster.getAttribute(entry.attrId)
71
+ : { ID: entry.attrId, name: `attr${index}`, type: Zcl.DataType.UNKNOWN, manufacturerCode: undefined };
92
72
  return {
93
73
  cluster,
94
74
  attribute,
@@ -117,7 +97,7 @@ class Endpoint extends entity_1.default {
117
97
  * Get device of this endpoint
118
98
  */
119
99
  getDevice() {
120
- return device_1.default.byIeeeAddr(this.deviceIeeeAddress);
100
+ return device_1.default.byIeeeAddr(this.deviceIeeeAddress); // XXX: no way for device to not exist?
121
101
  }
122
102
  /**
123
103
  * @param {number|string} clusterKey
@@ -195,7 +175,7 @@ class Endpoint extends entity_1.default {
195
175
  if (this.clusters[cluster.name] && this.clusters[cluster.name].attributes) {
196
176
  return this.clusters[cluster.name].attributes[attribute.name];
197
177
  }
198
- return null;
178
+ return undefined;
199
179
  }
200
180
  hasPendingRequests() {
201
181
  return this.pendingRequests.size > 0;
@@ -232,7 +212,7 @@ class Endpoint extends entity_1.default {
232
212
  catch (error) {
233
213
  // If we got a failed transaction, the device is likely sleeping.
234
214
  // Queue for transmission later.
235
- logger_1.logger.debug(logPrefix + `queue request (transaction failed) (${error.message})`, NS);
215
+ logger_1.logger.debug(logPrefix + `queue request (transaction failed) (${error})`, NS);
236
216
  return this.pendingRequests.queue(request);
237
217
  }
238
218
  }
@@ -264,8 +244,8 @@ class Endpoint extends entity_1.default {
264
244
  }
265
245
  async write(clusterKey, attributes, options) {
266
246
  const cluster = this.getCluster(clusterKey);
267
- options = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
268
- options.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, Object.keys(attributes), options.manufacturerCode, 'write');
247
+ const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
248
+ optionsWithDefaults.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, Object.keys(attributes), optionsWithDefaults.manufacturerCode, 'write');
269
249
  const payload = [];
270
250
  for (const [nameOrID, value] of Object.entries(attributes)) {
271
251
  if (cluster.hasAttribute(nameOrID)) {
@@ -279,7 +259,7 @@ class Endpoint extends entity_1.default {
279
259
  throw new Error(`Unknown attribute '${nameOrID}', specify either an existing attribute or a number`);
280
260
  }
281
261
  }
282
- await this.zclCommand(clusterKey, options.writeUndiv ? 'writeUndiv' : 'write', payload, options, attributes, true);
262
+ await this.zclCommand(clusterKey, optionsWithDefaults.writeUndiv ? 'writeUndiv' : 'write', payload, optionsWithDefaults, attributes, true);
283
263
  }
284
264
  async writeResponse(clusterKey, transactionSequenceNumber, attributes, options) {
285
265
  (0, assert_1.default)(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
@@ -307,16 +287,17 @@ class Endpoint extends entity_1.default {
307
287
  async read(clusterKey, attributes, options) {
308
288
  const device = this.getDevice();
309
289
  const cluster = this.getCluster(clusterKey, device);
310
- options = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
311
- options.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, attributes, options.manufacturerCode, 'read');
290
+ const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
291
+ optionsWithDefaults.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, attributes, optionsWithDefaults.manufacturerCode, 'read');
312
292
  const payload = [];
313
293
  for (const attribute of attributes) {
314
294
  payload.push({ attrId: typeof attribute === 'number' ? attribute : cluster.getAttribute(attribute).ID });
315
295
  }
316
- const resultFrame = await this.zclCommand(clusterKey, 'read', payload, options, attributes, true);
296
+ const resultFrame = await this.zclCommand(clusterKey, 'read', payload, optionsWithDefaults, attributes, true);
317
297
  if (resultFrame) {
318
298
  return ZclFrameConverter.attributeKeyValue(resultFrame, device.manufacturerID, device.customClusters);
319
299
  }
300
+ return {};
320
301
  }
321
302
  async readResponse(clusterKey, transactionSequenceNumber, attributes, options) {
322
303
  (0, assert_1.default)(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
@@ -336,12 +317,21 @@ class Endpoint extends entity_1.default {
336
317
  }
337
318
  await this.zclCommand(clusterKey, 'readRsp', payload, { direction: Zcl.Direction.SERVER_TO_CLIENT, ...options, transactionSequenceNumber }, attributes);
338
319
  }
320
+ hasBind(clusterId, target) {
321
+ return this.getBindIndex(clusterId, target) !== -1;
322
+ }
323
+ getBindIndex(clusterId, target) {
324
+ return this.binds.findIndex((b) => b.cluster.ID === clusterId && b.target === target);
325
+ }
339
326
  addBinding(clusterKey, target) {
340
327
  const cluster = this.getCluster(clusterKey);
341
328
  if (typeof target === 'number') {
342
329
  target = group_1.default.byGroupID(target) || group_1.default.create(target);
343
330
  }
344
- if (!this.binds.find((b) => b.cluster.ID === cluster.ID && b.target === target)) {
331
+ this.addBindingInternal(cluster, target);
332
+ }
333
+ addBindingInternal(cluster, target) {
334
+ if (!this.hasBind(cluster.ID, target)) {
345
335
  if (target instanceof group_1.default) {
346
336
  this._binds.push({ cluster: cluster.ID, groupID: target.groupID, type: 'group' });
347
337
  }
@@ -363,16 +353,16 @@ class Endpoint extends entity_1.default {
363
353
  target = group_1.default.byGroupID(target) || group_1.default.create(target);
364
354
  }
365
355
  const destinationAddress = target instanceof Endpoint ? target.deviceIeeeAddress : target.groupID;
366
- const log = `Bind ${this.deviceIeeeAddress}/${this.ID} ${cluster.name} from ` +
367
- `'${target instanceof Endpoint ? `${destinationAddress}/${target.ID}` : destinationAddress}'`;
356
+ const log = `Bind ${this.deviceIeeeAddress}/${this.ID} ${cluster.name} from '${target instanceof Endpoint ? `${destinationAddress}/${target.ID}` : destinationAddress}'`;
368
357
  logger_1.logger.debug(log, NS);
369
358
  try {
370
- await entity_1.default.adapter.bind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : null);
371
- this.addBinding(clusterKey, target);
359
+ await entity_1.default.adapter.bind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : undefined);
360
+ this.addBindingInternal(cluster, target);
372
361
  }
373
362
  catch (error) {
374
- error.message = `${log} failed (${error.message})`;
375
- logger_1.logger.debug(error, NS);
363
+ const err = error;
364
+ err.message = `${log} failed (${err.message})`;
365
+ logger_1.logger.debug(err.stack, NS);
376
366
  throw error;
377
367
  }
378
368
  }
@@ -381,25 +371,32 @@ class Endpoint extends entity_1.default {
381
371
  }
382
372
  async unbind(clusterKey, target) {
383
373
  const cluster = this.getCluster(clusterKey);
374
+ const action = `Unbind ${this.deviceIeeeAddress}/${this.ID} ${cluster.name}`;
375
+ if (typeof target === 'number') {
376
+ const groupTarget = group_1.default.byGroupID(target);
377
+ if (!groupTarget) {
378
+ throw new Error(`${action} invalid target '${target}' (no group with this ID exists).`);
379
+ }
380
+ target = groupTarget;
381
+ }
384
382
  const type = target instanceof Endpoint ? 'endpoint' : 'group';
385
- const destinationAddress = target instanceof Endpoint ? target.deviceIeeeAddress : target instanceof group_1.default ? target.groupID : target;
386
- const log = `Unbind ${this.deviceIeeeAddress}/${this.ID} ${cluster.name} from ` +
387
- `'${target instanceof Endpoint ? `${destinationAddress}/${target.ID}` : destinationAddress}'`;
383
+ const destinationAddress = target instanceof Endpoint ? target.deviceIeeeAddress : target.groupID;
384
+ const log = `${action} from '${target instanceof Endpoint ? `${destinationAddress}/${target.ID}` : destinationAddress}'`;
385
+ const index = this.getBindIndex(cluster.ID, target);
386
+ if (index === -1) {
387
+ logger_1.logger.debug(`${log} no bind present, skipping.`, NS);
388
+ return;
389
+ }
388
390
  logger_1.logger.debug(log, NS);
389
391
  try {
390
- await entity_1.default.adapter.unbind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : null);
391
- if (typeof target === 'number' && group_1.default.byGroupID(target)) {
392
- target = group_1.default.byGroupID(target);
393
- }
394
- const index = this.binds.findIndex((b) => b.cluster.ID === cluster.ID && b.target === target);
395
- if (index !== -1) {
396
- this._binds.splice(index, 1);
397
- this.save();
398
- }
392
+ await entity_1.default.adapter.unbind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : undefined);
393
+ this._binds.splice(index, 1);
394
+ this.save();
399
395
  }
400
396
  catch (error) {
401
- error.message = `${log} failed (${error.message})`;
402
- logger_1.logger.debug(error, NS);
397
+ const err = error;
398
+ err.message = `${log} failed (${err.message})`;
399
+ logger_1.logger.debug(err.stack, NS);
403
400
  throw error;
404
401
  }
405
402
  }
@@ -410,8 +407,8 @@ class Endpoint extends entity_1.default {
410
407
  }
411
408
  async configureReporting(clusterKey, items, options) {
412
409
  const cluster = this.getCluster(clusterKey);
413
- options = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
414
- options.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, items, options.manufacturerCode, 'configureReporting');
410
+ const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
411
+ optionsWithDefaults.manufacturerCode = this.ensureManufacturerCodeIsUniqueAndGet(cluster, items, optionsWithDefaults.manufacturerCode, 'configureReporting');
415
412
  const payload = items.map((item) => {
416
413
  let dataType, attrId;
417
414
  if (typeof item.attribute === 'object') {
@@ -435,11 +432,11 @@ class Endpoint extends entity_1.default {
435
432
  repChange: item.reportableChange,
436
433
  };
437
434
  });
438
- await this.zclCommand(clusterKey, 'configReport', payload, options, items, true);
435
+ await this.zclCommand(clusterKey, 'configReport', payload, optionsWithDefaults, items, true);
439
436
  for (const e of payload) {
440
437
  this._configuredReportings = this._configuredReportings.filter((c) => !(c.attrId === e.attrId &&
441
438
  c.cluster === cluster.ID &&
442
- (!('manufacturerCode' in c) || c.manufacturerCode === options.manufacturerCode)));
439
+ (!('manufacturerCode' in c) || c.manufacturerCode === optionsWithDefaults.manufacturerCode)));
443
440
  }
444
441
  for (const entry of payload) {
445
442
  if (entry.maxRepIntval !== 0xffff) {
@@ -449,7 +446,7 @@ class Endpoint extends entity_1.default {
449
446
  minRepIntval: entry.minRepIntval,
450
447
  maxRepIntval: entry.maxRepIntval,
451
448
  repChange: entry.repChange,
452
- manufacturerCode: options.manufacturerCode,
449
+ manufacturerCode: optionsWithDefaults.manufacturerCode,
453
450
  });
454
451
  }
455
452
  }
@@ -460,36 +457,37 @@ class Endpoint extends entity_1.default {
460
457
  // TODO: support `writeStructuredResponse`
461
458
  }
462
459
  async command(clusterKey, commandKey, payload, options) {
463
- const frame = await this.zclCommand(clusterKey, commandKey, payload, options, null, false, Zcl.FrameType.SPECIFIC);
460
+ const frame = await this.zclCommand(clusterKey, commandKey, payload, options, undefined, false, Zcl.FrameType.SPECIFIC);
464
461
  if (frame) {
465
462
  return frame.payload;
466
463
  }
467
464
  }
468
465
  async commandResponse(clusterKey, commandKey, payload, options, transactionSequenceNumber) {
469
- (0, assert_1.default)(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
466
+ (0, assert_1.default)(!options || options.transactionSequenceNumber === undefined, 'Use parameter');
470
467
  const device = this.getDevice();
471
468
  const cluster = this.getCluster(clusterKey, device);
472
469
  const command = cluster.getCommandResponse(commandKey);
473
470
  transactionSequenceNumber = transactionSequenceNumber || zclTransactionSequenceNumber_1.default.next();
474
- options = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, cluster.manufacturerCode);
475
- const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber, command.name, cluster.name, payload, device.customClusters, options.reservedBits);
471
+ const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, cluster.manufacturerCode);
472
+ const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, optionsWithDefaults.direction, optionsWithDefaults.disableDefaultResponse, optionsWithDefaults.manufacturerCode, transactionSequenceNumber, command.name, cluster.name, payload, device.customClusters, optionsWithDefaults.reservedBits);
476
473
  const log = `CommandResponse ${this.deviceIeeeAddress}/${this.ID} ` +
477
- `${cluster.name}.${command.name}(${JSON.stringify(payload)}, ${JSON.stringify(options)})`;
474
+ `${cluster.name}.${command.name}(${JSON.stringify(payload)}, ${JSON.stringify(optionsWithDefaults)})`;
478
475
  logger_1.logger.debug(log, NS);
479
476
  try {
480
- await this.sendRequest(frame, options, async (f) => {
477
+ await this.sendRequest(frame, optionsWithDefaults, async (f) => {
481
478
  // Broadcast Green Power responses
482
479
  if (this.ID === 242) {
483
480
  await entity_1.default.adapter.sendZclFrameToAll(242, f, 242, enums_1.BroadcastAddress.RX_ON_WHEN_IDLE);
484
481
  }
485
482
  else {
486
- await entity_1.default.adapter.sendZclFrameToEndpoint(this.deviceIeeeAddress, this.deviceNetworkAddress, this.ID, f, options.timeout, options.disableResponse, options.disableRecovery, options.srcEndpoint);
483
+ await entity_1.default.adapter.sendZclFrameToEndpoint(this.deviceIeeeAddress, this.deviceNetworkAddress, this.ID, f, optionsWithDefaults.timeout, optionsWithDefaults.disableResponse, optionsWithDefaults.disableRecovery, optionsWithDefaults.srcEndpoint);
487
484
  }
488
485
  });
489
486
  }
490
487
  catch (error) {
491
- error.message = `${log} failed (${error.message})`;
492
- logger_1.logger.debug(error, NS);
488
+ const err = error;
489
+ err.message = `${log} failed (${err.message})`;
490
+ logger_1.logger.debug(err.stack, NS);
493
491
  throw error;
494
492
  }
495
493
  }
@@ -507,22 +505,22 @@ class Endpoint extends entity_1.default {
507
505
  return { promise, cancel: waiter.cancel };
508
506
  }
509
507
  getOptionsWithDefaults(options, disableDefaultResponse, direction, manufacturerCode) {
510
- const providedOptions = options || {};
511
508
  return {
512
509
  timeout: 10000,
513
510
  disableResponse: false,
514
511
  disableRecovery: false,
515
512
  disableDefaultResponse,
516
513
  direction,
517
- srcEndpoint: null,
514
+ srcEndpoint: undefined,
518
515
  reservedBits: 0,
519
- manufacturerCode: manufacturerCode ?? null,
520
- transactionSequenceNumber: null,
516
+ manufacturerCode,
517
+ transactionSequenceNumber: undefined,
521
518
  writeUndiv: false,
522
- ...providedOptions,
519
+ ...(options || {}),
523
520
  };
524
521
  }
525
- ensureManufacturerCodeIsUniqueAndGet(cluster, attributes, fallbackManufacturerCode, caller) {
522
+ ensureManufacturerCodeIsUniqueAndGet(cluster, attributes, fallbackManufacturerCode, // XXX: problematic undefined for a "fallback"?
523
+ caller) {
526
524
  const manufacturerCodes = new Set(attributes.map((nameOrID) => {
527
525
  let attributeID;
528
526
  if (typeof nameOrID == 'object') {
@@ -589,25 +587,26 @@ class Endpoint extends entity_1.default {
589
587
  const device = this.getDevice();
590
588
  const cluster = this.getCluster(clusterKey, device);
591
589
  const command = frameType == Zcl.FrameType.GLOBAL ? Zcl.Utils.getGlobalCommand(commandKey) : cluster.getCommand(commandKey);
592
- const hasResponse = frameType == Zcl.FrameType.GLOBAL ? true : command.hasOwnProperty('response');
593
- options = this.getOptionsWithDefaults(options, hasResponse, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
594
- const frame = Zcl.Frame.create(frameType, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command.name, cluster.name, payload, device.customClusters, options.reservedBits);
590
+ const hasResponse = frameType == Zcl.FrameType.GLOBAL ? true : command.response != undefined;
591
+ const optionsWithDefaults = this.getOptionsWithDefaults(options, hasResponse, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
592
+ const frame = Zcl.Frame.create(frameType, optionsWithDefaults.direction, optionsWithDefaults.disableDefaultResponse, optionsWithDefaults.manufacturerCode, optionsWithDefaults.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command.name, cluster.name, payload, device.customClusters, optionsWithDefaults.reservedBits);
595
593
  const log = `ZCL command ${this.deviceIeeeAddress}/${this.ID} ` +
596
- `${cluster.name}.${command.name}(${JSON.stringify(logPayload ? logPayload : payload)}, ${JSON.stringify(options)})`;
594
+ `${cluster.name}.${command.name}(${JSON.stringify(logPayload ? logPayload : payload)}, ${JSON.stringify(optionsWithDefaults)})`;
597
595
  logger_1.logger.debug(log, NS);
598
596
  try {
599
- const result = await this.sendRequest(frame, options);
597
+ const result = await this.sendRequest(frame, optionsWithDefaults);
600
598
  if (result) {
601
599
  const resultFrame = Zcl.Frame.fromBuffer(result.clusterID, result.header, result.data, device.customClusters);
602
- if (result && checkStatus && !options.disableResponse) {
600
+ if (result && checkStatus && !optionsWithDefaults.disableResponse) {
603
601
  this.checkStatus(resultFrame.payload);
604
602
  }
605
603
  return resultFrame;
606
604
  }
607
605
  }
608
606
  catch (error) {
609
- error.message = `${log} failed (${error.message})`;
610
- logger_1.logger.debug(error, NS);
607
+ const err = error;
608
+ err.message = `${log} failed (${err.message})`;
609
+ logger_1.logger.debug(err.stack, NS);
611
610
  throw error;
612
611
  }
613
612
  }
@@ -615,11 +614,11 @@ class Endpoint extends entity_1.default {
615
614
  const device = this.getDevice();
616
615
  const cluster = this.getCluster(clusterKey, device);
617
616
  const command = cluster.getCommand(commandKey);
618
- options = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
619
- const sourceEndpoint = options.srcEndpoint ?? this.ID;
620
- const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, options.direction, true, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command.name, cluster.name, payload, device.customClusters, options.reservedBits);
617
+ const optionsWithDefaults = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
618
+ const sourceEndpoint = optionsWithDefaults.srcEndpoint ?? this.ID;
619
+ const frame = Zcl.Frame.create(Zcl.FrameType.SPECIFIC, optionsWithDefaults.direction, true, optionsWithDefaults.manufacturerCode, optionsWithDefaults.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command.name, cluster.name, payload, device.customClusters, optionsWithDefaults.reservedBits);
621
620
  const log = `ZCL command broadcast ${this.deviceIeeeAddress}/${sourceEndpoint} to ${destination}/${endpoint} ` +
622
- `${cluster.name}.${command.name}(${JSON.stringify({ payload, options })})`;
621
+ `${cluster.name}.${command.name}(${JSON.stringify({ payload, optionsWithDefaults })})`;
623
622
  logger_1.logger.debug(log, NS);
624
623
  // if endpoint===0xFF ("broadcast endpoint"), deliver to all endpoints supporting cluster, should be avoided whenever possible
625
624
  await entity_1.default.adapter.sendZclFrameToAll(endpoint, frame, sourceEndpoint, destination);
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import events from 'events';
2
2
  import { Adapter } from '../../adapter';
3
3
  import Database from '../database';
4
- declare abstract class Entity extends events.EventEmitter {
5
- protected static database: Database;
6
- protected static adapter: Adapter;
4
+ type EventMap<T> = Record<keyof T, any[]> | DefaultEventMap;
5
+ type DefaultEventMap = [never];
6
+ declare abstract class Entity<T extends EventMap<T> = DefaultEventMap> extends events.EventEmitter<T> {
7
+ protected static database?: Database;
8
+ protected static adapter?: Adapter;
7
9
  static injectDatabase(database: Database): void;
8
10
  static injectAdapter(adapter: Adapter): void;
9
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/controller/model/entity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,uBAAe,MAAO,SAAQ,MAAM,CAAC,YAAY;IAC7C,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAQ;IAC3C,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAQ;WAE3B,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;WAIxC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGtD;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/controller/model/entity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,QAAQ,MAAM,aAAa,CAAC;AAGnC,KAAK,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC;AAC5D,KAAK,eAAe,GAAG,CAAC,KAAK,CAAC,CAAC;AAE/B,uBAAe,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG,eAAe,CAAE,SAAQ,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACzF,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACrC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;WAErB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;WAIxC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGtD;AAED,eAAe,MAAM,CAAC"}
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const events_1 = __importDefault(require("events"));
7
7
  class Entity extends events_1.default.EventEmitter {
8
- static database = null;
9
- static adapter = null;
8
+ static database;
9
+ static adapter;
10
10
  static injectDatabase(database) {
11
11
  Entity.database = database;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/controller/model/entity.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAK5B,MAAe,MAAO,SAAQ,gBAAM,CAAC,YAAY;IACnC,MAAM,CAAC,QAAQ,GAAa,IAAI,CAAC;IACjC,MAAM,CAAC,OAAO,GAAY,IAAI,CAAC;IAElC,MAAM,CAAC,cAAc,CAAC,QAAkB;QAC3C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,OAAgB;QACxC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC7B,CAAC;;AAGL,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/controller/model/entity.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAS5B,MAAe,MAAgD,SAAQ,gBAAM,CAAC,YAAe;IAC/E,MAAM,CAAC,QAAQ,CAAY;IAC3B,MAAM,CAAC,OAAO,CAAW;IAE5B,MAAM,CAAC,cAAc,CAAC,QAAkB;QAC3C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,OAAgB;QACxC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC7B,CAAC;CACJ;AAED,kBAAe,MAAM,CAAC"}
@@ -16,6 +16,7 @@ declare class Group extends Entity {
16
16
  get members(): Endpoint[];
17
17
  readonly meta: KeyValue;
18
18
  private static groups;
19
+ private static loadedFromDatabase;
19
20
  private constructor();
20
21
  /**
21
22
  * Reset runtime lookups.
@@ -1 +1 @@
1
- {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../src/controller/model/group.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAgB,QAAQ,EAAC,MAAM,WAAW,CAAC;AAElD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,UAAU,CAAC;AAI9B,UAAU,OAAO;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,cAAM,KAAM,SAAQ,MAAM;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,IAAI,OAAO,IAAI,QAAQ,EAAE,CAExB;IAED,SAAgB,IAAI,EAAE,QAAQ,CAAC;IAI/B,OAAO,CAAC,MAAM,CAAC,MAAM,CAA2C;IAEhE,OAAO;IAYP;;OAEG;WACW,UAAU,IAAI,IAAI;IAIhC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAehC,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,MAAM,CAAC,2BAA2B;WAW5B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;WAKjC,GAAG,IAAI,KAAK,EAAE;WAKb,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;WAarE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAoB/B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxC,kBAAkB,IAAI,IAAI;IAU1B,IAAI,CAAC,aAAa,UAAO,GAAG,IAAI;IAIhC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKnC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKtC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAQhC,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC1F,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCpG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnI,OAAO,CAAC,sBAAsB;CAUjC;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../src/controller/model/group.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAgB,QAAQ,EAAC,MAAM,WAAW,CAAC;AAElD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,UAAU,CAAC;AAI9B,UAAU,OAAO;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACtC;AAOD,cAAM,KAAM,SAAQ,MAAM;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,IAAI,OAAO,IAAI,QAAQ,EAAE,CAExB;IAED,SAAgB,IAAI,EAAE,QAAQ,CAAC;IAI/B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAkC;IACvD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAkB;IAEnD,OAAO;IAYP;;OAEG;WACW,UAAU,IAAI,IAAI;IAKhC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmBhC,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,MAAM,CAAC,2BAA2B;WAW5B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;WAKjC,GAAG,IAAI,KAAK,EAAE;WAKb,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;WAarE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAoB/B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxC,kBAAkB,IAAI,IAAI;IAU1B,IAAI,CAAC,aAAa,UAAO,GAAG,IAAI;IAIhC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKnC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAKtC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAQhC,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C1F,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCnI,OAAO,CAAC,sBAAsB;CAUjC;AAED,eAAe,KAAK,CAAC"}