zigbee-herdsman 0.51.0 → 0.53.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 (499) hide show
  1. package/.github/workflows/ci.yml +4 -2
  2. package/.prettierrc +9 -0
  3. package/.release-please-manifest.json +1 -1
  4. package/CHANGELOG.md +25 -0
  5. package/dist/adapter/adapter.d.ts +4 -4
  6. package/dist/adapter/adapter.d.ts.map +1 -1
  7. package/dist/adapter/adapter.js +8 -13
  8. package/dist/adapter/adapter.js.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +1 -1
  10. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  11. package/dist/adapter/deconz/adapter/deconzAdapter.js +249 -155
  12. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  13. package/dist/adapter/deconz/adapter/index.d.ts +1 -1
  14. package/dist/adapter/deconz/adapter/index.d.ts.map +1 -1
  15. package/dist/adapter/deconz/adapter/index.js.map +1 -1
  16. package/dist/adapter/deconz/driver/constants.d.ts +1 -1
  17. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
  18. package/dist/adapter/deconz/driver/constants.js +7 -7
  19. package/dist/adapter/deconz/driver/constants.js.map +1 -1
  20. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  21. package/dist/adapter/deconz/driver/driver.js +92 -60
  22. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  23. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  24. package/dist/adapter/deconz/driver/frameParser.js +55 -46
  25. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  26. package/dist/adapter/deconz/driver/parser.js +1 -1
  27. package/dist/adapter/ember/adapter/emberAdapter.d.ts +5 -5
  28. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  29. package/dist/adapter/ember/adapter/emberAdapter.js +803 -955
  30. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  31. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  32. package/dist/adapter/ember/adapter/endpoints.js +4 -2
  33. package/dist/adapter/ember/adapter/endpoints.js.map +1 -1
  34. package/dist/adapter/ember/adapter/oneWaitress.d.ts +2 -2
  35. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  36. package/dist/adapter/ember/adapter/oneWaitress.js +16 -16
  37. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  38. package/dist/adapter/ember/adapter/tokensManager.d.ts +3 -3
  39. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  40. package/dist/adapter/ember/adapter/tokensManager.js +86 -85
  41. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  42. package/dist/adapter/ember/consts.d.ts.map +1 -1
  43. package/dist/adapter/ember/consts.js +27 -27
  44. package/dist/adapter/ember/consts.js.map +1 -1
  45. package/dist/adapter/ember/enums.d.ts +2 -2
  46. package/dist/adapter/ember/enums.d.ts.map +1 -1
  47. package/dist/adapter/ember/enums.js +8 -50
  48. package/dist/adapter/ember/enums.js.map +1 -1
  49. package/dist/adapter/ember/ezsp/buffalo.d.ts +4 -4
  50. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -1
  51. package/dist/adapter/ember/ezsp/buffalo.js +35 -34
  52. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  53. package/dist/adapter/ember/ezsp/consts.d.ts.map +1 -1
  54. package/dist/adapter/ember/ezsp/consts.js +4 -4
  55. package/dist/adapter/ember/ezsp/consts.js.map +1 -1
  56. package/dist/adapter/ember/ezsp/enums.d.ts.map +1 -1
  57. package/dist/adapter/ember/ezsp/enums.js +0 -2
  58. package/dist/adapter/ember/ezsp/enums.js.map +1 -1
  59. package/dist/adapter/ember/ezsp/ezsp.d.ts +23 -20
  60. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  61. package/dist/adapter/ember/ezsp/ezsp.js +1146 -1141
  62. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  63. package/dist/adapter/ember/ezspError.d.ts +1 -1
  64. package/dist/adapter/ember/ezspError.d.ts.map +1 -1
  65. package/dist/adapter/ember/ezspError.js.map +1 -1
  66. package/dist/adapter/ember/types.d.ts +2 -1
  67. package/dist/adapter/ember/types.d.ts.map +1 -1
  68. package/dist/adapter/ember/uart/ash.d.ts +5 -5
  69. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  70. package/dist/adapter/ember/uart/ash.js +66 -65
  71. package/dist/adapter/ember/uart/ash.js.map +1 -1
  72. package/dist/adapter/ember/uart/consts.d.ts.map +1 -1
  73. package/dist/adapter/ember/uart/consts.js +9 -9
  74. package/dist/adapter/ember/uart/consts.js.map +1 -1
  75. package/dist/adapter/ember/uart/enums.d.ts.map +1 -1
  76. package/dist/adapter/ember/uart/parser.d.ts +1 -1
  77. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  78. package/dist/adapter/ember/uart/parser.js +1 -1
  79. package/dist/adapter/ember/uart/parser.js.map +1 -1
  80. package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
  81. package/dist/adapter/ember/uart/queues.js +1 -1
  82. package/dist/adapter/ember/uart/queues.js.map +1 -1
  83. package/dist/adapter/ember/uart/writer.d.ts +1 -1
  84. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  85. package/dist/adapter/ember/uart/writer.js +2 -3
  86. package/dist/adapter/ember/uart/writer.js.map +1 -1
  87. package/dist/adapter/ember/utils/initters.d.ts +2 -2
  88. package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
  89. package/dist/adapter/ember/utils/initters.js +1 -0
  90. package/dist/adapter/ember/utils/initters.js.map +1 -1
  91. package/dist/adapter/ember/utils/math.d.ts.map +1 -1
  92. package/dist/adapter/ember/utils/math.js +11 -11
  93. package/dist/adapter/ember/utils/math.js.map +1 -1
  94. package/dist/adapter/events.d.ts +1 -1
  95. package/dist/adapter/events.d.ts.map +1 -1
  96. package/dist/adapter/ezsp/adapter/backup.d.ts +1 -1
  97. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  98. package/dist/adapter/ezsp/adapter/backup.js +11 -10
  99. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  100. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +4 -4
  101. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  102. package/dist/adapter/ezsp/adapter/ezspAdapter.js +74 -41
  103. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  104. package/dist/adapter/ezsp/adapter/index.d.ts +1 -1
  105. package/dist/adapter/ezsp/adapter/index.d.ts.map +1 -1
  106. package/dist/adapter/ezsp/adapter/index.js.map +1 -1
  107. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  108. package/dist/adapter/ezsp/driver/commands.js +452 -452
  109. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  110. package/dist/adapter/ezsp/driver/consts.js +4 -4
  111. package/dist/adapter/ezsp/driver/consts.js.map +1 -1
  112. package/dist/adapter/ezsp/driver/driver.d.ts +5 -5
  113. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  114. package/dist/adapter/ezsp/driver/driver.js +82 -82
  115. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  116. package/dist/adapter/ezsp/driver/ezsp.d.ts +3 -3
  117. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  118. package/dist/adapter/ezsp/driver/ezsp.js +58 -58
  119. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  120. package/dist/adapter/ezsp/driver/frame.js +9 -9
  121. package/dist/adapter/ezsp/driver/frame.js.map +1 -1
  122. package/dist/adapter/ezsp/driver/index.d.ts +1 -1
  123. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
  124. package/dist/adapter/ezsp/driver/index.js +2 -2
  125. package/dist/adapter/ezsp/driver/index.js.map +1 -1
  126. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  127. package/dist/adapter/ezsp/driver/multicast.js +1 -1
  128. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  129. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  130. package/dist/adapter/ezsp/driver/parser.js +1 -1
  131. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  132. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -1
  133. package/dist/adapter/ezsp/driver/types/basic.js +5 -5
  134. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  135. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  136. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  137. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  138. package/dist/adapter/ezsp/driver/types/named.js +236 -234
  139. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  140. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  141. package/dist/adapter/ezsp/driver/types/struct.js +5 -3
  142. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  143. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  144. package/dist/adapter/ezsp/driver/uart.js +8 -8
  145. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  146. package/dist/adapter/ezsp/driver/utils/index.d.ts +1 -1
  147. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
  148. package/dist/adapter/ezsp/driver/utils/index.js +12 -11
  149. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  150. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  151. package/dist/adapter/ezsp/driver/writer.js +6 -7
  152. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  153. package/dist/adapter/index.d.ts +2 -2
  154. package/dist/adapter/index.d.ts.map +1 -1
  155. package/dist/adapter/index.js +2 -2
  156. package/dist/adapter/index.js.map +1 -1
  157. package/dist/adapter/serialPort.d.ts +1 -1
  158. package/dist/adapter/serialPort.d.ts.map +1 -1
  159. package/dist/adapter/serialPort.js +1 -1
  160. package/dist/adapter/serialPort.js.map +1 -1
  161. package/dist/adapter/serialPortUtils.js +1 -1
  162. package/dist/adapter/serialPortUtils.js.map +1 -1
  163. package/dist/adapter/socketPortUtils.js +3 -3
  164. package/dist/adapter/tstype.d.ts +1 -1
  165. package/dist/adapter/tstype.d.ts.map +1 -1
  166. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +3 -3
  167. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  168. package/dist/adapter/z-stack/adapter/adapter-backup.js +101 -86
  169. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  170. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +10 -10
  171. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -1
  172. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +30 -24
  173. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  174. package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +1 -1
  175. package/dist/adapter/z-stack/adapter/endpoints.js +4 -4
  176. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
  177. package/dist/adapter/z-stack/adapter/index.d.ts +1 -1
  178. package/dist/adapter/z-stack/adapter/index.d.ts.map +1 -1
  179. package/dist/adapter/z-stack/adapter/index.js.map +1 -1
  180. package/dist/adapter/z-stack/adapter/manager.d.ts +5 -5
  181. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  182. package/dist/adapter/z-stack/adapter/manager.js +90 -81
  183. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  184. package/dist/adapter/z-stack/adapter/tstype.d.ts +1 -1
  185. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +1 -1
  186. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +5 -5
  187. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  188. package/dist/adapter/z-stack/adapter/zStackAdapter.js +72 -57
  189. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  190. package/dist/adapter/z-stack/constants/af.js +5 -5
  191. package/dist/adapter/z-stack/constants/af.js.map +1 -1
  192. package/dist/adapter/z-stack/constants/dbg.js +2 -2
  193. package/dist/adapter/z-stack/constants/index.d.ts +2 -2
  194. package/dist/adapter/z-stack/constants/index.d.ts.map +1 -1
  195. package/dist/adapter/z-stack/constants/index.js +2 -2
  196. package/dist/adapter/z-stack/constants/index.js.map +1 -1
  197. package/dist/adapter/z-stack/constants/mac.js +11 -11
  198. package/dist/adapter/z-stack/constants/sapi.js +4 -4
  199. package/dist/adapter/z-stack/constants/sys.js +11 -11
  200. package/dist/adapter/z-stack/constants/util.js +11 -11
  201. package/dist/adapter/z-stack/constants/utils.d.ts.map +1 -1
  202. package/dist/adapter/z-stack/constants/utils.js +3 -3
  203. package/dist/adapter/z-stack/constants/utils.js.map +1 -1
  204. package/dist/adapter/z-stack/constants/zdo.js +13 -13
  205. package/dist/adapter/z-stack/models/index.d.ts +1 -1
  206. package/dist/adapter/z-stack/models/startup-options.d.ts +2 -2
  207. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +1 -1
  208. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +4 -4
  209. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  210. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +2 -2
  211. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +1 -1
  212. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +4 -7
  213. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
  214. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +1 -1
  215. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +1 -1
  216. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +1 -5
  217. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
  218. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +2 -2
  219. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +1 -1
  220. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +3 -6
  221. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
  222. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +1 -1
  223. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +6 -6
  224. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +2 -2
  225. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +1 -1
  226. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +3 -6
  227. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
  228. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +1 -1
  229. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +1 -1
  230. package/dist/adapter/z-stack/structs/entries/channel-list.js +1 -3
  231. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
  232. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +1 -1
  233. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -1
  234. package/dist/adapter/z-stack/structs/entries/has-configured.js +2 -2
  235. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
  236. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  237. package/dist/adapter/z-stack/structs/entries/nib.d.ts +1 -1
  238. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -1
  239. package/dist/adapter/z-stack/structs/entries/nib.js +50 -50
  240. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
  241. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +1 -1
  242. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -1
  243. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +1 -4
  244. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
  245. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +1 -1
  246. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -1
  247. package/dist/adapter/z-stack/structs/entries/nwk-key.js +1 -3
  248. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
  249. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +1 -1
  250. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +1 -1
  251. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +1 -3
  252. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
  253. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +1 -1
  254. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +1 -1
  255. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +3 -3
  256. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
  257. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +2 -2
  258. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +1 -1
  259. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +3 -6
  260. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
  261. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +1 -1
  262. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +4 -4
  263. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +2 -2
  264. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -1
  265. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +3 -7
  266. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
  267. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  268. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +1 -1
  269. package/dist/adapter/z-stack/structs/struct.d.ts +6 -6
  270. package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
  271. package/dist/adapter/z-stack/structs/struct.js +53 -52
  272. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  273. package/dist/adapter/z-stack/structs/table.d.ts +3 -3
  274. package/dist/adapter/z-stack/structs/table.d.ts.map +1 -1
  275. package/dist/adapter/z-stack/structs/table.js +16 -16
  276. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  277. package/dist/adapter/z-stack/unpi/constants.d.ts +1 -1
  278. package/dist/adapter/z-stack/unpi/constants.d.ts.map +1 -1
  279. package/dist/adapter/z-stack/unpi/constants.js +1 -1
  280. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  281. package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
  282. package/dist/adapter/z-stack/unpi/frame.js +5 -6
  283. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  284. package/dist/adapter/z-stack/unpi/index.d.ts +4 -4
  285. package/dist/adapter/z-stack/unpi/index.d.ts.map +1 -1
  286. package/dist/adapter/z-stack/unpi/index.js +6 -6
  287. package/dist/adapter/z-stack/unpi/index.js.map +1 -1
  288. package/dist/adapter/z-stack/unpi/parser.d.ts.map +1 -1
  289. package/dist/adapter/z-stack/unpi/parser.js +1 -1
  290. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  291. package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -1
  292. package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
  293. package/dist/adapter/z-stack/utils/channel-list.d.ts.map +1 -1
  294. package/dist/adapter/z-stack/utils/channel-list.js +5 -2
  295. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
  296. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  297. package/dist/adapter/z-stack/utils/network-options.d.ts +1 -1
  298. package/dist/adapter/z-stack/utils/network-options.d.ts.map +1 -1
  299. package/dist/adapter/z-stack/utils/network-options.js +1 -1
  300. package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
  301. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
  302. package/dist/adapter/z-stack/znp/buffaloZnp.js +8 -8
  303. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  304. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
  305. package/dist/adapter/z-stack/znp/definition.js +200 -592
  306. package/dist/adapter/z-stack/znp/definition.js.map +1 -1
  307. package/dist/adapter/z-stack/znp/index.d.ts +1 -1
  308. package/dist/adapter/z-stack/znp/index.d.ts.map +1 -1
  309. package/dist/adapter/z-stack/znp/index.js.map +1 -1
  310. package/dist/adapter/z-stack/znp/parameterType.d.ts.map +1 -1
  311. package/dist/adapter/z-stack/znp/parameterType.js.map +1 -1
  312. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
  313. package/dist/adapter/z-stack/znp/znp.d.ts +3 -3
  314. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  315. package/dist/adapter/z-stack/znp/znp.js +12 -15
  316. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  317. package/dist/adapter/z-stack/znp/zpiObject.d.ts +1 -1
  318. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
  319. package/dist/adapter/z-stack/znp/zpiObject.js +17 -9
  320. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  321. package/dist/adapter/zigate/adapter/index.d.ts.map +1 -1
  322. package/dist/adapter/zigate/adapter/index.js.map +1 -1
  323. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +1 -1
  324. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  325. package/dist/adapter/zigate/adapter/zigateAdapter.js +88 -92
  326. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  327. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  328. package/dist/adapter/zigate/driver/commandType.d.ts +2 -2
  329. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  330. package/dist/adapter/zigate/driver/commandType.js +72 -80
  331. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  332. package/dist/adapter/zigate/driver/constants.d.ts +9 -9
  333. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  334. package/dist/adapter/zigate/driver/constants.js +11 -65
  335. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  336. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  337. package/dist/adapter/zigate/driver/frame.js +3 -15
  338. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  339. package/dist/adapter/zigate/driver/messageType.d.ts +1 -1
  340. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
  341. package/dist/adapter/zigate/driver/messageType.js +29 -30
  342. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  343. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
  344. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  345. package/dist/adapter/zigate/driver/ziGateObject.d.ts +2 -2
  346. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  347. package/dist/adapter/zigate/driver/ziGateObject.js +11 -5
  348. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  349. package/dist/adapter/zigate/driver/zigate.d.ts +5 -5
  350. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  351. package/dist/adapter/zigate/driver/zigate.js +12 -12
  352. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  353. package/dist/buffalo/buffalo.d.ts +1 -1
  354. package/dist/buffalo/buffalo.d.ts.map +1 -1
  355. package/dist/buffalo/buffalo.js +1 -1
  356. package/dist/buffalo/buffalo.js.map +1 -1
  357. package/dist/controller/controller.d.ts.map +1 -1
  358. package/dist/controller/controller.js +34 -33
  359. package/dist/controller/controller.js.map +1 -1
  360. package/dist/controller/database.d.ts.map +1 -1
  361. package/dist/controller/database.js +6 -2
  362. package/dist/controller/database.js.map +1 -1
  363. package/dist/controller/events.d.ts +3 -3
  364. package/dist/controller/events.d.ts.map +1 -1
  365. package/dist/controller/greenPower.d.ts +1 -1
  366. package/dist/controller/greenPower.d.ts.map +1 -1
  367. package/dist/controller/greenPower.js +15 -17
  368. package/dist/controller/greenPower.js.map +1 -1
  369. package/dist/controller/helpers/index.d.ts +1 -1
  370. package/dist/controller/helpers/index.d.ts.map +1 -1
  371. package/dist/controller/helpers/index.js.map +1 -1
  372. package/dist/controller/helpers/request.d.ts +1 -1
  373. package/dist/controller/helpers/request.d.ts.map +1 -1
  374. package/dist/controller/helpers/request.js +7 -10
  375. package/dist/controller/helpers/request.js.map +1 -1
  376. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  377. package/dist/controller/helpers/requestQueue.js +2 -3
  378. package/dist/controller/helpers/requestQueue.js.map +1 -1
  379. package/dist/controller/helpers/zclFrameConverter.d.ts +1 -1
  380. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  381. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  382. package/dist/controller/index.d.ts +1 -1
  383. package/dist/controller/index.d.ts.map +1 -1
  384. package/dist/controller/index.js.map +1 -1
  385. package/dist/controller/model/device.d.ts +3 -3
  386. package/dist/controller/model/device.d.ts.map +1 -1
  387. package/dist/controller/model/device.js +247 -94
  388. package/dist/controller/model/device.js.map +1 -1
  389. package/dist/controller/model/endpoint.d.ts +4 -4
  390. package/dist/controller/model/endpoint.d.ts.map +1 -1
  391. package/dist/controller/model/endpoint.js +45 -31
  392. package/dist/controller/model/endpoint.js.map +1 -1
  393. package/dist/controller/model/entity.d.ts +2 -2
  394. package/dist/controller/model/entity.d.ts.map +1 -1
  395. package/dist/controller/model/entity.js.map +1 -1
  396. package/dist/controller/model/group.d.ts +2 -2
  397. package/dist/controller/model/group.d.ts.map +1 -1
  398. package/dist/controller/model/group.js +8 -6
  399. package/dist/controller/model/group.js.map +1 -1
  400. package/dist/controller/model/index.d.ts +1 -1
  401. package/dist/controller/model/index.d.ts.map +1 -1
  402. package/dist/controller/model/index.js.map +1 -1
  403. package/dist/controller/touchlink.d.ts.map +1 -1
  404. package/dist/controller/touchlink.js +2 -2
  405. package/dist/controller/touchlink.js.map +1 -1
  406. package/dist/controller/tstype.d.ts.map +1 -1
  407. package/dist/controller/tstype.js +0 -1
  408. package/dist/controller/tstype.js.map +1 -1
  409. package/dist/models/backup-storage-legacy.d.ts +4 -4
  410. package/dist/models/backup-storage-legacy.d.ts.map +1 -1
  411. package/dist/models/backup-storage-unified.d.ts +1 -1
  412. package/dist/models/backup.d.ts +2 -2
  413. package/dist/models/index.d.ts +4 -4
  414. package/dist/utils/backup.d.ts +1 -1
  415. package/dist/utils/backup.d.ts.map +1 -1
  416. package/dist/utils/backup.js +71 -58
  417. package/dist/utils/backup.js.map +1 -1
  418. package/dist/utils/index.d.ts +6 -6
  419. package/dist/utils/index.d.ts.map +1 -1
  420. package/dist/utils/index.js +10 -10
  421. package/dist/utils/index.js.map +1 -1
  422. package/dist/utils/isNumberArray.js +1 -1
  423. package/dist/utils/isNumberArray.js.map +1 -1
  424. package/dist/utils/queue.js +1 -1
  425. package/dist/utils/queue.js.map +1 -1
  426. package/dist/utils/waitress.d.ts.map +1 -1
  427. package/dist/utils/waitress.js +2 -2
  428. package/dist/utils/waitress.js.map +1 -1
  429. package/dist/zspec/consts.d.ts +1 -1
  430. package/dist/zspec/consts.d.ts.map +1 -1
  431. package/dist/zspec/consts.js +16 -16
  432. package/dist/zspec/consts.js.map +1 -1
  433. package/dist/zspec/enums.js +0 -1
  434. package/dist/zspec/enums.js.map +1 -1
  435. package/dist/zspec/utils.d.ts.map +1 -1
  436. package/dist/zspec/utils.js +5 -3
  437. package/dist/zspec/utils.js.map +1 -1
  438. package/dist/zspec/zcl/buffaloZcl.d.ts +2 -2
  439. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  440. package/dist/zspec/zcl/buffaloZcl.js +44 -51
  441. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  442. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  443. package/dist/zspec/zcl/definition/cluster.js +284 -380
  444. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  445. package/dist/zspec/zcl/definition/consts.js +10 -10
  446. package/dist/zspec/zcl/definition/consts.js.map +1 -1
  447. package/dist/zspec/zcl/definition/enums.d.ts.map +1 -1
  448. package/dist/zspec/zcl/definition/enums.js.map +1 -1
  449. package/dist/zspec/zcl/definition/foundation.d.ts +1 -1
  450. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  451. package/dist/zspec/zcl/definition/foundation.js +51 -22
  452. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  453. package/dist/zspec/zcl/definition/manufacturerCode.js +0 -1
  454. package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -1
  455. package/dist/zspec/zcl/definition/status.d.ts.map +1 -1
  456. package/dist/zspec/zcl/definition/tstype.d.ts +1 -1
  457. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  458. package/dist/zspec/zcl/definition/tstype.js +0 -1
  459. package/dist/zspec/zcl/definition/tstype.js.map +1 -1
  460. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  461. package/dist/zspec/zcl/utils.js +59 -19
  462. package/dist/zspec/zcl/utils.js.map +1 -1
  463. package/dist/zspec/zcl/zclFrame.d.ts +1 -1
  464. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  465. package/dist/zspec/zcl/zclFrame.js +14 -15
  466. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  467. package/dist/zspec/zcl/zclHeader.d.ts +1 -1
  468. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
  469. package/dist/zspec/zcl/zclHeader.js +7 -7
  470. package/dist/zspec/zcl/zclHeader.js.map +1 -1
  471. package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -1
  472. package/dist/zspec/zcl/zclStatusError.js.map +1 -1
  473. package/dist/zspec/zdo/buffaloZdo.d.ts +3 -3
  474. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
  475. package/dist/zspec/zdo/buffaloZdo.js +92 -92
  476. package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
  477. package/dist/zspec/zdo/definition/clusters.d.ts.map +1 -1
  478. package/dist/zspec/zdo/definition/clusters.js +0 -1
  479. package/dist/zspec/zdo/definition/clusters.js.map +1 -1
  480. package/dist/zspec/zdo/definition/consts.d.ts.map +1 -1
  481. package/dist/zspec/zdo/definition/consts.js.map +1 -1
  482. package/dist/zspec/zdo/definition/enums.d.ts.map +1 -1
  483. package/dist/zspec/zdo/definition/enums.js +0 -5
  484. package/dist/zspec/zdo/definition/enums.js.map +1 -1
  485. package/dist/zspec/zdo/definition/status.d.ts.map +1 -1
  486. package/dist/zspec/zdo/definition/status.js +0 -1
  487. package/dist/zspec/zdo/definition/status.js.map +1 -1
  488. package/dist/zspec/zdo/definition/tstypes.d.ts +2 -2
  489. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
  490. package/dist/zspec/zdo/utils.d.ts.map +1 -1
  491. package/dist/zspec/zdo/utils.js +14 -14
  492. package/dist/zspec/zdo/utils.js.map +1 -1
  493. package/dist/zspec/zdo/zdoStatusError.d.ts.map +1 -1
  494. package/dist/zspec/zdo/zdoStatusError.js.map +1 -1
  495. package/package.json +6 -1
  496. package/dist/adapter/ember/adapter/requestQueue.d.ts +0 -67
  497. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +0 -1
  498. package/dist/adapter/ember/adapter/requestQueue.js +0 -159
  499. package/dist/adapter/ember/adapter/requestQueue.js.map +0 -1
