isy-nodejs 1.0.6-alpha.2 → 1.0.8-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/dist/esm/CodeGeneration/CodeFactory.js +12 -6
  2. package/dist/esm/CodeGeneration/CodeFactory.js.map +1 -1
  3. package/dist/esm/CodeGeneration/NodeClassFactory.js +16 -7
  4. package/dist/esm/CodeGeneration/NodeClassFactory.js.map +1 -1
  5. package/dist/esm/Definitions/Global/Commands.js +6 -7
  6. package/dist/esm/Definitions/Global/Commands.js.map +1 -1
  7. package/dist/esm/Definitions/Global/Drivers.js +36 -23
  8. package/dist/esm/Definitions/Global/Drivers.js.map +1 -1
  9. package/dist/esm/Definitions/Insteon/generated/Boolean.js +10 -0
  10. package/dist/esm/Definitions/Insteon/generated/Boolean.js.map +1 -1
  11. package/dist/esm/Definitions/Insteon/generated/Error.js +10 -0
  12. package/dist/esm/Definitions/Insteon/generated/Error.js.map +1 -1
  13. package/dist/esm/Definitions/Insteon/generated/Lock.js +26 -0
  14. package/dist/esm/Definitions/Insteon/generated/Lock.js.map +1 -1
  15. package/dist/esm/Definitions/Insteon/generated/OnLevelRelay.js +10 -0
  16. package/dist/esm/Definitions/Insteon/generated/OnLevelRelay.js.map +1 -1
  17. package/{src/Devices/ISYMultiNodeDevice.ts → dist/esm/Devices/CompositeDevice.js} +108 -9
  18. package/dist/esm/Devices/CompositeDevice.js.map +1 -0
  19. package/dist/esm/Devices/DeviceFactory.js +1 -1
  20. package/dist/esm/Devices/DeviceFactory.js.map +1 -1
  21. package/dist/esm/Devices/ISYDeviceNode.js +1 -0
  22. package/dist/esm/Devices/ISYDeviceNode.js.map +1 -1
  23. package/dist/esm/Devices/ISYMultiNodeDevice.js +25 -1
  24. package/dist/esm/Devices/ISYMultiNodeDevice.js.map +1 -1
  25. package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js +6 -6
  26. package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js.map +1 -1
  27. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js +6 -6
  28. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js.map +1 -1
  29. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js +6 -6
  30. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js.map +1 -1
  31. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js +6 -6
  32. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js.map +1 -1
  33. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js +6 -6
  34. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js.map +1 -1
  35. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js +8 -8
  36. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js.map +1 -1
  37. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js +8 -8
  38. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js.map +1 -1
  39. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js +8 -8
  40. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js.map +1 -1
  41. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js +8 -8
  42. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js.map +1 -1
  43. package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js +5 -5
  44. package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js.map +1 -1
  45. package/dist/esm/Devices/Insteon/Generated/DoorLock.js +6 -6
  46. package/dist/esm/Devices/Insteon/Generated/DoorLock.js.map +1 -1
  47. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js +6 -6
  48. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js.map +1 -1
  49. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js +6 -6
  50. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js.map +1 -1
  51. package/dist/esm/Devices/Insteon/Generated/EzrainInput.js +6 -6
  52. package/dist/esm/Devices/Insteon/Generated/EzrainInput.js.map +1 -1
  53. package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js +6 -6
  54. package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js.map +1 -1
  55. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js +6 -6
  56. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js.map +1 -1
  57. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js +14 -14
  58. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js.map +1 -1
  59. package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js +12 -12
  60. package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js.map +1 -1
  61. package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js +7 -7
  62. package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js.map +1 -1
  63. package/dist/esm/Devices/Insteon/Generated/IrLincTx.js +5 -5
  64. package/dist/esm/Devices/Insteon/Generated/IrLincTx.js.map +1 -1
  65. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js +6 -6
  66. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js.map +1 -1
  67. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js +8 -8
  68. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js.map +1 -1
  69. package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js +6 -6
  70. package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js.map +1 -1
  71. package/dist/esm/Devices/Insteon/Generated/OnOffControl.js +6 -6
  72. package/dist/esm/Devices/Insteon/Generated/OnOffControl.js.map +1 -1
  73. package/dist/esm/Devices/Insteon/Generated/Pir2844.js +10 -10
  74. package/dist/esm/Devices/Insteon/Generated/Pir2844.js.map +1 -1
  75. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js +6 -6
  76. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js.map +1 -1
  77. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js +10 -10
  78. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js.map +1 -1
  79. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js +6 -6
  80. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js.map +1 -1
  81. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +6 -6
  82. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +1 -1
  83. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js +6 -6
  84. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js.map +1 -1
  85. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js +5 -5
  86. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js.map +1 -1
  87. package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js +5 -5
  88. package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js.map +1 -1
  89. package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js +6 -6
  90. package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js.map +1 -1
  91. package/dist/esm/Devices/Insteon/Generated/Siren.js +9 -9
  92. package/dist/esm/Devices/Insteon/Generated/Siren.js.map +1 -1
  93. package/dist/esm/Devices/Insteon/Generated/SirenAlert.js +5 -5
  94. package/dist/esm/Devices/Insteon/Generated/SirenAlert.js.map +1 -1
  95. package/dist/esm/Devices/Insteon/Generated/TempLinc.js +12 -12
  96. package/dist/esm/Devices/Insteon/Generated/TempLinc.js.map +1 -1
  97. package/dist/esm/Devices/Insteon/Generated/Thermostat.js +12 -12
  98. package/dist/esm/Devices/Insteon/Generated/Thermostat.js.map +1 -1
  99. package/dist/esm/Devices/Insteon/Generated/X10.js +6 -6
  100. package/dist/esm/Devices/Insteon/Generated/X10.js.map +1 -1
  101. package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js +20 -11
  102. package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js.map +1 -1
  103. package/dist/esm/Devices/Insteon/InsteonDimmableDevice.js +2 -4
  104. package/dist/esm/Devices/Insteon/InsteonDimmableDevice.js.map +1 -1
  105. package/dist/esm/Devices/Insteon/InsteonDimmerOutletDevice.js +2 -2
  106. package/dist/esm/Devices/Insteon/InsteonDimmerOutletDevice.js.map +1 -1
  107. package/dist/esm/Devices/Insteon/InsteonDoorWindowSensorDevice.js +20 -7
  108. package/dist/esm/Devices/Insteon/InsteonDoorWindowSensorDevice.js.map +1 -1
  109. package/dist/esm/Devices/Insteon/InsteonFanDevice.js +17 -34
  110. package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -1
  111. package/dist/esm/Devices/Insteon/InsteonOnOffOutletDevice.js +3 -13
  112. package/dist/esm/Devices/Insteon/InsteonOnOffOutletDevice.js.map +1 -1
  113. package/dist/esm/Devices/Insteon/InsteonRelayDevice.js +0 -16
  114. package/dist/esm/Devices/Insteon/InsteonRelayDevice.js.map +1 -1
  115. package/dist/esm/Devices/Insteon/index.js +10 -11
  116. package/dist/esm/Devices/Insteon/index.js.map +1 -1
  117. package/dist/esm/Devices/Lutron/Generated/LoadShed.js +6 -6
  118. package/dist/esm/Devices/Lutron/Generated/LoadShed.js.map +1 -1
  119. package/dist/esm/Devices/NodeFactory.js.map +1 -1
  120. package/dist/esm/Devices/UDI/Generated/Channel.js +7 -7
  121. package/dist/esm/Devices/UDI/Generated/Channel.js.map +1 -1
  122. package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js +10 -10
  123. package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js.map +1 -1
  124. package/dist/esm/Devices/UDI/Generated/Main.js +7 -7
  125. package/dist/esm/Devices/UDI/Generated/Main.js.map +1 -1
  126. package/dist/esm/Devices/UDI/Generated/PulseCounter.js +8 -8
  127. package/dist/esm/Devices/UDI/Generated/PulseCounter.js.map +1 -1
  128. package/dist/esm/Devices/UDI/Generated/Relay.js +6 -6
  129. package/dist/esm/Devices/UDI/Generated/Relay.js.map +1 -1
  130. package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js +6 -6
  131. package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js.map +1 -1
  132. package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js +9 -9
  133. package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js.map +1 -1
  134. package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js +6 -6
  135. package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js.map +1 -1
  136. package/dist/esm/Devices/ZigBee/ZWaveBaseDevice.js +9 -0
  137. package/dist/esm/Devices/ZigBee/ZWaveBaseDevice.js.map +1 -0
  138. package/dist/esm/Devices/ZigBee/ZigBeeBase.js +9 -0
  139. package/dist/esm/Devices/ZigBee/ZigBeeBase.js.map +1 -0
  140. package/dist/esm/Devices/ZigBee/index.js +3 -0
  141. package/dist/esm/Devices/ZigBee/index.js.map +1 -0
  142. package/dist/esm/ISY.js +19 -3
  143. package/dist/esm/ISY.js.map +1 -1
  144. package/dist/esm/ISYNode.js +7 -6
  145. package/dist/esm/ISYNode.js.map +1 -1
  146. package/dist/esm/Matter/Behaviors/BehaviorRegistry.js +37 -5
  147. package/dist/esm/Matter/Behaviors/BehaviorRegistry.js.map +1 -1
  148. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js +10 -3
  149. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
  150. package/dist/esm/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.js +24 -0
  151. package/dist/esm/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.js.map +1 -0
  152. package/dist/esm/Matter/Behaviors/Insteon/ISYDimmableBehavior.js +23 -0
  153. package/dist/esm/Matter/Behaviors/Insteon/ISYDimmableBehavior.js.map +1 -0
  154. package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js +4 -4
  155. package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js.map +1 -1
  156. package/dist/esm/Matter/Behaviors/Insteon/IdentifyBehavior.js +23 -0
  157. package/dist/esm/Matter/Behaviors/Insteon/IdentifyBehavior.js.map +1 -0
  158. package/dist/esm/Matter/Behaviors/Insteon/RelayOnOffBehavior.js +24 -0
  159. package/dist/esm/Matter/Behaviors/Insteon/RelayOnOffBehavior.js.map +1 -0
  160. package/dist/esm/Matter/Behaviors/Insteon/index.js +4 -0
  161. package/dist/esm/Matter/Behaviors/Insteon/index.js.map +1 -0
  162. package/dist/esm/Matter/Bridge/Server.js +22 -11
  163. package/dist/esm/Matter/Bridge/Server.js.map +1 -1
  164. package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
  165. package/dist/esm/Matter/Mappings/MappingRegistry.js +5 -4
  166. package/dist/esm/Matter/Mappings/MappingRegistry.js.map +1 -1
  167. package/dist/esm/Registry.js +77 -0
  168. package/dist/esm/Registry.js.map +1 -0
  169. package/dist/esm/Utils.js +12 -0
  170. package/dist/esm/Utils.js.map +1 -1
  171. package/dist/esm/types/CodeGeneration/CodeFactory.d.ts +6 -5
  172. package/dist/esm/types/CodeGeneration/CodeFactory.d.ts.map +1 -1
  173. package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
  174. package/dist/esm/types/Definitions/Global/Commands.d.ts +4 -4
  175. package/dist/esm/types/Definitions/Global/Commands.d.ts.map +1 -1
  176. package/dist/esm/types/Definitions/Global/Drivers.d.ts +11 -8
  177. package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
  178. package/dist/esm/types/Definitions/Global/Events.d.ts +3 -3
  179. package/dist/esm/types/Definitions/Global/Events.d.ts.map +1 -1
  180. package/dist/esm/types/Definitions/Insteon/generated/Boolean.d.ts +4 -0
  181. package/dist/esm/types/Definitions/Insteon/generated/Boolean.d.ts.map +1 -1
  182. package/dist/esm/types/Definitions/Insteon/generated/Error.d.ts +4 -0
  183. package/dist/esm/types/Definitions/Insteon/generated/Error.d.ts.map +1 -1
  184. package/dist/esm/types/Definitions/Insteon/generated/Lock.d.ts +6 -0
  185. package/dist/esm/types/Definitions/Insteon/generated/Lock.d.ts.map +1 -1
  186. package/dist/esm/types/Definitions/Insteon/generated/OnLevelRelay.d.ts +4 -0
  187. package/dist/esm/types/Definitions/Insteon/generated/OnLevelRelay.d.ts.map +1 -1
  188. package/dist/esm/types/Devices/CompositeDevice.d.ts +64 -0
  189. package/dist/esm/types/Devices/CompositeDevice.d.ts.map +1 -0
  190. package/dist/esm/types/Devices/EndpointFor.d.ts +3 -2
  191. package/dist/esm/types/Devices/EndpointFor.d.ts.map +1 -1
  192. package/dist/esm/types/Devices/ISYDeviceNode.d.ts +4 -1
  193. package/dist/esm/types/Devices/ISYDeviceNode.d.ts.map +1 -1
  194. package/dist/esm/types/Devices/ISYMultiNodeDevice.d.ts +25 -1
  195. package/dist/esm/types/Devices/ISYMultiNodeDevice.d.ts.map +1 -1
  196. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts +2 -3
  197. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -1
  198. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts +2 -3
  199. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -1
  200. package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts +2 -3
  201. package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -1
  202. package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts +2 -3
  203. package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -1
  204. package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts +2 -3
  205. package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -1
  206. package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts +2 -3
  207. package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -1
  208. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts +2 -3
  209. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -1
  210. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts +2 -3
  211. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -1
  212. package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts +2 -3
  213. package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -1
  214. package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts +2 -3
  215. package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -1
  216. package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts +2 -3
  217. package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -1
  218. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts +2 -3
  219. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -1
  220. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts +2 -3
  221. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -1
  222. package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts +2 -3
  223. package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -1
  224. package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts +2 -3
  225. package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -1
  226. package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts +2 -3
  227. package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -1
  228. package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts +2 -3
  229. package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -1
  230. package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts +2 -3
  231. package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -1
  232. package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts +2 -3
  233. package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -1
  234. package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts +2 -3
  235. package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -1
  236. package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts +2 -3
  237. package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -1
  238. package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts +2 -3
  239. package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -1
  240. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +2 -3
  241. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -1
  242. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +2 -3
  243. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -1
  244. package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts +2 -3
  245. package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -1
  246. package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts +2 -3
  247. package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -1
  248. package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts +2 -3
  249. package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -1
  250. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +2 -3
  251. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -1
  252. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +2 -3
  253. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -1
  254. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +2 -3
  255. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -1
  256. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts +2 -3
  257. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -1
  258. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts +2 -3
  259. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -1
  260. package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts +2 -3
  261. package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -1
  262. package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts +2 -3
  263. package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -1
  264. package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts +2 -3
  265. package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -1
  266. package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts +2 -3
  267. package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -1
  268. package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts +2 -3
  269. package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -1
  270. package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts +2 -3
  271. package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -1
  272. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +8 -6
  273. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts.map +1 -1
  274. package/dist/esm/types/Devices/Insteon/InsteonDeviceFactory.d.ts +7 -2
  275. package/dist/esm/types/Devices/Insteon/InsteonDeviceFactory.d.ts.map +1 -1
  276. package/dist/esm/types/Devices/Insteon/InsteonDimmableDevice.d.ts +2 -2
  277. package/dist/esm/types/Devices/Insteon/InsteonDimmableDevice.d.ts.map +1 -1
  278. package/dist/esm/types/Devices/Insteon/InsteonDimmerOutletDevice.d.ts +2 -2
  279. package/dist/esm/types/Devices/Insteon/InsteonDimmerOutletDevice.d.ts.map +1 -1
  280. package/dist/esm/types/Devices/Insteon/InsteonDoorWindowSensorDevice.d.ts +17 -5
  281. package/dist/esm/types/Devices/Insteon/InsteonDoorWindowSensorDevice.d.ts.map +1 -1
  282. package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts +18 -16
  283. package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
  284. package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts +1 -1
  285. package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts.map +1 -1
  286. package/dist/esm/types/Devices/Insteon/InsteonOnOffOutletDevice.d.ts +8 -7
  287. package/dist/esm/types/Devices/Insteon/InsteonOnOffOutletDevice.d.ts.map +1 -1
  288. package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts +0 -1
  289. package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
  290. package/dist/esm/types/Devices/Insteon/index.d.ts +10 -11
  291. package/dist/esm/types/Devices/Insteon/index.d.ts.map +1 -1
  292. package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts +2 -3
  293. package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -1
  294. package/dist/esm/types/Devices/NodeFactory.d.ts +1 -1
  295. package/dist/esm/types/Devices/NodeFactory.d.ts.map +1 -1
  296. package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts +2 -3
  297. package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -1
  298. package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts +2 -3
  299. package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -1
  300. package/dist/esm/types/Devices/UDI/Generated/Main.d.ts +2 -3
  301. package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -1
  302. package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts +2 -3
  303. package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -1
  304. package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts +2 -3
  305. package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -1
  306. package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts +2 -3
  307. package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -1
  308. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +2 -3
  309. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -1
  310. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +2 -3
  311. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -1
  312. package/dist/esm/types/Devices/ZigBee/ZWaveBaseDevice.d.ts +10 -0
  313. package/dist/esm/types/Devices/ZigBee/ZWaveBaseDevice.d.ts.map +1 -0
  314. package/dist/esm/types/Devices/ZigBee/ZigBeeBase.d.ts +10 -0
  315. package/dist/esm/types/Devices/ZigBee/ZigBeeBase.d.ts.map +1 -0
  316. package/dist/esm/types/Devices/ZigBee/index.d.ts +2 -0
  317. package/dist/esm/types/Devices/ZigBee/index.d.ts.map +1 -0
  318. package/dist/esm/types/ISY.d.ts.map +1 -1
  319. package/dist/esm/types/ISYDevice.d.ts +3 -5
  320. package/dist/esm/types/ISYDevice.d.ts.map +1 -1
  321. package/dist/esm/types/ISYNode.d.ts +33 -28
  322. package/dist/esm/types/ISYNode.d.ts.map +1 -1
  323. package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts +9 -5
  324. package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts.map +1 -1
  325. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +1 -1
  326. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
  327. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +8 -5
  328. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
  329. package/dist/esm/types/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.d.ts +321 -0
  330. package/dist/esm/types/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.d.ts.map +1 -0
  331. package/dist/esm/types/Matter/Behaviors/Insteon/ISYDimmableBehavior.d.ts +42 -0
  332. package/dist/esm/types/Matter/Behaviors/Insteon/ISYDimmableBehavior.d.ts.map +1 -0
  333. package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts +4 -4
  334. package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
  335. package/dist/esm/types/Matter/Behaviors/Insteon/IdentifyBehavior.d.ts +24 -0
  336. package/dist/esm/types/Matter/Behaviors/Insteon/IdentifyBehavior.d.ts.map +1 -0
  337. package/dist/esm/types/Matter/Behaviors/Insteon/RelayOnOffBehavior.d.ts +241 -0
  338. package/dist/esm/types/Matter/Behaviors/Insteon/RelayOnOffBehavior.d.ts.map +1 -0
  339. package/dist/esm/types/Matter/Behaviors/Insteon/index.d.ts +4 -0
  340. package/dist/esm/types/Matter/Behaviors/Insteon/index.d.ts.map +1 -0
  341. package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
  342. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts +4173 -42
  343. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts.map +1 -1
  344. package/dist/esm/types/Registry.d.ts +37 -0
  345. package/dist/esm/types/Registry.d.ts.map +1 -0
  346. package/dist/esm/types/Utils.d.ts +13 -0
  347. package/dist/esm/types/Utils.d.ts.map +1 -1
  348. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  349. package/package.json +2 -2
  350. package/src/CodeGeneration/CodeFactory.ts +16 -8
  351. package/src/CodeGeneration/NodeClassFactory.ts +7 -9
  352. package/src/Definitions/Global/Commands.ts +16 -13
  353. package/src/Definitions/Global/Drivers.ts +57 -36
  354. package/src/Definitions/Global/Events.ts +4 -4
  355. package/src/Definitions/Insteon/generated/Boolean.ts +9 -0
  356. package/src/Definitions/Insteon/generated/Error.ts +9 -0
  357. package/src/Definitions/Insteon/generated/Lock.ts +28 -0
  358. package/src/Definitions/Insteon/generated/OnLevelRelay.ts +11 -0
  359. package/src/Devices/Brultech/Generated/Channel.ts +8 -9
  360. package/src/Devices/Brultech/Generated/Main.ts +11 -12
  361. package/src/Devices/CompositeDevice.ts +277 -0
  362. package/src/Devices/DeviceFactory.ts +1 -1
  363. package/src/Devices/ISYDeviceNode.ts +8 -2
  364. package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +7 -8
  365. package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +7 -8
  366. package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +7 -8
  367. package/src/Devices/Insteon/Generated/BinaryAlarm.ts +7 -8
  368. package/src/Devices/Insteon/Generated/BinaryControl.ts +7 -8
  369. package/src/Devices/Insteon/Generated/DimmerLamp.ts +9 -10
  370. package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +9 -10
  371. package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +9 -10
  372. package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +9 -10
  373. package/src/Devices/Insteon/Generated/DimmerSwitch.ts +6 -7
  374. package/src/Devices/Insteon/Generated/DoorLock.ts +7 -8
  375. package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +7 -8
  376. package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +7 -8
  377. package/src/Devices/Insteon/Generated/EzrainInput.ts +7 -8
  378. package/src/Devices/Insteon/Generated/EzrainOutput.ts +7 -8
  379. package/src/Devices/Insteon/Generated/FanLincMotor.ts +7 -8
  380. package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +15 -16
  381. package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +13 -14
  382. package/src/Devices/Insteon/Generated/ImeterSolo.ts +8 -9
  383. package/src/Devices/Insteon/Generated/IrLincTx.ts +6 -7
  384. package/src/Devices/Insteon/Generated/KeypadButton.ts +7 -8
  385. package/src/Devices/Insteon/Generated/KeypadDimmer.ts +9 -10
  386. package/src/Devices/Insteon/Generated/KeypadRelay.ts +7 -8
  387. package/src/Devices/Insteon/Generated/OnOffControl.ts +7 -8
  388. package/src/Devices/Insteon/Generated/Pir2844.ts +11 -12
  389. package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +7 -8
  390. package/src/Devices/Insteon/Generated/Pir2844c.ts +11 -12
  391. package/src/Devices/Insteon/Generated/RelayLamp.ts +7 -8
  392. package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +7 -8
  393. package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +7 -8
  394. package/src/Devices/Insteon/Generated/RelaySwitch.ts +6 -7
  395. package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +6 -7
  396. package/src/Devices/Insteon/Generated/RemoteLinc2.ts +7 -8
  397. package/src/Devices/Insteon/Generated/Siren.ts +10 -11
  398. package/src/Devices/Insteon/Generated/SirenAlert.ts +6 -7
  399. package/src/Devices/Insteon/Generated/TempLinc.ts +13 -14
  400. package/src/Devices/Insteon/Generated/Thermostat.ts +13 -14
  401. package/src/Devices/Insteon/Generated/X10.ts +7 -8
  402. package/src/Devices/Insteon/InsteonDeviceFactory.ts +26 -12
  403. package/src/Devices/Insteon/InsteonDimmableDevice.ts +4 -4
  404. package/src/Devices/Insteon/InsteonDimmerOutletDevice.ts +3 -2
  405. package/src/Devices/Insteon/InsteonDoorWindowSensorDevice.ts +30 -7
  406. package/src/Devices/Insteon/InsteonFanDevice.ts +21 -36
  407. package/src/Devices/Insteon/InsteonOnOffOutletDevice.ts +5 -17
  408. package/src/Devices/Insteon/InsteonRelayDevice.ts +2 -3
  409. package/src/Devices/Insteon/index.ts +10 -14
  410. package/src/Devices/Lutron/Generated/LoadShed.ts +7 -8
  411. package/src/Devices/NCD/Generated/Relay.ts +19 -23
  412. package/src/Devices/NodeFactory.ts +1 -1
  413. package/src/Devices/Poly/Generated/MatterBridge.ts +6 -7
  414. package/src/Devices/Scene/Generated/Scene.ts +5 -6
  415. package/src/Devices/UDI/Generated/Channel.ts +8 -9
  416. package/src/Devices/UDI/Generated/Em3MainChannel.ts +11 -12
  417. package/src/Devices/UDI/Generated/Main.ts +8 -9
  418. package/src/Devices/UDI/Generated/PulseCounter.ts +9 -10
  419. package/src/Devices/UDI/Generated/Relay.ts +7 -8
  420. package/src/Devices/UDI/Generated/TemperatureSensor.ts +7 -8
  421. package/src/Devices/ZWave/Generated/ColorSwitch.ts +17 -18
  422. package/src/Devices/ZWave/Generated/DimmerSwitch.ts +7 -8
  423. package/src/Devices/ZigBee/ZigBeeBase.ts +22 -0
  424. package/src/Devices/ZigBee/index.ts +13 -0
  425. package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +22 -20
  426. package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +92 -76
  427. package/src/ISY.ts +27 -5
  428. package/src/ISYDevice.ts +4 -3
  429. package/src/ISYNode.ts +56 -39
  430. package/src/Matter/Behaviors/BehaviorRegistry.ts +44 -8
  431. package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +2 -2
  432. package/src/Matter/Behaviors/ISYClusterBehavior.ts +20 -9
  433. package/src/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.ts +30 -0
  434. package/src/Matter/Behaviors/Insteon/IdentifyBehavior.ts +26 -0
  435. package/src/Matter/Behaviors/Insteon/RelayOnOffBehavior.ts +34 -0
  436. package/src/Matter/Behaviors/Insteon/index.ts +3 -0
  437. package/src/Matter/Bridge/Server.ts +93 -85
  438. package/src/Matter/Mappings/Insteon.ts +3 -3
  439. package/src/Matter/Mappings/MappingRegistry.ts +29 -40
  440. package/src/Registry.ts +112 -0
  441. package/src/Utils.ts +29 -0
  442. package/src/Devices/Insteon/DimmerLampSwitch.ts +0 -207
  443. package/src/Devices/Insteon/InsteonRelaySwitchDevice.ts +0 -11
  444. package/src/Devices/Insteon/RelayLampSwitch.ts +0 -132
  445. package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +0 -66
