@willieee802/zigbee-herdsman 0.14.10-5.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 (622) hide show
  1. package/.babelrc.js +10 -0
  2. package/.eslintignore +3 -0
  3. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  4. package/.github/dependabot.yml +6 -0
  5. package/.github/workflows/ci.yml +31 -0
  6. package/.github/workflows/release.yml +56 -0
  7. package/.github/workflows/stale.yml +19 -0
  8. package/.github/workflows/update_deps.yml +24 -0
  9. package/LICENSE +21 -0
  10. package/README.md +9 -0
  11. package/dist/adapter/adapter.d.ts +62 -0
  12. package/dist/adapter/adapter.d.ts.map +1 -0
  13. package/dist/adapter/adapter.js +101 -0
  14. package/dist/adapter/adapter.js.map +1 -0
  15. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +69 -0
  16. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -0
  17. package/dist/adapter/deconz/adapter/deconzAdapter.js +1064 -0
  18. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -0
  19. package/dist/adapter/deconz/adapter/index.d.ts +3 -0
  20. package/dist/adapter/deconz/adapter/index.d.ts.map +1 -0
  21. package/dist/adapter/deconz/adapter/index.js +11 -0
  22. package/dist/adapter/deconz/adapter/index.js.map +1 -0
  23. package/dist/adapter/deconz/driver/constants.d.ts +105 -0
  24. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -0
  25. package/dist/adapter/deconz/driver/constants.js +56 -0
  26. package/dist/adapter/deconz/driver/constants.js.map +1 -0
  27. package/dist/adapter/deconz/driver/driver.d.ts +82 -0
  28. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -0
  29. package/dist/adapter/deconz/driver/driver.js +733 -0
  30. package/dist/adapter/deconz/driver/driver.js.map +1 -0
  31. package/dist/adapter/deconz/driver/frame.d.ts +7 -0
  32. package/dist/adapter/deconz/driver/frame.d.ts.map +1 -0
  33. package/dist/adapter/deconz/driver/frame.js +14 -0
  34. package/dist/adapter/deconz/driver/frame.js.map +1 -0
  35. package/dist/adapter/deconz/driver/frameParser.d.ts +3 -0
  36. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -0
  37. package/dist/adapter/deconz/driver/frameParser.js +444 -0
  38. package/dist/adapter/deconz/driver/frameParser.js.map +1 -0
  39. package/dist/adapter/deconz/driver/parser.d.ts +13 -0
  40. package/dist/adapter/deconz/driver/parser.d.ts.map +1 -0
  41. package/dist/adapter/deconz/driver/parser.js +62 -0
  42. package/dist/adapter/deconz/driver/parser.js.map +1 -0
  43. package/dist/adapter/deconz/driver/writer.d.ts +9 -0
  44. package/dist/adapter/deconz/driver/writer.d.ts.map +1 -0
  45. package/dist/adapter/deconz/driver/writer.js +45 -0
  46. package/dist/adapter/deconz/driver/writer.js.map +1 -0
  47. package/dist/adapter/events.d.ts +48 -0
  48. package/dist/adapter/events.d.ts.map +1 -0
  49. package/dist/adapter/events.js +15 -0
  50. package/dist/adapter/events.js.map +1 -0
  51. package/dist/adapter/ezsp/adapter/backup.d.ts +10 -0
  52. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -0
  53. package/dist/adapter/ezsp/adapter/backup.js +54 -0
  54. package/dist/adapter/ezsp/adapter/backup.js.map +1 -0
  55. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +60 -0
  56. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -0
  57. package/dist/adapter/ezsp/adapter/ezspAdapter.js +586 -0
  58. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -0
  59. package/dist/adapter/ezsp/adapter/index.d.ts +3 -0
  60. package/dist/adapter/ezsp/adapter/index.d.ts.map +1 -0
  61. package/dist/adapter/ezsp/adapter/index.js +11 -0
  62. package/dist/adapter/ezsp/adapter/index.js.map +1 -0
  63. package/dist/adapter/ezsp/driver/commands.d.ts +35 -0
  64. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -0
  65. package/dist/adapter/ezsp/driver/commands.js +2358 -0
  66. package/dist/adapter/ezsp/driver/commands.js.map +1 -0
  67. package/dist/adapter/ezsp/driver/consts.d.ts +11 -0
  68. package/dist/adapter/ezsp/driver/consts.d.ts.map +1 -0
  69. package/dist/adapter/ezsp/driver/consts.js +14 -0
  70. package/dist/adapter/ezsp/driver/consts.js.map +1 -0
  71. package/dist/adapter/ezsp/driver/driver.d.ts +104 -0
  72. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -0
  73. package/dist/adapter/ezsp/driver/driver.js +640 -0
  74. package/dist/adapter/ezsp/driver/driver.js.map +1 -0
  75. package/dist/adapter/ezsp/driver/ezsp.d.ts +97 -0
  76. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -0
  77. package/dist/adapter/ezsp/driver/ezsp.js +578 -0
  78. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -0
  79. package/dist/adapter/ezsp/driver/index.d.ts +4 -0
  80. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -0
  81. package/dist/adapter/ezsp/driver/index.js +9 -0
  82. package/dist/adapter/ezsp/driver/index.js.map +1 -0
  83. package/dist/adapter/ezsp/driver/multicast.d.ts +13 -0
  84. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -0
  85. package/dist/adapter/ezsp/driver/multicast.js +75 -0
  86. package/dist/adapter/ezsp/driver/multicast.js.map +1 -0
  87. package/dist/adapter/ezsp/driver/parser.d.ts +13 -0
  88. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -0
  89. package/dist/adapter/ezsp/driver/parser.js +112 -0
  90. package/dist/adapter/ezsp/driver/parser.js.map +1 -0
  91. package/dist/adapter/ezsp/driver/types/basic.d.ts +63 -0
  92. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -0
  93. package/dist/adapter/ezsp/driver/types/basic.js +209 -0
  94. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -0
  95. package/dist/adapter/ezsp/driver/types/index.d.ts +10 -0
  96. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -0
  97. package/dist/adapter/ezsp/driver/types/index.js +134 -0
  98. package/dist/adapter/ezsp/driver/types/index.js.map +1 -0
  99. package/dist/adapter/ezsp/driver/types/named.d.ts +698 -0
  100. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -0
  101. package/dist/adapter/ezsp/driver/types/named.js +1727 -0
  102. package/dist/adapter/ezsp/driver/types/named.js.map +1 -0
  103. package/dist/adapter/ezsp/driver/types/struct.d.ts +252 -0
  104. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -0
  105. package/dist/adapter/ezsp/driver/types/struct.js +709 -0
  106. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -0
  107. package/dist/adapter/ezsp/driver/uart.d.ts +45 -0
  108. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -0
  109. package/dist/adapter/ezsp/driver/uart.js +367 -0
  110. package/dist/adapter/ezsp/driver/uart.js.map +1 -0
  111. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +3 -0
  112. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -0
  113. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +56 -0
  114. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -0
  115. package/dist/adapter/ezsp/driver/utils/index.d.ts +19 -0
  116. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -0
  117. package/dist/adapter/ezsp/driver/utils/index.js +68 -0
  118. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -0
  119. package/dist/adapter/ezsp/driver/writer.d.ts +14 -0
  120. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -0
  121. package/dist/adapter/ezsp/driver/writer.js +89 -0
  122. package/dist/adapter/ezsp/driver/writer.js.map +1 -0
  123. package/dist/adapter/index.d.ts +5 -0
  124. package/dist/adapter/index.d.ts.map +1 -0
  125. package/dist/adapter/index.js +36 -0
  126. package/dist/adapter/index.js.map +1 -0
  127. package/dist/adapter/serialPort.d.ts +9 -0
  128. package/dist/adapter/serialPort.d.ts.map +1 -0
  129. package/dist/adapter/serialPort.js +23 -0
  130. package/dist/adapter/serialPort.js.map +1 -0
  131. package/dist/adapter/serialPortUtils.d.ts +13 -0
  132. package/dist/adapter/serialPortUtils.d.ts.map +1 -0
  133. package/dist/adapter/serialPortUtils.js +19 -0
  134. package/dist/adapter/serialPortUtils.js.map +1 -0
  135. package/dist/adapter/socketPortUtils.d.ts +11 -0
  136. package/dist/adapter/socketPortUtils.d.ts.map +1 -0
  137. package/dist/adapter/socketPortUtils.js +17 -0
  138. package/dist/adapter/socketPortUtils.js.map +1 -0
  139. package/dist/adapter/tstype.d.ts +86 -0
  140. package/dist/adapter/tstype.d.ts.map +1 -0
  141. package/dist/adapter/tstype.js +3 -0
  142. package/dist/adapter/tstype.js.map +1 -0
  143. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +63 -0
  144. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -0
  145. package/dist/adapter/z-stack/adapter/adapter-backup.js +442 -0
  146. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -0
  147. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +151 -0
  148. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -0
  149. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +259 -0
  150. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -0
  151. package/dist/adapter/z-stack/adapter/endpoints.d.ts +12 -0
  152. package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +1 -0
  153. package/dist/adapter/z-stack/adapter/endpoints.js +74 -0
  154. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -0
  155. package/dist/adapter/z-stack/adapter/index.d.ts +3 -0
  156. package/dist/adapter/z-stack/adapter/index.d.ts.map +1 -0
  157. package/dist/adapter/z-stack/adapter/index.js +9 -0
  158. package/dist/adapter/z-stack/adapter/index.js.map +1 -0
  159. package/dist/adapter/z-stack/adapter/manager.d.ts +87 -0
  160. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -0
  161. package/dist/adapter/z-stack/adapter/manager.js +477 -0
  162. package/dist/adapter/z-stack/adapter/manager.js.map +1 -0
  163. package/dist/adapter/z-stack/adapter/tstype.d.ts +7 -0
  164. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +1 -0
  165. package/dist/adapter/z-stack/adapter/tstype.js +11 -0
  166. package/dist/adapter/z-stack/adapter/tstype.js.map +1 -0
  167. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +82 -0
  168. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -0
  169. package/dist/adapter/z-stack/adapter/zStackAdapter.js +869 -0
  170. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -0
  171. package/dist/adapter/z-stack/constants/af.d.ts +24 -0
  172. package/dist/adapter/z-stack/constants/af.d.ts.map +1 -0
  173. package/dist/adapter/z-stack/constants/af.js +28 -0
  174. package/dist/adapter/z-stack/constants/af.js.map +1 -0
  175. package/dist/adapter/z-stack/constants/common.d.ts +279 -0
  176. package/dist/adapter/z-stack/constants/common.d.ts.map +1 -0
  177. package/dist/adapter/z-stack/constants/common.js +290 -0
  178. package/dist/adapter/z-stack/constants/common.js.map +1 -0
  179. package/dist/adapter/z-stack/constants/dbg.d.ts +23 -0
  180. package/dist/adapter/z-stack/constants/dbg.d.ts.map +1 -0
  181. package/dist/adapter/z-stack/constants/dbg.js +25 -0
  182. package/dist/adapter/z-stack/constants/dbg.js.map +1 -0
  183. package/dist/adapter/z-stack/constants/index.d.ts +11 -0
  184. package/dist/adapter/z-stack/constants/index.d.ts.map +1 -0
  185. package/dist/adapter/z-stack/constants/index.js +48 -0
  186. package/dist/adapter/z-stack/constants/index.js.map +1 -0
  187. package/dist/adapter/z-stack/constants/mac.d.ts +128 -0
  188. package/dist/adapter/z-stack/constants/mac.d.ts.map +1 -0
  189. package/dist/adapter/z-stack/constants/mac.js +130 -0
  190. package/dist/adapter/z-stack/constants/mac.js.map +1 -0
  191. package/dist/adapter/z-stack/constants/sapi.d.ts +25 -0
  192. package/dist/adapter/z-stack/constants/sapi.d.ts.map +1 -0
  193. package/dist/adapter/z-stack/constants/sapi.js +27 -0
  194. package/dist/adapter/z-stack/constants/sapi.js.map +1 -0
  195. package/dist/adapter/z-stack/constants/sys.d.ts +72 -0
  196. package/dist/adapter/z-stack/constants/sys.d.ts.map +1 -0
  197. package/dist/adapter/z-stack/constants/sys.js +74 -0
  198. package/dist/adapter/z-stack/constants/sys.js.map +1 -0
  199. package/dist/adapter/z-stack/constants/util.d.ts +82 -0
  200. package/dist/adapter/z-stack/constants/util.d.ts.map +1 -0
  201. package/dist/adapter/z-stack/constants/util.js +84 -0
  202. package/dist/adapter/z-stack/constants/util.js.map +1 -0
  203. package/dist/adapter/z-stack/constants/utils.d.ts +5 -0
  204. package/dist/adapter/z-stack/constants/utils.d.ts.map +1 -0
  205. package/dist/adapter/z-stack/constants/utils.js +15 -0
  206. package/dist/adapter/z-stack/constants/utils.js.map +1 -0
  207. package/dist/adapter/z-stack/constants/zdo.d.ts +103 -0
  208. package/dist/adapter/z-stack/constants/zdo.d.ts.map +1 -0
  209. package/dist/adapter/z-stack/constants/zdo.js +105 -0
  210. package/dist/adapter/z-stack/constants/zdo.js.map +1 -0
  211. package/dist/adapter/z-stack/models/index.d.ts +2 -0
  212. package/dist/adapter/z-stack/models/index.d.ts.map +1 -0
  213. package/dist/adapter/z-stack/models/index.js +18 -0
  214. package/dist/adapter/z-stack/models/index.js.map +1 -0
  215. package/dist/adapter/z-stack/models/startup-options.d.ts +13 -0
  216. package/dist/adapter/z-stack/models/startup-options.d.ts.map +1 -0
  217. package/dist/adapter/z-stack/models/startup-options.js +3 -0
  218. package/dist/adapter/z-stack/models/startup-options.js.map +1 -0
  219. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +24 -0
  220. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +1 -0
  221. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +46 -0
  222. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -0
  223. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +11 -0
  224. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +1 -0
  225. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +23 -0
  226. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -0
  227. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +11 -0
  228. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +1 -0
  229. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +22 -0
  230. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -0
  231. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +11 -0
  232. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +1 -0
  233. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +24 -0
  234. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -0
  235. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +11 -0
  236. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +1 -0
  237. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +25 -0
  238. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -0
  239. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +11 -0
  240. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +1 -0
  241. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +24 -0
  242. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -0
  243. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +9 -0
  244. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +1 -0
  245. package/dist/adapter/z-stack/structs/entries/channel-list.js +16 -0
  246. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -0
  247. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +9 -0
  248. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -0
  249. package/dist/adapter/z-stack/structs/entries/has-configured.js +17 -0
  250. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -0
  251. package/dist/adapter/z-stack/structs/entries/index.d.ts +17 -0
  252. package/dist/adapter/z-stack/structs/entries/index.d.ts.map +1 -0
  253. package/dist/adapter/z-stack/structs/entries/index.js +33 -0
  254. package/dist/adapter/z-stack/structs/entries/index.js.map +1 -0
  255. package/dist/adapter/z-stack/structs/entries/nib.d.ts +11 -0
  256. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -0
  257. package/dist/adapter/z-stack/structs/entries/nib.js +69 -0
  258. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -0
  259. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +11 -0
  260. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -0
  261. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +19 -0
  262. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -0
  263. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +9 -0
  264. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -0
  265. package/dist/adapter/z-stack/structs/entries/nwk-key.js +16 -0
  266. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -0
  267. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +9 -0
  268. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +1 -0
  269. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +16 -0
  270. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -0
  271. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +14 -0
  272. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +1 -0
  273. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +24 -0
  274. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -0
  275. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +11 -0
  276. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +1 -0
  277. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +23 -0
  278. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -0
  279. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +21 -0
  280. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +1 -0
  281. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +37 -0
  282. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -0
  283. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +11 -0
  284. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -0
  285. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +25 -0
  286. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -0
  287. package/dist/adapter/z-stack/structs/index.d.ts +5 -0
  288. package/dist/adapter/z-stack/structs/index.d.ts.map +1 -0
  289. package/dist/adapter/z-stack/structs/index.js +21 -0
  290. package/dist/adapter/z-stack/structs/index.js.map +1 -0
  291. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +14 -0
  292. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +1 -0
  293. package/dist/adapter/z-stack/structs/serializable-memory-object.js +3 -0
  294. package/dist/adapter/z-stack/structs/serializable-memory-object.js.map +1 -0
  295. package/dist/adapter/z-stack/structs/struct.d.ts +100 -0
  296. package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -0
  297. package/dist/adapter/z-stack/structs/struct.js +296 -0
  298. package/dist/adapter/z-stack/structs/struct.js.map +1 -0
  299. package/dist/adapter/z-stack/structs/table.d.ts +95 -0
  300. package/dist/adapter/z-stack/structs/table.d.ts.map +1 -0
  301. package/dist/adapter/z-stack/structs/table.js +162 -0
  302. package/dist/adapter/z-stack/structs/table.js.map +1 -0
  303. package/dist/adapter/z-stack/unpi/constants.d.ts +29 -0
  304. package/dist/adapter/z-stack/unpi/constants.d.ts.map +1 -0
  305. package/dist/adapter/z-stack/unpi/constants.js +42 -0
  306. package/dist/adapter/z-stack/unpi/constants.js.map +1 -0
  307. package/dist/adapter/z-stack/unpi/frame.d.ts +17 -0
  308. package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -0
  309. package/dist/adapter/z-stack/unpi/frame.js +49 -0
  310. package/dist/adapter/z-stack/unpi/frame.js.map +1 -0
  311. package/dist/adapter/z-stack/unpi/index.d.ts +6 -0
  312. package/dist/adapter/z-stack/unpi/index.d.ts.map +1 -0
  313. package/dist/adapter/z-stack/unpi/index.js +38 -0
  314. package/dist/adapter/z-stack/unpi/index.js.map +1 -0
  315. package/dist/adapter/z-stack/unpi/parser.d.ts +11 -0
  316. package/dist/adapter/z-stack/unpi/parser.d.ts.map +1 -0
  317. package/dist/adapter/z-stack/unpi/parser.js +75 -0
  318. package/dist/adapter/z-stack/unpi/parser.js.map +1 -0
  319. package/dist/adapter/z-stack/unpi/writer.d.ts +11 -0
  320. package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -0
  321. package/dist/adapter/z-stack/unpi/writer.js +45 -0
  322. package/dist/adapter/z-stack/unpi/writer.js.map +1 -0
  323. package/dist/adapter/z-stack/utils/channel-list.d.ts +21 -0
  324. package/dist/adapter/z-stack/utils/channel-list.d.ts.map +1 -0
  325. package/dist/adapter/z-stack/utils/channel-list.js +41 -0
  326. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -0
  327. package/dist/adapter/z-stack/utils/index.d.ts +3 -0
  328. package/dist/adapter/z-stack/utils/index.d.ts.map +1 -0
  329. package/dist/adapter/z-stack/utils/index.js +19 -0
  330. package/dist/adapter/z-stack/utils/index.js.map +1 -0
  331. package/dist/adapter/z-stack/utils/network-options.d.ts +9 -0
  332. package/dist/adapter/z-stack/utils/network-options.d.ts.map +1 -0
  333. package/dist/adapter/z-stack/utils/network-options.js +23 -0
  334. package/dist/adapter/z-stack/utils/network-options.js.map +1 -0
  335. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +12 -0
  336. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -0
  337. package/dist/adapter/z-stack/znp/buffaloZnp.js +114 -0
  338. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -0
  339. package/dist/adapter/z-stack/znp/definition.d.ts +6 -0
  340. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -0
  341. package/dist/adapter/z-stack/znp/definition.js +3051 -0
  342. package/dist/adapter/z-stack/znp/definition.js.map +1 -0
  343. package/dist/adapter/z-stack/znp/index.d.ts +4 -0
  344. package/dist/adapter/z-stack/znp/index.d.ts.map +1 -0
  345. package/dist/adapter/z-stack/znp/index.js +11 -0
  346. package/dist/adapter/z-stack/znp/index.js.map +1 -0
  347. package/dist/adapter/z-stack/znp/parameterType.d.ts +23 -0
  348. package/dist/adapter/z-stack/znp/parameterType.d.ts.map +1 -0
  349. package/dist/adapter/z-stack/znp/parameterType.js +26 -0
  350. package/dist/adapter/z-stack/znp/parameterType.js.map +1 -0
  351. package/dist/adapter/z-stack/znp/tstype.d.ts +22 -0
  352. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -0
  353. package/dist/adapter/z-stack/znp/tstype.js +3 -0
  354. package/dist/adapter/z-stack/znp/tstype.js.map +1 -0
  355. package/dist/adapter/z-stack/znp/znp.d.ts +44 -0
  356. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -0
  357. package/dist/adapter/z-stack/znp/znp.js +326 -0
  358. package/dist/adapter/z-stack/znp/znp.js.map +1 -0
  359. package/dist/adapter/z-stack/znp/zpiObject.d.ts +20 -0
  360. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -0
  361. package/dist/adapter/z-stack/znp/zpiObject.js +97 -0
  362. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -0
  363. package/dist/adapter/zigate/adapter/index.d.ts +3 -0
  364. package/dist/adapter/zigate/adapter/index.d.ts.map +1 -0
  365. package/dist/adapter/zigate/adapter/index.js +11 -0
  366. package/dist/adapter/zigate/adapter/index.js.map +1 -0
  367. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +70 -0
  368. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -0
  369. package/dist/adapter/zigate/adapter/zigateAdapter.js +679 -0
  370. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -0
  371. package/dist/adapter/zigate/debug.d.ts +8 -0
  372. package/dist/adapter/zigate/debug.d.ts.map +1 -0
  373. package/dist/adapter/zigate/debug.js +23 -0
  374. package/dist/adapter/zigate/debug.js.map +1 -0
  375. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +19 -0
  376. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -0
  377. package/dist/adapter/zigate/driver/buffaloZiGate.js +140 -0
  378. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -0
  379. package/dist/adapter/zigate/driver/commandType.d.ts +42 -0
  380. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -0
  381. package/dist/adapter/zigate/driver/commandType.js +386 -0
  382. package/dist/adapter/zigate/driver/commandType.js.map +1 -0
  383. package/dist/adapter/zigate/driver/constants.d.ts +277 -0
  384. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -0
  385. package/dist/adapter/zigate/driver/constants.js +372 -0
  386. package/dist/adapter/zigate/driver/constants.js.map +1 -0
  387. package/dist/adapter/zigate/driver/frame.d.ts +27 -0
  388. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -0
  389. package/dist/adapter/zigate/driver/frame.js +173 -0
  390. package/dist/adapter/zigate/driver/frame.js.map +1 -0
  391. package/dist/adapter/zigate/driver/messageType.d.ts +12 -0
  392. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -0
  393. package/dist/adapter/zigate/driver/messageType.js +279 -0
  394. package/dist/adapter/zigate/driver/messageType.js.map +1 -0
  395. package/dist/adapter/zigate/driver/parameterType.d.ts +21 -0
  396. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -0
  397. package/dist/adapter/zigate/driver/parameterType.js +24 -0
  398. package/dist/adapter/zigate/driver/parameterType.js.map +1 -0
  399. package/dist/adapter/zigate/driver/ziGateObject.d.ts +24 -0
  400. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -0
  401. package/dist/adapter/zigate/driver/ziGateObject.js +107 -0
  402. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -0
  403. package/dist/adapter/zigate/driver/zigate.d.ts +50 -0
  404. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -0
  405. package/dist/adapter/zigate/driver/zigate.js +304 -0
  406. package/dist/adapter/zigate/driver/zigate.js.map +1 -0
  407. package/dist/buffalo/buffalo.d.ts +49 -0
  408. package/dist/buffalo/buffalo.d.ts.map +1 -0
  409. package/dist/buffalo/buffalo.js +308 -0
  410. package/dist/buffalo/buffalo.js.map +1 -0
  411. package/dist/buffalo/index.d.ts +4 -0
  412. package/dist/buffalo/index.d.ts.map +1 -0
  413. package/dist/buffalo/index.js +34 -0
  414. package/dist/buffalo/index.js.map +1 -0
  415. package/dist/buffalo/tstype.d.ts +9 -0
  416. package/dist/buffalo/tstype.d.ts.map +1 -0
  417. package/dist/buffalo/tstype.js +3 -0
  418. package/dist/buffalo/tstype.js.map +1 -0
  419. package/dist/controller/controller.d.ts +111 -0
  420. package/dist/controller/controller.d.ts.map +1 -0
  421. package/dist/controller/controller.js +608 -0
  422. package/dist/controller/controller.js.map +1 -0
  423. package/dist/controller/database.d.ts +19 -0
  424. package/dist/controller/database.d.ts.map +1 -0
  425. package/dist/controller/database.js +94 -0
  426. package/dist/controller/database.js.map +1 -0
  427. package/dist/controller/events.d.ts +56 -0
  428. package/dist/controller/events.d.ts.map +1 -0
  429. package/dist/controller/events.js +100 -0
  430. package/dist/controller/events.js.map +1 -0
  431. package/dist/controller/greenPower.d.ts +13 -0
  432. package/dist/controller/greenPower.d.ts.map +1 -0
  433. package/dist/controller/greenPower.js +221 -0
  434. package/dist/controller/greenPower.js.map +1 -0
  435. package/dist/controller/helpers/index.d.ts +3 -0
  436. package/dist/controller/helpers/index.d.ts.map +1 -0
  437. package/dist/controller/helpers/index.js +29 -0
  438. package/dist/controller/helpers/index.js.map +1 -0
  439. package/dist/controller/helpers/zclFrameConverter.d.ts +8 -0
  440. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -0
  441. package/dist/controller/helpers/zclFrameConverter.js +32 -0
  442. package/dist/controller/helpers/zclFrameConverter.js.map +1 -0
  443. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +6 -0
  444. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +1 -0
  445. package/dist/controller/helpers/zclTransactionSequenceNumber.js +14 -0
  446. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -0
  447. package/dist/controller/index.d.ts +6 -0
  448. package/dist/controller/index.d.ts.map +1 -0
  449. package/dist/controller/index.js +9 -0
  450. package/dist/controller/index.js.map +1 -0
  451. package/dist/controller/logger-stub.d.ts +7 -0
  452. package/dist/controller/logger-stub.d.ts.map +1 -0
  453. package/dist/controller/logger-stub.js +3 -0
  454. package/dist/controller/logger-stub.js.map +1 -0
  455. package/dist/controller/model/device.d.ts +128 -0
  456. package/dist/controller/model/device.d.ts.map +1 -0
  457. package/dist/controller/model/device.js +682 -0
  458. package/dist/controller/model/device.js.map +1 -0
  459. package/dist/controller/model/endpoint.d.ts +129 -0
  460. package/dist/controller/model/endpoint.d.ts.map +1 -0
  461. package/dist/controller/model/endpoint.js +666 -0
  462. package/dist/controller/model/endpoint.js.map +1 -0
  463. package/dist/controller/model/entity.d.ts +15 -0
  464. package/dist/controller/model/entity.d.ts.map +1 -0
  465. package/dist/controller/model/entity.js +27 -0
  466. package/dist/controller/model/entity.js.map +1 -0
  467. package/dist/controller/model/group.d.ts +40 -0
  468. package/dist/controller/model/group.d.ts.map +1 -0
  469. package/dist/controller/model/group.js +222 -0
  470. package/dist/controller/model/group.js.map +1 -0
  471. package/dist/controller/model/index.d.ts +6 -0
  472. package/dist/controller/model/index.d.ts.map +1 -0
  473. package/dist/controller/model/index.js +15 -0
  474. package/dist/controller/model/index.js.map +1 -0
  475. package/dist/controller/touchlink.d.ts +20 -0
  476. package/dist/controller/touchlink.d.ts.map +1 -0
  477. package/dist/controller/touchlink.js +158 -0
  478. package/dist/controller/touchlink.js.map +1 -0
  479. package/dist/controller/tstype.d.ts +21 -0
  480. package/dist/controller/tstype.d.ts.map +1 -0
  481. package/dist/controller/tstype.js +10 -0
  482. package/dist/controller/tstype.js.map +1 -0
  483. package/dist/index.d.ts +4 -0
  484. package/dist/index.d.ts.map +1 -0
  485. package/dist/index.js +34 -0
  486. package/dist/index.js.map +1 -0
  487. package/dist/models/backup-storage-legacy.d.ts +27 -0
  488. package/dist/models/backup-storage-legacy.d.ts.map +1 -0
  489. package/dist/models/backup-storage-legacy.js +3 -0
  490. package/dist/models/backup-storage-legacy.js.map +1 -0
  491. package/dist/models/backup-storage-unified.d.ts +50 -0
  492. package/dist/models/backup-storage-unified.d.ts.map +1 -0
  493. package/dist/models/backup-storage-unified.js +3 -0
  494. package/dist/models/backup-storage-unified.js.map +1 -0
  495. package/dist/models/backup.d.ts +38 -0
  496. package/dist/models/backup.d.ts.map +1 -0
  497. package/dist/models/backup.js +3 -0
  498. package/dist/models/backup.js.map +1 -0
  499. package/dist/models/index.d.ts +5 -0
  500. package/dist/models/index.d.ts.map +1 -0
  501. package/dist/models/index.js +21 -0
  502. package/dist/models/index.js.map +1 -0
  503. package/dist/models/network-options.d.ts +13 -0
  504. package/dist/models/network-options.d.ts.map +1 -0
  505. package/dist/models/network-options.js +3 -0
  506. package/dist/models/network-options.js.map +1 -0
  507. package/dist/utils/assertString.d.ts +3 -0
  508. package/dist/utils/assertString.d.ts.map +1 -0
  509. package/dist/utils/assertString.js +9 -0
  510. package/dist/utils/assertString.js.map +1 -0
  511. package/dist/utils/backup.d.ts +21 -0
  512. package/dist/utils/backup.d.ts.map +1 -0
  513. package/dist/utils/backup.js +188 -0
  514. package/dist/utils/backup.js.map +1 -0
  515. package/dist/utils/equalsPartial.d.ts +3 -0
  516. package/dist/utils/equalsPartial.d.ts.map +1 -0
  517. package/dist/utils/equalsPartial.js +12 -0
  518. package/dist/utils/equalsPartial.js.map +1 -0
  519. package/dist/utils/index.d.ts +10 -0
  520. package/dist/utils/index.d.ts.map +1 -0
  521. package/dist/utils/index.js +46 -0
  522. package/dist/utils/index.js.map +1 -0
  523. package/dist/utils/isNumberArray.d.ts +3 -0
  524. package/dist/utils/isNumberArray.d.ts.map +1 -0
  525. package/dist/utils/isNumberArray.js +7 -0
  526. package/dist/utils/isNumberArray.js.map +1 -0
  527. package/dist/utils/queue.d.ts +12 -0
  528. package/dist/utils/queue.d.ts.map +1 -0
  529. package/dist/utils/queue.js +51 -0
  530. package/dist/utils/queue.js.map +1 -0
  531. package/dist/utils/realpathSync.d.ts +3 -0
  532. package/dist/utils/realpathSync.d.ts.map +1 -0
  533. package/dist/utils/realpathSync.js +13 -0
  534. package/dist/utils/realpathSync.js.map +1 -0
  535. package/dist/utils/wait.d.ts +3 -0
  536. package/dist/utils/wait.d.ts.map +1 -0
  537. package/dist/utils/wait.js +9 -0
  538. package/dist/utils/wait.js.map +1 -0
  539. package/dist/utils/waitress.d.ts +22 -0
  540. package/dist/utils/waitress.d.ts.map +1 -0
  541. package/dist/utils/waitress.js +62 -0
  542. package/dist/utils/waitress.js.map +1 -0
  543. package/dist/zcl/buffaloZcl.d.ts +42 -0
  544. package/dist/zcl/buffaloZcl.d.ts.map +1 -0
  545. package/dist/zcl/buffaloZcl.js +592 -0
  546. package/dist/zcl/buffaloZcl.js.map +1 -0
  547. package/dist/zcl/definition/buffaloZclDataType.d.ts +18 -0
  548. package/dist/zcl/definition/buffaloZclDataType.d.ts.map +1 -0
  549. package/dist/zcl/definition/buffaloZclDataType.js +21 -0
  550. package/dist/zcl/definition/buffaloZclDataType.js.map +1 -0
  551. package/dist/zcl/definition/cluster.d.ts +30 -0
  552. package/dist/zcl/definition/cluster.d.ts.map +1 -0
  553. package/dist/zcl/definition/cluster.js +5216 -0
  554. package/dist/zcl/definition/cluster.js.map +1 -0
  555. package/dist/zcl/definition/dataType.d.ts +60 -0
  556. package/dist/zcl/definition/dataType.d.ts.map +1 -0
  557. package/dist/zcl/definition/dataType.js +65 -0
  558. package/dist/zcl/definition/dataType.js.map +1 -0
  559. package/dist/zcl/definition/direction.d.ts +6 -0
  560. package/dist/zcl/definition/direction.d.ts.map +1 -0
  561. package/dist/zcl/definition/direction.js +9 -0
  562. package/dist/zcl/definition/direction.js.map +1 -0
  563. package/dist/zcl/definition/endpointDeviceType.d.ts +5 -0
  564. package/dist/zcl/definition/endpointDeviceType.d.ts.map +1 -0
  565. package/dist/zcl/definition/endpointDeviceType.js +16 -0
  566. package/dist/zcl/definition/endpointDeviceType.js.map +1 -0
  567. package/dist/zcl/definition/foundation.d.ts +12 -0
  568. package/dist/zcl/definition/foundation.d.ts.map +1 -0
  569. package/dist/zcl/definition/foundation.js +168 -0
  570. package/dist/zcl/definition/foundation.js.map +1 -0
  571. package/dist/zcl/definition/frameControl.d.ts +11 -0
  572. package/dist/zcl/definition/frameControl.d.ts.map +1 -0
  573. package/dist/zcl/definition/frameControl.js +3 -0
  574. package/dist/zcl/definition/frameControl.js.map +1 -0
  575. package/dist/zcl/definition/frameType.d.ts +6 -0
  576. package/dist/zcl/definition/frameType.d.ts.map +1 -0
  577. package/dist/zcl/definition/frameType.js +9 -0
  578. package/dist/zcl/definition/frameType.js.map +1 -0
  579. package/dist/zcl/definition/index.d.ts +14 -0
  580. package/dist/zcl/definition/index.d.ts.map +1 -0
  581. package/dist/zcl/definition/index.js +52 -0
  582. package/dist/zcl/definition/index.js.map +1 -0
  583. package/dist/zcl/definition/manufacturerCode.d.ts +1075 -0
  584. package/dist/zcl/definition/manufacturerCode.d.ts.map +1 -0
  585. package/dist/zcl/definition/manufacturerCode.js +1080 -0
  586. package/dist/zcl/definition/manufacturerCode.js.map +1 -0
  587. package/dist/zcl/definition/powerSource.d.ts +5 -0
  588. package/dist/zcl/definition/powerSource.d.ts.map +1 -0
  589. package/dist/zcl/definition/powerSource.js +13 -0
  590. package/dist/zcl/definition/powerSource.js.map +1 -0
  591. package/dist/zcl/definition/status.d.ts +39 -0
  592. package/dist/zcl/definition/status.d.ts.map +1 -0
  593. package/dist/zcl/definition/status.js +42 -0
  594. package/dist/zcl/definition/status.js.map +1 -0
  595. package/dist/zcl/definition/tstype.d.ts +17 -0
  596. package/dist/zcl/definition/tstype.d.ts.map +1 -0
  597. package/dist/zcl/definition/tstype.js +3 -0
  598. package/dist/zcl/definition/tstype.js.map +1 -0
  599. package/dist/zcl/index.d.ts +16 -0
  600. package/dist/zcl/index.d.ts.map +1 -0
  601. package/dist/zcl/index.js +56 -0
  602. package/dist/zcl/index.js.map +1 -0
  603. package/dist/zcl/tstype.d.ts +57 -0
  604. package/dist/zcl/tstype.d.ts.map +1 -0
  605. package/dist/zcl/tstype.js +11 -0
  606. package/dist/zcl/tstype.js.map +1 -0
  607. package/dist/zcl/utils.d.ts +7 -0
  608. package/dist/zcl/utils.d.ts.map +1 -0
  609. package/dist/zcl/utils.js +166 -0
  610. package/dist/zcl/utils.js.map +1 -0
  611. package/dist/zcl/zclFrame.d.ts +46 -0
  612. package/dist/zcl/zclFrame.d.ts.map +1 -0
  613. package/dist/zcl/zclFrame.js +348 -0
  614. package/dist/zcl/zclFrame.js.map +1 -0
  615. package/dist/zcl/zclStatusError.d.ts +6 -0
  616. package/dist/zcl/zclStatusError.d.ts.map +1 -0
  617. package/dist/zcl/zclStatusError.js +14 -0
  618. package/dist/zcl/zclStatusError.js.map +1 -0
  619. package/examples/join-and-log.js +29 -0
  620. package/package.json +76 -0
  621. package/tsconfig.json +24 -0
  622. package/typedoc-tsconfig.json +44 -0
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const unpi_1 = require("../unpi");
30
+ const utils_1 = require("../../../utils");
31
+ const serialPort_1 = require("../../serialPort");
32
+ const serialPortUtils_1 = __importDefault(require("../../serialPortUtils"));
33
+ const socketPortUtils_1 = __importDefault(require("../../socketPortUtils"));
34
+ const Constants = __importStar(require("../constants"));
35
+ const zpiObject_1 = __importDefault(require("./zpiObject"));
36
+ const constants_1 = require("../unpi/constants");
37
+ const net_1 = __importDefault(require("net"));
38
+ const events_1 = __importDefault(require("events"));
39
+ const es6_1 = __importDefault(require("fast-deep-equal/es6"));
40
+ const debug_1 = __importDefault(require("debug"));
41
+ const { COMMON: { ZnpCommandStatus }, Utils: { statusDescription } } = Constants;
42
+ const timeouts = {
43
+ SREQ: 6000,
44
+ reset: 30000,
45
+ default: 10000,
46
+ };
47
+ const debug = {
48
+ error: (0, debug_1.default)('zigbee-herdsman:adapter:zStack:znp:error'),
49
+ timeout: (0, debug_1.default)('zigbee-herdsman:adapter:zStack:znp:timeout'),
50
+ log: (0, debug_1.default)('zigbee-herdsman:adapter:zStack:znp:log'),
51
+ SREQ: (0, debug_1.default)('zigbee-herdsman:adapter:zStack:znp:SREQ'),
52
+ AREQ: (0, debug_1.default)('zigbee-herdsman:adapter:zStack:znp:AREQ'),
53
+ SRSP: (0, debug_1.default)('zigbee-herdsman:adapter:zStack:znp:SRSP'),
54
+ };
55
+ const autoDetectDefinitions = [
56
+ { manufacturer: 'Texas Instruments', vendorId: '0451', productId: '16c8' },
57
+ { manufacturer: 'Texas Instruments', vendorId: '0451', productId: '16a8' },
58
+ { manufacturer: 'Texas Instruments', vendorId: '0451', productId: 'bef3' },
59
+ { manufacturer: 'Electrolama', vendorId: '0403', productId: '6015' }, // ZZH
60
+ ];
61
+ class Znp extends events_1.default.EventEmitter {
62
+ constructor(path, baudRate, rtscts) {
63
+ super();
64
+ this.path = path;
65
+ this.baudRate = typeof baudRate === 'number' ? baudRate : 115200;
66
+ this.rtscts = typeof rtscts === 'boolean' ? rtscts : false;
67
+ this.portType = socketPortUtils_1.default.isTcpPath(path) ? 'socket' : 'serial';
68
+ this.initialized = false;
69
+ this.queue = new utils_1.Queue();
70
+ this.waitress = new utils_1.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
71
+ this.onUnpiParsed = this.onUnpiParsed.bind(this);
72
+ this.onPortClose = this.onPortClose.bind(this);
73
+ }
74
+ log(type, message) {
75
+ if (type === constants_1.Type.SRSP) {
76
+ debug.SRSP(message);
77
+ }
78
+ else if (type === constants_1.Type.AREQ) {
79
+ debug.AREQ(message);
80
+ }
81
+ else {
82
+ /* istanbul ignore else */
83
+ if (type === constants_1.Type.SREQ) {
84
+ debug.SREQ(message);
85
+ }
86
+ else {
87
+ throw new Error(`Unknown type '${type}'`);
88
+ }
89
+ }
90
+ }
91
+ onUnpiParsed(frame) {
92
+ try {
93
+ const object = zpiObject_1.default.fromUnpiFrame(frame);
94
+ const message = `<-- ${constants_1.Subsystem[object.subsystem]} - ${object.command} - ${JSON.stringify(object.payload)}`;
95
+ this.log(object.type, message);
96
+ this.waitress.resolve(object);
97
+ this.emit('received', object);
98
+ }
99
+ catch (error) {
100
+ debug.error(`Error while parsing to ZpiObject '${error.stack}'`);
101
+ }
102
+ }
103
+ isInitialized() {
104
+ return this.initialized;
105
+ }
106
+ onPortClose() {
107
+ debug.log('Port closed');
108
+ this.initialized = false;
109
+ this.emit('close');
110
+ }
111
+ async open() {
112
+ return this.portType === 'serial' ? this.openSerialPort() : this.openSocketPort();
113
+ }
114
+ async openSerialPort() {
115
+ const options = { path: this.path, baudRate: this.baudRate, rtscts: this.rtscts, autoOpen: false };
116
+ debug.log(`Opening SerialPort with ${JSON.stringify(options)}`);
117
+ this.serialPort = new serialPort_1.SerialPort(options);
118
+ this.unpiWriter = new unpi_1.Writer();
119
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
120
+ // @ts-ignore
121
+ this.unpiWriter.pipe(this.serialPort);
122
+ this.unpiParser = new unpi_1.Parser();
123
+ this.serialPort.pipe(this.unpiParser);
124
+ this.unpiParser.on('parsed', this.onUnpiParsed);
125
+ return new Promise((resolve, reject) => {
126
+ this.serialPort.open(async (error) => {
127
+ if (error) {
128
+ reject(new Error(`Error while opening serialport '${error}'`));
129
+ this.initialized = false;
130
+ if (this.serialPort.isOpen) {
131
+ this.serialPort.close();
132
+ }
133
+ }
134
+ else {
135
+ debug.log('Serialport opened');
136
+ this.initialized = true;
137
+ await this.skipBootloader();
138
+ this.serialPort.once('close', this.onPortClose);
139
+ this.serialPort.once('error', (error) => {
140
+ debug.error(`Serialport error: ${error}`);
141
+ });
142
+ resolve();
143
+ }
144
+ });
145
+ });
146
+ }
147
+ async openSocketPort() {
148
+ const info = socketPortUtils_1.default.parseTcpPath(this.path);
149
+ debug.log(`Opening TCP socket with ${info.host}:${info.port}`);
150
+ this.socketPort = new net_1.default.Socket();
151
+ this.socketPort.setNoDelay(true);
152
+ this.socketPort.setKeepAlive(true, 15000);
153
+ this.unpiWriter = new unpi_1.Writer();
154
+ this.unpiWriter.pipe(this.socketPort);
155
+ this.unpiParser = new unpi_1.Parser();
156
+ this.socketPort.pipe(this.unpiParser);
157
+ this.unpiParser.on('parsed', this.onUnpiParsed);
158
+ return new Promise((resolve, reject) => {
159
+ this.socketPort.on('connect', function () {
160
+ debug.log('Socket connected');
161
+ });
162
+ // eslint-disable-next-line
163
+ const self = this;
164
+ this.socketPort.on('ready', async function () {
165
+ debug.log('Socket ready');
166
+ await self.skipBootloader();
167
+ self.initialized = true;
168
+ resolve();
169
+ });
170
+ this.socketPort.once('close', this.onPortClose);
171
+ this.socketPort.on('error', function () {
172
+ debug.log('Socket error');
173
+ reject(new Error(`Error while opening socket`));
174
+ self.initialized = false;
175
+ });
176
+ this.socketPort.connect(info.port, info.host);
177
+ });
178
+ }
179
+ async skipBootloader() {
180
+ try {
181
+ await this.request(constants_1.Subsystem.SYS, 'ping', { capabilities: 1 }, null, 250);
182
+ }
183
+ catch (error) {
184
+ // Skip bootloader on CC2530/CC2531
185
+ // Send magic byte: https://github.com/Koenkk/zigbee2mqtt/issues/1343 to bootloader
186
+ // and give ZNP 1 second to start.
187
+ try {
188
+ debug.log('Writing CC2530/CC2531 skip bootloader payload');
189
+ this.unpiWriter.writeBuffer(Buffer.from([0xef]));
190
+ await (0, utils_1.Wait)(1000);
191
+ await this.request(constants_1.Subsystem.SYS, 'ping', { capabilities: 1 }, null, 250);
192
+ }
193
+ catch (error) {
194
+ // Skip bootloader on some CC2652 devices (e.g. zzh-p)
195
+ debug.log('Skip bootloader for CC2652/CC1352');
196
+ if (this.serialPort) {
197
+ await this.setSerialPortOptions({ dtr: false, rts: false });
198
+ await (0, utils_1.Wait)(150);
199
+ await this.setSerialPortOptions({ dtr: false, rts: true });
200
+ await (0, utils_1.Wait)(150);
201
+ await this.setSerialPortOptions({ dtr: false, rts: false });
202
+ await (0, utils_1.Wait)(150);
203
+ }
204
+ }
205
+ }
206
+ }
207
+ async setSerialPortOptions(options) {
208
+ return new Promise((resolve) => {
209
+ this.serialPort.set(options, () => {
210
+ resolve();
211
+ });
212
+ });
213
+ }
214
+ static async isValidPath(path) {
215
+ // For TCP paths we cannot get device information, therefore we cannot validate it.
216
+ if (socketPortUtils_1.default.isTcpPath(path)) {
217
+ return false;
218
+ }
219
+ try {
220
+ return serialPortUtils_1.default.is((0, utils_1.RealpathSync)(path), autoDetectDefinitions);
221
+ }
222
+ catch (error) {
223
+ debug.error(`Failed to determine if path is valid: '${error}'`);
224
+ return false;
225
+ }
226
+ }
227
+ static async autoDetectPath() {
228
+ const paths = await serialPortUtils_1.default.find(autoDetectDefinitions);
229
+ // CC1352P_2 and CC26X2R1 lists as 2 USB devices with same manufacturer, productId and vendorId
230
+ // one is the actual chip interface, other is the XDS110.
231
+ // The chip is always exposed on the first one after alphabetical sorting.
232
+ paths.sort((a, b) => (a < b) ? -1 : 1);
233
+ return paths.length > 0 ? paths[0] : null;
234
+ }
235
+ close() {
236
+ return new Promise((resolve, reject) => {
237
+ if (this.initialized) {
238
+ if (this.portType === 'serial') {
239
+ this.serialPort.flush(() => {
240
+ this.serialPort.close((error) => {
241
+ this.initialized = false;
242
+ error == null ?
243
+ resolve() :
244
+ reject(new Error(`Error while closing serialport '${error}'`));
245
+ this.emit('close');
246
+ });
247
+ });
248
+ }
249
+ else {
250
+ this.socketPort.destroy();
251
+ resolve();
252
+ }
253
+ }
254
+ else {
255
+ resolve();
256
+ this.emit('close');
257
+ }
258
+ });
259
+ }
260
+ request(subsystem, command, payload, waiterID = null, timeout = null, expectedStatuses = [ZnpCommandStatus.SUCCESS]) {
261
+ if (!this.initialized) {
262
+ throw new Error('Cannot request when znp has not been initialized yet');
263
+ }
264
+ const object = zpiObject_1.default.createRequest(subsystem, command, payload);
265
+ const message = `--> ${constants_1.Subsystem[object.subsystem]} - ${object.command} - ${JSON.stringify(payload)}`;
266
+ return this.queue.execute(async () => {
267
+ this.log(object.type, message);
268
+ const frame = object.toUnpiFrame();
269
+ if (object.type === constants_1.Type.SREQ) {
270
+ const t = object.command === 'bdbStartCommissioning' || object.command === 'startupFromApp' ?
271
+ 40000 : timeouts.SREQ;
272
+ const waiter = this.waitress.waitFor({ type: constants_1.Type.SRSP, subsystem: object.subsystem, command: object.command }, timeout || t);
273
+ this.unpiWriter.writeFrame(frame);
274
+ const result = await waiter.start().promise;
275
+ if (result && result.payload.hasOwnProperty('status') &&
276
+ !expectedStatuses.includes(result.payload.status)) {
277
+ if (typeof waiterID === 'number') {
278
+ this.waitress.remove(waiterID);
279
+ }
280
+ throw new Error(`SREQ '${message}' failed with status '${statusDescription(result.payload.status)}' (expected '${expectedStatuses.map(statusDescription)}')`);
281
+ }
282
+ else {
283
+ return result;
284
+ }
285
+ }
286
+ else if (object.type === constants_1.Type.AREQ && object.isResetCommand()) {
287
+ const waiter = this.waitress.waitFor({ type: constants_1.Type.AREQ, subsystem: constants_1.Subsystem.SYS, command: 'resetInd' }, timeout || timeouts.reset);
288
+ this.queue.clear();
289
+ this.unpiWriter.writeFrame(frame);
290
+ return waiter.start().promise;
291
+ }
292
+ else {
293
+ /* istanbul ignore else */
294
+ if (object.type === constants_1.Type.AREQ) {
295
+ this.unpiWriter.writeFrame(frame);
296
+ return undefined;
297
+ }
298
+ else {
299
+ throw new Error(`Unknown type '${object.type}'`);
300
+ }
301
+ }
302
+ });
303
+ }
304
+ waitressTimeoutFormatter(matcher, timeout) {
305
+ return `${constants_1.Type[matcher.type]} - ${constants_1.Subsystem[matcher.subsystem]} - ${matcher.command} after ${timeout}ms`;
306
+ }
307
+ waitFor(type, subsystem, command, payload = {}, timeout = timeouts.default) {
308
+ return this.waitress.waitFor({ type, subsystem, command, payload }, timeout);
309
+ }
310
+ waitressValidator(zpiObject, matcher) {
311
+ const requiredMatch = matcher.type === zpiObject.type && matcher.subsystem == zpiObject.subsystem &&
312
+ matcher.command === zpiObject.command;
313
+ let payloadMatch = true;
314
+ if (matcher.payload) {
315
+ for (const [key, value] of Object.entries(matcher.payload)) {
316
+ if (!(0, es6_1.default)(zpiObject.payload[key], value)) {
317
+ payloadMatch = false;
318
+ break;
319
+ }
320
+ }
321
+ }
322
+ return requiredMatch && payloadMatch;
323
+ }
324
+ }
325
+ exports.default = Znp;
326
+ //# sourceMappingURL=znp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"znp.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/znp/znp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { Subsystem, Type } from '../unpi/constants';
2
+ import { Frame as UnpiFrame } from '../unpi';
3
+ import { ZpiObjectPayload } from './tstype';
4
+ declare class ZpiObject {
5
+ readonly subsystem: Subsystem;
6
+ readonly command: string;
7
+ readonly commandID: number;
8
+ readonly payload: ZpiObjectPayload;
9
+ readonly type: Type;
10
+ private readonly parameters;
11
+ private constructor();
12
+ static createRequest(subsystem: Subsystem, command: string, payload: ZpiObjectPayload): ZpiObject;
13
+ toUnpiFrame(): UnpiFrame;
14
+ static fromUnpiFrame(frame: UnpiFrame): ZpiObject;
15
+ private static readParameters;
16
+ private createPayloadBuffer;
17
+ isResetCommand(): boolean;
18
+ }
19
+ export default ZpiObject;
20
+ //# sourceMappingURL=zpiObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zpiObject.d.ts","sourceRoot":"","sources":["../../../../src/adapter/z-stack/znp/zpiObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,KAAK,IAAI,SAAS,EAAC,MAAM,SAAS,CAAC;AAI3C,OAAO,EAAqB,gBAAgB,EAA4B,MAAM,UAAU,CAAC;AAUzF,cAAM,SAAS;IACX,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,gBAAgB,CAAC;IAC1C,SAAgB,IAAI,EAAE,IAAI,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE3C,OAAO;WAYO,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS;IAcjG,WAAW,IAAI,SAAS;WAKjB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAqBxD,OAAO,CAAC,MAAM,CAAC,cAAc;IAoC7B,OAAO,CAAC,mBAAmB;IAWpB,cAAc,IAAI,OAAO;CAInC;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const constants_1 = require("../unpi/constants");
7
+ const unpi_1 = require("../unpi");
8
+ const definition_1 = __importDefault(require("./definition"));
9
+ const buffaloZnp_1 = __importDefault(require("./buffaloZnp"));
10
+ const parameterType_1 = __importDefault(require("./parameterType"));
11
+ const BufferAndListTypes = [
12
+ parameterType_1.default.BUFFER, parameterType_1.default.BUFFER8, parameterType_1.default.BUFFER16,
13
+ parameterType_1.default.BUFFER18, parameterType_1.default.BUFFER32, parameterType_1.default.BUFFER42,
14
+ parameterType_1.default.BUFFER100, parameterType_1.default.LIST_UINT16, parameterType_1.default.LIST_ROUTING_TABLE,
15
+ parameterType_1.default.LIST_BIND_TABLE, parameterType_1.default.LIST_NEIGHBOR_LQI, parameterType_1.default.LIST_NETWORK,
16
+ parameterType_1.default.LIST_ASSOC_DEV, parameterType_1.default.LIST_UINT8,
17
+ ];
18
+ class ZpiObject {
19
+ constructor(type, subsystem, command, commandID, payload, parameters) {
20
+ this.subsystem = subsystem;
21
+ this.command = command;
22
+ this.commandID = commandID;
23
+ this.payload = payload;
24
+ this.type = type;
25
+ this.parameters = parameters;
26
+ }
27
+ static createRequest(subsystem, command, payload) {
28
+ if (!definition_1.default[subsystem]) {
29
+ throw new Error(`Subsystem '${subsystem}' does not exist`);
30
+ }
31
+ const cmd = definition_1.default[subsystem].find((c) => c.name === command);
32
+ if (!cmd) {
33
+ throw new Error(`Command '${command}' from subsystem '${subsystem}' not found`);
34
+ }
35
+ return new ZpiObject(cmd.type, subsystem, command, cmd.ID, payload, cmd.request);
36
+ }
37
+ toUnpiFrame() {
38
+ const buffer = this.createPayloadBuffer();
39
+ return new unpi_1.Frame(this.type, this.subsystem, this.commandID, buffer);
40
+ }
41
+ static fromUnpiFrame(frame) {
42
+ const cmd = definition_1.default[frame.subsystem].find((c) => c.ID === frame.commandID);
43
+ if (!cmd) {
44
+ throw new Error(`CommandID '${frame.commandID}' from subsystem '${frame.subsystem}' not found`);
45
+ }
46
+ const parameters = frame.type === constants_1.Type.SRSP ? cmd.response : cmd.request;
47
+ if (parameters === undefined) {
48
+ /* istanbul ignore next */
49
+ throw new Error(`CommandID '${frame.commandID}' from subsystem '${frame.subsystem}' cannot be a ` +
50
+ `${frame.type === constants_1.Type.SRSP ? 'response' : 'request'}`);
51
+ }
52
+ const payload = this.readParameters(frame.data, parameters);
53
+ return new ZpiObject(frame.type, frame.subsystem, cmd.name, cmd.ID, payload, parameters);
54
+ }
55
+ static readParameters(buffer, parameters) {
56
+ const buffalo = new buffaloZnp_1.default(buffer);
57
+ const result = {};
58
+ for (const parameter of parameters) {
59
+ const options = {};
60
+ if (BufferAndListTypes.includes(parameter.parameterType)) {
61
+ // When reading a buffer, assume that the previous parsed parameter contains
62
+ // the length of the buffer
63
+ const lengthParameter = parameters[parameters.indexOf(parameter) - 1];
64
+ const length = result[lengthParameter.name];
65
+ /* istanbul ignore else */
66
+ if (typeof length === 'number') {
67
+ options.length = length;
68
+ }
69
+ if (parameter.parameterType === parameterType_1.default.LIST_ASSOC_DEV) {
70
+ // For LIST_ASSOC_DEV, we also need to grab the startindex which is right before the length
71
+ const startIndexParameter = parameters[parameters.indexOf(parameter) - 2];
72
+ const startIndex = result[startIndexParameter.name];
73
+ /* istanbul ignore else */
74
+ if (typeof startIndex === 'number') {
75
+ options.startIndex = startIndex;
76
+ }
77
+ }
78
+ }
79
+ result[parameter.name] = buffalo.read(parameterType_1.default[parameter.parameterType], options);
80
+ }
81
+ return result;
82
+ }
83
+ createPayloadBuffer() {
84
+ const buffalo = new buffaloZnp_1.default(Buffer.alloc(constants_1.MaxDataSize));
85
+ for (const parameter of this.parameters) {
86
+ const value = this.payload[parameter.name];
87
+ buffalo.write(parameterType_1.default[parameter.parameterType], value, {});
88
+ }
89
+ return buffalo.getWritten();
90
+ }
91
+ isResetCommand() {
92
+ return (this.command === 'resetReq' && this.subsystem === constants_1.Subsystem.SYS) ||
93
+ (this.command === 'systemReset' && this.subsystem === constants_1.Subsystem.SAPI);
94
+ }
95
+ }
96
+ exports.default = ZpiObject;
97
+ //# sourceMappingURL=zpiObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zpiObject.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/znp/zpiObject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import ZiGateAdapter from './zigateAdapter';
2
+ export { ZiGateAdapter };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/zigate/adapter/index.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACH,aAAa,EAChB,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ZiGateAdapter = void 0;
7
+ /* istanbul ignore file */
8
+ /* eslint-disable */
9
+ const zigateAdapter_1 = __importDefault(require("./zigateAdapter"));
10
+ exports.ZiGateAdapter = zigateAdapter_1.default;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapter/zigate/adapter/index.ts"],"names":[],"mappings":";;;;;;AAAA,0BAA0B;AAC1B,oBAAoB;AACpB,oEAA4C;AAGxC,wBAHG,uBAAa,CAGH"}
@@ -0,0 +1,70 @@
1
+ /// <reference types="node" />
2
+ import * as TsType from '../../tstype';
3
+ import * as Events from '../../events';
4
+ import Adapter from '../../adapter';
5
+ import { Direction, FrameType, ZclFrame } from '../../../zcl';
6
+ import { LoggerStub } from "../../../controller/logger-stub";
7
+ import * as Models from "../../../models";
8
+ declare class ZiGateAdapter extends Adapter {
9
+ private driver;
10
+ private joinPermitted;
11
+ private waitress;
12
+ private closing;
13
+ private queue;
14
+ constructor(networkOptions: TsType.NetworkOptions, serialPortOptions: TsType.SerialPortOptions, backupPath: string, adapterOptions: TsType.AdapterOptions, logger?: LoggerStub);
15
+ /**
16
+ * Adapter methods
17
+ */
18
+ start(): Promise<TsType.StartResult>;
19
+ stop(): Promise<void>;
20
+ getCoordinator(): Promise<TsType.Coordinator>;
21
+ getCoordinatorVersion(): Promise<TsType.CoordinatorVersion>;
22
+ permitJoin(seconds: number, networkAddress: number): Promise<void>;
23
+ addInstallCode(ieeeAddress: string, key: Buffer): Promise<void>;
24
+ reset(type: 'soft' | 'hard'): Promise<void>;
25
+ getNetworkParameters(): Promise<TsType.NetworkParameters>;
26
+ /**
27
+ * https://zigate.fr/documentation/deplacer-le-pdm-de-la-zigate/
28
+ * pdm from host
29
+ */
30
+ supportsBackup(): Promise<boolean>;
31
+ backup(): Promise<Models.Backup>;
32
+ setTransmitPower(value: number): Promise<void>;
33
+ lqi(networkAddress: number): Promise<TsType.LQI>;
34
+ routingTable(networkAddress: number): Promise<TsType.RoutingTable>;
35
+ nodeDescriptor(networkAddress: number): Promise<TsType.NodeDescriptor>;
36
+ activeEndpoints(networkAddress: number): Promise<TsType.ActiveEndpoints>;
37
+ simpleDescriptor(networkAddress: number, endpointID: number): Promise<TsType.SimpleDescriptor>;
38
+ bind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: 'endpoint' | 'group', destinationEndpoint?: number): Promise<void>;
39
+ unbind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: 'endpoint' | 'group', destinationEndpoint: number): Promise<void>;
40
+ removeDevice(networkAddress: number, ieeeAddr: string): Promise<void>;
41
+ sendZclFrameToEndpoint(ieeeAddr: string, networkAddress: number, endpoint: number, zclFrame: ZclFrame, timeout: number, disableResponse: boolean, disableRecovery: boolean, sourceEndpoint?: number): Promise<Events.ZclDataPayload>;
42
+ private sendZclFrameToEndpointInternal;
43
+ sendZclFrameToAll(endpoint: number, zclFrame: ZclFrame, sourceEndpoint: number): Promise<void>;
44
+ sendZclFrameToGroup(groupID: number, zclFrame: ZclFrame, sourceEndpoint?: number): Promise<void>;
45
+ /**
46
+ * Supplementary functions
47
+ */
48
+ private initNetwork;
49
+ waitFor(networkAddress: number, endpoint: number, frameType: FrameType, direction: Direction, transactionSequenceNumber: number, clusterID: number, commandIdentifier: number, timeout: number): {
50
+ promise: Promise<Events.ZclDataPayload>;
51
+ cancel: () => void;
52
+ };
53
+ static isValidPath(path: string): Promise<boolean>;
54
+ static autoDetectPath(): Promise<string>;
55
+ /**
56
+ * InterPAN !!! not implemented
57
+ */
58
+ setChannelInterPAN(channel: number): Promise<void>;
59
+ sendZclFrameInterPANToIeeeAddr(zclFrame: ZclFrame, ieeeAddress: string): Promise<void>;
60
+ sendZclFrameInterPANBroadcast(zclFrame: ZclFrame, timeout: number): Promise<Events.ZclDataPayload>;
61
+ restoreChannelInterPAN(): Promise<void>;
62
+ private deviceAnnounceListener;
63
+ private zclDataListener;
64
+ private rawDataListener;
65
+ private leaveIndicationListener;
66
+ private waitressTimeoutFormatter;
67
+ private waitressValidator;
68
+ }
69
+ export default ZiGateAdapter;
70
+ //# sourceMappingURL=zigateAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zigateAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/zigate/adapter/zigateAdapter.ts"],"names":[],"mappings":"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"}