@willieee802/zigbee-herdsman 0.36.0 → 0.48.1

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 (428) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +317 -0
  3. package/dist/adapter/adapter.d.ts +14 -13
  4. package/dist/adapter/adapter.d.ts.map +1 -1
  5. package/dist/adapter/adapter.js +15 -17
  6. package/dist/adapter/adapter.js.map +1 -1
  7. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +14 -12
  8. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.js +118 -128
  10. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  11. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  12. package/dist/adapter/deconz/driver/driver.js +44 -44
  13. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  14. package/dist/adapter/deconz/driver/frameParser.js +43 -43
  15. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  16. package/dist/adapter/deconz/driver/parser.js +6 -6
  17. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  18. package/dist/adapter/deconz/driver/writer.js +3 -3
  19. package/dist/adapter/deconz/driver/writer.js.map +1 -1
  20. package/dist/adapter/ember/adapter/emberAdapter.d.ts +32 -36
  21. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  22. package/dist/adapter/ember/adapter/emberAdapter.js +418 -446
  23. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  24. package/dist/adapter/ember/adapter/endpoints.d.ts +5 -3
  25. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  26. package/dist/adapter/ember/adapter/endpoints.js +33 -31
  27. package/dist/adapter/ember/adapter/endpoints.js.map +1 -1
  28. package/dist/adapter/ember/adapter/oneWaitress.d.ts +10 -2
  29. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  30. package/dist/adapter/ember/adapter/oneWaitress.js +19 -5
  31. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  32. package/dist/adapter/ember/adapter/requestQueue.d.ts +2 -4
  33. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +1 -1
  34. package/dist/adapter/ember/adapter/requestQueue.js +16 -21
  35. package/dist/adapter/ember/adapter/requestQueue.js.map +1 -1
  36. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  37. package/dist/adapter/ember/adapter/tokensManager.js +23 -20
  38. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  39. package/dist/adapter/ember/consts.d.ts +0 -7
  40. package/dist/adapter/ember/consts.d.ts.map +1 -1
  41. package/dist/adapter/ember/consts.js +2 -9
  42. package/dist/adapter/ember/consts.js.map +1 -1
  43. package/dist/adapter/ember/enums.d.ts +12 -14
  44. package/dist/adapter/ember/enums.d.ts.map +1 -1
  45. package/dist/adapter/ember/enums.js +12 -14
  46. package/dist/adapter/ember/enums.js.map +1 -1
  47. package/dist/adapter/ember/ezsp/buffalo.js +4 -4
  48. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  49. package/dist/adapter/ember/ezsp/ezsp.d.ts +1 -2
  50. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  51. package/dist/adapter/ember/ezsp/ezsp.js +218 -199
  52. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  53. package/dist/adapter/ember/types.d.ts +9 -9
  54. package/dist/adapter/ember/types.d.ts.map +1 -1
  55. package/dist/adapter/ember/uart/ash.d.ts +11 -5
  56. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  57. package/dist/adapter/ember/uart/ash.js +125 -93
  58. package/dist/adapter/ember/uart/ash.js.map +1 -1
  59. package/dist/adapter/ember/uart/consts.d.ts +1 -1
  60. package/dist/adapter/ember/uart/consts.js +1 -1
  61. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  62. package/dist/adapter/ember/uart/parser.js +5 -9
  63. package/dist/adapter/ember/uart/parser.js.map +1 -1
  64. package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
  65. package/dist/adapter/ember/uart/queues.js +3 -1
  66. package/dist/adapter/ember/uart/queues.js.map +1 -1
  67. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  68. package/dist/adapter/ember/uart/writer.js +4 -6
  69. package/dist/adapter/ember/uart/writer.js.map +1 -1
  70. package/dist/adapter/ember/zdo.d.ts +6 -2
  71. package/dist/adapter/ember/zdo.d.ts.map +1 -1
  72. package/dist/adapter/ember/zdo.js +2 -2
  73. package/dist/adapter/ember/zdo.js.map +1 -1
  74. package/dist/adapter/events.d.ts +17 -23
  75. package/dist/adapter/events.d.ts.map +1 -1
  76. package/dist/adapter/events.js +1 -2
  77. package/dist/adapter/events.js.map +1 -1
  78. package/dist/adapter/ezsp/adapter/backup.d.ts +0 -1
  79. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  80. package/dist/adapter/ezsp/adapter/backup.js +3 -7
  81. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  82. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +13 -10
  83. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  84. package/dist/adapter/ezsp/adapter/ezspAdapter.js +79 -72
  85. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  86. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  87. package/dist/adapter/ezsp/driver/commands.js +3 -5
  88. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  89. package/dist/adapter/ezsp/driver/driver.d.ts +1 -4
  90. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  91. package/dist/adapter/ezsp/driver/driver.js +101 -122
  92. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  93. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  94. package/dist/adapter/ezsp/driver/ezsp.js +61 -50
  95. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  96. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  97. package/dist/adapter/ezsp/driver/multicast.js +8 -12
  98. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  99. package/dist/adapter/ezsp/driver/parser.js +5 -5
  100. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  101. package/dist/adapter/ezsp/driver/types/basic.js +1 -1
  102. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  103. package/dist/adapter/ezsp/driver/types/named.js +2 -2
  104. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  105. package/dist/adapter/ezsp/driver/types/struct.js +2 -2
  106. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  107. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  108. package/dist/adapter/ezsp/driver/uart.js +46 -46
  109. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  110. package/dist/adapter/ezsp/driver/writer.js +3 -6
  111. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  112. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -1
  113. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  114. package/dist/adapter/z-stack/adapter/adapter-backup.js +25 -29
  115. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  116. package/dist/adapter/z-stack/adapter/endpoints.js +4 -4
  117. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
  118. package/dist/adapter/z-stack/adapter/manager.d.ts +1 -4
  119. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  120. package/dist/adapter/z-stack/adapter/manager.js +52 -61
  121. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  122. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +12 -10
  123. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  124. package/dist/adapter/z-stack/adapter/zStackAdapter.js +92 -68
  125. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  126. package/dist/adapter/z-stack/unpi/parser.js +6 -6
  127. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  128. package/dist/adapter/z-stack/unpi/writer.js +4 -7
  129. package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
  130. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +4 -2
  131. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
  132. package/dist/adapter/z-stack/znp/buffaloZnp.js +154 -25
  133. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  134. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
  135. package/dist/adapter/z-stack/znp/definition.js +2 -1
  136. package/dist/adapter/z-stack/znp/definition.js.map +1 -1
  137. package/dist/adapter/z-stack/znp/tstype.d.ts +4 -3
  138. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
  139. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  140. package/dist/adapter/z-stack/znp/znp.js +18 -25
  141. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  142. package/dist/adapter/z-stack/znp/zpiObject.js +2 -2
  143. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  144. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +13 -12
  145. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  146. package/dist/adapter/zigate/adapter/zigateAdapter.js +81 -90
  147. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  148. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +7 -8
  149. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  150. package/dist/adapter/zigate/driver/buffaloZiGate.js +150 -100
  151. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  152. package/dist/adapter/zigate/driver/commandType.d.ts +2 -1
  153. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  154. package/dist/adapter/zigate/driver/commandType.js +56 -52
  155. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  156. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  157. package/dist/adapter/zigate/driver/frame.js +8 -8
  158. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  159. package/dist/adapter/zigate/driver/messageType.d.ts +2 -1
  160. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
  161. package/dist/adapter/zigate/driver/messageType.js +113 -108
  162. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  163. package/dist/adapter/zigate/driver/parameterType.d.ts +8 -1
  164. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
  165. package/dist/adapter/zigate/driver/parameterType.js +9 -0
  166. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  167. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  168. package/dist/adapter/zigate/driver/ziGateObject.js +9 -9
  169. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  170. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  171. package/dist/adapter/zigate/driver/zigate.js +23 -31
  172. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  173. package/dist/buffalo/buffalo.d.ts +23 -19
  174. package/dist/buffalo/buffalo.d.ts.map +1 -1
  175. package/dist/buffalo/buffalo.js +74 -169
  176. package/dist/buffalo/buffalo.js.map +1 -1
  177. package/dist/buffalo/index.d.ts +1 -2
  178. package/dist/buffalo/index.d.ts.map +1 -1
  179. package/dist/buffalo/index.js +1 -26
  180. package/dist/buffalo/index.js.map +1 -1
  181. package/dist/controller/controller.d.ts +8 -5
  182. package/dist/controller/controller.d.ts.map +1 -1
  183. package/dist/controller/controller.js +181 -126
  184. package/dist/controller/controller.js.map +1 -1
  185. package/dist/controller/database.d.ts +1 -0
  186. package/dist/controller/database.d.ts.map +1 -1
  187. package/dist/controller/database.js +7 -10
  188. package/dist/controller/database.js.map +1 -1
  189. package/dist/controller/events.d.ts +2 -2
  190. package/dist/controller/events.d.ts.map +1 -1
  191. package/dist/controller/events.js +4 -0
  192. package/dist/controller/events.js.map +1 -1
  193. package/dist/controller/greenPower.d.ts +2 -1
  194. package/dist/controller/greenPower.d.ts.map +1 -1
  195. package/dist/controller/greenPower.js +51 -57
  196. package/dist/controller/greenPower.js.map +1 -1
  197. package/dist/controller/helpers/request.d.ts +3 -3
  198. package/dist/controller/helpers/request.d.ts.map +1 -1
  199. package/dist/controller/helpers/request.js +2 -2
  200. package/dist/controller/helpers/request.js.map +1 -1
  201. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  202. package/dist/controller/helpers/requestQueue.js +26 -36
  203. package/dist/controller/helpers/requestQueue.js.map +1 -1
  204. package/dist/controller/helpers/zclFrameConverter.d.ts +4 -3
  205. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  206. package/dist/controller/helpers/zclFrameConverter.js +33 -14
  207. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  208. package/dist/controller/model/device.d.ts +12 -5
  209. package/dist/controller/model/device.d.ts.map +1 -1
  210. package/dist/controller/model/device.js +105 -86
  211. package/dist/controller/model/device.js.map +1 -1
  212. package/dist/controller/model/endpoint.d.ts +22 -17
  213. package/dist/controller/model/endpoint.d.ts.map +1 -1
  214. package/dist/controller/model/endpoint.js +139 -228
  215. package/dist/controller/model/endpoint.js.map +1 -1
  216. package/dist/controller/model/group.d.ts +1 -1
  217. package/dist/controller/model/group.d.ts.map +1 -1
  218. package/dist/controller/model/group.js +18 -18
  219. package/dist/controller/model/group.js.map +1 -1
  220. package/dist/controller/touchlink.js +25 -28
  221. package/dist/controller/touchlink.js.map +1 -1
  222. package/dist/index.d.ts +5 -3
  223. package/dist/index.d.ts.map +1 -1
  224. package/dist/index.js +8 -5
  225. package/dist/index.js.map +1 -1
  226. package/dist/utils/logger.d.ts +9 -0
  227. package/dist/utils/logger.d.ts.map +1 -0
  228. package/dist/utils/logger.js +14 -0
  229. package/dist/utils/logger.js.map +1 -0
  230. package/dist/zspec/consts.d.ts +60 -0
  231. package/dist/zspec/consts.d.ts.map +1 -0
  232. package/dist/zspec/consts.js +64 -0
  233. package/dist/zspec/consts.js.map +1 -0
  234. package/dist/zspec/enums.d.ts +19 -0
  235. package/dist/zspec/enums.d.ts.map +1 -0
  236. package/dist/zspec/enums.js +28 -0
  237. package/dist/zspec/enums.js.map +1 -0
  238. package/dist/zspec/index.d.ts +4 -0
  239. package/dist/zspec/index.d.ts.map +1 -0
  240. package/dist/zspec/index.js +43 -0
  241. package/dist/zspec/index.js.map +1 -0
  242. package/dist/zspec/tstypes.d.ts +19 -0
  243. package/dist/zspec/tstypes.d.ts.map +1 -0
  244. package/dist/{buffalo/tstype.js → zspec/tstypes.js} +1 -1
  245. package/dist/zspec/tstypes.js.map +1 -0
  246. package/dist/zspec/utils.d.ts +14 -0
  247. package/dist/zspec/utils.d.ts.map +1 -0
  248. package/dist/zspec/utils.js +29 -0
  249. package/dist/zspec/utils.js.map +1 -0
  250. package/dist/zspec/zcl/buffaloZcl.d.ts +55 -0
  251. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -0
  252. package/dist/zspec/zcl/buffaloZcl.js +929 -0
  253. package/dist/zspec/zcl/buffaloZcl.js.map +1 -0
  254. package/dist/zspec/zcl/definition/cluster.d.ts +3 -0
  255. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -0
  256. package/dist/zspec/zcl/definition/cluster.js +5500 -0
  257. package/dist/zspec/zcl/definition/cluster.js.map +1 -0
  258. package/dist/zspec/zcl/definition/consts.d.ts +9 -0
  259. package/dist/zspec/zcl/definition/consts.d.ts.map +1 -0
  260. package/dist/zspec/zcl/definition/consts.js +27 -0
  261. package/dist/zspec/zcl/definition/consts.js.map +1 -0
  262. package/dist/zspec/zcl/definition/enums.d.ts +177 -0
  263. package/dist/zspec/zcl/definition/enums.d.ts.map +1 -0
  264. package/dist/zspec/zcl/definition/enums.js +187 -0
  265. package/dist/zspec/zcl/definition/enums.js.map +1 -0
  266. package/dist/zspec/zcl/definition/foundation.d.ts +11 -0
  267. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -0
  268. package/dist/zspec/zcl/definition/foundation.js +241 -0
  269. package/dist/zspec/zcl/definition/foundation.js.map +1 -0
  270. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +727 -0
  271. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +1 -0
  272. package/dist/zspec/zcl/definition/manufacturerCode.js +733 -0
  273. package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -0
  274. package/dist/zspec/zcl/definition/status.d.ts +69 -0
  275. package/dist/zspec/zcl/definition/status.d.ts.map +1 -0
  276. package/dist/zspec/zcl/definition/status.js +74 -0
  277. package/dist/zspec/zcl/definition/status.js.map +1 -0
  278. package/dist/zspec/zcl/definition/tstype.d.ts +114 -0
  279. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -0
  280. package/dist/{zcl/zclHeader.js → zspec/zcl/definition/tstype.js} +2 -1
  281. package/dist/zspec/zcl/definition/tstype.js.map +1 -0
  282. package/dist/zspec/zcl/index.d.ts +11 -0
  283. package/dist/zspec/zcl/index.d.ts.map +1 -0
  284. package/dist/zspec/zcl/index.js +47 -0
  285. package/dist/zspec/zcl/index.js.map +1 -0
  286. package/dist/zspec/zcl/utils.d.ts +7 -0
  287. package/dist/zspec/zcl/utils.d.ts.map +1 -0
  288. package/dist/zspec/zcl/utils.js +234 -0
  289. package/dist/zspec/zcl/utils.js.map +1 -0
  290. package/dist/zspec/zcl/zclFrame.d.ts +36 -0
  291. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -0
  292. package/dist/zspec/zcl/zclFrame.js +304 -0
  293. package/dist/zspec/zcl/zclFrame.js.map +1 -0
  294. package/dist/zspec/zcl/zclHeader.d.ts +17 -0
  295. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -0
  296. package/dist/zspec/zcl/zclHeader.js +88 -0
  297. package/dist/zspec/zcl/zclHeader.js.map +1 -0
  298. package/dist/zspec/zcl/zclStatusError.d.ts +6 -0
  299. package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -0
  300. package/dist/zspec/zcl/zclStatusError.js +13 -0
  301. package/dist/zspec/zcl/zclStatusError.js.map +1 -0
  302. package/dist/zspec/zdo/buffaloZdo.d.ts +438 -0
  303. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -0
  304. package/dist/zspec/zdo/buffaloZdo.js +1892 -0
  305. package/dist/zspec/zdo/buffaloZdo.js.map +1 -0
  306. package/dist/zspec/zdo/definition/clusters.d.ts +624 -0
  307. package/dist/zspec/zdo/definition/clusters.d.ts.map +1 -0
  308. package/dist/zspec/zdo/definition/clusters.js +687 -0
  309. package/dist/zspec/zdo/definition/clusters.js.map +1 -0
  310. package/dist/zspec/zdo/definition/consts.d.ts +13 -0
  311. package/dist/zspec/zdo/definition/consts.d.ts.map +1 -0
  312. package/dist/zspec/zdo/definition/consts.js +16 -0
  313. package/dist/zspec/zdo/definition/consts.js.map +1 -0
  314. package/dist/zspec/zdo/definition/enums.d.ts +75 -0
  315. package/dist/zspec/zdo/definition/enums.d.ts.map +1 -0
  316. package/dist/zspec/zdo/definition/enums.js +97 -0
  317. package/dist/zspec/zdo/definition/enums.js.map +1 -0
  318. package/dist/zspec/zdo/definition/status.d.ts +99 -0
  319. package/dist/zspec/zdo/definition/status.d.ts.map +1 -0
  320. package/dist/zspec/zdo/definition/status.js +109 -0
  321. package/dist/zspec/zdo/definition/status.js.map +1 -0
  322. package/dist/zspec/zdo/definition/tstypes.d.ts +787 -0
  323. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -0
  324. package/dist/{zcl/definition/tstype.js → zspec/zdo/definition/tstypes.js} +1 -1
  325. package/dist/zspec/zdo/definition/tstypes.js.map +1 -0
  326. package/dist/zspec/zdo/index.d.ts +7 -0
  327. package/dist/zspec/zdo/index.d.ts.map +1 -0
  328. package/dist/zspec/zdo/index.js +39 -0
  329. package/dist/zspec/zdo/index.js.map +1 -0
  330. package/dist/zspec/zdo/utils.d.ts +25 -0
  331. package/dist/zspec/zdo/utils.d.ts.map +1 -0
  332. package/dist/zspec/zdo/utils.js +75 -0
  333. package/dist/zspec/zdo/utils.js.map +1 -0
  334. package/dist/zspec/zdo/zdoStatusError.d.ts +6 -0
  335. package/dist/zspec/zdo/zdoStatusError.d.ts.map +1 -0
  336. package/dist/zspec/zdo/zdoStatusError.js +13 -0
  337. package/dist/zspec/zdo/zdoStatusError.js.map +1 -0
  338. package/examples/join-and-log.js +7 -12
  339. package/package.json +5 -5
  340. package/dist/adapter/zigate/debug.d.ts +0 -8
  341. package/dist/adapter/zigate/debug.d.ts.map +0 -1
  342. package/dist/adapter/zigate/debug.js +0 -20
  343. package/dist/adapter/zigate/debug.js.map +0 -1
  344. package/dist/buffalo/tstype.d.ts +0 -9
  345. package/dist/buffalo/tstype.d.ts.map +0 -1
  346. package/dist/buffalo/tstype.js.map +0 -1
  347. package/dist/controller/logger-stub.d.ts +0 -7
  348. package/dist/controller/logger-stub.d.ts.map +0 -1
  349. package/dist/controller/logger-stub.js +0 -3
  350. package/dist/controller/logger-stub.js.map +0 -1
  351. package/dist/zcl/buffaloZcl.d.ts +0 -42
  352. package/dist/zcl/buffaloZcl.d.ts.map +0 -1
  353. package/dist/zcl/buffaloZcl.js +0 -595
  354. package/dist/zcl/buffaloZcl.js.map +0 -1
  355. package/dist/zcl/definition/buffaloZclDataType.d.ts +0 -18
  356. package/dist/zcl/definition/buffaloZclDataType.d.ts.map +0 -1
  357. package/dist/zcl/definition/buffaloZclDataType.js +0 -21
  358. package/dist/zcl/definition/buffaloZclDataType.js.map +0 -1
  359. package/dist/zcl/definition/cluster.d.ts +0 -30
  360. package/dist/zcl/definition/cluster.d.ts.map +0 -1
  361. package/dist/zcl/definition/cluster.js +0 -5531
  362. package/dist/zcl/definition/cluster.js.map +0 -1
  363. package/dist/zcl/definition/dataType.d.ts +0 -60
  364. package/dist/zcl/definition/dataType.d.ts.map +0 -1
  365. package/dist/zcl/definition/dataType.js +0 -65
  366. package/dist/zcl/definition/dataType.js.map +0 -1
  367. package/dist/zcl/definition/direction.d.ts +0 -6
  368. package/dist/zcl/definition/direction.d.ts.map +0 -1
  369. package/dist/zcl/definition/direction.js +0 -9
  370. package/dist/zcl/definition/direction.js.map +0 -1
  371. package/dist/zcl/definition/endpointDeviceType.d.ts +0 -5
  372. package/dist/zcl/definition/endpointDeviceType.d.ts.map +0 -1
  373. package/dist/zcl/definition/endpointDeviceType.js +0 -16
  374. package/dist/zcl/definition/endpointDeviceType.js.map +0 -1
  375. package/dist/zcl/definition/foundation.d.ts +0 -12
  376. package/dist/zcl/definition/foundation.d.ts.map +0 -1
  377. package/dist/zcl/definition/foundation.js +0 -168
  378. package/dist/zcl/definition/foundation.js.map +0 -1
  379. package/dist/zcl/definition/frameControl.d.ts +0 -11
  380. package/dist/zcl/definition/frameControl.d.ts.map +0 -1
  381. package/dist/zcl/definition/frameControl.js +0 -3
  382. package/dist/zcl/definition/frameControl.js.map +0 -1
  383. package/dist/zcl/definition/frameType.d.ts +0 -6
  384. package/dist/zcl/definition/frameType.d.ts.map +0 -1
  385. package/dist/zcl/definition/frameType.js +0 -9
  386. package/dist/zcl/definition/frameType.js.map +0 -1
  387. package/dist/zcl/definition/index.d.ts +0 -14
  388. package/dist/zcl/definition/index.d.ts.map +0 -1
  389. package/dist/zcl/definition/index.js +0 -52
  390. package/dist/zcl/definition/index.js.map +0 -1
  391. package/dist/zcl/definition/manufacturerCode.d.ts +0 -1078
  392. package/dist/zcl/definition/manufacturerCode.d.ts.map +0 -1
  393. package/dist/zcl/definition/manufacturerCode.js +0 -1083
  394. package/dist/zcl/definition/manufacturerCode.js.map +0 -1
  395. package/dist/zcl/definition/powerSource.d.ts +0 -5
  396. package/dist/zcl/definition/powerSource.d.ts.map +0 -1
  397. package/dist/zcl/definition/powerSource.js +0 -13
  398. package/dist/zcl/definition/powerSource.js.map +0 -1
  399. package/dist/zcl/definition/status.d.ts +0 -39
  400. package/dist/zcl/definition/status.d.ts.map +0 -1
  401. package/dist/zcl/definition/status.js +0 -42
  402. package/dist/zcl/definition/status.js.map +0 -1
  403. package/dist/zcl/definition/tstype.d.ts +0 -17
  404. package/dist/zcl/definition/tstype.d.ts.map +0 -1
  405. package/dist/zcl/definition/tstype.js.map +0 -1
  406. package/dist/zcl/index.d.ts +0 -17
  407. package/dist/zcl/index.d.ts.map +0 -1
  408. package/dist/zcl/index.js +0 -56
  409. package/dist/zcl/index.js.map +0 -1
  410. package/dist/zcl/tstype.d.ts +0 -57
  411. package/dist/zcl/tstype.d.ts.map +0 -1
  412. package/dist/zcl/tstype.js +0 -10
  413. package/dist/zcl/tstype.js.map +0 -1
  414. package/dist/zcl/utils.d.ts +0 -7
  415. package/dist/zcl/utils.d.ts.map +0 -1
  416. package/dist/zcl/utils.js +0 -165
  417. package/dist/zcl/utils.js.map +0 -1
  418. package/dist/zcl/zclFrame.d.ts +0 -41
  419. package/dist/zcl/zclFrame.d.ts.map +0 -1
  420. package/dist/zcl/zclFrame.js +0 -352
  421. package/dist/zcl/zclFrame.js.map +0 -1
  422. package/dist/zcl/zclHeader.d.ts +0 -9
  423. package/dist/zcl/zclHeader.d.ts.map +0 -1
  424. package/dist/zcl/zclHeader.js.map +0 -1
  425. package/dist/zcl/zclStatusError.d.ts +0 -6
  426. package/dist/zcl/zclStatusError.d.ts.map +0 -1
  427. package/dist/zcl/zclStatusError.js +0 -15
  428. package/dist/zcl/zclStatusError.js.map +0 -1
