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,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 = "KeypadButton_ADV";
15
+ const nodeDefId = "KeypadButton";
16
16
 
17
- type Commands = KeypadButtonAdv.Commands;
18
- type Drivers = KeypadButtonAdv.Drivers;
17
+ type Commands = KeypadButton.Commands;
18
+ type Drivers = KeypadButton.Drivers;
19
19
 
20
- export class KeypadButtonAdvNode extends Base<Drivers, Commands> implements KeypadButtonAdv.Interface {
21
- public readonly commands = {
20
+ export class KeypadButtonNode extends Base<Drivers, Commands> implements KeypadButton.Interface {
21
+ public override readonly commands = {
22
22
  QUERY: this.query,
23
23
  BL: this.backlight,
24
24
  WDU: this.writeChanges
25
25
  };
26
- static nodeDefId = "KeypadButton_ADV";
27
- declare readonly nodeDefId: "KeypadButton_ADV";
26
+ static override nodeDefId = "KeypadButton";
27
+ static override implements = ["KeypadButton", "EZIO2x4_Input", "EZIO2x4_Input_ADV", "SirenAlert", "SirenArm"];
28
+ declare readonly nodeDefId: "KeypadButton" | "KeypadButton_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 backlight(value: number) {
37
- return this.sendCommand("BL", { value: value });
38
- }
39
- async writeChanges() {
40
- return this.sendCommand("WDU");
41
- }
34
+ async query() { return this.sendCommand("QUERY"); }
35
+ async backlight(value: Insteon.Backlight) { return this.sendCommand("BL", value); }
36
+ async writeChanges() { return this.sendCommand("WDU"); }
42
37
  public get status(): Insteon.OnLevelRelay {
43
38
  return this.drivers.ST?.value;
44
39
  }
@@ -47,25 +42,27 @@ export class KeypadButtonAdvNode extends Base<Drivers, Commands> implements Keyp
47
42
  }
48
43
  }
49
44
 
50
- NodeFactory.register(KeypadButtonAdvNode);
45
+ NodeFactory.register(KeypadButtonNode);
46
+ NodeFactory.register(KeypadButtonNode, "KeypadButton_ADV");
51
47
 