@@ -17,19 +17,19 @@ const nodeDefId = "LUTLoadShed";
17
17
  type Commands = LoadShed.Commands;
18
18
  type Drivers = LoadShed.Drivers;
19
19
 
20
- export class LoadShedNode extends Base<Drivers, Commands> implements LoadShed.Interface {
20
+ class LoadShedNode extends Base<Drivers, Commands> implements LoadShed.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
24
24
  QUERY: this.query
25
25
  };
26
26
  static override nodeDefId = "LUTLoadShed";
27
- static override implements = ["LUTLoadShed"];
28
- declare readonly nodeDefId: "LUTLoadShed";
27
+ static override implements = ['LUTLoadShed'];
28
+ declare readonly nodeDefId: 'LUTLoadShed';
29
29
  constructor (isy: ISY, nodeInfo: NodeInfo) {
30
30
  super(isy, nodeInfo);
31
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
32
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
31
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
32
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
33
33
  }
34
34
  async on(value?: (0 | 100)) { return this.sendCommand("DON", value); }
35
35
  async off() { return this.sendCommand("DOF"); }
@@ -46,13 +46,12 @@ NodeFactory.register(LoadShedNode);
46
46
 
47
47
  export namespace LoadShed {
48
48
  export interface Interface extends Omit<InstanceType<typeof LoadShedNode>, keyof ISYDeviceNode<any, any, any, any>> {
49
- nodeDefId: "LUTLoadShed";
50
49
  }
51
50
  export function is(node: ISYNode<any, any, any, any>): node is LoadShedNode {
52
- return ["LUTLoadShed"].includes(node.nodeDefId);
51
+ return ['LUTLoadShed'].includes(node.nodeDefId);
53
52
  }
54
53
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is LoadShedNode {
55
- return ["LUTLoadShed"].includes(node.nodeDefId);
54
+ return ['LUTLoadShed'].includes(node.nodeDefId);
56
55
  }
57
56
  export function create(isy: ISY, nodeInfo: NodeInfo) {
58
57
  return new LoadShedNode(isy, nodeInfo);
@@ -17,7 +17,7 @@ const nodeDefId = "NCDRelay";
17
17
  type Commands = Relay.Commands;
18
18
  type Drivers = Relay.Drivers;
19
19
 
20
- export class RelayNode extends Base<Drivers, Commands> implements Relay.Interface {
20
+ class RelayNode extends Base<Drivers, Commands> implements Relay.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
@@ -25,39 +25,35 @@ export class RelayNode extends Base<Drivers, Commands> implements Relay.Interfac
25
25
  ADRPST: this.adr
26
26
  };
27
27
  static override nodeDefId = "NCDRelay";
28
- static override implements = ["NCDRelay"];
29
- declare readonly nodeDefId: "NCDRelay";
28
+ static override implements = ['NCDRelay'];
29
+ declare readonly nodeDefId: 'NCDRelay';
30
30
  constructor (isy: ISY, nodeInfo: NodeInfo) {
31
31
  super(isy, nodeInfo);
32
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Unknown, label: "Status", name: "status" });
33
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Unknown, label: "Responding", name: "responding" });
32
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
33
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
34
34
  }