@@ -5,9 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Ezsp = exports.EzspEvents = void 0;
7
7
  /* istanbul ignore file */
8
- const debug_1 = __importDefault(require("debug"));
9
8
  const events_1 = __importDefault(require("events"));
10
- const cluster_1 = __importDefault(require("../../../zcl/definition/cluster"));
9
+ const cluster_1 = require("../../../zspec/zcl/definition/cluster");
11
10
  const math_1 = require("../utils/math");
12
11
  const enums_1 = require("../enums");
13
12
  const zdo_1 = require("../zdo");
@@ -17,7 +16,8 @@ const ash_1 = require("../uart/ash");
17
16
  const buffalo_1 = require("./buffalo");
18
17
  const consts_2 = require("../consts");
19
18
  const endpoints_1 = require("../adapter/endpoints");
20
- const debug = (0, debug_1.default)('zigbee-herdsman:adapter:ember:ezsp');
19
+ const logger_1 = require("../../../utils/logger");
20
+ const NS = 'zh:ember:ezsp';
21
21
  /** no multi-network atm, so just use const */
22
22
  const DEFAULT_NETWORK_INDEX = endpoints_1.FIXED_ENDPOINTS[0].networkIndex;
23
23
  /** other values not supported atm */
@@ -110,8 +110,7 @@ class Ezsp extends events_1.default {
110
110
  this.frameContents = Buffer.alloc(consts_1.EZSP_MAX_FRAME_LENGTH);
111
111
  this.buffalo = new buffalo_1.EzspBuffalo(this.frameContents);
112
112
  this.ash = new ash_1.UartAsh(options);
113
- this.ash.on(ash_1.AshEvents.rxError, this.onAshRxError.bind(this));
114
- this.ash.on(ash_1.AshEvents.frame, this.onAshFrame.bind(this));
113
+ this.ash.on(ash_1.AshEvents.FRAME, this.onAshFrame.bind(this));
115
114
  }
116
115
  /**
117
116
  * Returns the number of EZSP responses that have been received by the serial
@@ -129,7 +128,11 @@ class Ezsp extends events_1.default {
129
128
  return `[FRAME: ID=${id}:"${enums_2.EzspFrameID[id]}" Seq=${this.frameContents[consts_1.EZSP_SEQUENCE_INDEX]} Len=${this.frameLength}]`;
130
129
  }
131
130
  initVariables() {
132
- clearInterval(this.tickHandle);
131
+ if (this.waitingForResponse) {
132
+ clearTimeout(this.responseWaiter.timer);
133
+ }
134
+ clearTimeout(this.tickHandle);
135
+ this.ash.removeAllListeners(ash_1.AshEvents.FATAL_ERROR);
133
136
  this.frameContents.fill(0);
134
137
  this.frameLength = 0;
135
138
  this.buffalo.setPosition(0);
@@ -143,7 +146,7 @@ class Ezsp extends events_1.default {
143
146
  this.tickHandle = null;
144
147
  }
145
148
  async start() {
146
- console.log(`======== EZSP starting ========`);
149
+ logger_1.logger.info(`======== EZSP starting ========`, NS);
147
150
  this.initVariables();
148
151
  let status;
149
152
  for (let i = 0; i < MAX_INIT_ATTEMPTS; i++) {
@@ -154,8 +157,10 @@ class Ezsp extends events_1.default {
154
157
  }
155
158
  status = await this.ash.start();
156
159
  if (status === enums_1.EzspStatus.SUCCESS) {
157
- console.log(`======== EZSP started ========`);
158
- this.registerHandlers();
160
+ logger_1.logger.info(`======== EZSP started ========`, NS);
161
+ // registered after reset sequence to avoid bubbling up to adapter before this point
162
+ this.ash.on(ash_1.AshEvents.FATAL_ERROR, this.onAshFatalError.bind(this));
163
+ this.tick();
159
164
  return status;
160
165
  }
161
166
  }
@@ -167,12 +172,8 @@ class Ezsp extends events_1.default {
167
172
  */
168
173
  async stop() {
169
174
  await this.ash.stop();
170
- if (this.waitingForResponse) {
171
- clearTimeout(this.responseWaiter.timer);
172
- }
173
- clearInterval(this.tickHandle);
174
175
  this.initVariables();
175
- console.log(`======== EZSP stopped ========`);
176
+ logger_1.logger.info(`======== EZSP stopped ========`, NS);
176
177
  }
