@willieee802/zigbee-herdsman 0.18.2 → 0.18.3

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 (327) hide show
  1. package/dist/adapter/adapter.d.ts +61 -61
  2. package/dist/adapter/adapter.d.ts.map +1 -1
  3. package/dist/adapter/adapter.js +146 -146
  4. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +68 -68
  5. package/dist/adapter/deconz/adapter/deconzAdapter.js +1060 -1060
  6. package/dist/adapter/deconz/adapter/index.d.ts +2 -2
  7. package/dist/adapter/deconz/adapter/index.js +10 -10
  8. package/dist/adapter/deconz/driver/constants.d.ts +104 -104
  9. package/dist/adapter/deconz/driver/constants.js +55 -55
  10. package/dist/adapter/deconz/driver/driver.d.ts +81 -81
  11. package/dist/adapter/deconz/driver/driver.js +732 -732
  12. package/dist/adapter/deconz/driver/frame.d.ts +6 -6
  13. package/dist/adapter/deconz/driver/frame.js +13 -13
  14. package/dist/adapter/deconz/driver/frameParser.d.ts +2 -2
  15. package/dist/adapter/deconz/driver/frameParser.js +443 -443
  16. package/dist/adapter/deconz/driver/parser.d.ts +12 -12
  17. package/dist/adapter/deconz/driver/parser.js +61 -61
  18. package/dist/adapter/deconz/driver/writer.d.ts +8 -8
  19. package/dist/adapter/deconz/driver/writer.js +44 -44
  20. package/dist/adapter/events.d.ts +47 -47
  21. package/dist/adapter/events.js +14 -14
  22. package/dist/adapter/ezsp/adapter/backup.d.ts +9 -9
  23. package/dist/adapter/ezsp/adapter/backup.js +53 -53
  24. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +59 -59
  25. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  26. package/dist/adapter/ezsp/adapter/ezspAdapter.js +603 -585
  27. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  28. package/dist/adapter/ezsp/adapter/index.d.ts +2 -2
  29. package/dist/adapter/ezsp/adapter/index.js +10 -10
  30. package/dist/adapter/ezsp/driver/commands.d.ts +36 -36
  31. package/dist/adapter/ezsp/driver/commands.js +2359 -2359
  32. package/dist/adapter/ezsp/driver/consts.d.ts +10 -10
  33. package/dist/adapter/ezsp/driver/consts.js +13 -13
  34. package/dist/adapter/ezsp/driver/driver.d.ts +103 -103
  35. package/dist/adapter/ezsp/driver/driver.js +639 -639
  36. package/dist/adapter/ezsp/driver/ezsp.d.ts +96 -96
  37. package/dist/adapter/ezsp/driver/ezsp.js +586 -586
  38. package/dist/adapter/ezsp/driver/index.d.ts +3 -3
  39. package/dist/adapter/ezsp/driver/index.js +8 -8
  40. package/dist/adapter/ezsp/driver/multicast.d.ts +12 -12
  41. package/dist/adapter/ezsp/driver/multicast.js +74 -74
  42. package/dist/adapter/ezsp/driver/parser.d.ts +12 -12
  43. package/dist/adapter/ezsp/driver/parser.js +111 -111
  44. package/dist/adapter/ezsp/driver/types/basic.d.ts +62 -62
  45. package/dist/adapter/ezsp/driver/types/basic.js +208 -208
  46. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  47. package/dist/adapter/ezsp/driver/types/index.d.ts +9 -9
  48. package/dist/adapter/ezsp/driver/types/index.js +133 -133
  49. package/dist/adapter/ezsp/driver/types/named.d.ts +697 -697
  50. package/dist/adapter/ezsp/driver/types/named.js +1726 -1726
  51. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  52. package/dist/adapter/ezsp/driver/types/struct.d.ts +251 -251
  53. package/dist/adapter/ezsp/driver/types/struct.js +708 -708
  54. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  55. package/dist/adapter/ezsp/driver/uart.d.ts +44 -44
  56. package/dist/adapter/ezsp/driver/uart.js +368 -368
  57. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +2 -2
  58. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +55 -55
  59. package/dist/adapter/ezsp/driver/utils/index.d.ts +18 -18
  60. package/dist/adapter/ezsp/driver/utils/index.js +67 -67
  61. package/dist/adapter/ezsp/driver/writer.d.ts +13 -13
  62. package/dist/adapter/ezsp/driver/writer.js +88 -88
  63. package/dist/adapter/index.d.ts +4 -4
  64. package/dist/adapter/index.js +35 -35
  65. package/dist/adapter/serialPort.d.ts +8 -8
  66. package/dist/adapter/serialPort.js +22 -22
  67. package/dist/adapter/serialPort.js.map +1 -1
  68. package/dist/adapter/serialPortUtils.d.ts +12 -12
  69. package/dist/adapter/serialPortUtils.js +18 -18
  70. package/dist/adapter/socketPortUtils.d.ts +10 -10
  71. package/dist/adapter/socketPortUtils.js +16 -16
  72. package/dist/adapter/tstype.d.ts +85 -85
  73. package/dist/adapter/tstype.js +2 -2
  74. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +62 -62
  75. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  76. package/dist/adapter/z-stack/adapter/adapter-backup.js +460 -441
  77. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  78. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +150 -150
  79. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +258 -258
  80. package/dist/adapter/z-stack/adapter/endpoints.d.ts +11 -11
  81. package/dist/adapter/z-stack/adapter/endpoints.js +73 -73
  82. package/dist/adapter/z-stack/adapter/index.d.ts +2 -2
  83. package/dist/adapter/z-stack/adapter/index.js +8 -8
  84. package/dist/adapter/z-stack/adapter/manager.d.ts +86 -86
  85. package/dist/adapter/z-stack/adapter/manager.js +476 -476
  86. package/dist/adapter/z-stack/adapter/tstype.d.ts +6 -6
  87. package/dist/adapter/z-stack/adapter/tstype.js +10 -10
  88. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +81 -81
  89. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  90. package/dist/adapter/z-stack/adapter/zStackAdapter.js +868 -868
  91. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  92. package/dist/adapter/z-stack/constants/af.d.ts +23 -23
  93. package/dist/adapter/z-stack/constants/af.js +27 -27
  94. package/dist/adapter/z-stack/constants/common.d.ts +278 -278
  95. package/dist/adapter/z-stack/constants/common.js +289 -289
  96. package/dist/adapter/z-stack/constants/dbg.d.ts +22 -22
  97. package/dist/adapter/z-stack/constants/dbg.js +24 -24
  98. package/dist/adapter/z-stack/constants/index.d.ts +10 -10
  99. package/dist/adapter/z-stack/constants/index.js +47 -47
  100. package/dist/adapter/z-stack/constants/mac.d.ts +127 -127
  101. package/dist/adapter/z-stack/constants/mac.js +129 -129
  102. package/dist/adapter/z-stack/constants/sapi.d.ts +24 -24
  103. package/dist/adapter/z-stack/constants/sapi.js +26 -26
  104. package/dist/adapter/z-stack/constants/sys.d.ts +71 -71
  105. package/dist/adapter/z-stack/constants/sys.js +73 -73
  106. package/dist/adapter/z-stack/constants/util.d.ts +81 -81
  107. package/dist/adapter/z-stack/constants/util.js +83 -83
  108. package/dist/adapter/z-stack/constants/utils.d.ts +4 -4
  109. package/dist/adapter/z-stack/constants/utils.js +14 -14
  110. package/dist/adapter/z-stack/constants/zdo.d.ts +102 -102
  111. package/dist/adapter/z-stack/constants/zdo.js +104 -104
  112. package/dist/adapter/z-stack/models/index.d.ts +1 -1
  113. package/dist/adapter/z-stack/models/index.js +17 -17
  114. package/dist/adapter/z-stack/models/startup-options.d.ts +12 -12
  115. package/dist/adapter/z-stack/models/startup-options.js +2 -2
  116. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +23 -23
  117. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +45 -45
  118. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +10 -10
  119. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +22 -22
  120. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +10 -10
  121. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +21 -21
  122. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +10 -10
  123. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +23 -23
  124. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +10 -10
  125. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +24 -24
  126. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +10 -10
  127. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +23 -23
  128. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +8 -8
  129. package/dist/adapter/z-stack/structs/entries/channel-list.js +15 -15
  130. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +8 -8
  131. package/dist/adapter/z-stack/structs/entries/has-configured.js +16 -16
  132. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  133. package/dist/adapter/z-stack/structs/entries/index.js +32 -32
  134. package/dist/adapter/z-stack/structs/entries/nib.d.ts +10 -10
  135. package/dist/adapter/z-stack/structs/entries/nib.js +68 -68
  136. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +10 -10
  137. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +18 -18
  138. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +8 -8
  139. package/dist/adapter/z-stack/structs/entries/nwk-key.js +15 -15
  140. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +8 -8
  141. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +15 -15
  142. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +13 -13
  143. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +23 -23
  144. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +10 -10
  145. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +22 -22
  146. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +20 -20
  147. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +36 -36
  148. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +10 -10
  149. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +24 -24
  150. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  151. package/dist/adapter/z-stack/structs/index.js +20 -20
  152. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +13 -13
  153. package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -2
  154. package/dist/adapter/z-stack/structs/struct.d.ts +99 -99
  155. package/dist/adapter/z-stack/structs/struct.js +295 -295
  156. package/dist/adapter/z-stack/structs/table.d.ts +94 -94
  157. package/dist/adapter/z-stack/structs/table.js +161 -161
  158. package/dist/adapter/z-stack/unpi/constants.d.ts +28 -28
  159. package/dist/adapter/z-stack/unpi/constants.js +41 -41
  160. package/dist/adapter/z-stack/unpi/frame.d.ts +16 -16
  161. package/dist/adapter/z-stack/unpi/frame.js +48 -48
  162. package/dist/adapter/z-stack/unpi/index.d.ts +5 -5
  163. package/dist/adapter/z-stack/unpi/index.js +37 -37
  164. package/dist/adapter/z-stack/unpi/parser.d.ts +10 -10
  165. package/dist/adapter/z-stack/unpi/parser.js +74 -74
  166. package/dist/adapter/z-stack/unpi/writer.d.ts +10 -10
  167. package/dist/adapter/z-stack/unpi/writer.js +44 -44
  168. package/dist/adapter/z-stack/utils/channel-list.d.ts +20 -20
  169. package/dist/adapter/z-stack/utils/channel-list.js +40 -40
  170. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  171. package/dist/adapter/z-stack/utils/index.js +18 -18
  172. package/dist/adapter/z-stack/utils/network-options.d.ts +8 -8
  173. package/dist/adapter/z-stack/utils/network-options.js +22 -22
  174. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +11 -11
  175. package/dist/adapter/z-stack/znp/buffaloZnp.js +113 -113
  176. package/dist/adapter/z-stack/znp/definition.d.ts +5 -5
  177. package/dist/adapter/z-stack/znp/definition.js +3050 -3050
  178. package/dist/adapter/z-stack/znp/index.d.ts +3 -3
  179. package/dist/adapter/z-stack/znp/index.js +10 -10
  180. package/dist/adapter/z-stack/znp/parameterType.d.ts +22 -22
  181. package/dist/adapter/z-stack/znp/parameterType.js +25 -25
  182. package/dist/adapter/z-stack/znp/tstype.d.ts +21 -21
  183. package/dist/adapter/z-stack/znp/tstype.js +2 -2
  184. package/dist/adapter/z-stack/znp/znp.d.ts +43 -43
  185. package/dist/adapter/z-stack/znp/znp.js +325 -325
  186. package/dist/adapter/z-stack/znp/zpiObject.d.ts +19 -19
  187. package/dist/adapter/z-stack/znp/zpiObject.js +96 -96
  188. package/dist/adapter/zigate/adapter/index.d.ts +2 -2
  189. package/dist/adapter/zigate/adapter/index.js +10 -10
  190. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +69 -69
  191. package/dist/adapter/zigate/adapter/zigateAdapter.js +678 -678
  192. package/dist/adapter/zigate/debug.d.ts +7 -7
  193. package/dist/adapter/zigate/debug.js +22 -22
  194. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +18 -18
  195. package/dist/adapter/zigate/driver/buffaloZiGate.js +139 -139
  196. package/dist/adapter/zigate/driver/commandType.d.ts +41 -41
  197. package/dist/adapter/zigate/driver/commandType.js +385 -385
  198. package/dist/adapter/zigate/driver/constants.d.ts +276 -276
  199. package/dist/adapter/zigate/driver/constants.js +371 -371
  200. package/dist/adapter/zigate/driver/frame.d.ts +26 -26
  201. package/dist/adapter/zigate/driver/frame.js +172 -172
  202. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  203. package/dist/adapter/zigate/driver/messageType.d.ts +11 -11
  204. package/dist/adapter/zigate/driver/messageType.js +278 -278
  205. package/dist/adapter/zigate/driver/parameterType.d.ts +20 -20
  206. package/dist/adapter/zigate/driver/parameterType.js +23 -23
  207. package/dist/adapter/zigate/driver/ziGateObject.d.ts +23 -23
  208. package/dist/adapter/zigate/driver/ziGateObject.js +106 -106
  209. package/dist/adapter/zigate/driver/zigate.d.ts +49 -49
  210. package/dist/adapter/zigate/driver/zigate.js +303 -303
  211. package/dist/buffalo/buffalo.d.ts +50 -50
  212. package/dist/buffalo/buffalo.js +322 -322
  213. package/dist/buffalo/index.d.ts +3 -3
  214. package/dist/buffalo/index.js +33 -33
  215. package/dist/buffalo/tstype.d.ts +8 -8
  216. package/dist/buffalo/tstype.js +2 -2
  217. package/dist/controller/controller.d.ts +113 -110
  218. package/dist/controller/controller.d.ts.map +1 -1
  219. package/dist/controller/controller.js +619 -607
  220. package/dist/controller/controller.js.map +1 -1
  221. package/dist/controller/database.d.ts +18 -18
  222. package/dist/controller/database.js +93 -93
  223. package/dist/controller/events.d.ts +58 -55
  224. package/dist/controller/events.d.ts.map +1 -1
  225. package/dist/controller/events.js +101 -101
  226. package/dist/controller/events.js.map +1 -1
  227. package/dist/controller/greenPower.d.ts +12 -12
  228. package/dist/controller/greenPower.js +220 -220
  229. package/dist/controller/helpers/index.d.ts +2 -2
  230. package/dist/controller/helpers/index.js +28 -28
  231. package/dist/controller/helpers/request.d.ts +22 -22
  232. package/dist/controller/helpers/request.js +71 -71
  233. package/dist/controller/helpers/zclFrameConverter.d.ts +7 -7
  234. package/dist/controller/helpers/zclFrameConverter.js +31 -31
  235. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +5 -5
  236. package/dist/controller/helpers/zclTransactionSequenceNumber.js +13 -13
  237. package/dist/controller/index.d.ts +5 -5
  238. package/dist/controller/index.js +8 -8
  239. package/dist/controller/logger-stub.d.ts +6 -6
  240. package/dist/controller/logger-stub.js +2 -2
  241. package/dist/controller/model/device.d.ts +133 -132
  242. package/dist/controller/model/device.d.ts.map +1 -1
  243. package/dist/controller/model/device.js +717 -708
  244. package/dist/controller/model/device.js.map +1 -1
  245. package/dist/controller/model/endpoint.d.ts +131 -131
  246. package/dist/controller/model/endpoint.d.ts.map +1 -1
  247. package/dist/controller/model/endpoint.js +816 -817
  248. package/dist/controller/model/endpoint.js.map +1 -1
  249. package/dist/controller/model/entity.d.ts +14 -14
  250. package/dist/controller/model/entity.js +26 -26
  251. package/dist/controller/model/group.d.ts +38 -38
  252. package/dist/controller/model/group.js +221 -221
  253. package/dist/controller/model/index.d.ts +5 -5
  254. package/dist/controller/model/index.js +14 -14
  255. package/dist/controller/touchlink.d.ts +19 -19
  256. package/dist/controller/touchlink.js +157 -157
  257. package/dist/controller/tstype.d.ts +21 -21
  258. package/dist/controller/tstype.js +9 -9
  259. package/dist/index.d.ts +3 -3
  260. package/dist/index.js +33 -33
  261. package/dist/models/backup-storage-legacy.d.ts +26 -26
  262. package/dist/models/backup-storage-legacy.js +2 -2
  263. package/dist/models/backup-storage-unified.d.ts +49 -49
  264. package/dist/models/backup-storage-unified.js +2 -2
  265. package/dist/models/backup.d.ts +37 -37
  266. package/dist/models/backup.js +2 -2
  267. package/dist/models/index.d.ts +4 -4
  268. package/dist/models/index.js +20 -20
  269. package/dist/models/network-options.d.ts +12 -12
  270. package/dist/models/network-options.js +2 -2
  271. package/dist/utils/assertString.d.ts +2 -2
  272. package/dist/utils/assertString.js +8 -8
  273. package/dist/utils/backup.d.ts +20 -20
  274. package/dist/utils/backup.js +187 -187
  275. package/dist/utils/equalsPartial.d.ts +2 -2
  276. package/dist/utils/equalsPartial.js +11 -11
  277. package/dist/utils/index.d.ts +9 -9
  278. package/dist/utils/index.js +45 -45
  279. package/dist/utils/isNumberArray.d.ts +2 -2
  280. package/dist/utils/isNumberArray.js +6 -6
  281. package/dist/utils/queue.d.ts +11 -11
  282. package/dist/utils/queue.js +50 -50
  283. package/dist/utils/realpathSync.d.ts +2 -2
  284. package/dist/utils/realpathSync.js +12 -12
  285. package/dist/utils/wait.d.ts +2 -2
  286. package/dist/utils/wait.js +8 -8
  287. package/dist/utils/waitress.d.ts +21 -21
  288. package/dist/utils/waitress.js +61 -61
  289. package/dist/zcl/buffaloZcl.d.ts +41 -41
  290. package/dist/zcl/buffaloZcl.js +591 -591
  291. package/dist/zcl/definition/buffaloZclDataType.d.ts +17 -17
  292. package/dist/zcl/definition/buffaloZclDataType.js +20 -20
  293. package/dist/zcl/definition/cluster.d.ts +29 -29
  294. package/dist/zcl/definition/cluster.js +5335 -5335
  295. package/dist/zcl/definition/dataType.d.ts +59 -59
  296. package/dist/zcl/definition/dataType.js +64 -64
  297. package/dist/zcl/definition/direction.d.ts +5 -5
  298. package/dist/zcl/definition/direction.js +8 -8
  299. package/dist/zcl/definition/endpointDeviceType.d.ts +4 -4
  300. package/dist/zcl/definition/endpointDeviceType.js +15 -15
  301. package/dist/zcl/definition/foundation.d.ts +11 -11
  302. package/dist/zcl/definition/foundation.js +167 -167
  303. package/dist/zcl/definition/frameControl.d.ts +10 -10
  304. package/dist/zcl/definition/frameControl.js +2 -2
  305. package/dist/zcl/definition/frameType.d.ts +5 -5
  306. package/dist/zcl/definition/frameType.js +8 -8
  307. package/dist/zcl/definition/index.d.ts +13 -13
  308. package/dist/zcl/definition/index.js +51 -51
  309. package/dist/zcl/definition/manufacturerCode.d.ts +1074 -1074
  310. package/dist/zcl/definition/manufacturerCode.js +1079 -1079
  311. package/dist/zcl/definition/powerSource.d.ts +4 -4
  312. package/dist/zcl/definition/powerSource.js +12 -12
  313. package/dist/zcl/definition/status.d.ts +38 -38
  314. package/dist/zcl/definition/status.js +41 -41
  315. package/dist/zcl/definition/tstype.d.ts +16 -16
  316. package/dist/zcl/definition/tstype.js +2 -2
  317. package/dist/zcl/index.d.ts +15 -15
  318. package/dist/zcl/index.js +55 -55
  319. package/dist/zcl/tstype.d.ts +56 -56
  320. package/dist/zcl/tstype.js +10 -10
  321. package/dist/zcl/utils.d.ts +6 -6
  322. package/dist/zcl/utils.js +165 -165
  323. package/dist/zcl/zclFrame.d.ts +45 -45
  324. package/dist/zcl/zclFrame.js +347 -347
  325. package/dist/zcl/zclStatusError.d.ts +5 -5
  326. package/dist/zcl/zclStatusError.js +13 -13
  327. package/package.json +1 -1