35
35
  async on() { return this.sendCommand("DON"); }
36
36
  async off() { return this.sendCommand("DOF"); }
37
37
  async query() { return this.sendCommand("QUERY"); }
38
- async adr(value: ) { return this.sendCommand("ADRPST", value); }
39
- public get status(): {
40
-
41
- return this.drivers.ST?.value;
42
- }
43
- public
44
- get responding():
45
- {
46
- return this.drivers.ERR?.value;
47
- }
38
+ async adr(value: (0 | 1)) { return this.sendCommand("ADRPST", value); }
39
+ public get status(): (0 | 100) {
40
+ return this.drivers.ST?.value;
41
+ }
42
+ public get responding(): NCD.Error {
43
+ return this.drivers.ERR?.value;
44
+ }
48
45
  }
49
46
 
50
47
  NodeFactory.register(RelayNode);
51
48
 
52
49
  export namespace Relay {
53
50
  export interface Interface extends Omit<InstanceType<typeof RelayNode>, keyof ISYDeviceNode<any, any, any, any>> {
54
- nodeDefId: "NCDRelay";
55
51
  }
56
52
  export function is(node: ISYNode<any, any, any, any>): node is RelayNode {
57
- return ["NCDRelay"].includes(node.nodeDefId);
53
+ return ['NCDRelay'].includes(node.nodeDefId);
58
54
  }
59
55
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is RelayNode {
60
- return ["NCDRelay"].includes(node.nodeDefId);
56
+ return ['NCDRelay'].includes(node.nodeDefId);
61
57
  }
62
58
  export function create(isy: ISY, nodeInfo: NodeInfo) {
63
59
  return new RelayNode(isy, nodeInfo);
@@ -76,21 +72,21 @@ export namespace Relay {
76
72
  label: "Query";
77
73
  name: "query";
78
74
  };
79
- ADRPST: ((value: ) => Promise<boolean>) & {
75
+ ADRPST: ((value: (0 | 1)) => Promise<boolean>) & {
80
76
  label: "ADR";
81
77
  name: "adr";
82
78
  };
83
79
  };
84
80
  export type Drivers = {
85
81
  ST: {
86
- uom: ;
87
- value: ;
82
+ uom: UnitOfMeasure.Percent;
83
+ value: (0 | 100);
88
84
  label: "Status";
89
85
  name: "status";
90
86
  };
91
87
  ERR: {
92
- uom: ;
93
- value: ;
88
+ uom: UnitOfMeasure.Index;
89
+ value: NCD.Error;
94
90
  label: "Responding";
95
91
  name: "responding";
96
92
  };
@@ -54,7 +54,7 @@ export namespace NodeFactory {
54
54
  }
55
55
  }
56
56
 
57
- export function getImplements<F extends keyof typeof Family, T extends ISYNode<typeof Family[F],any,any,any>>(node: T) {
57
+ export function getImplements<F extends keyof typeof Family, T extends ISYNode<typeof Family[F],any,any,any>>(node: T | typeof ISYNode) : string[] {
58
58
  return implementsRegistry[Family[node.family] as F][node.nodeDefId];
59
59
  }
60
60
 
@@ -17,7 +17,7 @@ const nodeDefId = "CONTROLLER";
17
17
  type Commands = MatterBridge.Commands;
18
18
  type Drivers = MatterBridge.Drivers;
19
19
 
20
- export class MatterBridgeNode extends Base<Drivers, Commands> implements MatterBridge.Interface {
20
+ class MatterBridgeNode extends Base<Drivers, Commands> implements MatterBridge.Interface {
21
21
  public override readonly commands = {
22
22
  DISCOVER: this.discover,
23
23
  QUERY: this.query,
@@ -25,11 +25,11 @@ export class MatterBridgeNode extends Base<Drivers, Commands> implements MatterB
25
25
  STOP_BRIDGE: this.stopBridge
26
26
  };
27
27
  static override nodeDefId = "CONTROLLER";
28
- static override implements = ["CONTROLLER"];
29
- declare readonly nodeDefId: "CONTROLLER";
28
+ static override implements = ['CONTROLLER'];
29
+ declare readonly nodeDefId: 'CONTROLLER';
30
30
  constructor (isy: ISY, nodeInfo: NodeInfo) {
31
31
  super(isy, nodeInfo);
32
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Unknown, label: "Status", name: "status" });
32
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Unknown, label: "Status", name: "status" });
33
33
  }
34
34
  async discover() { return this.sendCommand("DISCOVER"); }
35
35
  async query() { return this.sendCommand("QUERY"); }
@@ -45,13 +45,12 @@ NodeFactory.register(MatterBridgeNode);
45
45
 
46
46
  export namespace MatterBridge {
47
47
  export interface Interface extends Omit<InstanceType<typeof MatterBridgeNode>, keyof ISYDeviceNode<any, any, any, any>> {
48
- nodeDefId: "CONTROLLER";
49
48
  }
50
49
  export function is(node: ISYNode<any, any, any, any>): node is MatterBridgeNode {
51
- return ["CONTROLLER"].includes(node.nodeDefId);
50
+ return ['CONTROLLER'].includes(node.nodeDefId);
52
51
  }
53
52
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is MatterBridgeNode {
54
- return ["CONTROLLER"].includes(node.nodeDefId);
53
+ return ['CONTROLLER'].includes(node.nodeDefId);
55
54
  }
56
55
  export function create(isy: ISY, nodeInfo: NodeInfo) {
57
56
  return new MatterBridgeNode(isy, nodeInfo);
@@ -17,7 +17,7 @@ const nodeDefId = "InsteonDimmer";
17
17
  type Commands = Scene.Commands;
18
18
  type Drivers = Scene.Drivers;
19
19
 
20
- export class SceneNode extends Base<Drivers, Commands> implements Scene.Interface {
20
+ class SceneNode extends Base<Drivers, Commands> implements Scene.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
@@ -38,8 +38,8 @@ export class SceneNode extends Base<Drivers, Commands> implements Scene.Interfac
38
38
  CLISPCD: this.coolSetpointShift
39
39
  };
40
40
  static override nodeDefId = "InsteonDimmer";
41
- static override implements = ["InsteonDimmer"];
42
- declare readonly nodeDefId: "InsteonDimmer";
41
+ static override implements = ['InsteonDimmer'];
42
+ declare readonly nodeDefId: 'InsteonDimmer';
43
43
  constructor (isy: ISY, nodeInfo: NodeInfo) {
44
44
  super(isy, nodeInfo);
45
45
  }
@@ -66,13 +66,12 @@ NodeFactory.register(SceneNode);
66
66
 
67
67
  export namespace Scene {
68
68
  export interface Interface extends Omit<InstanceType<typeof SceneNode>, keyof ISYDeviceNode<any, any, any, any>> {
69
- nodeDefId: "InsteonDimmer";
70
69
  }
71
70
  export function is(node: ISYNode<any, any, any, any>): node is SceneNode {
72
- return ["InsteonDimmer"].includes(node.nodeDefId);
71
+ return ['InsteonDimmer'].includes(node.nodeDefId);
73
72
  }
74
73
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is SceneNode {
75
- return ["InsteonDimmer"].includes(node.nodeDefId);
74
+ return ['InsteonDimmer'].includes(node.nodeDefId);
76
75
  }
77
76
  export function create(isy: ISY, nodeInfo: NodeInfo) {
78
77
  return new SceneNode(isy, nodeInfo);
@@ -17,16 +17,16 @@ const nodeDefId = "EM3Channel";
17
17
  type Commands = Channel.Commands;
18
18
  type Drivers = Channel.Drivers;
19
19
 
20
- export class ChannelNode extends Base<Drivers, Commands> implements Channel.Interface {
20
+ class ChannelNode extends Base<Drivers, Commands> implements Channel.Interface {
21
21
  public override readonly commands = {};
22
22
  static override nodeDefId = "EM3Channel";
23
- static override implements = ["EM3Channel"];
24
- declare readonly nodeDefId: "EM3Channel";
23
+ static override implements = ['EM3Channel'];
24
+ declare readonly nodeDefId: 'EM3Channel';
25
25
  constructor (isy: ISY, nodeInfo: NodeInfo) {
26
26
  super(isy, nodeInfo);
27
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Watt, label: "Status", name: "status" });
28
- this.drivers.TPW = Driver.create("TPW", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
29
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
27
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Watt, label: "Status", name: "status" });
28
+ this.drivers.TPW = Driver.create("TPW", this, nodeInfo.state['TPW'], { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
29
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
30
30
  }
31
31
  public get status(): number {
32
32
  return this.drivers.ST?.value;
@@ -43,13 +43,12 @@ NodeFactory.register(ChannelNode);
43
43
 
44
44
  export namespace Channel {
45
45
  export interface Interface extends Omit<InstanceType<typeof ChannelNode>, keyof ISYDeviceNode<any, any, any, any>> {
46
- nodeDefId: "EM3Channel";
47
46
  }
48
47
  export function is(node: ISYNode<any, any, any, any>): node is ChannelNode {
49
- return ["EM3Channel"].includes(node.nodeDefId);
48
+ return ['EM3Channel'].includes(node.nodeDefId);
50
49
  }
51
50
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ChannelNode {
52
- return ["EM3Channel", "EM3Main", "EM3MainChannel"].includes(node.nodeDefId);
51
+ return ['EM3Channel', "EM3Main", "EM3MainChannel"].includes(node.nodeDefId);
53
52
  }
54
53
  export function create(isy: ISY, nodeInfo: NodeInfo) {
55
54
  return new ChannelNode(isy, nodeInfo);
@@ -17,19 +17,19 @@ const nodeDefId = "EM3MainChannel";
17
17
  type Commands = Em3MainChannel.Commands;
18
18
  type Drivers = Em3MainChannel.Drivers;
19
19
 
20
- export class Em3MainChannelNode extends Base<Drivers, Commands> implements Em3MainChannel.Interface {
20
+ class Em3MainChannelNode extends Base<Drivers, Commands> implements Em3MainChannel.Interface {
21
21
  public override readonly commands = {};
22
22
  static override nodeDefId = "EM3MainChannel";
23
- static override implements = ["EM3MainChannel"];
24
- declare readonly nodeDefId: "EM3MainChannel";
23
+ static override implements = ['EM3MainChannel'];
24
+ declare readonly nodeDefId: 'EM3MainChannel';
25
25
  constructor (isy: ISY, nodeInfo: NodeInfo) {
26
26
  super(isy, nodeInfo);
27
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Watt, label: "Status", name: "status" });
28
- this.drivers.TPW = Driver.create("TPW", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
29
- this.drivers.CV = Driver.create("CV", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Volt, label: "Current Voltage", name: "currentVoltage" });
30
- this.drivers.CC = Driver.create("CC", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Ampere, label: "Current Current", name: "currentCurrent" });
31
- this.drivers.PF = Driver.create("PF", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.PowerFactor, label: "Power Factor", name: "powerFactor" });
32
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
27
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Watt, label: "Status", name: "status" });
28
+ this.drivers.TPW = Driver.create("TPW", this, nodeInfo.state['TPW'], { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
29
+ this.drivers.CV = Driver.create("CV", this, nodeInfo.state['CV'], { uom: UnitOfMeasure.Volt, label: "Current Voltage", name: "currentVoltage" });
30
+ this.drivers.CC = Driver.create("CC", this, nodeInfo.state['CC'], { uom: UnitOfMeasure.Ampere, label: "Current Current", name: "currentCurrent" });
31
+ this.drivers.PF = Driver.create("PF", this, nodeInfo.state['PF'], { uom: UnitOfMeasure.PowerFactor, label: "Power Factor", name: "powerFactor" });
32
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
33
33
  }
34
34
  public get status(): number {
35
35
  return this.drivers.ST?.value;
@@ -55,13 +55,12 @@ NodeFactory.register(Em3MainChannelNode);
55
55
 
56
56
  export namespace Em3MainChannel {
57
57
  export interface Interface extends Omit<InstanceType<typeof Em3MainChannelNode>, keyof ISYDeviceNode<any, any, any, any>> {
58
- nodeDefId: "EM3MainChannel";
59
58
  }
60
59
  export function is(node: ISYNode<any, any, any, any>): node is Em3MainChannelNode {
61
- return ["EM3MainChannel"].includes(node.nodeDefId);
60
+ return ['EM3MainChannel'].includes(node.nodeDefId);
62
61
  }
63
62
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is Em3MainChannelNode {
64
- return ["EM3MainChannel"].includes(node.nodeDefId);
63
+ return ['EM3MainChannel'].includes(node.nodeDefId);
65
64
  }
66
65
  export function create(isy: ISY, nodeInfo: NodeInfo) {
67
66
  return new Em3MainChannelNode(isy, nodeInfo);
@@ -17,18 +17,18 @@ const nodeDefId = "EM3Main";
17
17
  type Commands = Main.Commands;
18
18
  type Drivers = Main.Drivers;
19
19
 
20
- export class MainNode extends Base<Drivers, Commands> implements Main.Interface {
20
+ class MainNode extends Base<Drivers, Commands> implements Main.Interface {
21
21
  public override readonly commands = {
22
22
  QUERY: this.query
23
23
  };
24
24
  static override nodeDefId = "EM3Main";
25
- static override implements = ["EM3Main"];
26
- declare readonly nodeDefId: "EM3Main";
25
+ static override implements = ['EM3Main'];
26
+ declare readonly nodeDefId: 'EM3Main';
27
27
  constructor (isy: ISY, nodeInfo: NodeInfo) {
28
28
  super(isy, nodeInfo);
29
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Watt, label: "Status", name: "status" });
30
- this.drivers.TPW = Driver.create("TPW", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
31
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
29
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Watt, label: "Status", name: "status" });
30
+ this.drivers.TPW = Driver.create("TPW", this, nodeInfo.state['TPW'], { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
31
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
32
32
  }
33
33
  async query() { return this.sendCommand("QUERY"); }
34
34
  public get status(): number {
@@ -46,13 +46,12 @@ NodeFactory.register(MainNode);
46
46
 
47
47
  export namespace Main {
48
48
  export interface Interface extends Omit<InstanceType<typeof MainNode>, keyof ISYDeviceNode<any, any, any, any>> {
49
- nodeDefId: "EM3Main";
50
49
  }
51
50
  export function is(node: ISYNode<any, any, any, any>): node is MainNode {
52
- return ["EM3Main"].includes(node.nodeDefId);
51
+ return ['EM3Main'].includes(node.nodeDefId);
53
52
  }
54
53
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is MainNode {
55
- return ["EM3Main"].includes(node.nodeDefId);
54
+ return ['EM3Main'].includes(node.nodeDefId);
56
55
  }
57
56
  export function create(isy: ISY, nodeInfo: NodeInfo) {
58
57
  return new MainNode(isy, nodeInfo);
@@ -17,17 +17,17 @@ const nodeDefId = "EM3PulseCounter";
17
17
  type Commands = PulseCounter.Commands;
18
18
  type Drivers = PulseCounter.Drivers;
19
19
 
20
- export class PulseCounterNode extends Base<Drivers, Commands> implements PulseCounter.Interface {
20
+ class PulseCounterNode extends Base<Drivers, Commands> implements PulseCounter.Interface {
21
21
  public override readonly commands = {};
22
22
  static override nodeDefId = "EM3PulseCounter";
23
- static override implements = ["EM3PulseCounter"];
24
- declare readonly nodeDefId: "EM3PulseCounter";
23
+ static override implements = ['EM3PulseCounter'];
24
+ declare readonly nodeDefId: 'EM3PulseCounter';
25
25
  constructor (isy: ISY, nodeInfo: NodeInfo) {
26
26
  super(isy, nodeInfo);
27
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.PulseCount, label: "Status", name: "status" });
28
- this.drivers.CPW = Driver.create("CPW", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Watt, label: "Current Power", name: "currentPower" });
29
- this.drivers.TPW = Driver.create("TPW", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
30
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
27
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.PulseCount, label: "Status", name: "status" });
28
+ this.drivers.CPW = Driver.create("CPW", this, nodeInfo.state['CPW'], { uom: UnitOfMeasure.Watt, label: "Current Power", name: "currentPower" });
29
+ this.drivers.TPW = Driver.create("TPW", this, nodeInfo.state['TPW'], { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
30
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
31
31
  }
32
32
  public get status(): number {
33
33
  return this.drivers.ST?.value;
@@ -47,13 +47,12 @@ NodeFactory.register(PulseCounterNode);
47
47
 
48
48
  export namespace PulseCounter {
49
49
  export interface Interface extends Omit<InstanceType<typeof PulseCounterNode>, keyof ISYDeviceNode<any, any, any, any>> {
50
- nodeDefId: "EM3PulseCounter";
51
50
  }
52
51
  export function is(node: ISYNode<any, any, any, any>): node is PulseCounterNode {
53
- return ["EM3PulseCounter"].includes(node.nodeDefId);
52
+ return ['EM3PulseCounter'].includes(node.nodeDefId);
54
53
  }
55
54
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is PulseCounterNode {
56
- return ["EM3PulseCounter"].includes(node.nodeDefId);
55
+ return ['EM3PulseCounter'].includes(node.nodeDefId);
57
56
  }
58
57
  export function create(isy: ISY, nodeInfo: NodeInfo) {
59
58
  return new PulseCounterNode(isy, nodeInfo);
@@ -17,19 +17,19 @@ const nodeDefId = "EM3Relay";
17
17
  type Commands = Relay.Commands;
18
18
  type Drivers = Relay.Drivers;
19
19
 
20
- export class RelayNode extends Base<Drivers, Commands> implements Relay.Interface {
20
+ class RelayNode extends Base<Drivers, Commands> implements Relay.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
24
24
  QUERY: this.query
25
25
  };
26
26
  static override nodeDefId = "EM3Relay";
27
- static override implements = ["EM3Relay"];
28
- declare readonly nodeDefId: "EM3Relay";
27
+ static override implements = ['EM3Relay'];
28
+ declare readonly nodeDefId: 'EM3Relay';
29
29
  constructor (isy: ISY, nodeInfo: NodeInfo) {
30
30
  super(isy, nodeInfo);
31
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
32
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
31
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
32
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
33
33
  }
34
34
  async on() { return this.sendCommand("DON"); }
35
35
  async off() { return this.sendCommand("DOF"); }
@@ -46,13 +46,12 @@ NodeFactory.register(RelayNode);
46
46
 
47
47
  export namespace Relay {
48
48
  export interface Interface extends Omit<InstanceType<typeof RelayNode>, keyof ISYDeviceNode<any, any, any, any>> {
49
- nodeDefId: "EM3Relay";
50
49
  }
51
50
  export function is(node: ISYNode<any, any, any, any>): node is RelayNode {
52
- return ["EM3Relay"].includes(node.nodeDefId);
51
+ return ['EM3Relay'].includes(node.nodeDefId);
53
52
  }
54
53
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is RelayNode {
55
- return ["EM3Relay"].includes(node.nodeDefId);
54
+ return ['EM3Relay'].includes(node.nodeDefId);
56
55
  }
57
56
  export function create(isy: ISY, nodeInfo: NodeInfo) {
58
57
  return new RelayNode(isy, nodeInfo);
@@ -17,15 +17,15 @@ const nodeDefId = "EM3TempSensor";
17
17
  type Commands = TemperatureSensor.Commands;
18
18
  type Drivers = TemperatureSensor.Drivers;
19
19
 
20
- export class TemperatureSensorNode extends Base<Drivers, Commands> implements TemperatureSensor.Interface {
20
+ class TemperatureSensorNode extends Base<Drivers, Commands> implements TemperatureSensor.Interface {
21
21
  public override readonly commands = {};
22
22
  static override nodeDefId = "EM3TempSensor";
23
- static override implements = ["EM3TempSensor"];
24
- declare readonly nodeDefId: "EM3TempSensor";
23
+ static override implements = ['EM3TempSensor'];
24
+ declare readonly nodeDefId: 'EM3TempSensor';
25
25
  constructor (isy: ISY, nodeInfo: NodeInfo) {
26
26
  super(isy, nodeInfo);
27
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Degree, label: "Temperature", name: "temperature" });
28
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
27
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Degree, label: "Temperature", name: "temperature" });
28
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
29
29
  }
30
30
  public get temperature(): number {
31
31
  return this.drivers.ST?.value;
@@ -39,13 +39,12 @@ NodeFactory.register(TemperatureSensorNode);
39
39
 
40
40
  export namespace TemperatureSensor {
41
41
  export interface Interface extends Omit<InstanceType<typeof TemperatureSensorNode>, keyof ISYDeviceNode<any, any, any, any>> {
42
- nodeDefId: "EM3TempSensor";
43
42
  }
44
43
  export function is(node: ISYNode<any, any, any, any>): node is TemperatureSensorNode {
45
- return ["EM3TempSensor"].includes(node.nodeDefId);
44
+ return ['EM3TempSensor'].includes(node.nodeDefId);
46
45
  }
47
46
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is TemperatureSensorNode {
48
- return ["EM3TempSensor"].includes(node.nodeDefId);
47
+ return ['EM3TempSensor'].includes(node.nodeDefId);
49
48
  }
50
49
  export function create(isy: ISY, nodeInfo: NodeInfo) {
51
50
  return new TemperatureSensorNode(isy, nodeInfo);
@@ -1,5 +1,5 @@
1
- /* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
2
-
1
+ /* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
2
+
3
3
  import { UnitOfMeasure } from "../../../Definitions/Global/UOM.js";
4
4
  import { Family } from "../../../Definitions/Global/Families.js";
5
5
  import type { NodeInfo } from "../../../Model/NodeInfo.js";
@@ -11,13 +11,13 @@ import { Driver } from "../../../Definitions/Global/Drivers.js";
11
11
  import { ZWave } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
-
14
+
15
15
  const nodeDefId = "186";
16
-
16
+
17
17
  type Commands = ColorSwitch.Commands;
18
18
  type Drivers = ColorSwitch.Drivers;
19
-
20
- export class ColorSwitchNode extends Base<Drivers, Commands> implements ColorSwitch.Interface {
19
+
20
+ class ColorSwitchNode extends Base<Drivers, Commands> implements ColorSwitch.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.set,
23
23
  FDUP: this.fadeUp,
@@ -26,15 +26,15 @@ export class ColorSwitchNode extends Base<Drivers, Commands> implements ColorSwi
26
26
  QUERY: this.query
27
27
  };
28
28
  static override nodeDefId = "186";
29
- static override implements = ["186"];
30
- declare readonly nodeDefId: "186";
29
+ static override implements = ['186'];
30
+ declare readonly nodeDefId: '186';
31
31
  constructor (isy: ISY, nodeInfo: NodeInfo) {
32
32
  super(isy, nodeInfo);
33
- this.drivers.GV0 = Driver.create("GV0", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Warm White", name: "warmWhite" });
34
- this.drivers.GV2 = Driver.create("GV2", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Red", name: "red" });
35
- this.drivers.GV3 = Driver.create("GV3", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Green", name: "green" });
36
- this.drivers.GV4 = Driver.create("GV4", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Blue", name: "blue" });
37
- this.drivers.GV1 = Driver.create("GV1", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Cold White", name: "coldWhite" });
33
+ this.drivers.GV0 = Driver.create("GV0", this, nodeInfo.state['GV0'], { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Warm White", name: "warmWhite" });
34
+ this.drivers.GV2 = Driver.create("GV2", this, nodeInfo.state['GV2'], { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Red", name: "red" });
35
+ this.drivers.GV3 = Driver.create("GV3", this, nodeInfo.state['GV3'], { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Green", name: "green" });
36
+ this.drivers.GV4 = Driver.create("GV4", this, nodeInfo.state['GV4'], { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Blue", name: "blue" });
37
+ this.drivers.GV1 = Driver.create("GV1", this, nodeInfo.state['GV1'], { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Cold White", name: "coldWhite" });
38
38
  }
39
39
  async set(warmWhite?: number, red?: number, green?: number, blue?: number, duration?: number, coldWhite?: number) { return this.sendCommand("DON", { GV0: warmWhite, GV2: red, GV3: green, GV4: blue, RR: duration, GV1: coldWhite }); }
40
40
  async fadeUp(component: ZWave.ColorComponent, startLevel?: number, duration?: number) { return this.sendCommand("FDUP", { ID: component, STARTLEVEL: startLevel, RR: duration }); }
@@ -57,18 +57,17 @@ export class ColorSwitchNode extends Base<Drivers, Commands> implements ColorSwi
57
57
  return this.drivers.GV1?.value;
58
58
  }
59
59
  }
60
-
60
+
61
61
  NodeFactory.register(ColorSwitchNode);
62
-
62
+
63
63
  export namespace ColorSwitch {
64
64
  export interface Interface extends Omit<InstanceType<typeof ColorSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
65
- nodeDefId: "186";
66
65
  }
67
66
  export function is(node: ISYNode<any, any, any, any>): node is ColorSwitchNode {
68
- return ["186"].includes(node.nodeDefId);
67
+ return ['186'].includes(node.nodeDefId);
69
68
  }
70
69
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ColorSwitchNode {
71
- return ["186"].includes(node.nodeDefId);
70
+ return ['186'].includes(node.nodeDefId);
72
71
  }
73
72
  export function create(isy: ISY, nodeInfo: NodeInfo) {
74
73
  return new ColorSwitchNode(isy, nodeInfo);
@@ -17,7 +17,7 @@ const nodeDefId = "119";
17
17
  type Commands = DimmerSwitch.Commands;
18
18
  type Drivers = DimmerSwitch.Drivers;
19
19
 
20
- export class DimmerSwitchNode extends Base<Drivers, Commands> implements DimmerSwitch.Interface {
20
+ class DimmerSwitchNode extends Base<Drivers, Commands> implements DimmerSwitch.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
@@ -34,12 +34,12 @@ export class DimmerSwitchNode extends Base<Drivers, Commands> implements DimmerS
34
34
  WDU: this.writeChanges
35
35
  };
36
36
  static override nodeDefId = "119";
37
- static override implements = ["119"];
38
- declare readonly nodeDefId: "119";
37
+ static override implements = ['119'];
38
+ declare readonly nodeDefId: '119';
39
39
  constructor (isy: ISY, nodeInfo: NodeInfo) {
40
40
  super(isy, nodeInfo);
41
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
42
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
41
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
42
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
43
43
  }
44
44
  async on(value?: number | ZWave.PercentOpt, rampRate?: number) { return this.sendCommand("DON", value, { RR: rampRate }); }
45
45
  async off() { return this.sendCommand("DOF"); }
@@ -66,13 +66,12 @@ NodeFactory.register(DimmerSwitchNode);
66
66
 
67
67
  export namespace DimmerSwitch {
68
68
  export interface Interface extends Omit<InstanceType<typeof DimmerSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
69
- nodeDefId: "119";
70
69
  }
71
70
  export function is(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode {
72
- return ["119"].includes(node.nodeDefId);
71
+ return ['119'].includes(node.nodeDefId);
73
72
  }
74
73
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode {
75
- return ["119"].includes(node.nodeDefId);
74
+ return ['119'].includes(node.nodeDefId);
76
75
  }
77
76
  export function create(isy: ISY, nodeInfo: NodeInfo) {
78
77
  return new DimmerSwitchNode(isy, nodeInfo);
@@ -0,0 +1,22 @@
1
+ import { Family, Insteon } from '../../Definitions/Global/Families.js';
2
+ import { ISY } from '../../ISY.js';
3
+ import { byteToDegree, byteToPct, pctToByte } from '../../Utils.js';
4
+ import { NodeInfo } from '../../Model/NodeInfo.js';
5
+ import { ISYDeviceNode } from '../ISYDeviceNode.js';
6
+ import { ISYNode } from '../../ISYNode.js';
7
+ import 'winston';
8
+ import type { Driver } from '../../Definitions/Global/Drivers.js';
9
+ import type { Merge } from '@matter/general';
10
+ import { DynamicNode } from '../DynamicNode.js';
11
+
12
+ // import { InsteonNLS } from './insteonfam'
13
+ export class ZigBeeBaseDevice<D extends ISYNode.DriverSignatures, C extends ISYNode.CommandSignatures, E extends ISYNode.EventSignatures = {}> extends DynamicNode<Family.ZWave,Merge<D,Driver.Signatures<'ST'>>,C,E > {
14
+
15
+ public async getNodeDef()
16
+ {
17
+ return this.isy.sendRequest(`zmatter/zb/node/${this.address}/def/get?full=true`)
18
+ }
19
+
20
+
21
+
22
+ }
@@ -0,0 +1,13 @@
1
+ import { Family as FamilyEnum } from '../../Definitions/index.js';
2
+ import type { ISY } from '../../ISY.js';
3
+ import { ISYNode } from '../../ISYNode.js';
4
+ import type { NodeInfo } from '../../Model/NodeInfo.js';
5
+ import { NodeFactory } from '../NodeFactory.js';
6
+
7
+
8
+ export { ZigBeeBaseDevice as Base } from './ZigBeeBase.js';
9
+
10
+
11
+
12
+
13
+ //export * from './Generated/index.js';