177
178
  /**
178
179
  * Check if connected.
@@ -183,8 +184,8 @@ class Ezsp extends events_1.default {
183
184
  checkConnection() {
184
185
  return this.ash.connected;
185
186
  }
186
- onAshRxError(status) {
187
- this.ezspErrorHandler(status);
187
+ onAshFatalError(status) {
188
+ this.emit(EzspEvents.ncpNeedsResetAndInit, status);
188
189
  }
189
190
  onAshFrame() {
190
191
  // let tick handle if not waiting for response (CBs)
@@ -208,14 +209,13 @@ class Ezsp extends events_1.default {
208
209
  const lastFrameStr = `Last: ${this.frameToString}.`;
209
210
  if (status === enums_1.EzspStatus.ERROR_QUEUE_FULL) {
210
211
  this.counterErrQueueFull += 1;
211
- console.error(`NCP Queue full (counter: ${this.counterErrQueueFull}). ${lastFrameStr}`);
212
+ logger_1.logger.error(`NCP Queue full (counter: ${this.counterErrQueueFull}). ${lastFrameStr}`, NS);
212
213
  }
213
214
  else if (status === enums_1.EzspStatus.ERROR_OVERFLOW) {
214
- console.error(`The NCP has run out of buffers, causing general malfunction. Remediate network congestion, if present. `
215
- + lastFrameStr);
215
+ logger_1.logger.error(`The NCP has run out of buffers, causing general malfunction. Remediate network congestion, if present. ${lastFrameStr}`, NS);
216
216
  }
217
217
  else {
218
- console.error(`ERROR Transaction failure; status=${enums_1.EzspStatus[status]}. ${lastFrameStr}`);
218
+ logger_1.logger.error(`ERROR Transaction failure; status=${enums_1.EzspStatus[status]}. ${lastFrameStr}`, NS);
219
219
  }
220
220
  // Do not reset if this is a decryption failure, as we ignored the packet
221
221
  // Do not reset for a callback overflow or error queue, as we don't want the device to reboot under stress;
@@ -227,31 +227,25 @@ class Ezsp extends events_1.default {
227
227
  this.emit(EzspEvents.ncpNeedsResetAndInit, status);
228
228
  }
229
229
  }
230
- registerHandlers() {
231
- this.tickHandle = setInterval(this.tick.bind(this), this.tickInterval);
232
- }
233
230
  /**
234
231
  * The Host application must call this function periodically to allow the EZSP layer to handle asynchronous events.
235
232
  */