@@ -1,222 +1,222 @@
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 entity_1 = __importDefault(require("./entity"));
30
- const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTransactionSequenceNumber"));
31
- const Zcl = __importStar(require("../../zcl"));
32
- const device_1 = __importDefault(require("./device"));
33
- const assert_1 = __importDefault(require("assert"));
34
- const debug_1 = __importDefault(require("debug"));
35
- const debug = {
36
- info: (0, debug_1.default)('zigbee-herdsman:controller:group'),
37
- error: (0, debug_1.default)('zigbee-herdsman:controller:group'),
38
- };
39
- class Group extends entity_1.default {
40
- get members() { return Array.from(this._members).filter((e) => e.getDevice()); }
41
- constructor(databaseID, ID, groupID, members, meta) {
42
- super();
43
- this.databaseID = databaseID;
44
- this.ID = ID;
45
- this.groupID = groupID;
46
- this._members = members;
47
- this.meta = meta;
48
- }
49
- /*
50
- * CRUD
51
- */
52
- static fromDatabaseEntry(entry, databaseID) {
53
- const members = new Set();
54
- for (const member of entry.members) {
55
- const device = device_1.default.byIeeeAddr(databaseID, member.deviceIeeeAddr);
56
- if (device) {
57
- const endpoint = device.getEndpoint(member.endpointID);
58
- members.add(endpoint);
59
- }
60
- }
61
- return new Group(databaseID, entry.id, entry.groupID, members, entry.meta);
62
- }
63
- toDatabaseRecord() {
64
- const members = Array.from(this.members).map((member) => {
65
- return { deviceIeeeAddr: member.getDevice().ieeeAddr, endpointID: member.ID };
66
- });
67
- return { id: this.ID, type: 'Group', groupID: this.groupID, members, meta: this.meta };
68
- }
69
- static loadFromDatabaseIfNecessary() {
70
- entity_1.default.databases.forEach(database => {
71
- if (!Group.groups.get(database.id)) {
72
- Group.groups.set(database.id, {});
73
- const entries = database.getEntries(['Group']);
74
- for (const entry of entries) {
75
- const group = Group.fromDatabaseEntry(entry, database.id);
76
- Group.groups.get(database.id)[group.groupID] = group;
77
- }
78
- }
79
- });
80
- }
81
- static byGroupID(groupID, databaseID) {
82
- Group.loadFromDatabaseIfNecessary();
83
- return Group.groups.get(databaseID)[groupID];
84
- }
85
- // public static all(): Group[] {
86
- // Group.loadFromDatabaseIfNecessary();
87
- // const groups: Group[] = [];
88
- // Group.groups.forEach(groupDB => {
89
- // groups.push(...Object.values(groupDB));
90
- // });
91
- // return groups;
92
- // }
93
- static allByDatabaseID(databaseID) {
94
- Group.loadFromDatabaseIfNecessary();
95
- return Object.values(Group.groups.get(databaseID));
96
- }
97
- static create(groupID, databaseID) {
98
- (0, assert_1.default)(typeof groupID === 'number', 'GroupID must be a number');
99
- Group.loadFromDatabaseIfNecessary();
100
- if (Group.groups.get(databaseID)[groupID]) {
101
- throw new Error(`Group with groupID '${groupID}' already exists`);
102
- }
103
- const database = entity_1.default.getDatabaseByID(databaseID);
104
- const ID = database.newID();
105
- const group = new Group(databaseID, ID, groupID, new Set(), {});
106
- database.insert(group.toDatabaseRecord());
107
- Group.groups.get(database.id)[group.groupID] = group;
108
- return group;
109
- }
110
- async removeFromNetwork() {
111
- for (const endpoint of this._members) {
112
- await endpoint.removeFromGroup(this);
113
- }
114
- this.removeFromDatabase();
115
- }
116
- removeFromDatabase() {
117
- Group.loadFromDatabaseIfNecessary();
118
- const database = entity_1.default.getDatabaseByID(this.databaseID);
119
- if (database.has(this.databaseID)) {
120
- database.remove(this.databaseID);
121
- }
122
- delete Group.groups.get(database.id)[this.groupID];
123
- }
124
- save(writeDatabase = true) {
125
- entity_1.default.getDatabaseByID(this.databaseID).update(this.toDatabaseRecord(), writeDatabase);
126
- }
127
- addMember(endpoint) {
128
- this._members.add(endpoint);
129
- this.save();
130
- }
131
- removeMember(endpoint) {
132
- this._members.delete(endpoint);
133
- this.save();
134
- }
135
- hasMember(endpoint) {
136
- return this._members.has(endpoint);
137
- }
138
- /*
139
- * Zigbee functions
140
- */
141
- async write(clusterKey, attributes, options) {
142
- var _a;
143
- options = this.getOptionsWithDefaults(options, Zcl.Direction.CLIENT_TO_SERVER);
144
- const cluster = Zcl.Utils.getCluster(clusterKey);
145
- const payload = [];
146
- for (const [nameOrID, value] of Object.entries(attributes)) {
147
- if (cluster.hasAttribute(nameOrID)) {
148
- const attribute = cluster.getAttribute(nameOrID);
149
- payload.push({ attrId: attribute.ID, attrData: value, dataType: attribute.type });
150
- }
151
- else if (!isNaN(Number(nameOrID))) {
152
- payload.push({ attrId: Number(nameOrID), attrData: value.value, dataType: value.type });
153
- }
154
- else {
155
- throw new Error(`Unknown attribute '${nameOrID}', specify either an existing attribute or a number`);
156
- }
157
- }
158
- const log = `Write ${this.groupID} ${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
159
- debug.info(log);
160
- try {
161
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, true, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), 'write', cluster.ID, payload, options.reservedBits);
162
- await entity_1.default.getAdapterByID(this.databaseID).sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
163
- }
164
- catch (error) {
165
- error.message = `${log} failed (${error.message})`;
166
- debug.error(error.message);
167
- throw error;
168
- }
169
- }
170
- async read(clusterKey, attributes, options) {
171
- var _a;
172
- options = this.getOptionsWithDefaults(options, Zcl.Direction.CLIENT_TO_SERVER);
173
- const cluster = Zcl.Utils.getCluster(clusterKey);
174
- const payload = [];
175
- for (const attribute of attributes) {
176
- payload.push({ attrId: typeof attribute === 'number' ? attribute : cluster.getAttribute(attribute).ID });
177
- }
178
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, true, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), 'read', cluster.ID, payload, options.reservedBits);
179
- const log = `Read ${this.groupID} ${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
180
- debug.info(log);
181
- try {
182
- await entity_1.default.getAdapterByID(this.databaseID).sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
183
- }
184
- catch (error) {
185
- error.message = `${log} failed (${error.message})`;
186
- debug.error(error.message);
187
- throw error;
188
- }
189
- }
190
- async command(clusterKey, commandKey, payload, options) {
191
- options = this.getOptionsWithDefaults(options, Zcl.Direction.CLIENT_TO_SERVER);
192
- const cluster = Zcl.Utils.getCluster(clusterKey);
193
- const command = cluster.getCommand(commandKey);
194
- const log = `Command ${this.groupID} ${cluster.name}.${command.name}(${JSON.stringify(payload)})`;
195
- debug.info(log);
196
- try {
197
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.SPECIFIC, options.direction, true, options.manufacturerCode, options.transactionSequenceNumber || zclTransactionSequenceNumber_1.default.next(), command.ID, cluster.ID, payload, options.reservedBits);
198
- await entity_1.default.getAdapterByID(this.databaseID).sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
199
- }
200
- catch (error) {
201
- error.message = `${log} failed (${error.message})`;
202
- debug.error(error.message);
203
- throw error;
204
- }
205
- }
206
- getOptionsWithDefaults(options, direction) {
207
- const providedOptions = options || {};
208
- return {
209
- direction,
210
- srcEndpoint: null,
211
- reservedBits: 0,
212
- manufacturerCode: null,
213
- transactionSequenceNumber: null,
214
- ...providedOptions
215
- };
216
- }
217
- }
218
- // This lookup contains all groups that are queried from the database, this is to ensure that always
219
- // the same instance is returned.
220
- Group.groups = new Map();
221
- exports.default = Group;
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 entity_1 = __importDefault(require("./entity"));
30
+ const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTransactionSequenceNumber"));
31
+ const Zcl = __importStar(require("../../zcl"));
32
+ const device_1 = __importDefault(require("./device"));
33
+ const assert_1 = __importDefault(require("assert"));
34
+ const debug_1 = __importDefault(require("debug"));
35
+ const debug = {
36
+ info: (0, debug_1.default)('zigbee-herdsman:controller:group'),
37
+ error: (0, debug_1.default)('zigbee-herdsman:controller:group'),
38
+ };
39
+ class Group extends entity_1.default {
40
+ get members() { return Array.from(this._members).filter((e) => e.getDevice()); }
41
+ constructor(databaseID, ID, groupID, members, meta) {
42
+ super();
43
+ this.databaseID = databaseID;
44
+ this.ID = ID;
45
+ this.groupID = groupID;
46
+ this._members = members;
47
+ this.meta = meta;
48
+ }
49
+ /*
50
+ * CRUD
51
+ */
52
+ static fromDatabaseEntry(entry, databaseID) {
53
+ const members = new Set();
54
+ for (const member of entry.members) {
55
+ const device = device_1.default.byIeeeAddr(databaseID, member.deviceIeeeAddr);
56
+ if (device) {
57
+ const endpoint = device.getEndpoint(member.endpointID);
58
+ members.add(endpoint);
59
+ }
60
+ }
61
+ return new Group(databaseID, entry.id, entry.groupID, members, entry.meta);
62
+ }
63
+ toDatabaseRecord() {
64
+ const members = Array.from(this.members).map((member) => {
65
+ return { deviceIeeeAddr: member.getDevice().ieeeAddr, endpointID: member.ID };
66
+ });
67
+ return { id: this.ID, type: 'Group', groupID: this.groupID, members, meta: this.meta };
68
+ }
69
+ static loadFromDatabaseIfNecessary() {
70
+ entity_1.default.databases.forEach(database => {
71
+ if (!Group.groups.get(database.id)) {
72
+ Group.groups.set(database.id, {});
73
+ const entries = database.getEntries(['Group']);
74
+ for (const entry of entries) {
75
+ const group = Group.fromDatabaseEntry(entry, database.id);
76
+ Group.groups.get(database.id)[group.groupID] = group;
77
+ }
78
+ }
79
+ });
80
+ }
81
+ static byGroupID(groupID, databaseID) {
82
+ Group.loadFromDatabaseIfNecessary();
83
+ return Group.groups.get(databaseID)[groupID];
84
+ }
85
+ // public static all(): Group[] {
86
+ // Group.loadFromDatabaseIfNecessary();
87
+ // const groups: Group[] = [];
88
+ // Group.groups.forEach(groupDB => {
89
+ // groups.push(...Object.values(groupDB));
90
+ // });
91
+ // return groups;
92
+ // }
93
+ static allByDatabaseID(databaseID) {
94
+ Group.loadFromDatabaseIfNecessary();
95
+ return Object.values(Group.groups.get(databaseID));
96
+ }
97
+ static create(groupID, databaseID) {
98
+ (0, assert_1.default)(typeof groupID === 'number', 'GroupID must be a number');
99
+ Group.loadFromDatabaseIfNecessary();
100
+ if (Group.groups.get(databaseID)[groupID]) {
101
+ throw new Error(`Group with groupID '${groupID}' already exists`);
102
+ }
103
+ const database = entity_1.default.getDatabaseByID(databaseID);
104
+ const ID = database.newID();
105
+ const group = new Group(databaseID, ID, groupID, new Set(), {});
106
+ database.insert(group.toDatabaseRecord());
107
+ Group.groups.get(database.id)[group.groupID] = group;
108
+ return group;
109
+ }
110
+ async removeFromNetwork() {
111
+ for (const endpoint of this._members) {
112
+ await endpoint.removeFromGroup(this);
113
+ }
114
+ this.removeFromDatabase();
115
+ }
116
+ removeFromDatabase() {
117
+ Group.loadFromDatabaseIfNecessary();
118
+ const database = entity_1.default.getDatabaseByID(this.databaseID);
119
+ if (database.has(this.databaseID)) {
120
+ database.remove(this.databaseID);
121
+ }
122
+ delete Group.groups.get(database.id)[this.groupID];
123
+ }
124
+ save(writeDatabase = true) {
125
+ entity_1.default.getDatabaseByID(this.databaseID).update(this.toDatabaseRecord(), writeDatabase);
126
+ }
127
+ addMember(endpoint) {
128
+ this._members.add(endpoint);
129
+ this.save();
130
+ }
131
+ removeMember(endpoint) {
132
+ this._members.delete(endpoint);
133
+ this.save();
134
+ }
135
+ hasMember(endpoint) {
136
+ return this._members.has(endpoint);
137
+ }
138
+ /*
139
+ * Zigbee functions
140
+ */
141
+ async write(clusterKey, attributes, options) {
142
+ var _a;
143
+ options = this.getOptionsWithDefaults(options, Zcl.Direction.CLIENT_TO_SERVER);
144
+ const cluster = Zcl.Utils.getCluster(clusterKey);
145
+ const payload = [];
146
+ for (const [nameOrID, value] of Object.entries(attributes)) {
147
+ if (cluster.hasAttribute(nameOrID)) {
148
+ const attribute = cluster.getAttribute(nameOrID);
149
+ payload.push({ attrId: attribute.ID, attrData: value, dataType: attribute.type });
150
+ }
151
+ else if (!isNaN(Number(nameOrID))) {
152
+ payload.push({ attrId: Number(nameOrID), attrData: value.value, dataType: value.type });
153
+ }
154
+ else {
155
+ throw new Error(`Unknown attribute '${nameOrID}', specify either an existing attribute or a number`);
156
+ }
157
+ }
158
+ const log = `Write ${this.groupID} ${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
159
+ debug.info(log);
160
+ try {
161
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, true, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), 'write', cluster.ID, payload, options.reservedBits);
162
+ await entity_1.default.getAdapterByID(this.databaseID).sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
163
+ }
164
+ catch (error) {
165
+ error.message = `${log} failed (${error.message})`;
166
+ debug.error(error.message);
167
+ throw error;
168
+ }
169
+ }
170
+ async read(clusterKey, attributes, options) {
171
+ var _a;
172
+ options = this.getOptionsWithDefaults(options, Zcl.Direction.CLIENT_TO_SERVER);
173
+ const cluster = Zcl.Utils.getCluster(clusterKey);
174
+ const payload = [];
175
+ for (const attribute of attributes) {
176
+ payload.push({ attrId: typeof attribute === 'number' ? attribute : cluster.getAttribute(attribute).ID });
177
+ }
178
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, true, options.manufacturerCode, (_a = options.transactionSequenceNumber) !== null && _a !== void 0 ? _a : zclTransactionSequenceNumber_1.default.next(), 'read', cluster.ID, payload, options.reservedBits);
179
+ const log = `Read ${this.groupID} ${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
180
+ debug.info(log);
181
+ try {
182
+ await entity_1.default.getAdapterByID(this.databaseID).sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
183
+ }
184
+ catch (error) {
185
+ error.message = `${log} failed (${error.message})`;
186
+ debug.error(error.message);
187
+ throw error;
188
+ }
189
+ }
190
+ async command(clusterKey, commandKey, payload, options) {
191
+ options = this.getOptionsWithDefaults(options, Zcl.Direction.CLIENT_TO_SERVER);
192
+ const cluster = Zcl.Utils.getCluster(clusterKey);
193
+ const command = cluster.getCommand(commandKey);
194
+ const log = `Command ${this.groupID} ${cluster.name}.${command.name}(${JSON.stringify(payload)})`;
195
+ debug.info(log);
196
+ try {
197
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.SPECIFIC, options.direction, true, options.manufacturerCode, options.transactionSequenceNumber || zclTransactionSequenceNumber_1.default.next(), command.ID, cluster.ID, payload, options.reservedBits);
198
+ await entity_1.default.getAdapterByID(this.databaseID).sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
199
+ }
200
+ catch (error) {
201
+ error.message = `${log} failed (${error.message})`;
202
+ debug.error(error.message);
203
+ throw error;
204
+ }
205
+ }
206
+ getOptionsWithDefaults(options, direction) {
207
+ const providedOptions = options || {};
208
+ return {
209
+ direction,
210
+ srcEndpoint: null,
211
+ reservedBits: 0,
212
+ manufacturerCode: null,
213
+ transactionSequenceNumber: null,
214
+ ...providedOptions
215
+ };
216
+ }
217
+ }
218
+ // This lookup contains all groups that are queried from the database, this is to ensure that always
219
+ // the same instance is returned.
220
+ Group.groups = new Map();
221
+ exports.default = Group;
222
222
  //# sourceMappingURL=group.js.map
