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
@@ -26,23 +26,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const adapter_1 = __importDefault(require("../../adapter"));
30
- const driver_1 = __importDefault(require("../driver/driver"));
31
- const Zcl = __importStar(require("../../../zspec/zcl"));
32
- const Events = __importStar(require("../../events"));
33
- const frameParser_1 = __importDefault(require("../driver/frameParser"));
29
+ /* istanbul ignore file */
30
+ const assert_1 = __importDefault(require("assert"));
31
+ const device_1 = __importDefault(require("../../../controller/model/device"));
34
32
  const utils_1 = require("../../../utils");
35
- const constants_1 = __importDefault(require("../driver/constants"));
36
33
  const logger_1 = require("../../../utils/logger");
37
- const device_1 = __importDefault(require("../../../controller/model/device"));
34
+ const Zcl = __importStar(require("../../../zspec/zcl"));
35
+ const adapter_1 = __importDefault(require("../../adapter"));
36
+ const constants_1 = __importDefault(require("../driver/constants"));
37
+ const driver_1 = __importDefault(require("../driver/driver"));
38
+ const frameParser_1 = __importStar(require("../driver/frameParser"));
38
39
  const NS = 'zh:deconz';
39
- var frameParser = require('../driver/frameParser');
40
40
  class DeconzAdapter extends adapter_1.default {
41
41
  driver;
42
42
  queue;
43
43
  openRequestsQueue;
44
44
  transactionID;
45
- frameParserEvent = frameParser.frameParserEvents;
45
+ frameParserEvent = frameParser_1.frameParserEvents;
46
46
  joinPermitted;
47
47
  fwVersion;
48
48
  waitress;
@@ -65,19 +65,18 @@ class DeconzAdapter extends adapter_1.default {
65
65
  this.transactionID = 0;
66
66
  this.openRequestsQueue = [];
67
67
  this.joinPermitted = false;
68
- this.fwVersion = null;
68
+ this.fwVersion = undefined;
69
69
  this.frameParserEvent.on('receivedDataPayload', (data) => {
70
70
  this.checkReceivedDataPayload(data);
71
71
  });
72
72
  this.frameParserEvent.on('receivedGreenPowerIndication', (data) => {
73
73
  this.checkReceivedGreenPowerIndication(data);
74
74
  });
75
- const that = this;
76
75
  setInterval(() => {
77
- that.checkReceivedDataPayload(null);
76
+ this.checkReceivedDataPayload(null);
78
77
  }, 1000);
79
- setTimeout(() => {
80
- that.checkCoordinatorSimpleDescriptor(false);
78
+ setTimeout(async () => {
79
+ await this.checkCoordinatorSimpleDescriptor(false);
81
80
  }, 3000);
82
81
  }
83
82
  static async isValidPath(path) {
@@ -90,13 +89,13 @@ class DeconzAdapter extends adapter_1.default {
90
89
  * Adapter methods
91
90
  */
92
91
  async start() {
93
- let baudrate = this.serialPortOptions.baudRate || 38400;
92
+ const baudrate = this.serialPortOptions.baudRate || 38400;
94
93
  await this.driver.open(baudrate);
95
94
  let changed = false;
96
- let panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
97
- let expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
98
- let channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
99
- let networkKey = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY);
95
+ const panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
96
+ const expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
97
+ const channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
98
+ const networkKey = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY);
100
99
  // check current channel against configuration.yaml
101
100
  if (this.networkOptions.channelList[0] !== channel) {
102
101
  logger_1.logger.debug('Channel in configuration.yaml (' +
@@ -274,20 +273,20 @@ class DeconzAdapter extends adapter_1.default {
274
273
  const msg = 'PERMIT_JOIN FAILED - ' + error;
275
274
  logger_1.logger.debug(msg, NS);
276
275
  // try again
277
- this.permitJoin(seconds, networkAddress);
276
+ await this.permitJoin(seconds, networkAddress);
278
277
  //return Promise.reject(new Error(msg)); // do not reject
279
278
  }
280
279
  }
281
280
  async getCoordinatorVersion() {
282
281
  // product: number; transportrev: number; majorrel: number; minorrel: number; maintrel: number; revision: string;
283
- if (this.fwVersion != null) {
282
+ if (this.fwVersion != undefined) {
284
283
  return this.fwVersion;
285
284
  }
286
285
  else {
287
286
  try {
288
287
  const fw = await this.driver.readFirmwareVersionRequest();
289
288
  const buf = Buffer.from(fw);
290
- let fwString = '0x' + buf.readUInt32LE(0).toString(16);
289
+ const fwString = '0x' + buf.readUInt32LE(0).toString(16);
291
290
  let type = '';
292
291
  if (fw[1] === 5) {
293
292
  type = 'ConBee/RaspBee';
@@ -303,13 +302,15 @@ class DeconzAdapter extends adapter_1.default {
303
302
  return { type: type, meta: meta };
304
303
  }
305
304
  catch (error) {
306
- logger_1.logger.debug('Get coordinator version Error: ' + error, NS);
305
+ throw new Error('Get coordinator version Error: ' + error);
307
306
  }
308
307
  }
309
308
  }
309
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
310
310
  async addInstallCode(ieeeAddress, key) {
311
311
  return Promise.reject(new Error('Add install code is not supported'));
312
312
  }
313
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
313
314
  async reset(type) {
314
315
  return Promise.reject(new Error('Reset is not supported'));
315
316
  }
@@ -347,8 +348,8 @@ class DeconzAdapter extends adapter_1.default {
347
348
  req.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
348
349
  this.driver
349
350
  .enqueueSendDataRequest(req)
350
- .then((result) => { })
351
- .catch((error) => { });
351
+ .then(() => { })
352
+ .catch(() => { });
352
353
  try {
353
354
  const d = await this.waitForData(networkAddress, 0, 0x8031);
354
355
  const data = d.asduPayload;
@@ -442,8 +443,8 @@ class DeconzAdapter extends adapter_1.default {
442
443
  req.timeout = 30;
443
444
  this.driver
444
445
  .enqueueSendDataRequest(req)
445
- .then((result) => { })
446
- .catch((error) => { });
446
+ .then(() => { })
447
+ .catch(() => { });
447
448
  try {
448
449
  const d = await this.waitForData(networkAddress, 0, 0x8032);
449
450
  const data = d.asduPayload;
@@ -518,8 +519,8 @@ class DeconzAdapter extends adapter_1.default {
518
519
  request.timeout = 30;
519
520
  this.driver
520
521
  .enqueueSendDataRequest(request)
521
- .then((result) => { })
522
- .catch((error) => { });
522
+ .then(() => { })
523
+ .catch(() => { });
523
524
  try {
524
525
  const d = await this.waitForData(networkAddress, 0, 0x8002);
525
526
  const data = d.asduPayload;
@@ -561,8 +562,8 @@ class DeconzAdapter extends adapter_1.default {
561
562
  request.timeout = 30;
562
563
  this.driver
563
564
  .enqueueSendDataRequest(request)
564
- .then((result) => { })
565
- .catch((error) => { });
565
+ .then(() => { })
566
+ .catch(() => { });
566
567
  try {
567
568
  const d = await this.waitForData(networkAddress, 0, 0x8005);
568
569
  const data = d.asduPayload;
@@ -601,8 +602,8 @@ class DeconzAdapter extends adapter_1.default {
601
602
  request.timeout = 30;
602
603
  this.driver
603
604
  .enqueueSendDataRequest(request)
604
- .then((result) => { })
605
- .catch((error) => { });
605
+ .then(() => { })
606
+ .catch(() => { });
606
607
  try {
607
608
  const d = await this.waitForData(networkAddress, 0, 0x8004);
608
609
  const data = d.asduPayload;
@@ -646,14 +647,14 @@ class DeconzAdapter extends adapter_1.default {
646
647
  }
647
648
  async checkCoordinatorSimpleDescriptor(skip) {
648
649
  logger_1.logger.debug('checking coordinator simple descriptor', NS);
649
- var simpleDesc = null;
650
+ let simpleDesc;
650
651
  if (skip === false) {
651
652
  try {
652
653
  simpleDesc = await this.simpleDescriptor(0x0, 1);
653
654
  }
654
- catch (error) { }
655
- if (simpleDesc === null) {
656
- this.checkCoordinatorSimpleDescriptor(false);
655
+ catch { }
656
+ if (simpleDesc == undefined) {
657
+ await this.checkCoordinatorSimpleDescriptor(false);
657
658
  return;
658
659
  }
659
660
  logger_1.logger.debug('EP: ' + simpleDesc.endpointID, NS);
@@ -695,8 +696,8 @@ class DeconzAdapter extends adapter_1.default {
695
696
  await this.driver.writeParameterRequest(constants_1.default.PARAM.STK.Endpoint, sd1);
696
697
  }
697
698
  catch (error) {
698
- logger_1.logger.debug('error setting simple descriptor - try again', NS);
699
- this.checkCoordinatorSimpleDescriptor(true);
699
+ logger_1.logger.debug(`error setting simple descriptor: ${error} - try again`, NS);
700
+ await this.checkCoordinatorSimpleDescriptor(true);
700
701
  return;
701
702
  }
702
703
  logger_1.logger.debug('success setting simple descriptor', NS);
@@ -718,7 +719,7 @@ class DeconzAdapter extends adapter_1.default {
718
719
  async sendZclFrameToEndpoint(ieeeAddr, networkAddress, endpoint, zclFrame, timeout, disableResponse, disableRecovery, sourceEndpoint) {
719
720
  const transactionID = this.nextTransactionID();
720
721
  const request = {};
721
- let pay = zclFrame.toBuffer();
722
+ const pay = zclFrame.toBuffer();
722
723
  //logger.info("zclFramte.toBuffer:", NS);
723
724
  //logger.info(pay, NS);
724
725
  request.requestId = transactionID;
@@ -736,7 +737,7 @@ class DeconzAdapter extends adapter_1.default {
736
737
  const command = zclFrame.command;
737
738
  this.driver
738
739
  .enqueueSendDataRequest(request)
739
- .then((result) => {
740
+ .then(() => {
740
741
  logger_1.logger.debug(`sendZclFrameToEndpoint - message send with transSeq Nr.: ${zclFrame.header.transactionSequenceNumber}`, NS);
741
742
  logger_1.logger.debug(command.hasOwnProperty('response') +
742
743
  ', ' +
@@ -745,7 +746,7 @@ class DeconzAdapter extends adapter_1.default {
745
746
  disableResponse +
746
747
  ', ' +
747
748
  request.timeout, NS);
748
- if (!command.hasOwnProperty('response') || zclFrame.header.frameControl.disableDefaultResponse || !disableResponse) {
749
+ if (command.response == undefined || zclFrame.header.frameControl.disableDefaultResponse || !disableResponse) {
749
750
  logger_1.logger.debug(`resolve request (${zclFrame.header.transactionSequenceNumber})`, NS);
750
751
  return Promise.resolve();
751
752
  }
@@ -757,20 +758,20 @@ class DeconzAdapter extends adapter_1.default {
757
758
  });
758
759
  try {
759
760
  let data = null;
760
- if ((command.hasOwnProperty('response') && !disableResponse) || !zclFrame.header.frameControl.disableDefaultResponse) {
761
+ if ((command.response != undefined && !disableResponse) || !zclFrame.header.frameControl.disableDefaultResponse) {
761
762
  data = await this.waitForData(networkAddress, 0x104, zclFrame.cluster.ID, zclFrame.header.transactionSequenceNumber, request.timeout);
762
763
  }
763
764
  if (data !== null) {
764
765
  const asdu = data.asduPayload;
765
766
  const buffer = Buffer.from(asdu);
766
767
  const response = {
767
- address: data.srcAddrMode === 0x02 ? data.srcAddr16 : null,
768
+ address: data.srcAddr16 ?? `0x${data.srcAddr64}`,
768
769
  data: buffer,
769
770
  clusterID: zclFrame.cluster.ID,
770
771
  header: Zcl.Header.fromBuffer(buffer),
771
772
  endpoint: data.srcEndpoint,
772
773
  linkquality: data.lqi,
773
- groupID: data.srcAddrMode === 0x01 ? data.srcAddr16 : null,
774
+ groupID: data.srcAddrMode === 0x01 ? data.srcAddr16 : 0,
774
775
  wasBroadcast: data.srcAddrMode === 0x01 || data.srcAddrMode === 0xf,
775
776
  destinationEndpoint: data.destEndpoint,
776
777
  };
@@ -779,17 +780,16 @@ class DeconzAdapter extends adapter_1.default {
779
780
  }
780
781
  else {
781
782
  logger_1.logger.debug(`no response expected (${zclFrame.header.transactionSequenceNumber})`, NS);
782
- return null;
783
783
  }
784
784
  }
785
785
  catch (error) {
786
- throw new Error(`no response received (${zclFrame.header.transactionSequenceNumber})`);
786
+ throw new Error(`no response received (${zclFrame.header.transactionSequenceNumber}) ${error}`);
787
787
  }
788
788
  }
789
789
  async sendZclFrameToGroup(groupID, zclFrame) {
790
790
  const transactionID = this.nextTransactionID();
791
791
  const request = {};
792
- let pay = zclFrame.toBuffer();
792
+ const pay = zclFrame.toBuffer();
793
793
  logger_1.logger.debug('zclFrame to group - zclFrame.payload:', NS);
794
794
  logger_1.logger.debug(zclFrame.payload, NS);
795
795
  //logger.info("zclFramte.toBuffer:", NS);
@@ -810,13 +810,13 @@ class DeconzAdapter extends adapter_1.default {
810
810
  }
811
811
  catch (error) {
812
812
  //logger.debug(`sendZclFrameToGroup ERROR: ${error}`, NS);
813
- throw new Error(error);
813
+ throw error;
814
814
  }
815
815
  }
816
816
  async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint, destination) {
817
817
  const transactionID = this.nextTransactionID();
818
818
  const request = {};
819
- let pay = zclFrame.toBuffer();
819
+ const pay = zclFrame.toBuffer();
820
820
  logger_1.logger.debug('zclFrame to all - zclFrame.payload:', NS);
821
821
  logger_1.logger.debug(zclFrame.payload, NS);
822
822
  request.requestId = transactionID;
@@ -836,7 +836,7 @@ class DeconzAdapter extends adapter_1.default {
836
836
  }
837
837
  catch (error) {
838
838
  //logger.debug(`sendZclFrameToAll ERROR: ${error}`, NS);
839
- throw new Error(error);
839
+ throw error;
840
840
  }
841
841
  }
842
842
  async bind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
@@ -846,6 +846,7 @@ class DeconzAdapter extends adapter_1.default {
846
846
  const destAddrMode = type === 'group' ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
847
847
  let destArray;
848
848
  if (type === 'endpoint') {
849
+ (0, assert_1.default)(destinationEndpoint, 'Destination endpoint must be defined when `type === endpoint`');
849
850
  destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
850
851
  destArray = destArray.concat([destinationEndpoint]);
851
852
  }
@@ -871,8 +872,8 @@ class DeconzAdapter extends adapter_1.default {
871
872
  request.timeout = 30;
872
873
  this.driver
873
874
  .enqueueSendDataRequest(request)
874
- .then((result) => { })
875
- .catch((error) => { });
875
+ .then(() => { })
876
+ .catch(() => { });
876
877
  try {
877
878
  const d = await this.waitForData(destinationNetworkAddress, 0, 0x8021);
878
879
  const data = d.asduPayload;
@@ -883,7 +884,7 @@ class DeconzAdapter extends adapter_1.default {
883
884
  }
884
885
  catch (error) {
885
886
  logger_1.logger.debug('BIND FAILED - addr: 0x' + destinationNetworkAddress.toString(16) + ' ' + error, NS);
886
- throw new Error(error);
887
+ throw error;
887
888
  }
888
889
  }
889
890
  async unbind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
@@ -893,6 +894,7 @@ class DeconzAdapter extends adapter_1.default {
893
894
  const destAddrMode = type === 'group' ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
894
895
  let destArray;
895
896
  if (type === 'endpoint') {
897
+ (0, assert_1.default)(destinationEndpoint, 'Destination endpoint must be defined when `type === endpoint`');
896
898
  destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
897
899
  destArray = destArray.concat([destinationEndpoint]);
898
900
  }
@@ -918,8 +920,8 @@ class DeconzAdapter extends adapter_1.default {
918
920
  request.timeout = 30;
919
921
  this.driver
920
922
  .enqueueSendDataRequest(request)
921
- .then((result) => { })
922
- .catch((error) => { });
923
+ .then(() => { })
924
+ .catch(() => { });
923
925
  try {
924
926
  const d = await this.waitForData(destinationNetworkAddress, 0, 0x8022);
925
927
  const data = d.asduPayload;
@@ -930,13 +932,13 @@ class DeconzAdapter extends adapter_1.default {
930
932
  }
931
933
  catch (error) {
932
934
  logger_1.logger.debug('UNBIND FAILED - addr: 0x' + destinationNetworkAddress.toString(16) + ' ' + error, NS);
933
- throw new Error(error);
935
+ throw error;
934
936
  }
935
937
  }
936
938
  async removeDevice(networkAddress, ieeeAddr) {
937
939
  const transactionID = this.nextTransactionID();
938
- const nwk1 = networkAddress & 0xff;
939
- const nwk2 = (networkAddress >> 8) & 0xff;
940
+ // const nwk1 = networkAddress & 0xff;
941
+ // const nwk2 = (networkAddress >> 8) & 0xff;
940
942
  const request = {};
941
943
  //const zdpFrame = [transactionID].concat(this.driver.macAddrStringToArray(ieeeAddr)).concat([0]);
942
944
  const zdpFrame = [transactionID].concat([0, 0, 0, 0, 0, 0, 0, 0]).concat([0]);
@@ -953,8 +955,8 @@ class DeconzAdapter extends adapter_1.default {
953
955
  request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
954
956
  this.driver
955
957
  .enqueueSendDataRequest(request)
956
- .then((result) => { })
957
- .catch((error) => { });
958
+ .then(() => { })
959
+ .catch(() => { });
958
960
  try {
959
961
  const d = await this.waitForData(networkAddress, 0, 0x8034);
960
962
  const data = d.asduPayload;
@@ -966,11 +968,11 @@ class DeconzAdapter extends adapter_1.default {
966
968
  if (data[1] !== 0) {
967
969
  throw new Error('status: ' + data[1]);
968
970
  }
969
- this.emit(Events.Events.deviceLeave, payload);
971
+ this.emit('deviceLeave', payload);
970
972
  }
971
973
  catch (error) {
972
974
  logger_1.logger.debug('REMOVE_DEVICE FAILED - addr: 0x' + networkAddress.toString(16) + ' ' + error, NS);
973
- throw new Error(error);
975
+ throw error;
974
976
  }
975
977
  }
976
978
  async supportsBackup() {
@@ -981,9 +983,9 @@ class DeconzAdapter extends adapter_1.default {
981
983
  }
982
984
  async getNetworkParameters() {
983
985
  try {
984
- let panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
985
- let expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
986
- let channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
986
+ const panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
987
+ const expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
988
+ const channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
987
989
  return {
988
990
  panID: panid,
989
991
  extendedPanID: expanid,
@@ -999,24 +1001,31 @@ class DeconzAdapter extends adapter_1.default {
999
1001
  async restoreChannelInterPAN() {
1000
1002
  throw new Error('not supported');
1001
1003
  }
1004
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1002
1005
  async sendZclFrameInterPANToIeeeAddr(zclFrame, ieeeAddr) {
1003
1006
  throw new Error('not supported');
1004
1007
  }
1008
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1005
1009
  async sendZclFrameInterPANBroadcast(zclFrame, timeout) {
1006
1010
  throw new Error('not supported');
1007
1011
  }
1012
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1008
1013
  async sendZclFrameInterPANBroadcastWithResponse(zclFrame, timeout) {
1009
1014
  throw new Error('not supported');
1010
1015
  }
1016
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1011
1017
  async setChannelInterPAN(channel) {
1012
1018
  throw new Error('not supported');
1013
1019
  }
1020
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1014
1021
  async changeChannel(newChannel) {
1015
1022
  throw new Error(`Channel change is not supported for 'deconz'`);
1016
1023
  }
1024
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1017
1025
  async setTransmitPower(value) {
1018
1026
  throw new Error('not supported');
1019
1027
  }
1028
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1020
1029
  async sendZclFrameInterPANIeeeAddr(zclFrame, ieeeAddr) {
1021
1030
  throw new Error('not supported');
1022
1031
  }
@@ -1029,14 +1038,14 @@ class DeconzAdapter extends adapter_1.default {
1029
1038
  waitForData(addr, profileId, clusterId, transactionSequenceNumber, timeout) {
1030
1039
  return new Promise((resolve, reject) => {
1031
1040
  const ts = Date.now();
1032
- const commandId = constants_1.default.PARAM.APS.DATA_INDICATION;
1041
+ // const commandId = PARAM.PARAM.APS.DATA_INDICATION;
1033
1042
  const req = { addr, profileId, clusterId, transactionSequenceNumber, resolve, reject, ts, timeout };
1034
1043
  this.openRequestsQueue.push(req);
1035
1044
  });
1036
1045
  }
1037
1046
  checkReceivedGreenPowerIndication(ind) {
1038
1047
  ind.clusterId = 0x21;
1039
- let gpFrame = [
1048
+ const gpFrame = [
1040
1049
  ind.rspId,
1041
1050
  ind.seqNr,
1042
1051
  ind.id,
@@ -1067,12 +1076,12 @@ class DeconzAdapter extends adapter_1.default {
1067
1076
  destinationEndpoint: 1,
1068
1077
  };
1069
1078
  this.waitress.resolve(payload);
1070
- this.emit(Events.Events.zclPayload, payload);
1079
+ this.emit('zclPayload', payload);
1071
1080
  }
1072
1081
  checkReceivedDataPayload(resp) {
1073
- let srcAddr = null;
1074
- let header = null;
1075
- const payBuf = resp != null ? Buffer.from(resp.asduPayload) : null;
1082
+ let srcAddr = undefined;
1083
+ let header;
1084
+ const payBuf = resp != null ? Buffer.from(resp.asduPayload) : undefined;
1076
1085
  if (resp != null) {
1077
1086
  if (resp.srcAddr16 != null) {
1078
1087
  srcAddr = resp.srcAddr16;
@@ -1085,34 +1094,32 @@ class DeconzAdapter extends adapter_1.default {
1085
1094
  if (resp.srcAddr64 != null) {
1086
1095
  logger_1.logger.debug(`Try to find network address of ${resp.srcAddr64}`, NS);
1087
1096
  // Note: Device expects addresses with a 0x prefix...
1088
- let device = device_1.default.byIeeeAddr('0x' + resp.srcAddr64, false);
1089
- if (device != undefined) {
1090
- srcAddr = device.networkAddress;
1091
- }
1097
+ srcAddr = device_1.default.byIeeeAddr('0x' + resp.srcAddr64, false)?.networkAddress;
1092
1098
  }
1099
+ (0, assert_1.default)(srcAddr, 'Failed to find srcAddr of message');
1093
1100
  // apperantly some functions furhter up in the protocol stack expect this to be set.
1094
1101
  // so let's make sure they get the network address
1095
- resp.srcAddr16 = srcAddr;
1102
+ resp.srcAddr16 = srcAddr; // TODO: can't be undefined
1096
1103
  }
1097
1104
  if (resp.profileId != 0x00) {
1098
- header = Zcl.Header.fromBuffer(payBuf);
1105
+ header = Zcl.Header.fromBuffer(payBuf); // valid from check
1099
1106
  }
1100
1107
  }
1101
1108
  let i = this.openRequestsQueue.length;
1102
1109
  while (i--) {
1103
1110
  const req = this.openRequestsQueue[i];
1104
- if (srcAddr != null && req.addr === srcAddr && req.clusterId === resp.clusterId && req.profileId === resp.profileId) {
1105
- if (header !== null && req.transactionSequenceNumber !== null && req.transactionSequenceNumber !== undefined) {
1111
+ if (srcAddr != null && req.addr === srcAddr && req.clusterId === resp?.clusterId && req.profileId === resp?.profileId) {
1112
+ if (header !== undefined && req.transactionSequenceNumber != undefined) {
1106
1113
  if (req.transactionSequenceNumber === header.transactionSequenceNumber) {
1107
1114
  logger_1.logger.debug('resolve data request with transSeq Nr.: ' + req.transactionSequenceNumber, NS);
1108
1115
  this.openRequestsQueue.splice(i, 1);
1109
- req.resolve(resp);
1116
+ req.resolve?.(resp);
1110
1117
  }
1111
1118
  }
1112
1119
  else {
1113
1120
  logger_1.logger.debug('resolve data request without a transSeq Nr.', NS);
1114
1121
  this.openRequestsQueue.splice(i, 1);
1115
- req.resolve(resp);
1122
+ req.resolve?.(resp);
1116
1123
  }
1117
1124
  }
1118
1125
  const now = Date.now();
@@ -1122,37 +1129,37 @@ class DeconzAdapter extends adapter_1.default {
1122
1129
  //logger.debug("Timeout for request in openRequestsQueue addr: " + req.addr.toString(16) + " clusterId: " + req.clusterId.toString(16) + " profileId: " + req.profileId.toString(16), NS);
1123
1130
  //remove from busyQueue
1124
1131
  this.openRequestsQueue.splice(i, 1);
1125
- req.reject('waiting for response TIMEOUT');
1132
+ req.reject?.('waiting for response TIMEOUT');
1126
1133
  }
1127
1134
  }
1128
1135
  // check unattended incomming messages
1129
1136
  if (resp != null && resp.profileId === 0x00 && resp.clusterId === 0x13) {
1130
1137
  // device Annce
1131
1138
  const payload = {
1132
- networkAddress: payBuf.readUInt16LE(1),
1139
+ networkAddress: payBuf.readUInt16LE(1), // valid from check
1133
1140
  ieeeAddr: this.driver.macAddrArrayToString(resp.asduPayload.slice(3, 11)),
1134
1141
  };
1135
1142
  if (this.joinPermitted === true) {
1136
- this.emit(Events.Events.deviceJoined, payload);
1143
+ this.emit('deviceJoined', payload);
1137
1144
  }
1138
1145
  else {
1139
- this.emit(Events.Events.deviceAnnounce, payload);
1146
+ this.emit('deviceAnnounce', payload);
1140
1147
  }
1141
1148
  }
1142
1149
  if (resp != null && resp.profileId != 0x00) {
1143
1150
  const payload = {
1144
1151
  clusterID: resp.clusterId,
1145
1152
  header,
1146
- data: payBuf,
1147
- address: resp.destAddrMode === 0x03 ? resp.srcAddr64 : resp.srcAddr16,
1153
+ data: payBuf, // valid from check
1154
+ address: resp.destAddrMode === 0x03 ? `0x${resp.srcAddr64}` : resp.srcAddr16,
1148
1155
  endpoint: resp.srcEndpoint,
1149
1156
  linkquality: resp.lqi,
1150
- groupID: resp.destAddrMode === 0x01 ? resp.destAddr16 : null,
1157
+ groupID: resp.destAddrMode === 0x01 ? resp.destAddr16 : 0,
1151
1158
  wasBroadcast: resp.destAddrMode === 0x01 || resp.destAddrMode === 0xf,
1152
1159
  destinationEndpoint: resp.destEndpoint,
1153
1160
  };
1154
1161
  this.waitress.resolve(payload);
1155
- this.emit(Events.Events.zclPayload, payload);
1162
+ this.emit('zclPayload', payload);
1156
1163
  }
1157
1164
  }
1158
1165
  nextTransactionID() {
@@ -1168,7 +1175,7 @@ class DeconzAdapter extends adapter_1.default {
1168
1175
  ` - ${matcher.commandIdentifier} after ${timeout}ms`);
1169
1176
  }
1170
1177
  waitressValidator(payload, matcher) {
1171
- return (payload.header &&
1178
+ return Boolean(payload.header &&
1172
1179
  (!matcher.address || payload.address === matcher.address) &&
1173
1180
  payload.endpoint === matcher.endpoint &&
1174
1181
  (!matcher.transactionSequenceNumber || payload.header.transactionSequenceNumber === matcher.transactionSequenceNumber) &&