isy-nodejs 1.0.7-alpha.0 → 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 (442) 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.map +1 -1
  145. package/dist/esm/Matter/Behaviors/BehaviorRegistry.js +37 -5
  146. package/dist/esm/Matter/Behaviors/BehaviorRegistry.js.map +1 -1
  147. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js +6 -1
  148. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
  149. package/dist/esm/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.js +24 -0
  150. package/dist/esm/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.js.map +1 -0
  151. package/dist/esm/Matter/Behaviors/Insteon/ISYDimmableBehavior.js +23 -0
  152. package/dist/esm/Matter/Behaviors/Insteon/ISYDimmableBehavior.js.map +1 -0
  153. package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js +4 -4
  154. package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js.map +1 -1
  155. package/dist/esm/Matter/Behaviors/Insteon/IdentifyBehavior.js +23 -0
  156. package/dist/esm/Matter/Behaviors/Insteon/IdentifyBehavior.js.map +1 -0
  157. package/dist/esm/Matter/Behaviors/Insteon/RelayOnOffBehavior.js +24 -0
  158. package/dist/esm/Matter/Behaviors/Insteon/RelayOnOffBehavior.js.map +1 -0
  159. package/dist/esm/Matter/Behaviors/Insteon/index.js +4 -0
  160. package/dist/esm/Matter/Behaviors/Insteon/index.js.map +1 -0
  161. package/dist/esm/Matter/Bridge/Server.js +22 -11
  162. package/dist/esm/Matter/Bridge/Server.js.map +1 -1
  163. package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
  164. package/dist/esm/Matter/Mappings/MappingRegistry.js +5 -4
  165. package/dist/esm/Matter/Mappings/MappingRegistry.js.map +1 -1
  166. package/dist/esm/Registry.js +77 -0
  167. package/dist/esm/Registry.js.map +1 -0
  168. package/dist/esm/Utils.js +12 -0
  169. package/dist/esm/Utils.js.map +1 -1
  170. package/dist/esm/types/CodeGeneration/CodeFactory.d.ts +6 -5
  171. package/dist/esm/types/CodeGeneration/CodeFactory.d.ts.map +1 -1
  172. package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
  173. package/dist/esm/types/Definitions/Global/Commands.d.ts +4 -4
  174. package/dist/esm/types/Definitions/Global/Commands.d.ts.map +1 -1
  175. package/dist/esm/types/Definitions/Global/Drivers.d.ts +10 -8
  176. package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
  177. package/dist/esm/types/Definitions/Global/Events.d.ts +3 -3
  178. package/dist/esm/types/Definitions/Global/Events.d.ts.map +1 -1
  179. package/dist/esm/types/Definitions/Insteon/generated/Boolean.d.ts +4 -0
  180. package/dist/esm/types/Definitions/Insteon/generated/Boolean.d.ts.map +1 -1
  181. package/dist/esm/types/Definitions/Insteon/generated/Error.d.ts +4 -0
  182. package/dist/esm/types/Definitions/Insteon/generated/Error.d.ts.map +1 -1
  183. package/dist/esm/types/Definitions/Insteon/generated/Lock.d.ts +6 -0
  184. package/dist/esm/types/Definitions/Insteon/generated/Lock.d.ts.map +1 -1
  185. package/dist/esm/types/Definitions/Insteon/generated/OnLevelRelay.d.ts +4 -0
  186. package/dist/esm/types/Definitions/Insteon/generated/OnLevelRelay.d.ts.map +1 -1
  187. package/dist/esm/types/Devices/CompositeDevice.d.ts +64 -0
  188. package/dist/esm/types/Devices/CompositeDevice.d.ts.map +1 -0
  189. package/dist/esm/types/Devices/EndpointFor.d.ts +3 -2
  190. package/dist/esm/types/Devices/EndpointFor.d.ts.map +1 -1
  191. package/dist/esm/types/Devices/ISYDeviceNode.d.ts +4 -1
  192. package/dist/esm/types/Devices/ISYDeviceNode.d.ts.map +1 -1
  193. package/dist/esm/types/Devices/ISYMultiNodeDevice.d.ts +25 -1
  194. package/dist/esm/types/Devices/ISYMultiNodeDevice.d.ts.map +1 -1
  195. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts +2 -3
  196. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -1
  197. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts +2 -3
  198. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -1
  199. package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts +2 -3
  200. package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -1
  201. package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts +2 -3
  202. package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -1
  203. package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts +2 -3
  204. package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -1
  205. package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts +2 -3
  206. package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -1
  207. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts +2 -3
  208. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -1
  209. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts +2 -3
  210. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -1
  211. package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts +2 -3
  212. package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -1
  213. package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts +2 -3
  214. package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -1
  215. package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts +2 -3
  216. package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -1
  217. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts +2 -3
  218. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -1
  219. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts +2 -3
  220. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -1
  221. package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts +2 -3
  222. package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -1
  223. package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts +2 -3
  224. package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -1
  225. package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts +2 -3
  226. package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -1
  227. package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts +2 -3
  228. package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -1
  229. package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts +2 -3
  230. package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -1
  231. package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts +2 -3
  232. package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -1
  233. package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts +2 -3
  234. package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -1
  235. package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts +2 -3
  236. package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -1
  237. package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts +2 -3
  238. package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -1
  239. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +2 -3
  240. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -1
  241. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +2 -3
  242. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -1
  243. package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts +2 -3
  244. package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -1
  245. package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts +2 -3
  246. package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -1
  247. package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts +2 -3
  248. package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -1
  249. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +2 -3
  250. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -1
  251. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +2 -3
  252. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -1
  253. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +2 -3
  254. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -1
  255. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts +2 -3
  256. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -1
  257. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts +2 -3
  258. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -1
  259. package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts +2 -3
  260. package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -1
  261. package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts +2 -3
  262. package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -1
  263. package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts +2 -3
  264. package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -1
  265. package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts +2 -3
  266. package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -1
  267. package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts +2 -3
  268. package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -1
  269. package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts +2 -3
  270. package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -1
  271. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +8 -6
  272. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts.map +1 -1
  273. package/dist/esm/types/Devices/Insteon/InsteonDeviceFactory.d.ts +7 -2
  274. package/dist/esm/types/Devices/Insteon/InsteonDeviceFactory.d.ts.map +1 -1
  275. package/dist/esm/types/Devices/Insteon/InsteonDimmableDevice.d.ts +2 -2
  276. package/dist/esm/types/Devices/Insteon/InsteonDimmableDevice.d.ts.map +1 -1
  277. package/dist/esm/types/Devices/Insteon/InsteonDimmerOutletDevice.d.ts +2 -2
  278. package/dist/esm/types/Devices/Insteon/InsteonDimmerOutletDevice.d.ts.map +1 -1
  279. package/dist/esm/types/Devices/Insteon/InsteonDoorWindowSensorDevice.d.ts +17 -5
  280. package/dist/esm/types/Devices/Insteon/InsteonDoorWindowSensorDevice.d.ts.map +1 -1
  281. package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts +18 -16
  282. package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
  283. package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts +1 -1
  284. package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts.map +1 -1
  285. package/dist/esm/types/Devices/Insteon/InsteonOnOffOutletDevice.d.ts +8 -7
  286. package/dist/esm/types/Devices/Insteon/InsteonOnOffOutletDevice.d.ts.map +1 -1
  287. package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts +0 -1
  288. package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
  289. package/dist/esm/types/Devices/Insteon/index.d.ts +10 -11
  290. package/dist/esm/types/Devices/Insteon/index.d.ts.map +1 -1
  291. package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts +2 -3
  292. package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -1
  293. package/dist/esm/types/Devices/NodeFactory.d.ts +1 -1
  294. package/dist/esm/types/Devices/NodeFactory.d.ts.map +1 -1
  295. package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts +2 -3
  296. package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -1
  297. package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts +2 -3
  298. package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -1
  299. package/dist/esm/types/Devices/UDI/Generated/Main.d.ts +2 -3
  300. package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -1
  301. package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts +2 -3
  302. package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -1
  303. package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts +2 -3
  304. package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -1
  305. package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts +2 -3
  306. package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -1
  307. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +2 -3
  308. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -1
  309. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +2 -3
  310. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -1
  311. package/dist/esm/types/Devices/ZigBee/ZWaveBaseDevice.d.ts +10 -0
  312. package/dist/esm/types/Devices/ZigBee/ZWaveBaseDevice.d.ts.map +1 -0
  313. package/dist/esm/types/Devices/ZigBee/ZigBeeBase.d.ts +10 -0
  314. package/dist/esm/types/Devices/ZigBee/ZigBeeBase.d.ts.map +1 -0
  315. package/dist/esm/types/Devices/ZigBee/index.d.ts +2 -0
  316. package/dist/esm/types/Devices/ZigBee/index.d.ts.map +1 -0
  317. package/dist/esm/types/ISY.d.ts.map +1 -1
  318. package/dist/esm/types/ISYDevice.d.ts +3 -5
  319. package/dist/esm/types/ISYDevice.d.ts.map +1 -1
  320. package/dist/esm/types/ISYNode.d.ts +32 -25
  321. package/dist/esm/types/ISYNode.d.ts.map +1 -1
  322. package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts +9 -5
  323. package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts.map +1 -1
  324. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +8 -5
  325. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
  326. package/dist/esm/types/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.d.ts +321 -0
  327. package/dist/esm/types/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.d.ts.map +1 -0
  328. package/dist/esm/types/Matter/Behaviors/Insteon/ISYDimmableBehavior.d.ts +42 -0
  329. package/dist/esm/types/Matter/Behaviors/Insteon/ISYDimmableBehavior.d.ts.map +1 -0
  330. package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts +4 -4
  331. package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
  332. package/dist/esm/types/Matter/Behaviors/Insteon/IdentifyBehavior.d.ts +24 -0
  333. package/dist/esm/types/Matter/Behaviors/Insteon/IdentifyBehavior.d.ts.map +1 -0
  334. package/dist/esm/types/Matter/Behaviors/Insteon/RelayOnOffBehavior.d.ts +241 -0
  335. package/dist/esm/types/Matter/Behaviors/Insteon/RelayOnOffBehavior.d.ts.map +1 -0
  336. package/dist/esm/types/Matter/Behaviors/Insteon/index.d.ts +4 -0
  337. package/dist/esm/types/Matter/Behaviors/Insteon/index.d.ts.map +1 -0
  338. package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
  339. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts +4173 -42
  340. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts.map +1 -1
  341. package/dist/esm/types/Model/EnumDefinition.d.ts +1 -1
  342. package/dist/esm/types/Registry.d.ts +37 -0
  343. package/dist/esm/types/Registry.d.ts.map +1 -0
  344. package/dist/esm/types/Utils.d.ts +13 -0
  345. package/dist/esm/types/Utils.d.ts.map +1 -1
  346. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  347. package/package.json +2 -2
  348. package/src/CodeGeneration/CodeFactory.ts +16 -8
  349. package/src/CodeGeneration/NodeClassFactory.ts +7 -9
  350. package/src/Definitions/Global/Commands.ts +16 -13
  351. package/src/Definitions/Global/Drivers.ts +56 -36
  352. package/src/Definitions/Global/Events.ts +4 -4
  353. package/src/Definitions/Insteon/generated/Boolean.ts +9 -0
  354. package/src/Definitions/Insteon/generated/Error.ts +9 -0
  355. package/src/Definitions/Insteon/generated/Lock.ts +28 -0
  356. package/src/Definitions/Insteon/generated/OnLevelRelay.ts +11 -0
  357. package/src/Devices/Brultech/Generated/Channel.ts +8 -9
  358. package/src/Devices/Brultech/Generated/Main.ts +11 -12
  359. package/src/Devices/CompositeDevice.ts +277 -0
  360. package/src/Devices/DeviceFactory.ts +1 -1
  361. package/src/Devices/ISYDeviceNode.ts +8 -2
  362. package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +7 -8
  363. package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +7 -8
  364. package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +7 -8
  365. package/src/Devices/Insteon/Generated/BinaryAlarm.ts +7 -8
  366. package/src/Devices/Insteon/Generated/BinaryControl.ts +7 -8
  367. package/src/Devices/Insteon/Generated/DimmerLamp.ts +9 -10
  368. package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +9 -10
  369. package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +9 -10
  370. package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +9 -10
  371. package/src/Devices/Insteon/Generated/DimmerSwitch.ts +6 -7
  372. package/src/Devices/Insteon/Generated/DoorLock.ts +7 -8
  373. package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +7 -8
  374. package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +7 -8
  375. package/src/Devices/Insteon/Generated/EzrainInput.ts +7 -8
  376. package/src/Devices/Insteon/Generated/EzrainOutput.ts +7 -8
  377. package/src/Devices/Insteon/Generated/FanLincMotor.ts +7 -8
  378. package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +15 -16
  379. package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +13 -14
  380. package/src/Devices/Insteon/Generated/ImeterSolo.ts +8 -9
  381. package/src/Devices/Insteon/Generated/IrLincTx.ts +6 -7
  382. package/src/Devices/Insteon/Generated/KeypadButton.ts +7 -8
  383. package/src/Devices/Insteon/Generated/KeypadDimmer.ts +9 -10
  384. package/src/Devices/Insteon/Generated/KeypadRelay.ts +7 -8
  385. package/src/Devices/Insteon/Generated/OnOffControl.ts +7 -8
  386. package/src/Devices/Insteon/Generated/Pir2844.ts +11 -12
  387. package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +7 -8
  388. package/src/Devices/Insteon/Generated/Pir2844c.ts +11 -12
  389. package/src/Devices/Insteon/Generated/RelayLamp.ts +7 -8
  390. package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +7 -8
  391. package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +7 -8
  392. package/src/Devices/Insteon/Generated/RelaySwitch.ts +6 -7
  393. package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +6 -7
  394. package/src/Devices/Insteon/Generated/RemoteLinc2.ts +7 -8
  395. package/src/Devices/Insteon/Generated/Siren.ts +10 -11
  396. package/src/Devices/Insteon/Generated/SirenAlert.ts +6 -7
  397. package/src/Devices/Insteon/Generated/TempLinc.ts +13 -14
  398. package/src/Devices/Insteon/Generated/Thermostat.ts +13 -14
  399. package/src/Devices/Insteon/Generated/X10.ts +7 -8
  400. package/src/Devices/Insteon/InsteonDeviceFactory.ts +26 -12
  401. package/src/Devices/Insteon/InsteonDimmableDevice.ts +4 -4
  402. package/src/Devices/Insteon/InsteonDimmerOutletDevice.ts +3 -2
  403. package/src/Devices/Insteon/InsteonDoorWindowSensorDevice.ts +30 -7
  404. package/src/Devices/Insteon/InsteonFanDevice.ts +21 -36
  405. package/src/Devices/Insteon/InsteonOnOffOutletDevice.ts +5 -17
  406. package/src/Devices/Insteon/InsteonRelayDevice.ts +2 -3
  407. package/src/Devices/Insteon/index.ts +10 -14
  408. package/src/Devices/Lutron/Generated/LoadShed.ts +7 -8
  409. package/src/Devices/NCD/Generated/Relay.ts +19 -23
  410. package/src/Devices/NodeFactory.ts +1 -1
  411. package/src/Devices/Poly/Generated/MatterBridge.ts +6 -7
  412. package/src/Devices/Scene/Generated/Scene.ts +5 -6
  413. package/src/Devices/UDI/Generated/Channel.ts +8 -9
  414. package/src/Devices/UDI/Generated/Em3MainChannel.ts +11 -12
  415. package/src/Devices/UDI/Generated/Main.ts +8 -9
  416. package/src/Devices/UDI/Generated/PulseCounter.ts +9 -10
  417. package/src/Devices/UDI/Generated/Relay.ts +7 -8
  418. package/src/Devices/UDI/Generated/TemperatureSensor.ts +7 -8
  419. package/src/Devices/ZWave/Generated/ColorSwitch.ts +17 -18
  420. package/src/Devices/ZWave/Generated/DimmerSwitch.ts +7 -8
  421. package/src/Devices/ZigBee/ZigBeeBase.ts +22 -0
  422. package/src/Devices/ZigBee/index.ts +13 -0
  423. package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +22 -20
  424. package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +92 -76
  425. package/src/ISY.ts +27 -5
  426. package/src/ISYDevice.ts +4 -3
  427. package/src/ISYNode.ts +48 -32
  428. package/src/Matter/Behaviors/BehaviorRegistry.ts +44 -8
  429. package/src/Matter/Behaviors/ISYClusterBehavior.ts +15 -6
  430. package/src/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.ts +30 -0
  431. package/src/Matter/Behaviors/Insteon/IdentifyBehavior.ts +26 -0
  432. package/src/Matter/Behaviors/Insteon/RelayOnOffBehavior.ts +34 -0
  433. package/src/Matter/Behaviors/Insteon/index.ts +3 -0
  434. package/src/Matter/Bridge/Server.ts +93 -85
  435. package/src/Matter/Mappings/Insteon.ts +3 -3
  436. package/src/Matter/Mappings/MappingRegistry.ts +29 -40
  437. package/src/Registry.ts +112 -0
  438. package/src/Utils.ts +29 -0
  439. package/src/Devices/Insteon/DimmerLampSwitch.ts +0 -207
  440. package/src/Devices/Insteon/InsteonRelaySwitchDevice.ts +0 -11
  441. package/src/Devices/Insteon/RelayLampSwitch.ts +0 -132
  442. package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +0 -66
