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

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