236
233
  tick() {
237
- if (this.sendingCommand) {
238
- // don't process any callbacks while expecting a command's response
239
- return;
240
- }
234
+ // don't process any callbacks while sending a command and waiting for its response
241
235
  // nothing in the rx queue, nothing to receive
242
- if (this.ash.rxQueue.empty) {
243
- return;
244
- }
245
- if (this.responseReceived() === enums_1.EzspStatus.SUCCESS) {
246
- this.callbackDispatch();
236
+ if (!this.sendingCommand && !this.ash.rxQueue.empty) {
237
+ if (this.responseReceived() === enums_1.EzspStatus.SUCCESS) {
238
+ this.callbackDispatch();
239
+ }
247
240
  }
241
+ this.tickHandle = setTimeout(this.tick.bind(this), this.tickInterval);
248
242
  }
249
243
  nextFrameSequence() {
250
244
  return (this.frameSequence = ((++this.frameSequence) & 0xFF));
251
245
  }
252
246
  startCommand(command) {
253
247
  if (this.sendingCommand) {
254
- console.error(`[SEND COMMAND] Cannot send second one before processing response from first one.`);
248
+ logger_1.logger.error(`[SEND COMMAND] Cannot send second one before processing response from first one.`, NS);
255
249
  throw new Error(enums_1.EzspStatus[enums_1.EzspStatus.ERROR_INVALID_CALL]);
256
250
  }
257
251
  this.sendingCommand = true;
@@ -295,7 +289,7 @@ class Ezsp extends events_1.default {
295
289
  */
296
290
  async sendCommand() {
297
291
  if (!this.checkConnection()) {
298
- debug("[SEND COMMAND] NOT CONNECTED");
292
+ logger_1.logger.debug(`[SEND COMMAND] NOT CONNECTED`, NS);
299
293
  return enums_1.EzspStatus.NOT_CONNECTED;
300
294
  }
301
295
  this.buffalo.setCommandByte(consts_1.EZSP_SEQUENCE_INDEX, this.nextFrameSequence());
@@ -319,7 +313,7 @@ class Ezsp extends events_1.default {
319
313
  }
320
314
  this.frameLength = length;
321
315
  let status;
322
- debug(`===> ${this.frameToString}`);
316
+ logger_1.logger.debug(`===> ${this.frameToString}`, NS);
323
317
  try {
324
318
  status = await (new Promise((resolve, reject) => {
325
319
  const sendStatus = (this.ash.send(this.frameLength, this.frameContents));
@@ -343,7 +337,7 @@ class Ezsp extends events_1.default {
343
337
  }
344
338
  }
345
339
  catch (err) {
346
- debug(`=x=> ${this.frameToString} Error: ${err}`);
340
+ logger_1.logger.debug(`=x=> ${this.frameToString} Error: ${err}`, NS);
347
341
  this.ezspErrorHandler(status);
348
342
  }
349
343
  this.sendingCommand = false;
@@ -366,7 +360,7 @@ class Ezsp extends events_1.default {
366
360
  // While we are waiting for a response to a command, we use the asynch callback flag to ignore asynchronous callbacks.
367
361
  // This allows our caller to assume that no callbacks will appear between sending a command and receiving its response.
368
362
  if (this.waitingForResponse && (buffer.data[consts_1.EZSP_FRAME_CONTROL_INDEX] & consts_1.EZSP_FRAME_CONTROL_ASYNCH_CB)) {
369
- debug(`Skipping async callback while waiting for response to command.`);
363
+ logger_1.logger.debug(`Skipping async callback while waiting for response to command.`, NS);
370
364
  if (this.ash.rxFree.length === 0) {
371
365
  dropBuffer = buffer;
372
366
  }
@@ -376,7 +370,7 @@ class Ezsp extends events_1.default {
376
370
  this.ash.rxQueue.removeEntry(buffer);
377
371
  buffer.data.copy(this.frameContents, 0, 0, buffer.len); // take only what len tells us is actual content
378
372
  this.frameLength = buffer.len;
379
- debug(`<=== ${this.frameToString}`); // raw=${this.frameContents.subarray(0, this.frameLength).toString('hex')}`);
373
+ logger_1.logger.debug(`<=== ${this.frameToString}`, NS);
380
374
  this.ash.rxFree.freeBuffer(buffer);
381
375
  buffer = null;
382
376
  status = enums_1.EzspStatus.SUCCESS;
@@ -386,7 +380,7 @@ class Ezsp extends events_1.default {
386
380
  if (dropBuffer != null) {
387
381
  this.ash.rxQueue.removeEntry(dropBuffer);
388
382
  this.ash.rxFree.freeBuffer(dropBuffer);
389
- debug(`ERROR Host receive queue full. Dropping received callback: ${dropBuffer.data.toString('hex')}`);
383
+ logger_1.logger.debug(`ERROR Host receive queue full. Dropping received callback: ${dropBuffer.data.toString('hex')}`, NS);
390
384
  this.ezspErrorHandler(enums_1.EzspStatus.ERROR_QUEUE_FULL);
391
385
  }
392
386
  return status;
@@ -427,7 +421,7 @@ class Ezsp extends events_1.default {
427
421
  //this.callbackNetworkIndex = (frameControl & EZSP_FRAME_CONTROL_NETWORK_INDEX_MASK) >> EZSP_FRAME_CONTROL_NETWORK_INDEX_OFFSET;
428
422
  }
429
423
  if (status !== enums_1.EzspStatus.SUCCESS) {
430
- debug(`[RESPONSE RECEIVED] ERROR ${enums_1.EzspStatus[status]}`);
424
+ logger_1.logger.debug(`[RESPONSE RECEIVED] ERROR ${enums_1.EzspStatus[status]}`, NS);
431
425
  this.ezspErrorHandler(status);
432
426
  }
433
427
  this.buffalo.setPosition(parametersIndex);
@@ -465,7 +459,7 @@ class Ezsp extends events_1.default {
465
459
  }
466
460
  case enums_2.EzspFrameID.CUSTOM_FRAME_HANDLER: {
467
461
  const payloadLength = this.buffalo.readUInt8();
468
- const payload = this.buffalo.readListUInt8({ length: payloadLength });
462
+ const payload = this.buffalo.readListUInt8(payloadLength);
469
463
  this.ezspCustomFrameHandler(payloadLength, payload);
470
464
  break;
471
465
  }
@@ -476,14 +470,14 @@ class Ezsp extends events_1.default {
476
470
  }
477
471
  case enums_2.EzspFrameID.ENERGY_SCAN_RESULT_HANDLER: {
478
472
  const channel = this.buffalo.readUInt8();
479
- const maxRssiValue = this.buffalo.readUInt8();
473
+ const maxRssiValue = this.buffalo.readInt8();
480
474
  this.ezspEnergyScanResultHandler(channel, maxRssiValue);
481
475
  break;
482
476
  }
483
477
  case enums_2.EzspFrameID.NETWORK_FOUND_HANDLER: {
484
478
  const networkFound = this.buffalo.readEmberZigbeeNetwork();
485
479
  const lastHopLqi = this.buffalo.readUInt8();
486
- const lastHopRssi = this.buffalo.readUInt8();
480
+ const lastHopRssi = this.buffalo.readInt8();
487
481
  this.ezspNetworkFoundHandler(networkFound, lastHopLqi, lastHopRssi);
488
482
  break;
489
483
  }
@@ -560,7 +554,7 @@ class Ezsp extends events_1.default {
560
554
  const type = this.buffalo.readUInt8();
561
555
  const apsFrame = this.buffalo.readEmberApsFrame();
562
556
  const lastHopLqi = this.buffalo.readUInt8();
563
- const lastHopRssi = this.buffalo.readUInt8();
557
+ const lastHopRssi = this.buffalo.readInt8();
564
558
  const sender = this.buffalo.readUInt16();
565
559
  const bindingIndex = this.buffalo.readUInt8();
566
560
  const addressIndex = this.buffalo.readUInt8();
@@ -591,9 +585,9 @@ class Ezsp extends events_1.default {
591
585
  const source = this.buffalo.readUInt16();
592
586
  const sourceEui = this.buffalo.readIeeeAddr();
593
587
  const lastHopLqi = this.buffalo.readUInt8();
594
- const lastHopRssi = this.buffalo.readUInt8();
588
+ const lastHopRssi = this.buffalo.readInt8();
595
589
  const relayCount = this.buffalo.readUInt8();
596
- const relayList = this.buffalo.readListUInt16({ length: relayCount }); //this.buffalo.readListUInt8({length: (relayCount * 2)});
590
+ const relayList = this.buffalo.readListUInt16(relayCount); //this.buffalo.readListUInt8(relayCount * 2);
597
591
  this.ezspIncomingRouteRecordHandler(source, sourceEui, lastHopLqi, lastHopRssi, relayCount, relayList);
598
592
  break;
599
593
  }
@@ -605,7 +599,7 @@ class Ezsp extends events_1.default {
605
599
  case enums_2.EzspFrameID.MAC_PASSTHROUGH_MESSAGE_HANDLER: {
606
600
  const messageType = this.buffalo.readUInt8();
607
601
  const lastHopLqi = this.buffalo.readUInt8();
608
- const lastHopRssi = this.buffalo.readUInt8();
602
+ const lastHopRssi = this.buffalo.readInt8();
609
603
  const messageContents = this.buffalo.readPayload();
610
604
  this.ezspMacPassthroughMessageHandler(messageType, lastHopLqi, lastHopRssi, messageContents);
611
605
  break;
@@ -614,7 +608,7 @@ class Ezsp extends events_1.default {
614
608
  const filterIndexMatch = this.buffalo.readUInt8();
615
609
  const legacyPassthroughType = this.buffalo.readUInt8();
616
610
  const lastHopLqi = this.buffalo.readUInt8();
617
- const lastHopRssi = this.buffalo.readUInt8();
611
+ const lastHopRssi = this.buffalo.readInt8();
618
612
  const messageContents = this.buffalo.readPayload();
619
613
  this.ezspMacFilterMatchMessageHandler(filterIndexMatch, legacyPassthroughType, lastHopLqi, lastHopRssi, messageContents);
620
614
  break;
@@ -683,16 +677,16 @@ class Ezsp extends events_1.default {
683
677
  }
684
678
  case enums_2.EzspFrameID.MFGLIB_RX_HANDLER: {
685
679
  const linkQuality = this.buffalo.readUInt8();
686
- const rssi = this.buffalo.readUInt8();
680
+ const rssi = this.buffalo.readInt8();
687
681
  const packetLength = this.buffalo.readUInt8();
688
- const packetContents = this.buffalo.readListUInt8({ length: packetLength });
682
+ const packetContents = this.buffalo.readListUInt8(packetLength);
689
683
  this.ezspMfglibRxHandler(linkQuality, rssi, packetLength, packetContents);
690
684
  break;
691
685
  }
692
686
  case enums_2.EzspFrameID.INCOMING_BOOTLOAD_MESSAGE_HANDLER: {
693
687
  const longId = this.buffalo.readIeeeAddr();
694
688
  const lastHopLqi = this.buffalo.readUInt8();
695
- const lastHopRssi = this.buffalo.readUInt8();
689
+ const lastHopRssi = this.buffalo.readInt8();
696
690
  const messageContents = this.buffalo.readPayload();
697
691
  this.ezspIncomingBootloadMessageHandler(longId, lastHopLqi, lastHopRssi, messageContents);
698
692
  break;
@@ -708,7 +702,7 @@ class Ezsp extends events_1.default {
708
702
  const isDeviceInfoNull = this.buffalo.readUInt8() === 1 ? true : false;
709
703
  const deviceInfo = this.buffalo.readEmberZllDeviceInfoRecord();
710
704
  const lastHopLqi = this.buffalo.readUInt8();
711
- const lastHopRssi = this.buffalo.readUInt8();
705
+ const lastHopRssi = this.buffalo.readInt8();
712
706
  this.ezspZllNetworkFoundHandler(networkInfo, isDeviceInfoNull, deviceInfo, lastHopLqi, lastHopRssi);
713
707
  break;
714
708
  }
@@ -720,7 +714,7 @@ class Ezsp extends events_1.default {
720
714
  case enums_2.EzspFrameID.ZLL_ADDRESS_ASSIGNMENT_HANDLER: {
721
715
  const addressInfo = this.buffalo.readEmberZllAddressAssignment();
722
716
  const lastHopLqi = this.buffalo.readUInt8();
723
- const lastHopRssi = this.buffalo.readUInt8();
717
+ const lastHopRssi = this.buffalo.readInt8();
724
718
  this.ezspZllAddressAssignmentHandler(addressInfo, lastHopLqi, lastHopRssi);
725
719
  break;
726
720
  }
@@ -813,7 +807,7 @@ class Ezsp extends events_1.default {
813
807
  }
814
808
  apsFrame.sequence = apsSequence;
815
809
  // NOTE: match `~~~>` from adapter since this is just a wrapper for it
816
- debug(`~~~> [SENT type=${enums_1.EmberOutgoingMessageType[type]} apsSequence=${apsSequence} messageTag=${messageTag} status=${enums_1.EmberStatus[status]}]`);
810
+ logger_1.logger.debug(`~~~> [SENT type=${enums_1.EmberOutgoingMessageType[type]} apsSequence=${apsSequence} messageTag=${messageTag} status=${enums_1.EmberStatus[status]}]`, NS);
817
811
  return [status, messageTag];
818
812
  }
819
813
  /**
@@ -1040,7 +1034,7 @@ class Ezsp extends events_1.default {
1040
1034
  if (readLength > maxReadLength) {
1041
1035
  throw enums_1.EzspStatus.ERROR_INVALID_VALUE;
1042
1036
  }
1043
- const data = this.buffalo.readListUInt8({ length: readLength });
1037
+ const data = this.buffalo.readListUInt8(readLength);
1044
1038
  return [status, dataType, readLength, data];
1045
1039
  }
1046
1040
  /**
@@ -1188,7 +1182,7 @@ class Ezsp extends events_1.default {
1188
1182
  if (valueLength > maxValueLength) {
1189
1183
  throw enums_1.EzspStatus.ERROR_INVALID_VALUE;
1190
1184
  }
1191
- const value = this.buffalo.readListUInt8({ length: valueLength });
1185
+ const value = this.buffalo.readListUInt8(valueLength);
1192
1186
  return [status, valueLength, value];
1193
1187
  }
1194
1188
  /**
@@ -1220,7 +1214,7 @@ class Ezsp extends events_1.default {
1220
1214
  if (valueLength > maxValueLength) {
1221
1215
  throw enums_1.EzspStatus.ERROR_INVALID_VALUE;
1222
1216
  }
1223
- const value = this.buffalo.readListUInt8({ length: valueLength });
1217
+ const value = this.buffalo.readListUInt8(valueLength);
1224
1218
  return [status, valueLength, value];
1225
1219
  }
1226
1220
  /**
@@ -1315,7 +1309,7 @@ class Ezsp extends events_1.default {
1315
1309
  * Indicates that there are currently no pending callbacks.
1316
1310
  */
1317
1311
  ezspNoCallbacks() {
1318
- debug(`ezspNoCallbacks(): callback called`);
1312
+ logger_1.logger.debug(`ezspNoCallbacks(): callback called`, NS);
1319
1313
  }
1320
1314
  /**
1321
1315
  * Sets a token (8 bytes of non-volatile storage) in the Simulated EEPROM of the NCP.
@@ -1349,7 +1343,7 @@ class Ezsp extends events_1.default {
1349
1343
  throw new Error(enums_1.EzspStatus[sendStatus]);
1350
1344
  }
1351
1345
  const status = this.buffalo.readUInt8();
1352
- const tokenData = this.buffalo.readListUInt8({ length: 8 });
1346
+ const tokenData = this.buffalo.readListUInt8(8);
1353
1347
  return [status, tokenData];
1354
1348
  }
1355
1349
  /**
@@ -1407,7 +1401,7 @@ class Ezsp extends events_1.default {
1407
1401
  if (tokenDataLength != expectedTokenDataLength) {
1408
1402
  throw enums_1.EzspStatus.ERROR_INVALID_VALUE;
1409
1403
  }
1410
- const tokenData = this.buffalo.readListUInt8({ length: tokenDataLength });
1404
+ const tokenData = this.buffalo.readListUInt8(tokenDataLength);
1411
1405
  return [tokenDataLength, tokenData];
1412
1406
  }
1413
1407
  /**
@@ -1436,7 +1430,7 @@ class Ezsp extends events_1.default {
1436
1430
  * @param tokenAddress uint16_t The address of the stack token that has changed.
1437
1431
  */
1438
1432
  ezspStackTokenChangedHandler(tokenAddress) {
1439
- debug(`ezspStackTokenChangedHandler(): callback called with: [tokenAddress=${tokenAddress}]`);
1433
+ logger_1.logger.debug(`ezspStackTokenChangedHandler(): callback called with: [tokenAddress=${tokenAddress}]`, NS);
1440
1434
  }
1441
1435
  /**
1442
1436
  * Returns a pseudorandom number.
@@ -1506,7 +1500,7 @@ class Ezsp extends events_1.default {
1506
1500
  * @param timerId uint8_t Which timer generated the callback (0 or 1).
1507
1501
  */
1508
1502
  ezspTimerHandler(timerId) {
1509
- debug(`ezspTimerHandler(): callback called with: [timerId=${timerId}]`);
1503
+ logger_1.logger.debug(`ezspTimerHandler(): callback called with: [timerId=${timerId}]`, NS);
1510
1504
  }
1511
1505
  /**
1512
1506
  * Sends a debug message from the Host to the Network Analyzer utility via the NCP.
@@ -1535,7 +1529,7 @@ class Ezsp extends events_1.default {
1535
1529
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
1536
1530
  throw new Error(enums_1.EzspStatus[sendStatus]);
1537
1531
  }
1538
- const values = this.buffalo.readListUInt16({ length: enums_1.EmberCounterType.COUNT });
1532
+ const values = this.buffalo.readListUInt16(enums_1.EmberCounterType.COUNT);
1539
1533
  return values;
1540
1534
  }
1541
1535
  /**
@@ -1548,7 +1542,7 @@ class Ezsp extends events_1.default {
1548
1542
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
1549
1543
  throw new Error(enums_1.EzspStatus[sendStatus]);
1550
1544
  }
1551
- const values = this.buffalo.readListUInt16({ length: enums_1.EmberCounterType.COUNT });
1545
+ const values = this.buffalo.readListUInt16(enums_1.EmberCounterType.COUNT);
1552
1546
  return values;
1553
1547
  }
1554
1548
  /**
@@ -1557,7 +1551,8 @@ class Ezsp extends events_1.default {
1557
1551
  * @param type Type of Counter
1558
1552
  */
1559
1553
  ezspCounterRolloverHandler(type) {
1560
- debug(`ezspCounterRolloverHandler(): callback called with: [type=${enums_1.EmberCounterType[type]}]`);
1554
+ logger_1.logger.debug(`ezspCounterRolloverHandler(): callback called with: [type=${enums_1.EmberCounterType[type]}]`, NS);
1555
+ logger_1.logger.info(`NCP Counter ${enums_1.EmberCounterType[type]} rolled over.`, NS);
1561
1556
  }
1562
1557
  /**
1563
1558
  * Used to test that UART flow control is working correctly.
@@ -1639,7 +1634,7 @@ class Ezsp extends events_1.default {
1639
1634
  * @param payload uint8_t * The payload of the custom frame.
1640
1635
  */
1641
1636
  ezspCustomFrameHandler(payloadLength, payload) {
1642
- debug(`ezspCustomFrameHandler(): callback called with: [payloadLength=${payloadLength}], [payload=${payload}]`);
1637
+ logger_1.logger.debug(`ezspCustomFrameHandler(): callback called with: [payloadLength=${payloadLength}], [payload=${payload}]`, NS);
1643
1638
  }
1644
1639
  /**
1645
1640
  * Returns the EUI64 ID of the local node.
@@ -1767,7 +1762,7 @@ class Ezsp extends events_1.default {
1767
1762
  * @param status Stack status
1768
1763
  */
1769
1764
  ezspStackStatusHandler(status) {
1770
- debug(`ezspStackStatusHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`);
1765
+ logger_1.logger.debug(`ezspStackStatusHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
1771
1766
  this.emit(EzspEvents.STACK_STATUS, status);
1772
1767
  }
1773
1768
  /**
@@ -1809,8 +1804,8 @@ class Ezsp extends events_1.default {
1809
1804
  * @param maxRssiValue int8_t The maximum RSSI value found on the channel.
1810
1805
  */
1811
1806
  ezspEnergyScanResultHandler(channel, maxRssiValue) {
1812
- debug(`ezspEnergyScanResultHandler(): callback called with: [channel=${channel}], [maxRssiValue=${maxRssiValue}]`);
1813
- console.log(`Energy scan for channel ${channel} reports max RSSI value at ${maxRssiValue}.`);
1807
+ logger_1.logger.debug(`ezspEnergyScanResultHandler(): callback called with: [channel=${channel}], [maxRssiValue=${maxRssiValue}]`, NS);
1808
+ logger_1.logger.info(`Energy scan for channel ${channel} reports max RSSI value at ${maxRssiValue} dBm.`, NS);
1814
1809
  }
1815
1810
  /**
1816
1811
  * Callback
@@ -1821,8 +1816,8 @@ class Ezsp extends events_1.default {
1821
1816
  * @param lastHopRssi int8_t The energy level (in units of dBm) observed during the reception.
1822
1817
  */
1823
1818
  ezspNetworkFoundHandler(networkFound, lastHopLqi, lastHopRssi) {
1824
- debug(`ezspNetworkFoundHandler(): callback called with: [networkFound=${networkFound}], `
1825
- + `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}]`);
1819
+ logger_1.logger.debug(`ezspNetworkFoundHandler(): callback called with: [networkFound=${JSON.stringify(networkFound)}], `
1820
+ + `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}]`, NS);
1826
1821
  }
1827
1822
  /**
1828
1823
  * Callback
@@ -1833,7 +1828,7 @@ class Ezsp extends events_1.default {
1833
1828
  * error conditions signify a failure to scan on the channel specified.
1834
1829
  */
1835
1830
  ezspScanCompleteHandler(channel, status) {
1836
- debug(`ezspScanCompleteHandler(): callback called with: [channel=${channel}], [status=${enums_1.EmberStatus[status]}]`);
1831
+ logger_1.logger.debug(`ezspScanCompleteHandler(): callback called with: [channel=${channel}], [status=${enums_1.EmberStatus[status]}]`, NS);
1837
1832
  }
1838
1833
  /**
1839
1834
  * Callback
@@ -1843,7 +1838,7 @@ class Ezsp extends events_1.default {
1843
1838
  * @param channel uint8_t The channel that the unused panID was found on.
1844
1839
  */
1845
1840
  ezspUnusedPanIdFoundHandler(panId, channel) {
1846
- debug(`ezspUnusedPanIdFoundHandler(): callback called with: [panId=${panId}], [channel=${channel}]`);
1841
+ logger_1.logger.debug(`ezspUnusedPanIdFoundHandler(): callback called with: [panId=${panId}], [channel=${channel}]`, NS);
1847
1842
  }
1848
1843
  /**
1849
1844
  * This function starts a series of scans which will return an available panId.
@@ -1933,7 +1928,7 @@ class Ezsp extends events_1.default {
1933
1928
  this.startCommand(enums_2.EzspFrameID.JOIN_NETWORK_DIRECTLY);
1934
1929
  this.buffalo.writeUInt8(localNodeType);
1935
1930
  this.buffalo.writeEmberBeaconData(beacon);
1936
- this.buffalo.writeUInt8(radioTxPower);
1931
+ this.buffalo.writeInt8(radioTxPower);
1937
1932
  this.buffalo.writeUInt8(clearBeaconsAfterNetworkUp ? 1 : 0);
1938
1933
  const sendStatus = await this.sendCommand();
1939
1934
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
@@ -2014,8 +2009,8 @@ class Ezsp extends events_1.default {
2014
2009
  * @param childType The node type of the child.
2015
2010
  */
2016
2011
  ezspChildJoinHandler(index, joining, childId, childEui64, childType) {
2017
- debug(`ezspChildJoinHandler(): callback called with: [index=${index}], [joining=${joining}], `
2018
- + `[childId=${childId}], [childEui64=${childEui64}], [childType=${childType}]`);
2012
+ logger_1.logger.debug(`ezspChildJoinHandler(): callback called with: [index=${index}], [joining=${joining}], `
2013
+ + `[childId=${childId}], [childEui64=${childEui64}], [childType=${childType}]`, NS);
2019
2014
  }
2020
2015
  /**
2021
2016
  * Sends a ZDO energy scan request. This request may only be sent by the current
@@ -2340,7 +2335,7 @@ class Ezsp extends events_1.default {
2340
2335
  */
2341
2336
  async ezspSetRadioPower(power) {
2342
2337
  this.startCommand(enums_2.EzspFrameID.SET_RADIO_POWER);
2343
- this.buffalo.writeUInt8(power);
2338
+ this.buffalo.writeInt8(power);
2344
2339
  const sendStatus = await this.sendCommand();
2345
2340
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
2346
2341
  throw new Error(enums_1.EzspStatus[sendStatus]);
@@ -2460,7 +2455,7 @@ class Ezsp extends events_1.default {
2460
2455
  this.buffalo.writeUInt8(phyIndex);
2461
2456
  this.buffalo.writeUInt8(page);
2462
2457
  this.buffalo.writeUInt8(channel);
2463
- this.buffalo.writeUInt8(power);
2458
+ this.buffalo.writeInt8(power);
2464
2459
  this.buffalo.writeUInt8(bitmask);
2465
2460
  const sendStatus = await this.sendCommand();
2466
2461
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
@@ -2500,7 +2495,7 @@ class Ezsp extends events_1.default {
2500
2495
  async ezspMultiPhySetRadioPower(phyIndex, power) {
2501
2496
  this.startCommand(enums_2.EzspFrameID.MULTI_PHY_SET_RADIO_POWER);
2502
2497
  this.buffalo.writeUInt8(phyIndex);
2503
- this.buffalo.writeUInt8(power);
2498
+ this.buffalo.writeInt8(power);
2504
2499
  const sendStatus = await this.sendCommand();
2505
2500
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
2506
2501
  throw new Error(enums_1.EzspStatus[sendStatus]);
@@ -2616,7 +2611,7 @@ class Ezsp extends events_1.default {
2616
2611
  throw new Error(enums_1.EzspStatus[sendStatus]);
2617
2612
  }
2618
2613
  const status = this.buffalo.readUInt8();
2619
- const arrayOfDeviceDutyCycles = this.buffalo.readListUInt8({ length: 134 });
2614
+ const arrayOfDeviceDutyCycles = this.buffalo.readListUInt8(134);
2620
2615
  return [status, arrayOfDeviceDutyCycles];
2621
2616
  }
2622
2617
  /**
@@ -2630,8 +2625,8 @@ class Ezsp extends events_1.default {
2630
2625
  * The first entry always be the local stack's nodeId, and thus the total aggregate duty cycle for the device.
2631
2626
  */
2632
2627
  ezspDutyCycleHandler(channelPage, channel, state, totalDevices, arrayOfDeviceDutyCycles) {
2633
- debug(`ezspDutyCycleHandler(): callback called with: [channelPage=${channelPage}], [channel=${channel}], `
2634
- + `[state=${state}], [totalDevices=${totalDevices}], [arrayOfDeviceDutyCycles=${arrayOfDeviceDutyCycles}]`);
2628
+ logger_1.logger.debug(`ezspDutyCycleHandler(): callback called with: [channelPage=${channelPage}], [channel=${channel}], `
2629
+ + `[state=${state}], [totalDevices=${totalDevices}], [arrayOfDeviceDutyCycles=${arrayOfDeviceDutyCycles}]`, NS);
2635
2630
  }
2636
2631
  /**
2637
2632
  * Returns the first beacon in the cache. Beacons are stored in cache after
@@ -2842,8 +2837,8 @@ class Ezsp extends events_1.default {
2842
2837
  * @param policyDecision EMBER_SUCCESS if the binding was added to the table and any other status if not.
2843
2838
  */
2844
2839
  ezspRemoteSetBindingHandler(entry, index, policyDecision) {
2845
- debug(`ezspRemoteSetBindingHandler(): callback called with: [entry=${entry}], [index=${index}], `
2846
- + `[policyDecision=${enums_1.EmberStatus[policyDecision]}]`);
2840
+ logger_1.logger.debug(`ezspRemoteSetBindingHandler(): callback called with: [entry=${entry}], [index=${index}], `
2841
+ + `[policyDecision=${enums_1.EmberStatus[policyDecision]}]`, NS);
2847
2842
  }
2848
2843
  /**
2849
2844
  * Callback
@@ -2855,7 +2850,7 @@ class Ezsp extends events_1.default {
2855
2850
  * @param policyDecision EMBER_SUCCESS if the binding was removed from the table and any other status if not.
2856
2851
  */
2857
2852
  ezspRemoteDeleteBindingHandler(index, policyDecision) {
2858
- debug(`ezspRemoteDeleteBindingHandler(): callback called with: [index=${index}], [policyDecision=${enums_1.EmberStatus[policyDecision]}]`);
2853
+ logger_1.logger.debug(`ezspRemoteDeleteBindingHandler(): callback called with: [index=${index}], [policyDecision=${enums_1.EmberStatus[policyDecision]}]`, NS);
2859
2854
  }
2860
2855
  //-----------------------------------------------------------------------------
2861
2856
  // Messaging Frames
@@ -3096,9 +3091,9 @@ class Ezsp extends events_1.default {
3096
3091
  * for the messageContentsInCallback policy is messageTagAndContentsInCallback.
3097
3092
  */
3098
3093
  ezspMessageSentHandler(type, indexOrDestination, apsFrame, messageTag, status, messageContents) {
3099
- debug(`ezspMessageSentHandler(): callback called with: [type=${enums_1.EmberOutgoingMessageType[type]}], [indexOrDestination=${indexOrDestination}], `
3094
+ logger_1.logger.debug(`ezspMessageSentHandler(): callback called with: [type=${enums_1.EmberOutgoingMessageType[type]}], [indexOrDestination=${indexOrDestination}], `
3100
3095
  + `[apsFrame=${JSON.stringify(apsFrame)}], [messageTag=${messageTag}], [status=${enums_1.EmberStatus[status]}], `
3101
- + `[messageContents=${messageContents.toString('hex')}]`);
3096
+ + `[messageContents=${messageContents.toString('hex')}]`, NS);
3102
3097
  if (status === enums_1.EmberStatus.DELIVERY_FAILED) {
3103
3098
  // no ACK was received from the destination
3104
3099
  this.emit(EzspEvents.MESSAGE_SENT_DELIVERY_FAILED, type, indexOrDestination, apsFrame, messageTag);
@@ -3185,7 +3180,7 @@ class Ezsp extends events_1.default {
3185
3180
  * - EMBER_MAC_NO_ACK_RECEIVED - The poll message was sent but not acknowledged by the parent.
3186
3181
  */
3187
3182
  ezspPollCompleteHandler(status) {
3188
- debug(`ezspPollCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`);
3183
+ logger_1.logger.debug(`ezspPollCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
3189
3184
  }
3190
3185
  /**
3191
3186
  * Callback
@@ -3194,7 +3189,7 @@ class Ezsp extends events_1.default {
3194
3189
  * @param transmitExpected True if transmit is expected, false otherwise.
3195
3190
  */
3196
3191
  ezspPollHandler(childId, transmitExpected) {
3197
- debug(`ezspPollHandler(): callback called with: [childId=${childId}], [transmitExpected=${transmitExpected}]`);
3192
+ logger_1.logger.debug(`ezspPollHandler(): callback called with: [childId=${childId}], [transmitExpected=${transmitExpected}]`, NS);
3198
3193
  }
3199
3194
  /**
3200
3195
  * Callback
@@ -3205,7 +3200,7 @@ class Ezsp extends events_1.default {
3205
3200
  * @param senderEui64 The EUI64 of the sender
3206
3201
  */
3207
3202
  ezspIncomingSenderEui64Handler(senderEui64) {
3208
- debug(`ezspIncomingSenderEui64Handler(): callback called with: [senderEui64=${senderEui64}]`);
3203
+ logger_1.logger.debug(`ezspIncomingSenderEui64Handler(): callback called with: [senderEui64=${senderEui64}]`, NS);
3209
3204
  }
3210
3205
  /**
3211
3206
  * Callback
@@ -3222,17 +3217,16 @@ class Ezsp extends events_1.default {
3222
3217
  * @param messageContents uint8_t * The incoming message.
3223
3218
  */
3224
3219
  ezspIncomingMessageHandler(type, apsFrame, lastHopLqi, lastHopRssi, sender, bindingIndex, addressIndex, messageContents) {
3225
- debug(`ezspIncomingMessageHandler(): callback called with: [type=${enums_1.EmberIncomingMessageType[type]}], [apsFrame=${JSON.stringify(apsFrame)}], `
3220
+ logger_1.logger.debug(`ezspIncomingMessageHandler(): callback called with: [type=${enums_1.EmberIncomingMessageType[type]}], [apsFrame=${JSON.stringify(apsFrame)}], `
3226
3221
  + `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}], [sender=${sender}], [bindingIndex=${bindingIndex}], `
3227
- + `[addressIndex=${addressIndex}], [messageContents=${messageContents.toString('hex')}]`);
3228
- // from protocol\zigbee\app\util\zigbee-framework\zigbee-device-host.h
3222
+ + `[addressIndex=${addressIndex}], [messageContents=${messageContents.toString('hex')}]`, NS);
3229
3223
  if (apsFrame.profileId === zdo_1.ZDO_PROFILE_ID) {
3230
3224
  const zdoBuffalo = new buffalo_1.EzspBuffalo(messageContents, zdo_1.ZDO_MESSAGE_OVERHEAD); // set pos to skip `transaction sequence number`
3231
3225
  switch (apsFrame.clusterId) {
3232
3226
  case zdo_1.IEEE_ADDRESS_RESPONSE: {
3233
3227
  const status = zdoBuffalo.readUInt8();
3234
3228
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3235
- debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE status=${status}]`);
3229
+ logger_1.logger.debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3236
3230
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3237
3231
  }
3238
3232
  else {
@@ -3256,11 +3250,11 @@ class Ezsp extends events_1.default {
3256
3250
  if (zdoBuffalo.isMore()) {
3257
3251
  assocDevCount = zdoBuffalo.readUInt8();
3258
3252
  startIndex = zdoBuffalo.readUInt8();
3259
- assocDevList = zdoBuffalo.readListUInt16({ length: assocDevCount });
3253
+ assocDevList = zdoBuffalo.readListUInt16(assocDevCount);
3260
3254
  }
3261
- debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE status=${status} eui64=${eui64} nodeId=${nodeId} startIndex=${startIndex} `
3262
- + `assocDevList=${assocDevList}]`);
3263
- debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE] Support not implemented upstream`);
3255
+ logger_1.logger.debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE status=${zdo_1.EmberZdoStatus[status]} eui64=${eui64} nodeId=${nodeId} `
3256
+ + `startIndex=${startIndex} assocDevList=${assocDevList}]`, NS);
3257
+ logger_1.logger.debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE] Support not implemented upstream`, NS);
3264
3258
  const payload = { eui64, nodeId, assocDevList };
3265
3259
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
3266
3260
  }
@@ -3269,7 +3263,7 @@ class Ezsp extends events_1.default {
3269
3263
  case zdo_1.NETWORK_ADDRESS_RESPONSE: {
3270
3264
  const status = zdoBuffalo.readUInt8();
3271
3265
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3272
- debug(`<=== [ZDO NETWORK_ADDRESS_RESPONSE status=${status}]`);
3266
+ logger_1.logger.debug(`<=== [ZDO NETWORK_ADDRESS_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3273
3267
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3274
3268
  }
3275
3269
  else {
@@ -3293,10 +3287,10 @@ class Ezsp extends events_1.default {
3293
3287
  if (zdoBuffalo.isMore()) {
3294
3288
  assocDevCount = zdoBuffalo.readUInt8();
3295
3289
  startIndex = zdoBuffalo.readUInt8();
3296
- assocDevList = zdoBuffalo.readListUInt16({ length: assocDevCount });
3290
+ assocDevList = zdoBuffalo.readListUInt16(assocDevCount);
3297
3291
  }
3298
- debug(`<=== [ZDO NETWORK_ADDRESS_RESPONSE status=${status} eui64=${eui64} nodeId=${nodeId} startIndex=${startIndex} `
3299
- + `assocDevList=${assocDevList}]`);
3292
+ logger_1.logger.debug(`<=== [ZDO NETWORK_ADDRESS_RESPONSE status=${zdo_1.EmberZdoStatus[status]} eui64=${eui64} nodeId=${nodeId} `
3293
+ + `startIndex=${startIndex} assocDevList=${assocDevList}]`, NS);
3300
3294
  const payload = { eui64, nodeId, assocDevList };
3301
3295
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
3302
3296
  }
@@ -3305,15 +3299,15 @@ class Ezsp extends events_1.default {
3305
3299
  case zdo_1.MATCH_DESCRIPTORS_RESPONSE: {
3306
3300
  const status = zdoBuffalo.readUInt8();
3307
3301
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3308
- debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE status=${status}]`);
3302
+ logger_1.logger.debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3309
3303
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3310
3304
  }
3311
3305
  else {
3312
3306
  const nodeId = zdoBuffalo.readUInt16();
3313
3307
  const endpointCount = zdoBuffalo.readUInt8();
3314
- const endpointList = zdoBuffalo.readListUInt8({ length: endpointCount });
3315
- debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE status=${status} nodeId=${nodeId} endpointList=${endpointList}]`);
3316
- debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE] Support not implemented upstream`);
3308
+ const endpointList = zdoBuffalo.readListUInt8(endpointCount);
3309
+ logger_1.logger.debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} endpointList=${endpointList}]`, NS);
3310
+ logger_1.logger.debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE] Support not implemented upstream`, NS);
3317
3311
  const payload = { nodeId, endpointList };
3318
3312
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
3319
3313
  }
@@ -3322,7 +3316,7 @@ class Ezsp extends events_1.default {
3322
3316
  case zdo_1.SIMPLE_DESCRIPTOR_RESPONSE: {
3323
3317
  const status = zdoBuffalo.readUInt8();
3324
3318
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3325
- debug(`<=== [ZDO SIMPLE_DESCRIPTOR_RESPONSE status=${status}]`);
3319
+ logger_1.logger.debug(`<=== [ZDO SIMPLE_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3326
3320
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3327
3321
  }
3328
3322
  else {
@@ -3335,11 +3329,12 @@ class Ezsp extends events_1.default {
3335
3329
  // values 0000-1111, others reserved
3336
3330
  const deviceVersion = zdoBuffalo.readUInt8();
3337
3331
  const inClusterCount = zdoBuffalo.readUInt8();
3338
- const inClusterList = zdoBuffalo.readListUInt16({ length: inClusterCount });
3332
+ const inClusterList = zdoBuffalo.readListUInt16(inClusterCount);
3339
3333
  const outClusterCount = zdoBuffalo.readUInt8();
3340
- const outClusterList = zdoBuffalo.readListUInt16({ length: outClusterCount });
3341
- debug(`<=== [ZDO SIMPLE_DESCRIPTOR_RESPONSE status=${status} nodeId=${nodeId} endpoint=${endpoint} profileId=${profileId} `
3342
- + `deviceId=${deviceId} deviceVersion=${deviceVersion} inClusterList=${inClusterList} outClusterList=${outClusterList}]`);
3334
+ const outClusterList = zdoBuffalo.readListUInt16(outClusterCount);
3335
+ logger_1.logger.debug(`<=== [ZDO SIMPLE_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} endpoint=${endpoint} `
3336
+ + `profileId=${profileId} deviceId=${deviceId} deviceVersion=${deviceVersion} inClusterList=${inClusterList} `
3337
+ + `outClusterList=${outClusterList}]`, NS);
3343
3338
  const payload = {
3344
3339
  nodeId,
3345
3340
  endpoint,
@@ -3355,7 +3350,7 @@ class Ezsp extends events_1.default {
3355
3350
  case zdo_1.NODE_DESCRIPTOR_RESPONSE: {
3356
3351
  const status = zdoBuffalo.readUInt8();
3357
3352
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3358
- debug(`<=== [ZDO NODE_DESCRIPTOR_RESPONSE status=${status}]`);
3353
+ logger_1.logger.debug(`<=== [ZDO NODE_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3359
3354
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3360
3355
  }
3361
3356
  else {
@@ -3410,9 +3405,9 @@ class Ezsp extends events_1.default {
3410
3405
  // in bits: [extended active endpoint list available: 1] [extended simple descriptor list available: 1] [reserved: 6]
3411
3406
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
3412
3407
  const descCapFlags = zdoBuffalo.readUInt8();
3413
- debug(`<=== [ZDO NODE_DESCRIPTOR_RESPONSE status=${status} nodeId=${nodeId} logicalType=${logicalType} `
3408
+ logger_1.logger.debug(`<=== [ZDO NODE_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} logicalType=${logicalType} `
3414
3409
  + `freqBand=${freqBand} macCapFlags=${(0, math_1.byteToBits)(macCapFlags)} manufacturerCode=${manufacturerCode} maxBufSize=${maxBufSize} `
3415
- + `maxIncTxSize=${maxIncTxSize} stackRevision=${stackRevision} maxOutTxSize=${maxOutTxSize}]`);
3410
+ + `maxIncTxSize=${maxIncTxSize} stackRevision=${stackRevision} maxOutTxSize=${maxOutTxSize}]`, NS);
3416
3411
  const payload = {
3417
3412
  nodeId,
3418
3413
  logicalType,
@@ -3427,7 +3422,7 @@ class Ezsp extends events_1.default {
3427
3422
  case zdo_1.POWER_DESCRIPTOR_RESPONSE: {
3428
3423
  const status = zdoBuffalo.readUInt8();
3429
3424
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3430
- debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE status=${status}]`);
3425
+ logger_1.logger.debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3431
3426
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3432
3427
  }
3433
3428
  else {
@@ -3451,10 +3446,10 @@ class Ezsp extends events_1.default {
3451
3446
  // 1100 == 100%
3452
3447
  // All other values reserved
3453
3448
  const [currentPowerSource, currentPowerSourceLevel] = (0, math_1.lowHighBits)(zdoBuffalo.readUInt8());
3454
- debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE status=${status} nodeId=${nodeId} currentPowerMode=${currentPowerMode} `
3455
- + `availPowerSources=${availPowerSources} currentPowerSource=${currentPowerSource} `
3456
- + `currentPowerSourceLevel=${currentPowerSourceLevel}]`);
3457
- debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE] Support not implemented upstream`);
3449
+ logger_1.logger.debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} `
3450
+ + `currentPowerMode=${currentPowerMode} availPowerSources=${availPowerSources} currentPowerSource=${currentPowerSource} `
3451
+ + `currentPowerSourceLevel=${currentPowerSourceLevel}]`, NS);
3452
+ logger_1.logger.debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE] Support not implemented upstream`, NS);
3458
3453
  const payload = {
3459
3454
  nodeId,
3460
3455
  currentPowerMode,
@@ -3469,14 +3464,14 @@ class Ezsp extends events_1.default {
3469
3464
  case zdo_1.ACTIVE_ENDPOINTS_RESPONSE: {
3470
3465
  const status = zdoBuffalo.readUInt8();
3471
3466
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3472
- debug(`<=== [ZDO ACTIVE_ENDPOINTS_RESPONSE status=${status}]`);
3467
+ logger_1.logger.debug(`<=== [ZDO ACTIVE_ENDPOINTS_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3473
3468
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3474
3469
  }
3475
3470
  else {
3476
3471
  const nodeId = zdoBuffalo.readUInt16();
3477
3472
  const endpointCount = zdoBuffalo.readUInt8();
3478
- const endpointList = zdoBuffalo.readListUInt8({ length: endpointCount });
3479
- debug(`<=== [ZDO ACTIVE_ENDPOINTS_RESPONSE status=${status} nodeId=${nodeId} endpointList=${endpointList}]`);
3473
+ const endpointList = zdoBuffalo.readListUInt8(endpointCount);
3474
+ logger_1.logger.debug(`<=== [ZDO ACTIVE_ENDPOINTS_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} endpointList=${endpointList}]`, NS);
3480
3475
  const payload = { nodeId, endpointList };
3481
3476
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
3482
3477
  }
@@ -3485,7 +3480,7 @@ class Ezsp extends events_1.default {
3485
3480
  case zdo_1.LQI_TABLE_RESPONSE: {
3486
3481
  const status = zdoBuffalo.readUInt8();
3487
3482
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3488
- debug(`<=== [ZDO LQI_TABLE_RESPONSE status=${status}]`);
3483
+ logger_1.logger.debug(`<=== [ZDO LQI_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3489
3484
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3490
3485
  }
3491
3486
  else {
@@ -3499,7 +3494,7 @@ class Ezsp extends events_1.default {
3499
3494
  // of the elements in the remote device's neighbor table, including the device address and assoc. LQI
3500
3495
  const entryList = [];
3501
3496
  for (let i = 0; i < entryCount; i++) {
3502
- const extendedPanId = zdoBuffalo.readListUInt8({ length: consts_1.EXTENDED_PAN_ID_SIZE });
3497
+ const extendedPanId = zdoBuffalo.readListUInt8(consts_1.EXTENDED_PAN_ID_SIZE);
3503
3498
  const eui64 = zdoBuffalo.readIeeeAddr();
3504
3499
  const nodeId = zdoBuffalo.readUInt16();
3505
3500
  const deviceTypeByte = zdoBuffalo.readUInt8();
@@ -3520,8 +3515,8 @@ class Ezsp extends events_1.default {
3520
3515
  lqi,
3521
3516
  });
3522
3517
  }
3523
- debug(`<=== [ZDO LQI_TABLE_RESPONSE status=${status} neighborTableEntries=${neighborTableEntries} startIndex=${startIndex} `
3524
- + `entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]`);
3518
+ logger_1.logger.debug(`<=== [ZDO LQI_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]} neighborTableEntries=${neighborTableEntries} `
3519
+ + `startIndex=${startIndex} entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]`, NS);
3525
3520
  const payload = { neighborTableEntries, entryList };
3526
3521
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
3527
3522
  }
@@ -3530,7 +3525,7 @@ class Ezsp extends events_1.default {
3530
3525
  case zdo_1.ROUTING_TABLE_RESPONSE: {
3531
3526
  const status = zdoBuffalo.readUInt8();
3532
3527
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3533
- debug(`<=== [ZDO ROUTING_TABLE_RESPONSE status=${status}]`);
3528
+ logger_1.logger.debug(`<=== [ZDO ROUTING_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3534
3529
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3535
3530
  }
3536
3531
  else {
@@ -3557,8 +3552,8 @@ class Ezsp extends events_1.default {
3557
3552
  nextHopAddress,
3558
3553
  });
3559
3554
  }
3560
- debug(`<=== [ZDO ROUTING_TABLE_RESPONSE status=${status} routingTableEntries=${routingTableEntries} startIndex=${startIndex} `
3561
- + `entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]`);
3555
+ logger_1.logger.debug(`<=== [ZDO ROUTING_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]} routingTableEntries=${routingTableEntries} `
3556
+ + `startIndex=${startIndex} entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]`, NS);
3562
3557
  const payload = { routingTableEntries, entryList };
3563
3558
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
3564
3559
  }
@@ -3567,7 +3562,7 @@ class Ezsp extends events_1.default {
3567
3562
  case zdo_1.BINDING_TABLE_RESPONSE: {
3568
3563
  const status = zdoBuffalo.readUInt8();
3569
3564
  if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3570
- debug(`<=== [ZDO BINDING_TABLE_RESPONSE status=${status}]`);
3565
+ logger_1.logger.debug(`<=== [ZDO BINDING_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3571
3566
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3572
3567
  }
3573
3568
  else {
@@ -3591,9 +3586,9 @@ class Ezsp extends events_1.default {
3591
3586
  destEndpoint,
3592
3587
  });
3593
3588
  }
3594
- debug(`<=== [ZDO BINDING_TABLE_RESPONSE status=${status} bindingTableEntries=${bindingTableEntries} startIndex=${startIndex} `
3595
- + `entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]`);
3596
- debug(`<=== [ZDO BINDING_TABLE_RESPONSE] Support not implemented upstream`);
3589
+ logger_1.logger.debug(`<=== [ZDO BINDING_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]} bindingTableEntries=${bindingTableEntries} `
3590
+ + `startIndex=${startIndex} entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]`, NS);
3591
+ logger_1.logger.debug(`<=== [ZDO BINDING_TABLE_RESPONSE] Support not implemented upstream`, NS);
3597
3592
  const payload = { bindingTableEntries, entryList };
3598
3593
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
3599
3594
  }
@@ -3601,25 +3596,25 @@ class Ezsp extends events_1.default {
3601
3596
  }
3602
3597
  case zdo_1.BIND_RESPONSE: {
3603
3598
  const status = zdoBuffalo.readUInt8();
3604
- debug(`<=== [ZDO BIND_RESPONSE status=${status}]`);
3599
+ logger_1.logger.debug(`<=== [ZDO BIND_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3605
3600
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame);
3606
3601
  break;
3607
3602
  }
3608
3603
  case zdo_1.UNBIND_RESPONSE: {
3609
3604
  const status = zdoBuffalo.readUInt8();
3610
- debug(`<=== [ZDO UNBIND_RESPONSE status=${status}]`);
3605
+ logger_1.logger.debug(`<=== [ZDO UNBIND_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3611
3606
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame);
3612
3607
  break;
3613
3608
  }
3614
3609
  case zdo_1.LEAVE_RESPONSE: {
3615
3610
  const status = zdoBuffalo.readUInt8();
3616
- debug(`<=== [ZDO LEAVE_RESPONSE status=${status}]`);
3611
+ logger_1.logger.debug(`<=== [ZDO LEAVE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3617
3612
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame);
3618
3613
  break;
3619
3614
  }
3620
3615
  case zdo_1.PERMIT_JOINING_RESPONSE: {
3621
3616
  const status = zdoBuffalo.readUInt8();
3622
- debug(`<=== [ZDO PERMIT_JOINING_RESPONSE status=${status}]`);
3617
+ logger_1.logger.debug(`<=== [ZDO PERMIT_JOINING_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3623
3618
  this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame);
3624
3619
  break;
3625
3620
  }
@@ -3628,14 +3623,35 @@ class Ezsp extends events_1.default {
3628
3623
  const eui64 = zdoBuffalo.readIeeeAddr();
3629
3624
  /** @see MACCapabilityFlags */
3630
3625
  const capabilities = zdoBuffalo.readUInt8();
3631
- debug(`<=== [ZDO END_DEVICE_ANNOUNCE nodeId=${nodeId} eui64=${eui64} capabilities=${(0, math_1.byteToBits)(capabilities)}]`);
3626
+ logger_1.logger.debug(`<=== [ZDO END_DEVICE_ANNOUNCE nodeId=${nodeId} eui64=${eui64} capabilities=${(0, math_1.byteToBits)(capabilities)}]`, NS);
3632
3627
  const payload = { nodeId, eui64, capabilities: (0, math_1.getMacCapFlags)(capabilities) };
3633
3628
  // this one gets its own event since its purpose is to pass an event up to Z2M
3634
3629
  this.emit(EzspEvents.END_DEVICE_ANNOUNCE, sender, apsFrame, payload);
3635
3630
  break;
3636
3631
  }
3632
+ case zdo_1.PARENT_ANNOUNCE_RESPONSE: {
3633
+ const status = zdoBuffalo.readUInt8();
3634
+ if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
3635
+ // status should always be NOT_SUPPORTED here
3636
+ logger_1.logger.debug(`<=== [ZDO PARENT_ANNOUNCE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
3637
+ this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
3638
+ }
3639
+ else {
3640
+ const numberOfChildren = zdoBuffalo.readUInt8();
3641
+ const children = [];
3642
+ for (let i = 0; i < numberOfChildren; i++) {
3643
+ const childEui64 = zdoBuffalo.readIeeeAddr();
3644
+ children.push(childEui64);
3645
+ }
3646
+ logger_1.logger.debug(`<=== [ZDO PARENT_ANNOUNCE_RESPONSE status=${zdo_1.EmberZdoStatus[status]} numberOfChildren=${numberOfChildren} `
3647
+ + `children=${children}]`, NS);
3648
+ logger_1.logger.debug(`<=== [ZDO PARENT_ANNOUNCE_RESPONSE] Support not implemented upstream`, NS);
3649
+ const payload = { children };
3650
+ this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
3651
+ }
3652
+ }
3637
3653
  default: {
3638
- console.log(`<=== [ZDO clusterId=${apsFrame.clusterId}] Support not implemented upstream.`);
3654
+ logger_1.logger.info(`<=== [ZDO clusterId=${apsFrame.clusterId} sender=${sender}] Support not implemented upstream.`, NS);
3639
3655
  break;
3640
3656
  }
3641
3657
  }
@@ -3671,7 +3687,7 @@ class Ezsp extends events_1.default {
3671
3687
  * for this discovery arrive, but the callback is made only once.
3672
3688
  */
3673
3689
  ezspIncomingManyToOneRouteRequestHandler(source, longId, cost) {
3674
- debug(`ezspIncomingManyToOneRouteRequestHandler(): callback called with: [source=${source}], [longId=${longId}], [cost=${cost}]`);
3690
+ logger_1.logger.debug(`ezspIncomingManyToOneRouteRequestHandler(): callback called with: [source=${source}], [longId=${longId}], [cost=${cost}]`, NS);
3675
3691
  }
3676
3692
  /**
3677
3693
  * Callback
@@ -3699,7 +3715,7 @@ class Ezsp extends events_1.default {
3699
3715
  * @param target The short id of the remote node.
3700
3716
  */
3701
3717
  ezspIncomingRouteErrorHandler(status, target) {
3702
- debug(`ezspIncomingRouteErrorHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [target=${target}]`);
3718
+ logger_1.logger.debug(`ezspIncomingRouteErrorHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [target=${target}]`, NS);
3703
3719
  // NOTE: This can trigger immediately after removal of a device with status MAC_INDIRECT_TIMEOUT
3704
3720
  }
3705
3721
  /**
@@ -3716,8 +3732,8 @@ class Ezsp extends events_1.default {
3716
3732
  * @param target The short ID of the remote node
3717
3733
  */
3718
3734
  ezspIncomingNetworkStatusHandler(errorCode, target) {
3719
- debug(`ezspIncomingNetworkStatusHandler(): callback called with: [errorCode=${enums_1.EmberStackError[errorCode]}], [target=${target}]`);
3720
- console.log(`Received network/route error ${enums_1.EmberStackError[errorCode]} for "${target}".`);
3735
+ logger_1.logger.debug(`ezspIncomingNetworkStatusHandler(): callback called with: [errorCode=${enums_1.EmberStackError[errorCode]}], [target=${target}]`, NS);
3736
+ logger_1.logger.info(`Received network/route error ${enums_1.EmberStackError[errorCode]} for "${target}".`, NS);
3721
3737
  }
3722
3738
  /**
3723
3739
  * Callback
@@ -3731,8 +3747,8 @@ class Ezsp extends events_1.default {
3731
3747
  * The list is passed as uint8_t * to avoid alignment problems.
3732
3748
  */
3733
3749
  ezspIncomingRouteRecordHandler(source, sourceEui, lastHopLqi, lastHopRssi, relayCount, relayList) {
3734
- debug(`ezspIncomingRouteRecordHandler(): callback called with: [source=${source}], [sourceEui=${sourceEui}], `
3735
- + `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}], [relayCount=${relayCount}], [relayList=${relayList}]`);
3750
+ logger_1.logger.debug(`ezspIncomingRouteRecordHandler(): callback called with: [source=${source}], [sourceEui=${sourceEui}], `
3751
+ + `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}], [relayCount=${relayCount}], [relayList=${relayList}]`, NS);
3736
3752
  // XXX: could at least trigger a `Events.lastSeenChanged` but this is not currently being listened to at the adapter level
3737
3753
  }
3738
3754
  /**
@@ -4030,8 +4046,12 @@ class Ezsp extends events_1.default {
4030
4046
  * @param id The short id for which a conflict was detected
4031
4047
  */
4032
4048
  ezspIdConflictHandler(id) {
4033
- debug(`ezspIdConflictHandler(): callback called with: [id=${id}]`);
4034
- console.warn(`An ID conflict was detected for device "${id}".`);
4049
+ logger_1.logger.debug(`ezspIdConflictHandler(): callback called with: [id=${id}]`, NS);
4050
+ logger_1.logger.warning(`An ID conflict was detected for network address "${id}". Corresponding devices kicked from the network.`, NS);
4051
+ // XXX: this is currently causing more problems than not doing it, so disabled for now.
4052
+ // devices should rejoin on ID conflict anyway, so the database isn't out of sync for very long.
4053
+ // hijacking the event from `ezspTrustCenterJoinHandler`, and forging a DEVICE_LEFT to avoid another event ending up doing the same logic
4054
+ // this.emit(EzspEvents.TRUST_CENTER_JOIN, id, null, EmberDeviceUpdate.DEVICE_LEFT, EmberJoinDecision.NO_ACTION, NULL_NODE_ID);
4035
4055
  }
4036
4056
  /**
4037
4057
  * Write the current node Id, PAN ID, or Node type to the tokens
@@ -4095,8 +4115,8 @@ class Ezsp extends events_1.default {
4095
4115
  * @param messageContents uint8_t * The raw message that was received.
4096
4116
  */
4097
4117
  ezspMacPassthroughMessageHandler(messageType, lastHopLqi, lastHopRssi, messageContents) {
4098
- debug(`ezspMacPassthroughMessageHandler(): callback called with: [messageType=${messageType}], [lastHopLqi=${lastHopLqi}], `
4099
- + `[lastHopRssi=${lastHopRssi}], [messageContents=${messageContents.toString('hex')}]`);
4118
+ logger_1.logger.debug(`ezspMacPassthroughMessageHandler(): callback called with: [messageType=${messageType}], [lastHopLqi=${lastHopLqi}], `
4119
+ + `[lastHopRssi=${lastHopRssi}], [messageContents=${messageContents.toString('hex')}]`, NS);
4100
4120
  }
4101
4121
  /**
4102
4122
  * Callback
@@ -4110,9 +4130,9 @@ class Ezsp extends events_1.default {
4110
4130
  * @param messageContents uint8_t * The raw message that was received.
4111
4131
  */
4112
4132
  ezspMacFilterMatchMessageHandler(filterIndexMatch, legacyPassthroughType, lastHopLqi, lastHopRssi, messageContents) {
4113
- debug(`ezspMacFilterMatchMessageHandler(): callback called with: [filterIndexMatch=${filterIndexMatch}], `
4133
+ logger_1.logger.debug(`ezspMacFilterMatchMessageHandler(): callback called with: [filterIndexMatch=${filterIndexMatch}], `
4114
4134
  + `[legacyPassthroughType=${legacyPassthroughType}], [lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}], `
4115
- + `[messageContents=${messageContents.toString('hex')}]`);
4135
+ + `[messageContents=${messageContents.toString('hex')}]`, NS);
4116
4136
  // TODO: needs triple-checking, this is only valid for InterPAN messages
4117
4137
  const msgBuffalo = new buffalo_1.EzspBuffalo(messageContents, 0);
4118
4138
  const macFrameControl = msgBuffalo.readUInt16() & ~(consts_2.MAC_ACK_REQUIRED);
@@ -4129,7 +4149,7 @@ class Ezsp extends events_1.default {
4129
4149
  destAddress = msgBuffalo.readUInt16();
4130
4150
  }
4131
4151
  else {
4132
- debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN macFrameControl "${macFrameControl}".`);
4152
+ logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN macFrameControl "${macFrameControl}".`, NS);
4133
4153
  return;
4134
4154
  }
4135
4155
  const sourcePanId = msgBuffalo.readUInt16();
@@ -4137,19 +4157,19 @@ class Ezsp extends events_1.default {
4137
4157
  // Now that we know the correct MAC length, verify the interpan frame is the correct length.
4138
4158
  let remainingLength = msgBuffalo.getBufferLength() - msgBuffalo.getPosition();
4139
4159
  if (remainingLength < (consts_2.STUB_NWK_SIZE + consts_2.MIN_STUB_APS_SIZE)) {
4140
- debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}".`);
4160
+ logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}".`, NS);
4141
4161
  return;
4142
4162
  }
4143
4163
  const nwkFrameControl = msgBuffalo.readUInt16();
4144
4164
  remainingLength -= 2; // read 2 more bytes before APS stuff
4145
4165
  if (nwkFrameControl !== consts_2.STUB_NWK_FRAME_CONTROL) {
4146
- debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN nwkFrameControl "${nwkFrameControl}".`);
4166
+ logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN nwkFrameControl "${nwkFrameControl}".`, NS);
4147
4167
  return;
4148
4168
  }
4149
4169
  const apsFrameControl = msgBuffalo.readUInt8();
4150
4170
  if ((apsFrameControl & ~(consts_2.INTERPAN_APS_FRAME_DELIVERY_MODE_MASK) & ~(consts_2.INTERPAN_APS_FRAME_SECURITY))
4151
4171
  !== consts_2.INTERPAN_APS_FRAME_CONTROL_NO_DELIVERY_MODE) {
4152
- debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN apsFrameControl "${apsFrameControl}".`);
4172
+ logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN apsFrameControl "${apsFrameControl}".`, NS);
4153
4173
  return;
4154
4174
  }
4155
4175
  const messageType = (apsFrameControl & consts_2.INTERPAN_APS_FRAME_DELIVERY_MODE_MASK);
@@ -4158,28 +4178,28 @@ class Ezsp extends events_1.default {
4158
4178
  case enums_1.EmberInterpanMessageType.UNICAST:
4159
4179
  case enums_1.EmberInterpanMessageType.BROADCAST: {
4160
4180
  if (remainingLength < consts_2.INTERPAN_APS_UNICAST_BROADCAST_SIZE) {
4161
- debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}".`);
4181
+ logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}".`, NS);
4162
4182
  return;
4163
4183
  }
4164
4184
  break;
4165
4185
  }
4166
4186
  case enums_1.EmberInterpanMessageType.MULTICAST: {
4167
4187
  if (remainingLength < consts_2.INTERPAN_APS_MULTICAST_SIZE) {
4168
- debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}".`);
4188
+ logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}".`, NS);
4169
4189
  return;
4170
4190
  }
4171
4191
  groupId = msgBuffalo.readUInt16();
4172
4192
  break;
4173
4193
  }
4174
4194
  default: {
4175
- debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN messageType "${messageType}".`);
4195
+ logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN messageType "${messageType}".`, NS);
4176
4196
  return;
4177
4197
  }
4178
4198
  }