@@ -36,7 +36,6 @@ const constants_1 = __importDefault(require("../driver/constants"));
36
36
  const logger_1 = require("../../../utils/logger");
37
37
  const NS = 'zh:deconz';
38
38
  var frameParser = require('../driver/frameParser');
39
- ;
40
39
  class DeconzAdapter extends adapter_1.default {
41
40
  driver;
42
41
  queue;
@@ -49,28 +48,36 @@ class DeconzAdapter extends adapter_1.default {
49
48
  TX_OPTIONS = 0x00; // No APS ACKS
50
49
  constructor(networkOptions, serialPortOptions, backupPath, adapterOptions) {
51
50
  super(networkOptions, serialPortOptions, backupPath, adapterOptions);
52
- const concurrent = this.adapterOptions && this.adapterOptions.concurrent ?
53
- this.adapterOptions.concurrent : 2;
51
+ const concurrent = this.adapterOptions && this.adapterOptions.concurrent ? this.adapterOptions.concurrent : 2;
54
52
  // TODO: https://github.com/Koenkk/zigbee2mqtt/issues/4884#issuecomment-728903121
55
- const delay = this.adapterOptions && typeof this.adapterOptions.delay === 'number' ?
56
- this.adapterOptions.delay : 0;
53
+ const delay = this.adapterOptions && typeof this.adapterOptions.delay === 'number' ? this.adapterOptions.delay : 0;
57
54
  this.waitress = new utils_1.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
58
55
  this.driver = new driver_1.default(serialPortOptions.path);
59
56
  this.driver.setDelay(delay);
60
57
  if (delay >= 200) {
61
58
  this.TX_OPTIONS = 0x04; // activate APS ACKS
62
59
  }
63
- this.driver.on('rxFrame', (frame) => { (0, frameParser_1.default)(frame); });
60
+ this.driver.on('rxFrame', (frame) => {
61
+ (0, frameParser_1.default)(frame);
62
+ });
64
63
  this.queue = new utils_1.Queue(concurrent);
65
64
  this.transactionID = 0;
66
65
  this.openRequestsQueue = [];
67
66
  this.joinPermitted = false;
68
67
  this.fwVersion = null;
69
- this.frameParserEvent.on('receivedDataPayload', (data) => { this.checkReceivedDataPayload(data); });
70
- this.frameParserEvent.on('receivedGreenPowerIndication', (data) => { this.checkReceivedGreenPowerIndication(data); });
68
+ this.frameParserEvent.on('receivedDataPayload', (data) => {
69
+ this.checkReceivedDataPayload(data);
70
+ });
71
+ this.frameParserEvent.on('receivedGreenPowerIndication', (data) => {
72
+ this.checkReceivedGreenPowerIndication(data);
73
+ });
71
74
  const that = this;
72
- setInterval(() => { that.checkReceivedDataPayload(null); }, 1000);
73
- setTimeout(() => { that.checkCoordinatorSimpleDescriptor(false); }, 3000);
75
+ setInterval(() => {
76
+ that.checkReceivedDataPayload(null);
77
+ }, 1000);
78
+ setTimeout(() => {
79
+ that.checkCoordinatorSimpleDescriptor(false);
80
+ }, 3000);
74
81
  }
75
82
  static async isValidPath(path) {
76
83
  return driver_1.default.isValidPath(path);
@@ -84,7 +91,7 @@ class DeconzAdapter extends adapter_1.default {
84
91
  async start() {
85
92
  let baudrate = this.serialPortOptions.baudRate || 38400;
86
93
  await this.driver.open(baudrate);
87
- return "resumed";
94
+ return 'resumed';
88
95
  }
89
96
  async stop() {
90
97
  await this.driver.close();
@@ -92,20 +99,22 @@ class DeconzAdapter extends adapter_1.default {
92
99
  async getCoordinator() {
93
100
  const ieeeAddr = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.MAC);
94
101
  const nwkAddr = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.NWK_ADDRESS);
95
- const endpoints = [{
102
+ const endpoints = [
103
+ {
96
104
  ID: 0x01,
97
105
  profileID: 0x0104,
98
106
  deviceID: 0x0005,
99
- inputClusters: [0x0000, 0x0006, 0x000A, 0x0019, 0x0501],
100
- outputClusters: [0x0001, 0x0020, 0x0500, 0x0502]
107
+ inputClusters: [0x0000, 0x0006, 0x000a, 0x0019, 0x0501],
108
+ outputClusters: [0x0001, 0x0020, 0x0500, 0x0502],
101
109
  },
102
110
  {
103
- ID: 0xF2,
104
- profileID: 0xA1E0,
111
+ ID: 0xf2,
112
+ profileID: 0xa1e0,
105
113
  deviceID: 0x0064,
106
114
  inputClusters: [],
107
- outputClusters: [0x0021]
108
- }];
115
+ outputClusters: [0x0021],
116
+ },
117
+ ];
109
118
  return {
110
119
  networkAddress: nwkAddr,
111
120
  manufacturerID: 0x1135,
@@ -119,7 +128,7 @@ class DeconzAdapter extends adapter_1.default {
119
128
  const zdpFrame = [transactionID, seconds, 0]; // tc_significance 1 or 0 ?
120
129
  request.requestId = transactionID;
121
130
  request.destAddrMode = constants_1.default.PARAM.addressMode.NWK_ADDR;
122
- request.destAddr16 = networkAddress || 0xFFFC;
131
+ request.destAddr16 = networkAddress || 0xfffc;
123
132
  request.destEndpoint = 0;
124
133
  request.profileId = 0;
125
134
  request.clusterId = 0x36; // permit join
@@ -138,10 +147,10 @@ class DeconzAdapter extends adapter_1.default {
138
147
  this.joinPermitted = true;
139
148
  }
140
149
  await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.PERMIT_JOIN, seconds);
141
- logger_1.logger.debug("PERMIT_JOIN - " + seconds + " seconds", NS);
150
+ logger_1.logger.debug('PERMIT_JOIN - ' + seconds + ' seconds', NS);
142
151
  }
143
152
  catch (error) {
144
- const msg = "PERMIT_JOIN FAILED - " + error;
153
+ const msg = 'PERMIT_JOIN FAILED - ' + error;
145
154
  logger_1.logger.debug(msg, NS);
146
155
  // try again
147
156
  this.permitJoin(seconds, networkAddress);
@@ -157,23 +166,23 @@ class DeconzAdapter extends adapter_1.default {
157
166
  try {
158
167
  const fw = await this.driver.readFirmwareVersionRequest();
159
168
  const buf = Buffer.from(fw);
160
- let fwString = "0x" + buf.readUInt32LE(0).toString(16);
161
- let type = "";
169
+ let fwString = '0x' + buf.readUInt32LE(0).toString(16);
170
+ let type = '';
162
171
  if (fw[1] === 5) {
163
- type = "ConBee/RaspBee";
172
+ type = 'ConBee/RaspBee';
164
173
  }
165
174
  else if (fw[1] === 7) {
166
- type = "ConBee2/RaspBee2";
175
+ type = 'ConBee2/RaspBee2';
167
176
  }
168
177
  else {
169
- type = "ConBee3";
178
+ type = 'ConBee3';
170
179
  }
171
- const meta = { "transportrev": 0, "product": 0, "majorrel": fw[3], "minorrel": fw[2], "maintrel": 0, "revision": fwString };
180
+ const meta = { transportrev: 0, product: 0, majorrel: fw[3], minorrel: fw[2], maintrel: 0, revision: fwString };
172
181
  this.fwVersion = { type: type, meta: meta };
173
182
  return { type: type, meta: meta };
174
183
  }
175
184
  catch (error) {
176
- logger_1.logger.debug("Get coordinator version Error: " + error, NS);
185
+ logger_1.logger.debug('Get coordinator version Error: ' + error, NS);
177
186
  }
178
187
  }
179
188
  }
@@ -197,7 +206,7 @@ class DeconzAdapter extends adapter_1.default {
197
206
  networkAddress: entry.readUInt16LE(16),
198
207
  ieeeAddr: this.driver.macAddrArrayToString(extAddr),
199
208
  relationship: (relationByte >> 1) & ((1 << 3) - 1),
200
- depth: entry.readUInt8(20)
209
+ depth: entry.readUInt8(20),
201
210
  });
202
211
  }
203
212
  };
@@ -215,13 +224,15 @@ class DeconzAdapter extends adapter_1.default {
215
224
  req.asduPayload = [transactionID, startIndex];
216
225
  req.txOptions = 0;
217
226
  req.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
218
- this.driver.enqueueSendDataRequest(req)
219
- .then(result => { })
220
- .catch(error => { });
227
+ this.driver
228
+ .enqueueSendDataRequest(req)
229
+ .then((result) => { })
230
+ .catch((error) => { });
221
231
  try {
222
232
  const d = await this.waitForData(networkAddress, 0, 0x8031);
223
233
  const data = d.asduPayload;
224
- if (data[1] !== 0) { // status
234
+ if (data[1] !== 0) {
235
+ // status
225
236
  throw new Error(`LQI for '${networkAddress}' failed`);
226
237
  }
227
238
  const tableList = [];
@@ -230,11 +241,12 @@ class DeconzAdapter extends adapter_1.default {
230
241
  tableEntrys: data[2],
231
242
  startIndex: data[3],
232
243
  tableListCount: data[4],
233
- tableList: tableList
244
+ tableList: tableList,
234
245
  };
235
246
  let tableEntry = [];
236
247
  let counter = 0;
237
- for (let i = 5; i < ((response.tableListCount * 22) + 5); i++) { // one tableentry = 22 bytes
248
+ for (let i = 5; i < response.tableListCount * 22 + 5; i++) {
249
+ // one tableentry = 22 bytes
238
250
  tableEntry.push(data[i]);
239
251
  counter++;
240
252
  if (counter === 22) {
@@ -243,11 +255,19 @@ class DeconzAdapter extends adapter_1.default {
243
255
  counter = 0;
244
256
  }
245
257
  }
246
- logger_1.logger.debug("LQI RESPONSE - addr: 0x" + networkAddress.toString(16) + " status: " + response.status + " read " + (response.tableListCount + response.startIndex) + "/" + response.tableEntrys + " entrys", NS);
258
+ logger_1.logger.debug('LQI RESPONSE - addr: 0x' +
259
+ networkAddress.toString(16) +
260
+ ' status: ' +
261
+ response.status +
262
+ ' read ' +
263
+ (response.tableListCount + response.startIndex) +
264
+ '/' +
265
+ response.tableEntrys +
266
+ ' entrys', NS);
247
267
  return response;
248
268
  }
249
269
  catch (error) {
250
- const msg = "LQI REQUEST FAILED - addr: 0x" + networkAddress.toString(16) + " " + error;
270
+ const msg = 'LQI REQUEST FAILED - addr: 0x' + networkAddress.toString(16) + ' ' + error;
251
271
  logger_1.logger.debug(msg, NS);
252
272
  return Promise.reject(new Error(msg));
253
273
  }
@@ -280,7 +300,7 @@ class DeconzAdapter extends adapter_1.default {
280
300
  table.push({
281
301
  destinationAddress: entry.readUInt16LE(0),
282
302
  status: statusLookup[(statusByte >> 5) & ((1 << 3) - 1)],
283
- nextHop: entry.readUInt16LE(3)
303
+ nextHop: entry.readUInt16LE(3),
284
304
  });
285
305
  }
286
306
  };
@@ -299,13 +319,15 @@ class DeconzAdapter extends adapter_1.default {
299
319
  req.txOptions = 0;
300
320
  req.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
301
321
  req.timeout = 30;
302
- this.driver.enqueueSendDataRequest(req)
303
- .then(result => { })
304
- .catch(error => { });
322
+ this.driver
323
+ .enqueueSendDataRequest(req)
324
+ .then((result) => { })
325
+ .catch((error) => { });
305
326
  try {
306
327
  const d = await this.waitForData(networkAddress, 0, 0x8032);
307
328
  const data = d.asduPayload;
308
- if (data[1] !== 0) { // status
329
+ if (data[1] !== 0) {
330
+ // status
309
331
  throw new Error(`Routingtables for '${networkAddress}' failed`);
310
332
  }
311
333
  const tableList = [];
@@ -314,11 +336,12 @@ class DeconzAdapter extends adapter_1.default {
314
336
  tableEntrys: data[2],
315
337
  startIndex: data[3],
316
338
  tableListCount: data[4],
317
- tableList: tableList
339
+ tableList: tableList,
318
340
  };
319
341
  let tableEntry = [];
320
342
  let counter = 0;
321
- for (let i = 5; i < ((response.tableListCount * 5) + 5); i++) { // one tableentry = 5 bytes
343
+ for (let i = 5; i < response.tableListCount * 5 + 5; i++) {
344
+ // one tableentry = 5 bytes
322
345
  tableEntry.push(data[i]);
323
346
  counter++;
324
347
  if (counter === 5) {
@@ -327,11 +350,19 @@ class DeconzAdapter extends adapter_1.default {
327
350
  counter = 0;
328
351
  }
329
352
  }
330
- logger_1.logger.debug("ROUTING_TABLE RESPONSE - addr: 0x" + networkAddress.toString(16) + " status: " + response.status + " read " + (response.tableListCount + response.startIndex) + "/" + response.tableEntrys + " entrys", NS);
353
+ logger_1.logger.debug('ROUTING_TABLE RESPONSE - addr: 0x' +
354
+ networkAddress.toString(16) +
355
+ ' status: ' +
356
+ response.status +
357
+ ' read ' +
358
+ (response.tableListCount + response.startIndex) +
359
+ '/' +
360
+ response.tableEntrys +
361
+ ' entrys', NS);
331
362
  return response;
332
363
  }
333
364
  catch (error) {
334
- const msg = "ROUTING_TABLE REQUEST FAILED - addr: 0x" + networkAddress.toString(16) + " " + error;
365
+ const msg = 'ROUTING_TABLE REQUEST FAILED - addr: 0x' + networkAddress.toString(16) + ' ' + error;
335
366
  logger_1.logger.debug(msg, NS);
336
367
  return Promise.reject(new Error(msg));
337
368
  }
@@ -364,21 +395,27 @@ class DeconzAdapter extends adapter_1.default {
364
395
  request.txOptions = 0;
365
396
  request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
366
397
  request.timeout = 30;
367
- this.driver.enqueueSendDataRequest(request)
368
- .then(result => { })
369
- .catch(error => { });
398
+ this.driver
399
+ .enqueueSendDataRequest(request)
400
+ .then((result) => { })
401
+ .catch((error) => { });
370
402
  try {
371
403
  const d = await this.waitForData(networkAddress, 0, 0x8002);
372
404
  const data = d.asduPayload;
373
405
  const buf = Buffer.from(data);
374
- const logicaltype = (data[4] & 7);
375
- const type = (logicaltype === 1) ? 'Router' : (logicaltype === 2) ? 'EndDevice' : (logicaltype === 0) ? 'Coordinator' : 'Unknown';
406
+ const logicaltype = data[4] & 7;
407
+ const type = logicaltype === 1 ? 'Router' : logicaltype === 2 ? 'EndDevice' : logicaltype === 0 ? 'Coordinator' : 'Unknown';
376
408
  const manufacturer = buf.readUInt16LE(7);
377
- logger_1.logger.debug("RECEIVING NODE_DESCRIPTOR - addr: 0x" + networkAddress.toString(16) + " type: " + type + " manufacturer: 0x" + manufacturer.toString(16), NS);
409
+ logger_1.logger.debug('RECEIVING NODE_DESCRIPTOR - addr: 0x' +
410
+ networkAddress.toString(16) +
411
+ ' type: ' +
412
+ type +
413
+ ' manufacturer: 0x' +
414
+ manufacturer.toString(16), NS);
378
415
  return { manufacturerCode: manufacturer, type };
379
416
  }
380
417
  catch (error) {
381
- const msg = "RECEIVING NODE_DESCRIPTOR FAILED - addr: 0x" + networkAddress.toString(16) + " " + error;
418
+ const msg = 'RECEIVING NODE_DESCRIPTOR FAILED - addr: 0x' + networkAddress.toString(16) + ' ' + error;
382
419
  logger_1.logger.debug(msg, NS);
383
420
  return Promise.reject(new Error(msg));
384
421
  }
@@ -401,23 +438,24 @@ class DeconzAdapter extends adapter_1.default {
401
438
  request.txOptions = 0;
402
439
  request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
403
440
  request.timeout = 30;
404
- this.driver.enqueueSendDataRequest(request)
405
- .then(result => { })
406
- .catch(error => { });
441
+ this.driver
442
+ .enqueueSendDataRequest(request)
443
+ .then((result) => { })
444
+ .catch((error) => { });
407
445
  try {
408
446
  const d = await this.waitForData(networkAddress, 0, 0x8005);
409
447
  const data = d.asduPayload;
410
448
  const buf = Buffer.from(data);
411
449
  const epCount = buf.readUInt8(4);
412
450
  const epList = [];
413
- for (let i = 5; i < (epCount + 5); i++) {
451
+ for (let i = 5; i < epCount + 5; i++) {
414
452
  epList.push(buf.readUInt8(i));
415
453
  }
416
- logger_1.logger.debug("ACTIVE_ENDPOINTS - addr: 0x" + networkAddress.toString(16) + " EP list: " + epList, NS);
454
+ logger_1.logger.debug('ACTIVE_ENDPOINTS - addr: 0x' + networkAddress.toString(16) + ' EP list: ' + epList, NS);
417
455
  return { endpoints: epList };
418
456
  }
419
457
  catch (error) {
420
- const msg = "READING ACTIVE_ENDPOINTS FAILED - addr: 0x" + networkAddress.toString(16) + " " + error;
458
+ const msg = 'READING ACTIVE_ENDPOINTS FAILED - addr: 0x' + networkAddress.toString(16) + ' ' + error;
421
459
  logger_1.logger.debug(msg, NS);
422
460
  return Promise.reject(new Error(msg));
423
461
  }
@@ -440,9 +478,10 @@ class DeconzAdapter extends adapter_1.default {
440
478
  request.txOptions = 0;
441
479
  request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
442
480
  request.timeout = 30;
443
- this.driver.enqueueSendDataRequest(request)
444
- .then(result => { })
445
- .catch(error => { });
481
+ this.driver
482
+ .enqueueSendDataRequest(request)
483
+ .then((result) => { })
484
+ .catch((error) => { });
446
485
  try {
447
486
  const d = await this.waitForData(networkAddress, 0, 0x8004);
448
487
  const data = d.asduPayload;
@@ -454,9 +493,9 @@ class DeconzAdapter extends adapter_1.default {
454
493
  inClusters[i] = buf.readUInt16LE(cIndex);
455
494
  cIndex += 2;
456
495
  }
457
- const outCount = buf.readUInt8(12 + (inCount * 2));
496
+ const outCount = buf.readUInt8(12 + inCount * 2);
458
497
  const outClusters = [];
459
- cIndex = 13 + (inCount * 2);
498
+ cIndex = 13 + inCount * 2;
460
499
  for (let l = 0; l < outCount; l++) {
461
500
  outClusters[l] = buf.readUInt16LE(cIndex);
462
501
  cIndex += 2;
@@ -466,46 +505,57 @@ class DeconzAdapter extends adapter_1.default {
466
505
  endpointID: buf.readUInt8(5),
467
506
  deviceID: buf.readUInt16LE(8),
468
507
  inputClusters: inClusters,
469
- outputClusters: outClusters
508
+ outputClusters: outClusters,
470
509
  };
471
- logger_1.logger.debug("RECEIVING SIMPLE_DESCRIPTOR - addr: 0x" + networkAddress.toString(16) + " EP:" + simpleDesc.endpointID + " inClusters: " + inClusters + " outClusters: " + outClusters, NS);
510
+ logger_1.logger.debug('RECEIVING SIMPLE_DESCRIPTOR - addr: 0x' +
511
+ networkAddress.toString(16) +
512
+ ' EP:' +
513
+ simpleDesc.endpointID +
514
+ ' inClusters: ' +
515
+ inClusters +
516
+ ' outClusters: ' +
517
+ outClusters, NS);
472
518
  return simpleDesc;
473
519
  }
474
520
  catch (error) {
475
- const msg = "RECEIVING SIMPLE_DESCRIPTOR FAILED - addr: 0x" + networkAddress.toString(16) + " " + error;
521
+ const msg = 'RECEIVING SIMPLE_DESCRIPTOR FAILED - addr: 0x' + networkAddress.toString(16) + ' ' + error;
476
522
  logger_1.logger.debug(msg, NS);
477
523
  return Promise.reject(new Error(msg));
478
524
  }
479
525
  }
480
526
  async checkCoordinatorSimpleDescriptor(skip) {
481
- logger_1.logger.debug("checking coordinator simple descriptor", NS);
527
+ logger_1.logger.debug('checking coordinator simple descriptor', NS);
482
528
  var simpleDesc = null;
483
529
  if (skip === false) {
484
530
  try {
485
531
  simpleDesc = await this.simpleDescriptor(0x0, 1);
486
532
  }
487
- catch (error) {
488
- }
533
+ catch (error) { }
489
534
  if (simpleDesc === null) {
490
535
  this.checkCoordinatorSimpleDescriptor(false);
491
536
  return;
492
537
  }
493
- logger_1.logger.debug("EP: " + simpleDesc.endpointID, NS);
494
- logger_1.logger.debug("profile ID: " + simpleDesc.profileID, NS);
495
- logger_1.logger.debug("device ID: " + simpleDesc.deviceID, NS);
538
+ logger_1.logger.debug('EP: ' + simpleDesc.endpointID, NS);
539
+ logger_1.logger.debug('profile ID: ' + simpleDesc.profileID, NS);
540
+ logger_1.logger.debug('device ID: ' + simpleDesc.deviceID, NS);
496
541
  for (let i = 0; i < simpleDesc.inputClusters.length; i++) {
497
- logger_1.logger.debug("input cluster: 0x" + simpleDesc.inputClusters[i].toString(16), NS);
542
+ logger_1.logger.debug('input cluster: 0x' + simpleDesc.inputClusters[i].toString(16), NS);
498
543
  }
499
544
  for (let o = 0; o < simpleDesc.outputClusters.length; o++) {
500
- logger_1.logger.debug("output cluster: 0x" + simpleDesc.outputClusters[o].toString(16), NS);
545
+ logger_1.logger.debug('output cluster: 0x' + simpleDesc.outputClusters[o].toString(16), NS);
501
546
  }
502
547
  let ok = true;
503
548
  if (simpleDesc.endpointID === 0x1) {
504
- if (!simpleDesc.inputClusters.includes(0x0) || !simpleDesc.inputClusters.includes(0x0A) || !simpleDesc.inputClusters.includes(0x06) ||
505
- !simpleDesc.inputClusters.includes(0x19) || !simpleDesc.inputClusters.includes(0x0501) ||
506
- !simpleDesc.outputClusters.includes(0x01) || !simpleDesc.outputClusters.includes(0x20) || !simpleDesc.outputClusters.includes(0x500) ||
549
+ if (!simpleDesc.inputClusters.includes(0x0) ||
550
+ !simpleDesc.inputClusters.includes(0x0a) ||
551
+ !simpleDesc.inputClusters.includes(0x06) ||
552
+ !simpleDesc.inputClusters.includes(0x19) ||
553
+ !simpleDesc.inputClusters.includes(0x0501) ||
554
+ !simpleDesc.outputClusters.includes(0x01) ||
555
+ !simpleDesc.outputClusters.includes(0x20) ||
556
+ !simpleDesc.outputClusters.includes(0x500) ||
507
557
  !simpleDesc.outputClusters.includes(0x502)) {
508
- logger_1.logger.debug("missing cluster", NS);
558
+ logger_1.logger.debug('missing cluster', NS);
509
559
  ok = false;
510
560
  }
511
561
  if (ok === true) {
@@ -513,22 +563,31 @@ class DeconzAdapter extends adapter_1.default {
513
563
  }
514
564
  }
515
565
  }
516
- logger_1.logger.debug("setting new simple descriptor", NS);
517
- try { //[ sd1 ep proId devId vers #inCl iCl1 iCl2 iCl3 iCl4 iCl5 #outC oCl1 oCl2 oCl3 oCl4 ]
518
- const sd = [0x00, 0x01, 0x04, 0x01, 0x05, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x06, 0x0A, 0x00, 0x19, 0x00, 0x01, 0x05, 0x04, 0x01, 0x00, 0x20, 0x00, 0x00, 0x05, 0x02, 0x05];
566
+ logger_1.logger.debug('setting new simple descriptor', NS);
567
+ try {
568
+ //[ sd1 ep proId devId vers #inCl iCl1 iCl2 iCl3 iCl4 iCl5 #outC oCl1 oCl2 oCl3 oCl4 ]
569
+ const sd = [
570
+ 0x00, 0x01, 0x04, 0x01, 0x05, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x06, 0x0a, 0x00, 0x19, 0x00, 0x01, 0x05, 0x04, 0x01, 0x00, 0x20,
571
+ 0x00, 0x00, 0x05, 0x02, 0x05,
572
+ ];
519
573
  const sd1 = sd.reverse();
520
574
  await this.driver.writeParameterRequest(constants_1.default.PARAM.STK.Endpoint, sd1);
521
575
  }
522
576
  catch (error) {
523
- logger_1.logger.debug("error setting simple descriptor - try again", NS);
577
+ logger_1.logger.debug('error setting simple descriptor - try again', NS);
524
578
  this.checkCoordinatorSimpleDescriptor(true);
525
579
  return;
526
580
  }
527
- logger_1.logger.debug("success setting simple descriptor", NS);
581
+ logger_1.logger.debug('success setting simple descriptor', NS);
528
582
  }
529
583
  waitFor(networkAddress, endpoint, frameType, direction, transactionSequenceNumber, clusterID, commandIdentifier, timeout) {
530
584
  const payload = {
531
- address: networkAddress, endpoint, clusterID, commandIdentifier, frameType, direction,
585
+ address: networkAddress,
586
+ endpoint,
587
+ clusterID,
588
+ commandIdentifier,
589
+ frameType,
590
+ direction,
532
591
  transactionSequenceNumber,
533
592
  };
534
593
  const waiter = this.waitress.waitFor(payload, timeout);
@@ -554,16 +613,23 @@ class DeconzAdapter extends adapter_1.default {
554
613
  request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
555
614
  request.timeout = timeout;
556
615
  const command = zclFrame.command;
557
- this.driver.enqueueSendDataRequest(request)
558
- .then(result => {
616
+ this.driver
617
+ .enqueueSendDataRequest(request)
618
+ .then((result) => {
559
619
  logger_1.logger.debug(`sendZclFrameToEndpoint - message send with transSeq Nr.: ${zclFrame.header.transactionSequenceNumber}`, NS);
560
- logger_1.logger.debug(command.hasOwnProperty('response') + ", " + zclFrame.header.frameControl.disableDefaultResponse + ", " + disableResponse + ", " + request.timeout, NS);
620
+ logger_1.logger.debug(command.hasOwnProperty('response') +
621
+ ', ' +
622
+ zclFrame.header.frameControl.disableDefaultResponse +
623
+ ', ' +
624
+ disableResponse +
625
+ ', ' +
626
+ request.timeout, NS);
561
627
  if (!command.hasOwnProperty('response') || zclFrame.header.frameControl.disableDefaultResponse || !disableResponse) {
562
628
  logger_1.logger.debug(`resolve request (${zclFrame.header.transactionSequenceNumber})`, NS);
563
629
  return Promise.resolve();
564
630
  }
565
631
  })
566
- .catch(error => {
632
+ .catch((error) => {
567
633
  logger_1.logger.debug(`sendZclFrameToEndpoint ERROR (${zclFrame.header.transactionSequenceNumber})`, NS);
568
634
  logger_1.logger.debug(error, NS);
569
635
  //return Promise.reject(new Error("sendZclFrameToEndpoint ERROR " + error));
@@ -577,14 +643,14 @@ class DeconzAdapter extends adapter_1.default {
577
643
  const asdu = data.asduPayload;
578
644
  const buffer = Buffer.from(asdu);
579
645
  const response = {
580
- address: (data.srcAddrMode === 0x02) ? data.srcAddr16 : null,
646
+ address: data.srcAddrMode === 0x02 ? data.srcAddr16 : null,
581
647
  data: buffer,
582
648
  clusterID: zclFrame.cluster.ID,
583
649
  header: Zcl.Header.fromBuffer(buffer),
584
650
  endpoint: data.srcEndpoint,
585
651
  linkquality: data.lqi,
586
- groupID: (data.srcAddrMode === 0x01) ? data.srcAddr16 : null,
587
- wasBroadcast: data.srcAddrMode === 0x01 || data.srcAddrMode === 0xF,
652
+ groupID: data.srcAddrMode === 0x01 ? data.srcAddr16 : null,
653
+ wasBroadcast: data.srcAddrMode === 0x01 || data.srcAddrMode === 0xf,
588
654
  destinationEndpoint: data.destEndpoint,
589
655
  };
590
656
  logger_1.logger.debug(`response received (${zclFrame.header.transactionSequenceNumber})`, NS);
@@ -603,7 +669,7 @@ class DeconzAdapter extends adapter_1.default {
603
669
  const transactionID = this.nextTransactionID();
604
670
  const request = {};
605
671
  let pay = zclFrame.toBuffer();
606
- logger_1.logger.debug("zclFrame to group - zclFrame.payload:", NS);
672
+ logger_1.logger.debug('zclFrame to group - zclFrame.payload:', NS);
607
673
  logger_1.logger.debug(zclFrame.payload, NS);
608
674
  //logger.info("zclFramte.toBuffer:", NS);
609
675
  //logger.info(pay, NS);
@@ -630,7 +696,7 @@ class DeconzAdapter extends adapter_1.default {
630
696
  const transactionID = this.nextTransactionID();
631
697
  const request = {};
632
698
  let pay = zclFrame.toBuffer();
633
- logger_1.logger.debug("zclFrame to all - zclFrame.payload:", NS);
699
+ logger_1.logger.debug('zclFrame to all - zclFrame.payload:', NS);
634
700
  logger_1.logger.debug(zclFrame.payload, NS);
635
701
  request.requestId = transactionID;
636
702
  request.destAddrMode = constants_1.default.PARAM.addressMode.NWK_ADDR;
@@ -656,7 +722,7 @@ class DeconzAdapter extends adapter_1.default {
656
722
  const transactionID = this.nextTransactionID();
657
723
  const clid1 = clusterID & 0xff;
658
724
  const clid2 = (clusterID >> 8) & 0xff;
659
- const destAddrMode = (type === 'group') ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
725
+ const destAddrMode = type === 'group' ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
660
726
  let destArray;
661
727
  if (type === 'endpoint') {
662
728
  destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
@@ -666,7 +732,10 @@ class DeconzAdapter extends adapter_1.default {
666
732
  destArray = [destinationAddressOrGroup, (destinationAddressOrGroup >> 8) & 0xff];
667
733
  }
668
734
  const request = {};
669
- const zdpFrame = [transactionID].concat(this.driver.macAddrStringToArray(sourceIeeeAddress)).concat([sourceEndpoint, clid1, clid2, destAddrMode]).concat(destArray);
735
+ const zdpFrame = [transactionID]
736
+ .concat(this.driver.macAddrStringToArray(sourceIeeeAddress))
737
+ .concat([sourceEndpoint, clid1, clid2, destAddrMode])
738
+ .concat(destArray);
670
739
  request.requestId = transactionID;
671
740
  request.destAddrMode = constants_1.default.PARAM.addressMode.NWK_ADDR;
672
741
  request.destAddr16 = destinationNetworkAddress;
@@ -679,19 +748,20 @@ class DeconzAdapter extends adapter_1.default {
679
748
  request.txOptions = 0x04; // 0x04 use APS ACKS
680
749
  request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
681
750
  request.timeout = 30;
682
- this.driver.enqueueSendDataRequest(request)
683
- .then(result => { })
684
- .catch(error => { });
751
+ this.driver
752
+ .enqueueSendDataRequest(request)
753
+ .then((result) => { })
754
+ .catch((error) => { });
685
755
  try {
686
756
  const d = await this.waitForData(destinationNetworkAddress, 0, 0x8021);
687
757
  const data = d.asduPayload;
688
- logger_1.logger.debug("BIND RESPONSE - addr: 0x" + destinationNetworkAddress.toString(16) + " status: " + data[1], NS);
758
+ logger_1.logger.debug('BIND RESPONSE - addr: 0x' + destinationNetworkAddress.toString(16) + ' status: ' + data[1], NS);
689
759
  if (data[1] !== 0) {
690
- throw new Error("status: " + data[1]);
760
+ throw new Error('status: ' + data[1]);
691
761
  }
692
762
  }
693
763
  catch (error) {
694
- logger_1.logger.debug("BIND FAILED - addr: 0x" + destinationNetworkAddress.toString(16) + " " + error, NS);
764
+ logger_1.logger.debug('BIND FAILED - addr: 0x' + destinationNetworkAddress.toString(16) + ' ' + error, NS);
695
765
  throw new Error(error);
696
766
  }
697
767
  }
@@ -699,7 +769,7 @@ class DeconzAdapter extends adapter_1.default {
699
769
  const transactionID = this.nextTransactionID();
700
770
  const clid1 = clusterID & 0xff;
701
771
  const clid2 = (clusterID >> 8) & 0xff;
702
- const destAddrMode = (type === 'group') ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
772
+ const destAddrMode = type === 'group' ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
703
773
  let destArray;
704
774
  if (type === 'endpoint') {
705
775
  destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
@@ -709,7 +779,10 @@ class DeconzAdapter extends adapter_1.default {
709
779
  destArray = [destinationAddressOrGroup, (destinationAddressOrGroup >> 8) & 0xff];
710
780
  }
711
781
  const request = {};
712
- const zdpFrame = [transactionID].concat(this.driver.macAddrStringToArray(sourceIeeeAddress)).concat([sourceEndpoint, clid1, clid2, destAddrMode]).concat(destArray);
782
+ const zdpFrame = [transactionID]
783
+ .concat(this.driver.macAddrStringToArray(sourceIeeeAddress))
784
+ .concat([sourceEndpoint, clid1, clid2, destAddrMode])
785
+ .concat(destArray);
713
786
  request.requestId = transactionID;
714
787
  request.destAddrMode = constants_1.default.PARAM.addressMode.NWK_ADDR;
715
788
  request.destAddr16 = destinationNetworkAddress;
@@ -722,19 +795,20 @@ class DeconzAdapter extends adapter_1.default {
722
795
  request.txOptions = 0x04; // 0x04 use APS ACKS
723
796
  request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
724
797
  request.timeout = 30;
725
- this.driver.enqueueSendDataRequest(request)
726
- .then(result => { })
727
- .catch(error => { });
798
+ this.driver
799
+ .enqueueSendDataRequest(request)
800
+ .then((result) => { })
801
+ .catch((error) => { });
728
802
  try {
729
803
  const d = await this.waitForData(destinationNetworkAddress, 0, 0x8022);
730
804
  const data = d.asduPayload;
731
- logger_1.logger.debug("UNBIND RESPONSE - addr: 0x" + destinationNetworkAddress.toString(16) + " status: " + data[1], NS);
805
+ logger_1.logger.debug('UNBIND RESPONSE - addr: 0x' + destinationNetworkAddress.toString(16) + ' status: ' + data[1], NS);
732
806
  if (data[1] !== 0) {
733
- throw new Error("status: " + data[1]);
807
+ throw new Error('status: ' + data[1]);
734
808
  }
735
809
  }
736
810
  catch (error) {
737
- logger_1.logger.debug("UNBIND FAILED - addr: 0x" + destinationNetworkAddress.toString(16) + " " + error, NS);
811
+ logger_1.logger.debug('UNBIND FAILED - addr: 0x' + destinationNetworkAddress.toString(16) + ' ' + error, NS);
738
812
  throw new Error(error);
739
813
  }
740
814
  }
@@ -756,24 +830,25 @@ class DeconzAdapter extends adapter_1.default {
756
830
  request.asduPayload = zdpFrame;
757
831
  request.txOptions = 0;
758
832
  request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
759
- this.driver.enqueueSendDataRequest(request)
760
- .then(result => { })
761
- .catch(error => { });
833
+ this.driver
834
+ .enqueueSendDataRequest(request)
835
+ .then((result) => { })
836
+ .catch((error) => { });
762
837
  try {
763
838
  const d = await this.waitForData(networkAddress, 0, 0x8034);
764
839
  const data = d.asduPayload;
765
- logger_1.logger.debug("REMOVE_DEVICE - addr: 0x" + networkAddress.toString(16) + " status: " + data[1], NS);
840
+ logger_1.logger.debug('REMOVE_DEVICE - addr: 0x' + networkAddress.toString(16) + ' status: ' + data[1], NS);
766
841
  const payload = {
767
842
  networkAddress: networkAddress,
768
843
  ieeeAddr: ieeeAddr,
769
844
  };
770
845
  if (data[1] !== 0) {
771
- throw new Error("status: " + data[1]);
846
+ throw new Error('status: ' + data[1]);
772
847
  }
773
848
  this.emit(Events.Events.deviceLeave, payload);
774
849
  }
775
850
  catch (error) {
776
- logger_1.logger.debug("REMOVE_DEVICE FAILED - addr: 0x" + networkAddress.toString(16) + " " + error, NS);
851
+ logger_1.logger.debug('REMOVE_DEVICE FAILED - addr: 0x' + networkAddress.toString(16) + ' ' + error, NS);
777
852
  throw new Error(error);
778
853
  }
779
854
  }
@@ -781,7 +856,7 @@ class DeconzAdapter extends adapter_1.default {
781
856
  return false;
782
857
  }
783
858
  async backup() {
784
- throw new Error("This adapter does not support backup");
859
+ throw new Error('This adapter does not support backup');
785
860
  }
786
861
  async getNetworkParameters() {
787
862
  try {
@@ -792,7 +867,11 @@ class DeconzAdapter extends adapter_1.default {
792
867
  let networkKey = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY);
793
868
  // check current channel against configuration.yaml
794
869
  if (this.networkOptions.channelList[0] !== channel) {
795
- logger_1.logger.debug("Channel in configuration.yaml (" + this.networkOptions.channelList[0] + ") differs from current channel (" + channel + "). Changing channel.", NS);
870
+ logger_1.logger.debug('Channel in configuration.yaml (' +
871
+ this.networkOptions.channelList[0] +
872
+ ') differs from current channel (' +
873
+ channel +
874
+ '). Changing channel.', NS);
796
875
  let setChannelMask = 0;
797
876
  switch (this.networkOptions.channelList[0]) {
798
877
  case 11:
@@ -852,43 +931,47 @@ class DeconzAdapter extends adapter_1.default {
852
931
  changed = true;
853
932
  }
854
933
  catch (error) {
855
- logger_1.logger.debug("Could not set channel: " + error, NS);
934
+ logger_1.logger.debug('Could not set channel: ' + error, NS);
856
935
  }
857
936
  }
858
937
  // check current panid against configuration.yaml
859
938
  if (this.networkOptions.panID !== panid) {
860
- logger_1.logger.debug("panid in configuration.yaml (" + this.networkOptions.panID + ") differs from current panid (" + panid + "). Changing panid.", NS);
939
+ logger_1.logger.debug('panid in configuration.yaml (' + this.networkOptions.panID + ') differs from current panid (' + panid + '). Changing panid.', NS);
861
940
  try {
862
941
  await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.PAN_ID, this.networkOptions.panID);
863
942
  await this.sleep(500);
864
943
  changed = true;
865
944
  }
866
945
  catch (error) {
867
- logger_1.logger.debug("Could not set panid: " + error, NS);
946
+ logger_1.logger.debug('Could not set panid: ' + error, NS);
868
947
  }
869
948
  }
870
949
  // check current extended_panid against configuration.yaml
871
950
  if (this.driver.generalArrayToString(this.networkOptions.extendedPanID, 8) !== expanid) {
872
- logger_1.logger.debug("extended panid in configuration.yaml (" + this.driver.macAddrArrayToString(this.networkOptions.extendedPanID) + ") differs from current extended panid (" + expanid + "). Changing extended panid.", NS);
951
+ logger_1.logger.debug('extended panid in configuration.yaml (' +
952
+ this.driver.macAddrArrayToString(this.networkOptions.extendedPanID) +
953
+ ') differs from current extended panid (' +
954
+ expanid +
955
+ '). Changing extended panid.', NS);
873
956
  try {
874
957
  await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID, this.networkOptions.extendedPanID);
875
958
  await this.sleep(500);
876
959
  changed = true;
877
960
  }
878
961
  catch (error) {
879
- logger_1.logger.debug("Could not set extended panid: " + error, NS);
962
+ logger_1.logger.debug('Could not set extended panid: ' + error, NS);
880
963
  }
881
964
  }
882
965
  // check current network key against configuration.yaml
883
966
  if (this.driver.generalArrayToString(this.networkOptions.networkKey, 16) !== networkKey) {
884
- logger_1.logger.debug("network key in configuration.yaml (hidden) differs from current network key (" + networkKey + "). Changing network key.", NS);
967
+ logger_1.logger.debug('network key in configuration.yaml (hidden) differs from current network key (' + networkKey + '). Changing network key.', NS);
885
968
  try {
886
969
  await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY, this.networkOptions.networkKey);
887
970
  await this.sleep(500);
888
971
  changed = true;
889
972
  }
890
973
  catch (error) {
891
- logger_1.logger.debug("Could not set network key: " + error, NS);
974
+ logger_1.logger.debug('Could not set network key: ' + error, NS);
892
975
  }
893
976
  }
894
977
  if (changed) {
@@ -904,47 +987,47 @@ class DeconzAdapter extends adapter_1.default {
904
987
  return {
905
988
  panID: panid,
906
989
  extendedPanID: expanid,
907
- channel: channel
990
+ channel: channel,
908
991
  };
909
992
  }
910
993
  catch (error) {
911
- const msg = "get network parameters Error:" + error;
994
+ const msg = 'get network parameters Error:' + error;
912
995
  logger_1.logger.debug(msg, NS);
913
996
  return Promise.reject(new Error(msg));
914
997
  }
915
998
  }
916
999
  async restoreChannelInterPAN() {
917
- throw new Error("not supported");
1000
+ throw new Error('not supported');
918
1001
  }
919
1002
  async sendZclFrameInterPANToIeeeAddr(zclFrame, ieeeAddr) {
920
- throw new Error("not supported");
1003
+ throw new Error('not supported');
921
1004
  }
922
1005
  async sendZclFrameInterPANBroadcast(zclFrame, timeout) {
923
- throw new Error("not supported");
1006
+ throw new Error('not supported');
924
1007
  }
925
1008
  async sendZclFrameInterPANBroadcastWithResponse(zclFrame, timeout) {
926
- throw new Error("not supported");
1009
+ throw new Error('not supported');
927
1010
  }
928
1011
  async setChannelInterPAN(channel) {
929
- throw new Error("not supported");
1012
+ throw new Error('not supported');
930
1013
  }
931
1014
  async supportsChangeChannel() {
932
1015
  return false;
933
1016
  }
934
1017
  async changeChannel(newChannel) {
935
- throw new Error("not supported");
1018
+ throw new Error('not supported');
936
1019
  }
937
1020
  async setTransmitPower(value) {
938
- throw new Error("not supported");
1021
+ throw new Error('not supported');
939
1022
  }
940
1023
  async sendZclFrameInterPANIeeeAddr(zclFrame, ieeeAddr) {
941
- throw new Error("not supported");
1024
+ throw new Error('not supported');
942
1025
  }
943
1026
  /**
944
1027
  * Private methods
945
1028
  */
946
1029
  sleep(ms) {
947
- return new Promise(resolve => setTimeout(resolve, ms));
1030
+ return new Promise((resolve) => setTimeout(resolve, ms));
948
1031
  }
949
1032
  waitForData(addr, profileId, clusterId, transactionSequenceNumber, timeout) {
950
1033
  return new Promise((resolve, reject) => {
@@ -956,12 +1039,24 @@ class DeconzAdapter extends adapter_1.default {
956
1039
  }
957
1040
  checkReceivedGreenPowerIndication(ind) {
958
1041
  ind.clusterId = 0x21;
959
- let gpFrame = [ind.rspId, ind.seqNr, ind.id,
960
- 0, 0, // 0, 0 for options is a temp fix until https://github.com/Koenkk/zigbee-herdsman/pull/536 is merged.
1042
+ let gpFrame = [
1043
+ ind.rspId,
1044
+ ind.seqNr,
1045
+ ind.id,
1046
+ 0,
1047
+ 0, // 0, 0 for options is a temp fix until https://github.com/Koenkk/zigbee-herdsman/pull/536 is merged.
961
1048
  // ind.options & 0xff, (ind.options >> 8) & 0xff,
962
- ind.srcId & 0xff, (ind.srcId >> 8) & 0xff, (ind.srcId >> 16) & 0xff, (ind.srcId >> 24) & 0xff,
963
- ind.frameCounter & 0xff, (ind.frameCounter >> 8) & 0xff, (ind.frameCounter >> 16) & 0xff, (ind.frameCounter >> 24) & 0xff,
964
- ind.commandId, ind.commandFrameSize].concat(ind.commandFrame);
1049
+ ind.srcId & 0xff,
1050
+ (ind.srcId >> 8) & 0xff,
1051
+ (ind.srcId >> 16) & 0xff,
1052
+ (ind.srcId >> 24) & 0xff,
1053
+ ind.frameCounter & 0xff,
1054
+ (ind.frameCounter >> 8) & 0xff,
1055
+ (ind.frameCounter >> 16) & 0xff,
1056
+ (ind.frameCounter >> 24) & 0xff,
1057
+ ind.commandId,
1058
+ ind.commandFrameSize,
1059
+ ].concat(ind.commandFrame);
965
1060
  const payBuf = Buffer.from(gpFrame);
966
1061
  const payload = {
967
1062
  header: Zcl.Header.fromBuffer(payBuf),
@@ -982,7 +1077,7 @@ class DeconzAdapter extends adapter_1.default {
982
1077
  let header = null;
983
1078
  const payBuf = resp != null ? Buffer.from(resp.asduPayload) : null;
984
1079
  if (resp != null) {
985
- srcAddr = (resp.srcAddr16 != null) ? resp.srcAddr16 : resp.srcAddr64;
1080
+ srcAddr = resp.srcAddr16 != null ? resp.srcAddr16 : resp.srcAddr64;
986
1081
  if (resp.profileId != 0x00) {
987
1082
  header = Zcl.Header.fromBuffer(payBuf);
988
1083
  }
@@ -990,17 +1085,16 @@ class DeconzAdapter extends adapter_1.default {
990
1085
  let i = this.openRequestsQueue.length;
991
1086
  while (i--) {
992
1087
  const req = this.openRequestsQueue[i];
993
- if (srcAddr != null && req.addr === srcAddr && req.clusterId === resp.clusterId &&
994
- req.profileId === resp.profileId) {
1088
+ if (srcAddr != null && req.addr === srcAddr && req.clusterId === resp.clusterId && req.profileId === resp.profileId) {
995
1089
  if (header !== null && req.transactionSequenceNumber !== null && req.transactionSequenceNumber !== undefined) {
996
1090
  if (req.transactionSequenceNumber === header.transactionSequenceNumber) {
997
- logger_1.logger.debug("resolve data request with transSeq Nr.: " + req.transactionSequenceNumber, NS);
1091
+ logger_1.logger.debug('resolve data request with transSeq Nr.: ' + req.transactionSequenceNumber, NS);
998
1092
  this.openRequestsQueue.splice(i, 1);
999
1093
  req.resolve(resp);
1000
1094
  }
1001
1095
  }
1002
1096
  else {
1003
- logger_1.logger.debug("resolve data request without a transSeq Nr.", NS);
1097
+ logger_1.logger.debug('resolve data request without a transSeq Nr.', NS);
1004
1098
  this.openRequestsQueue.splice(i, 1);
1005
1099
  req.resolve(resp);
1006
1100
  }
@@ -1008,11 +1102,11 @@ class DeconzAdapter extends adapter_1.default {
1008
1102
  const now = Date.now();
1009
1103
  // Default timeout: 60 seconds.
1010
1104
  // Comparison is negated to prevent orphans when invalid timeout is entered (resulting in NaN).
1011
- if (!((now - req.ts) <= (req.timeout ?? 60000))) {
1105
+ if (!(now - req.ts <= (req.timeout ?? 60000))) {
1012
1106
  //logger.debug("Timeout for request in openRequestsQueue addr: " + req.addr.toString(16) + " clusterId: " + req.clusterId.toString(16) + " profileId: " + req.profileId.toString(16), NS);
1013
1107
  //remove from busyQueue
1014
1108
  this.openRequestsQueue.splice(i, 1);
1015
- req.reject("waiting for response TIMEOUT");
1109
+ req.reject('waiting for response TIMEOUT');
1016
1110
  }
1017
1111
  }
1018
1112
  // check unattended incomming messages
@@ -1034,11 +1128,11 @@ class DeconzAdapter extends adapter_1.default {
1034
1128
  clusterID: resp.clusterId,
1035
1129
  header,
1036
1130
  data: payBuf,
1037
- address: (resp.destAddrMode === 0x03) ? resp.srcAddr64 : resp.srcAddr16,
1131
+ address: resp.destAddrMode === 0x03 ? resp.srcAddr64 : resp.srcAddr16,
1038
1132
  endpoint: resp.srcEndpoint,
1039
1133
  linkquality: resp.lqi,
1040
- groupID: (resp.destAddrMode === 0x01) ? resp.destAddr16 : null,
1041
- wasBroadcast: resp.destAddrMode === 0x01 || resp.destAddrMode === 0xF,
1134
+ groupID: resp.destAddrMode === 0x01 ? resp.destAddr16 : null,
1135
+ wasBroadcast: resp.destAddrMode === 0x01 || resp.destAddrMode === 0xf,
1042
1136
  destinationEndpoint: resp.destEndpoint,
1043
1137
  };
1044
1138
  this.waitress.resolve(payload);
@@ -1053,19 +1147,19 @@ class DeconzAdapter extends adapter_1.default {
1053
1147
  return this.transactionID;
1054
1148
  }
1055
1149
  waitressTimeoutFormatter(matcher, timeout) {
1056
- return `Timeout - ${matcher.address} - ${matcher.endpoint}` +
1150
+ return (`Timeout - ${matcher.address} - ${matcher.endpoint}` +
1057
1151
  ` - ${matcher.transactionSequenceNumber} - ${matcher.clusterID}` +
1058
- ` - ${matcher.commandIdentifier} after ${timeout}ms`;
1152
+ ` - ${matcher.commandIdentifier} after ${timeout}ms`);
1059
1153
  }
1060
1154
  waitressValidator(payload, matcher) {
1061
- return payload.header &&
1155
+ return (payload.header &&
1062
1156
  (!matcher.address || payload.address === matcher.address) &&
1063
1157
  payload.endpoint === matcher.endpoint &&
1064
1158
  (!matcher.transactionSequenceNumber || payload.header.transactionSequenceNumber === matcher.transactionSequenceNumber) &&
1065
1159
  payload.clusterID === matcher.clusterID &&
1066
1160
  matcher.frameType === payload.header.frameControl.frameType &&
1067
1161
  matcher.commandIdentifier === payload.header.commandIdentifier &&
1068
- matcher.direction === payload.header.frameControl.direction;
1162
+ matcher.direction === payload.header.frameControl.direction);
1069
1163
  }
1070
1164
  }
1071
1165
  exports.default = DeconzAdapter;