zigbee-herdsman 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +19 -0
  3. package/dist/adapter/adapter.js +39 -11
  4. package/dist/adapter/adapter.js.map +1 -1
  5. package/dist/adapter/deconz/adapter/deconzAdapter.js +94 -66
  6. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  7. package/dist/adapter/deconz/adapter/index.js +8 -2
  8. package/dist/adapter/deconz/adapter/index.js.map +1 -1
  9. package/dist/adapter/deconz/driver/constants.js +3 -1
  10. package/dist/adapter/deconz/driver/constants.js.map +1 -1
  11. package/dist/adapter/deconz/driver/driver.js +68 -57
  12. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  13. package/dist/adapter/deconz/driver/frame.js +3 -1
  14. package/dist/adapter/deconz/driver/frame.js.map +1 -1
  15. package/dist/adapter/deconz/driver/frameParser.js +41 -36
  16. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  17. package/dist/adapter/deconz/driver/parser.js +34 -6
  18. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  19. package/dist/adapter/deconz/driver/writer.js +34 -6
  20. package/dist/adapter/deconz/driver/writer.js.map +1 -1
  21. package/dist/adapter/events.js +4 -2
  22. package/dist/adapter/events.js.map +1 -1
  23. package/dist/adapter/ezsp/adapter/backup.js +15 -8
  24. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  25. package/dist/adapter/ezsp/adapter/ezspAdapter.js +81 -53
  26. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  27. package/dist/adapter/ezsp/adapter/index.js +8 -2
  28. package/dist/adapter/ezsp/adapter/index.js.map +1 -1
  29. package/dist/adapter/ezsp/driver/commands.js +628 -629
  30. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  31. package/dist/adapter/ezsp/driver/consts.js +13 -10
  32. package/dist/adapter/ezsp/driver/consts.js.map +1 -1
  33. package/dist/adapter/ezsp/driver/driver.js +93 -86
  34. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  35. package/dist/adapter/ezsp/driver/ezsp.js +100 -67
  36. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  37. package/dist/adapter/ezsp/driver/index.js +7 -3
  38. package/dist/adapter/ezsp/driver/index.js.map +1 -1
  39. package/dist/adapter/ezsp/driver/multicast.js +18 -11
  40. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  41. package/dist/adapter/ezsp/driver/parser.js +35 -5
  42. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  43. package/dist/adapter/ezsp/driver/types/basic.js +41 -19
  44. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  45. package/dist/adapter/ezsp/driver/types/index.js +119 -12
  46. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  47. package/dist/adapter/ezsp/driver/types/named.js +135 -55
  48. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  49. package/dist/adapter/ezsp/driver/types/struct.js +118 -47
  50. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  51. package/dist/adapter/ezsp/driver/uart.js +54 -24
  52. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  53. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +3 -1
  54. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  55. package/dist/adapter/ezsp/driver/utils/index.js +25 -16
  56. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  57. package/dist/adapter/ezsp/driver/writer.js +37 -7
  58. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  59. package/dist/adapter/index.js +35 -4
  60. package/dist/adapter/index.js.map +1 -1
  61. package/dist/adapter/serialPort.js +8 -4
  62. package/dist/adapter/serialPort.js.map +1 -1
  63. package/dist/adapter/serialPortUtils.js +9 -7
  64. package/dist/adapter/serialPortUtils.js.map +1 -1
  65. package/dist/adapter/socketPortUtils.js +3 -1
  66. package/dist/adapter/socketPortUtils.js.map +1 -1
  67. package/dist/adapter/tstype.js +2 -1
  68. package/dist/adapter/z-stack/adapter/adapter-backup.js +95 -65
  69. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  70. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +23 -19
  71. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  72. package/dist/adapter/z-stack/adapter/endpoints.js +29 -3
  73. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
  74. package/dist/adapter/z-stack/adapter/index.js +8 -2
  75. package/dist/adapter/z-stack/adapter/index.js.map +1 -1
  76. package/dist/adapter/z-stack/adapter/manager.js +99 -69
  77. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  78. package/dist/adapter/z-stack/adapter/tstype.js +4 -2
  79. package/dist/adapter/z-stack/adapter/tstype.js.map +1 -1
  80. package/dist/adapter/z-stack/adapter/zStackAdapter.js +76 -48
  81. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  82. package/dist/adapter/z-stack/constants/af.js +3 -1
  83. package/dist/adapter/z-stack/constants/af.js.map +1 -1
  84. package/dist/adapter/z-stack/constants/common.js +19 -16
  85. package/dist/adapter/z-stack/constants/common.js.map +1 -1
  86. package/dist/adapter/z-stack/constants/dbg.js +3 -1
  87. package/dist/adapter/z-stack/constants/dbg.js.map +1 -1
  88. package/dist/adapter/z-stack/constants/index.js +47 -10
  89. package/dist/adapter/z-stack/constants/index.js.map +1 -1
  90. package/dist/adapter/z-stack/constants/mac.js +3 -1
  91. package/dist/adapter/z-stack/constants/mac.js.map +1 -1
  92. package/dist/adapter/z-stack/constants/sapi.js +3 -1
  93. package/dist/adapter/z-stack/constants/sapi.js.map +1 -1
  94. package/dist/adapter/z-stack/constants/sys.js +3 -1
  95. package/dist/adapter/z-stack/constants/sys.js.map +1 -1
  96. package/dist/adapter/z-stack/constants/util.js +3 -1
  97. package/dist/adapter/z-stack/constants/util.js.map +1 -1
  98. package/dist/adapter/z-stack/constants/utils.js +7 -3
  99. package/dist/adapter/z-stack/constants/utils.js.map +1 -1
  100. package/dist/adapter/z-stack/constants/zdo.js +3 -1
  101. package/dist/adapter/z-stack/constants/zdo.js.map +1 -1
  102. package/dist/adapter/z-stack/models/index.js +17 -1
  103. package/dist/adapter/z-stack/models/index.js.map +1 -1
  104. package/dist/adapter/z-stack/models/startup-options.js +2 -1
  105. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +9 -5
  106. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  107. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +9 -5
  108. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
  109. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +7 -3
  110. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
  111. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +9 -5
  112. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
  113. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +7 -3
  114. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
  115. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +9 -5
  116. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
  117. package/dist/adapter/z-stack/structs/entries/channel-list.js +6 -2
  118. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
  119. package/dist/adapter/z-stack/structs/entries/has-configured.js +6 -2
  120. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
  121. package/dist/adapter/z-stack/structs/entries/index.js +32 -16
  122. package/dist/adapter/z-stack/structs/entries/index.js.map +1 -1
  123. package/dist/adapter/z-stack/structs/entries/nib.js +10 -6
  124. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
  125. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +6 -2
  126. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
  127. package/dist/adapter/z-stack/structs/entries/nwk-key.js +6 -2
  128. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
  129. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +6 -2
  130. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
  131. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +6 -2
  132. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
  133. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +9 -5
  134. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
  135. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +9 -5
  136. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  137. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +10 -6
  138. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
  139. package/dist/adapter/z-stack/structs/index.js +20 -4
  140. package/dist/adapter/z-stack/structs/index.js.map +1 -1
  141. package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -1
  142. package/dist/adapter/z-stack/structs/struct.js +5 -1
  143. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  144. package/dist/adapter/z-stack/structs/table.js +5 -1
  145. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  146. package/dist/adapter/z-stack/unpi/constants.js +12 -3
  147. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  148. package/dist/adapter/z-stack/unpi/frame.js +9 -7
  149. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  150. package/dist/adapter/z-stack/unpi/index.js +37 -5
  151. package/dist/adapter/z-stack/unpi/index.js.map +1 -1
  152. package/dist/adapter/z-stack/unpi/parser.js +40 -12
  153. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  154. package/dist/adapter/z-stack/unpi/writer.js +32 -4
  155. package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
  156. package/dist/adapter/z-stack/utils/channel-list.js +11 -5
  157. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
  158. package/dist/adapter/z-stack/utils/index.js +18 -2
  159. package/dist/adapter/z-stack/utils/index.js.map +1 -1
  160. package/dist/adapter/z-stack/utils/network-options.js +7 -3
  161. package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
  162. package/dist/adapter/z-stack/znp/buffaloZnp.js +5 -3
  163. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  164. package/dist/adapter/z-stack/znp/definition.js +1285 -1280
  165. package/dist/adapter/z-stack/znp/definition.js.map +1 -1
  166. package/dist/adapter/z-stack/znp/index.js +10 -3
  167. package/dist/adapter/z-stack/znp/index.js.map +1 -1
  168. package/dist/adapter/z-stack/znp/parameterType.js +3 -1
  169. package/dist/adapter/z-stack/znp/parameterType.js.map +1 -1
  170. package/dist/adapter/z-stack/znp/tstype.js +2 -1
  171. package/dist/adapter/z-stack/znp/znp.js +81 -53
  172. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  173. package/dist/adapter/z-stack/znp/zpiObject.js +29 -24
  174. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  175. package/dist/adapter/zigate/adapter/index.js +8 -2
  176. package/dist/adapter/zigate/adapter/index.js.map +1 -1
  177. package/dist/adapter/zigate/adapter/zigateAdapter.js +87 -59
  178. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  179. package/dist/adapter/zigate/debug.js +9 -3
  180. package/dist/adapter/zigate/debug.js.map +1 -1
  181. package/dist/adapter/zigate/driver/buffaloZiGate.js +9 -7
  182. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  183. package/dist/adapter/zigate/driver/commandType.js +50 -45
  184. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  185. package/dist/adapter/zigate/driver/constants.js +34 -31
  186. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  187. package/dist/adapter/zigate/driver/frame.js +6 -3
  188. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  189. package/dist/adapter/zigate/driver/messageType.js +30 -27
  190. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  191. package/dist/adapter/zigate/driver/parameterType.js +3 -1
  192. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  193. package/dist/adapter/zigate/driver/ziGateObject.js +18 -13
  194. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  195. package/dist/adapter/zigate/driver/zigate.js +47 -41
  196. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  197. package/dist/buffalo/buffalo.js +5 -3
  198. package/dist/buffalo/buffalo.js.map +1 -1
  199. package/dist/buffalo/index.js +33 -3
  200. package/dist/buffalo/index.js.map +1 -1
  201. package/dist/buffalo/tstype.js +2 -1
  202. package/dist/controller/controller.js +108 -80
  203. package/dist/controller/controller.js.map +1 -1
  204. package/dist/controller/database.js +16 -11
  205. package/dist/controller/database.js.map +1 -1
  206. package/dist/controller/events.js +5 -2
  207. package/dist/controller/events.js.map +1 -1
  208. package/dist/controller/greenPower.js +44 -16
  209. package/dist/controller/greenPower.js.map +1 -1
  210. package/dist/controller/helpers/index.js +28 -2
  211. package/dist/controller/helpers/index.js.map +1 -1
  212. package/dist/controller/helpers/request.js +3 -1
  213. package/dist/controller/helpers/request.js.map +1 -1
  214. package/dist/controller/helpers/requestQueue.js +9 -4
  215. package/dist/controller/helpers/requestQueue.js.map +1 -1
  216. package/dist/controller/helpers/zclFrameConverter.js +12 -5
  217. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  218. package/dist/controller/helpers/zclTransactionSequenceNumber.js +3 -1
  219. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  220. package/dist/controller/index.js +8 -5
  221. package/dist/controller/index.js.map +1 -1
  222. package/dist/controller/logger-stub.js +2 -1
  223. package/dist/controller/model/device.js +67 -39
  224. package/dist/controller/model/device.js.map +1 -1
  225. package/dist/controller/model/endpoint.js +73 -45
  226. package/dist/controller/model/endpoint.js.map +1 -1
  227. package/dist/controller/model/entity.js +8 -3
  228. package/dist/controller/model/entity.js.map +1 -1
  229. package/dist/controller/model/group.js +52 -24
  230. package/dist/controller/model/group.js.map +1 -1
  231. package/dist/controller/model/index.js +14 -5
  232. package/dist/controller/model/index.js.map +1 -1
  233. package/dist/controller/touchlink.js +37 -9
  234. package/dist/controller/touchlink.js.map +1 -1
  235. package/dist/controller/tstype.js +4 -2
  236. package/dist/controller/tstype.js.map +1 -1
  237. package/dist/index.js +33 -3
  238. package/dist/index.js.map +1 -1
  239. package/dist/models/backup-storage-legacy.js +2 -1
  240. package/dist/models/backup-storage-unified.js +2 -1
  241. package/dist/models/backup.js +2 -1
  242. package/dist/models/index.js +20 -4
  243. package/dist/models/index.js.map +1 -1
  244. package/dist/models/network-options.js +2 -1
  245. package/dist/utils/assertString.js +3 -1
  246. package/dist/utils/assertString.js.map +1 -1
  247. package/dist/utils/backup.js +37 -8
  248. package/dist/utils/backup.js.map +1 -1
  249. package/dist/utils/equalsPartial.js +8 -3
  250. package/dist/utils/equalsPartial.js.map +1 -1
  251. package/dist/utils/index.js +45 -9
  252. package/dist/utils/index.js.map +1 -1
  253. package/dist/utils/isNumberArray.js +3 -1
  254. package/dist/utils/isNumberArray.js.map +1 -1
  255. package/dist/utils/queue.js +3 -1
  256. package/dist/utils/queue.js.map +1 -1
  257. package/dist/utils/realpathSync.js +8 -3
  258. package/dist/utils/realpathSync.js.map +1 -1
  259. package/dist/utils/wait.js +3 -1
  260. package/dist/utils/wait.js.map +1 -1
  261. package/dist/utils/waitress.js +3 -1
  262. package/dist/utils/waitress.js.map +1 -1
  263. package/dist/zcl/buffaloZcl.js +44 -16
  264. package/dist/zcl/buffaloZcl.js.map +1 -1
  265. package/dist/zcl/definition/buffaloZclDataType.js +3 -1
  266. package/dist/zcl/definition/buffaloZclDataType.js.map +1 -1
  267. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  268. package/dist/zcl/definition/cluster.js +2371 -2352
  269. package/dist/zcl/definition/cluster.js.map +1 -1
  270. package/dist/zcl/definition/dataType.js +3 -1
  271. package/dist/zcl/definition/dataType.js.map +1 -1
  272. package/dist/zcl/definition/direction.js +3 -1
  273. package/dist/zcl/definition/direction.js.map +1 -1
  274. package/dist/zcl/definition/endpointDeviceType.js +3 -1
  275. package/dist/zcl/definition/endpointDeviceType.js.map +1 -1
  276. package/dist/zcl/definition/foundation.js +58 -53
  277. package/dist/zcl/definition/foundation.js.map +1 -1
  278. package/dist/zcl/definition/frameControl.js +2 -1
  279. package/dist/zcl/definition/frameType.js +3 -1
  280. package/dist/zcl/definition/frameType.js.map +1 -1
  281. package/dist/zcl/definition/index.js +51 -12
  282. package/dist/zcl/definition/index.js.map +1 -1
  283. package/dist/zcl/definition/manufacturerCode.js +3 -1
  284. package/dist/zcl/definition/manufacturerCode.js.map +1 -1
  285. package/dist/zcl/definition/powerSource.js +3 -1
  286. package/dist/zcl/definition/powerSource.js.map +1 -1
  287. package/dist/zcl/definition/status.js +3 -1
  288. package/dist/zcl/definition/status.js.map +1 -1
  289. package/dist/zcl/definition/tstype.js +2 -1
  290. package/dist/zcl/index.js +55 -14
  291. package/dist/zcl/index.js.map +1 -1
  292. package/dist/zcl/tstype.js +4 -2
  293. package/dist/zcl/tstype.js.map +1 -1
  294. package/dist/zcl/utils.js +27 -22
  295. package/dist/zcl/utils.js.map +1 -1
  296. package/dist/zcl/zclFrame.js +70 -42
  297. package/dist/zcl/zclFrame.js.map +1 -1
  298. package/dist/zcl/zclHeader.js +2 -1
  299. package/dist/zcl/zclStatusError.js +8 -3
  300. package/dist/zcl/zclStatusError.js.map +1 -1
  301. package/package.json +1 -1
  302. package/tsconfig.json +1 -1
