isy-nodejs 1.0.2-alpha.3 → 1.0.2-alpha.6

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 (422) hide show
  1. package/dist/esm/CodeGeneration/CodeFactory.js +245 -0
  2. package/dist/esm/CodeGeneration/CodeFactory.js.map +1 -0
  3. package/dist/esm/CodeGeneration/NodeClassFactory.js +182 -129
  4. package/dist/esm/CodeGeneration/NodeClassFactory.js.map +1 -1
  5. package/dist/esm/CodeGeneration/NodeFactory.js +245 -0
  6. package/dist/esm/CodeGeneration/NodeFactory.js.map +1 -0
  7. package/dist/esm/Converters.js +15 -1
  8. package/dist/esm/Converters.js.map +1 -1
  9. package/dist/esm/Definitions/Global/Drivers.js.map +1 -1
  10. package/dist/esm/Definitions/Global/Events.js.map +1 -1
  11. package/dist/esm/Devices/ISYDevice.js +0 -33
  12. package/dist/esm/Devices/ISYDevice.js.map +1 -1
  13. package/dist/esm/Devices/ISYDeviceNode.js +2 -2
  14. package/dist/esm/Devices/ISYDeviceNode.js.map +1 -1
  15. package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js +49 -0
  16. package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js.map +1 -0
  17. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js +54 -0
  18. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js.map +1 -0
  19. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js +54 -0
  20. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js.map +1 -0
  21. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js +46 -0
  22. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js.map +1 -0
  23. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js +46 -0
  24. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js.map +1 -0
  25. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js +75 -0
  26. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js.map +1 -0
  27. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js +78 -0
  28. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js.map +1 -0
  29. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js +80 -0
  30. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js.map +1 -0
  31. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js +74 -0
  32. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js.map +1 -0
  33. package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js +40 -0
  34. package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js.map +1 -0
  35. package/dist/esm/Devices/Insteon/Generated/DoorLock.js +45 -0
  36. package/dist/esm/Devices/Insteon/Generated/DoorLock.js.map +1 -0
  37. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js +42 -0
  38. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js.map +1 -0
  39. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js +47 -0
  40. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js.map +1 -0
  41. package/dist/esm/Devices/Insteon/Generated/EzrainInput.js +42 -0
  42. package/dist/esm/Devices/Insteon/Generated/EzrainInput.js.map +1 -0
  43. package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js +49 -0
  44. package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js.map +1 -0
  45. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js +53 -0
  46. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js.map +1 -0
  47. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js +93 -0
  48. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js.map +1 -0
  49. package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js +81 -0
  50. package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js.map +1 -0
  51. package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js +49 -0
  52. package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js.map +1 -0
  53. package/dist/esm/Devices/Insteon/Generated/IrLincTx.js +39 -0
  54. package/dist/esm/Devices/Insteon/Generated/IrLincTx.js.map +1 -0
  55. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js +46 -0
  56. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js.map +1 -0
  57. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js +78 -0
  58. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js.map +1 -0
  59. package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js +56 -0
  60. package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js.map +1 -0
  61. package/dist/esm/Devices/Insteon/Generated/OnOffControl.js +39 -0
  62. package/dist/esm/Devices/Insteon/Generated/OnOffControl.js.map +1 -0
  63. package/dist/esm/Devices/Insteon/Generated/Pir2844.js +64 -0
  64. package/dist/esm/Devices/Insteon/Generated/Pir2844.js.map +1 -0
  65. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js +50 -0
  66. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js.map +1 -0
  67. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js +64 -0
  68. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js.map +1 -0
  69. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js +54 -0
  70. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js.map +1 -0
  71. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +56 -0
  72. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +1 -0
  73. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js +58 -0
  74. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js.map +1 -0
  75. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js +42 -0
  76. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js.map +1 -0
  77. package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js +44 -0
  78. package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js.map +1 -0
  79. package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js +42 -0
  80. package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js.map +1 -0
  81. package/dist/esm/Devices/Insteon/Generated/Siren.js +66 -0
  82. package/dist/esm/Devices/Insteon/Generated/Siren.js.map +1 -0
  83. package/dist/esm/Devices/Insteon/Generated/SirenAlert.js +35 -0
  84. package/dist/esm/Devices/Insteon/Generated/SirenAlert.js.map +1 -0
  85. package/dist/esm/Devices/Insteon/Generated/TempLinc.js +83 -0
  86. package/dist/esm/Devices/Insteon/Generated/TempLinc.js.map +1 -0
  87. package/dist/esm/Devices/Insteon/Generated/Thermostat.js +83 -0
  88. package/dist/esm/Devices/Insteon/Generated/Thermostat.js.map +1 -0
  89. package/dist/esm/Devices/Insteon/Generated/X10.js +49 -0
  90. package/dist/esm/Devices/Insteon/Generated/X10.js.map +1 -0
  91. package/dist/esm/Devices/Insteon/Generated/index.js +39 -0
  92. package/dist/esm/Devices/Insteon/Generated/index.js.map +1 -0
  93. package/dist/esm/Devices/Insteon/InsteonBaseDevice.js +3 -4
  94. package/dist/esm/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
  95. package/dist/esm/Devices/Insteon/InsteonFanDevice.js +2 -2
  96. package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -1
  97. package/dist/esm/Devices/Insteon/InsteonRelayDevice.js.map +1 -1
  98. package/dist/esm/Devices/Insteon/KeypadButton.js +11 -11
  99. package/dist/esm/Devices/Insteon/KeypadButton.js.map +1 -1
  100. package/dist/esm/Devices/Insteon/index.js +16 -29
  101. package/dist/esm/Devices/Insteon/index.js.map +1 -1
  102. package/dist/esm/Devices/Lutron/Generated/LoadShed.js +45 -0
  103. package/dist/esm/Devices/Lutron/Generated/LoadShed.js.map +1 -0
  104. package/dist/esm/Devices/NodeFactory.js +45 -8
  105. package/dist/esm/Devices/NodeFactory.js.map +1 -1
  106. package/dist/esm/Devices/Scene/index.js +2 -2
  107. package/dist/esm/Devices/Scene/index.js.map +1 -1
  108. package/dist/esm/Devices/UDI/Generated/Channel.js +42 -0
  109. package/dist/esm/Devices/UDI/Generated/Channel.js.map +1 -0
  110. package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js +54 -0
  111. package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js.map +1 -0
  112. package/dist/esm/Devices/UDI/Generated/Main.js +45 -0
  113. package/dist/esm/Devices/UDI/Generated/Main.js.map +1 -0
  114. package/dist/esm/Devices/UDI/Generated/PulseCounter.js +46 -0
  115. package/dist/esm/Devices/UDI/Generated/PulseCounter.js.map +1 -0
  116. package/dist/esm/Devices/UDI/Generated/Relay.js +45 -0
  117. package/dist/esm/Devices/UDI/Generated/Relay.js.map +1 -0
  118. package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js +38 -0
  119. package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js.map +1 -0
  120. package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js +57 -0
  121. package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js.map +1 -0
  122. package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js +65 -0
  123. package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js.map +1 -0
  124. package/dist/esm/Devices/ZWave/Generated/index.js +3 -0
  125. package/dist/esm/Devices/ZWave/Generated/index.js.map +1 -0
  126. package/dist/esm/Devices/ZWave/index.js +1 -0
  127. package/dist/esm/Devices/ZWave/index.js.map +1 -1
  128. package/dist/esm/Devices/index.js +9 -3
  129. package/dist/esm/Devices/index.js.map +1 -1
  130. package/dist/esm/ISY.js +14 -9
  131. package/dist/esm/ISY.js.map +1 -1
  132. package/dist/esm/ISYDevice.js +7 -1
  133. package/dist/esm/ISYDevice.js.map +1 -1
  134. package/dist/esm/ISYNode.js +13 -4
  135. package/dist/esm/ISYNode.js.map +1 -1
  136. package/dist/esm/ISYScene.js +13 -12
  137. package/dist/esm/ISYScene.js.map +1 -1
  138. package/dist/esm/Matter/Behaviors/BehaviorRegistry.js +13 -0
  139. package/dist/esm/Matter/Behaviors/BehaviorRegistry.js.map +1 -0
  140. package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js +3 -0
  141. package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js.map +1 -1
  142. package/dist/esm/Matter/Bridge/Server.js +65 -56
  143. package/dist/esm/Matter/Bridge/Server.js.map +1 -1
  144. package/dist/esm/Matter/Mappings/Insteon.js +28 -9
  145. package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
  146. package/dist/esm/Model/ClassDefinition.js +22 -3
  147. package/dist/esm/Model/ClassDefinition.js.map +1 -1
  148. package/dist/esm/Model/ClusterMap.js +45 -19
  149. package/dist/esm/Model/ClusterMap.js.map +1 -1
  150. package/dist/esm/Model/NodeInfo.js +1 -1
  151. package/dist/esm/Model/NodeInfo.js.map +1 -1
  152. package/dist/esm/Utils.js.map +1 -1
  153. package/dist/esm/types/CodeGeneration/CodeFactory.d.ts +75 -0
  154. package/dist/esm/types/CodeGeneration/CodeFactory.d.ts.map +1 -0
  155. package/dist/esm/types/CodeGeneration/EnumFactory.d.ts +1 -1
  156. package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts +22 -3
  157. package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
  158. package/dist/esm/types/CodeGeneration/NodeFactory.d.ts +75 -0
  159. package/dist/esm/types/CodeGeneration/NodeFactory.d.ts.map +1 -0
  160. package/dist/esm/types/Converters.d.ts +9 -3
  161. package/dist/esm/types/Converters.d.ts.map +1 -1
  162. package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
  163. package/dist/esm/types/Definitions/Global/Events.d.ts +2 -2
  164. package/dist/esm/types/Definitions/Global/Events.d.ts.map +1 -1
  165. package/dist/esm/types/Devices/DeviceMap.d.ts +1 -1
  166. package/dist/esm/types/Devices/DeviceMap.d.ts.map +1 -1
  167. package/dist/esm/types/Devices/EndpointFor.d.ts +7 -5
  168. package/dist/esm/types/Devices/EndpointFor.d.ts.map +1 -1
  169. package/dist/esm/types/Devices/ISYDevice.d.ts.map +1 -1
  170. package/dist/esm/types/Devices/ISYDeviceNode.d.ts +5 -13
  171. package/dist/esm/types/Devices/ISYDeviceNode.d.ts.map +1 -1
  172. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts +76 -0
  173. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -0
  174. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts +88 -0
  175. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -0
  176. package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts +88 -0
  177. package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -0
  178. package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts +64 -0
  179. package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -0
  180. package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts +64 -0
  181. package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -0
  182. package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts +144 -0
  183. package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -0
  184. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts +150 -0
  185. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -0
  186. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts +156 -0
  187. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -0
  188. package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts +138 -0
  189. package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -0
  190. package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts +51 -0
  191. package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -0
  192. package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts +64 -0
  193. package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -0
  194. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts +52 -0
  195. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -0
  196. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts +70 -0
  197. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -0
  198. package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts +52 -0
  199. package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -0
  200. package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts +76 -0
  201. package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -0
  202. package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts +88 -0
  203. package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -0
  204. package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts +168 -0
  205. package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -0
  206. package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts +142 -0
  207. package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -0
  208. package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts +71 -0
  209. package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -0
  210. package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts +51 -0
  211. package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -0
  212. package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts +64 -0
  213. package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -0
  214. package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts +150 -0
  215. package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -0
  216. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +94 -0
  217. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -0
  218. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +44 -0
  219. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -0
  220. package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts +98 -0
  221. package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -0
  222. package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts +76 -0
  223. package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -0
  224. package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts +98 -0
  225. package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -0
  226. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +88 -0
  227. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -0
  228. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +94 -0
  229. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -0
  230. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +100 -0
  231. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -0
  232. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts +57 -0
  233. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -0
  234. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts +63 -0
  235. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -0
  236. package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts +52 -0
  237. package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -0
  238. package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts +109 -0
  239. package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -0
  240. package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts +37 -0
  241. package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -0
  242. package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts +148 -0
  243. package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -0
  244. package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts +148 -0
  245. package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -0
  246. package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts +76 -0
  247. package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -0
  248. package/dist/esm/types/Devices/Insteon/Generated/index.d.ts +39 -0
  249. package/dist/esm/types/Devices/Insteon/Generated/index.d.ts.map +1 -0
  250. package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts +4 -10
  251. package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts.map +1 -1
  252. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +22 -28
  253. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts.map +1 -1
  254. package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts +3 -3
  255. package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
  256. package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts +1 -1
  257. package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts.map +1 -1
  258. package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
  259. package/dist/esm/types/Devices/Insteon/KeypadButton.d.ts +19 -19
  260. package/dist/esm/types/Devices/Insteon/KeypadButton.d.ts.map +1 -1
  261. package/dist/esm/types/Devices/Insteon/index.d.ts +6 -42
  262. package/dist/esm/types/Devices/Insteon/index.d.ts.map +1 -1
  263. package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts +64 -0
  264. package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -0
  265. package/dist/esm/types/Devices/NodeFactory.d.ts +18 -7
  266. package/dist/esm/types/Devices/NodeFactory.d.ts.map +1 -1
  267. package/dist/esm/types/Devices/Scene/index.d.ts +2 -1
  268. package/dist/esm/types/Devices/Scene/index.d.ts.map +1 -1
  269. package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts +51 -0
  270. package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -0
  271. package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts +72 -0
  272. package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -0
  273. package/dist/esm/types/Devices/UDI/Generated/Main.d.ts +59 -0
  274. package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -0
  275. package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts +58 -0
  276. package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -0
  277. package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts +64 -0
  278. package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -0
  279. package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts +44 -0
  280. package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -0
  281. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +90 -0
  282. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -0
  283. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +124 -0
  284. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -0
  285. package/dist/esm/types/Devices/ZWave/Generated/index.d.ts +3 -0
  286. package/dist/esm/types/Devices/ZWave/Generated/index.d.ts.map +1 -0
  287. package/dist/esm/types/Devices/ZWave/index.d.ts.map +1 -1
  288. package/dist/esm/types/Devices/index.d.ts +7 -21
  289. package/dist/esm/types/Devices/index.d.ts.map +1 -1
  290. package/dist/esm/types/ISY.d.ts.map +1 -1
  291. package/dist/esm/types/ISYDevice.d.ts +19 -28
  292. package/dist/esm/types/ISYDevice.d.ts.map +1 -1
  293. package/dist/esm/types/ISYNode.d.ts +25 -8
  294. package/dist/esm/types/ISYNode.d.ts.map +1 -1
  295. package/dist/esm/types/ISYScene.d.ts +5 -6
  296. package/dist/esm/types/ISYScene.d.ts.map +1 -1
  297. package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts +11 -0
  298. package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts.map +1 -0
  299. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +1 -4
  300. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
  301. package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts +5 -4
  302. package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
  303. package/dist/esm/types/Matter/Bridge/Server.d.ts +1 -1
  304. package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
  305. package/dist/esm/types/Model/ClassDefinition.d.ts +6 -2
  306. package/dist/esm/types/Model/ClassDefinition.d.ts.map +1 -1
  307. package/dist/esm/types/Model/ClusterMap.d.ts +12 -21
  308. package/dist/esm/types/Model/ClusterMap.d.ts.map +1 -1
  309. package/dist/esm/types/Model/EnumDefinition.d.ts +1 -1
  310. package/dist/esm/types/Utils.d.ts +18 -0
  311. package/dist/esm/types/Utils.d.ts.map +1 -1
  312. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  313. package/package.json +2 -2
  314. package/src/CodeGeneration/CodeFactory.ts +341 -0
  315. package/src/CodeGeneration/NodeClassFactory.ts +362 -233
  316. package/src/Converters.ts +23 -3
  317. package/src/Definitions/Global/Drivers.ts +1 -0
  318. package/src/Definitions/Global/Events.ts +3 -3
  319. package/src/Devices/Brultech/Generated/Channel.ts +8 -6
  320. package/src/Devices/Brultech/Generated/Main.ts +9 -9
  321. package/src/Devices/DeviceMap.ts +1 -1
  322. package/src/Devices/ISYDevice.ts +8 -57
  323. package/src/Devices/ISYDeviceNode.ts +143 -166
  324. package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +13 -21
  325. package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +18 -29
  326. package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +18 -29
  327. package/src/Devices/Insteon/Generated/BinaryAlarm.ts +14 -17
  328. package/src/Devices/Insteon/Generated/BinaryControl.ts +14 -17
  329. package/src/Devices/Insteon/Generated/DimmerLamp.ts +25 -51
  330. package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +36 -64
  331. package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +31 -60
  332. package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +24 -47
  333. package/src/Devices/Insteon/Generated/DimmerSwitch.ts +13 -14
  334. package/src/Devices/Insteon/Generated/DoorLock.ts +11 -15
  335. package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +12 -11
  336. package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +12 -18
  337. package/src/Devices/Insteon/Generated/EzrainInput.ts +12 -11
  338. package/src/Devices/Insteon/Generated/EzrainOutput.ts +13 -21
  339. package/src/Devices/Insteon/Generated/FanLincMotor.ts +15 -27
  340. package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +19 -39
  341. package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +17 -33
  342. package/src/Devices/Insteon/Generated/ImeterSolo.ts +11 -15
  343. package/src/Devices/Insteon/Generated/IrLincTx.ts +10 -12
  344. package/src/Devices/Insteon/Generated/{KeypadButtonAdv.ts → KeypadButton.ts} +23 -26
  345. package/src/Devices/Insteon/Generated/KeypadDimmer.ts +30 -57
  346. package/src/Devices/Insteon/Generated/KeypadRelay.ts +30 -43
  347. package/src/Devices/Insteon/Generated/OnOffControl.ts +15 -12
  348. package/src/Devices/Insteon/Generated/Pir2844.ts +15 -20
  349. package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +16 -23
  350. package/src/Devices/Insteon/Generated/Pir2844c.ts +15 -20
  351. package/src/Devices/Insteon/Generated/RelayLamp.ts +29 -41
  352. package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +29 -42
  353. package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +24 -39
  354. package/src/Devices/Insteon/Generated/RelaySwitch.ts +14 -17
  355. package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +15 -20
  356. package/src/Devices/Insteon/Generated/RemoteLinc2.ts +12 -11
  357. package/src/Devices/Insteon/Generated/Siren.ts +18 -29
  358. package/src/Devices/Insteon/Generated/SirenAlert.ts +11 -8
  359. package/src/Devices/Insteon/Generated/TempLinc.ts +18 -36
  360. package/src/Devices/Insteon/Generated/Thermostat.ts +18 -36
  361. package/src/Devices/Insteon/Generated/X10.ts +13 -21
  362. package/src/Devices/Insteon/Generated/index.ts +38 -0
  363. package/src/Devices/Insteon/InsteonBaseDevice.ts +5 -4
  364. package/src/Devices/Insteon/InsteonFanDevice.ts +3 -4
  365. package/src/Devices/Insteon/InsteonRelayDevice.ts +1 -0
  366. package/src/Devices/Insteon/KeypadButton.ts +31 -31
  367. package/src/Devices/Insteon/index.ts +18 -26
  368. package/src/Devices/Lutron/Generated/LoadShed.ts +11 -15
  369. package/src/Devices/NCD/Generated/Relay.ts +12 -18
  370. package/src/Devices/NodeFactory.ts +67 -13
  371. package/src/Devices/Poly/Generated/MatterBridge.ts +84 -0
  372. package/src/Devices/Scene/Generated/Scene.ts +33 -65
  373. package/src/Devices/Scene/index.ts +2 -1
  374. package/src/Devices/UDI/Generated/Channel.ts +8 -6
  375. package/src/Devices/UDI/Generated/Em3MainChannel.ts +8 -6
  376. package/src/Devices/UDI/Generated/Main.ts +9 -9
  377. package/src/Devices/UDI/Generated/PulseCounter.ts +8 -6
  378. package/src/Devices/UDI/Generated/Relay.ts +11 -15
  379. package/src/Devices/UDI/Generated/TemperatureSensor.ts +8 -6
  380. package/src/Devices/ZWave/Generated/ColorSwitch.ts +16 -24
  381. package/src/Devices/ZWave/Generated/DimmerSwitch.ts +25 -49
  382. package/src/Devices/ZWave/Generated/index.ts +2 -0
  383. package/src/Devices/ZWave/index.ts +5 -1
  384. package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +12 -18
  385. package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +17 -33
  386. package/src/Devices/index.ts +17 -12
  387. package/src/ISY.ts +9 -3
  388. package/src/ISYDevice.ts +68 -57
  389. package/src/ISYNode.ts +32 -8
  390. package/src/ISYScene.ts +31 -28
  391. package/src/Matter/Behaviors/BehaviorRegistry.ts +26 -0
  392. package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +6 -0
  393. package/src/Matter/Bridge/Server.ts +39 -15
  394. package/src/Matter/Mappings/Insteon.ts +37 -20
  395. package/src/Model/ClassDefinition.ts +34 -4
  396. package/src/Model/ClusterMap.ts +73 -57
  397. package/src/Model/NodeInfo.ts +1 -1
  398. package/src/Utils.ts +38 -0
  399. package/tsconfig.json +7 -1
  400. package/src/Devices/Insteon/Generated/AlertModuleSirenAdv.ts +0 -123
  401. package/src/Devices/Insteon/Generated/BallastRelayLampSwitchAdv.ts +0 -123
  402. package/src/Devices/Insteon/Generated/BinaryAlarmAdv.ts +0 -91
  403. package/src/Devices/Insteon/Generated/BinaryControlAdv.ts +0 -91
  404. package/src/Devices/Insteon/Generated/DimmerLampSwitchAdv.ts +0 -207
  405. package/src/Devices/Insteon/Generated/DimmerLampSwitchLedAdv.ts +0 -215
  406. package/src/Devices/Insteon/Generated/DimmerMotorSwitchAdv.ts +0 -191
  407. package/src/Devices/Insteon/Generated/DimmerSwitchOnlyAdv.ts +0 -73
  408. package/src/Devices/Insteon/Generated/Ezio2x4InputAdv.ts +0 -75
  409. package/src/Devices/Insteon/Generated/EzrainInputAdv.ts +0 -75
  410. package/src/Devices/Insteon/Generated/KeypadDimmerAdv.ts +0 -207
  411. package/src/Devices/Insteon/Generated/KeypadRelayAdv.ts +0 -131
  412. package/src/Devices/Insteon/Generated/OnOffControlAdv.ts +0 -65
  413. package/src/Devices/Insteon/Generated/Pir2844Adv.ts +0 -139
  414. package/src/Devices/Insteon/Generated/Pir2844OnOffAdv.ts +0 -107
  415. package/src/Devices/Insteon/Generated/Pir2844cAdv.ts +0 -139
  416. package/src/Devices/Insteon/Generated/RelayLampOnlyAdv.ts +0 -123
  417. package/src/Devices/Insteon/Generated/RelayLampSwitchAdv.ts +0 -131
  418. package/src/Devices/Insteon/Generated/RelayLampSwitchLedAdv.ts +0 -139
  419. package/src/Devices/Insteon/Generated/RelaySwitchOnlyAdv.ts +0 -81
  420. package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQueryAdv.ts +0 -89
  421. package/src/Devices/Insteon/Generated/RemoteLinc2Adv.ts +0 -75
  422. package/src/Devices/Insteon/Generated/SirenArm.ts +0 -55
