zigbee-herdsman 0.55.5 → 0.56.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/.github/workflows/typedoc.yaml +38 -0
  2. package/.github/workflows/update_deps.yml +1 -1
  3. package/.prettierrc +18 -1
  4. package/.release-please-manifest.json +1 -1
  5. package/CHANGELOG.md +31 -0
  6. package/README.md +1 -1
  7. package/dist/adapter/adapter.d.ts +16 -8
  8. package/dist/adapter/adapter.d.ts.map +1 -1
  9. package/dist/adapter/adapter.js +5 -3
  10. package/dist/adapter/adapter.js.map +1 -1
  11. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +11 -11
  12. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  13. package/dist/adapter/deconz/adapter/deconzAdapter.js +103 -106
  14. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  15. package/dist/adapter/deconz/adapter/index.d.ts.map +1 -1
  16. package/dist/adapter/deconz/adapter/index.js +0 -2
  17. package/dist/adapter/deconz/adapter/index.js.map +1 -1
  18. package/dist/adapter/deconz/driver/driver.d.ts +13 -13
  19. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  20. package/dist/adapter/deconz/driver/driver.js +126 -128
  21. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  22. package/dist/adapter/deconz/driver/frame.d.ts.map +1 -1
  23. package/dist/adapter/deconz/driver/frame.js +1 -1
  24. package/dist/adapter/deconz/driver/frame.js.map +1 -1
  25. package/dist/adapter/deconz/driver/frameParser.d.ts +3 -1
  26. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  27. package/dist/adapter/deconz/driver/frameParser.js +52 -40
  28. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  29. package/dist/adapter/deconz/driver/parser.d.ts +3 -4
  30. package/dist/adapter/deconz/driver/parser.d.ts.map +1 -1
  31. package/dist/adapter/deconz/driver/parser.js +4 -29
  32. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  33. package/dist/adapter/deconz/driver/writer.d.ts.map +1 -1
  34. package/dist/adapter/deconz/driver/writer.js +2 -2
  35. package/dist/adapter/deconz/driver/writer.js.map +1 -1
  36. package/dist/adapter/ember/adapter/emberAdapter.d.ts +11 -21
  37. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  38. package/dist/adapter/ember/adapter/emberAdapter.js +77 -123
  39. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  40. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  41. package/dist/adapter/ember/adapter/oneWaitress.js +6 -3
  42. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  43. package/dist/adapter/ember/adapter/tokensManager.d.ts +1 -1
  44. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  45. package/dist/adapter/ember/adapter/tokensManager.js +3 -3
  46. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  47. package/dist/adapter/ember/enums.d.ts +22 -0
  48. package/dist/adapter/ember/enums.d.ts.map +1 -1
  49. package/dist/adapter/ember/enums.js +24 -1
  50. package/dist/adapter/ember/enums.js.map +1 -1
  51. package/dist/adapter/ember/ezsp/buffalo.d.ts +1 -3
  52. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -1
  53. package/dist/adapter/ember/ezsp/buffalo.js +16 -37
  54. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  55. package/dist/adapter/ember/ezsp/ezsp.d.ts +25 -41
  56. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  57. package/dist/adapter/ember/ezsp/ezsp.js +67 -72
  58. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  59. package/dist/adapter/ember/types.d.ts +16 -23
  60. package/dist/adapter/ember/types.d.ts.map +1 -1
  61. package/dist/adapter/ember/uart/ash.d.ts +6 -22
  62. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  63. package/dist/adapter/ember/uart/ash.js +100 -117
  64. package/dist/adapter/ember/uart/ash.js.map +1 -1
  65. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  66. package/dist/adapter/ember/uart/parser.js +1 -1
  67. package/dist/adapter/ember/uart/parser.js.map +1 -1
  68. package/dist/adapter/ember/uart/queues.d.ts +9 -9
  69. package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
  70. package/dist/adapter/ember/uart/queues.js +27 -26
  71. package/dist/adapter/ember/uart/queues.js.map +1 -1
  72. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  73. package/dist/adapter/ember/uart/writer.js +1 -1
  74. package/dist/adapter/ember/uart/writer.js.map +1 -1
  75. package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
  76. package/dist/adapter/ember/utils/initters.js +1 -1
  77. package/dist/adapter/ember/utils/initters.js.map +1 -1
  78. package/dist/adapter/events.d.ts +1 -9
  79. package/dist/adapter/events.d.ts.map +1 -1
  80. package/dist/adapter/events.js +0 -10
  81. package/dist/adapter/events.js.map +1 -1
  82. package/dist/adapter/ezsp/adapter/backup.d.ts +1 -1
  83. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  84. package/dist/adapter/ezsp/adapter/backup.js +33 -10
  85. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  86. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +7 -7
  87. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  88. package/dist/adapter/ezsp/adapter/ezspAdapter.js +35 -45
  89. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  90. package/dist/adapter/ezsp/adapter/index.d.ts.map +1 -1
  91. package/dist/adapter/ezsp/adapter/index.js +0 -2
  92. package/dist/adapter/ezsp/adapter/index.js.map +1 -1
  93. package/dist/adapter/ezsp/driver/commands.d.ts +2 -2
  94. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  95. package/dist/adapter/ezsp/driver/commands.js +112 -112
  96. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  97. package/dist/adapter/ezsp/driver/driver.d.ts +2 -3
  98. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  99. package/dist/adapter/ezsp/driver/driver.js +21 -13
  100. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  101. package/dist/adapter/ezsp/driver/ezsp.d.ts +3 -3
  102. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  103. package/dist/adapter/ezsp/driver/ezsp.js +8 -10
  104. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  105. package/dist/adapter/ezsp/driver/frame.d.ts.map +1 -1
  106. package/dist/adapter/ezsp/driver/frame.js +1 -1
  107. package/dist/adapter/ezsp/driver/frame.js.map +1 -1
  108. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
  109. package/dist/adapter/ezsp/driver/index.js +0 -1
  110. package/dist/adapter/ezsp/driver/index.js.map +1 -1
  111. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  112. package/dist/adapter/ezsp/driver/multicast.js +3 -3
  113. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  114. package/dist/adapter/ezsp/driver/parser.d.ts +1 -2
  115. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  116. package/dist/adapter/ezsp/driver/parser.js +3 -9
  117. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  118. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -1
  119. package/dist/adapter/ezsp/driver/types/basic.js +0 -1
  120. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  121. package/dist/adapter/ezsp/driver/types/index.d.ts +4 -4
  122. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  123. package/dist/adapter/ezsp/driver/types/index.js +85 -86
  124. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  125. package/dist/adapter/ezsp/driver/types/named.js +1 -3
  126. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  127. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  128. package/dist/adapter/ezsp/driver/types/struct.js +63 -3
  129. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  130. package/dist/adapter/ezsp/driver/uart.d.ts +2 -3
  131. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  132. package/dist/adapter/ezsp/driver/uart.js +9 -13
  133. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  134. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +3 -1
  135. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -1
  136. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +1 -2
  137. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  138. package/dist/adapter/ezsp/driver/utils/index.d.ts +1 -15
  139. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
  140. package/dist/adapter/ezsp/driver/utils/index.js +2 -41
  141. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  142. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  143. package/dist/adapter/ezsp/driver/writer.js +1 -1
  144. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  145. package/dist/adapter/serialPort.d.ts +7 -2
  146. package/dist/adapter/serialPort.d.ts.map +1 -1
  147. package/dist/adapter/serialPort.js +6 -2
  148. package/dist/adapter/serialPort.js.map +1 -1
  149. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +1 -1
  150. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  151. package/dist/adapter/z-stack/adapter/adapter-backup.js +28 -21
  152. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  153. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +1 -1
  154. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -1
  155. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +27 -14
  156. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  157. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  158. package/dist/adapter/z-stack/adapter/manager.js +10 -10
  159. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  160. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +7 -7
  161. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  162. package/dist/adapter/z-stack/adapter/zStackAdapter.js +40 -31
  163. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  164. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +1 -1
  165. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +1 -3
  166. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  167. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +1 -1
  168. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +5 -0
  169. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
  170. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +1 -2
  171. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
  172. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +1 -1
  173. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +5 -0
  174. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
  175. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +1 -2
  176. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
  177. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +1 -1
  178. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +5 -0
  179. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
  180. package/dist/adapter/z-stack/structs/entries/channel-list.js +1 -2
  181. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
  182. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +1 -1
  183. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -1
  184. package/dist/adapter/z-stack/structs/entries/has-configured.js +12 -6
  185. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
  186. package/dist/adapter/z-stack/structs/entries/nib.d.ts +1 -1
  187. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -1
  188. package/dist/adapter/z-stack/structs/entries/nib.js +6 -2
  189. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
  190. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +1 -1
  191. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -1
  192. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +9 -3
  193. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
  194. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +1 -1
  195. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -1
  196. package/dist/adapter/z-stack/structs/entries/nwk-key.js +9 -3
  197. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
  198. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +1 -2
  199. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
  200. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +1 -2
  201. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
  202. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +1 -1
  203. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +5 -0
  204. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
  205. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +1 -2
  206. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  207. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -1
  208. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +5 -0
  209. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
  210. package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
  211. package/dist/adapter/z-stack/structs/struct.js +16 -4
  212. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  213. package/dist/adapter/z-stack/structs/table.d.ts +1 -1
  214. package/dist/adapter/z-stack/structs/table.d.ts.map +1 -1
  215. package/dist/adapter/z-stack/structs/table.js +17 -13
  216. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  217. package/dist/adapter/z-stack/unpi/frame.d.ts +3 -3
  218. package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
  219. package/dist/adapter/z-stack/unpi/frame.js +1 -1
  220. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  221. package/dist/adapter/z-stack/unpi/parser.js +1 -1
  222. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  223. package/dist/adapter/z-stack/utils/network-options.d.ts.map +1 -1
  224. package/dist/adapter/z-stack/utils/network-options.js +1 -2
  225. package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
  226. package/dist/adapter/z-stack/znp/znp.d.ts +5 -6
  227. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  228. package/dist/adapter/z-stack/znp/znp.js +21 -28
  229. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  230. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
  231. package/dist/adapter/z-stack/znp/zpiObject.js +2 -2
  232. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  233. package/dist/adapter/zigate/adapter/index.js +1 -2
  234. package/dist/adapter/zigate/adapter/index.js.map +1 -1
  235. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +9 -9
  236. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  237. package/dist/adapter/zigate/adapter/zigateAdapter.js +92 -118
  238. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  239. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +1 -1
  240. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  241. package/dist/adapter/zigate/driver/buffaloZiGate.js +4 -4
  242. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  243. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  244. package/dist/adapter/zigate/driver/commandType.js +3 -2
  245. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  246. package/dist/adapter/zigate/driver/constants.d.ts +7 -1
  247. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  248. package/dist/adapter/zigate/driver/constants.js +1 -2
  249. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  250. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  251. package/dist/adapter/zigate/driver/frame.js +2 -3
  252. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  253. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
  254. package/dist/adapter/zigate/driver/messageType.js +1 -2
  255. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  256. package/dist/adapter/zigate/driver/ziGateObject.d.ts +5 -5
  257. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  258. package/dist/adapter/zigate/driver/ziGateObject.js +9 -10
  259. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  260. package/dist/adapter/zigate/driver/zigate.d.ts +7 -10
  261. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  262. package/dist/adapter/zigate/driver/zigate.js +35 -40
  263. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  264. package/dist/controller/controller.d.ts +18 -6
  265. package/dist/controller/controller.d.ts.map +1 -1
  266. package/dist/controller/controller.js +95 -103
  267. package/dist/controller/controller.js.map +1 -1
  268. package/dist/controller/events.d.ts +2 -13
  269. package/dist/controller/events.d.ts.map +1 -1
  270. package/dist/controller/events.js +0 -13
  271. package/dist/controller/events.js.map +1 -1
  272. package/dist/controller/greenPower.d.ts +6 -2
  273. package/dist/controller/greenPower.d.ts.map +1 -1
  274. package/dist/controller/greenPower.js +26 -16
  275. package/dist/controller/greenPower.js.map +1 -1
  276. package/dist/controller/helpers/request.d.ts +1 -1
  277. package/dist/controller/helpers/request.d.ts.map +1 -1
  278. package/dist/controller/helpers/request.js.map +1 -1
  279. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  280. package/dist/controller/helpers/requestQueue.js +1 -1
  281. package/dist/controller/helpers/requestQueue.js.map +1 -1
  282. package/dist/controller/helpers/zclFrameConverter.d.ts +2 -2
  283. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  284. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  285. package/dist/controller/index.d.ts.map +1 -1
  286. package/dist/controller/index.js.map +1 -1
  287. package/dist/controller/model/device.d.ts +31 -29
  288. package/dist/controller/model/device.d.ts.map +1 -1
  289. package/dist/controller/model/device.js +42 -30
  290. package/dist/controller/model/device.js.map +1 -1
  291. package/dist/controller/model/endpoint.d.ts +5 -2
  292. package/dist/controller/model/endpoint.d.ts.map +1 -1
  293. package/dist/controller/model/endpoint.js +96 -97
  294. package/dist/controller/model/endpoint.js.map +1 -1
  295. package/dist/controller/model/entity.d.ts +5 -3
  296. package/dist/controller/model/entity.d.ts.map +1 -1
  297. package/dist/controller/model/entity.js +2 -2
  298. package/dist/controller/model/entity.js.map +1 -1
  299. package/dist/controller/model/group.d.ts +1 -0
  300. package/dist/controller/model/group.d.ts.map +1 -1
  301. package/dist/controller/model/group.js +36 -28
  302. package/dist/controller/model/group.js.map +1 -1
  303. package/dist/controller/touchlink.d.ts.map +1 -1
  304. package/dist/controller/touchlink.js +6 -5
  305. package/dist/controller/touchlink.js.map +1 -1
  306. package/dist/controller/tstype.d.ts +1 -4
  307. package/dist/controller/tstype.d.ts.map +1 -1
  308. package/dist/controller/tstype.js +0 -5
  309. package/dist/controller/tstype.js.map +1 -1
  310. package/dist/models/backup-storage-unified.d.ts +2 -2
  311. package/dist/models/backup-storage-unified.d.ts.map +1 -1
  312. package/dist/models/backup.d.ts +1 -1
  313. package/dist/models/backup.d.ts.map +1 -1
  314. package/dist/utils/backup.d.ts.map +1 -1
  315. package/dist/utils/backup.js +22 -55
  316. package/dist/utils/backup.js.map +1 -1
  317. package/dist/utils/index.d.ts +2 -3
  318. package/dist/utils/index.d.ts.map +1 -1
  319. package/dist/utils/index.js +3 -5
  320. package/dist/utils/index.js.map +1 -1
  321. package/dist/utils/logger.d.ts +1 -1
  322. package/dist/utils/logger.d.ts.map +1 -1
  323. package/dist/utils/queue.d.ts.map +1 -1
  324. package/dist/utils/queue.js +8 -8
  325. package/dist/utils/queue.js.map +1 -1
  326. package/dist/utils/realpathSync.d.ts.map +1 -1
  327. package/dist/utils/realpathSync.js +1 -1
  328. package/dist/utils/realpathSync.js.map +1 -1
  329. package/dist/utils/utils.d.ts +5 -0
  330. package/dist/utils/utils.d.ts.map +1 -0
  331. package/dist/utils/utils.js +24 -0
  332. package/dist/utils/utils.js.map +1 -0
  333. package/dist/zspec/consts.d.ts +1 -0
  334. package/dist/zspec/consts.d.ts.map +1 -1
  335. package/dist/zspec/consts.js +2 -1
  336. package/dist/zspec/consts.js.map +1 -1
  337. package/dist/zspec/index.js +0 -10
  338. package/dist/zspec/index.js.map +1 -1
  339. package/dist/zspec/utils.d.ts.map +1 -1
  340. package/dist/zspec/utils.js +7 -1
  341. package/dist/zspec/utils.js.map +1 -1
  342. package/dist/zspec/zcl/buffaloZcl.js +13 -13
  343. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  344. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  345. package/dist/zspec/zcl/definition/cluster.js +1 -1
  346. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  347. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  348. package/dist/zspec/zcl/definition/foundation.js +1 -1
  349. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  350. package/dist/zspec/zcl/definition/tstype.d.ts +1 -1
  351. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  352. package/dist/zspec/zcl/utils.d.ts +1 -1
  353. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  354. package/dist/zspec/zcl/utils.js +21 -20
  355. package/dist/zspec/zcl/utils.js.map +1 -1
  356. package/dist/zspec/zcl/zclFrame.d.ts +4 -4
  357. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  358. package/dist/zspec/zcl/zclFrame.js +10 -17
  359. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  360. package/dist/zspec/zcl/zclHeader.d.ts +2 -2
  361. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
  362. package/dist/zspec/zcl/zclHeader.js +3 -3
  363. package/dist/zspec/zcl/zclHeader.js.map +1 -1
  364. package/dist/zspec/zdo/buffaloZdo.d.ts +2 -2
  365. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
  366. package/dist/zspec/zdo/buffaloZdo.js +12 -8
  367. package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
  368. package/dist/zspec/zdo/definition/tstypes.d.ts +1 -1
  369. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
  370. package/eslint.config.mjs +32 -0
  371. package/package.json +12 -10
  372. package/tsconfig.json +1 -0
  373. package/.eslintignore +0 -3
  374. package/dist/utils/assertString.d.ts +0 -3
  375. package/dist/utils/assertString.d.ts.map +0 -1
  376. package/dist/utils/assertString.js +0 -9
  377. package/dist/utils/assertString.js.map +0 -1
  378. package/dist/utils/isNumberArray.d.ts +0 -3
  379. package/dist/utils/isNumberArray.d.ts.map +0 -1
  380. package/dist/utils/isNumberArray.js +0 -7
  381. package/dist/utils/isNumberArray.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* istanbul ignore file */
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -26,23 +27,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
27
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
28
  };