@@ -1,6 +1,6 @@
1
- import Device from './device';
2
- import Endpoint from './endpoint';
3
- import Entity from './entity';
4
- import Group from './group';
5
- export { Device, Endpoint, Entity, Group, };
1
+ import Device from './device';
2
+ import Endpoint from './endpoint';
3
+ import Entity from './entity';
4
+ import Group from './group';
5
+ export { Device, Endpoint, Entity, Group, };
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1,15 +1,15 @@
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.Group = exports.Entity = exports.Endpoint = exports.Device = void 0;
7
- const device_1 = __importDefault(require("./device"));
8
- exports.Device = device_1.default;
9
- const endpoint_1 = __importDefault(require("./endpoint"));
10
- exports.Endpoint = endpoint_1.default;
11
- const entity_1 = __importDefault(require("./entity"));
12
- exports.Entity = entity_1.default;
13
- const group_1 = __importDefault(require("./group"));
14
- exports.Group = group_1.default;
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.Group = exports.Entity = exports.Endpoint = exports.Device = void 0;
7
+ const device_1 = __importDefault(require("./device"));
8
+ exports.Device = device_1.default;
9
+ const endpoint_1 = __importDefault(require("./endpoint"));
10
+ exports.Endpoint = endpoint_1.default;
11
+ const entity_1 = __importDefault(require("./entity"));
12
+ exports.Entity = entity_1.default;
13
+ const group_1 = __importDefault(require("./group"));
14
+ exports.Group = group_1.default;
15
15
  //# sourceMappingURL=index.js.map