@@ -17,7 +17,7 @@ const nodeDefId = "DimmerLampSwitchLED";
17
17
  type Commands = DimmerLampSwitchLed.Commands;
18
18
  type Drivers = DimmerLampSwitchLed.Drivers;
19
19
 
20
- export class DimmerLampSwitchLedNode extends Base<Drivers, Commands> implements DimmerLampSwitchLed.Interface {
20
+ class DimmerLampSwitchLedNode extends Base<Drivers, Commands> implements DimmerLampSwitchLed.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
@@ -37,14 +37,14 @@ export class DimmerLampSwitchLedNode extends Base<Drivers, Commands> implements
37
37
  WDU: this.writeChanges
38
38
  };
39
39
  static override nodeDefId = "DimmerLampSwitchLED";
40
- static override implements = ["DimmerLampSwitchLED", "DimmerSwitchOnly", "DimmerSwitchOnly_ADV", "DimmerLampOnly", "RelaySwitchOnlyPlusQuery", "RelaySwitchOnlyPlusQuery_ADV", "RelaySwitchOnly", "RelaySwitchOnly_ADV", "RemoteLinc2", "RemoteLinc2_ADV", "IRLincTx", "SirenAlert", "SirenArm"];
41
- declare readonly nodeDefId: "DimmerLampSwitchLED" | "DimmerLampSwitchLED_ADV";
40
+ static override implements = ['DimmerLampSwitchLED', "DimmerSwitchOnly", "DimmerSwitchOnly_ADV", "DimmerLampOnly", "RelaySwitchOnlyPlusQuery", "RelaySwitchOnlyPlusQuery_ADV", "RelaySwitchOnly", "RelaySwitchOnly_ADV", "RemoteLinc2", "RemoteLinc2_ADV", "IRLincTx", "SirenAlert", "SirenArm"];
41
+ declare readonly nodeDefId: 'DimmerLampSwitchLED' | "DimmerLampSwitchLED_ADV";
42
42
  constructor (isy: ISY, nodeInfo: NodeInfo) {
43
43
  super(isy, nodeInfo);
44
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
45
- this.drivers.OL = Driver.create("OL", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "On Level", name: "onLevel" });
46
- this.drivers.RR = Driver.create("RR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Ramp Rate", name: "rampRate" });
47
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
44
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
45
+ this.drivers.OL = Driver.create("OL", this, nodeInfo.state['OL'], { uom: UnitOfMeasure.Percent, label: "On Level", name: "onLevel" });
46
+ this.drivers.RR = Driver.create("RR", this, nodeInfo.state['RR'], { uom: UnitOfMeasure.Index, label: "Ramp Rate", name: "rampRate" });
47
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
48
48
  }
