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
@@ -2,33 +2,51 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ISYClusterBehavior = ISYClusterBehavior;
4
4
  require("@project-chip/matter.js/device");
5
+ const Converters_js_1 = require("../../Converters.js");
5
6
  const ISYBridgedDeviceBehavior_js_1 = require("./ISYBridgedDeviceBehavior.js");
7
+ // #endregion Type aliases (6)
8
+ // #region Functions (1)
6
9
  function ISYClusterBehavior(base, p) {
7
10
  return class ISYClusterBehavior extends base {
8
11
  _device;
9
12
  handlers = {};
13
+ bridgedDeviceBehavior;
10
14
  ///public map: ClusterMapping<ToClusterTypeByName<ClusterForBehavior<ConstructedType<typeof base>>["name"]>,ISYDeviceNode<any, any, any>>;
11
15
  map;
12
16
  async initialize(_options) {
13
17
  await super.initialize(_options);
14
- var behavior = await this.agent.load(ISYBridgedDeviceBehavior_js_1.ISYBridgedDeviceBehavior);
18
+ var behavior = (await this.agent.load(ISYBridgedDeviceBehavior_js_1.ISYBridgedDeviceBehavior));
19
+ this.bridgedDeviceBehavior = behavior;
15
20
  //var behavior = this.agent.get(ISYBridgedDeviceBehavior);
16
21
  this._device = behavior.device;
22
+ //@ts-ignore
17
23
  this.map = behavior.mapForBehavior(this);
18
24
  for (const key2 in this.map.attributes) {
19
- if (typeof this.map.attributes[key2] === 'string') {
20
- this.handlers[this.map.attributes[key2]] = (newValue, oldValue, formattedValue) => {
25
+ let val = this.map.attributes[key2];
26
+ let driverObj = null;
27
+ if (typeof val === 'string' || typeof val === 'symbol' || typeof val === 'number') {
28
+ driverObj = this._device.drivers[val];
29
+ this.handlers[val] = (newValue, oldValue, formattedValue) => {
21
30
  this.state[key2] = newValue;
22
31
  };
23
32
  }
24
- else if (this.map.attributes[key2].driver) {
25
- let { driver, converter } = this.map.attributes[key2];
33
+ else if (val.driver) {
34
+ driverObj = this._device.drivers[val.driver];
35
+ let { driver, converter } = val;
36
+ const convFunc = Converters_js_1.Converter.get(converter)?.from;
26
37
  this.handlers[driver] = (newValue, oldValue, formattedValue) => {
27
- this.state[key2] = converter(newValue);
38
+ if (convFunc)
39
+ this.state[key2] = convFunc(newValue);
40
+ else
41
+ this.state[key2] = newValue;
28
42
  };
29
43
  }
44
+ if (driverObj) {
45
+ let evt = `${driverObj.name}Changed`;
46
+ this.reactTo(behavior.events[evt], this.handlePropertyChange.bind(this), { lock: false });
47
+ }
30
48
  }
31
- this.reactTo(behavior.events.propertyChanged, this.handlePropertyChange, { lock: false });
49
+ //this.reactTo(behavior.events.propertyChanged, this.handlePropertyChange, { lock: false });
32
50
  //this._device.on("PropertyChanged", this.handlePropertyChange.bind(this));
33
51
  }
34
52
  get device() {
@@ -53,4 +71,5 @@ function ISYClusterBehavior(base, p) {
53
71
  }
54
72
  };
55
73
  }
74
+ // #endregion Functions (1)
56
75
  //# sourceMappingURL=ISYClusterBehavior.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ISYClusterBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYClusterBehavior.ts"],"names":[],"mappings":";;AAkCA,gDA8DC;AAvFD,0CAAwC;AAQxC,+EAAyE;AAiBzE,SAAgB,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,sDAAwB,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,sDAAwB,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":";;AA8CA,gDA4EC;AApHD,0CAAwC;AAExC,uDAAgD;AAOhD,+EAAyE;AA2BzE,8BAA8B;AAE9B,wBAAwB;AAExB,SAAgB,kBAAkB,CACjC,IAAO,EACP,CAAiB;IAEjB,OAAO,MAAM,kBAAmB,SAAQ,IAAI;QAC3C,OAAO,CAAI;QAEX,QAAQ,GAAgF,EAAS,CAAC;QAElG,qBAAqB,CAA8B;QACnD,0IAA0I;QAE1I,GAAG,CAAwB;QAElB,KAAK,CAAC,UAAU,CAAC,QAAa;YACtC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sDAAwB,CAAC,CAAgC,CAAC;YAChG,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;YACtC,0DAA0D;YAC1D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAW,CAAC;YACpC,YAAY;YACZ,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,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,SAAS,GAAG,IAAI,CAAC;gBACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACnF,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE;wBAC3D,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC,GAAG,QAAQ,CAAC;oBACvC,CAAC,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAsB,EAAE,CAAC;oBACvC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;oBAEvD,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;oBAChC,MAAM,QAAQ,GAAG,yBAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;oBAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE;wBAC9D,IAAI,QAAQ;4BAAE,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;;4BACzD,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC,GAAG,QAAQ,CAAC;oBAC5C,CAAC,CAAC;gBACH,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACf,IAAI,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,SAAS,CAAC;oBACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3F,CAAC;YACF,CAAC;YAED,4FAA4F;YAE5F,2EAA2E;QAC5E,CAAC;QAED,IAAI,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAwB,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;AAED,2BAA2B"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ISYDimmableBehavior = exports.ISYOnOffBehavior = void 0;
4
- const InsteonRelayDevice_js_1 = require("../../Devices/Insteon/InsteonRelayDevice.js");
5
- const OnOffLightDevice_1 = require("@project-chip/matter.js/devices/OnOffLightDevice");
6
- const ISYClusterBehavior_js_1 = require("./ISYClusterBehavior.js");
7
4
  const DimmableLightDevice_1 = require("@project-chip/matter.js/devices/DimmableLightDevice");
5
+ const OnOffLightDevice_1 = require("@project-chip/matter.js/devices/OnOffLightDevice");
8
6
  const InsteonDimmableDevice_js_1 = require("../../Devices/Insteon/InsteonDimmableDevice.js");
7
+ const InsteonRelayDevice_js_1 = require("../../Devices/Insteon/InsteonRelayDevice.js");
8
+ const ISYClusterBehavior_js_1 = require("./ISYClusterBehavior.js");
9
9
  const Converters_js_1 = require("../../Converters.js");
10
10
  class ISYOnOffBehavior extends (0, ISYClusterBehavior_js_1.ISYClusterBehavior)(OnOffLightDevice_1.OnOffLightRequirements.OnOffServer, InsteonRelayDevice_js_1.InsteonRelayDevice) {
11
11
  async initialize(_options) {
@@ -14,19 +14,21 @@ class ISYOnOffBehavior extends (0, ISYClusterBehavior_js_1.ISYClusterBehavior)(O
14
14
  }
15
15
  on = async () => {
16
16
  await super.on();
17
+ await this.device.on();
17
18
  //this.device.commands.DON = true;
18
19
  };
19
20
  async off() {
20
- //await super.off();
21
+ await super.off();
22
+ await this.device.off();
21
23
  // this.device.drivers = false;
22
24
  }
23
25
  toggle = async () => {
24
26
  //this.device.state = !(await this.device.state);
25
27
  };
26
28
  async handlePropertyChange({ driver, newValue, oldValue, formattedValue }) {
27
- if (driver === "ST") {
29
+ /*if (driver === 'ST') {
28
30
  this.state.onOff = newValue;
29
- }
31
+ }*/
30
32
  return super.handlePropertyChange({ driver, newValue, oldValue, formattedValue });
31
33
  }
32
34
  }
@@ -34,11 +36,12 @@ exports.ISYOnOffBehavior = ISYOnOffBehavior;
34
36
  class ISYDimmableBehavior extends (0, ISYClusterBehavior_js_1.ISYClusterBehavior)(DimmableLightDevice_1.DimmableLightRequirements.LevelControlServer, InsteonDimmableDevice_js_1.InsteonDimmableDevice) {
35
37
  async initialize(_options) {
36
38
  await super.initialize(_options);
37
- this.state.currentLevel = this.device.drivers.ST.value;
39
+ /*this.state.onLevel = Converter.get('Level255toZero.LightingLevel').to(this.device.drivers.OL)*/
40
+ //this.state.currentLevel = this.device.drivers.ST.value;
38
41
  //this.state.onLevel = this.device.drivers.OL;
39
42
  }
40
43
  setLevel(level) {
41
- level = Converters_js_1.Converters.Matter.LevelFrom0To255.LightingLevel.to(level);
44
+ level = Converters_js_1.Converter.Matter.LevelFrom0To255.LightingLevel.from(level);
42
45
  if (level > 0) {
43
46
  return this.device.sendCommand('DON', level);
44
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ISYOnOffBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYOnOffBehavior.ts"],"names":[],"mappings":";;;AAAA,uFAAgF;AAChF,uFAA0F;AAC1F,mEAAsG;AAQtG,6FAAgG;AAChG,6FAAuF;AAEvF,uDAA+C;AAM/C,MAAa,gBAAiB,SAAQ,IAAA,0CAAkB,EAAC,yCAAsB,CAAC,WAAW,EAAE,0CAAkB,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;AAtCD,4CAsCC;AAGD,MAAa,mBAAoB,SAAQ,IAAA,0CAAkB,EAAC,+CAAyB,CAAC,kBAAkB,EAAE,gDAAqB,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,0BAAU,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;AAnBD,kDAmBC"}
1
+ {"version":3,"file":"ISYOnOffBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYOnOffBehavior.ts"],"names":[],"mappings":";;;AAGA,6FAAgG;AAChG,uFAA0F;AAI1F,6FAAuF;AACvF,uFAAiF;AAEjF,mEAAsG;AAEtG,uDAAgD;AAEhD,MAAa,gBAAiB,SAAQ,IAAA,0CAAkB,EAAC,yCAAsB,CAAC,WAAW,EAAE,0CAAkB,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;AA/BD,4CA+BC;AAED,MAAa,mBAAoB,SAAQ,IAAA,0CAAkB,EAAC,+CAAyB,CAAC,kBAAkB,EAAE,gDAAqB,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,yBAAS,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;AAjBD,kDAiBC"}
@@ -1,6 +1,36 @@
1
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
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createServerNode = createServerNode;
29
+ exports.version = exports.instance = void 0;
30
+ exports.create = create;
31
+ exports.createMatterServer = createMatterServer;
32
+ exports.getPairingCode = getPairingCode;
33
+ require("@project-chip/matter-node.js");
4
34
  const environment_1 = require("@project-chip/matter-node.js/environment");
5
35
  const storage_1 = require("@project-chip/matter-node.js/storage");
6
36
  const bridged_device_basic_information_1 = require("@project-chip/matter.js/behaviors/bridged-device-basic-information");
@@ -12,33 +42,43 @@ const AggregatorEndpoint_1 = require("@project-chip/matter.js/endpoints/Aggregat
12
42
  const environment_2 = require("@project-chip/matter.js/environment");
13
43
  const log_1 = require("@project-chip/matter.js/log");
14
44
  const node_1 = require("@project-chip/matter.js/node");
45
+ //@ts-ignore
46
+ const package_json_1 = __importDefault(require("@project-chip/matter.js/package.json"));
15
47
  const schema_1 = require("@project-chip/matter.js/schema");
16
- const path_1 = require("path");
48
+ const path_1 = __importStar(require("path"));
49
+ const winston_1 = require("winston");
17
50
  const ISY_js_1 = require("../../ISY.js");
18
51
  const ISYBridgedDeviceBehavior_js_1 = require("../Behaviors/ISYBridgedDeviceBehavior.js");
19
52
  const ISYOnOffBehavior_js_1 = require("../Behaviors/ISYOnOffBehavior.js");
20
- // #region Functions (2)
21
- //import {clone} from 'isy-nodejs/Utils';
22
- //let { Utils } = await import ('isy-nodejs');
23
- // function plainLogFormatter(now: Date, level: Level, facility: string, prefix: string, values: any[]) {
24
- // const creator = plaintextCreator();
25
- // const formattedValues = renderDiagnostic(values, {
26
- // ...creator,
27
- // key: text => creator.text(`${text}: `),
28
- // value: producer => creator.text(producer()),
29
- // strong: producer => creator.text(`*${producer()}*`),
30
- // weak: producer => creator.text(producer()),
31
- // status: (status, producer) => `${creator.text(statusIcon(status))}${producer()}`,
32
- // via: text => creator.text(text),
33
- // });
34
- // return `${formatTime(now)} ${Level[level]} ${facility} ${prefix}${formattedValues}`;
35
- //
36
- //let matterLogger = clone(logger,'matter.js');
37
- //2024-07-03 16:30:43.693
38
- async function createServerNode(isy = ISY_js_1.ISY.instance) {
39
- var logger = isy.logger;
53
+ require("../Mappings/Insteon.js");
54
+ //@ts-ignore
55
+ exports.version = package_json_1.default.version;
56
+ // #endregion Interfaces (1)
57
+ // #region Functions (3)
58
+ function create(isy, config) {
59
+ return createMatterServer(isy, config);
60
+ }
61
+ async function createMatterServer(isy, config) {
62
+ var logger = winston_1.loggers.add('matter', {
63
+ transports: isy.logger.transports,
64
+ levels: isy.logger.levels,
65
+ format: winston_1.format.label({ label: 'Matter' })
66
+ });
67
+ if (isy === undefined) {
68
+ isy = ISY_js_1.ISY.instance;
69
+ }
40
70
  try {
41
- log_1.Logger.addLogger('polyLogger', (level, message) => logger.log(log_1.Level[level].toLowerCase().replace('notice', 'info'), message.slice(23).remove(log_1.Level[level]).trimStart()) /*Preserve existing formatting, but trim off date*/, {
71
+ log_1.Logger.addLogger('polyLogger', (lvl, message) => {
72
+ let msg = message.slice(23).remove(log_1.Level[lvl]).trimStart();
73
+ let level = log_1.Level[lvl].toLowerCase().replace('notice', 'info');
74
+ if (msg.startsWith('EndpointStructureLogger')) {
75
+ if (lvl === log_1.Level.INFO)
76
+ level = 'debug';
77
+ }
78
+ logger.log(level, msg);
79
+ },
80
+ /*Preserve existing formatting, but trim off date*/
81
+ {
42
82
  defaultLogLevel: (0, log_1.levelFromString)(logger.level),
43
83
  logFormat: 'plain'
44
84
  });
@@ -46,9 +86,10 @@ async function createServerNode(isy = ISY_js_1.ISY.instance) {
46
86
  finally {
47
87
  log_1.Logger.defaultLogLevel = (0, log_1.levelFromString)(logger.level);
48
88
  }
49
- var config = await getConfiguration(isy);
89
+ config = await initializeConfiguration(isy, config);
50
90
  logger.info(`Matter config read: ${JSON.stringify(config)}`);
51
- const server = await node_1.ServerNode.create({
91
+ log_1.Logger.removeLogger('default');
92
+ let server = await node_1.ServerNode.create({
52
93
  // Required: Give the Node a unique ID which is used to store the state of this node
53
94
  id: config.uniqueId,
54
95
  // Provide Network relevant configuration like the port
@@ -99,7 +140,8 @@ async function createServerNode(isy = ISY_js_1.ISY.instance) {
99
140
  await server.add(aggregator);
100
141
  logger.info(`Bridge Aggregator Added`);
101
142
  const endpoints = [];
102
- for (const device of isy.deviceList.values()) {
143
+ for (const node of isy.nodeMap.values()) {
144
+ let device = node;
103
145
  let serialNumber = `${device.address.replaceAll(' ', '_').replaceAll('.', '_')}`;
104
146
  if (device.enabled && !(device instanceof ISY_js_1.InsteonKeypadButtonDevice)) {
105
147
  //const name = `OnOff ${isASocket ? "Socket" : "Light"} ${i}`;
@@ -120,6 +162,7 @@ async function createServerNode(isy = ISY_js_1.ISY.instance) {
120
162
  // }
121
163
  }
122
164
  if (baseBehavior !== undefined) {
165
+ //@ts-ignore
123
166
  const endpoint = new endpoint_1.Endpoint(baseBehavior, {
124
167
  id: serialNumber,
125
168
  isyNode: {
@@ -159,7 +202,7 @@ async function createServerNode(isy = ISY_js_1.ISY.instance) {
159
202
  * The QR Code is printed automatically.
160
203
  */
161
204
  logger.info('Bringing server online');
162
- await server.bringOnline();
205
+ await server.start();
163
206
  logger.info('Matter Server is online');
164
207
  /**
165
208
  * Log the endpoint structure for debugging reasons and to allow to verify anything is correct
@@ -170,11 +213,11 @@ async function createServerNode(isy = ISY_js_1.ISY.instance) {
170
213
  // logEndpoint(EndpointServer.forEndpoint(server), {logAttributePrimitiveValues: true, logAttributeObjectValues: true});
171
214
  //else if(logger.isDebugEnabled())
172
215
  // {
173
- (0, device_1.logEndpoint)(endpoint_1.EndpointServer.forEndpoint(server), { logAttributePrimitiveValues: true, logAttributeObjectValues: false });
216
+ (0, device_1.logEndpoint)(endpoint_1.EndpointServer.forEndpoint(server), { logAttributePrimitiveValues: true, logAttributeObjectValues: false, logClusterGlobalAttributes: false });
174
217
  // }
175
218
  if (server.lifecycle.isOnline) {
176
219
  const { qrPairingCode, manualPairingCode } = server.state.commissioning.pairingCodes;
177
- logger.info(schema_1.QrCode.get(qrPairingCode));
220
+ logger.info('\n' + schema_1.QrCode.get(qrPairingCode));
178
221
  logger.info(`QR Code URL: https://project-chip.github.io/connectedhomeip/qrcode.html?data=${qrPairingCode}`);
179
222
  logger.info(`Manual pairing code: ${manualPairingCode}`);
180
223
  }
@@ -182,26 +225,20 @@ async function createServerNode(isy = ISY_js_1.ISY.instance) {
182
225
  {
183
226
  e[1].initialize(e[0] as any);
184
227
  }*/
228
+ exports.instance = server;
185
229
  return server;
186
- function createBaseBehavior() {
187
- let baseBehavior;
188
- return baseBehavior;
189
- }
190
230
  }
191
- async function getConfiguration(isy) {
231
+ function getPairingCode(server = exports.instance) {
232
+ let codes = server.state.commissioning.pairingCodes;
233
+ codes.renderedQrPairingCode = schema_1.QrCode.get(codes.qrPairingCode);
234
+ codes.url = `https://project-chip.github.io/connectedhomeip/qrcode.html?data=${codes.qrPairingCode}`;
235
+ return codes;
236
+ }
237
+ async function initializeConfiguration(isy, config) {
192
238
  var logger = isy.logger;
193
- /**
194
- * Collect all needed data
195
- *
196
- * This block collects all needed data from cli, environment or storage. Replace this with where ever your data come from.
197
- *
198
- * Note: This example uses the matter.js process storage system to store the device parameter data for convenience
199
- * and easy reuse. When you also do that be careful to not overlap with Matter-Server own storage contexts
200
- * (so maybe better not do it ;-)).
201
- */
202
239
  const environment = (0, environment_1.NodeJsEnvironment)();
203
240
  const storageService = environment.get(environment_2.StorageService);
204
- environment.vars.set('storage.path', ISY_js_1.ISY.instance.storagePath + '/matter');
241
+ environment.vars.set('storage.path', path_1.default.resolve(isy.storagePath, 'matter'));
205
242
  environment.vars.use(() => {
206
243
  const location = environment.vars.get('storage.path', environment.vars.get('path.root', '.'));
207
244
  storageService.location = location;
@@ -210,14 +247,14 @@ async function getConfiguration(isy) {
210
247
  logger.info(`Matter storage location: ${storageService.location} (Directory)`);
211
248
  const deviceStorage = (await storageService.open('device')).createContext('data');
212
249
  const vendorName = isy.vendorName;
213
- const passcode = environment.vars.number('passcode') ?? (await deviceStorage.get('passcode', 20202021));
214
- const discriminator = environment.vars.number('discriminator') ?? (await deviceStorage.get('discriminator', 3840));
250
+ const passcode = config.passcode ?? environment.vars.number('passcode') ?? (await deviceStorage.get('passcode', 20202021));
251
+ const discriminator = config.discriminator ?? environment.vars.number('discriminator') ?? (await deviceStorage.get('discriminator', 3840));
215
252
  // product name / id and vendor id should match what is in the device certificate
216
- const vendorId = environment.vars.number('vendorid') ?? (await deviceStorage.get('vendorid', 0xfff1));
217
- const productId = environment.vars.number('productid') ?? (await deviceStorage.get('productid', 0x8000));
253
+ const vendorId = config.vendorId ?? environment.vars.number('vendorid') ?? (await deviceStorage.get('vendorid', 0xfff1));
254
+ const productId = config.productId ?? environment.vars.number('productid') ?? (await deviceStorage.get('productid', 0x8000));
218
255
  const productName = isy.productName;
219
- const port = environment.vars.number('port') ?? 5540;
220
- const uniqueId = isy.id;
256
+ const port = config.port ?? environment.vars.number('port') ?? 5540;
257
+ const uniqueId = isy.id.replaceAll(':', '_');
221
258
  //environment.vars.string("uniqueid") ?? (await deviceStorage.get("uniqueid", Time.nowMs().toString()));
222
259
  // Persist basic data to keep them also on restart
223
260
  await deviceStorage.set({
@@ -239,5 +276,5 @@ async function getConfiguration(isy) {
239
276
  uniqueId
240
277
  };
241
278
  }
242
- // #endregion Functions (2)
279
+ // #endregion Functions (3)
243
280
  //# sourceMappingURL=Server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Matter/Bridge/Server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,wBAEC;AAED,gDAqMC;AASD,wCAKC;AAzQD,wCAAsC;AACtC,0EAA6E;AAC7E,kEAA0E;AAC1E,yHAAyH;AACzH,+DAA4D;AAC5D,2DAA6D;AAC7D,+DAA4E;AAC5E,8EAAqG;AAGrG,6FAA0F;AAC1F,qEAAqE;AACrE,qDAA6F;AAC7F,uDAA0D;AAC1D,YAAY;AACZ,wFAAqF;AACrF,2DAAwD;AACxD,6CAAqC;AACrC,qCAA0C;AAE1C,yCAAyG;AACzG,0FAAoF;AACpF,0EAAyF;AACzF,kCAAgC;AAMhC,YAAY;AACD,QAAA,OAAO,GAAW,sBAAW,CAAC,OAAO,CAAC;AAgBjD,4BAA4B;AAE5B,wBAAwB;AAExB,SAAgB,MAAM,CAAC,GAAS,EAAE,MAAe;IAChD,OAAO,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,GAAS,EAAE,MAAe;IAClE,IAAI,MAAM,GAAG,iBAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAClC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;QACjC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;QACzB,MAAM,EAAE,gBAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;KACzC,CAAC,CAAC;IACH,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACvB,GAAG,GAAG,YAAG,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,WAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAC3D,IAAI,KAAK,GAAG,WAAK,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,WAAK,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,IAAA,qBAAe,EAAC,MAAM,CAAC,KAAK,CAAC;YAC9C,SAAS,EAAE,OAAO;SAClB,CACD,CAAC;IACH,CAAC;YAAS,CAAC;QACV,YAAY,CAAC,eAAe,GAAG,IAAA,qBAAe,EAAC,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,iBAAU,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,uCAAkB,CAAC,UAAU;SACzC;QAED,yEAAyE;QACzE,0DAA0D;QAC1D,gBAAgB,EAAE;YACjB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,IAAA,mBAAQ,EAAC,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,mBAAQ,CAAC,uCAAkB,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,kCAAyB,CAAC,EAAE,CAAC;YACtE,8DAA8D;YAE9D,YAAY;YACZ,IAAI,YAAmL,CAAC;YAExL,IAAI,MAAM,YAAY,8BAAqB,EAAE,CAAC;gBAC7C,YAAY,GAAG,iCAAmB,CAAC,IAAI,CAAC,sEAAmC,EAAE,sDAAwB,EAAE,sCAAgB,EAAE,yCAAmB,CAAC,CAAC;gBAC9I,4CAA4C;gBAC5C,IAAI;gBACJ,mFAAmF;gBACnF,IAAI;YACL,CAAC;iBAAM,IAAI,MAAM,YAAY,2BAAkB,EAAE,CAAC;gBACjD,YAAY,GAAG,8BAAgB,CAAC,IAAI,CAAC,sEAAmC,EAAE,sDAAwB,EAAE,sCAAgB,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,mBAAQ,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,IAAA,mBAAQ,EAAC,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,IAAA,oBAAW,EAAC,yBAAc,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,eAAM,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,gBAAQ,GAAG,MAAM,CAAC;IAClB,OAAO,MAAM,CAAC;AACf,CAAC;AASD,SAAgB,cAAc,CAAC,SAAqB,gBAAQ;IAC3D,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAA+B,CAAC;IACvE,KAAK,CAAC,qBAAqB,GAAG,eAAM,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,IAAA,+BAAiB,GAAE,CAAC;IAExC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,4BAAc,CAAC,CAAC;IACvD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,cAAI,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,4BAAkB,CAAC,IAAA,cAAO,EAAC,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"}
@@ -1,20 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const OnOffLightDevice_1 = require("@project-chip/matter.js/devices/OnOffLightDevice");
3
4
  const Drivers_js_1 = require("../../Definitions/Global/Drivers.js");
5
+ const Families_js_1 = require("../../Definitions/Global/Families.js");
4
6
  const ClusterMap_js_1 = require("../../Model/ClusterMap.js");
5
- const OnOffLightDevice_1 = require("@project-chip/matter.js/devices/OnOffLightDevice");
6
7
  //import InsteonMap from "./Insteon.json";
7
8
  const DimmableLightDevice_1 = require("@project-chip/matter.js/devices/DimmableLightDevice");
8
9
  const map = {
10
+ Family: Families_js_1.Family.Insteon,
9
11
  Relay: {
10
12
  deviceType: OnOffLightDevice_1.OnOffLightDevice,
11
13
  mapping: {
12
14
  OnOff: {
13
15
  attributes: {
14
- onOff: { driver: "ST" },
16
+ onOff: { driver: 'ST', converter: 'Percent.Boolean' }
15
17
  },
16
- commands: { on: 'DON' },
17
- },
18
+ commands: { on: 'DON' }
19
+ }
18
20
  }
19
21
  },
20
22
  RelaySwitch: {
@@ -22,29 +24,31 @@ const map = {
22
24
  mapping: {
23
25
  OnOff: {
24
26
  attributes: {
25
- onOff: "ST",
27
+ onOff: 'ST'
26
28
  },
27
- commands: { on: "DON" },
28
- },
29
- },
29
+ commands: { on: 'DON' }
30
+ }
31
+ }
30
32
  },
31
33
  Dimmer: {
32
34
  deviceType: DimmableLightDevice_1.DimmableLightDevice,
33
35
  mapping: {
34
36
  OnOff: {
35
37
  attributes: {
36
- onOff: { driver: "ST" },
38
+ onOff: { driver: 'ST', converter: 'LevelFrom0To255.Boolean' }
37
39
  },
38
- commands: { on: "DON" },
40
+ commands: { on: 'DON' }
39
41
  },
40
42
  LevelControl: {
41
43
  attributes: {
42
- currentLevel: { driver: Drivers_js_1.DriverType.Status },
44
+ currentLevel: { driver: Drivers_js_1.DriverType.Status, converter: 'LevelFrom0To255.LightingLevel' }
43
45
  },
44
- commands: { moveToLevel: { command: 'DON' } },
45
- },
46
- },
47
- },
46
+ commands: { moveToLevel: { command: 'DON' } }
47
+ }
48
+ }
49
+ }
48
50
  };
51
+ map.KeypadDimmer = map.Dimmer;
52
+ map.DimmerSwitch = map.Dimmer;
49
53
  ClusterMap_js_1.MappingRegistry.register(map);
50
54
  //# sourceMappingURL=Insteon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Insteon.js","sourceRoot":"","sources":["../../../../src/Matter/Mappings/Insteon.ts"],"names":[],"mappings":";;AACA,oEAAiE;AAIjE,6DAKmC;AAEnC,uFAAoF;AAEpF,0CAA0C;AAC1C,6FAA0F;AAM1F,MAAM,GAAG,GAAuC;IAC9C,KAAK,EAAE;QACL,UAAU,EAAE,mCAAgB;QAC5B,OAAO,EAAG;YAER,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAC;iBACvB;gBACD,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAC;aACvB;SAIF;KACF;IACD,WAAW,EAAE;QACX,UAAU,EAAE,mCAAgB;QAC5B,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,KAAK,EAAE,IAAI;iBACZ;gBACD,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAC;aACvB;SACF;KACF;IACD,MAAM,EAAE;QACN,UAAU,EAAE,yCAAmB;QAC/B,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;iBACxB;gBACD,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;aACxB;YACD,YAAY,EAAE;gBACZ,UAAU,EAAE;oBACV,YAAY,EAAE,EAAE,MAAM,EAAE,uBAAU,CAAC,MAAM,EAAE;iBAC5C;gBACD,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,EAAC;aAC3C;SACF;KACF;CACF,CAAC;AAEF,+BAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"Insteon.js","sourceRoot":"","sources":["../../../../src/Matter/Mappings/Insteon.ts"],"names":[],"mappings":";;AAEA,uFAAoF;AACpF,oEAAiE;AACjE,sEAAsE;AAGtE,6DAAoI;AAEpI,0CAA0C;AAC1C,6FAA0F;AAI1F,MAAM,GAAG,GAAuC;IAC/C,MAAM,EAAE,oBAAM,CAAC,OAAO;IACtB,KAAK,EAAE;QACN,UAAU,EAAE,mCAAgB;QAC5B,OAAO,EAAE;YACR,KAAK,EAAE;gBACN,UAAU,EAAE;oBACX,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE;iBACrD;gBACD,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;aACvB;SACmD;KACrD;IACD,WAAW,EAAE;QACZ,UAAU,EAAE,mCAAgB;QAC5B,OAAO,EAAE;YACR,KAAK,EAAE;gBACN,UAAU,EAAE;oBACX,KAAK,EAAE,IAAI;iBACX;gBACD,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;aACvB;SACD;KACD;IACD,MAAM,EAAE;QACP,UAAU,EAAE,yCAAmB;QAC/B,OAAO,EAAE;YACR,KAAK,EAAE;gBACN,UAAU,EAAE;oBACX,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE;iBAC7D;gBACD,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;aACvB;YACD,YAAY,EAAE;gBACb,UAAU,EAAE;oBACX,YAAY,EAAE,EAAE,MAAM,EAAE,uBAAU,CAAC,MAAM,EAAE,SAAS,EAAE,+BAA+B,EAAE;iBACvF;gBACD,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;aAC7C;SACD;KACD;CACD,CAAC;AAEF,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;AAC9B,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;AAE9B,+BAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../src/Matter/Mappings/register.ts"],"names":[],"mappings":""}
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MappingRegistry = void 0;
4
4
  const Drivers_js_1 = require("../Definitions/Global/Drivers.js");
5
+ const index_js_1 = require("../Devices/Insteon/index.js");
5
6
  const ClusterType_js_1 = require("./ClusterType.js");
6
- // #endregion Type aliases (15)
7
+ // #endregion Type aliases (16)
7
8
  // #region Classes (1)
8
9
  class MappingRegistry {
9
10
  // #region Properties (1)
@@ -14,17 +15,19 @@ class MappingRegistry {
14
15
  return MappingRegistry.map.get(device.constructor.name);
15
16
  }
16
17
  static getMappingForBehavior(device, behavior) {
17
- var m = MappingRegistry.getMapping(device);
18
- return m[behavior.cluster.name];
19
- // for(var m in MappingRegistry.getMapping(device).mapping)
20
- // {
21
- // if(behavior.cluster.name === m)
22
- // return MappingRegistry.getMapping(device).mapping[m];
23
- // }
18
+ //var m = MappingRegistry.getMapping(device);
19
+ //return m[behavior.cluster.name];
20
+ for (var m in MappingRegistry.getMapping(device).mapping) {
21
+ if (behavior.cluster.name === m)
22
+ return MappingRegistry.getMapping(device).mapping[m];
23
+ }
24
24
  }
25
25
  static register(map) {
26
26
  for (var key in map) {
27
- MappingRegistry.map.set(key, map[key]);
27
+ if (key !== 'Family') {
28
+ MappingRegistry.map.set(key, map[key]);
29
+ MappingRegistry.map.set(index_js_1.Insteon[key].name, map[key]);
30
+ }
28
31
  }
29
32
  }
30
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterMap.js","sourceRoot":"","sources":["../../../src/Model/ClusterMap.ts"],"names":[],"mappings":";;;AACA,iEAAsE;AAetE,qDAA+C;AAoH/C,+BAA+B;AAE/B,sBAAsB;AAEtB,MAAa,eAAe;IAC3B,yBAAyB;IAElB,MAAM,CAAC,GAAG,GAA8C,IAAI,GAAG,EAAE,CAAC;IAEzE,4BAA4B;IAE5B,oCAAoC;IAE7B,MAAM,CAAC,UAAU,CAAqC,MAAS;QACrE,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAgE,MAAS,EAAE,QAAW;QACxH,IAAI,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,2DAA2D;QAC3D,IAAI;QACJ,oCAAoC;QACpC,4DAA4D;QAE5D,IAAI;IACL,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,GAAqC;QAC3D,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;;AA7BF,0CAgCC;AAED,yBAAyB;AAEzB,wBAAwB;AAExB,IAAI,KAAQ,CAAC;AACb,IAAI,UAAU,GAAG;IAChB,OAAO,EAAE,4BAAW,CAAC,YAAY;IACjC,UAAU,EAAE,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,uBAAU,CAAC,MAAM,EAAE,EAAE;IACrE,QAAQ,EAAE;QACT,WAAW,EAAE,EAAE,OAAO,EAAE,uBAAU,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE;KAC1L;CACD,CAAC;AACF,MAAM,GAAG,GAA0D;IAClE,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE;QACN,UAAU,EAAE;YACX,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACvB;QACD,QAAQ,EAAE;YACT,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAClC;KACD;CACD,CAAC;AAEF,2BAA2B"}
1
+ {"version":3,"file":"ClusterMap.js","sourceRoot":"","sources":["../../../src/Model/ClusterMap.ts"],"names":[],"mappings":";;;AAYA,iEAAsE;AAEtE,0DAAsD;AAKtD,qDAA+C;AA0H/C,+BAA+B;AAE/B,sBAAsB;AAEtB,MAAa,eAAe;IAC3B,yBAAyB;IAElB,MAAM,CAAC,GAAG,GAA8C,IAAI,GAAG,EAAE,CAAC;IAEzE,4BAA4B;IAE5B,oCAAoC;IAE7B,MAAM,CAAC,UAAU,CAAwC,MAAS;QACxE,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAmE,MAAS,EAAE,QAAW;QAC3H,6CAA6C;QAE7C,kCAAkC;QAClC,KAAK,IAAI,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1D,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAqC,CAAC;QAC3H,CAAC;IACF,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,GAAqC;QAC3D,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACtB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC;QACF,CAAC;IACF,CAAC;;AA7BF,0CAgCC;AAED,yBAAyB;AAEzB,wBAAwB;AAExB,IAAI,KAAQ,CAAC;AACb,IAAI,UAAU,GAAG;IAChB,OAAO,EAAE,4BAAW,CAAC,YAAY;IACjC,UAAU,EAAE,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,uBAAU,CAAC,MAAM,EAAE,EAAE;IACrE,QAAQ,EAAE;QACT,WAAW,EAAE,EAAE,OAAO,EAAE,uBAAU,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE;KAC1L;CACD,CAAC;AACF,MAAM,GAAG,GAA0D;IAClE,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE;QACN,UAAU,EAAE;YACX,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACvB;QACD,QAAQ,EAAE;YACT,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAClC;KACD;CACD,CAAC;AAEF,2BAA2B"}
package/dist/cjs/Utils.js CHANGED
@@ -22,11 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  exports.EventEmitter = void 0;
27
30
  exports.getEnumValueByEnumKey = getEnumValueByEnumKey;
28
31
  exports.getEnumKeyByEnumValue = getEnumKeyByEnumValue;
29
- exports.invert = invert;
30
32
  exports.toArray = toArray;
31
33
  exports.fromArray = fromArray;
32
34
  exports.byteToPct = byteToPct;
@@ -43,23 +45,20 @@ exports.removeAll = removeAll;
43
45
  exports.parseTypeCode = parseTypeCode;
44
46
  exports.getCategory = getCategory;
45
47
  exports.getSubcategory = getSubcategory;
48
+ exports.findPackageJson = findPackageJson;
49
+ exports.logStringify = logStringify;
46
50
  const winston_1 = __importStar(require("winston"));
47
51
  const events_1 = require("events");
48
52
  const Categories_js_1 = require("./Definitions/Global/Categories.js");
53
+ const fs_1 = require("fs");
54
+ const promises_1 = require("fs/promises");
55
+ const path_1 = __importDefault(require("path"));
49
56
  function getEnumValueByEnumKey(enumType, enumKey) {
50
57
  return enumType[enumKey];
51
58
  }
52
59
  function getEnumKeyByEnumValue(enumType, enumValue) {
53
60
  return Object.keys(enumType).find((key) => enumType[key] === enumValue);
54
61
  }
55
- //onst D: d = 'ST';
56
- //type DriverLabel = Values<IdentityOf<DriverType>>;
57
- function invert(converter) {
58
- return {
59
- from: converter.to,
60
- to: converter.from
61
- };
62
- }
63
62
  function toArray(value) {
64
63
  if (undefined === value)
65
64
  return [];
@@ -196,4 +195,56 @@ function getSubcategory(device) {
196
195
  return Categories_js_1.Category.Unknown;
197
196
  }
198
197
  }
198
+ function getImportMeta() {
199
+ try {
200
+ //@ts-ignore
201
+ return import.meta;
202
+ }
203
+ catch (err) {
204
+ //@ts-ignore
205
+ let { dirname, filename } = { dirname: __dirname, filename: __filename };
206
+ return { dirname, filename };
207
+ }
208
+ }
209
+ async function findPackageJson(currentPath = getImportMeta().dirname) {
210
+ try {
211
+ while (currentPath !== '/') {
212
+ const packageJsonPath = path_1.default.join(currentPath, 'package.json');
213
+ if ((0, fs_1.existsSync)(packageJsonPath)) {
214
+ return JSON.parse(await (0, promises_1.readFile)(packageJsonPath, 'utf8'));
215
+ }
216
+ currentPath = path_1.default.join(currentPath, '..');
217
+ }
218
+ }
219
+ catch {
220
+ //@ts-expect-error
221
+ return (await Promise.resolve().then(() => __importStar(require('../../package.json')))).default;
222
+ }
223
+ return null;
224
+ }
225
+ function logStringify(obj, indent = 2) {
226
+ let cache = [];
227
+ const retVal = JSON.stringify(obj, (key, value) => {
228
+ if (typeof value === 'object' && value !== null) {
229
+ if (cache.includes(value)) {
230
+ // Circular reference found, discard key
231
+ return;
232
+ }
233
+ // Store value in our collection
234
+ cache.push(value);
235
+ }
236
+ if (value instanceof Map) {
237
+ return [...value];
238
+ }
239
+ if (value instanceof Set) {
240
+ return [...value];
241
+ }
242
+ if (key.toLowerCase().includes('password')) {
243
+ return '********';
244
+ }
245
+ return value;
246
+ }, indent);
247
+ cache = null;
248
+ return retVal;
249
+ }
199
250
  //# sourceMappingURL=Utils.js.map