@@ -1,20 +1,20 @@
1
- import { Adapter } from '../adapter';
2
- declare class Touchlink {
3
- private adapter;
4
- private locked;
5
- constructor(adapter: Adapter);
6
- private lock;
7
- private transactionNumber;
8
- scan(): Promise<{
9
- ieeeAddr: string;
10
- channel: number;
11
- }[]>;
12
- identify(ieeeAddr: string, channel: number): Promise<void>;
13
- factoryReset(ieeeAddr: string, channel: number): Promise<boolean>;
14
- factoryResetFirst(): Promise<boolean>;
15
- private createScanRequestFrame;
16
- private createIdentifyRequestFrame;
17
- private createResetFactoryNewRequestFrame;
18
- }
19
- export default Touchlink;
1
+ import { Adapter } from '../adapter';
2
+ declare class Touchlink {
3
+ private adapter;
4
+ private locked;
5
+ constructor(adapter: Adapter);
6
+ private lock;
7
+ private transactionNumber;
8
+ scan(): Promise<{
9
+ ieeeAddr: string;
10
+ channel: number;
11
+ }[]>;
12
+ identify(ieeeAddr: string, channel: number): Promise<void>;
13
+ factoryReset(ieeeAddr: string, channel: number): Promise<boolean>;
14
+ factoryResetFirst(): Promise<boolean>;
15
+ private createScanRequestFrame;
16
+ private createIdentifyRequestFrame;
17
+ private createResetFactoryNewRequestFrame;
18
+ }
19
+ export default Touchlink;
20
20
  //# sourceMappingURL=touchlink.d.ts.map