@@ -1,18 +1,46 @@
1
- import Entity from './entity';
2
- import * as Zcl from '../../zcl';
3
- import ZclTransactionSequenceNumber from '../helpers/zclTransactionSequenceNumber';
4
- import * as ZclFrameConverter from '../helpers/zclFrameConverter';
5
- import Request from '../helpers/request';
6
- import RequestQueue from '../helpers/requestQueue';
7
- import Group from './group';
8
- import Device from './device';
9
- import Debug from "debug";
10
- import assert from 'assert';
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 Zcl = __importStar(require("../../zcl"));
31
+ const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTransactionSequenceNumber"));
32
+ const ZclFrameConverter = __importStar(require("../helpers/zclFrameConverter"));
33
+ const request_1 = __importDefault(require("../helpers/request"));
34
+ const requestQueue_1 = __importDefault(require("../helpers/requestQueue"));
35
+ const group_1 = __importDefault(require("./group"));
36
+ const device_1 = __importDefault(require("./device"));
37
+ const debug_1 = __importDefault(require("debug"));
38
+ const assert_1 = __importDefault(require("assert"));
11
39
  const debug = {
12
- info: Debug('zigbee-herdsman:controller:endpoint'),
13
- error: Debug('zigbee-herdsman:controller:endpoint'),
40
+ info: (0, debug_1.default)('zigbee-herdsman:controller:endpoint'),
41
+ error: (0, debug_1.default)('zigbee-herdsman:controller:endpoint'),
14
42
  };