49
49
  async on(value?: number) { return this.sendCommand("DON", value); }
50
50
  async off() { return this.sendCommand("DOF"); }
@@ -81,13 +81,12 @@ NodeFactory.register(DimmerLampSwitchLedNode, "DimmerLampSwitchLED_ADV");
81
81
 
82
82
  export namespace DimmerLampSwitchLed {
83
83
  export interface Interface extends Omit<InstanceType<typeof DimmerLampSwitchLedNode>, keyof ISYDeviceNode<any, any, any, any>> {
84
- nodeDefId: "DimmerLampSwitchLED" | "DimmerLampSwitchLED_ADV";
85
84
  }
86
85
  export function is(node: ISYNode<any, any, any, any>): node is DimmerLampSwitchLedNode {
87
- return ["DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV"].includes(node.nodeDefId);
86
+ return ['DimmerLampSwitchLED', "DimmerLampSwitchLED_ADV"].includes(node.nodeDefId);
88
87
  }
89
88
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerLampSwitchLedNode {
90
- return ["DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV"].includes(node.nodeDefId);
89
+ return ['DimmerLampSwitchLED', "DimmerLampSwitchLED_ADV"].includes(node.nodeDefId);
91
90
  }
92
91
  export function create(isy: ISY, nodeInfo: NodeInfo) {
93
92
  return new DimmerLampSwitchLedNode(isy, nodeInfo);
@@ -17,7 +17,7 @@ const nodeDefId = "DimmerMotorSwitch";
17
17
  type Commands = DimmerMotorSwitch.Commands;
18
18
  type Drivers = DimmerMotorSwitch.Drivers;
19
19
 
20
- export class DimmerMotorSwitchNode extends Base<Drivers, Commands> implements DimmerMotorSwitch.Interface {
20
+ class DimmerMotorSwitchNode extends Base<Drivers, Commands> implements DimmerMotorSwitch.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
@@ -34,14 +34,14 @@ export class DimmerMotorSwitchNode extends Base<Drivers, Commands> implements Di
34
34
  WDU: this.writeChanges
35
35
  };
36
36
  static override nodeDefId = "DimmerMotorSwitch";
37
- static override implements = ["DimmerMotorSwitch", "RelaySwitchOnlyPlusQuery", "RelaySwitchOnlyPlusQuery_ADV", "RelaySwitchOnly", "RelaySwitchOnly_ADV", "RemoteLinc2", "RemoteLinc2_ADV", "IRLincTx", "SirenAlert", "SirenArm"];
38
- declare readonly nodeDefId: "DimmerMotorSwitch" | "DimmerMotorSwitch_ADV";
37
+ static override implements = ['DimmerMotorSwitch', "RelaySwitchOnlyPlusQuery", "RelaySwitchOnlyPlusQuery_ADV", "RelaySwitchOnly", "RelaySwitchOnly_ADV", "RemoteLinc2", "RemoteLinc2_ADV", "IRLincTx", "SirenAlert", "SirenArm"];
38
+ declare readonly nodeDefId: 'DimmerMotorSwitch' | "DimmerMotorSwitch_ADV";
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.OL = Driver.create("OL", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "On Level", name: "onLevel" });
43
- this.drivers.DUR = Driver.create("DUR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.DurationInSeconds, label: "Max Duration", name: "maxDuration" });
44
- 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.OL = Driver.create("OL", this, nodeInfo.state['OL'], { uom: UnitOfMeasure.Percent, label: "On Level", name: "onLevel" });
43
+ this.drivers.DUR = Driver.create("DUR", this, nodeInfo.state['DUR'], { uom: UnitOfMeasure.DurationInSeconds, label: "Max Duration", name: "maxDuration" });
44
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
45
45
  }
46
46
  async on(value?: number) { return this.sendCommand("DON", value); }
47
47
  async off() { return this.sendCommand("DOF"); }
@@ -75,13 +75,12 @@ NodeFactory.register(DimmerMotorSwitchNode, "DimmerMotorSwitch_ADV");
75
75
 
76
76
  export namespace DimmerMotorSwitch {
77
77
  export interface Interface extends Omit<InstanceType<typeof DimmerMotorSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
78
- nodeDefId: "DimmerMotorSwitch" | "DimmerMotorSwitch_ADV";
79
78
  }
80
79
  export function is(node: ISYNode<any, any, any, any>): node is DimmerMotorSwitchNode {
81
- return ["DimmerMotorSwitch", "DimmerMotorSwitch_ADV"].includes(node.nodeDefId);
80
+ return ['DimmerMotorSwitch', "DimmerMotorSwitch_ADV"].includes(node.nodeDefId);
82
81
  }
83
82
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerMotorSwitchNode {
84
- return ["DimmerMotorSwitch", "DimmerMotorSwitch_ADV"].includes(node.nodeDefId);
83
+ return ['DimmerMotorSwitch', "DimmerMotorSwitch_ADV"].includes(node.nodeDefId);
85
84
  }
86
85
  export function create(isy: ISY, nodeInfo: NodeInfo) {
87
86
  return new DimmerMotorSwitchNode(isy, nodeInfo);
@@ -17,17 +17,17 @@ const nodeDefId = "DimmerSwitchOnly";
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
  BL: this.backlight,
23
23
  WDU: this.writeChanges
24
24
  };
25
25
  static override nodeDefId = "DimmerSwitchOnly";
26
- static override implements = ["DimmerSwitchOnly", "SirenAlert", "SirenArm"];
27
- declare readonly nodeDefId: "DimmerSwitchOnly" | "DimmerSwitchOnly_ADV";
26
+ static override implements = ['DimmerSwitchOnly', "SirenAlert", "SirenArm"];
27
+ declare readonly nodeDefId: 'DimmerSwitchOnly' | "DimmerSwitchOnly_ADV";
28
28
  constructor (isy: ISY, nodeInfo: NodeInfo) {
29
29
  super(isy, nodeInfo);
30
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
30
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
31
31
  }
32
32
  async backlight(value: number) { return this.sendCommand("BL", value); }
33
33
  async writeChanges() { return this.sendCommand("WDU"); }
@@ -41,13 +41,12 @@ NodeFactory.register(DimmerSwitchNode, "DimmerSwitchOnly_ADV");
41
41
 
42
42
  export namespace DimmerSwitch {
43
43
  export interface Interface extends Omit<InstanceType<typeof DimmerSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
44
- nodeDefId: "DimmerSwitchOnly" | "DimmerSwitchOnly_ADV";
45
44
  }
46
45
  export function is(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode {
47
- return ["DimmerSwitchOnly", "DimmerSwitchOnly_ADV"].includes(node.nodeDefId);
46
+ return ['DimmerSwitchOnly', "DimmerSwitchOnly_ADV"].includes(node.nodeDefId);
48
47
  }
49
48
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode {
50
- return ["DimmerSwitchOnly", "DimmerLampSwitch", "DimmerLampSwitch_ADV", "DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV", "DimmerSwitchOnly_ADV"].includes(node.nodeDefId);
49
+ return ['DimmerSwitchOnly', "DimmerLampSwitch", "DimmerLampSwitch_ADV", "DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV", "DimmerSwitchOnly_ADV"].includes(node.nodeDefId);
51
50
  }
52
51
  export function create(isy: ISY, nodeInfo: NodeInfo) {
53
52
  return new DimmerSwitchNode(isy, nodeInfo);
@@ -17,19 +17,19 @@ const nodeDefId = "DoorLock";
17
17
  type Commands = DoorLock.Commands;
18
18
  type Drivers = DoorLock.Drivers;
19
19
 
20
- export class DoorLockNode extends Base<Drivers, Commands> implements DoorLock.Interface {
20
+ class DoorLockNode extends Base<Drivers, Commands> implements DoorLock.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.lock,
23
23
  DOF: this.unlock,
24
24
  WDU: this.writeChanges
25
25
  };
26
26
  static override nodeDefId = "DoorLock";
27
- static override implements = ["DoorLock", "SirenAlert", "SirenArm"];
28
- declare readonly nodeDefId: "DoorLock";
27
+ static override implements = ['DoorLock', "SirenAlert", "SirenArm"];
28
+ declare readonly nodeDefId: 'DoorLock';
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 lock() { return this.sendCommand("DON"); }
35
35
  async unlock() { return this.sendCommand("DOF"); }
@@ -46,13 +46,12 @@ NodeFactory.register(DoorLockNode);
46
46
 
47
47
  export namespace DoorLock {
48
48
  export interface Interface extends Omit<InstanceType<typeof DoorLockNode>, keyof ISYDeviceNode<any, any, any, any>> {
49
- nodeDefId: "DoorLock";
50
49
  }
51
50
  export function is(node: ISYNode<any, any, any, any>): node is DoorLockNode {
52
- return ["DoorLock"].includes(node.nodeDefId);
51
+ return ['DoorLock'].includes(node.nodeDefId);
53
52
  }
54
53
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DoorLockNode {
55
- return ["DoorLock", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor"].includes(node.nodeDefId);
54
+ return ['DoorLock', "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor"].includes(node.nodeDefId);
56
55
  }
57
56
  export function create(isy: ISY, nodeInfo: NodeInfo) {
58
57
  return new DoorLockNode(isy, nodeInfo);
@@ -17,17 +17,17 @@ const nodeDefId = "EZIO2x4_Input";
17
17
  type Commands = Ezio2x4Input.Commands;
18
18
  type Drivers = Ezio2x4Input.Drivers;
19
19
 
20
- export class Ezio2x4InputNode extends Base<Drivers, Commands> implements Ezio2x4Input.Interface {
20
+ class Ezio2x4InputNode extends Base<Drivers, Commands> implements Ezio2x4Input.Interface {
21
21
  public override readonly commands = {
22
22
  WDU: this.writeChanges
23
23
  };
24
24
  static override nodeDefId = "EZIO2x4_Input";
25
- static override implements = ["EZIO2x4_Input", "SirenAlert", "SirenArm"];
26
- declare readonly nodeDefId: "EZIO2x4_Input" | "EZIO2x4_Input_ADV";
25
+ static override implements = ['EZIO2x4_Input', "SirenAlert", "SirenArm"];
26
+ declare readonly nodeDefId: 'EZIO2x4_Input' | "EZIO2x4_Input_ADV";
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.Percent, label: "Status", name: "status" });
30
- 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.Percent, label: "Status", name: "status" });
30
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
31
31
  }
32
32
  async writeChanges() { return this.sendCommand("WDU"); }
33
33
  public get status(): Insteon.OnLevelRelay {
@@ -43,13 +43,12 @@ NodeFactory.register(Ezio2x4InputNode, "EZIO2x4_Input_ADV");
43
43
 
44
44
  export namespace Ezio2x4Input {
45
45
  export interface Interface extends Omit<InstanceType<typeof Ezio2x4InputNode>, keyof ISYDeviceNode<any, any, any, any>> {
46
- nodeDefId: "EZIO2x4_Input" | "EZIO2x4_Input_ADV";
47
46
  }
48
47
  export function is(node: ISYNode<any, any, any, any>): node is Ezio2x4InputNode {
49
- return ["EZIO2x4_Input", "EZIO2x4_Input_ADV"].includes(node.nodeDefId);
48
+ return ['EZIO2x4_Input', "EZIO2x4_Input_ADV"].includes(node.nodeDefId);
50
49
  }
51
50
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is Ezio2x4InputNode {
52
- return ["EZIO2x4_Input", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "KeypadButton", "KeypadButton_ADV", "EZRAIN_Input", "EZRAIN_Input_ADV", "EZIO2x4_Input_ADV"].includes(node.nodeDefId);
51
+ return ['EZIO2x4_Input', "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "KeypadButton", "KeypadButton_ADV", "EZRAIN_Input", "EZRAIN_Input_ADV", "EZIO2x4_Input_ADV"].includes(node.nodeDefId);
53
52
  }
54
53
  export function create(isy: ISY, nodeInfo: NodeInfo) {
55
54
  return new Ezio2x4InputNode(isy, nodeInfo);
@@ -17,7 +17,7 @@ const nodeDefId = "EZIO2x4_Output";
17
17
  type Commands = Ezio2x4Output.Commands;
18
18
  type Drivers = Ezio2x4Output.Drivers;
19
19
 
20
- export class Ezio2x4OutputNode extends Base<Drivers, Commands> implements Ezio2x4Output.Interface {
20
+ class Ezio2x4OutputNode extends Base<Drivers, Commands> implements Ezio2x4Output.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
@@ -25,12 +25,12 @@ export class Ezio2x4OutputNode extends Base<Drivers, Commands> implements Ezio2x
25
25
  WDU: this.writeChanges
26
26
  };
27
27
  static override nodeDefId = "EZIO2x4_Output";
28
- static override implements = ["EZIO2x4_Output", "SirenAlert", "SirenArm"];
29
- declare readonly nodeDefId: "EZIO2x4_Output";
28
+ static override implements = ['EZIO2x4_Output', "SirenAlert", "SirenArm"];
29
+ declare readonly nodeDefId: 'EZIO2x4_Output';
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.Percent, label: "Status", name: "status" });
33
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, 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(value?: (0 | 100)) { return this.sendCommand("DON", value); }
36
36
  async off() { return this.sendCommand("DOF"); }
@@ -48,13 +48,12 @@ NodeFactory.register(Ezio2x4OutputNode);
48
48
 
49
49
  export namespace Ezio2x4Output {
50
50
  export interface Interface extends Omit<InstanceType<typeof Ezio2x4OutputNode>, keyof ISYDeviceNode<any, any, any, any>> {
51
- nodeDefId: "EZIO2x4_Output";
52
51
  }
53
52
  export function is(node: ISYNode<any, any, any, any>): node is Ezio2x4OutputNode {
54
- return ["EZIO2x4_Output"].includes(node.nodeDefId);
53
+ return ['EZIO2x4_Output'].includes(node.nodeDefId);
55
54
  }
56
55
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is Ezio2x4OutputNode {
57
- return ["EZIO2x4_Output", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor", "EZRAIN_Output"].includes(node.nodeDefId);
56
+ return ['EZIO2x4_Output', "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor", "EZRAIN_Output"].includes(node.nodeDefId);
58
57
  }
59
58
  export function create(isy: ISY, nodeInfo: NodeInfo) {
60
59
  return new Ezio2x4OutputNode(isy, nodeInfo);
@@ -17,17 +17,17 @@ const nodeDefId = "EZRAIN_Input";
17
17
  type Commands = EzrainInput.Commands;
18
18
  type Drivers = EzrainInput.Drivers;
19
19
 
20
- export class EzrainInputNode extends Base<Drivers, Commands> implements EzrainInput.Interface {
20
+ class EzrainInputNode extends Base<Drivers, Commands> implements EzrainInput.Interface {
21
21
  public override readonly commands = {
22
22
  WDU: this.writeChanges
23
23
  };
24
24
  static override nodeDefId = "EZRAIN_Input";
25
- static override implements = ["EZRAIN_Input", "EZIO2x4_Input", "EZIO2x4_Input_ADV", "SirenAlert", "SirenArm"];
26
- declare readonly nodeDefId: "EZRAIN_Input" | "EZRAIN_Input_ADV";
25
+ static override implements = ['EZRAIN_Input', "EZIO2x4_Input", "EZIO2x4_Input_ADV", "SirenAlert", "SirenArm"];
26
+ declare readonly nodeDefId: 'EZRAIN_Input' | "EZRAIN_Input_ADV";
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.Percent, label: "Status", name: "status" });
30
- 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.Percent, label: "Status", name: "status" });
30
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
31
31
  }
32
32
  async writeChanges() { return this.sendCommand("WDU"); }
33
33
  public get status(): Insteon.OnLevelRelay {
@@ -43,13 +43,12 @@ NodeFactory.register(EzrainInputNode, "EZRAIN_Input_ADV");
43
43
 
44
44
  export namespace EzrainInput {
45
45
  export interface Interface extends Omit<InstanceType<typeof EzrainInputNode>, keyof ISYDeviceNode<any, any, any, any>> {
46
- nodeDefId: "EZRAIN_Input" | "EZRAIN_Input_ADV";
47
46
  }
48
47
  export function is(node: ISYNode<any, any, any, any>): node is EzrainInputNode {
49
- return ["EZRAIN_Input", "EZRAIN_Input_ADV"].includes(node.nodeDefId);
48
+ return ['EZRAIN_Input', "EZRAIN_Input_ADV"].includes(node.nodeDefId);
50
49
  }
51
50
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is EzrainInputNode {
52
- return ["EZRAIN_Input", "EZRAIN_Input_ADV"].includes(node.nodeDefId);
51
+ return ['EZRAIN_Input', "EZRAIN_Input_ADV"].includes(node.nodeDefId);
53
52
  }
54
53
  export function create(isy: ISY, nodeInfo: NodeInfo) {
55
54
  return new EzrainInputNode(isy, nodeInfo);
@@ -17,7 +17,7 @@ const nodeDefId = "EZRAIN_Output";
17
17
  type Commands = EzrainOutput.Commands;
18
18
  type Drivers = EzrainOutput.Drivers;
19
19
 
20
- export class EzrainOutputNode extends Base<Drivers, Commands> implements EzrainOutput.Interface {
20
+ class EzrainOutputNode extends Base<Drivers, Commands> implements EzrainOutput.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
@@ -26,12 +26,12 @@ export class EzrainOutputNode extends Base<Drivers, Commands> implements EzrainO
26
26
  BEEP: this.beep
27
27
  };
28
28
  static override nodeDefId = "EZRAIN_Output";
29
- static override implements = ["EZRAIN_Output", "EZIO2x4_Output", "AlertModuleArmed", "SirenAlert", "SirenArm"];
30
- declare readonly nodeDefId: "EZRAIN_Output";
29
+ static override implements = ['EZRAIN_Output', "EZIO2x4_Output", "AlertModuleArmed", "SirenAlert", "SirenArm"];
30
+ declare readonly nodeDefId: 'EZRAIN_Output';
31
31
  constructor (isy: ISY, nodeInfo: NodeInfo) {
32
32
  super(isy, nodeInfo);
33
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
34
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
33
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
34
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
35
35
  }
36
36
  async on(value?: (0 | 100)) { return this.sendCommand("DON", value); }
37
37
  async off() { return this.sendCommand("DOF"); }
@@ -50,13 +50,12 @@ NodeFactory.register(EzrainOutputNode);
50
50
 
51
51
  export namespace EzrainOutput {
52
52
  export interface Interface extends Omit<InstanceType<typeof EzrainOutputNode>, keyof ISYDeviceNode<any, any, any, any>> {
53
- nodeDefId: "EZRAIN_Output";
54
53
  }
55
54
  export function is(node: ISYNode<any, any, any, any>): node is EzrainOutputNode {
56
- return ["EZRAIN_Output"].includes(node.nodeDefId);
55
+ return ['EZRAIN_Output'].includes(node.nodeDefId);
57
56
  }
58
57
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is EzrainOutputNode {
59
- return ["EZRAIN_Output", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor"].includes(node.nodeDefId);
58
+ return ['EZRAIN_Output', "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor"].includes(node.nodeDefId);
60
59
  }
61
60
  export function create(isy: ISY, nodeInfo: NodeInfo) {
62
61
  return new EzrainOutputNode(isy, nodeInfo);
@@ -17,7 +17,7 @@ const nodeDefId = "FanLincMotor";
17
17
  type Commands = FanLincMotor.Commands;
18
18
  type Drivers = FanLincMotor.Drivers;
19
19
 
20
- export class FanLincMotorNode extends Base<Drivers, Commands> implements FanLincMotor.Interface {
20
+ class FanLincMotorNode extends Base<Drivers, Commands> implements FanLincMotor.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
@@ -28,12 +28,12 @@ export class FanLincMotorNode extends Base<Drivers, Commands> implements FanLinc
28
28
  WDU: this.writeChanges
29
29
  };
30
30
  static override nodeDefId = "FanLincMotor";
31
- static override implements = ["FanLincMotor"];
32
- declare readonly nodeDefId: "FanLincMotor";
31
+ static override implements = ['FanLincMotor'];
32
+ declare readonly nodeDefId: 'FanLincMotor';
33
33
  constructor (isy: ISY, nodeInfo: NodeInfo) {
34
34
  super(isy, nodeInfo);
35
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
36
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
35
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
36
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
37
37
  }
38
38
  async on(value: Insteon.FanLevel) { return this.sendCommand("DON", value); }
39
39
  async off() { return this.sendCommand("DOF"); }
@@ -54,13 +54,12 @@ NodeFactory.register(FanLincMotorNode);
54
54
 
55
55
  export namespace FanLincMotor {
56
56
  export interface Interface extends Omit<InstanceType<typeof FanLincMotorNode>, keyof ISYDeviceNode<any, any, any, any>> {
57
- nodeDefId: "FanLincMotor";
58
57
  }
59
58
  export function is(node: ISYNode<any, any, any, any>): node is FanLincMotorNode {
60
- return ["FanLincMotor"].includes(node.nodeDefId);
59
+ return ['FanLincMotor'].includes(node.nodeDefId);
61
60
  }
62
61
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is FanLincMotorNode {
63
- return ["FanLincMotor"].includes(node.nodeDefId);
62
+ return ['FanLincMotor'].includes(node.nodeDefId);
64
63
  }
65
64
  export function create(isy: ISY, nodeInfo: NodeInfo) {
66
65
  return new FanLincMotorNode(isy, nodeInfo);
@@ -17,7 +17,7 @@ const nodeDefId = "I3KeypadFlags";
17
17
  type Commands = I3KeypadFlags.Commands;
18
18
  type Drivers = I3KeypadFlags.Drivers;
19
19
 
20
- export class I3KeypadFlagsNode extends Base<Drivers, Commands> implements I3KeypadFlags.Interface {
20
+ class I3KeypadFlagsNode extends Base<Drivers, Commands> implements I3KeypadFlags.Interface {
21
21
  public override readonly commands = {
22
22
  GV0: this.updateMode,
23
23
  GV1: this.updateProgramLock,
@@ -32,20 +32,20 @@ export class I3KeypadFlagsNode extends Base<Drivers, Commands> implements I3Keyp
32
32
  WDU: this.writeChanges
33
33
  };
34
34
  static override nodeDefId = "I3KeypadFlags";
35
- static override implements = ["I3KeypadFlags"];
36
- declare readonly nodeDefId: "I3KeypadFlags";
35
+ static override implements = ['I3KeypadFlags'];
36
+ declare readonly nodeDefId: 'I3KeypadFlags';
37
37
  constructor (isy: ISY, nodeInfo: NodeInfo) {
38
38
  super(isy, nodeInfo);
39
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Mode", name: "mode" });
40
- this.drivers.GV1 = Driver.create("GV1", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Program Lock", name: "programLock" });
41
- this.drivers.GV2 = Driver.create("GV2", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Resume Dim", name: "resumeDim" });
42
- this.drivers.GV3 = Driver.create("GV3", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Relay at Full On", name: "relayAtFullOn" });
43
- this.drivers.GV4 = Driver.create("GV4", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Key Beep", name: "keyBeep" });
44
- this.drivers.GV5 = Driver.create("GV5", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Disable RF", name: "disableRf" });
45
- this.drivers.GV6 = Driver.create("GV6", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Button Lock", name: "buttonLock" });
46
- this.drivers.GV7 = Driver.create("GV7", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Error Blink", name: "errorBlink" });
47
- this.drivers.GV8 = Driver.create("GV8", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Cleanup Reports", name: "cleanupReports" });
48
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
39
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Boolean, label: "Mode", name: "mode" });
40
+ this.drivers.GV1 = Driver.create("GV1", this, nodeInfo.state['GV1'], { uom: UnitOfMeasure.Boolean, label: "Program Lock", name: "programLock" });
41
+ this.drivers.GV2 = Driver.create("GV2", this, nodeInfo.state['GV2'], { uom: UnitOfMeasure.Boolean, label: "Resume Dim", name: "resumeDim" });
42
+ this.drivers.GV3 = Driver.create("GV3", this, nodeInfo.state['GV3'], { uom: UnitOfMeasure.Boolean, label: "Relay at Full On", name: "relayAtFullOn" });
43
+ this.drivers.GV4 = Driver.create("GV4", this, nodeInfo.state['GV4'], { uom: UnitOfMeasure.Boolean, label: "Key Beep", name: "keyBeep" });
44
+ this.drivers.GV5 = Driver.create("GV5", this, nodeInfo.state['GV5'], { uom: UnitOfMeasure.Boolean, label: "Disable RF", name: "disableRf" });
45
+ this.drivers.GV6 = Driver.create("GV6", this, nodeInfo.state['GV6'], { uom: UnitOfMeasure.Boolean, label: "Button Lock", name: "buttonLock" });
46
+ this.drivers.GV7 = Driver.create("GV7", this, nodeInfo.state['GV7'], { uom: UnitOfMeasure.Boolean, label: "Error Blink", name: "errorBlink" });
47
+ this.drivers.GV8 = Driver.create("GV8", this, nodeInfo.state['GV8'], { uom: UnitOfMeasure.Boolean, label: "Cleanup Reports", name: "cleanupReports" });
48
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
49
49
  }
50
50
  async updateMode(value: Insteon.I3RelayDim) { return this.sendCommand("GV0", value); }
51
51
  async updateProgramLock(value: Insteon.I3OnOff) { return this.sendCommand("GV1", value); }
@@ -94,13 +94,12 @@ NodeFactory.register(I3KeypadFlagsNode);
94
94
 
95
95
  export namespace I3KeypadFlags {
96
96
  export interface Interface extends Omit<InstanceType<typeof I3KeypadFlagsNode>, keyof ISYDeviceNode<any, any, any, any>> {
97
- nodeDefId: "I3KeypadFlags";
98
97
  }
99
98
  export function is(node: ISYNode<any, any, any, any>): node is I3KeypadFlagsNode {
100
- return ["I3KeypadFlags"].includes(node.nodeDefId);
99
+ return ['I3KeypadFlags'].includes(node.nodeDefId);
101
100
  }
102
101
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is I3KeypadFlagsNode {
103
- return ["I3KeypadFlags"].includes(node.nodeDefId);
102
+ return ['I3KeypadFlags'].includes(node.nodeDefId);
104
103
  }
105
104
  export function create(isy: ISY, nodeInfo: NodeInfo) {
106
105
  return new I3KeypadFlagsNode(isy, nodeInfo);
@@ -17,7 +17,7 @@ const nodeDefId = "I3PaddleFlags";
17
17
  type Commands = I3PaddleFlags.Commands;
18
18
  type Drivers = I3PaddleFlags.Drivers;
19
19
 
20
- export class I3PaddleFlagsNode extends Base<Drivers, Commands> implements I3PaddleFlags.Interface {
20
+ class I3PaddleFlagsNode extends Base<Drivers, Commands> implements I3PaddleFlags.Interface {
21
21
  public override readonly commands = {
22
22
  GV0: this.updateMode,
23
23
  GV1: this.updateProgramLock,
@@ -30,18 +30,18 @@ export class I3PaddleFlagsNode extends Base<Drivers, Commands> implements I3Padd
30
30
  WDU: this.writeChanges
31
31
  };
32
32
  static override nodeDefId = "I3PaddleFlags";
33
- static override implements = ["I3PaddleFlags"];
34
- declare readonly nodeDefId: "I3PaddleFlags";
33
+ static override implements = ['I3PaddleFlags'];
34
+ declare readonly nodeDefId: 'I3PaddleFlags';
35
35
  constructor (isy: ISY, nodeInfo: NodeInfo) {
36
36
  super(isy, nodeInfo);
37
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Mode", name: "mode" });
38
- this.drivers.GV1 = Driver.create("GV1", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Program Lock", name: "programLock" });
39
- this.drivers.GV2 = Driver.create("GV2", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Resume Dim", name: "resumeDim" });
40
- this.drivers.GV4 = Driver.create("GV4", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Key Beep", name: "keyBeep" });
41
- this.drivers.GV5 = Driver.create("GV5", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Disable RF", name: "disableRf" });
42
- this.drivers.GV6 = Driver.create("GV6", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Button Lock", name: "buttonLock" });
43
- this.drivers.GV7 = Driver.create("GV7", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Error Blink", name: "errorBlink" });
44
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
37
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Boolean, label: "Mode", name: "mode" });
38
+ this.drivers.GV1 = Driver.create("GV1", this, nodeInfo.state['GV1'], { uom: UnitOfMeasure.Boolean, label: "Program Lock", name: "programLock" });
39
+ this.drivers.GV2 = Driver.create("GV2", this, nodeInfo.state['GV2'], { uom: UnitOfMeasure.Boolean, label: "Resume Dim", name: "resumeDim" });
40
+ this.drivers.GV4 = Driver.create("GV4", this, nodeInfo.state['GV4'], { uom: UnitOfMeasure.Boolean, label: "Key Beep", name: "keyBeep" });
41
+ this.drivers.GV5 = Driver.create("GV5", this, nodeInfo.state['GV5'], { uom: UnitOfMeasure.Boolean, label: "Disable RF", name: "disableRf" });
42
+ this.drivers.GV6 = Driver.create("GV6", this, nodeInfo.state['GV6'], { uom: UnitOfMeasure.Boolean, label: "Button Lock", name: "buttonLock" });
43
+ this.drivers.GV7 = Driver.create("GV7", this, nodeInfo.state['GV7'], { uom: UnitOfMeasure.Boolean, label: "Error Blink", name: "errorBlink" });
44
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
45
45
  }
46
46
  async updateMode(value: Insteon.I3RelayDim) { return this.sendCommand("GV0", value); }
47
47
  async updateProgramLock(value: Insteon.I3OnOff) { return this.sendCommand("GV1", value); }
@@ -82,13 +82,12 @@ NodeFactory.register(I3PaddleFlagsNode);
82
82
 
83
83
  export namespace I3PaddleFlags {
84
84
  export interface Interface extends Omit<InstanceType<typeof I3PaddleFlagsNode>, keyof ISYDeviceNode<any, any, any, any>> {
85
- nodeDefId: "I3PaddleFlags";
86
85
  }
87
86
  export function is(node: ISYNode<any, any, any, any>): node is I3PaddleFlagsNode {
88
- return ["I3PaddleFlags"].includes(node.nodeDefId);
87
+ return ['I3PaddleFlags'].includes(node.nodeDefId);
89
88
  }
90
89
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is I3PaddleFlagsNode {
91
- return ["I3PaddleFlags", "I3KeypadFlags"].includes(node.nodeDefId);
90
+ return ['I3PaddleFlags', "I3KeypadFlags"].includes(node.nodeDefId);
92
91
  }
93
92
  export function create(isy: ISY, nodeInfo: NodeInfo) {
94
93
  return new I3PaddleFlagsNode(isy, nodeInfo);
@@ -17,20 +17,20 @@ const nodeDefId = "IMETER_SOLO";
17
17
  type Commands = ImeterSolo.Commands;
18
18
  type Drivers = ImeterSolo.Drivers;
19
19
 
20
- export class ImeterSoloNode extends Base<Drivers, Commands> implements ImeterSolo.Interface {
20
+ class ImeterSoloNode extends Base<Drivers, Commands> implements ImeterSolo.Interface {
21
21
  public override readonly commands = {
22
22
  RESET: this.resetTotalEnergy,
23
23
  QUERY: this.query,
24
24
  WDU: this.writeChanges
25
25
  };
26
26
  static override nodeDefId = "IMETER_SOLO";
27
- static override implements = ["IMETER_SOLO"];
28
- declare readonly nodeDefId: "IMETER_SOLO";
27
+ static override implements = ['IMETER_SOLO'];
28
+ declare readonly nodeDefId: 'IMETER_SOLO';
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.Watt, label: "Current Power", name: "currentPower" });
32
- this.drivers.TPW = Driver.create("TPW", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
33
- 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.Watt, label: "Current Power", name: "currentPower" });
32
+ this.drivers.TPW = Driver.create("TPW", this, nodeInfo.state['TPW'], { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
33
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
34
34
  }
35
35
  async resetTotalEnergy() { return this.sendCommand("RESET"); }
36
36
  async query() { return this.sendCommand("QUERY"); }
@@ -50,13 +50,12 @@ NodeFactory.register(ImeterSoloNode);
50
50
 
51
51
  export namespace ImeterSolo {
52
52
  export interface Interface extends Omit<InstanceType<typeof ImeterSoloNode>, keyof ISYDeviceNode<any, any, any, any>> {
53
- nodeDefId: "IMETER_SOLO";
54
53
  }
55
54
  export function is(node: ISYNode<any, any, any, any>): node is ImeterSoloNode {
56
- return ["IMETER_SOLO"].includes(node.nodeDefId);
55
+ return ['IMETER_SOLO'].includes(node.nodeDefId);
57
56
  }
58
57
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ImeterSoloNode {
59
- return ["IMETER_SOLO"].includes(node.nodeDefId);
58
+ return ['IMETER_SOLO'].includes(node.nodeDefId);
60
59
  }
61
60
  export function create(isy: ISY, nodeInfo: NodeInfo) {
62
61
  return new ImeterSoloNode(isy, nodeInfo);
@@ -17,17 +17,17 @@ const nodeDefId = "IRLincTx";
17
17
  type Commands = IrLincTx.Commands;
18
18
  type Drivers = IrLincTx.Drivers;
19
19
 
20
- export class IrLincTxNode extends Base<Drivers, Commands> implements IrLincTx.Interface {
20
+ class IrLincTxNode extends Base<Drivers, Commands> implements IrLincTx.Interface {
21
21
  public override readonly commands = {
22
22
  BEEP: this.beep,
23
23
  WDU: this.writeChanges
24
24
  };
25
25
  static override nodeDefId = "IRLincTx";
26
- static override implements = ["IRLincTx", "SirenAlert", "SirenArm"];
27
- declare readonly nodeDefId: "IRLincTx";
26
+ static override implements = ['IRLincTx', "SirenAlert", "SirenArm"];
27
+ declare readonly nodeDefId: 'IRLincTx';
28
28
  constructor (isy: ISY, nodeInfo: NodeInfo) {
29
29
  super(isy, nodeInfo);
30
- this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
30
+ this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
31
31
  }
32
32
  async beep(value?: number) { return this.sendCommand("BEEP", value); }
33
33
  async writeChanges() { return this.sendCommand("WDU"); }
@@ -40,13 +40,12 @@ NodeFactory.register(IrLincTxNode);
40
40
 
41
41
  export namespace IrLincTx {
42
42
  export interface Interface extends Omit<InstanceType<typeof IrLincTxNode>, keyof ISYDeviceNode<any, any, any, any>> {
43
- nodeDefId: "IRLincTx";
44
43
  }
45
44
  export function is(node: ISYNode<any, any, any, any>): node is IrLincTxNode {
46
- return ["IRLincTx"].includes(node.nodeDefId);
45
+ return ['IRLincTx'].includes(node.nodeDefId);
47
46
  }
48
47
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is IrLincTxNode {
49
- return ["IRLincTx", "Thermostat", "TempLinc", "DimmerMotorSwitch", "DimmerMotorSwitch_ADV", "DimmerLampSwitch", "DimmerLampSwitch_ADV", "DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV", "DimmerLampOnly", "KeypadDimmer", "KeypadDimmer_ADV", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelaySwitchOnlyPlusQuery", "RelaySwitchOnlyPlusQuery_ADV", "RelaySwitchOnly", "RelaySwitchOnly_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV"].includes(node.nodeDefId);
48
+ return ['IRLincTx', "Thermostat", "TempLinc", "DimmerMotorSwitch", "DimmerMotorSwitch_ADV", "DimmerLampSwitch", "DimmerLampSwitch_ADV", "DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV", "DimmerLampOnly", "KeypadDimmer", "KeypadDimmer_ADV", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelaySwitchOnlyPlusQuery", "RelaySwitchOnlyPlusQuery_ADV", "RelaySwitchOnly", "RelaySwitchOnly_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV"].includes(node.nodeDefId);
50
49
  }
51
50
  export function create(isy: ISY, nodeInfo: NodeInfo) {
52
51
  return new IrLincTxNode(isy, nodeInfo);