@@ -3,7 +3,7 @@
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";
6
- import type { ISY } from "../../../ISY.js";
6
+ import { ISY } from "../../../ISY.js";
7
7
  import type { ISYNode } from "../../../ISYNode.js";
8
8
  import { Base } from "../index.js";
9
9
  import { ISYDeviceNode } from "../../ISYDeviceNode.js";
@@ -12,41 +12,32 @@ import { Insteon } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
14
 
15
- export const nodeDefId = "AlertModuleArmed";
15
+ const nodeDefId = "AlertModuleArmed";
16
16
 
17
17
  type Commands = AlertModuleArmed.Commands;
18
18
  type Drivers = AlertModuleArmed.Drivers;
19
19
 
20
20
  export class AlertModuleArmedNode extends Base<Drivers, Commands> implements AlertModuleArmed.Interface {
21
- public readonly commands = {
21
+ public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
24
24
  QUERY: this.query,
25
25
  BEEP: this.beep,
26
26
  WDU: this.writeChanges
27
27
  };
28
- static nodeDefId = "AlertModuleArmed";
28
+ static override nodeDefId = "AlertModuleArmed";
29
+ static override implements = ["AlertModuleArmed", "SirenAlert", "SirenArm"];
29
30
  declare readonly nodeDefId: "AlertModuleArmed";
30
31
  constructor (isy: ISY, nodeInfo: NodeInfo) {
31
32
  super(isy, nodeInfo);
32
33
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
33
34
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
34
35
  }
35
- async on() {
36
- return this.sendCommand("DON");
37
- }
38
- async off() {
39
- return this.sendCommand("DOF");
40
- }
41
- async query() {
42
- return this.sendCommand("QUERY");
43
- }
44
- async beep(value?: number) {
45
- return this.sendCommand("BEEP", { value: value });
46
- }
47
- async writeChanges() {
48
- return this.sendCommand("WDU");
49
- }
36
+ async on() { return this.sendCommand("DON"); }
37
+ async off() { return this.sendCommand("DOF"); }
38
+ async query() { return this.sendCommand("QUERY"); }
39
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
40
+ async writeChanges() { return this.sendCommand("WDU"); }
50
41
  public get status(): Insteon.OnLevelRelay {
51
42
  return this.drivers.ST?.value;
52
43
  }
@@ -61,8 +52,9 @@ export namespace AlertModuleArmed {
61
52
  export interface Interface extends Omit<InstanceType<typeof AlertModuleArmedNode>, keyof ISYDeviceNode<any, any, any, any>> {
62
53
  nodeDefId: "AlertModuleArmed";
63
54
  }
64
- export function is(node: ISYNode<any, any, any, any>): node is AlertModuleArmedNode {
65
- return node.nodeDefId === nodeDefId;
55
+ export function is(node: ISYNode<any, any, any, any>): node is AlertModuleArmedNode { return ["AlertModuleArmed"].includes(node.nodeDefId); }
56
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is AlertModuleArmedNode {
57
+ return ["AlertModuleArmed", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor", "EZRAIN_Output", "AlertModuleSiren", "AlertModuleSiren_ADV"].includes(node.nodeDefId);
66
58
  }
67
59
  export function create(isy: ISY, nodeInfo: NodeInfo) {
68
60
  return new AlertModuleArmedNode(isy, nodeInfo);
@@ -3,7 +3,7 @@
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";
6
- import type { ISY } from "../../../ISY.js";
6
+ import { ISY } from "../../../ISY.js";
7
7
  import type { ISYNode } from "../../../ISYNode.js";
8
8
  import { Base } from "../index.js";
9
9
  import { ISYDeviceNode } from "../../ISYDeviceNode.js";
@@ -12,13 +12,13 @@ import { Insteon } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
14
 
15
- export const nodeDefId = "AlertModuleSiren";
15
+ const nodeDefId = "AlertModuleSiren";
16
16
 
17
17
  type Commands = AlertModuleSiren.Commands;
18
18
  type Drivers = AlertModuleSiren.Drivers;
19
19
 
20
20
  export class AlertModuleSirenNode extends Base<Drivers, Commands> implements AlertModuleSiren.Interface {
21
- public readonly commands = {
21
+ public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
24
24
  DFOF: this.fastOff,
@@ -27,34 +27,21 @@ export class AlertModuleSirenNode extends Base<Drivers, Commands> implements Ale
27
27
  BEEP: this.beep,
28
28
  WDU: this.writeChanges
29
29
  };
30
- static nodeDefId = "AlertModuleSiren";
31
- declare readonly nodeDefId: "AlertModuleSiren";
30
+ static override nodeDefId = "AlertModuleSiren";
31
+ static override implements = ["AlertModuleSiren", "AlertModuleArmed", "SirenAlert", "SirenArm"];
32
+ declare readonly nodeDefId: "AlertModuleSiren" | "AlertModuleSiren_ADV";
32
33
  constructor (isy: ISY, nodeInfo: NodeInfo) {
33
34
  super(isy, nodeInfo);
34
35
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
35
36
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
36
37
  }
37
- async on(onLevel?: number) {
38
- return this.sendCommand("DON", { OL: onLevel });
39
- }
40
- async off() {
41
- return this.sendCommand("DOF");
42
- }
43
- async fastOff() {
44
- return this.sendCommand("DFOF");
45
- }
46
- async fastOn() {
47
- return this.sendCommand("DFON");
48
- }
49
- async query() {
50
- return this.sendCommand("QUERY");
51
- }
52
- async beep(value?: number) {
53
- return this.sendCommand("BEEP", { value: value });
54
- }
55
- async writeChanges() {
56
- return this.sendCommand("WDU");
57
- }
38
+ async on(onLevel?: number) { return this.sendCommand("DON", { OL: onLevel }); }
39
+ async off() { return this.sendCommand("DOF"); }
40
+ async fastOff() { return this.sendCommand("DFOF"); }
41
+ async fastOn() { return this.sendCommand("DFON"); }
42
+ async query() { return this.sendCommand("QUERY"); }
43
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
44
+ async writeChanges() { return this.sendCommand("WDU"); }
58
45
  public get status(): Insteon.OnLevelRelay {
59
46
  return this.drivers.ST?.value;
60
47
  }
@@ -64,13 +51,15 @@ export class AlertModuleSirenNode extends Base<Drivers, Commands> implements Ale
64
51
  }
65
52
 
66
53
  NodeFactory.register(AlertModuleSirenNode);
54
+ NodeFactory.register(AlertModuleSirenNode, "AlertModuleSiren_ADV");
67
55
 
68
56
  export namespace AlertModuleSiren {
69
57
  export interface Interface extends Omit<InstanceType<typeof AlertModuleSirenNode>, keyof ISYDeviceNode<any, any, any, any>> {
70
- nodeDefId: "AlertModuleSiren";
58
+ nodeDefId: "AlertModuleSiren" | "AlertModuleSiren_ADV";
71
59
  }
72
- export function is(node: ISYNode<any, any, any, any>): node is AlertModuleSirenNode {
73
- return node.nodeDefId === nodeDefId;
60
+ export function is(node: ISYNode<any, any, any, any>): node is AlertModuleSirenNode { return ["AlertModuleSiren", "AlertModuleSiren_ADV"].includes(node.nodeDefId); }
61
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is AlertModuleSirenNode {
62
+ return ["AlertModuleSiren", "AlertModuleSiren_ADV"].includes(node.nodeDefId);
74
63
  }
75
64
  export function create(isy: ISY, nodeInfo: NodeInfo) {
76
65
  return new AlertModuleSirenNode(isy, nodeInfo);
@@ -3,7 +3,7 @@
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";
6
- import type { ISY } from "../../../ISY.js";
6
+ import { ISY } from "../../../ISY.js";
7
7
  import type { ISYNode } from "../../../ISYNode.js";
8
8
  import { Base } from "../index.js";
9
9
  import { ISYDeviceNode } from "../../ISYDeviceNode.js";
@@ -12,13 +12,13 @@ import { Insteon } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
14
 
15
- export const nodeDefId = "BallastRelayLampSwitch";
15
+ const nodeDefId = "BallastRelayLampSwitch";
16
16
 
17
17
  type Commands = BallastRelayLampSwitch.Commands;
18
18
  type Drivers = BallastRelayLampSwitch.Drivers;
19
19
 
20
20
  export class BallastRelayLampSwitchNode extends Base<Drivers, Commands> implements BallastRelayLampSwitch.Interface {
21
- public readonly commands = {
21
+ public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
24
24
  DFOF: this.fastOff,
@@ -27,34 +27,21 @@ export class BallastRelayLampSwitchNode extends Base<Drivers, Commands> implemen
27
27
  BEEP: this.beep,
28
28
  WDU: this.writeChanges
29
29
  };
30
- static nodeDefId = "BallastRelayLampSwitch";
31
- declare readonly nodeDefId: "BallastRelayLampSwitch";
30
+ static override nodeDefId = "BallastRelayLampSwitch";
31
+ static override implements = ["BallastRelayLampSwitch", "RelayLampOnly", "RelayLampOnly_ADV", "IRLincTx", "EZRAIN_Output", "EZIO2x4_Output", "EZIO2x4_Input", "EZIO2x4_Input_ADV", "BinaryAlarm", "BinaryAlarm_ADV", "BinaryControl", "BinaryControl_ADV", "AlertModuleArmed", "SirenAlert", "SirenArm"];
32
+ declare readonly nodeDefId: "BallastRelayLampSwitch" | "BallastRelayLampSwitch_ADV";
32
33
  constructor (isy: ISY, nodeInfo: NodeInfo) {
33
34
  super(isy, nodeInfo);
34
35
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
35
36
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
36
37
  }
37
- async on(value?: (0 | 100)) {
38
- return this.sendCommand("DON", { value: value });
39
- }
40
- async off() {
41
- return this.sendCommand("DOF");
42
- }
43
- async fastOff() {
44
- return this.sendCommand("DFOF");
45
- }
46
- async fastOn() {
47
- return this.sendCommand("DFON");
48
- }
49
- async query() {
50
- return this.sendCommand("QUERY");
51
- }
52
- async beep(value?: number) {
53
- return this.sendCommand("BEEP", { value: value });
54
- }
55
- async writeChanges() {
56
- return this.sendCommand("WDU");
57
- }
38
+ async on(value?: (0 | 100)) { return this.sendCommand("DON", value); }
39
+ async off() { return this.sendCommand("DOF"); }
40
+ async fastOff() { return this.sendCommand("DFOF"); }
41
+ async fastOn() { return this.sendCommand("DFON"); }
42
+ async query() { return this.sendCommand("QUERY"); }
43
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
44
+ async writeChanges() { return this.sendCommand("WDU"); }
58
45
  public get status(): Insteon.Sml {
59
46
  return this.drivers.ST?.value;
60
47
  }
@@ -64,13 +51,15 @@ export class BallastRelayLampSwitchNode extends Base<Drivers, Commands> implemen
64
51
  }
65
52
 
66
53
  NodeFactory.register(BallastRelayLampSwitchNode);
54
+ NodeFactory.register(BallastRelayLampSwitchNode, "BallastRelayLampSwitch_ADV");
67
55
 
68
56
  export namespace BallastRelayLampSwitch {
69
57
  export interface Interface extends Omit<InstanceType<typeof BallastRelayLampSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
70
- nodeDefId: "BallastRelayLampSwitch";
58
+ nodeDefId: "BallastRelayLampSwitch" | "BallastRelayLampSwitch_ADV";
71
59
  }
72
- export function is(node: ISYNode<any, any, any, any>): node is BallastRelayLampSwitchNode {
73
- return node.nodeDefId === nodeDefId;
60
+ export function is(node: ISYNode<any, any, any, any>): node is BallastRelayLampSwitchNode { return ["BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV"].includes(node.nodeDefId); }
61
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is BallastRelayLampSwitchNode {
62
+ return ["BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV"].includes(node.nodeDefId);
74
63
  }
75
64
  export function create(isy: ISY, nodeInfo: NodeInfo) {
76
65
  return new BallastRelayLampSwitchNode(isy, nodeInfo);
@@ -3,7 +3,7 @@
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";
6
- import type { ISY } from "../../../ISY.js";
6
+ import { ISY } from "../../../ISY.js";
7
7
  import type { ISYNode } from "../../../ISYNode.js";
8
8
  import { Base } from "../index.js";
9
9
  import { ISYDeviceNode } from "../../ISYDeviceNode.js";
@@ -12,33 +12,28 @@ import { Insteon } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
14
 
15
- export const nodeDefId = "BinaryAlarm";
15
+ const nodeDefId = "BinaryAlarm";
16
16
 
17
17
  type Commands = BinaryAlarm.Commands;
18
18
  type Drivers = BinaryAlarm.Drivers;
19
19
 
20
20
  export class BinaryAlarmNode extends Base<Drivers, Commands> implements BinaryAlarm.Interface {
21
- public readonly commands = {
21
+ public override readonly commands = {
22
22
  QUERY: this.query,
23
23
  BEEP: this.beep,
24
24
  WDU: this.writeChanges
25
25
  };
26
- static nodeDefId = "BinaryAlarm";
27
- declare readonly nodeDefId: "BinaryAlarm";
26
+ static override nodeDefId = "BinaryAlarm";
27
+ static override implements = ["BinaryAlarm", "BinaryControl", "BinaryControl_ADV", "SirenAlert", "SirenArm"];
28
+ declare readonly nodeDefId: "BinaryAlarm" | "BinaryAlarm_ADV";
28
29
  constructor (isy: ISY, nodeInfo: NodeInfo) {
29
30
  super(isy, nodeInfo);
30
31
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
31
32
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
32
33
  }
33
- async query() {
34
- return this.sendCommand("QUERY");
35
- }
36
- async beep(value?: number) {
37
- return this.sendCommand("BEEP", { value: value });
38
- }
39
- async writeChanges() {
40
- return this.sendCommand("WDU");
41
- }
34
+ async query() { return this.sendCommand("QUERY"); }
35
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
36
+ async writeChanges() { return this.sendCommand("WDU"); }
42
37
  public get status(): Insteon.OnLevelRelay {
43
38
  return this.drivers.ST?.value;
44
39
  }
@@ -48,13 +43,15 @@ export class BinaryAlarmNode extends Base<Drivers, Commands> implements BinaryAl
48
43
  }
49
44
 
50
45
  NodeFactory.register(BinaryAlarmNode);
46
+ NodeFactory.register(BinaryAlarmNode, "BinaryAlarm_ADV");
51
47
 
52
48
  export namespace BinaryAlarm {
53
49
  export interface Interface extends Omit<InstanceType<typeof BinaryAlarmNode>, keyof ISYDeviceNode<any, any, any, any>> {
54
- nodeDefId: "BinaryAlarm";
50
+ nodeDefId: "BinaryAlarm" | "BinaryAlarm_ADV";
55
51
  }
56
- export function is(node: ISYNode<any, any, any, any>): node is BinaryAlarmNode {
57
- return node.nodeDefId === nodeDefId;
52
+ export function is(node: ISYNode<any, any, any, any>): node is BinaryAlarmNode { return ["BinaryAlarm", "BinaryAlarm_ADV"].includes(node.nodeDefId); }
53
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is BinaryAlarmNode {
54
+ return ["BinaryAlarm", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "BinaryAlarm_ADV"].includes(node.nodeDefId);
58
55
  }
59
56
  export function create(isy: ISY, nodeInfo: NodeInfo) {
60
57
  return new BinaryAlarmNode(isy, nodeInfo);
@@ -3,7 +3,7 @@
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";
6
- import type { ISY } from "../../../ISY.js";
6
+ import { ISY } from "../../../ISY.js";
7
7
  import type { ISYNode } from "../../../ISYNode.js";
8
8
  import { Base } from "../index.js";
9
9
  import { ISYDeviceNode } from "../../ISYDeviceNode.js";
@@ -12,33 +12,28 @@ import { Insteon } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
14
 
15
- export const nodeDefId = "BinaryControl";
15
+ const nodeDefId = "BinaryControl";
16
16
 
17
17
  type Commands = BinaryControl.Commands;
18
18
  type Drivers = BinaryControl.Drivers;
19
19
 
20
20
  export class BinaryControlNode extends Base<Drivers, Commands> implements BinaryControl.Interface {
21
- public readonly commands = {
21
+ public override readonly commands = {
22
22
  QUERY: this.query,
23
23
  BEEP: this.beep,
24
24
  WDU: this.writeChanges
25
25
  };
26
- static nodeDefId = "BinaryControl";
27
- declare readonly nodeDefId: "BinaryControl";
26
+ static override nodeDefId = "BinaryControl";
27
+ static override implements = ["BinaryControl", "SirenAlert", "SirenArm"];
28
+ declare readonly nodeDefId: "BinaryControl" | "BinaryControl_ADV";
28
29
  constructor (isy: ISY, nodeInfo: NodeInfo) {
29
30
  super(isy, nodeInfo);
30
31
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
31
32
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
32
33
  }
33
- async query() {
34
- return this.sendCommand("QUERY");
35
- }
36
- async beep(value?: number) {
37
- return this.sendCommand("BEEP", { value: value });
38
- }
39
- async writeChanges() {
40
- return this.sendCommand("WDU");
41
- }
34
+ async query() { return this.sendCommand("QUERY"); }
35
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
36
+ async writeChanges() { return this.sendCommand("WDU"); }
42
37
  public get status(): Insteon.OnLevelRelay {
43
38
  return this.drivers.ST?.value;
44
39
  }
@@ -48,13 +43,15 @@ export class BinaryControlNode extends Base<Drivers, Commands> implements Binary
48
43
  }
49
44
 
50
45
  NodeFactory.register(BinaryControlNode);
46
+ NodeFactory.register(BinaryControlNode, "BinaryControl_ADV");
51
47
 
52
48
  export namespace BinaryControl {
53
49
  export interface Interface extends Omit<InstanceType<typeof BinaryControlNode>, keyof ISYDeviceNode<any, any, any, any>> {
54
- nodeDefId: "BinaryControl";
50
+ nodeDefId: "BinaryControl" | "BinaryControl_ADV";
55
51
  }
56
- export function is(node: ISYNode<any, any, any, any>): node is BinaryControlNode {
57
- return node.nodeDefId === nodeDefId;
52
+ export function is(node: ISYNode<any, any, any, any>): node is BinaryControlNode { return ["BinaryControl", "BinaryControl_ADV"].includes(node.nodeDefId); }
53
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is BinaryControlNode {
54
+ return ["BinaryControl", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "BinaryAlarm", "BinaryAlarm_ADV", "BinaryControl_ADV"].includes(node.nodeDefId);
58
55
  }
59
56
  export function create(isy: ISY, nodeInfo: NodeInfo) {
60
57
  return new BinaryControlNode(isy, nodeInfo);
@@ -3,7 +3,7 @@
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";
6
- import type { ISY } from "../../../ISY.js";
6
+ import { ISY } from "../../../ISY.js";
7
7
  import type { ISYNode } from "../../../ISYNode.js";
8
8
  import { Base } from "../index.js";
9
9
  import { ISYDeviceNode } from "../../ISYDeviceNode.js";
@@ -12,13 +12,13 @@ import { Insteon } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
14
 
15
- export const nodeDefId = "DimmerLampOnly";
15
+ const nodeDefId = "DimmerLampOnly";
16
16
 
17
17
  type Commands = DimmerLamp.Commands;
18
18
  type Drivers = DimmerLamp.Drivers;
19
19
 
20
20
  export class DimmerLampNode extends Base<Drivers, Commands> implements DimmerLamp.Interface {
21
- public readonly commands = {
21
+ public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
24
24
  DFOF: this.fastOff,
@@ -34,7 +34,8 @@ export class DimmerLampNode extends Base<Drivers, Commands> implements DimmerLam
34
34
  RR: this.updateRampRate,
35
35
  WDU: this.writeChanges
36
36
  };
37
- static nodeDefId = "DimmerLampOnly";
37
+ static override nodeDefId = "DimmerLampOnly";
38
+ static override implements = ["DimmerLampOnly", "IRLincTx", "SirenAlert", "SirenArm"];
38
39
  declare readonly nodeDefId: "DimmerLampOnly";
39
40
  constructor (isy: ISY, nodeInfo: NodeInfo) {
40
41
  super(isy, nodeInfo);
@@ -43,55 +44,27 @@ export class DimmerLampNode extends Base<Drivers, Commands> implements DimmerLam
43
44
  this.drivers.RR = Driver.create("RR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Ramp Rate", name: "rampRate" });
44
45
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
45
46
  }
46
- async on(value?: number) {
47
- return this.sendCommand("DON", { value: value });
48
- }
49
- async off() {
50
- return this.sendCommand("DOF");
51
- }
52
- async fastOff() {
53
- return this.sendCommand("DFOF");
54
- }
55
- async fastOn() {
56
- return this.sendCommand("DFON");
57
- }
58
- async brighten() {
59
- return this.sendCommand("BRT");
60
- }
61
- async dim() {
62
- return this.sendCommand("DIM");
63
- }
64
- async fadeUp() {
65
- return this.sendCommand("FDUP");
66
- }
67
- async fadeDown() {
68
- return this.sendCommand("FDDOWN");
69
- }
70
- async fadeStop() {
71
- return this.sendCommand("FDSTOP");
72
- }
73
- async query() {
74
- return this.sendCommand("QUERY");
75
- }
76
- async beep(value?: number) {
77
- return this.sendCommand("BEEP", { value: value });
78
- }
79
- async updateOnLevel(value: number) {
80
- return this.sendCommand("OL", { value: value });
81
- }
82
- async updateRampRate(value: number) {
83
- return this.sendCommand("RR", { value: value });
84
- }
85
- async writeChanges() {
86
- return this.sendCommand("WDU");
87
- }
47
+ async on(value?: number) { return this.sendCommand("DON", value); }
48
+ async off() { return this.sendCommand("DOF"); }
49
+ async fastOff() { return this.sendCommand("DFOF"); }
50
+ async fastOn() { return this.sendCommand("DFON"); }
51
+ async brighten() { return this.sendCommand("BRT"); }
52
+ async dim() { return this.sendCommand("DIM"); }
53
+ async fadeUp() { return this.sendCommand("FDUP"); }
54
+ async fadeDown() { return this.sendCommand("FDDOWN"); }
55
+ async fadeStop() { return this.sendCommand("FDSTOP"); }
56
+ async query() { return this.sendCommand("QUERY"); }
57
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
58
+ async updateOnLevel(value: number) { return this.sendCommand("OL", value); }
59
+ async updateRampRate(value: Insteon.RampRate) { return this.sendCommand("RR", value); }
60
+ async writeChanges() { return this.sendCommand("WDU"); }
88
61
  public get status(): number {
89
62
  return this.drivers.ST?.value;
90
63
  }
91
64
  public get onLevel(): number {
92
65
  return this.drivers.OL?.value;
93
66
  }
94
- public get rampRate(): number {
67
+ public get rampRate(): Insteon.RampRate {
95
68
  return this.drivers.RR?.value;
96
69
  }
97
70
  public get responding(): Insteon.Error {
@@ -105,8 +78,9 @@ export namespace DimmerLamp {
105
78
  export interface Interface extends Omit<InstanceType<typeof DimmerLampNode>, keyof ISYDeviceNode<any, any, any, any>> {
106
79
  nodeDefId: "DimmerLampOnly";
107
80
  }
108
- export function is(node: ISYNode<any, any, any, any>): node is DimmerLampNode {
109
- return node.nodeDefId === nodeDefId;
81
+ export function is(node: ISYNode<any, any, any, any>): node is DimmerLampNode { return ["DimmerLampOnly"].includes(node.nodeDefId); }
82
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerLampNode {
83
+ return ["DimmerLampOnly", "DimmerLampSwitch", "DimmerLampSwitch_ADV", "DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV"].includes(node.nodeDefId);
110
84
  }
111
85
  export function create(isy: ISY, nodeInfo: NodeInfo) {
112
86
  return new DimmerLampNode(isy, nodeInfo);
@@ -161,7 +135,7 @@ export namespace DimmerLamp {
161
135
  label: "On Level";
162
136
  name: "updateOnLevel";
163
137
  };
164
- RR: ((value: number) => Promise<boolean>) & {
138
+ RR: ((value: Insteon.RampRate) => Promise<boolean>) & {
165
139
  label: "Ramp Rate";
166
140
  name: "updateRampRate";
167
141
  };
@@ -185,7 +159,7 @@ export namespace DimmerLamp {
185
159
  };
186
160
  RR: {
187
161
  uom: UnitOfMeasure.Index;
188
- value: number;
162
+ value: Insteon.RampRate;
189
163
  label: "Ramp Rate";
190
164
  name: "rampRate";
191
165
  };