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
@@ -26,15 +26,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTransactionSequenceNumber"));
30
- const endpoint_1 = __importDefault(require("./endpoint"));
31
- const entity_1 = __importDefault(require("./entity"));
32
- const utils_1 = require("../../utils");
33
- const Zcl = __importStar(require("../../zspec/zcl"));
34
29
  const assert_1 = __importDefault(require("assert"));
35
- const helpers_1 = require("../helpers");
30
+ const utils_1 = require("../../utils");
36
31
  const logger_1 = require("../../utils/logger");
37
32
  const enums_1 = require("../../zspec/enums");
33
+ const Zcl = __importStar(require("../../zspec/zcl"));
34
+ const helpers_1 = require("../helpers");
35
+ const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTransactionSequenceNumber"));
36
+ const endpoint_1 = __importDefault(require("./endpoint"));
37
+ const entity_1 = __importDefault(require("./entity"));
38
38
  /**
39
39
  * @ignore
40
40
  */
@@ -68,72 +68,192 @@ class Device extends entity_1.default {
68
68
  _pendingRequestTimeout;
69
69
  _customClusters = {};
70
70
  // Getters/setters
71
- get ieeeAddr() { return this._ieeeAddr; }
72
- set ieeeAddr(ieeeAddr) { this._ieeeAddr = ieeeAddr; }
73
- get applicationVersion() { return this._applicationVersion; }
74
- set applicationVersion(applicationVersion) { this._applicationVersion = applicationVersion; }
75
- get endpoints() { return this._endpoints; }
76
- get interviewCompleted() { return this._interviewCompleted; }
77
- get interviewing() { return this._interviewing; }
78
- get lastSeen() { return this._lastSeen; }
79
- get manufacturerID() { return this._manufacturerID; }
80
- get isDeleted() { return this._deleted; }
81
- set type(type) { this._type = type; }
82
- get type() { return this._type; }
83
- get dateCode() { return this._dateCode; }
84
- set dateCode(dateCode) { this._dateCode = dateCode; }
85
- set hardwareVersion(hardwareVersion) { this._hardwareVersion = hardwareVersion; }
86
- get hardwareVersion() { return this._hardwareVersion; }
87
- get manufacturerName() { return this._manufacturerName; }
88
- set manufacturerName(manufacturerName) { this._manufacturerName = manufacturerName; }
89
- set modelID(modelID) { this._modelID = modelID; }
90
- get modelID() { return this._modelID; }
91
- get networkAddress() { return this._networkAddress; }
71
+ get ieeeAddr() {
72
+ return this._ieeeAddr;
73
+ }
74
+ set ieeeAddr(ieeeAddr) {
75
+ this._ieeeAddr = ieeeAddr;
76
+ }
77
+ get applicationVersion() {
78
+ return this._applicationVersion;
79
+ }
80
+ set applicationVersion(applicationVersion) {
81
+ this._applicationVersion = applicationVersion;
82
+ }
83
+ get endpoints() {
84
+ return this._endpoints;
85
+ }
86
+ get interviewCompleted() {
87
+ return this._interviewCompleted;
88
+ }
89
+ get interviewing() {
90
+ return this._interviewing;
91
+ }
92
+ get lastSeen() {
93
+ return this._lastSeen;
94
+ }
95
+ get manufacturerID() {
96
+ return this._manufacturerID;
97
+ }
98
+ get isDeleted() {
99
+ return this._deleted;
100
+ }
101
+ set type(type) {
102
+ this._type = type;
103
+ }
104
+ get type() {
105
+ return this._type;
106
+ }
107
+ get dateCode() {
108
+ return this._dateCode;
109
+ }
110
+ set dateCode(dateCode) {
111
+ this._dateCode = dateCode;
112
+ }
113
+ set hardwareVersion(hardwareVersion) {
114
+ this._hardwareVersion = hardwareVersion;
115
+ }
116
+ get hardwareVersion() {
117
+ return this._hardwareVersion;
118
+ }
119
+ get manufacturerName() {
120
+ return this._manufacturerName;
121
+ }
122
+ set manufacturerName(manufacturerName) {
123
+ this._manufacturerName = manufacturerName;
124
+ }
125
+ set modelID(modelID) {
126
+ this._modelID = modelID;
127
+ }
128
+ get modelID() {
129
+ return this._modelID;
130
+ }
131
+ get networkAddress() {
132
+ return this._networkAddress;
133
+ }
92
134
  set networkAddress(networkAddress) {
93
135
  this._networkAddress = networkAddress;
94
136
  for (const endpoint of this._endpoints) {
95
137
  endpoint.deviceNetworkAddress = networkAddress;
96
138
  }
97
139
  }
98
- get powerSource() { return this._powerSource; }
140
+ get powerSource() {
141
+ return this._powerSource;
142
+ }
99
143
  set powerSource(powerSource) {
100
144
  this._powerSource = typeof powerSource === 'number' ? Zcl.POWER_SOURCES[powerSource & ~(1 << 7)] : powerSource;
101
145
  }
102
- get softwareBuildID() { return this._softwareBuildID; }
103
- set softwareBuildID(softwareBuildID) { this._softwareBuildID = softwareBuildID; }
104
- get stackVersion() { return this._stackVersion; }
105
- set stackVersion(stackVersion) { this._stackVersion = stackVersion; }
106
- get zclVersion() { return this._zclVersion; }
107
- set zclVersion(zclVersion) { this._zclVersion = zclVersion; }
108
- get linkquality() { return this._linkquality; }
109
- set linkquality(linkquality) { this._linkquality = linkquality; }
110
- get skipDefaultResponse() { return this._skipDefaultResponse; }
111
- set skipDefaultResponse(skipDefaultResponse) { this._skipDefaultResponse = skipDefaultResponse; }
112
- get customReadResponse() { return this._customReadResponse; }
113
- set customReadResponse(customReadResponse) { this._customReadResponse = customReadResponse; }
114
- get checkinInterval() { return this._checkinInterval; }
146
+ get softwareBuildID() {
147
+ return this._softwareBuildID;
148
+ }
149
+ set softwareBuildID(softwareBuildID) {
150
+ this._softwareBuildID = softwareBuildID;
151
+ }
152
+ get stackVersion() {
153
+ return this._stackVersion;
154
+ }
155
+ set stackVersion(stackVersion) {
156
+ this._stackVersion = stackVersion;
157
+ }
158
+ get zclVersion() {
159
+ return this._zclVersion;
160
+ }
161
+ set zclVersion(zclVersion) {
162
+ this._zclVersion = zclVersion;
163
+ }
164
+ get linkquality() {
165
+ return this._linkquality;
166
+ }
167
+ set linkquality(linkquality) {
168
+ this._linkquality = linkquality;
169
+ }
170
+ get skipDefaultResponse() {
171
+ return this._skipDefaultResponse;
172
+ }
173
+ set skipDefaultResponse(skipDefaultResponse) {
174
+ this._skipDefaultResponse = skipDefaultResponse;
175
+ }
176
+ get customReadResponse() {
177
+ return this._customReadResponse;
178
+ }
179
+ set customReadResponse(customReadResponse) {
180
+ this._customReadResponse = customReadResponse;
181
+ }
182
+ get checkinInterval() {
183
+ return this._checkinInterval;
184
+ }
115
185
  set checkinInterval(checkinInterval) {
116
186
  this._checkinInterval = checkinInterval;
117
187
  this.resetPendingRequestTimeout();
118
188
  }
119
- ;
120
- get pendingRequestTimeout() { return this._pendingRequestTimeout; }
121
- set pendingRequestTimeout(pendingRequestTimeout) { this._pendingRequestTimeout = pendingRequestTimeout; }
122
- get customClusters() { return this._customClusters; }
189
+ get pendingRequestTimeout() {
190
+ return this._pendingRequestTimeout;
191
+ }
192
+ set pendingRequestTimeout(pendingRequestTimeout) {
193
+ this._pendingRequestTimeout = pendingRequestTimeout;
194
+ }
195
+ get customClusters() {
196
+ return this._customClusters;
197
+ }
123
198
  meta;
124
199
  // This lookup contains all devices that are queried from the database, this is to ensure that always
125
200
  // the same instance is returned.
126
201
  static devices = null;
127
202
  static ReportablePropertiesMapping = {
128
- modelId: { key: 'modelID', set: (v, d) => { d.modelID = v; } },
129
- manufacturerName: { key: 'manufacturerName', set: (v, d) => { d.manufacturerName = v; } },
130
- powerSource: { key: 'powerSource', set: (v, d) => { d.powerSource = v; } },
131
- zclVersion: { key: 'zclVersion', set: (v, d) => { d.zclVersion = v; } },
132
- appVersion: { key: 'applicationVersion', set: (v, d) => { d.applicationVersion = v; } },
133
- stackVersion: { key: 'stackVersion', set: (v, d) => { d.stackVersion = v; } },
134
- hwVersion: { key: 'hardwareVersion', set: (v, d) => { d.hardwareVersion = v; } },
135
- dateCode: { key: 'dateCode', set: (v, d) => { d.dateCode = v; } },
136
- swBuildId: { key: 'softwareBuildID', set: (v, d) => { d.softwareBuildID = v; } },
203
+ modelId: {
204
+ key: 'modelID',
205
+ set: (v, d) => {
206
+ d.modelID = v;
207
+ },
208
+ },
209
+ manufacturerName: {
210
+ key: 'manufacturerName',
211
+ set: (v, d) => {
212
+ d.manufacturerName = v;
213
+ },
214
+ },
215
+ powerSource: {
216
+ key: 'powerSource',
217
+ set: (v, d) => {
218
+ d.powerSource = v;
219
+ },
220
+ },
221
+ zclVersion: {
222
+ key: 'zclVersion',
223
+ set: (v, d) => {
224
+ d.zclVersion = v;
225
+ },
226
+ },
227
+ appVersion: {
228
+ key: 'applicationVersion',
229
+ set: (v, d) => {
230
+ d.applicationVersion = v;
231
+ },
232
+ },
233
+ stackVersion: {
234
+ key: 'stackVersion',
235
+ set: (v, d) => {
236
+ d.stackVersion = v;
237
+ },
238
+ },
239
+ hwVersion: {
240
+ key: 'hardwareVersion',
241
+ set: (v, d) => {
242
+ d.hardwareVersion = v;
243
+ },
244
+ },
245
+ dateCode: {
246
+ key: 'dateCode',
247
+ set: (v, d) => {
248
+ d.dateCode = v;
249
+ },
250
+ },
251
+ swBuildId: {
252
+ key: 'softwareBuildID',
253
+ set: (v, d) => {
254
+ d.softwareBuildID = v;
255
+ },
256
+ },
137
257
  };
138
258
  constructor(ID, type, ieeeAddr, networkAddress, manufacturerID, endpoints, manufacturerName, powerSource, modelID, applicationVersion, stackVersion, zclVersion, hardwareVersion, dateCode, softwareBuildID, interviewCompleted, meta, lastSeen, checkinInterval, pendingRequestTimeout) {
139
259
  super();
@@ -173,7 +293,7 @@ class Device extends entity_1.default {
173
293
  delete Device.devices[this.ieeeAddr];
174
294
  this.ieeeAddr = ieeeAddr;
175
295
  Device.devices[this.ieeeAddr] = this;
176
- this.endpoints.forEach((e) => e.deviceIeeeAddress = ieeeAddr);
296
+ this.endpoints.forEach((e) => (e.deviceIeeeAddress = ieeeAddr));
177
297
  this.save();
178
298
  }
179
299
  getEndpoint(ID) {
@@ -198,7 +318,7 @@ class Device extends entity_1.default {
198
318
  this._pendingRequestTimeout = this._checkinInterval * 1000;
199
319
  }
200
320
  hasPendingRequests() {
201
- return this.endpoints.find(e => e.hasPendingRequests()) !== undefined;
321
+ return this.endpoints.find((e) => e.hasPendingRequests()) !== undefined;
202
322
  }
203
323
  async onZclData(dataPayload, frame, endpoint) {
204
324
  // Update reportable properties
@@ -214,18 +334,18 @@ class Device extends entity_1.default {
214
334
  await endpoint.command('ssIasZone', 'enrollRsp', payload, { disableDefaultResponse: true });
215
335
  }
216
336
  // Reponse to read requests
217
- if (frame.header.isGlobal && frame.isCommand('read') && !(this._customReadResponse?.(frame, endpoint))) {
218
- const time = Math.round(((new Date()).getTime() - OneJanuary2000) / 1000);
337
+ if (frame.header.isGlobal && frame.isCommand('read') && !this._customReadResponse?.(frame, endpoint)) {
338
+ const time = Math.round((new Date().getTime() - OneJanuary2000) / 1000);
219
339
  const attributes = {
220
340
  ...endpoint.clusters,
221
341
  genTime: {
222
342
  attributes: {
223
343
  timeStatus: 3, // Time-master + synchronised
224
344
  time: time,
225
- timeZone: ((new Date()).getTimezoneOffset() * -1) * 60,
226
- localTime: time - (new Date()).getTimezoneOffset() * 60,
345
+ timeZone: new Date().getTimezoneOffset() * -1 * 60,
346
+ localTime: time - new Date().getTimezoneOffset() * 60,
227
347
  lastSetTime: time,
228
- validUntilTime: time + (24 * 60 * 60), // valid for 24 hours
348
+ validUntilTime: time + 24 * 60 * 60, // valid for 24 hours
229
349
  },
230
350
  },
231
351
  };
@@ -240,7 +360,9 @@ class Device extends entity_1.default {
240
360
  }
241
361
  }
242
362
  try {
243
- await endpoint.readResponse(frame.cluster.ID, frame.header.transactionSequenceNumber, response, { srcEndpoint: dataPayload.destinationEndpoint });
363
+ await endpoint.readResponse(frame.cluster.ID, frame.header.transactionSequenceNumber, response, {
364
+ srcEndpoint: dataPayload.destinationEndpoint,
365
+ });
244
366
  }
245
367
  catch (error) {
246
368
  logger_1.logger.error(`Read response to ${this.ieeeAddr} failed`, NS);
@@ -248,9 +370,9 @@ class Device extends entity_1.default {
248
370
  }
249
371
  }
250
372
  // Handle check-in from sleeping end devices
251
- if (frame.header.isSpecific && frame.isCluster("genPollCtrl") && frame.isCommand("checkin")) {
373
+ if (frame.header.isSpecific && frame.isCluster('genPollCtrl') && frame.isCommand('checkin')) {
252
374
  try {
253
- if (this.hasPendingRequests() || (this._checkinInterval === undefined)) {
375
+ if (this.hasPendingRequests() || this._checkinInterval === undefined) {
254
376
  const payload = {
255
377
  startFastPolling: true,
256
378
  fastPollTimeout: 0,
@@ -292,17 +414,26 @@ class Device extends entity_1.default {
292
414
  const disableTuyaDefaultResponse = endpoint.getDevice().manufacturerName?.startsWith('_TZ') && process.env['DISABLE_TUYA_DEFAULT_RESPONSE'];
293
415
  // Sometimes messages are received twice, prevent responding twice
294
416
  const alreadyResponded = this._lastDefaultResponseSequenceNumber === frame.header.transactionSequenceNumber;
295
- if (this.type !== 'GreenPower' && !dataPayload.wasBroadcast && !disableDefaultResponse && !isDefaultResponse &&
296
- !commandHasResponse && !this._skipDefaultResponse && !alreadyResponded && !disableTuyaDefaultResponse) {
417
+ if (this.type !== 'GreenPower' &&
418
+ !dataPayload.wasBroadcast &&
419
+ !disableDefaultResponse &&
420
+ !isDefaultResponse &&
421
+ !commandHasResponse &&
422
+ !this._skipDefaultResponse &&
423
+ !alreadyResponded &&
424
+ !disableTuyaDefaultResponse) {
297
425
  try {
298
426
  this._lastDefaultResponseSequenceNumber = frame.header.transactionSequenceNumber;
299
427
  // In the ZCL it is not documented what the direction of the default response should be
300
428
  // In https://github.com/Koenkk/zigbee2mqtt/issues/18096 a commandResponse (SERVER_TO_CLIENT)
301
429
  // is send and the device expects a CLIENT_TO_SERVER back.
302
430
  // Previously SERVER_TO_CLIENT was always used.
303
- // Therefore for non-global commands we inverse the direction.
304
- const direction = frame.header.isGlobal ? Zcl.Direction.SERVER_TO_CLIENT : (frame.header.frameControl.direction === Zcl.Direction.CLIENT_TO_SERVER
305
- ? Zcl.Direction.SERVER_TO_CLIENT : Zcl.Direction.CLIENT_TO_SERVER);
431
+ // Therefore for non-global commands we inverse the direction.
432
+ const direction = frame.header.isGlobal
433
+ ? Zcl.Direction.SERVER_TO_CLIENT
434
+ : frame.header.frameControl.direction === Zcl.Direction.CLIENT_TO_SERVER
435
+ ? Zcl.Direction.SERVER_TO_CLIENT
436
+ : Zcl.Direction.CLIENT_TO_SERVER;
306
437
  await endpoint.defaultResponse(frame.command.ID, 0, frame.cluster.ID, frame.header.transactionSequenceNumber, { direction });
307
438
  }
308
439
  catch (error) {
@@ -325,7 +456,7 @@ class Device extends entity_1.default {
325
456
  }
326
457
  // default: no timeout (messages expire immediately after first send attempt)
327
458
  let pendingRequestTimeout = 0;
328
- if ((endpoints.filter((e) => e.inputClusters.includes(Zcl.Clusters.genPollCtrl.ID))).length > 0) {
459
+ if (endpoints.filter((e) => e.inputClusters.includes(Zcl.Clusters.genPollCtrl.ID)).length > 0) {
329
460
  // default for devices that support genPollCtrl cluster (RX off when idle): 1 day
330
461
  pendingRequestTimeout = 86400000;
331
462
  /* istanbul ignore else */
@@ -344,12 +475,26 @@ class Device extends entity_1.default {
344
475
  endpoints[endpoint.ID] = endpoint.toDatabaseRecord();
345
476
  }
346
477
  return {
347
- id: this.ID, type: this.type, ieeeAddr: this.ieeeAddr, nwkAddr: this.networkAddress,
348
- manufId: this.manufacturerID, manufName: this.manufacturerName, powerSource: this.powerSource,
349
- modelId: this.modelID, epList, endpoints, appVersion: this.applicationVersion,
350
- stackVersion: this.stackVersion, hwVersion: this.hardwareVersion, dateCode: this.dateCode,
351
- swBuildId: this.softwareBuildID, zclVersion: this.zclVersion, interviewCompleted: this.interviewCompleted,
352
- meta: this.meta, lastSeen: this.lastSeen, checkinInterval: this.checkinInterval
478
+ id: this.ID,
479
+ type: this.type,
480
+ ieeeAddr: this.ieeeAddr,
481
+ nwkAddr: this.networkAddress,
482
+ manufId: this.manufacturerID,
483
+ manufName: this.manufacturerName,
484
+ powerSource: this.powerSource,
485
+ modelId: this.modelID,
486
+ epList,
487
+ endpoints,
488
+ appVersion: this.applicationVersion,
489
+ stackVersion: this.stackVersion,
490
+ hwVersion: this.hardwareVersion,
491
+ dateCode: this.dateCode,
492
+ swBuildId: this.softwareBuildID,
493
+ zclVersion: this.zclVersion,
494
+ interviewCompleted: this.interviewCompleted,
495
+ meta: this.meta,
496
+ lastSeen: this.lastSeen,
497
+ checkinInterval: this.checkinInterval,
353
498
  };
354
499
  }
355
500
  save(writeDatabase = true) {
@@ -366,7 +511,8 @@ class Device extends entity_1.default {
366
511
  }
367
512
  }
368
513
  static find(ieeeOrNwkAddress, includeDeleted = false) {
369
- return typeof ieeeOrNwkAddress === 'string' ? Device.byIeeeAddr(ieeeOrNwkAddress, includeDeleted)
514
+ return typeof ieeeOrNwkAddress === 'string'
515
+ ? Device.byIeeeAddr(ieeeOrNwkAddress, includeDeleted)
370
516
  : Device.byNetworkAddress(ieeeOrNwkAddress, includeDeleted);
371
517
  }
372
518
  static byIeeeAddr(ieeeAddr, includeDeleted = false) {
@@ -376,14 +522,14 @@ class Device extends entity_1.default {
376
522
  }
377
523
  static byNetworkAddress(networkAddress, includeDeleted = false) {
378
524
  Device.loadFromDatabaseIfNecessary();
379
- return Object.values(Device.devices).find(d => (includeDeleted || !d._deleted) && d.networkAddress === networkAddress);
525
+ return Object.values(Device.devices).find((d) => (includeDeleted || !d._deleted) && d.networkAddress === networkAddress);
380
526
  }
381
527
  static byType(type) {
382
- return Device.all().filter(d => d.type === type);
528
+ return Device.all().filter((d) => d.type === type);
383
529
  }
384
530
  static all() {
385
531
  Device.loadFromDatabaseIfNecessary();
386
- return Object.values(Device.devices).filter(d => !d._deleted);
532
+ return Object.values(Device.devices).filter((d) => !d._deleted);
387
533
  }
388
534
  undelete(interviewCompleted) {
389
535
  (0, assert_1.default)(this._deleted, `Device '${this.ieeeAddr}' is not deleted`);
@@ -449,8 +595,7 @@ class Device extends entity_1.default {
449
595
  // https://github.com/Koenkk/zigbee2mqtt/issues/4655
450
596
  // Device does not change zoneState after enroll (event with original gateway)
451
597
  // modelID is mostly in the form of e.g. TS0202 and manufacturerName like e.g. _TYZB01_xph99wvr
452
- if (this.modelID?.match('^TS\\d*$') &&
453
- (this.manufacturerName?.match('^_TZ.*_.*$') || this.manufacturerName?.match('^_TYZB01_.*$'))) {
598
+ if (this.modelID?.match('^TS\\d*$') && (this.manufacturerName?.match('^_TZ.*_.*$') || this.manufacturerName?.match('^_TYZB01_.*$'))) {
454
599
  this._powerSource = this._powerSource || 'Battery';
455
600
  this._interviewing = false;
456
601
  this._interviewCompleted = true;
@@ -462,17 +607,24 @@ class Device extends entity_1.default {
462
607
  // on the device.
463
608
  const lookup = {
464
609
  '^3R.*?Z': {
465
- type: 'EndDevice', powerSource: 'Battery'
610
+ type: 'EndDevice',
611
+ powerSource: 'Battery',
466
612
  },
467
- 'lumi\..*': {
468
- type: 'EndDevice', manufacturerID: 4151, manufacturerName: 'LUMI', powerSource: 'Battery'
613
+ 'lumi..*': {
614
+ type: 'EndDevice',
615
+ manufacturerID: 4151,
616
+ manufacturerName: 'LUMI',
617
+ powerSource: 'Battery',
469
618
  },
470
619
  'TERNCY-PP01': {
471
- type: 'EndDevice', manufacturerID: 4648, manufacturerName: 'TERNCY', powerSource: 'Battery'
620
+ type: 'EndDevice',
621
+ manufacturerID: 4648,
622
+ manufacturerName: 'TERNCY',
623
+ powerSource: 'Battery',
472
624
  },
473
625
  '3RWS18BZ': {}, // https://github.com/Koenkk/zigbee-herdsman-converters/pull/2710
474
626
  'MULTI-MECI--EA01': {},
475
- 'MOT003': {}, // https://github.com/Koenkk/zigbee2mqtt/issues/12471
627
+ MOT003: {}, // https://github.com/Koenkk/zigbee2mqtt/issues/12471
476
628
  };
477
629
  const match = Object.keys(lookup).find((key) => this.modelID && this.modelID.match(key));
478
630
  if (match) {
@@ -527,7 +679,7 @@ class Device extends entity_1.default {
527
679
  if (this.manufacturerID === 4619 && this._type === 'EndDevice') {
528
680
  // Give Tuya end device some time to pair. Otherwise they leave immediately.
529
681
  // https://github.com/Koenkk/zigbee2mqtt/issues/5814
530
- logger_1.logger.debug("Interview - Detected Tuya end device, waiting 10 seconds...", NS);
682
+ logger_1.logger.debug('Interview - Detected Tuya end device, waiting 10 seconds...', NS);
531
683
  await (0, utils_1.Wait)(10000);
532
684
  }
533
685
  else if ([0, 4098].includes(this.manufacturerID)) {
@@ -535,12 +687,11 @@ class Device extends entity_1.default {
535
687
  // In case the device responds, the endoint and modelID/manufacturerName are set
536
688
  // in controller.onZclOrRawData()
537
689
  // https://github.com/Koenkk/zigbee2mqtt/issues/7553
538
- logger_1.logger.debug("Interview - Detected potential Tuya end device, reading modelID and manufacturerName...", NS);
690
+ logger_1.logger.debug('Interview - Detected potential Tuya end device, reading modelID and manufacturerName...', NS);
539
691
  try {
540
692
  const endpoint = endpoint_1.default.create(1, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr);
541
693
  const result = await endpoint.read('genBasic', ['modelId', 'manufacturerName'], { sendPolicy: 'immediate' });
542
- Object.entries(result)
543
- .forEach((entry) => Device.ReportablePropertiesMapping[entry[0]].set(entry[1], this));
694
+ Object.entries(result).forEach((entry) => Device.ReportablePropertiesMapping[entry[0]].set(entry[1], this));
544
695
  }
545
696
  catch (error) {
546
697
  /* istanbul ignore next */
@@ -567,7 +718,9 @@ class Device extends entity_1.default {
567
718
  // Some devices, e.g. TERNCY return endpoint 0 in the active endpoints request.
568
719
  // This is not a valid endpoint number according to the ZCL, requesting a simple descriptor will result
569
720
  // into an error. Therefore we filter it, more info: https://github.com/Koenkk/zigbee-herdsman/issues/82
570
- activeEndpoints.endpoints.filter((e) => e !== 0 && !this.getEndpoint(e)).forEach((e) => this._endpoints.push(endpoint_1.default.create(e, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr)));
721
+ activeEndpoints.endpoints
722
+ .filter((e) => e !== 0 && !this.getEndpoint(e))
723
+ .forEach((e) => this._endpoints.push(endpoint_1.default.create(e, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr)));
571
724
  logger_1.logger.debug(`Interview - got active endpoints for device '${this.ieeeAddr}'`, NS);
572
725
  for (const endpointID of activeEndpoints.endpoints.filter((e) => e !== 0)) {
573
726
  const endpoint = this.getEndpoint(endpointID);
@@ -620,7 +773,7 @@ class Device extends entity_1.default {
620
773
  // Do not enroll when device has already been enrolled
621
774
  if (stateBefore.zoneState !== 1 || stateBefore.iasCieAddr !== coordinator.ieeeAddr) {
622
775
  logger_1.logger.debug(`Interview - IAS - not enrolled, enrolling`, NS);
623
- await endpoint.write('ssIasZone', { 'iasCieAddr': coordinator.ieeeAddr }, { sendPolicy: 'immediate' });
776
+ await endpoint.write('ssIasZone', { iasCieAddr: coordinator.ieeeAddr }, { sendPolicy: 'immediate' });
624
777
  logger_1.logger.debug(`Interview - IAS - wrote iasCieAddr`, NS);
625
778
  // There are 2 enrollment procedures:
626
779
  // - Auto enroll: coordinator has to send enrollResponse without receiving an enroll request
@@ -714,7 +867,7 @@ class Device extends entity_1.default {
714
867
  await endpoint.read('genBasic', ['zclVersion'], { disableRecovery });
715
868
  }
716
869
  addCustomCluster(name, cluster) {
717
- (0, assert_1.default)(!([Zcl.Clusters.touchlink.ID, Zcl.Clusters.greenPower.ID].includes(cluster.ID)), 'Overriding of greenPower or touchlink cluster is not supported');
870
+ (0, assert_1.default)(![Zcl.Clusters.touchlink.ID, Zcl.Clusters.greenPower.ID].includes(cluster.ID), 'Overriding of greenPower or touchlink cluster is not supported');
718
871
  if (Zcl.Utils.isClusterName(name)) {
719
872
  const existingCluster = Zcl.Clusters[name];
720
873
  // Extend existing cluster