15
- class Endpoint extends Entity {
43
+ class Endpoint extends entity_1.default {
16
44
  deviceID;
17
45
  inputClusters;
18
46
  outputClusters;
@@ -30,13 +58,13 @@ class Endpoint extends Entity {
30
58
  return this._binds.map((entry) => {
31
59
  let target = null;
32
60
  if (entry.type === 'endpoint') {
33
- const device = Device.byIeeeAddr(entry.deviceIeeeAddress);
61
+ const device = device_1.default.byIeeeAddr(entry.deviceIeeeAddress);
34
62
  if (device) {
35
63
  target = device.getEndpoint(entry.endpointID);
36
64
  }
37
65
  }
38
66
  else {
39
- target = Group.byGroupID(entry.groupID);
67
+ target = group_1.default.byGroupID(entry.groupID);
40
68
  }
41
69
  if (target) {
42
70
  return { target, cluster: Zcl.Utils.getCluster(entry.cluster, this.getDevice().manufacturerID) };
@@ -82,13 +110,13 @@ class Endpoint extends Entity {
82
110
  this._binds = binds;
83
111
  this._configuredReportings = configuredReportings;
84
112
  this.meta = meta;
85
- this.pendingRequests = new RequestQueue(this);
113
+ this.pendingRequests = new requestQueue_1.default(this);
86
114
  }
87
115
  /**
88
116
  * Get device of this endpoint
89
117
  */
90
118
  getDevice() {
91
- return Device.byIeeeAddr(this.deviceIeeeAddress);
119
+ return device_1.default.byIeeeAddr(this.deviceIeeeAddress);
92
120
  }
93
121
  /**
94
122
  * @param {number|string} clusterKey
@@ -169,10 +197,10 @@ class Endpoint extends Entity {
169
197
  return this.pendingRequests.send(fastPolling);
170
198
  }
171
199
  async sendRequest(frame, options, func = (d) => {
172
- return Entity.adapter.sendZclFrameToEndpoint(this.deviceIeeeAddress, this.deviceNetworkAddress, this.ID, d, options.timeout, options.disableResponse, options.disableRecovery, options.srcEndpoint);
200
+ return entity_1.default.adapter.sendZclFrameToEndpoint(this.deviceIeeeAddress, this.deviceNetworkAddress, this.ID, d, options.timeout, options.disableResponse, options.disableRecovery, options.srcEndpoint);
173
201
  }) {
174
202
  const logPrefix = `Request Queue (${this.deviceIeeeAddress}/${this.ID}): `;
175
- const request = new Request(func, frame, this.getDevice().pendingRequestTimeout, options.sendWhen, options.sendPolicy);
203
+ const request = new request_1.default(func, frame, this.getDevice().pendingRequestTimeout, options.sendWhen, options.sendPolicy);
176
204
  if (request.sendPolicy !== 'bulk') {
177
205
  // Check if such a request is already in the queue and remove the old one(s) if necessary
178
206
  this.pendingRequests.filter(request);
@@ -231,7 +259,7 @@ class Endpoint extends Entity {
231
259
  `${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
232
260
  debug.info(log);
233
261
  try {
234
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? ZclTransactionSequenceNumber.next(), "report", cluster.ID, payload, options.reservedBits);
262
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), "report", cluster.ID, payload, options.reservedBits);
235
263
  await this.sendRequest(frame, options);
236
264
  }
237
265
  catch (error) {
@@ -260,7 +288,7 @@ class Endpoint extends Entity {
260
288
  `${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
261
289
  debug.info(log);
262
290
  try {
263
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? ZclTransactionSequenceNumber.next(), options.writeUndiv ? "writeUndiv" : "write", cluster.ID, payload, options.reservedBits);
291
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), options.writeUndiv ? "writeUndiv" : "write", cluster.ID, payload, options.reservedBits);
264
292
  const result = await this.sendRequest(frame, options);
265
293
  if (!options.disableResponse) {
266
294
  this.checkStatus(result.frame.Payload);
@@ -273,7 +301,7 @@ class Endpoint extends Entity {
273
301
  }
274
302
  }
275
303
  async writeResponse(clusterKey, transactionSequenceNumber, attributes, options) {
276
- assert(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
304
+ (0, assert_1.default)(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
277
305
  const cluster = Zcl.Utils.getCluster(clusterKey);
278
306
  options = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, cluster.manufacturerCode);
279
307
  const payload = [];
@@ -314,7 +342,7 @@ class Endpoint extends Entity {
314
342
  for (const attribute of attributes) {
315
343
  payload.push({ attrId: typeof attribute === 'number' ? attribute : cluster.getAttribute(attribute).ID });
316
344
  }
317
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? ZclTransactionSequenceNumber.next(), 'read', cluster.ID, payload, options.reservedBits);
345
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), 'read', cluster.ID, payload, options.reservedBits);
318
346
  const log = `Read ${this.deviceIeeeAddress}/${this.ID} ` +
319
347
  `${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
320
348
  debug.info(log);
@@ -335,7 +363,7 @@ class Endpoint extends Entity {
335
363
  }
336
364
  }
337
365
  async readResponse(clusterKey, transactionSequenceNumber, attributes, options) {
338
- assert(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
366
+ (0, assert_1.default)(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
339
367
  const cluster = Zcl.Utils.getCluster(clusterKey);
340
368
  options = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, cluster.manufacturerCode);
341
369
  const payload = [];
@@ -367,10 +395,10 @@ class Endpoint extends Entity {
367
395
  addBinding(clusterKey, target) {
368
396
  const cluster = Zcl.Utils.getCluster(clusterKey);
369
397
  if (typeof target === 'number') {
370
- target = Group.byGroupID(target) || Group.create(target);
398
+ target = group_1.default.byGroupID(target) || group_1.default.create(target);
371
399
  }
372
400
  if (!this.binds.find((b) => b.cluster.ID === cluster.ID && b.target === target)) {
373
- if (target instanceof Group) {
401
+ if (target instanceof group_1.default) {
374
402
  this._binds.push({ cluster: cluster.ID, groupID: target.groupID, type: 'group' });
375
403
  }
376
404
  else {
@@ -386,14 +414,14 @@ class Endpoint extends Entity {
386
414
  const cluster = Zcl.Utils.getCluster(clusterKey);
387
415
  const type = target instanceof Endpoint ? 'endpoint' : 'group';
388
416
  if (typeof target === 'number') {
389
- target = Group.byGroupID(target) || Group.create(target);
417
+ target = group_1.default.byGroupID(target) || group_1.default.create(target);
390
418
  }
391
419
  const destinationAddress = target instanceof Endpoint ? target.deviceIeeeAddress : target.groupID;
392
420
  const log = `Bind ${this.deviceIeeeAddress}/${this.ID} ${cluster.name} from ` +
393
421
  `'${target instanceof Endpoint ? `${destinationAddress}/${target.ID}` : destinationAddress}'`;
394
422
  debug.info(log);
395
423
  try {
396
- await Entity.adapter.bind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : null);
424
+ await entity_1.default.adapter.bind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : null);
397
425
  this.addBinding(clusterKey, target);
398
426
  }
399
427
  catch (error) {
@@ -408,14 +436,14 @@ class Endpoint extends Entity {
408
436
  async unbind(clusterKey, target) {
409
437
  const cluster = Zcl.Utils.getCluster(clusterKey);
410
438
  const type = target instanceof Endpoint ? 'endpoint' : 'group';
411
- const destinationAddress = target instanceof Endpoint ? target.deviceIeeeAddress : (target instanceof Group ? target.groupID : target);
439
+ const destinationAddress = target instanceof Endpoint ? target.deviceIeeeAddress : (target instanceof group_1.default ? target.groupID : target);
412
440
  const log = `Unbind ${this.deviceIeeeAddress}/${this.ID} ${cluster.name} from ` +
413
441
  `'${target instanceof Endpoint ? `${destinationAddress}/${target.ID}` : destinationAddress}'`;
414
442
  debug.info(log);
415
443
  try {
416
- await Entity.adapter.unbind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : null);
417
- if (typeof target === 'number' && Group.byGroupID(target)) {
418
- target = Group.byGroupID(target);
444
+ await entity_1.default.adapter.unbind(this.deviceNetworkAddress, this.deviceIeeeAddress, this.ID, cluster.ID, destinationAddress, type, target instanceof Endpoint ? target.ID : null);
445
+ if (typeof target === 'number' && group_1.default.byGroupID(target)) {
446
+ target = group_1.default.byGroupID(target);
419
447
  }
420
448
  const index = this.binds.findIndex((b) => b.cluster.ID === cluster.ID && b.target === target);
421
449
  if (index !== -1) {
@@ -430,7 +458,7 @@ class Endpoint extends Entity {
430
458
  }
431
459
  }
432
460
  async defaultResponse(commandID, status, clusterID, transactionSequenceNumber, options) {
433
- assert(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
461
+ (0, assert_1.default)(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
434
462
  options = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, null);
435
463
  const payload = { cmdId: commandID, statusCode: status };
436
464
  const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber, 'defaultRsp', clusterID, payload, options.reservedBits);
@@ -474,7 +502,7 @@ class Endpoint extends Entity {
474
502
  repChange: item.reportableChange,
475
503
  };
476
504
  });
477
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? ZclTransactionSequenceNumber.next(), 'configReport', cluster.ID, payload, options.reservedBits);
505
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), 'configReport', cluster.ID, payload, options.reservedBits);
478
506
  const log = `ConfigureReporting ${this.deviceIeeeAddress}/${this.ID} ` +
479
507
  `${cluster.name}(${JSON.stringify(items)}, ${JSON.stringify(options)})`;
480
508
  debug.info(log);
@@ -507,7 +535,7 @@ class Endpoint extends Entity {
507
535
  async writeStructured(clusterKey, payload, options) {
508
536
  const cluster = Zcl.Utils.getCluster(clusterKey);
509
537
  options = this.getOptionsWithDefaults(options, true, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
510
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? ZclTransactionSequenceNumber.next(), `writeStructured`, cluster.ID, payload, options.reservedBits);
538
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), `writeStructured`, cluster.ID, payload, options.reservedBits);
511
539
  const log = `WriteStructured ${this.deviceIeeeAddress}/${this.ID} ` +
512
540
  `${cluster.name}(${JSON.stringify(payload)}, ${JSON.stringify(options)})`;
513
541
  debug.info(log);
@@ -526,7 +554,7 @@ class Endpoint extends Entity {
526
554
  const command = cluster.getCommand(commandKey);
527
555
  const hasResponse = command.hasOwnProperty('response');
528
556
  options = this.getOptionsWithDefaults(options, hasResponse, Zcl.Direction.CLIENT_TO_SERVER, cluster.manufacturerCode);
529
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.SPECIFIC, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? ZclTransactionSequenceNumber.next(), command.name, cluster.name, payload, options.reservedBits);
557
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.SPECIFIC, options.direction, options.disableDefaultResponse, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), command.name, cluster.name, payload, options.reservedBits);
530
558
  const log = `Command ${this.deviceIeeeAddress}/${this.ID} ` +
531
559
  `${cluster.name}.${command.name}(${JSON.stringify(payload)}, ${JSON.stringify(options)})`;
532
560
  debug.info(log);
@@ -543,10 +571,10 @@ class Endpoint extends Entity {
543
571
  }
544
572
  }
545
573
  async commandResponse(clusterKey, commandKey, payload, options, transactionSequenceNumber) {
546
- assert(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
574
+ (0, assert_1.default)(!options || !options.hasOwnProperty('transactionSequenceNumber'), 'Use parameter');
547
575
  const cluster = Zcl.Utils.getCluster(clusterKey);
548
576
  const command = cluster.getCommandResponse(commandKey);
549
- transactionSequenceNumber = transactionSequenceNumber || ZclTransactionSequenceNumber.next();
577
+ transactionSequenceNumber = transactionSequenceNumber || zclTransactionSequenceNumber_1.default.next();
550
578
  options = this.getOptionsWithDefaults(options, true, Zcl.Direction.SERVER_TO_CLIENT, cluster.manufacturerCode);
551
579
  const frame = Zcl.ZclFrame.create(Zcl.FrameType.SPECIFIC, options.direction, options.disableDefaultResponse, options.manufacturerCode, transactionSequenceNumber, command.name, cluster.name, payload, options.reservedBits);
552
580
  const log = `CommandResponse ${this.deviceIeeeAddress}/${this.ID} ` +
@@ -556,10 +584,10 @@ class Endpoint extends Entity {
556
584
  await this.sendRequest(frame, options, async (f) => {
557
585
  // Broadcast Green Power responses
558
586
  if (this.ID === 242) {
559
- await Entity.adapter.sendZclFrameToAll(242, f, 242);
587
+ await entity_1.default.adapter.sendZclFrameToAll(242, f, 242);
560
588
  }
561
589
  else {
562
- await Entity.adapter.sendZclFrameToEndpoint(this.deviceIeeeAddress, this.deviceNetworkAddress, this.ID, f, options.timeout, options.disableResponse, options.disableRecovery, options.srcEndpoint);
590
+ await entity_1.default.adapter.sendZclFrameToEndpoint(this.deviceIeeeAddress, this.deviceNetworkAddress, this.ID, f, options.timeout, options.disableResponse, options.disableRecovery, options.srcEndpoint);
563
591
  }
564
592
  });
565
593
  }
@@ -572,7 +600,7 @@ class Endpoint extends Entity {
572
600
  waitForCommand(clusterKey, commandKey, transactionSequenceNumber, timeout) {
573
601
  const cluster = Zcl.Utils.getCluster(clusterKey);
574
602
  const command = cluster.getCommand(commandKey);
575
- const waiter = Entity.adapter.waitFor(this.deviceNetworkAddress, this.ID, Zcl.FrameType.SPECIFIC, Zcl.Direction.CLIENT_TO_SERVER, transactionSequenceNumber, cluster.ID, command.ID, timeout);
603
+ const waiter = entity_1.default.adapter.waitFor(this.deviceNetworkAddress, this.ID, Zcl.FrameType.SPECIFIC, Zcl.Direction.CLIENT_TO_SERVER, transactionSequenceNumber, cluster.ID, command.ID, timeout);
576
604
  const promise = new Promise((resolve, reject) => {
577
605
  waiter.promise.then((payload) => resolve({ header: payload.frame.Header, payload: payload.frame.Payload }), (error) => reject(error));
578
606
  });
@@ -605,8 +633,8 @@ class Endpoint extends Entity {
605
633
  * to zigbee-herdsman.
606
634
  */
607
635
  async removeFromGroup(group) {
608
- await this.command('genGroups', 'remove', { groupid: group instanceof Group ? group.groupID : group });
609
- if (group instanceof Group) {
636
+ await this.command('genGroups', 'remove', { groupid: group instanceof group_1.default ? group.groupID : group });
637
+ if (group instanceof group_1.default) {
610
638
  group.removeMember(this);
611
639
  }
612
640
  }
@@ -615,12 +643,12 @@ class Endpoint extends Entity {
615
643
  this.removeFromAllGroupsDatabase();
616
644
  }
617
645
  removeFromAllGroupsDatabase() {
618
- for (const group of Group.all()) {
646
+ for (const group of group_1.default.all()) {
619
647
  if (group.hasMember(this)) {
620
648
  group.removeMember(this);
621
649
  }
622
650
  }
623
651
  }
624
652
  }
625
- export default Endpoint;
653
+ exports.default = Endpoint;
626
654
  //# sourceMappingURL=endpoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/controller/model/endpoint.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
- import events from 'events';
2
- class Entity extends events.EventEmitter {
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 events_1 = __importDefault(require("events"));
7
+ class Entity extends events_1.default.EventEmitter {
3
8
  static database = null;
4
9
  static adapter = null;
5
10
  static injectDatabase(database) {
@@ -9,5 +14,5 @@ class Entity extends events.EventEmitter {
9
14
  Entity.adapter = adapter;
10
15
  }
11
16
  }
12
- export default Entity;
17
+ exports.default = Entity;
13
18
  //# sourceMappingURL=entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/controller/model/entity.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAe,MAAO,SAAQ,MAAM,CAAC,YAAY;IACnC,MAAM,CAAC,QAAQ,GAAa,IAAI,CAAC;IACjC,MAAM,CAAC,OAAO,GAAY,IAAI,CAAC;IAElC,MAAM,CAAC,cAAc,CAAC,QAAkB;QAC3C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,OAAgB;QACxC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC7B,CAAC;;AAGL,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/controller/model/entity.ts"],"names":[],"mappings":";;;;;AAEA,oDAA4B;AAE5B,MAAe,MAAO,SAAQ,gBAAM,CAAC,YAAY;IACnC,MAAM,CAAC,QAAQ,GAAa,IAAI,CAAC;IACjC,MAAM,CAAC,OAAO,GAAY,IAAI,CAAC;IAElC,MAAM,CAAC,cAAc,CAAC,QAAkB;QAC3C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,OAAgB;QACxC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC7B,CAAC;;AAGL,kBAAe,MAAM,CAAC"}
@@ -1,14 +1,42 @@
1
- import Entity from './entity';
2
- import ZclTransactionSequenceNumber from '../helpers/zclTransactionSequenceNumber';
3
- import * as Zcl from '../../zcl';
4
- import Device from './device';
5
- import assert from 'assert';
6
- import Debug from "debug";
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"));
7
35
  const debug = {
8
- info: Debug('zigbee-herdsman:controller:group'),
9
- error: Debug('zigbee-herdsman:controller:group'),
36
+ info: (0, debug_1.default)('zigbee-herdsman:controller:group'),
37
+ error: (0, debug_1.default)('zigbee-herdsman:controller:group'),
10
38
  };
11
- class Group extends Entity {
39
+ class Group extends entity_1.default {
12
40
  databaseID;
13
41
  groupID;
14
42
  _members;
@@ -31,7 +59,7 @@ class Group extends Entity {
31
59
  static fromDatabaseEntry(entry) {
32
60
  const members = new Set();
33
61
  for (const member of entry.members) {
34
- const device = Device.byIeeeAddr(member.deviceIeeeAddr);
62
+ const device = device_1.default.byIeeeAddr(member.deviceIeeeAddr);
35
63
  if (device) {
36
64
  const endpoint = device.getEndpoint(member.endpointID);
37
65
  members.add(endpoint);
@@ -48,7 +76,7 @@ class Group extends Entity {
48
76
  static loadFromDatabaseIfNecessary() {
49
77
  if (!Group.groups) {
50
78
  Group.groups = {};
51
- const entries = Entity.database.getEntries(['Group']);
79
+ const entries = entity_1.default.database.getEntries(['Group']);
52
80
  for (const entry of entries) {
53
81
  const group = Group.fromDatabaseEntry(entry);
54
82
  Group.groups[group.groupID] = group;
@@ -64,14 +92,14 @@ class Group extends Entity {
64
92
  return Object.values(Group.groups);
65
93
  }
66
94
  static create(groupID) {
67
- assert(typeof groupID === 'number', 'GroupID must be a number');
95
+ (0, assert_1.default)(typeof groupID === 'number', 'GroupID must be a number');
68
96
  Group.loadFromDatabaseIfNecessary();
69
97
  if (Group.groups[groupID]) {
70
98
  throw new Error(`Group with groupID '${groupID}' already exists`);
71
99
  }
72
- const databaseID = Entity.database.newID();
100
+ const databaseID = entity_1.default.database.newID();
73
101
  const group = new Group(databaseID, groupID, new Set(), {});
74
- Entity.database.insert(group.toDatabaseRecord());
102
+ entity_1.default.database.insert(group.toDatabaseRecord());
75
103
  Group.groups[group.groupID] = group;
76
104
  return group;
77
105
  }
@@ -83,13 +111,13 @@ class Group extends Entity {
83
111
  }
84
112
  removeFromDatabase() {
85
113
  Group.loadFromDatabaseIfNecessary();
86
- if (Entity.database.has(this.databaseID)) {
87
- Entity.database.remove(this.databaseID);
114
+ if (entity_1.default.database.has(this.databaseID)) {
115
+ entity_1.default.database.remove(this.databaseID);
88
116
  }
89
117
  delete Group.groups[this.groupID];
90
118
  }
91
119
  save(writeDatabase = true) {
92
- Entity.database.update(this.toDatabaseRecord(), writeDatabase);
120
+ entity_1.default.database.update(this.toDatabaseRecord(), writeDatabase);
93
121
  }
94
122
  addMember(endpoint) {
95
123
  this._members.add(endpoint);
@@ -124,8 +152,8 @@ class Group extends Entity {
124
152
  const log = `Write ${this.groupID} ${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
125
153
  debug.info(log);
126
154
  try {
127
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, true, options.manufacturerCode, options.transactionSequenceNumber ?? ZclTransactionSequenceNumber.next(), 'write', cluster.ID, payload, options.reservedBits);
128
- await Entity.adapter.sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
155
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, true, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), 'write', cluster.ID, payload, options.reservedBits);
156
+ await entity_1.default.adapter.sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
129
157
  }
130
158
  catch (error) {
131
159
  error.message = `${log} failed (${error.message})`;
@@ -140,11 +168,11 @@ class Group extends Entity {
140
168
  for (const attribute of attributes) {
141
169
  payload.push({ attrId: typeof attribute === 'number' ? attribute : cluster.getAttribute(attribute).ID });
142
170
  }
143
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, true, options.manufacturerCode, options.transactionSequenceNumber ?? ZclTransactionSequenceNumber.next(), 'read', cluster.ID, payload, options.reservedBits);
171
+ const frame = Zcl.ZclFrame.create(Zcl.FrameType.GLOBAL, options.direction, true, options.manufacturerCode, options.transactionSequenceNumber ?? zclTransactionSequenceNumber_1.default.next(), 'read', cluster.ID, payload, options.reservedBits);
144
172
  const log = `Read ${this.groupID} ${cluster.name}(${JSON.stringify(attributes)}, ${JSON.stringify(options)})`;
145
173
  debug.info(log);
146
174
  try {
147
- await Entity.adapter.sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
175
+ await entity_1.default.adapter.sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
148
176
  }
149
177
  catch (error) {
150
178
  error.message = `${log} failed (${error.message})`;
@@ -159,8 +187,8 @@ class Group extends Entity {
159
187
  const log = `Command ${this.groupID} ${cluster.name}.${command.name}(${JSON.stringify(payload)})`;
160
188
  debug.info(log);
161
189
  try {
162
- const frame = Zcl.ZclFrame.create(Zcl.FrameType.SPECIFIC, options.direction, true, options.manufacturerCode, options.transactionSequenceNumber || ZclTransactionSequenceNumber.next(), command.ID, cluster.ID, payload, options.reservedBits);
163
- await Entity.adapter.sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
190
+ 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);
191
+ await entity_1.default.adapter.sendZclFrameToGroup(this.groupID, frame, options.srcEndpoint);
164
192
  }
165
193
  catch (error) {
166
194
  error.message = `${log} failed (${error.message})`;
@@ -180,5 +208,5 @@ class Group extends Entity {
180
208
  };
181
209
  }
182
210
  }
183
- export default Group;
211
+ exports.default = Group;
184
212
  //# sourceMappingURL=group.js.map