52
- export namespace KeypadButtonAdv {
53
- export interface Interface extends Omit<InstanceType<typeof KeypadButtonAdvNode>, keyof ISYDeviceNode<any, any, any, any>> {
54
- nodeDefId: "KeypadButton_ADV";
48
+ export namespace KeypadButton {
49
+ export interface Interface extends Omit<InstanceType<typeof KeypadButtonNode>, keyof ISYDeviceNode<any, any, any, any>> {
50
+ nodeDefId: "KeypadButton" | "KeypadButton_ADV";
55
51
  }
56
- export function is(node: ISYNode<any, any, any, any>): node is KeypadButtonAdvNode {
57
- return node.nodeDefId === nodeDefId;
52
+ export function is(node: ISYNode<any, any, any, any>): node is KeypadButtonNode { return ["KeypadButton", "KeypadButton_ADV"].includes(node.nodeDefId); }
53
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is KeypadButtonNode {
54
+ return ["KeypadButton", "KeypadRelay", "KeypadRelay_ADV", "KeypadButton_ADV"].includes(node.nodeDefId);
58
55
  }
59
56
  export function create(isy: ISY, nodeInfo: NodeInfo) {
60
- return new KeypadButtonAdvNode(isy, nodeInfo);
57
+ return new KeypadButtonNode(isy, nodeInfo);
61
58
  }
62
- export const Node = KeypadButtonAdvNode;
59
+ export const Node = KeypadButtonNode;
63
60
  export type Commands = {
64
61
  QUERY: (() => Promise<boolean>) & {
65
62
  label: "Query";
66
63
  name: "query";
67
64
  };
68
- BL: ((value: number) => Promise<boolean>) & {
65
+ BL: ((value: Insteon.Backlight) => Promise<boolean>) & {
69
66
  label: "Backlight";
70
67
  name: "backlight";
71
68
  };
@@ -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 = "KeypadDimmer";
15
+ const nodeDefId = "KeypadDimmer";
16
16
 
17
17
  type Commands = KeypadDimmer.Commands;
18
18
  type Drivers = KeypadDimmer.Drivers;
19
19
 
20
20
  export class KeypadDimmerNode extends Base<Drivers, Commands> implements KeypadDimmer.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,
@@ -35,8 +35,9 @@ export class KeypadDimmerNode extends Base<Drivers, Commands> implements KeypadD
35
35
  BL: this.backlight,
36
36
  WDU: this.writeChanges
37
37
  };
38
- static nodeDefId = "KeypadDimmer";
39
- declare readonly nodeDefId: "KeypadDimmer";
38
+ static override nodeDefId = "KeypadDimmer";
39
+ static override implements = ["KeypadDimmer", "RemoteLinc2", "RemoteLinc2_ADV", "IRLincTx", "SirenAlert", "SirenArm"];
40
+ declare readonly nodeDefId: "KeypadDimmer" | "KeypadDimmer_ADV";
40
41
  constructor (isy: ISY, nodeInfo: NodeInfo) {
41
42
  super(isy, nodeInfo);
42
43
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
@@ -44,58 +45,28 @@ export class KeypadDimmerNode extends Base<Drivers, Commands> implements KeypadD
44
45
  this.drivers.RR = Driver.create("RR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Ramp Rate", name: "rampRate" });
45
46
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
46
47
  }
47
- async on(value?: number) {
48
- return this.sendCommand("DON", { value: value });
49
- }
50
- async off() {
51
- return this.sendCommand("DOF");
52
- }
53
- async fastOff() {
54
- return this.sendCommand("DFOF");
55
- }
56
- async fastOn() {
57
- return this.sendCommand("DFON");
58
- }
59
- async brighten() {
60
- return this.sendCommand("BRT");
61
- }
62
- async dim() {
63
- return this.sendCommand("DIM");
64
- }
65
- async fadeUp() {
66
- return this.sendCommand("FDUP");
67
- }
68
- async fadeDown() {
69
- return this.sendCommand("FDDOWN");
70
- }
71
- async fadeStop() {
72
- return this.sendCommand("FDSTOP");
73
- }
74
- async query() {
75
- return this.sendCommand("QUERY");
76
- }
77
- async beep(value?: number) {
78
- return this.sendCommand("BEEP", { value: value });
79
- }
80
- async updateOnLevel(value: number) {
81
- return this.sendCommand("OL", { value: value });
82
- }
83
- async updateRampRate(value: number) {
84
- return this.sendCommand("RR", { value: value });
85
- }
86
- async backlight(value: number) {
87
- return this.sendCommand("BL", { value: value });
88
- }
89
- async writeChanges() {
90
- return this.sendCommand("WDU");
91
- }
48
+ async on(value?: number) { return this.sendCommand("DON", value); }
49
+ async off() { return this.sendCommand("DOF"); }
50
+ async fastOff() { return this.sendCommand("DFOF"); }
51
+ async fastOn() { return this.sendCommand("DFON"); }
52
+ async brighten() { return this.sendCommand("BRT"); }
53
+ async dim() { return this.sendCommand("DIM"); }
54
+ async fadeUp() { return this.sendCommand("FDUP"); }
55
+ async fadeDown() { return this.sendCommand("FDDOWN"); }
56
+ async fadeStop() { return this.sendCommand("FDSTOP"); }
57
+ async query() { return this.sendCommand("QUERY"); }
58
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
59
+ async updateOnLevel(value: number) { return this.sendCommand("OL", value); }
60
+ async updateRampRate(value: Insteon.RampRate) { return this.sendCommand("RR", value); }
61
+ async backlight(value: Insteon.Backlight) { return this.sendCommand("BL", value); }
62
+ async writeChanges() { return this.sendCommand("WDU"); }
92
63
  public get status(): number {
93
64
  return this.drivers.ST?.value;
94
65
  }
95
66
  public get onLevel(): number {
96
67
  return this.drivers.OL?.value;
97
68
  }
98
- public get rampRate(): number {
69
+ public get rampRate(): Insteon.RampRate {
99
70
  return this.drivers.RR?.value;
100
71
  }
101
72
  public get responding(): Insteon.Error {
@@ -104,13 +75,15 @@ export class KeypadDimmerNode extends Base<Drivers, Commands> implements KeypadD
104
75
  }
105
76
 
106
77
  NodeFactory.register(KeypadDimmerNode);
78
+ NodeFactory.register(KeypadDimmerNode, "KeypadDimmer_ADV");
107
79
 
108
80
  export namespace KeypadDimmer {
109
81
  export interface Interface extends Omit<InstanceType<typeof KeypadDimmerNode>, keyof ISYDeviceNode<any, any, any, any>> {
110
- nodeDefId: "KeypadDimmer";
82
+ nodeDefId: "KeypadDimmer" | "KeypadDimmer_ADV";
111
83
  }
112
- export function is(node: ISYNode<any, any, any, any>): node is KeypadDimmerNode {
113
- return node.nodeDefId === nodeDefId;
84
+ export function is(node: ISYNode<any, any, any, any>): node is KeypadDimmerNode { return ["KeypadDimmer", "KeypadDimmer_ADV"].includes(node.nodeDefId); }
85
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is KeypadDimmerNode {
86
+ return ["KeypadDimmer", "KeypadDimmer_ADV"].includes(node.nodeDefId);
114
87
  }
115
88
  export function create(isy: ISY, nodeInfo: NodeInfo) {
116
89
  return new KeypadDimmerNode(isy, nodeInfo);
@@ -165,11 +138,11 @@ export namespace KeypadDimmer {
165
138
  label: "On Level";
166
139
  name: "updateOnLevel";
167
140
  };
168
- RR: ((value: number) => Promise<boolean>) & {
141
+ RR: ((value: Insteon.RampRate) => Promise<boolean>) & {
169
142
  label: "Ramp Rate";
170
143
  name: "updateRampRate";
171
144
  };
172
- BL: ((value: number) => Promise<boolean>) & {
145
+ BL: ((value: Insteon.Backlight) => Promise<boolean>) & {
173
146
  label: "Backlight";
174
147
  name: "backlight";
175
148
  };
@@ -193,7 +166,7 @@ export namespace KeypadDimmer {
193
166
  };
194
167
  RR: {
195
168
  uom: UnitOfMeasure.Index;
196
- value: number;
169
+ value: Insteon.RampRate;
197
170
  label: "Ramp Rate";
198
171
  name: "rampRate";
199
172
  };
@@ -1,9 +1,9 @@
1
- /* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
2
-
1
+ /* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
2
+
3
3
  import { UnitOfMeasure } from "../../../Definitions/Global/UOM.js";
4
4
  import { Family } from "../../../Definitions/Global/Families.js";
5
5
  import type { NodeInfo } from "../../../Model/NodeInfo.js";
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";
@@ -11,14 +11,14 @@ import { Driver } from "../../../Definitions/Global/Drivers.js";
11
11
  import { Insteon } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
-
15
- export const nodeDefId = "KeypadRelay";
16
-
14
+
15
+ const nodeDefId = "KeypadRelay";
16
+
17
17
  type Commands = KeypadRelay.Commands;
18
18
  type Drivers = KeypadRelay.Drivers;
19
-
19
+
20
20
  export class KeypadRelayNode extends Base<Drivers, Commands> implements KeypadRelay.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,
@@ -28,53 +28,40 @@ export class KeypadRelayNode extends Base<Drivers, Commands> implements KeypadRe
28
28
  BL: this.backlight,
29
29
  WDU: this.writeChanges
30
30
  };
31
- static nodeDefId = "KeypadRelay";
32
- declare readonly nodeDefId: "KeypadRelay";
31
+ static override nodeDefId = "KeypadRelay";
32
+ static override implements = ["KeypadRelay", "IRLincTx", "KeypadButton", "KeypadButton_ADV", "EZRAIN_Output", "EZIO2x4_Output", "EZIO2x4_Input", "EZIO2x4_Input_ADV", "DoorLock", "BinaryAlarm", "BinaryAlarm_ADV", "BinaryControl", "BinaryControl_ADV", "AlertModuleArmed", "SirenAlert", "SirenArm", "PIR2844OnOff", "PIR2844OnOff_ADV"];
33
+ declare readonly nodeDefId: "KeypadRelay" | "KeypadRelay_ADV";
33
34
  constructor (isy: ISY, nodeInfo: NodeInfo) {
34
35
  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.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Status", name: "status" });
36
37
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
37
38
  }
38
- async on(value?: (0 | 100)) {
39
- return this.sendCommand("DON", { value: value });
40
- }
41
- async off() {
42
- return this.sendCommand("DOF");
43
- }
44
- async fastOff() {
45
- return this.sendCommand("DFOF");
46
- }
47
- async fastOn() {
48
- return this.sendCommand("DFON");
49
- }
50
- async query() {
51
- return this.sendCommand("QUERY");
52
- }
53
- async beep(value?: number) {
54
- return this.sendCommand("BEEP", { value: value });
55
- }
56
- async backlight(value: number) {
57
- return this.sendCommand("BL", { value: value });
58
- }
59
- async writeChanges() {
60
- return this.sendCommand("WDU");
61
- }
62
- public get status(): Insteon.OnLevelRelay {
39
+ async on(value?: (0 | 100)) { return this.sendCommand("DON", value); }
40
+ async off() { return this.sendCommand("DOF"); }
41
+ async fastOff() { return this.sendCommand("DFOF"); }
42
+ async fastOn() { return this.sendCommand("DFON"); }
43
+ async query() { return this.sendCommand("QUERY"); }
44
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
45
+ async backlight(value: number) { return this.sendCommand("BL", value); }
46
+ async writeChanges() { return this.sendCommand("WDU"); }
47
+ public get status(): number {
63
48
  return this.drivers.ST?.value;
64
49
  }
65
50
  public get responding(): Insteon.Error {
66
51
  return this.drivers.ERR?.value;
67
52
  }
68
53
  }
69
-
54
+
70
55
  NodeFactory.register(KeypadRelayNode);
71
-
56
+ NodeFactory.register(KeypadRelayNode, "KeypadRelay_ADV");
57
+
72
58
  export namespace KeypadRelay {
73
59
  export interface Interface extends Omit<InstanceType<typeof KeypadRelayNode>, keyof ISYDeviceNode<any, any, any, any>> {
74
- nodeDefId: "KeypadRelay";
60
+ nodeDefId: "KeypadRelay" | "KeypadRelay_ADV";
75
61
  }
76
- export function is(node: ISYNode<any, any, any, any>): node is KeypadRelayNode {
77
- return node.nodeDefId === nodeDefId;
62
+ export function is(node: ISYNode<any, any, any, any>): node is KeypadRelayNode { return ["KeypadRelay", "KeypadRelay_ADV"].includes(node.nodeDefId); }
63
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is KeypadRelayNode {
64
+ return ["KeypadRelay", "KeypadRelay_ADV"].includes(node.nodeDefId);
78
65
  }
79
66
  export function create(isy: ISY, nodeInfo: NodeInfo) {
80
67
  return new KeypadRelayNode(isy, nodeInfo);
@@ -116,8 +103,8 @@ export namespace KeypadRelay {
116
103
  };
117
104
  export type Drivers = {
118
105
  ST: {
119
- uom: UnitOfMeasure.Percent;
120
- value: Insteon.OnLevelRelay;
106
+ uom: UnitOfMeasure.Boolean;
107
+ value: number;
121
108
  label: "Status";
122
109
  name: "status";
123
110
  };
@@ -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,21 +12,22 @@ 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 = "OnOffControl";
15
+ const nodeDefId = "OnOffControl";
16
16
 
17
17
  type Commands = OnOffControl.Commands;
18
18
  type Drivers = OnOffControl.Drivers;
19
19
 
20
20
  export class OnOffControlNode extends Base<Drivers, Commands> implements OnOffControl.Interface {
21
- public readonly commands = {};
22
- static nodeDefId = "OnOffControl";
23
- declare readonly nodeDefId: "OnOffControl";
21
+ public override readonly commands = {};
22
+ static override nodeDefId = "OnOffControl";
23
+ static override implements = ["OnOffControl", "SirenAlert", "SirenArm"];
24
+ declare readonly nodeDefId: "OnOffControl" | "OnOffControl_ADV";
24
25
  constructor (isy: ISY, nodeInfo: NodeInfo) {
25
26
  super(isy, nodeInfo);
26
- this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
27
+ this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Status", name: "status" });
27
28
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
28
29
  }
29
- public get status(): Insteon.OnLevelRelay {
30
+ public get status(): Insteon.OnLevelRelay | Insteon.OnLevelRelay {
30
31
  return this.drivers.ST?.value;
31
32
  }
32
33
  public get responding(): Insteon.Error {
@@ -35,13 +36,15 @@ export class OnOffControlNode extends Base<Drivers, Commands> implements OnOffCo
35
36
  }
36
37
 
37
38
  NodeFactory.register(OnOffControlNode);
39
+ NodeFactory.register(OnOffControlNode, "OnOffControl_ADV");
38
40
 
39
41
  export namespace OnOffControl {
40
42
  export interface Interface extends Omit<InstanceType<typeof OnOffControlNode>, keyof ISYDeviceNode<any, any, any, any>> {
41
- nodeDefId: "OnOffControl";
43
+ nodeDefId: "OnOffControl" | "OnOffControl_ADV";
42
44
  }
43
- export function is(node: ISYNode<any, any, any, any>): node is OnOffControlNode {
44
- return node.nodeDefId === nodeDefId;
45
+ export function is(node: ISYNode<any, any, any, any>): node is OnOffControlNode { return ["OnOffControl", "OnOffControl_ADV"].includes(node.nodeDefId); }
46
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is OnOffControlNode {
47
+ return ["OnOffControl", "X10", "OnOffControl_ADV"].includes(node.nodeDefId);
45
48
  }
46
49
  export function create(isy: ISY, nodeInfo: NodeInfo) {
47
50
  return new OnOffControlNode(isy, nodeInfo);
@@ -50,8 +53,8 @@ export namespace OnOffControl {
50
53
  export type Commands = {};
51
54
  export type Drivers = {
52
55
  ST: {
53
- uom: UnitOfMeasure.Percent;
54
- value: Insteon.OnLevelRelay;
56
+ uom: UnitOfMeasure.Boolean | UnitOfMeasure.Percent;
57
+ value: Insteon.OnLevelRelay | Insteon.OnLevelRelay;
55
58
  label: "Status";
56
59
  name: "status";
57
60
  };
@@ -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,20 +12,21 @@ 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 = "PIR2844";
15
+ const nodeDefId = "PIR2844";
16
16
 
17
17
  type Commands = Pir2844.Commands;
18
18
  type Drivers = Pir2844.Drivers;
19
19
 
20
20
  export class Pir2844Node extends Base<Drivers, Commands> implements Pir2844.Interface {
21
- public readonly commands = {
21
+ public override readonly commands = {
22
22
  CLITEMP: this.calibrateTemperature,
23
23
  QUERY: this.query,
24
24
  BEEP: this.beep,
25
25
  WDU: this.writeChanges
26
26
  };
27
- static nodeDefId = "PIR2844";
28
- declare readonly nodeDefId: "PIR2844";
27
+ static override nodeDefId = "PIR2844";
28
+ static override implements = ["PIR2844"];
29
+ declare readonly nodeDefId: "PIR2844" | "PIR2844_ADV";
29
30
  constructor (isy: ISY, nodeInfo: NodeInfo) {
30
31
  super(isy, nodeInfo);
31
32
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
@@ -35,18 +36,10 @@ export class Pir2844Node extends Base<Drivers, Commands> implements Pir2844.Inte
35
36
  this.drivers.GV1 = Driver.create("GV1", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Battery Powered", name: "batteryPowered" });
36
37
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
37
38
  }
38
- async calibrateTemperature(value: number) {
39
- return this.sendCommand("CLITEMP", { value: value });
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
- }
39
+ async calibrateTemperature(value: number) { return this.sendCommand("CLITEMP", value); }
40
+ async query() { return this.sendCommand("QUERY"); }
41
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
42
+ async writeChanges() { return this.sendCommand("WDU"); }
50
43
  public get status(): Insteon.OnLevelRelay {
51
44
  return this.drivers.ST?.value;
52
45
  }
@@ -68,13 +61,15 @@ export class Pir2844Node extends Base<Drivers, Commands> implements Pir2844.Inte
68
61
  }
69
62
 
70
63
  NodeFactory.register(Pir2844Node);
64
+ NodeFactory.register(Pir2844Node, "PIR2844_ADV");
71
65
 
72
66
  export namespace Pir2844 {
73
67
  export interface Interface extends Omit<InstanceType<typeof Pir2844Node>, keyof ISYDeviceNode<any, any, any, any>> {
74
- nodeDefId: "PIR2844";
68
+ nodeDefId: "PIR2844" | "PIR2844_ADV";
75
69
  }
76
- export function is(node: ISYNode<any, any, any, any>): node is Pir2844Node {
77
- return node.nodeDefId === nodeDefId;
70
+ export function is(node: ISYNode<any, any, any, any>): node is Pir2844Node { return ["PIR2844", "PIR2844_ADV"].includes(node.nodeDefId); }
71
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is Pir2844Node {
72
+ return ["PIR2844", "PIR2844_ADV"].includes(node.nodeDefId);
78
73
  }
79
74
  export function create(isy: ISY, nodeInfo: NodeInfo) {
80
75
  return new Pir2844Node(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,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 = "PIR2844OnOff";
15
+ const nodeDefId = "PIR2844OnOff";
16
16
 
17
17
  type Commands = Pir2844OnOff.Commands;
18
18
  type Drivers = Pir2844OnOff.Drivers;
19
19
 
20
20
  export class Pir2844OnOffNode extends Base<Drivers, Commands> implements Pir2844OnOff.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 = "PIR2844OnOff";
29
- declare readonly nodeDefId: "PIR2844OnOff";
28
+ static override nodeDefId = "PIR2844OnOff";
29
+ static override implements = ["PIR2844OnOff"];
30
+ declare readonly nodeDefId: "PIR2844OnOff" | "PIR2844OnOff_ADV";
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(value?: (0 | 100)) {
36
- return this.sendCommand("DON", { value: value });
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(value?: (0 | 100)) { return this.sendCommand("DON", value); }
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
  }
@@ -56,13 +47,15 @@ export class Pir2844OnOffNode extends Base<Drivers, Commands> implements Pir2844
56
47
  }
57
48
 
58
49
  NodeFactory.register(Pir2844OnOffNode);
50
+ NodeFactory.register(Pir2844OnOffNode, "PIR2844OnOff_ADV");
59
51
 
60
52
  export namespace Pir2844OnOff {
61
53
  export interface Interface extends Omit<InstanceType<typeof Pir2844OnOffNode>, keyof ISYDeviceNode<any, any, any, any>> {
62
- nodeDefId: "PIR2844OnOff";
54
+ nodeDefId: "PIR2844OnOff" | "PIR2844OnOff_ADV";
63
55
  }
64
- export function is(node: ISYNode<any, any, any, any>): node is Pir2844OnOffNode {
65
- return node.nodeDefId === nodeDefId;
56
+ export function is(node: ISYNode<any, any, any, any>): node is Pir2844OnOffNode { return ["PIR2844OnOff", "PIR2844OnOff_ADV"].includes(node.nodeDefId); }
57
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is Pir2844OnOffNode {
58
+ return ["PIR2844OnOff", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "PIR2844OnOff_ADV"].includes(node.nodeDefId);
66
59
  }
67
60
  export function create(isy: ISY, nodeInfo: NodeInfo) {
68
61
  return new Pir2844OnOffNode(isy, nodeInfo);