28
29
  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"));
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,16 @@ 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
+ /* empty */
657
+ }
658
+ if (simpleDesc == undefined) {
659
+ await this.checkCoordinatorSimpleDescriptor(false);
657
660
  return;
658
661
  }
659
662
  logger_1.logger.debug('EP: ' + simpleDesc.endpointID, NS);
@@ -695,8 +698,8 @@ class DeconzAdapter extends adapter_1.default {
695
698
  await this.driver.writeParameterRequest(constants_1.default.PARAM.STK.Endpoint, sd1);
696
699
  }
697
700
  catch (error) {
698
- logger_1.logger.debug('error setting simple descriptor - try again', NS);
699
- this.checkCoordinatorSimpleDescriptor(true);
701
+ logger_1.logger.debug(`error setting simple descriptor: ${error} - try again`, NS);
702
+ await this.checkCoordinatorSimpleDescriptor(true);
700
703
  return;
701
704
  }
702
705
  logger_1.logger.debug('success setting simple descriptor', NS);
@@ -718,7 +721,7 @@ class DeconzAdapter extends adapter_1.default {
718
721
  async sendZclFrameToEndpoint(ieeeAddr, networkAddress, endpoint, zclFrame, timeout, disableResponse, disableRecovery, sourceEndpoint) {
719
722
  const transactionID = this.nextTransactionID();
720
723
  const request = {};
721
- let pay = zclFrame.toBuffer();
724
+ const pay = zclFrame.toBuffer();
722
725
  //logger.info("zclFramte.toBuffer:", NS);
723
726
  //logger.info(pay, NS);
724
727
  request.requestId = transactionID;
@@ -736,16 +739,16 @@ class DeconzAdapter extends adapter_1.default {
736
739
  const command = zclFrame.command;
737
740
  this.driver
738
741
  .enqueueSendDataRequest(request)
739
- .then((result) => {
742
+ .then(() => {
740
743
  logger_1.logger.debug(`sendZclFrameToEndpoint - message send with transSeq Nr.: ${zclFrame.header.transactionSequenceNumber}`, NS);
741
- logger_1.logger.debug(command.hasOwnProperty('response') +
744
+ logger_1.logger.debug((command.response !== undefined) +
742
745
  ', ' +
743
746
  zclFrame.header.frameControl.disableDefaultResponse +
744
747
  ', ' +
745
748
  disableResponse +
746
749
  ', ' +
747
750
  request.timeout, NS);
748
- if (!command.hasOwnProperty('response') || zclFrame.header.frameControl.disableDefaultResponse || !disableResponse) {
751
+ if (command.response == undefined || zclFrame.header.frameControl.disableDefaultResponse || !disableResponse) {
749
752
  logger_1.logger.debug(`resolve request (${zclFrame.header.transactionSequenceNumber})`, NS);
750
753
  return Promise.resolve();
751
754
  }
@@ -757,20 +760,20 @@ class DeconzAdapter extends adapter_1.default {
757
760
  });
758
761
  try {
759
762
  let data = null;
760
- if ((command.hasOwnProperty('response') && !disableResponse) || !zclFrame.header.frameControl.disableDefaultResponse) {
763
+ if ((command.response != undefined && !disableResponse) || !zclFrame.header.frameControl.disableDefaultResponse) {
761
764
  data = await this.waitForData(networkAddress, 0x104, zclFrame.cluster.ID, zclFrame.header.transactionSequenceNumber, request.timeout);
762
765
  }
763
766
  if (data !== null) {
764
767
  const asdu = data.asduPayload;
765
768
  const buffer = Buffer.from(asdu);
766
769
  const response = {
767
- address: data.srcAddrMode === 0x02 ? data.srcAddr16 : null,
770
+ address: data.srcAddr16 ?? `0x${data.srcAddr64}`,
768
771
  data: buffer,
769
772
  clusterID: zclFrame.cluster.ID,
770
773
  header: Zcl.Header.fromBuffer(buffer),
771
774
  endpoint: data.srcEndpoint,
772
775
  linkquality: data.lqi,
773
- groupID: data.srcAddrMode === 0x01 ? data.srcAddr16 : null,
776
+ groupID: data.srcAddrMode === 0x01 ? data.srcAddr16 : 0,
774
777
  wasBroadcast: data.srcAddrMode === 0x01 || data.srcAddrMode === 0xf,
775
778
  destinationEndpoint: data.destEndpoint,
776
779
  };
@@ -779,17 +782,16 @@ class DeconzAdapter extends adapter_1.default {
779
782
  }
780
783
  else {
781
784
  logger_1.logger.debug(`no response expected (${zclFrame.header.transactionSequenceNumber})`, NS);
782
- return null;
783
785
  }
784
786
  }
785
787
  catch (error) {
786
- throw new Error(`no response received (${zclFrame.header.transactionSequenceNumber})`);
788
+ throw new Error(`no response received (${zclFrame.header.transactionSequenceNumber}) ${error}`);
787
789
  }
788
790
  }
789
791
  async sendZclFrameToGroup(groupID, zclFrame) {
790
792
  const transactionID = this.nextTransactionID();
791
793
  const request = {};
792
- let pay = zclFrame.toBuffer();
794
+ const pay = zclFrame.toBuffer();
793
795
  logger_1.logger.debug('zclFrame to group - zclFrame.payload:', NS);
794
796
  logger_1.logger.debug(zclFrame.payload, NS);
795
797
  //logger.info("zclFramte.toBuffer:", NS);
@@ -804,19 +806,13 @@ class DeconzAdapter extends adapter_1.default {
804
806
  request.asduPayload = [...pay];
805
807
  request.txOptions = 0;
806
808
  request.radius = constants_1.default.PARAM.txRadius.UNLIMITED;
807
- try {
808
- logger_1.logger.debug(`sendZclFrameToGroup - message send`, NS);
809
- return this.driver.enqueueSendDataRequest(request);
810
- }
811
- catch (error) {
812
- //logger.debug(`sendZclFrameToGroup ERROR: ${error}`, NS);
813
- throw new Error(error);
814
- }
809
+ logger_1.logger.debug(`sendZclFrameToGroup - message send`, NS);
810
+ return this.driver.enqueueSendDataRequest(request);
815
811
  }
816
812
  async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint, destination) {
817
813
  const transactionID = this.nextTransactionID();
818
814
  const request = {};
819
- let pay = zclFrame.toBuffer();
815
+ const pay = zclFrame.toBuffer();
820
816
  logger_1.logger.debug('zclFrame to all - zclFrame.payload:', NS);
821
817
  logger_1.logger.debug(zclFrame.payload, NS);
822
818
  request.requestId = transactionID;
@@ -830,14 +826,8 @@ class DeconzAdapter extends adapter_1.default {
830
826
  request.asduPayload = [...pay];
831
827
  request.txOptions = 0;
832
828
  request.radius = constants_1.default.PARAM.txRadius.UNLIMITED;
833
- try {
834
- logger_1.logger.debug(`sendZclFrameToAll - message send`, NS);
835
- return this.driver.enqueueSendDataRequest(request);
836
- }
837
- catch (error) {
838
- //logger.debug(`sendZclFrameToAll ERROR: ${error}`, NS);
839
- throw new Error(error);
840
- }
829
+ logger_1.logger.debug(`sendZclFrameToAll - message send`, NS);
830
+ return this.driver.enqueueSendDataRequest(request);
841
831
  }
842
832
  async bind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
843
833
  const transactionID = this.nextTransactionID();
@@ -846,6 +836,7 @@ class DeconzAdapter extends adapter_1.default {
846
836
  const destAddrMode = type === 'group' ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
847
837
  let destArray;
848
838
  if (type === 'endpoint') {
839
+ (0, assert_1.default)(destinationEndpoint, 'Destination endpoint must be defined when `type === endpoint`');
849
840
  destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
850
841
  destArray = destArray.concat([destinationEndpoint]);
851
842
  }
@@ -871,8 +862,8 @@ class DeconzAdapter extends adapter_1.default {
871
862
  request.timeout = 30;
872
863
  this.driver
873
864
  .enqueueSendDataRequest(request)
874
- .then((result) => { })
875
- .catch((error) => { });
865
+ .then(() => { })
866
+ .catch(() => { });
876
867
  try {
877
868
  const d = await this.waitForData(destinationNetworkAddress, 0, 0x8021);
878
869
  const data = d.asduPayload;
@@ -883,7 +874,7 @@ class DeconzAdapter extends adapter_1.default {
883
874
  }
884
875
  catch (error) {
885
876
  logger_1.logger.debug('BIND FAILED - addr: 0x' + destinationNetworkAddress.toString(16) + ' ' + error, NS);
886
- throw new Error(error);
877
+ throw error;
887
878
  }
888
879
  }
889
880
  async unbind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
@@ -893,6 +884,7 @@ class DeconzAdapter extends adapter_1.default {
893
884
  const destAddrMode = type === 'group' ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
894
885
  let destArray;
895
886
  if (type === 'endpoint') {
887
+ (0, assert_1.default)(destinationEndpoint, 'Destination endpoint must be defined when `type === endpoint`');
896
888
  destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
897
889
  destArray = destArray.concat([destinationEndpoint]);
898
890
  }
@@ -918,8 +910,8 @@ class DeconzAdapter extends adapter_1.default {
918
910
  request.timeout = 30;
919
911
  this.driver
920
912
  .enqueueSendDataRequest(request)
921
- .then((result) => { })
922
- .catch((error) => { });
913
+ .then(() => { })
914
+ .catch(() => { });
923
915
  try {
924
916
  const d = await this.waitForData(destinationNetworkAddress, 0, 0x8022);
925
917
  const data = d.asduPayload;
@@ -930,13 +922,13 @@ class DeconzAdapter extends adapter_1.default {
930
922
  }
931
923
  catch (error) {
932
924
  logger_1.logger.debug('UNBIND FAILED - addr: 0x' + destinationNetworkAddress.toString(16) + ' ' + error, NS);
933
- throw new Error(error);
925
+ throw error;
934
926
  }
935
927
  }
936
928
  async removeDevice(networkAddress, ieeeAddr) {
937
929
  const transactionID = this.nextTransactionID();
938
- const nwk1 = networkAddress & 0xff;
939
- const nwk2 = (networkAddress >> 8) & 0xff;
930
+ // const nwk1 = networkAddress & 0xff;
931
+ // const nwk2 = (networkAddress >> 8) & 0xff;
940
932
  const request = {};
941
933
  //const zdpFrame = [transactionID].concat(this.driver.macAddrStringToArray(ieeeAddr)).concat([0]);
942
934
  const zdpFrame = [transactionID].concat([0, 0, 0, 0, 0, 0, 0, 0]).concat([0]);
@@ -953,8 +945,8 @@ class DeconzAdapter extends adapter_1.default {
953
945
  request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
954
946
  this.driver
955
947
  .enqueueSendDataRequest(request)
956
- .then((result) => { })
957
- .catch((error) => { });
948
+ .then(() => { })
949
+ .catch(() => { });
958
950
  try {
959
951
  const d = await this.waitForData(networkAddress, 0, 0x8034);
960
952
  const data = d.asduPayload;
@@ -966,11 +958,11 @@ class DeconzAdapter extends adapter_1.default {
966
958
  if (data[1] !== 0) {
967
959
  throw new Error('status: ' + data[1]);
968
960
  }
969
- this.emit(Events.Events.deviceLeave, payload);
961
+ this.emit('deviceLeave', payload);
970
962
  }
971
963
  catch (error) {
972
964
  logger_1.logger.debug('REMOVE_DEVICE FAILED - addr: 0x' + networkAddress.toString(16) + ' ' + error, NS);
973
- throw new Error(error);
965
+ throw error;
974
966
  }
975
967
  }
976
968
  async supportsBackup() {
@@ -981,9 +973,9 @@ class DeconzAdapter extends adapter_1.default {
981
973
  }
982
974
  async getNetworkParameters() {
983
975
  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);
976
+ const panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
977
+ const expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
978
+ const channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
987
979
  return {
988
980
  panID: panid,
989
981
  extendedPanID: expanid,
@@ -999,24 +991,31 @@ class DeconzAdapter extends adapter_1.default {
999
991
  async restoreChannelInterPAN() {
1000
992
  throw new Error('not supported');
1001
993
  }
994
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1002
995
  async sendZclFrameInterPANToIeeeAddr(zclFrame, ieeeAddr) {
1003
996
  throw new Error('not supported');
1004
997
  }
998
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1005
999
  async sendZclFrameInterPANBroadcast(zclFrame, timeout) {
1006
1000
  throw new Error('not supported');
1007
1001
  }
1002
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1008
1003
  async sendZclFrameInterPANBroadcastWithResponse(zclFrame, timeout) {
1009
1004
  throw new Error('not supported');
1010
1005
  }
1006
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1011
1007
  async setChannelInterPAN(channel) {
1012
1008
  throw new Error('not supported');
1013
1009
  }
1010
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1014
1011
  async changeChannel(newChannel) {
1015
1012
  throw new Error(`Channel change is not supported for 'deconz'`);
1016
1013
  }
1014
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1017
1015
  async setTransmitPower(value) {
1018
1016
  throw new Error('not supported');
1019
1017
  }
1018
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1020
1019
  async sendZclFrameInterPANIeeeAddr(zclFrame, ieeeAddr) {
1021
1020
  throw new Error('not supported');
1022
1021
  }
@@ -1029,14 +1028,14 @@ class DeconzAdapter extends adapter_1.default {
1029
1028
  waitForData(addr, profileId, clusterId, transactionSequenceNumber, timeout) {
1030
1029
  return new Promise((resolve, reject) => {
1031
1030
  const ts = Date.now();
1032
- const commandId = constants_1.default.PARAM.APS.DATA_INDICATION;
1031
+ // const commandId = PARAM.PARAM.APS.DATA_INDICATION;
1033
1032
  const req = { addr, profileId, clusterId, transactionSequenceNumber, resolve, reject, ts, timeout };
1034
1033
  this.openRequestsQueue.push(req);
1035
1034
  });
1036
1035
  }
1037
1036
  checkReceivedGreenPowerIndication(ind) {
1038
1037
  ind.clusterId = 0x21;
1039
- let gpFrame = [
1038
+ const gpFrame = [
1040
1039
  ind.rspId,
1041
1040
  ind.seqNr,
1042
1041
  ind.id,
@@ -1067,12 +1066,12 @@ class DeconzAdapter extends adapter_1.default {
1067
1066
  destinationEndpoint: 1,
1068
1067
  };
1069
1068
  this.waitress.resolve(payload);
1070
- this.emit(Events.Events.zclPayload, payload);
1069
+ this.emit('zclPayload', payload);
1071
1070
  }
1072
1071
  checkReceivedDataPayload(resp) {
1073
- let srcAddr = null;
1074
- let header = null;
1075
- const payBuf = resp != null ? Buffer.from(resp.asduPayload) : null;
1072
+ let srcAddr = undefined;
1073
+ let header;
1074
+ const payBuf = resp != null ? Buffer.from(resp.asduPayload) : undefined;
1076
1075
  if (resp != null) {
1077
1076
  if (resp.srcAddr16 != null) {
1078
1077
  srcAddr = resp.srcAddr16;
@@ -1085,34 +1084,32 @@ class DeconzAdapter extends adapter_1.default {
1085
1084
  if (resp.srcAddr64 != null) {
1086
1085
  logger_1.logger.debug(`Try to find network address of ${resp.srcAddr64}`, NS);
1087
1086
  // 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
- }
1087
+ srcAddr = device_1.default.byIeeeAddr('0x' + resp.srcAddr64, false)?.networkAddress;
1092
1088
  }
1089
+ (0, assert_1.default)(srcAddr, 'Failed to find srcAddr of message');
1093
1090
  // apperantly some functions furhter up in the protocol stack expect this to be set.
1094
1091
  // so let's make sure they get the network address
1095
- resp.srcAddr16 = srcAddr;
1092
+ resp.srcAddr16 = srcAddr; // TODO: can't be undefined
1096
1093
  }
1097
1094
  if (resp.profileId != 0x00) {
1098
- header = Zcl.Header.fromBuffer(payBuf);
1095
+ header = Zcl.Header.fromBuffer(payBuf); // valid from check
1099
1096
  }
1100
1097
  }
1101
1098
  let i = this.openRequestsQueue.length;
1102
1099
  while (i--) {
1103
1100
  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) {
1101
+ if (srcAddr != null && req.addr === srcAddr && req.clusterId === resp?.clusterId && req.profileId === resp?.profileId) {
1102
+ if (header !== undefined && req.transactionSequenceNumber != undefined) {
1106
1103
  if (req.transactionSequenceNumber === header.transactionSequenceNumber) {
1107
1104
  logger_1.logger.debug('resolve data request with transSeq Nr.: ' + req.transactionSequenceNumber, NS);
1108
1105
  this.openRequestsQueue.splice(i, 1);
1109
- req.resolve(resp);
1106
+ req.resolve?.(resp);
1110
1107
  }
1111
1108
  }
1112
1109
  else {
1113
1110
  logger_1.logger.debug('resolve data request without a transSeq Nr.', NS);
1114
1111
  this.openRequestsQueue.splice(i, 1);
1115
- req.resolve(resp);
1112
+ req.resolve?.(resp);
1116
1113
  }
1117
1114
  }
1118
1115
  const now = Date.now();
@@ -1122,37 +1119,37 @@ class DeconzAdapter extends adapter_1.default {
1122
1119
  //logger.debug("Timeout for request in openRequestsQueue addr: " + req.addr.toString(16) + " clusterId: " + req.clusterId.toString(16) + " profileId: " + req.profileId.toString(16), NS);
1123
1120
  //remove from busyQueue
1124
1121
  this.openRequestsQueue.splice(i, 1);
1125
- req.reject('waiting for response TIMEOUT');
1122
+ req.reject?.('waiting for response TIMEOUT');
1126
1123
  }
1127
1124
  }
1128
1125
  // check unattended incomming messages
1129
1126
  if (resp != null && resp.profileId === 0x00 && resp.clusterId === 0x13) {
1130
1127
  // device Annce
1131
1128
  const payload = {
1132
- networkAddress: payBuf.readUInt16LE(1),
1129
+ networkAddress: payBuf.readUInt16LE(1), // valid from check
1133
1130
  ieeeAddr: this.driver.macAddrArrayToString(resp.asduPayload.slice(3, 11)),
1134
1131
  };
1135
1132
  if (this.joinPermitted === true) {
1136
- this.emit(Events.Events.deviceJoined, payload);
1133
+ this.emit('deviceJoined', payload);
1137
1134
  }
1138
1135
  else {
1139
- this.emit(Events.Events.deviceAnnounce, payload);
1136
+ this.emit('deviceAnnounce', payload);
1140
1137
  }
1141
1138
  }
1142
1139
  if (resp != null && resp.profileId != 0x00) {
1143
1140
  const payload = {
1144
1141
  clusterID: resp.clusterId,
1145
1142
  header,
1146
- data: payBuf,
1147
- address: resp.destAddrMode === 0x03 ? resp.srcAddr64 : resp.srcAddr16,
1143
+ data: payBuf, // valid from check
1144
+ address: resp.destAddrMode === 0x03 ? `0x${resp.srcAddr64}` : resp.srcAddr16,
1148
1145
  endpoint: resp.srcEndpoint,
1149
1146
  linkquality: resp.lqi,
1150
- groupID: resp.destAddrMode === 0x01 ? resp.destAddr16 : null,
1147
+ groupID: resp.destAddrMode === 0x01 ? resp.destAddr16 : 0,
1151
1148
  wasBroadcast: resp.destAddrMode === 0x01 || resp.destAddrMode === 0xf,
1152
1149
  destinationEndpoint: resp.destEndpoint,
1153
1150
  };
1154
1151
  this.waitress.resolve(payload);
1155
- this.emit(Events.Events.zclPayload, payload);
1152
+ this.emit('zclPayload', payload);
1156
1153
  }
1157
1154
  }
1158
1155
  nextTransactionID() {
@@ -1168,7 +1165,7 @@ class DeconzAdapter extends adapter_1.default {
1168
1165
  ` - ${matcher.commandIdentifier} after ${timeout}ms`);
1169
1166
  }
1170
1167
  waitressValidator(payload, matcher) {
1171
- return (payload.header &&
1168
+ return Boolean(payload.header &&
1172
1169
  (!matcher.address || payload.address === matcher.address) &&
1173
1170
  payload.endpoint === matcher.endpoint &&
1174
1171
  (!matcher.transactionSequenceNumber || payload.header.transactionSequenceNumber === matcher.transactionSequenceNumber) &&