isy-nodejs 1.0.1-alpha.2 → 1.0.1-alpha.20

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 (261) hide show
  1. package/dist/cjs/Converters.js +66 -30
  2. package/dist/cjs/Converters.js.map +1 -1
  3. package/dist/cjs/Definitions/Global/Drivers.js +10 -3
  4. package/dist/cjs/Definitions/Global/Drivers.js.map +1 -1
  5. package/dist/cjs/Definitions/Global/Events.js +1 -2
  6. package/dist/cjs/Definitions/Global/Events.js.map +1 -1
  7. package/dist/cjs/Devices/Elk/ElkAlarmPanelDevice.js +3 -3
  8. package/dist/cjs/Devices/Elk/ElkAlarmSensorDevice.js +9 -6
  9. package/dist/cjs/Devices/Elk/ElkAlarmSensorDevice.js.map +1 -1
  10. package/dist/cjs/Devices/Insteon/InsteonBaseDevice.js +5 -3
  11. package/dist/cjs/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
  12. package/dist/cjs/Devices/Insteon/InsteonFanDevice.js +7 -3
  13. package/dist/cjs/Devices/Insteon/InsteonFanDevice.js.map +1 -1
  14. package/dist/cjs/Devices/Insteon/InsteonMotionSensorDevice.js +5 -5
  15. package/dist/cjs/Devices/Insteon/InsteonRelayDevice.js +3 -8
  16. package/dist/cjs/Devices/Insteon/InsteonRelayDevice.js.map +1 -1
  17. package/dist/cjs/Devices/Insteon/RelayLampSwitch.js +72 -0
  18. package/dist/cjs/Devices/Insteon/RelayLampSwitch.js.map +1 -0
  19. package/dist/cjs/ISY.js +58 -43
  20. package/dist/cjs/ISY.js.map +1 -1
  21. package/dist/cjs/ISYNode.js +15 -12
  22. package/dist/cjs/ISYNode.js.map +1 -1
  23. package/dist/cjs/ISYScene.js +3 -3
  24. package/dist/cjs/ISYScene.js.map +1 -1
  25. package/dist/cjs/Matter/Behaviors/ISYBridgedDeviceBehavior.js +11 -4
  26. package/dist/cjs/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
  27. package/dist/cjs/Matter/Behaviors/ISYClusterBehavior.js +26 -7
  28. package/dist/cjs/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
  29. package/dist/cjs/Matter/Behaviors/ISYOnOffBehavior.js +11 -8
  30. package/dist/cjs/Matter/Behaviors/ISYOnOffBehavior.js.map +1 -1
  31. package/dist/cjs/Matter/{Server → Bridge}/Server.js +88 -51
  32. package/dist/cjs/Matter/Bridge/Server.js.map +1 -0
  33. package/dist/cjs/Matter/Mappings/Insteon.js +19 -15
  34. package/dist/cjs/Matter/Mappings/Insteon.js.map +1 -1
  35. package/dist/cjs/Matter/Mappings/register.js +1 -0
  36. package/dist/cjs/Matter/Mappings/register.js.map +1 -0
  37. package/dist/cjs/Model/ClusterMap.js +12 -9
  38. package/dist/cjs/Model/ClusterMap.js.map +1 -1
  39. package/dist/cjs/Utils.js +60 -9
  40. package/dist/cjs/Utils.js.map +1 -1
  41. package/dist/cjs/types/CodeGeneration/EnumFactory.d.ts +1 -1
  42. package/dist/cjs/types/Converters.d.ts +28 -8
  43. package/dist/cjs/types/Converters.d.ts.map +1 -1
  44. package/dist/cjs/types/Definitions/Global/Drivers.d.ts +4 -3
  45. package/dist/cjs/types/Definitions/Global/Drivers.d.ts.map +1 -1
  46. package/dist/cjs/types/Definitions/Global/Events.d.ts.map +1 -1
  47. package/dist/cjs/types/Devices/Elk/ElkAlarmSensorDevice.d.ts.map +1 -1
  48. package/dist/cjs/types/Devices/EndpointFor.d.ts +2 -2
  49. package/dist/cjs/types/Devices/Insteon/InsteonBaseDevice.d.ts +3 -3
  50. package/dist/cjs/types/Devices/Insteon/InsteonBaseDevice.d.ts.map +1 -1
  51. package/dist/cjs/types/Devices/Insteon/InsteonDevice.d.ts +4 -4
  52. package/dist/cjs/types/Devices/Insteon/InsteonFanDevice.d.ts +5 -4
  53. package/dist/cjs/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
  54. package/dist/cjs/types/Devices/Insteon/InsteonRelayDevice.d.ts +2 -4
  55. package/dist/cjs/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
  56. package/dist/cjs/types/Devices/Insteon/RelayLampSwitch.d.ts +93 -0
  57. package/dist/cjs/types/Devices/Insteon/RelayLampSwitch.d.ts.map +1 -0
  58. package/dist/cjs/types/ISY.d.ts +27 -21
  59. package/dist/cjs/types/ISY.d.ts.map +1 -1
  60. package/dist/cjs/types/ISYNode.d.ts +4 -4
  61. package/dist/cjs/types/ISYNode.d.ts.map +1 -1
  62. package/dist/cjs/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +16 -6
  63. package/dist/cjs/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
  64. package/dist/cjs/types/Matter/Behaviors/ISYClusterBehavior.d.ts +13 -11
  65. package/dist/cjs/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
  66. package/dist/cjs/types/Matter/Behaviors/ISYOnOffBehavior.d.ts +4 -4
  67. package/dist/cjs/types/Matter/Behaviors/ISYOnOffBehavior.d.ts.map +1 -1
  68. package/dist/cjs/types/Matter/Bridge/Server.d.ts +27 -0
  69. package/dist/cjs/types/Matter/Bridge/Server.d.ts.map +1 -0
  70. package/dist/cjs/types/Matter/Mappings/register.d.ts +1 -0
  71. package/dist/cjs/types/Matter/Mappings/register.d.ts.map +1 -0
  72. package/dist/cjs/types/Model/ClusterMap.d.ts +19 -11
  73. package/dist/cjs/types/Model/ClusterMap.d.ts.map +1 -1
  74. package/dist/cjs/types/Utils.d.ts +3 -5
  75. package/dist/cjs/types/Utils.d.ts.map +1 -1
  76. package/dist/esm/Converters.js +63 -28
  77. package/dist/esm/Converters.js.map +1 -1
  78. package/dist/esm/Definitions/Global/Drivers.js +10 -3
  79. package/dist/esm/Definitions/Global/Drivers.js.map +1 -1
  80. package/dist/esm/Definitions/Global/Events.js +1 -2
  81. package/dist/esm/Definitions/Global/Events.js.map +1 -1
  82. package/dist/esm/Devices/Brultech/index.js +4 -0
  83. package/dist/esm/Devices/Brultech/index.js.map +1 -0
  84. package/dist/esm/Devices/Constructor.js +2 -0
  85. package/dist/esm/Devices/Constructor.js.map +1 -0
  86. package/dist/esm/Devices/DeviceFactory.js +13 -0
  87. package/dist/esm/Devices/DeviceFactory.js.map +1 -0
  88. package/dist/esm/Devices/DeviceMap.js +4 -0
  89. package/dist/esm/Devices/DeviceMap.js.map +1 -0
  90. package/dist/esm/Devices/Elk/ElkAlarmPanelDevice.js +181 -0
  91. package/dist/esm/Devices/Elk/ElkAlarmPanelDevice.js.map +1 -0
  92. package/dist/esm/Devices/Elk/ElkAlarmSensorDevice.js +110 -0
  93. package/dist/esm/Devices/Elk/ElkAlarmSensorDevice.js.map +1 -0
  94. package/dist/esm/Devices/EndpointFor.js +31 -0
  95. package/dist/esm/Devices/EndpointFor.js.map +1 -0
  96. package/dist/esm/Devices/ISYDevice.js +35 -0
  97. package/dist/esm/Devices/ISYDevice.js.map +1 -0
  98. package/dist/esm/Devices/ISYDeviceNode.js +62 -0
  99. package/dist/esm/Devices/ISYDeviceNode.js.map +1 -0
  100. package/dist/esm/Devices/ISYMultiNodeDevice.js +89 -0
  101. package/dist/esm/Devices/ISYMultiNodeDevice.js.map +1 -0
  102. package/dist/esm/Devices/Insteon/InsteonBallastDimmerDevice.js +8 -0
  103. package/dist/esm/Devices/Insteon/InsteonBallastDimmerDevice.js.map +1 -0
  104. package/dist/esm/Devices/Insteon/InsteonBaseDevice.js +49 -0
  105. package/dist/esm/Devices/Insteon/InsteonBaseDevice.js.map +1 -0
  106. package/dist/esm/Devices/Insteon/InsteonCOSensorDevice.js +14 -0
  107. package/dist/esm/Devices/Insteon/InsteonCOSensorDevice.js.map +1 -0
  108. package/dist/esm/Devices/Insteon/InsteonDevice.js +17 -0
  109. package/dist/esm/Devices/Insteon/InsteonDevice.js.map +1 -0
  110. package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js +875 -0
  111. package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js.map +1 -0
  112. package/dist/esm/Devices/Insteon/InsteonDimmableDevice.js +32 -0
  113. package/dist/esm/Devices/Insteon/InsteonDimmableDevice.js.map +1 -0
  114. package/dist/esm/Devices/Insteon/InsteonDimmerOutletDevice.js +7 -0
  115. package/dist/esm/Devices/Insteon/InsteonDimmerOutletDevice.js.map +1 -0
  116. package/dist/esm/Devices/Insteon/InsteonDimmerSwitchDevice.js +8 -0
  117. package/dist/esm/Devices/Insteon/InsteonDimmerSwitchDevice.js.map +1 -0
  118. package/dist/esm/Devices/Insteon/InsteonDoorWindowSensorDevice.js +11 -0
  119. package/dist/esm/Devices/Insteon/InsteonDoorWindowSensorDevice.js.map +1 -0
  120. package/dist/esm/Devices/Insteon/InsteonFanDevice.js +60 -0
  121. package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -0
  122. package/dist/esm/Devices/Insteon/InsteonKeypadDevice.js +8 -0
  123. package/dist/esm/Devices/Insteon/InsteonKeypadDevice.js.map +1 -0
  124. package/dist/esm/Devices/Insteon/InsteonKeypadDimmerDevice.js +8 -0
  125. package/dist/esm/Devices/Insteon/InsteonKeypadDimmerDevice.js.map +1 -0
  126. package/dist/esm/Devices/Insteon/InsteonKeypadRelayDevice.js +8 -0
  127. package/dist/esm/Devices/Insteon/InsteonKeypadRelayDevice.js.map +1 -0
  128. package/dist/esm/Devices/Insteon/InsteonLeakSensorDevice.js +11 -0
  129. package/dist/esm/Devices/Insteon/InsteonLeakSensorDevice.js.map +1 -0
  130. package/dist/esm/Devices/Insteon/InsteonLockDevice.js +32 -0
  131. package/dist/esm/Devices/Insteon/InsteonLockDevice.js.map +1 -0
  132. package/dist/esm/Devices/Insteon/InsteonMotionSensorDevice.js +36 -0
  133. package/dist/esm/Devices/Insteon/InsteonMotionSensorDevice.js.map +1 -0
  134. package/dist/esm/Devices/Insteon/InsteonOnOffOutletDevice.js +19 -0
  135. package/dist/esm/Devices/Insteon/InsteonOnOffOutletDevice.js.map +1 -0
  136. package/dist/esm/Devices/Insteon/InsteonRelayDevice.js +41 -0
  137. package/dist/esm/Devices/Insteon/InsteonRelayDevice.js.map +1 -0
  138. package/dist/esm/Devices/Insteon/InsteonRelaySwitchDevice.js +8 -0
  139. package/dist/esm/Devices/Insteon/InsteonRelaySwitchDevice.js.map +1 -0
  140. package/dist/esm/Devices/Insteon/InsteonSmokeSensorDevice.js +11 -0
  141. package/dist/esm/Devices/Insteon/InsteonSmokeSensorDevice.js.map +1 -0
  142. package/dist/esm/Devices/Insteon/InsteonThermostatDevice.js +30 -0
  143. package/dist/esm/Devices/Insteon/InsteonThermostatDevice.js.map +1 -0
  144. package/dist/esm/Devices/Insteon/RelayLampSwitch.js +68 -0
  145. package/dist/esm/Devices/Insteon/RelayLampSwitch.js.map +1 -0
  146. package/dist/esm/Devices/Insteon/index.js +31 -0
  147. package/dist/esm/Devices/Insteon/index.js.map +1 -0
  148. package/dist/esm/Devices/Lutron/index.js +4 -0
  149. package/dist/esm/Devices/Lutron/index.js.map +1 -0
  150. package/dist/esm/Devices/MapsTo.js +2 -0
  151. package/dist/esm/Devices/MapsTo.js.map +1 -0
  152. package/dist/esm/Devices/NCD/index.js +4 -0
  153. package/dist/esm/Devices/NCD/index.js.map +1 -0
  154. package/dist/esm/Devices/NodeFactory.js +48 -0
  155. package/dist/esm/Devices/NodeFactory.js.map +1 -0
  156. package/dist/esm/Devices/Poly/index.js +4 -0
  157. package/dist/esm/Devices/Poly/index.js.map +1 -0
  158. package/dist/esm/Devices/Scene/index.js +4 -0
  159. package/dist/esm/Devices/Scene/index.js.map +1 -0
  160. package/dist/esm/Devices/UDI/index.js +4 -0
  161. package/dist/esm/Devices/UDI/index.js.map +1 -0
  162. package/dist/esm/Devices/ZWave/ZWaveBaseDevice.js +38 -0
  163. package/dist/esm/Devices/ZWave/ZWaveBaseDevice.js.map +1 -0
  164. package/dist/esm/Devices/ZWave/ZWaveDimmerSwitchDevice.js +8 -0
  165. package/dist/esm/Devices/ZWave/ZWaveDimmerSwitchDevice.js.map +1 -0
  166. package/dist/esm/Devices/ZWave/ZWaveLockDevice.js +35 -0
  167. package/dist/esm/Devices/ZWave/ZWaveLockDevice.js.map +1 -0
  168. package/dist/esm/Devices/ZWave/index.js +20 -0
  169. package/dist/esm/Devices/ZWave/index.js.map +1 -0
  170. package/dist/esm/Devices/index.js +9 -0
  171. package/dist/esm/Devices/index.js.map +1 -0
  172. package/dist/esm/ISY.js +56 -41
  173. package/dist/esm/ISY.js.map +1 -1
  174. package/dist/esm/ISYNode.js +16 -13
  175. package/dist/esm/ISYNode.js.map +1 -1
  176. package/dist/esm/ISYScene.js +3 -3
  177. package/dist/esm/ISYScene.js.map +1 -1
  178. package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js +11 -4
  179. package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
  180. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js +26 -7
  181. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
  182. package/dist/esm/Matter/Behaviors/ISYOnOffBehavior.js +12 -9
  183. package/dist/esm/Matter/Behaviors/ISYOnOffBehavior.js.map +1 -1
  184. package/dist/esm/Matter/{Server → Bridge}/Server.js +60 -50
  185. package/dist/esm/Matter/Bridge/Server.js.map +1 -0
  186. package/dist/esm/Matter/Mappings/Insteon.js +22 -18
  187. package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
  188. package/dist/esm/Matter/Mappings/register.js +2 -0
  189. package/dist/esm/Matter/Mappings/register.js.map +1 -0
  190. package/dist/esm/Model/ClusterMap.js +12 -9
  191. package/dist/esm/Model/ClusterMap.js.map +1 -1
  192. package/dist/esm/Utils.js +55 -8
  193. package/dist/esm/Utils.js.map +1 -1
  194. package/dist/esm/types/CodeGeneration/EnumFactory.d.ts +1 -1
  195. package/dist/esm/types/Converters.d.ts +28 -8
  196. package/dist/esm/types/Converters.d.ts.map +1 -1
  197. package/dist/esm/types/Definitions/Global/Drivers.d.ts +4 -3
  198. package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
  199. package/dist/esm/types/Definitions/Global/Events.d.ts.map +1 -1
  200. package/dist/esm/types/Devices/Elk/ElkAlarmSensorDevice.d.ts.map +1 -1
  201. package/dist/esm/types/Devices/EndpointFor.d.ts +2 -2
  202. package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts +3 -3
  203. package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts.map +1 -1
  204. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +4 -4
  205. package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts +5 -4
  206. package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
  207. package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts +2 -4
  208. package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
  209. package/dist/esm/types/Devices/Insteon/RelayLampSwitch.d.ts +93 -0
  210. package/dist/esm/types/Devices/Insteon/RelayLampSwitch.d.ts.map +1 -0
  211. package/dist/esm/types/ISY.d.ts +27 -21
  212. package/dist/esm/types/ISY.d.ts.map +1 -1
  213. package/dist/esm/types/ISYNode.d.ts +4 -4
  214. package/dist/esm/types/ISYNode.d.ts.map +1 -1
  215. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +16 -6
  216. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
  217. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +13 -11
  218. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
  219. package/dist/esm/types/Matter/Behaviors/ISYOnOffBehavior.d.ts +4 -4
  220. package/dist/esm/types/Matter/Behaviors/ISYOnOffBehavior.d.ts.map +1 -1
  221. package/dist/esm/types/Matter/Bridge/Server.d.ts +27 -0
  222. package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -0
  223. package/dist/esm/types/Matter/Mappings/register.d.ts +2 -0
  224. package/dist/esm/types/Matter/Mappings/register.d.ts.map +1 -0
  225. package/dist/esm/types/Model/ClusterMap.d.ts +19 -11
  226. package/dist/esm/types/Model/ClusterMap.d.ts.map +1 -1
  227. package/dist/esm/types/Utils.d.ts +3 -5
  228. package/dist/esm/types/Utils.d.ts.map +1 -1
  229. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  230. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  231. package/package.json +4 -6
  232. package/src/Converters.ts +137 -69
  233. package/src/Definitions/Global/Drivers.ts +16 -7
  234. package/src/Definitions/Global/Events.ts +4 -3
  235. package/src/Devices/Elk/ElkAlarmPanelDevice.ts +3 -3
  236. package/src/Devices/Elk/ElkAlarmSensorDevice.ts +15 -21
  237. package/src/Devices/Insteon/Generated/RelayLamp.ts +8 -7
  238. package/src/Devices/Insteon/InsteonBaseDevice.ts +10 -9
  239. package/src/Devices/Insteon/InsteonFanDevice.ts +16 -11
  240. package/src/Devices/Insteon/InsteonMotionSensorDevice.ts +5 -5
  241. package/src/Devices/Insteon/InsteonRelayDevice.ts +3 -5
  242. package/src/Devices/Insteon/RelayLampSwitch.ts +131 -0
  243. package/src/ISY.ts +87 -61
  244. package/src/ISYNode.ts +17 -14
  245. package/src/ISYScene.ts +3 -3
  246. package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +29 -11
  247. package/src/Matter/Behaviors/ISYClusterBehavior.ts +46 -28
  248. package/src/Matter/Behaviors/ISYOnOffBehavior.ts +50 -64
  249. package/src/Matter/{Server → Bridge}/Server.ts +87 -59
  250. package/src/Matter/Mappings/Insteon.ts +53 -60
  251. package/src/Matter/Mappings/register.ts +0 -0
  252. package/src/Model/ClassDefinition.ts +1 -1
  253. package/src/Model/ClusterMap.ts +31 -22
  254. package/src/Utils.ts +62 -19
  255. package/tsconfig.json +2 -2
  256. package/dist/cjs/Matter/Server/Server.js.map +0 -1
  257. package/dist/cjs/types/Matter/Server/Server.d.ts +0 -4
  258. package/dist/cjs/types/Matter/Server/Server.d.ts.map +0 -1
  259. package/dist/esm/Matter/Server/Server.js.map +0 -1
  260. package/dist/esm/types/Matter/Server/Server.d.ts +0 -4
  261. package/dist/esm/types/Matter/Server/Server.d.ts.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { UnitOfMeasure } from './Definitions/Global/UOM.js';