4179
4199
  const clusterId = msgBuffalo.readUInt16();
4180
4200
  const profileId = msgBuffalo.readUInt16();
4181
4201
  const payload = msgBuffalo.readRest();
4182
- if (profileId === consts_2.TOUCHLINK_PROFILE_ID && clusterId === cluster_1.default.touchlink.ID) {
4202
+ if (profileId === consts_2.TOUCHLINK_PROFILE_ID && clusterId === cluster_1.Clusters.touchlink.ID) {
4183
4203
  this.emit(EzspEvents.TOUCHLINK_MESSAGE, sourcePanId, sourceAddress, groupId, lastHopLqi, payload);
4184
4204
  }
4185
4205
  }
@@ -4190,7 +4210,7 @@ class Ezsp extends events_1.default {
4190
4210
  * @param status EMBER_SUCCESS if the transmission was successful, or EMBER_DELIVERY_FAILED if not
4191
4211
  */
4192
4212
  ezspRawTransmitCompleteHandler(status) {
4193
- debug(`ezspRawTransmitCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`);
4213
+ logger_1.logger.debug(`ezspRawTransmitCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
4194
4214
  }
4195
4215
  /**
4196
4216
  * This function is useful to sleepy end devices. This function will set the
@@ -4323,7 +4343,7 @@ class Ezsp extends events_1.default {
4323
4343
  */
4324
4344
  // NOTE: added for good measure
4325
4345
  if (context.coreKeyType === enums_1.SecManKeyType.INTERNAL) {
4326
- console.assert(false, `ezspImportKey cannot use INTERNAL key type.`);
4346
+ logger_1.logger.error(`ezspImportKey cannot use INTERNAL key type.`, NS);
4327
4347
  return [null, enums_1.SLStatus.INVALID_PARAMETER];
4328
4348
  }
4329
4349
  this.startCommand(enums_2.EzspFrameID.EXPORT_KEY);
@@ -4382,7 +4402,7 @@ class Ezsp extends events_1.default {
4382
4402
  */
4383
4403
  // NOTE: added for good measure
4384
4404
  if (context.coreKeyType === enums_1.SecManKeyType.INTERNAL) {
4385
- console.assert(false, `ezspImportKey cannot use INTERNAL key type.`);
4405
+ logger_1.logger.error(`ezspImportKey cannot use INTERNAL key type.`, NS);
4386
4406
  return enums_1.SLStatus.INVALID_PARAMETER;
4387
4407
  }
4388
4408
  this.startCommand(enums_2.EzspFrameID.IMPORT_KEY);
@@ -4403,7 +4423,7 @@ class Ezsp extends events_1.default {
4403
4423
  * @param sequenceNumber uint8_t The sequence number of the new network key.
4404
4424
  */
4405
4425
  ezspSwitchNetworkKeyHandler(sequenceNumber) {
4406
- debug(`ezspSwitchNetworkKeyHandler(): callback called with: [sequenceNumber=${sequenceNumber}]`);
4426
+ logger_1.logger.debug(`ezspSwitchNetworkKeyHandler(): callback called with: [sequenceNumber=${sequenceNumber}]`, NS);
4407
4427
  }
4408
4428
  /**
4409
4429
  * This function searches through the Key Table and tries to find the entry that
@@ -4534,7 +4554,7 @@ class Ezsp extends events_1.default {
4534
4554
  * @param status This is the status indicating what was established or why the key establishment failed.
4535
4555
  */
4536
4556
  ezspZigbeeKeyEstablishmentHandler(partner, status) {
4537
- debug(`ezspZigbeeKeyEstablishmentHandler(): callback called with: [partner=${partner}], [status=${enums_1.EmberKeyStatus[status]}]`);
4557
+ logger_1.logger.debug(`ezspZigbeeKeyEstablishmentHandler(): callback called with: [partner=${partner}], [status=${enums_1.EmberKeyStatus[status]}]`, NS);
4538
4558
  // NOTE: For security reasons, any valid `partner` (not wildcard) that return with a status=TC_REQUESTER_VERIFY_KEY_TIMEOUT
4539
4559
  // are kicked off the network for posing a risk, unless HA devices allowed (as opposed to Z3)
4540
4560
  // and always if status=TC_REQUESTER_VERIFY_KEY_FAILURE
@@ -4862,9 +4882,9 @@ class Ezsp extends events_1.default {
4862
4882
  * @param parentOfNewNodeId The parent of the node whose status has changed.
4863
4883
  */
4864
4884
  ezspTrustCenterJoinHandler(newNodeId, newNodeEui64, status, policyDecision, parentOfNewNodeId) {
4865
- debug(`ezspTrustCenterJoinHandler(): callback called with: [newNodeId=${newNodeId}], [newNodeEui64=${newNodeEui64}], `
4885
+ logger_1.logger.debug(`ezspTrustCenterJoinHandler(): callback called with: [newNodeId=${newNodeId}], [newNodeEui64=${newNodeEui64}], `
4866
4886
  + `[status=${enums_1.EmberDeviceUpdate[status]}], [policyDecision=${enums_1.EmberJoinDecision[policyDecision]}], `
4867
- + `[parentOfNewNodeId=${parentOfNewNodeId}]`);
4887
+ + `[parentOfNewNodeId=${parentOfNewNodeId}]`, NS);
4868
4888
  // NOTE: this is mostly just passing stuff up to Z2M, so use only one emit for all, let adapter do the rest, no parsing needed
4869
4889
  this.emit(EzspEvents.TRUST_CENTER_JOIN, newNodeId, newNodeEui64, status, policyDecision, parentOfNewNodeId);
4870
4890
  }
@@ -4997,7 +5017,7 @@ class Ezsp extends events_1.default {
4997
5017
  * @param ephemeralPublicKey EmberPublicKeyData * The generated ephemeral public key.
4998
5018
  */
4999
5019
  ezspGenerateCbkeKeysHandler(status, ephemeralPublicKey) {
5000
- debug(`ezspGenerateCbkeKeysHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [ephemeralPublicKey=${ephemeralPublicKey}]`);
5020
+ logger_1.logger.debug(`ezspGenerateCbkeKeysHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [ephemeralPublicKey=${ephemeralPublicKey}]`, NS);
5001
5021
  }
5002
5022
  /**
5003
5023
  * Calculates the SMAC verification keys for both the initiator and responder
@@ -5032,8 +5052,8 @@ class Ezsp extends events_1.default {
5032
5052
  * @param responderSmac EmberSmacData * The calculated value of the responder's SMAC
5033
5053
  */
5034
5054
  ezspCalculateSmacsHandler(status, initiatorSmac, responderSmac) {
5035
- debug(`ezspCalculateSmacsHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [initiatorSmac=${initiatorSmac}], `
5036
- + `[responderSmac=${responderSmac}]`);
5055
+ logger_1.logger.debug(`ezspCalculateSmacsHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [initiatorSmac=${initiatorSmac}], `
5056
+ + `[responderSmac=${responderSmac}]`, NS);
5037
5057
  }
5038
5058
  /**
5039
5059
  * This call starts the generation of the ECC 283k1 curve Ephemeral
@@ -5059,8 +5079,8 @@ class Ezsp extends events_1.default {
5059
5079
  * @param ephemeralPublicKey EmberPublicKey283k1Data * The generated ephemeral public key.
5060
5080
  */
5061
5081
  ezspGenerateCbkeKeysHandler283k1(status, ephemeralPublicKey) {
5062
- debug(`ezspGenerateCbkeKeysHandler283k1(): callback called with: [status=${enums_1.EmberStatus[status]}], `
5063
- + `[ephemeralPublicKey=${ephemeralPublicKey}]`);
5082
+ logger_1.logger.debug(`ezspGenerateCbkeKeysHandler283k1(): callback called with: [status=${enums_1.EmberStatus[status]}], `
5083
+ + `[ephemeralPublicKey=${ephemeralPublicKey}]`, NS);
5064
5084
  }
5065
5085
  /**
5066
5086
  * Calculates the SMAC verification keys for both the initiator and responder
@@ -5096,8 +5116,8 @@ class Ezsp extends events_1.default {
5096
5116
  * @param responderSmac EmberSmacData * The calculated value of the responder's SMAC
5097
5117
  */
5098
5118
  ezspCalculateSmacsHandler283k1(status, initiatorSmac, responderSmac) {
5099
- debug(`ezspCalculateSmacsHandler283k1(): callback called with: [status=${enums_1.EmberStatus[status]}], [initiatorSmac=${initiatorSmac}], `
5100
- + `[responderSmac=${responderSmac}]`);
5119
+ logger_1.logger.debug(`ezspCalculateSmacsHandler283k1(): callback called with: [status=${enums_1.EmberStatus[status]}], [initiatorSmac=${initiatorSmac}], `
5120
+ + `[responderSmac=${responderSmac}]`, NS);
5101
5121
  }
5102
5122
  /**
5103
5123
  * Clears the temporary data associated with CBKE and the key establishment,
@@ -5219,7 +5239,7 @@ class Ezsp extends events_1.default {
5219
5239
  * @param messageContents uint8_t *The message and attached which includes the original message and the appended signature.
5220
5240
  */
5221
5241
  ezspDsaSignHandler(status, messageContents) {
5222
- debug(`ezspDsaSignHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [messageContents=${messageContents.toString('hex')}]`);
5242
+ logger_1.logger.debug(`ezspDsaSignHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [messageContents=${messageContents.toString('hex')}]`, NS);
5223
5243
  }
5224
5244
  /**
5225
5245
  * Verify that signature of the associated message digest was signed by the
@@ -5253,7 +5273,7 @@ class Ezsp extends events_1.default {
5253
5273
  * @param status The result of the DSA verification operation.
5254
5274
  */
5255
5275
  ezspDsaVerifyHandler(status) {
5256
- debug(`ezspDsaVerifyHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`);
5276
+ logger_1.logger.debug(`ezspDsaVerifyHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
5257
5277
  }
5258
5278
  /**
5259
5279
  * Verify that signature of the associated message digest was signed by the
@@ -5465,7 +5485,7 @@ class Ezsp extends events_1.default {
5465
5485
  async mfglibSetPower(txPowerMode, power) {
5466
5486
  this.startCommand(enums_2.EzspFrameID.MFGLIB_SET_POWER);
5467
5487
  this.buffalo.writeUInt16(txPowerMode);
5468
- this.buffalo.writeUInt8(power);
5488
+ this.buffalo.writeInt8(power);
5469
5489
  const sendStatus = await this.sendCommand();
5470
5490
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
5471
5491
  throw new Error(enums_1.EzspStatus[sendStatus]);
@@ -5483,7 +5503,7 @@ class Ezsp extends events_1.default {
5483
5503
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
5484
5504
  throw new Error(enums_1.EzspStatus[sendStatus]);
5485
5505
  }
5486
- const power = this.buffalo.readUInt8();
5506
+ const power = this.buffalo.readInt8();
5487
5507
  return power;
5488
5508
  }
5489
5509
  /**
@@ -5495,9 +5515,8 @@ class Ezsp extends events_1.default {
5495
5515
  * @param packetContents uint8_t * The received packet (last 2 bytes are not FCS / CRC and may be discarded)
5496
5516
  */
5497
5517
  ezspMfglibRxHandler(linkQuality, rssi, packetLength, packetContents) {
5498
- debug(`ezspMfglibRxHandler(): callback called with: [linkQuality=${linkQuality}], [rssi=${rssi}], `
5499
- + `[packetLength=${packetLength}], [packetContents=${packetContents}]`);
5500
- // gecko_sdk_4.4.0\protocol\zigbee\app\framework\plugin\manufacturing-library-cli\manufacturing-library-cli-host.c
5518
+ logger_1.logger.debug(`ezspMfglibRxHandler(): callback called with: [linkQuality=${linkQuality}], [rssi=${rssi}], `
5519
+ + `[packetLength=${packetLength}], [packetContents=${packetContents}]`, NS);
5501
5520
  }
5502
5521
  //-----------------------------------------------------------------------------
5503
5522
  // Bootloader Frames
@@ -5579,8 +5598,8 @@ class Ezsp extends events_1.default {
5579
5598
  * @param messageContents uint8_t *The bootload message that was sent.
5580
5599
  */
5581
5600
  ezspIncomingBootloadMessageHandler(longId, lastHopLqi, lastHopRssi, messageContents) {
5582
- debug(`ezspIncomingBootloadMessageHandler(): callback called with: [longId=${longId}], [lastHopLqi=${lastHopLqi}], `
5583
- + `[lastHopRssi=${lastHopRssi}], [messageContents=${messageContents.toString('hex')}]`);
5601
+ logger_1.logger.debug(`ezspIncomingBootloadMessageHandler(): callback called with: [longId=${longId}], [lastHopLqi=${lastHopLqi}], `
5602
+ + `[lastHopRssi=${lastHopRssi}], [messageContents=${messageContents.toString('hex')}]`, NS);
5584
5603
  }
5585
5604
  /**
5586
5605
  * Callback
@@ -5592,8 +5611,8 @@ class Ezsp extends events_1.default {
5592
5611
  * @param messageContents uint8_t * The message that was sent.
5593
5612
  */
5594
5613
  ezspBootloadTransmitCompleteHandler(status, messageContents) {
5595
- debug(`ezspBootloadTransmitCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], `
5596
- + `[messageContents=${messageContents.toString('hex')}]`);
5614
+ logger_1.logger.debug(`ezspBootloadTransmitCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], `
5615
+ + `[messageContents=${messageContents.toString('hex')}]`, NS);
5597
5616
  }
5598
5617
  /**
5599
5618
  * Perform AES encryption on plaintext using key.
@@ -5609,7 +5628,7 @@ class Ezsp extends events_1.default {
5609
5628
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
5610
5629
  throw new Error(enums_1.EzspStatus[sendStatus]);
5611
5630
  }
5612
- const ciphertext = this.buffalo.readListUInt8({ length: 16 });
5631
+ const ciphertext = this.buffalo.readListUInt8(consts_1.EMBER_ENCRYPTION_KEY_SIZE);
5613
5632
  return ciphertext;
5614
5633
  }
5615
5634
  //-----------------------------------------------------------------------------
@@ -5627,7 +5646,7 @@ class Ezsp extends events_1.default {
5627
5646
  this.startCommand(enums_2.EzspFrameID.ZLL_NETWORK_OPS);
5628
5647
  this.buffalo.writeEmberZllNetwork(networkInfo);
5629
5648
  this.buffalo.writeUInt8(op);
5630
- this.buffalo.writeUInt8(radioTxPower);
5649
+ this.buffalo.writeInt8(radioTxPower);
5631
5650
  const sendStatus = await this.sendCommand();
5632
5651
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
5633
5652
  throw new Error(enums_1.EzspStatus[sendStatus]);
@@ -5680,7 +5699,7 @@ class Ezsp extends events_1.default {
5680
5699
  async ezspZllStartScan(channelMask, radioPowerForScan, nodeType) {
5681
5700
  this.startCommand(enums_2.EzspFrameID.ZLL_START_SCAN);
5682
5701
  this.buffalo.writeUInt32(channelMask);
5683
- this.buffalo.writeUInt8(radioPowerForScan);
5702
+ this.buffalo.writeInt8(radioPowerForScan);
5684
5703
  this.buffalo.writeUInt8(nodeType);
5685
5704
  const sendStatus = await this.sendCommand();
5686
5705
  if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
@@ -5715,8 +5734,8 @@ class Ezsp extends events_1.default {
5715
5734
  * @param lastHopRssi int8_t The energy level (in units of dBm) observed during reception.
5716
5735
  */
5717
5736
  ezspZllNetworkFoundHandler(networkInfo, isDeviceInfoNull, deviceInfo, lastHopLqi, lastHopRssi) {
5718
- debug(`ezspZllNetworkFoundHandler(): callback called with: [networkInfo=${networkInfo}], [isDeviceInfoNull=${isDeviceInfoNull}], `
5719
- + `[deviceInfo=${deviceInfo}], [lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}]`);
5737
+ logger_1.logger.debug(`ezspZllNetworkFoundHandler(): callback called with: [networkInfo=${networkInfo}], [isDeviceInfoNull=${isDeviceInfoNull}], `
5738
+ + `[deviceInfo=${deviceInfo}], [lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}]`, NS);
5720
5739
  }
5721
5740
  /**
5722
5741
  * Callback
@@ -5724,7 +5743,7 @@ class Ezsp extends events_1.default {
5724
5743
  * @param status Status of the operation.
5725
5744
  */
5726
5745
  ezspZllScanCompleteHandler(status) {
5727
- debug(`ezspZllScanCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`);
5746
+ logger_1.logger.debug(`ezspZllScanCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
5728
5747
  }
5729
5748
  /**
5730
5749
  * Callback
@@ -5735,8 +5754,8 @@ class Ezsp extends events_1.default {
5735
5754
  * @param lastHopRssi int8_t The energy level (in units of dBm) observed during reception.
5736
5755
  */
5737
5756
  ezspZllAddressAssignmentHandler(addressInfo, lastHopLqi, lastHopRssi) {
5738
- debug(`ezspZllAddressAssignmentHandler(): callback called with: [addressInfo=${addressInfo}], [lastHopLqi=${lastHopLqi}], `
5739
- + `[lastHopRssi=${lastHopRssi}]`);
5757
+ logger_1.logger.debug(`ezspZllAddressAssignmentHandler(): callback called with: [addressInfo=${addressInfo}], [lastHopLqi=${lastHopLqi}], `
5758
+ + `[lastHopRssi=${lastHopRssi}]`, NS);
5740
5759
  }
5741
5760
  /**
5742
5761
  * Callback
@@ -5744,7 +5763,7 @@ class Ezsp extends events_1.default {
5744
5763
  * @param networkInfo EmberZllNetwork * Information about the network.
5745
5764
  */
5746
5765
  ezspZllTouchLinkTargetHandler(networkInfo) {
5747
- debug(`ezspZllTouchLinkTargetHandler(): callback called with: [networkInfo=${networkInfo}]`);
5766
+ logger_1.logger.debug(`ezspZllTouchLinkTargetHandler(): callback called with: [networkInfo=${networkInfo}]`, NS);
5748
5767
  }
5749
5768
  /**
5750
5769
  * Get the ZLL tokens.
@@ -6094,7 +6113,7 @@ class Ezsp extends events_1.default {
6094
6113
  * @param gpepHandle uint8_t The handle of the GPDF.
6095
6114
  */
6096
6115
  ezspDGpSentHandler(status, gpepHandle) {
6097
- debug(`ezspDGpSentHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [gpepHandle=${gpepHandle}]`);
6116
+ logger_1.logger.debug(`ezspDGpSentHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [gpepHandle=${gpepHandle}]`, NS);
6098
6117
  }
6099
6118
  /**
6100
6119
  * Callback
@@ -6115,24 +6134,24 @@ class Ezsp extends events_1.default {
6115
6134
  * @param gpdCommandPayload uint8_t * The GPD command payload.
6116
6135
  */
6117
6136
  ezspGpepIncomingMessageHandler(status, gpdLink, sequenceNumber, addr, gpdfSecurityLevel, gpdfSecurityKeyType, autoCommissioning, bidirectionalInfo, gpdSecurityFrameCounter, gpdCommandId, mic, proxyTableIndex, gpdCommandPayload) {
6118
- debug(`ezspGpepIncomingMessageHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [gpdLink=${gpdLink}], `
6137
+ logger_1.logger.debug(`ezspGpepIncomingMessageHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [gpdLink=${gpdLink}], `
6119
6138
  + `[sequenceNumber=${sequenceNumber}], [addr=${JSON.stringify(addr)}], [gpdfSecurityLevel=${enums_1.EmberGpSecurityLevel[gpdfSecurityLevel]}], `
6120
6139
  + `[gpdfSecurityKeyType=${enums_1.EmberGpKeyType[gpdfSecurityKeyType]}], [autoCommissioning=${autoCommissioning}], `
6121
6140
  + `[bidirectionalInfo=${bidirectionalInfo}], [gpdSecurityFrameCounter=${gpdSecurityFrameCounter}], [gpdCommandId=${gpdCommandId}], `
6122
- + `[mic=${mic}], [proxyTableIndex=${proxyTableIndex}], [gpdCommandPayload=${gpdCommandPayload.toString('hex')}]`);
6141
+ + `[mic=${mic}], [proxyTableIndex=${proxyTableIndex}], [gpdCommandPayload=${gpdCommandPayload.toString('hex')}]`, NS);
6123
6142
  if (addr.applicationId === enums_1.EmberGpApplicationId.IEEE_ADDRESS) {
6124
6143
  // XXX: don't bother parsing for upstream for now, since it will be rejected
6125
- console.error(`<=== [GP] Received IEEE address type in message. Support not implemented upstream. Dropping.`);
6144
+ logger_1.logger.error(`<=== [GP] Received IEEE address type in message. Support not implemented upstream. Dropping.`, NS);
6126
6145
  return;
6127
6146
  }
6128
- let commandIdentifier = cluster_1.default.greenPower.commands.notification.ID;
6147
+ let commandIdentifier = cluster_1.Clusters.greenPower.commands.notification.ID;
6129
6148
  if (gpdCommandId === 0xE0) {
6130
6149
  if (!gpdCommandPayload.length) {
6131
6150
  // XXX: seem to be receiving duplicate commissioningNotification from some devices, second one with empty payload?
6132
6151
  // this will mess with the process no doubt, so dropping them
6133
6152
  return;
6134
6153
  }
6135
- commandIdentifier = cluster_1.default.greenPower.commands.commissioningNotification.ID;
6154
+ commandIdentifier = cluster_1.Clusters.greenPower.commands.commissioningNotification.ID;
6136
6155
  }
6137
6156
  this.emit(EzspEvents.GREENPOWER_MESSAGE, sequenceNumber, commandIdentifier, addr.sourceId, gpdSecurityFrameCounter, gpdCommandId, gpdCommandPayload, gpdLink);
6138
6157
  }