2
2
  import { NodeType } from './ISY.js';
3
- import { Converters } from './Converters.js';
3
+ import { Converter } from './Converters.js';
4
4
  import { Event } from './Definitions/Global/Events.js';
5
5
  //type DriverValues<DK extends string | number | symbol,V = any> = {[x in DK]?:V};
6
6
  export class ISYNode {
@@ -74,7 +74,7 @@ export class ISYNode {
74
74
  .trim();
75
75
  if (this.parentType === NodeType.Folder) {
76
76
  this.folder = isy.folderMap.get(this.parent._);
77
- isy.logger.info(`${this.name} this node is in folder ${this.folder}`);
77
+ isy.logger.debug(`${this.name} is in folder ${this.folder}`);
78
78
  this.logger = (msg, level = 'debug', ...meta) => {
79
79
  isy.logger[level](`${this.folder} ${this.name} (${this.address}): ${msg}`, meta);
80
80
  return isy.logger;
@@ -126,7 +126,7 @@ export class ISYNode {
126
126
  return value;
127
127
  else {
128
128
  try {
129
- return Converters.Standard[from][to].from(value);
129
+ return Converter.Standard[from][to].from(value);
130
130
  }
131
131
  catch {
132
132
  this.isy.logger.error(`Conversion from ${UnitOfMeasure[from]} to ${UnitOfMeasure[to]} not supported.`);
@@ -173,7 +173,7 @@ export class ISYNode {
173
173
  }
174
174
  async getNotes() {
175
175
  try {
176
- const result = await this.isy.sendRequest(`nodes/${this.address}/notes`);
176
+ const result = await this.isy.sendRequest(`nodes/${this.address}/notes`, { trailingSlash: false, errorLogLevel: 'debug' });
177
177
  if (result !== null && result !== undefined) {
178
178
  return result.NodeProperties;
179
179
  }
@@ -187,7 +187,7 @@ export class ISYNode {
187
187
  }
188
188
  handleControlTrigger(controlName) {
189
189
  //this.lastChanged = new Date();
190
- this.events.emit('ControlTriggered', controlName);
190
+ this.events.emit('controlTriggered', controlName);
191
191
  return true;
192
192
  }
193
193
  handleEvent(event) {
@@ -209,23 +209,26 @@ export class ISYNode {
209
209
  else {
210
210
  // this.logger(event.control);
211
211
  const e = event.control;
212
- const dispName = this.commands[e].name;
212
+ const dispName = this.commands[e]?.name;
213
213
  if (dispName !== undefined && dispName !== null) {
214
- this.logger(`Command ${dispName} (${e}) triggered.`);
214
+ this.logger(`Command ${dispName} (${e}) event sent.`);
215
215
  }
216
216
  else {
217
- this.logger(`Command ${e} triggered.`);
217
+ this.logger(`Command ${e} event sent.`);
218
218
  }
219
219
  this.handleControlTrigger(e);
220
220
  return true;
221
221
  }
222
222
  }
223
- handlePropertyChange(propertyName, value, uom, formattedValue, prec) {
223
+ handlePropertyChange(propertyName, value, uom, prec, formattedValue) {
224
224
  this.lastChanged = new Date();
225
- const oldValue = this.drivers[propertyName].value;
226
- if (this.drivers[propertyName].patch(value, formattedValue, uom, prec)) {
227
- this.emit('PropertyChanged', propertyName, value, oldValue, formattedValue);
228
- this.scenes.forEach((element) => {
225
+ let driver = this.drivers[propertyName];
226
+ this.logger(`Driver ${propertyName} (${driver?.label} value update ${value} (${formattedValue}) uom: ${UnitOfMeasure[uom]} event received.`);
227
+ const oldValue = driver?.value;
228
+ if (driver?.patch(value, formattedValue, uom, prec)) {
229
+ this.logger(`Driver ${driver.label} updated from ${oldValue} to ${value} (${formattedValue})`);
230
+ this.emit('propertyChanged', propertyName, value, oldValue, formattedValue);
231
+ this.scenes?.forEach((element) => {
229
232
  this.logger(`Recalulating ${element.deviceFriendlyName}`);
230
233
  element.recalculateState();
231
234
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ISYNode.js","sourceRoot":"","sources":["../../src/ISYNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ISYNode.js","sourceRoot":"","sources":["../../src/ISYNode.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ export class ISYScene extends ISYNode {
59
59
  get isOn() {
60
60
  for (const device of this.members) {
61
61
  if (device instanceof Insteon.Relay) {
62
- if (device.drivers.ST?.value === 1) {
62
+ if (device.drivers.ST?.value != 0) {
63
63
  return true;
64
64
  }
65
65
  }
@@ -93,9 +93,9 @@ export class ISYScene extends ISYNode {
93
93
  }
94
94
  markAsChanged() {
95
95
  this.lastChanged = new Date();
96
- this.emit('PropertyChanged', 'isOn', this.isOn, this.isOn, this.isOn ? 'on' : 'off');
96
+ this.emit('propertyChanged', 'isOn', this.isOn, this.isOn, this.isOn ? 'on' : 'off');
97
97
  if (this.isDimmable) {
98
- this.emit('PropertyChanged', 'brightnesslevel', this.brightnessLevel, this.brightnessLevel, this.brightnessLevel + '%');
98
+ this.emit('propertyChanged', 'brightnesslevel', this.brightnessLevel, this.brightnessLevel, this.brightnessLevel + '%');
99
99
  }
100
100
  }
101
101
  async updateIsOn(lightState) {
@@ -1 +1 @@
1
- {"version":3,"file":"ISYScene.js","sourceRoot":"","sources":["../../src/ISYScene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ISYScene.js","sourceRoot":"","sources":["../../src/ISYScene.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,18 @@ export class ISYBridgedDeviceBehavior extends Behavior {
12
12
  async initialize(_options) {
13
13
  await super.initialize(_options);
14
14
  var address = this.state.address;
15
- this.internal.device = ISY.instance.nodeMap.get(this.state.address);
15
+ const d = ISY.instance.nodeMap.get(this.state.address);
16
+ this.internal.device = d;
16
17
  this.internal.map = MappingRegistry.getMapping(this.internal.device);
17
18
  ISY.instance.logger.debug(`Initializing ${this.constructor.name} for ${this.internal.device.constructor.name} ${this.internal.device.name} with address ${address}`);
18
- if (this.internal.device) {
19
- this.internal.device.events.on('PropertyChanged', this.handlePropertyChange.bind(this));
19
+ if (d) {
20
+ d.events.on('PropertyChanged', this.handlePropertyChange.bind(this));
21
+ for (const f in d.drivers) {
22
+ let evt = `${d.drivers[f].name}Changed`;
23
+ this.events[evt] = Observable();
24
+ //@ts-ignore
25
+ d.events.on(evt, (driver, newValue, oldValue, formattedValue) => this.events.emit(evt, { driver, newValue, oldValue, formattedValue }));
26
+ }
20
27
  }
21
28
  }
22
29
  get device() {
@@ -26,7 +33,7 @@ export class ISYBridgedDeviceBehavior extends Behavior {
26
33
  return this.internal.map;
27
34
  }
28
35
  mapForBehavior(behavior) {
29
- return this.map[behavior.cluster['name']];
36
+ return this.map.mapping[behavior.cluster['name']];
30
37
  }
31
38
  handlePropertyChange(driver, newValue, oldValue, formattedValue) {
32
39
  this.events.propertyChanged.emit({ driver, newValue, oldValue, formattedValue });
@@ -1 +1 @@
1
- {"version":3,"file":"ISYBridgedDeviceBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts"],"names":[],"mappings":"AAAA;;;;GAIG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAIhE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAE,GAAG,EAA6B,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAsB,eAAe,EAAuB,MAAM,2BAA2B,CAAC;AAIrG,MAAM,OAAO,wBAAyB,SAAQ,QAAQ;IACrD,MAAM,CAAmB,EAAE,GAAG,SAAS,CAAC;IAExC,MAAM,CAAmB,KAAK,GAAG,IAAI,CAAC;IAO7B,KAAK,CAAC,UAAU,CAAC,QAAa;QACtC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAqD,CAAC,CAAC;QACpH,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,iBAAiB,OAAO,EAAE,CAAC,CAAC;QACrK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;IACF,CAAC;IAED,IAAI,MAAM;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,cAAc,CAAiC,QAAW;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,oBAAoB,CAAC,MAAc,EAAE,QAAa,EAAE,QAAa,EAAE,cAAsB;QACxF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,CAAC,MAAM,CAAC,YAAY,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,OAAO,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IACrC,CAAC;;AAGF,WAAiB,wBAAwB;IACxC,MAAa,QAAQ;QACpB,MAAM,CAA+B;QACrC,GAAG,CAA+C;KAClD;IAHY,iCAAQ,WAGpB,CAAA;IAED,MAAa,MAAO,SAAQ,YAAY;QACvC,eAAe,GAAG,UAAU,EAA8E,CAAC;KAC3G;IAFY,+BAAM,SAElB,CAAA;IAED,MAAa,KAAK;QACjB,OAAO,GAAG,EAAE,CAAC;KACb;IAFY,8BAAK,QAEjB,CAAA;AACF,CAAC,EAbgB,wBAAwB,KAAxB,wBAAwB,QAaxC"}
1
+ {"version":3,"file":"ISYBridgedDeviceBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,49 @@
1
1
  import '@project-chip/matter.js/device';
2
+ import { Converter } from '../../Converters.js';
2
3
  import { ISYBridgedDeviceBehavior } from './ISYBridgedDeviceBehavior.js';
4
+ // #endregion Type aliases (6)
5
+ // #region Functions (1)
3
6
  export function ISYClusterBehavior(base, p) {
4
7
  return class ISYClusterBehavior extends base {
5
8
  _device;
6
9
  handlers = {};
10
+ bridgedDeviceBehavior;
7
11
  ///public map: ClusterMapping<ToClusterTypeByName<ClusterForBehavior<ConstructedType<typeof base>>["name"]>,ISYDeviceNode<any, any, any>>;
8
12
  map;
9
13
  async initialize(_options) {
10
14
  await super.initialize(_options);
11
- var behavior = await this.agent.load(ISYBridgedDeviceBehavior);
15
+ var behavior = (await this.agent.load(ISYBridgedDeviceBehavior));
16
+ this.bridgedDeviceBehavior = behavior;
12
17
  //var behavior = this.agent.get(ISYBridgedDeviceBehavior);
13
18
  this._device = behavior.device;
19
+ //@ts-ignore
14
20
  this.map = behavior.mapForBehavior(this);
15
21
  for (const key2 in this.map.attributes) {
16
- if (typeof this.map.attributes[key2] === 'string') {
17
- this.handlers[this.map.attributes[key2]] = (newValue, oldValue, formattedValue) => {
22
+ let val = this.map.attributes[key2];
23
+ let driverObj = null;
24
+ if (typeof val === 'string' || typeof val === 'symbol' || typeof val === 'number') {
25
+ driverObj = this._device.drivers[val];
26
+ this.handlers[val] = (newValue, oldValue, formattedValue) => {
18
27
  this.state[key2] = newValue;
19
28
  };
20
29
  }
21
- else if (this.map.attributes[key2].driver) {
22
- let { driver, converter } = this.map.attributes[key2];
30
+ else if (val.driver) {
31
+ driverObj = this._device.drivers[val.driver];
32
+ let { driver, converter } = val;
33
+ const convFunc = Converter.get(converter)?.from;
23
34
  this.handlers[driver] = (newValue, oldValue, formattedValue) => {
24
- this.state[key2] = converter(newValue);
35
+ if (convFunc)
36
+ this.state[key2] = convFunc(newValue);
37
+ else
38
+ this.state[key2] = newValue;
25
39
  };
26
40
  }
41
+ if (driverObj) {
42
+ let evt = `${driverObj.name}Changed`;
43
+ this.reactTo(behavior.events[evt], this.handlePropertyChange.bind(this), { lock: false });
44
+ }
27
45
  }
28
- this.reactTo(behavior.events.propertyChanged, this.handlePropertyChange, { lock: false });
46
+ //this.reactTo(behavior.events.propertyChanged, this.handlePropertyChange, { lock: false });
29
47
  //this._device.on("PropertyChanged", this.handlePropertyChange.bind(this));
30
48
  }
31
49
  get device() {
@@ -50,4 +68,5 @@ export function ISYClusterBehavior(base, p) {
50
68
  }
51
69
  };
52
70
  }
71
+ // #endregion Functions (1)
53
72
  //# sourceMappingURL=ISYClusterBehavior.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ISYClusterBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYClusterBehavior.ts"],"names":[],"mappings":"AASA,OAAO,gCAAgC,CAAC;AAQxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAiBzE,MAAM,UAAU,kBAAkB,CACjC,IAAO,EACP,CAAiB;IAEjB,OAAO,MAAM,kBAAmB,SAAQ,IAAI;QAC3C,OAAO,CAAI;QAEX,QAAQ,GAAgF,EAAS,CAAC;QAElG,0IAA0I;QAE1I,GAAG,CAAkC;QAE5B,KAAK,CAAC,UAAU,CAAC,QAAa;YACtC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC/D,0DAA0D;YAC1D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAW,CAAC;YACpC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAI,IAAoB,CAAC,CAAC;YAC5D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE;wBACjF,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC,GAAG,QAAQ,CAAC;oBACvC,CAAC,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC7C,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE;wBAC9D,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAClD,CAAC,CAAC;gBACH,CAAC;YACF,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1F,2EAA2E;QAC5E,CAAC;QAED,IAAI,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,MAAY,CAAC,CAAC;QAChG,CAAC;QAED,oBAAoB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAqB;YACrF,4CAA4C;YAE5C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC3D,CAAC;YACD,yDAAyD;YACzD,8CAA8C;YAC9C,QAAQ;YACR,iDAAiD;YACjD,kBAAkB;YAElB,8DAA8D;YAC9D,yDAAyD;YACzD,oFAAoF;YAEpF,QAAQ;YACR,MAAM;YACN,IAAI;QACL,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ISYClusterBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYClusterBehavior.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { InsteonRelayDevice } from "../../Devices/Insteon/InsteonRelayDevice.js";
2
- import { OnOffLightRequirements } from "@project-chip/matter.js/devices/OnOffLightDevice";
3
- import { ISYClusterBehavior } from "./ISYClusterBehavior.js";
4
1
  import { DimmableLightRequirements } from '@project-chip/matter.js/devices/DimmableLightDevice';
2
+ import { OnOffLightRequirements } from '@project-chip/matter.js/devices/OnOffLightDevice';
5
3
  import { InsteonDimmableDevice } from '../../Devices/Insteon/InsteonDimmableDevice.js';
6
- import { Converters } from '../../Converters.js';
4
+ import { InsteonRelayDevice } from '../../Devices/Insteon/InsteonRelayDevice.js';
5
+ import { ISYClusterBehavior } from './ISYClusterBehavior.js';
6
+ import { Converter } from '../../Converters.js';
7
7
  export class ISYOnOffBehavior extends ISYClusterBehavior(OnOffLightRequirements.OnOffServer, InsteonRelayDevice) {
8
8
  async initialize(_options) {
9
9
  await super.initialize(_options);
@@ -11,30 +11,33 @@ export class ISYOnOffBehavior extends ISYClusterBehavior(OnOffLightRequirements.
11
11
  }
12
12
  on = async () => {
13
13
  await super.on();
14
+ await this.device.on();
14
15
  //this.device.commands.DON = true;
15
16
  };
16
17
  async off() {
17
- //await super.off();
18
+ await super.off();
19
+ await this.device.off();
18
20
  // this.device.drivers = false;
19
21
  }
20
22
  toggle = async () => {
21
23
  //this.device.state = !(await this.device.state);
22
24
  };
23
25
  async handlePropertyChange({ driver, newValue, oldValue, formattedValue }) {
24
- if (driver === "ST") {
26
+ /*if (driver === 'ST') {
25
27
  this.state.onOff = newValue;
26
- }
28
+ }*/
27
29
  return super.handlePropertyChange({ driver, newValue, oldValue, formattedValue });
28
30
  }
29
31
  }
30
32
  export class ISYDimmableBehavior extends ISYClusterBehavior(DimmableLightRequirements.LevelControlServer, InsteonDimmableDevice) {
31
33
  async initialize(_options) {
32
34
  await super.initialize(_options);
33
- this.state.currentLevel = this.device.drivers.ST.value;
35
+ /*this.state.onLevel = Converter.get('Level255toZero.LightingLevel').to(this.device.drivers.OL)*/
36
+ //this.state.currentLevel = this.device.drivers.ST.value;
34
37
  //this.state.onLevel = this.device.drivers.OL;
35
38
  }
36
39
  setLevel(level) {
37
- level = Converters.Matter.LevelFrom0To255.LightingLevel.to(level);
40
+ level = Converter.Matter.LevelFrom0To255.LightingLevel.from(level);
38
41
  if (level > 0) {
39
42
  return this.device.sendCommand('DON', level);
40
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ISYOnOffBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYOnOffBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAA2C,MAAM,yBAAyB,CAAC;AAQtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAM/C,MAAM,OAAO,gBAAiB,SAAQ,kBAAkB,CAAC,sBAAsB,CAAC,WAAW,EAAE,kBAAkB,CAAC;IAGnG,KAAK,CAAC,UAAU,CAAC,QAAa;QACnC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjC,6CAA6C;IAIjD,CAAC;IAGM,EAAE,GAAG,KAAK,IAAI,EAAE;QACvB,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC;QAGhB,kCAAkC;IACrC,CAAC,CAAA;IAEQ,KAAK,CAAC,GAAG;QAChB,oBAAoB;QACpB,+BAA+B;IACjC,CAAC;IAEQ,MAAM,GAAI,KAAK,IAAI,EAAE;QAC5B,iDAAiD;IACnD,CAAC,CAAA;IAEQ,KAAK,CAAC,oBAAoB,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAqC;QAClH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;QAE9B,CAAC;QAED,OAAO,KAAK,CAAC,oBAAoB,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAC,CAAC,CAAC;IAClF,CAAC;CAGF;AAGD,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;IACrH,KAAK,CAAC,UAAU,CAAC,QAAa;QACrC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC;QACvD,8CAA8C;IAEhD,CAAC;IAEQ,QAAQ,CAAC,KAAa;QAC7B,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAClE,IAAG,KAAK,GAAG,CAAC,EACZ,CAAC;YACG,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC;QAChD,CAAC;aAED,CAAC;YACG,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"ISYOnOffBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYOnOffBehavior.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAI1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEjF,OAAO,EAAsB,kBAAkB,EAAuB,MAAM,yBAAyB,CAAC;AAEtG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,OAAO,gBAAiB,SAAQ,kBAAkB,CAAC,sBAAsB,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACtG,KAAK,CAAC,UAAU,CAAC,QAAa;QACtC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjC,6CAA6C;IAC9C,CAAC;IAEQ,EAAE,GAAG,KAAK,IAAI,EAAE;QACxB,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAEvB,kCAAkC;IACnC,CAAC,CAAC;IAEO,KAAK,CAAC,GAAG;QACjB,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAExB,+BAA+B;IAChC,CAAC;IAEQ,MAAM,GAAG,KAAK,IAAI,EAAE;QAC5B,iDAAiD;IAClD,CAAC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAsC;QACrH;;WAEG;QAEH,OAAO,KAAK,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IACnF,CAAC;CACD;AAED,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;IACtH,KAAK,CAAC,UAAU,CAAC,QAAa;QACtC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjC,iGAAiG;QACjG,yDAAyD;QAEzD,8CAA8C;IAC/C,CAAC;IAEQ,QAAQ,CAAC,KAAa;QAC9B,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;CACD"}
@@ -1,3 +1,4 @@
1
+ import '@project-chip/matter-node.js';
1
2
  import { NodeJsEnvironment } from '@project-chip/matter-node.js/environment';
2
3
  import { StorageBackendDisk } from '@project-chip/matter-node.js/storage';
3
4
  import { BridgedDeviceBasicInformationServer } from '@project-chip/matter.js/behaviors/bridged-device-basic-information';
@@ -9,33 +10,45 @@ import { AggregatorEndpoint } from '@project-chip/matter.js/endpoints/Aggregator
9
10
  import { StorageService } from '@project-chip/matter.js/environment';
10
11
  import { Level, levelFromString, Logger as MatterLogger } from '@project-chip/matter.js/log';
11
12
  import { ServerNode } from '@project-chip/matter.js/node';
13
+ //@ts-ignore
14
+ import PackageJson from '@project-chip/matter.js/package.json' with { type: 'json' };
12
15
  import { QrCode } from '@project-chip/matter.js/schema';
13
- import { resolve } from 'path';
16
+ import path, { resolve } from 'path';
17
+ import { format, loggers } from 'winston';
14
18
  import { InsteonDimmableDevice, InsteonKeypadButtonDevice, InsteonRelayDevice, ISY } from '../../ISY.js';
15
19
  import { ISYBridgedDeviceBehavior } from '../Behaviors/ISYBridgedDeviceBehavior.js';
16
20
  import { ISYDimmableBehavior, ISYOnOffBehavior } from '../Behaviors/ISYOnOffBehavior.js';
17
- // #region Functions (2)
18
- //import {clone} from 'isy-nodejs/Utils';
19
- //let { Utils } = await import ('isy-nodejs');
20
- // function plainLogFormatter(now: Date, level: Level, facility: string, prefix: string, values: any[]) {
21
- // const creator = plaintextCreator();
22
- // const formattedValues = renderDiagnostic(values, {
23
- // ...creator,
24
- // key: text => creator.text(`${text}: `),
25
- // value: producer => creator.text(producer()),
26
- // strong: producer => creator.text(`*${producer()}*`),
27
- // weak: producer => creator.text(producer()),
28
- // status: (status, producer) => `${creator.text(statusIcon(status))}${producer()}`,
29
- // via: text => creator.text(text),
30
- // });
31
- // return `${formatTime(now)} ${Level[level]} ${facility} ${prefix}${formattedValues}`;
32
- //
33
- //let matterLogger = clone(logger,'matter.js');
34
- //2024-07-03 16:30:43.693
35
- export async function createServerNode(isy = ISY.instance) {
36
- var logger = isy.logger;
21
+ import '../Mappings/Insteon.js';
22
+ // #region Interfaces (1)
23
+ export let instance;
24
+ //@ts-ignore
25
+ export let version = PackageJson.version;
26
+ // #endregion Interfaces (1)
27
+ // #region Functions (3)
28
+ export function create(isy, config) {
29
+ return createMatterServer(isy, config);
30
+ }
31
+ export async function createMatterServer(isy, config) {
32
+ var logger = loggers.add('matter', {
33
+ transports: isy.logger.transports,
34
+ levels: isy.logger.levels,
35
+ format: format.label({ label: 'Matter' })
36
+ });
37
+ if (isy === undefined) {
38
+ isy = ISY.instance;
39
+ }
37
40
  try {
38
- MatterLogger.addLogger('polyLogger', (level, message) => logger.log(Level[level].toLowerCase().replace('notice', 'info'), message.slice(23).remove(Level[level]).trimStart()) /*Preserve existing formatting, but trim off date*/, {
41
+ MatterLogger.addLogger('polyLogger', (lvl, message) => {
42
+ let msg = message.slice(23).remove(Level[lvl]).trimStart();
43
+ let level = Level[lvl].toLowerCase().replace('notice', 'info');
44
+ if (msg.startsWith('EndpointStructureLogger')) {
45
+ if (lvl === Level.INFO)
46
+ level = 'debug';
47
+ }
48
+ logger.log(level, msg);
49
+ },
50
+ /*Preserve existing formatting, but trim off date*/
51
+ {
39
52
  defaultLogLevel: levelFromString(logger.level),
40
53
  logFormat: 'plain'
41
54
  });
@@ -43,9 +56,10 @@ export async function createServerNode(isy = ISY.instance) {
43
56
  finally {
44
57
  MatterLogger.defaultLogLevel = levelFromString(logger.level);
45
58
  }
46
- var config = await getConfiguration(isy);
59
+ config = await initializeConfiguration(isy, config);
47
60
  logger.info(`Matter config read: ${JSON.stringify(config)}`);
48
- const server = await ServerNode.create({
61
+ MatterLogger.removeLogger('default');
62
+ let server = await ServerNode.create({
49
63
  // Required: Give the Node a unique ID which is used to store the state of this node
50
64
  id: config.uniqueId,
51
65
  // Provide Network relevant configuration like the port
@@ -96,7 +110,8 @@ export async function createServerNode(isy = ISY.instance) {
96
110
  await server.add(aggregator);
97
111
  logger.info(`Bridge Aggregator Added`);
98
112
  const endpoints = [];
99
- for (const device of isy.deviceList.values()) {
113
+ for (const node of isy.nodeMap.values()) {
114
+ let device = node;
100
115
  let serialNumber = `${device.address.replaceAll(' ', '_').replaceAll('.', '_')}`;
101
116
  if (device.enabled && !(device instanceof InsteonKeypadButtonDevice)) {
102
117
  //const name = `OnOff ${isASocket ? "Socket" : "Light"} ${i}`;
@@ -117,6 +132,7 @@ export async function createServerNode(isy = ISY.instance) {
117
132
  // }
118
133
  }
119
134
  if (baseBehavior !== undefined) {
135
+ //@ts-ignore
120
136
  const endpoint = new Endpoint(baseBehavior, {
121
137
  id: serialNumber,
122
138
  isyNode: {
@@ -156,7 +172,7 @@ export async function createServerNode(isy = ISY.instance) {
156
172
  * The QR Code is printed automatically.
157
173
  */
158
174
  logger.info('Bringing server online');
159
- await server.bringOnline();
175
+ await server.start();
160
176
  logger.info('Matter Server is online');
161
177
  /**
162
178
  * Log the endpoint structure for debugging reasons and to allow to verify anything is correct
@@ -167,11 +183,11 @@ export async function createServerNode(isy = ISY.instance) {
167
183
  // logEndpoint(EndpointServer.forEndpoint(server), {logAttributePrimitiveValues: true, logAttributeObjectValues: true});
168
184
  //else if(logger.isDebugEnabled())
169
185
  // {
170
- logEndpoint(EndpointServer.forEndpoint(server), { logAttributePrimitiveValues: true, logAttributeObjectValues: false });
186
+ logEndpoint(EndpointServer.forEndpoint(server), { logAttributePrimitiveValues: true, logAttributeObjectValues: false, logClusterGlobalAttributes: false });
171
187
  // }
172
188
  if (server.lifecycle.isOnline) {
173
189
  const { qrPairingCode, manualPairingCode } = server.state.commissioning.pairingCodes;
174
- logger.info(QrCode.get(qrPairingCode));
190
+ logger.info('\n' + QrCode.get(qrPairingCode));
175
191
  logger.info(`QR Code URL: https://project-chip.github.io/connectedhomeip/qrcode.html?data=${qrPairingCode}`);
176
192
  logger.info(`Manual pairing code: ${manualPairingCode}`);
177
193
  }
@@ -179,26 +195,20 @@ export async function createServerNode(isy = ISY.instance) {
179
195
  {
180
196
  e[1].initialize(e[0] as any);
181
197
  }*/
198
+ instance = server;
182
199
  return server;
183
- function createBaseBehavior() {
184
- let baseBehavior;
185
- return baseBehavior;
186
- }
187
200
  }
188
- async function getConfiguration(isy) {
201
+ export function getPairingCode(server = instance) {
202
+ let codes = server.state.commissioning.pairingCodes;
203
+ codes.renderedQrPairingCode = QrCode.get(codes.qrPairingCode);
204
+ codes.url = `https://project-chip.github.io/connectedhomeip/qrcode.html?data=${codes.qrPairingCode}`;
205
+ return codes;
206
+ }
207
+ async function initializeConfiguration(isy, config) {
189
208
  var logger = isy.logger;
190
- /**
191
- * Collect all needed data
192
- *
193
- * This block collects all needed data from cli, environment or storage. Replace this with where ever your data come from.
194
- *
195
- * Note: This example uses the matter.js process storage system to store the device parameter data for convenience
196
- * and easy reuse. When you also do that be careful to not overlap with Matter-Server own storage contexts
197
- * (so maybe better not do it ;-)).
198
- */
199
209
  const environment = NodeJsEnvironment();
200
210
  const storageService = environment.get(StorageService);
201
- environment.vars.set('storage.path', ISY.instance.storagePath + '/matter');
211
+ environment.vars.set('storage.path', path.resolve(isy.storagePath, 'matter'));
202
212
  environment.vars.use(() => {
203
213
  const location = environment.vars.get('storage.path', environment.vars.get('path.root', '.'));
204
214
  storageService.location = location;
@@ -207,14 +217,14 @@ async function getConfiguration(isy) {
207
217
  logger.info(`Matter storage location: ${storageService.location} (Directory)`);
208
218
  const deviceStorage = (await storageService.open('device')).createContext('data');
209
219
  const vendorName = isy.vendorName;
210
- const passcode = environment.vars.number('passcode') ?? (await deviceStorage.get('passcode', 20202021));
211
- const discriminator = environment.vars.number('discriminator') ?? (await deviceStorage.get('discriminator', 3840));
220
+ const passcode = config.passcode ?? environment.vars.number('passcode') ?? (await deviceStorage.get('passcode', 20202021));
221
+ const discriminator = config.discriminator ?? environment.vars.number('discriminator') ?? (await deviceStorage.get('discriminator', 3840));
212
222
  // product name / id and vendor id should match what is in the device certificate
213
- const vendorId = environment.vars.number('vendorid') ?? (await deviceStorage.get('vendorid', 0xfff1));
214
- const productId = environment.vars.number('productid') ?? (await deviceStorage.get('productid', 0x8000));
223
+ const vendorId = config.vendorId ?? environment.vars.number('vendorid') ?? (await deviceStorage.get('vendorid', 0xfff1));
224
+ const productId = config.productId ?? environment.vars.number('productid') ?? (await deviceStorage.get('productid', 0x8000));
215
225
  const productName = isy.productName;
216
- const port = environment.vars.number('port') ?? 5540;
217
- const uniqueId = isy.id;
226
+ const port = config.port ?? environment.vars.number('port') ?? 5540;
227
+ const uniqueId = isy.id.replaceAll(':', '_');
218
228
  //environment.vars.string("uniqueid") ?? (await deviceStorage.get("uniqueid", Time.nowMs().toString()));
219
229
  // Persist basic data to keep them also on restart
220
230
  await deviceStorage.set({
@@ -236,5 +246,5 @@ async function getConfiguration(isy) {
236
246
  uniqueId
237
247
  };
238
248
  }
239
- // #endregion Functions (2)
249
+ // #endregion Functions (3)
240
250
  //# sourceMappingURL=Server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Matter/Bridge/Server.ts"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,mCAAmC,EAAE,MAAM,oEAAoE,CAAC;AACzH,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAGrG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,YAAY;AACZ,OAAO,WAAW,MAAM,sCAAsC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzF,OAAO,wBAAwB,CAAC;AAEhC,yBAAyB;AAEzB,MAAM,CAAC,IAAI,QAAoB,CAAC;AAEhC,YAAY;AACZ,MAAM,CAAC,IAAI,OAAO,GAAW,WAAW,CAAC,OAAO,CAAC;AAgBjD,4BAA4B;AAE5B,wBAAwB;AAExB,MAAM,UAAU,MAAM,CAAC,GAAS,EAAE,MAAe;IAChD,OAAO,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAS,EAAE,MAAe;IAClE,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAClC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;QACjC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;QACzB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;KACzC,CAAC,CAAC;IACH,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACvB,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;IACpB,CAAC;IAED,IAAI,CAAC;QACJ,YAAY,CAAC,SAAS,CACrB,YAAY,EACZ,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YAChB,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAC3D,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/D,IAAI,GAAG,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC/C,IAAI,GAAG,KAAK,KAAK,CAAC,IAAI;oBAAE,KAAK,GAAG,OAAO,CAAC;YACzC,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,mDAAmD;QACnD;YACC,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9C,SAAS,EAAE,OAAO;SAClB,CACD,CAAC;IACH,CAAC;YAAS,CAAC;QACV,YAAY,CAAC,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEpD,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7D,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;QACpC,oFAAoF;QACpF,EAAE,EAAE,MAAM,CAAC,QAAQ;QAEnB,uDAAuD;QACvD,0EAA0E;QAC1E,OAAO,EAAE;YACR,IAAI,EAAE,MAAM,CAAC,IAAI;YAEjB,cAAc;YACd,qBAAqB,EAAE;gBACtB,WAAW,EAAE,IAAI;aACjB;SACD;QAED,0CAA0C;QAC1C,4CAA4C;QAC5C,aAAa,EAAE;YACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,MAAM,CAAC,aAAa;SACnC;QAED,qCAAqC;QACrC,2DAA2D;QAC3D,kBAAkB,EAAE;YACnB,IAAI,EAAE,GAAG,CAAC,KAAK;YACf,UAAU,EAAE,kBAAkB,CAAC,UAAU;SACzC;QAED,yEAAyE;QACzE,0DAA0D;QAC1D,gBAAgB,EAAE;YACjB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YACnC,SAAS,EAAE,MAAM,CAAC,WAAW;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,WAAW;YAChC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,YAAY,EAAE,GAAG,CAAC,EAAE;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SACzB;KACD,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAEnC;;;;;;;;OAQG;IAEH,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IAE1E,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE7B,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAEvC,MAAM,SAAS,GAA6C,EAAE,CAAC;IAE/D,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACzC,IAAI,MAAM,GAAG,IAAoC,CAAC;QAClD,IAAI,YAAY,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QACjF,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,YAAY,yBAAyB,CAAC,EAAE,CAAC;YACtE,8DAA8D;YAE9D,YAAY;YACZ,IAAI,YAAmL,CAAC;YAExL,IAAI,MAAM,YAAY,qBAAqB,EAAE,CAAC;gBAC7C,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,mCAAmC,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;gBAC9I,4CAA4C;gBAC5C,IAAI;gBACJ,mFAAmF;gBACnF,IAAI;YACL,CAAC;iBAAM,IAAI,MAAM,YAAY,kBAAkB,EAAE,CAAC;gBACjD,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,mCAAmC,EAAE,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;gBACtH,4CAA4C;gBAC5C,IAAI;gBACJ,uFAAuF;gBACvF,IAAI;YACL,CAAC;YAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAChC,YAAY;gBACZ,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE;oBAC3C,EAAE,EAAE,YAAY;oBAChB,OAAO,EAAE;wBACR,OAAO,EAAE,MAAM,CAAC,OAAO;qBACvB;oBAED,6BAA6B,EAAE;wBAC9B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC1C,UAAU,EAAE,4BAA4B;wBACxC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;wBACnC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;wBACjD,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;wBAC5C,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;wBACvC,qBAAqB,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE;wBAC5C,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;wBACvC,qBAAqB,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE;wBAE5C,YAAY,EAAE,YAAY;wBAC1B,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,MAAM,CAAC,OAAO;qBACxB;iBACD,CAAC,CAAC;gBAEH,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;gBACrG,wCAAwC;YACzC,CAAC;YACD,uEAAuE;QACxE,CAAC;QAED;;;;;WAKG;IACJ,CAAC;IAED;;;;OAIG;IAEH,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvC;;OAEG;IAEH,6GAA6G;IAE7G,kDAAkD;IAClD,6BAA6B;IAC7B,wHAAwH;IACxH,kCAAkC;IAClC,IAAI;IACJ,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3J,IAAI;IACJ,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC;QAErF,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,gFAAgF,aAAa,EAAE,CAAC,CAAC;QAC7G,MAAM,CAAC,IAAI,CAAC,wBAAwB,iBAAiB,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD;;;OAGG;IACH,QAAQ,GAAG,MAAM,CAAC;IAClB,OAAO,MAAM,CAAC;AACf,CAAC;AASD,MAAM,UAAU,cAAc,CAAC,SAAqB,QAAQ;IAC3D,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAA+B,CAAC;IACvE,KAAK,CAAC,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9D,KAAK,CAAC,GAAG,GAAG,mEAAmE,KAAK,CAAC,aAAa,EAAE,CAAC;IACrG,OAAO,KAAK,CAAC;AACd,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,GAAQ,EAAE,MAAe;IAC/D,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAExB,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IAExC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9E,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;QACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9F,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,cAAc,CAAC,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IACjK,MAAM,CAAC,IAAI,CAAC,4BAA4B,cAAc,CAAC,QAAQ,cAAc,CAAC,CAAC;IAE/E,MAAM,aAAa,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAElF,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3H,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3I,iFAAiF;IACjF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACzH,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7H,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAEpE,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,wGAAwG;IAExG,kDAAkD;IAClD,MAAM,aAAa,CAAC,GAAG,CAAC;QACvB,QAAQ;QACR,aAAa;QACb,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,QAAQ;KAClB,CAAC,CAAC;IAEH,OAAO;QACN,aAAa;QACb,UAAU;QACV,QAAQ;QACR,aAAa;QACb,QAAQ;QACR,WAAW;QACX,SAAS;QACT,IAAI;QACJ,QAAQ;KACR,CAAC;AACH,CAAC;AAED,2BAA2B"}