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,14 +12,15 @@ import { UDI } 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 = "EM3PulseCounter";
15
+ const nodeDefId = "EM3PulseCounter";
16
16
 
17
17
  type Commands = PulseCounter.Commands;
18
18
  type Drivers = PulseCounter.Drivers;
19
19
 
20
20
  export class PulseCounterNode extends Base<Drivers, Commands> implements PulseCounter.Interface {
21
- public readonly commands = {};
22
- static nodeDefId = "EM3PulseCounter";
21
+ public override readonly commands = {};
22
+ static override nodeDefId = "EM3PulseCounter";
23
+ static override implements = ["EM3PulseCounter"];
23
24
  declare readonly nodeDefId: "EM3PulseCounter";
24
25
  constructor (isy: ISY, nodeInfo: NodeInfo) {
25
26
  super(isy, nodeInfo);
@@ -48,8 +49,9 @@ export namespace PulseCounter {
48
49
  export interface Interface extends Omit<InstanceType<typeof PulseCounterNode>, keyof ISYDeviceNode<any, any, any, any>> {
49
50
  nodeDefId: "EM3PulseCounter";
50
51
  }
51
- export function is(node: ISYNode<any, any, any, any>): node is PulseCounterNode {
52
- return node.nodeDefId === nodeDefId;
52
+ export function is(node: ISYNode<any, any, any, any>): node is PulseCounterNode { return ["EM3PulseCounter"].includes(node.nodeDefId); }
53
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is PulseCounterNode {
54
+ return ["EM3PulseCounter"].includes(node.nodeDefId);
53
55
  }
54
56
  export function create(isy: ISY, nodeInfo: NodeInfo) {
55
57
  return new PulseCounterNode(isy, nodeInfo);
@@ -3,7 +3,7 @@
3
3
  import { UnitOfMeasure } from "../../../Definitions/Global/UOM.js";
4
4
  import { Family } from "../../../Definitions/Global/Families.js";
5
5
  import type { NodeInfo } from "../../../Model/NodeInfo.js";
6
- import type { ISY } from "../../../ISY.js";
6
+ import { ISY } from "../../../ISY.js";
7
7
  import type { ISYNode } from "../../../ISYNode.js";
8
8
  import { Base } from "../index.js";
9
9
  import { ISYDeviceNode } from "../../ISYDeviceNode.js";
@@ -12,33 +12,28 @@ import { UDI } 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 = "EM3Relay";
15
+ const nodeDefId = "EM3Relay";
16
16
 
17
17
  type Commands = Relay.Commands;
18
18
  type Drivers = Relay.Drivers;
19
19
 
20
20
  export class RelayNode extends Base<Drivers, Commands> implements Relay.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
  };
26
- static nodeDefId = "EM3Relay";
26
+ static override nodeDefId = "EM3Relay";
27
+ static override implements = ["EM3Relay"];
27
28
  declare readonly nodeDefId: "EM3Relay";
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 on() {
34
- return this.sendCommand("DON");
35
- }
36
- async off() {
37
- return this.sendCommand("DOF");
38
- }
39
- async query() {
40
- return this.sendCommand("QUERY");
41
- }
34
+ async on() { return this.sendCommand("DON"); }
35
+ async off() { return this.sendCommand("DOF"); }
36
+ async query() { return this.sendCommand("QUERY"); }
42
37
  public get status(): (0 | 100) {
43
38
  return this.drivers.ST?.value;
44
39
  }
@@ -53,8 +48,9 @@ export namespace Relay {
53
48
  export interface Interface extends Omit<InstanceType<typeof RelayNode>, keyof ISYDeviceNode<any, any, any, any>> {
54
49
  nodeDefId: "EM3Relay";
55
50
  }
56
- export function is(node: ISYNode<any, any, any, any>): node is RelayNode {
57
- return node.nodeDefId === nodeDefId;
51
+ export function is(node: ISYNode<any, any, any, any>): node is RelayNode { return ["EM3Relay"].includes(node.nodeDefId); }
52
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is RelayNode {
53
+ return ["EM3Relay"].includes(node.nodeDefId);
58
54
  }
59
55
  export function create(isy: ISY, nodeInfo: NodeInfo) {
60
56
  return new RelayNode(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,14 +12,15 @@ import { UDI } 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 = "EM3TempSensor";
15
+ const nodeDefId = "EM3TempSensor";
16
16
 
17
17
  type Commands = TemperatureSensor.Commands;
18
18
  type Drivers = TemperatureSensor.Drivers;
19
19
 
20
20
  export class TemperatureSensorNode extends Base<Drivers, Commands> implements TemperatureSensor.Interface {
21
- public readonly commands = {};
22
- static nodeDefId = "EM3TempSensor";
21
+ public override readonly commands = {};
22
+ static override nodeDefId = "EM3TempSensor";
23
+ static override implements = ["EM3TempSensor"];
23
24
  declare readonly nodeDefId: "EM3TempSensor";
24
25
  constructor (isy: ISY, nodeInfo: NodeInfo) {
25
26
  super(isy, nodeInfo);
@@ -40,8 +41,9 @@ export namespace TemperatureSensor {
40
41
  export interface Interface extends Omit<InstanceType<typeof TemperatureSensorNode>, keyof ISYDeviceNode<any, any, any, any>> {
41
42
  nodeDefId: "EM3TempSensor";
42
43
  }
43
- export function is(node: ISYNode<any, any, any, any>): node is TemperatureSensorNode {
44
- return node.nodeDefId === nodeDefId;
44
+ export function is(node: ISYNode<any, any, any, any>): node is TemperatureSensorNode { return ["EM3TempSensor"].includes(node.nodeDefId); }
45
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is TemperatureSensorNode {
46
+ return ["EM3TempSensor"].includes(node.nodeDefId);
45
47
  }
46
48
  export function create(isy: ISY, nodeInfo: NodeInfo) {
47
49
  return new TemperatureSensorNode(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,20 +12,21 @@ import { ZWave } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
14
 
15
- export const nodeDefId = "186";
15
+ const nodeDefId = "186";
16
16
 
17
17
  type Commands = ColorSwitch.Commands;
18
18
  type Drivers = ColorSwitch.Drivers;
19
19
 
20
20
  export class ColorSwitchNode extends Base<Drivers, Commands> implements ColorSwitch.Interface {
21
- public readonly commands = {
21
+ public override readonly commands = {
22
22
  DON: this.set,
23
23
  FDUP: this.fadeUp,
24
24
  FDDOWN: this.fadeDown,
25
25
  FDSTOP: this.fadeStop,
26
26
  QUERY: this.query
27
27
  };
28
- static nodeDefId = "186";
28
+ static override nodeDefId = "186";
29
+ static override implements = ["186"];
29
30
  declare readonly nodeDefId: "186";
30
31
  constructor (isy: ISY, nodeInfo: NodeInfo) {
31
32
  super(isy, nodeInfo);
@@ -34,21 +35,11 @@ export class ColorSwitchNode extends Base<Drivers, Commands> implements ColorSwi
34
35
  this.drivers.GV3 = Driver.create("GV3", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Green", name: "green" });
35
36
  this.drivers.GV4 = Driver.create("GV4", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Raw1ByteUnsignedValue, label: "Blue", name: "blue" });
36
37
  }
37
- async set(warmWhite?: number, red?: number, green?: number, blue?: number, duration?: number | number) {
38
- return this.sendCommand("DON", { GV0: warmWhite, GV2: red, GV3: green, GV4: blue, RR: duration });
39
- }
40
- async fadeUp(component: number, startLevel?: number, duration?: number | number) {
41
- return this.sendCommand("FDUP", { ID: component, STARTLEVEL: startLevel, RR: duration });
42
- }
43
- async fadeDown(component: number, startLevel?: number, duration?: number | number) {
44
- return this.sendCommand("FDDOWN", { ID: component, STARTLEVEL: startLevel, RR: duration });
45
- }
46
- async fadeStop(component: number) {
47
- return this.sendCommand("FDSTOP", { ID: component });
48
- }
49
- async query() {
50
- return this.sendCommand("QUERY");
51
- }
38
+ async set(warmWhite?: number, red?: number, green?: number, blue?: number, duration?: number | number) { return this.sendCommand("DON", { GV0: warmWhite, GV2: red, GV3: green, GV4: blue, RR: duration }); }
39
+ async fadeUp(component: ZWave.ColorComponent, startLevel?: number, duration?: number | number) { return this.sendCommand("FDUP", { ID: component, STARTLEVEL: startLevel, RR: duration }); }
40
+ async fadeDown(component: ZWave.ColorComponent, startLevel?: number, duration?: number | number) { return this.sendCommand("FDDOWN", { ID: component, STARTLEVEL: startLevel, RR: duration }); }
41
+ async fadeStop(component: ZWave.ColorComponent) { return this.sendCommand("FDSTOP", { ID: component }); }
42
+ async query() { return this.sendCommand("QUERY"); }
52
43
  public get warmWhite(): number {
53
44
  return this.drivers.GV0?.value;
54
45
  }
@@ -69,8 +60,9 @@ export namespace ColorSwitch {
69
60
  export interface Interface extends Omit<InstanceType<typeof ColorSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
70
61
  nodeDefId: "186";
71
62
  }
72
- export function is(node: ISYNode<any, any, any, any>): node is ColorSwitchNode {
73
- return node.nodeDefId === nodeDefId;
63
+ export function is(node: ISYNode<any, any, any, any>): node is ColorSwitchNode { return ["186"].includes(node.nodeDefId); }
64
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ColorSwitchNode {
65
+ return ["186"].includes(node.nodeDefId);
74
66
  }
75
67
  export function create(isy: ISY, nodeInfo: NodeInfo) {
76
68
  return new ColorSwitchNode(isy, nodeInfo);
@@ -81,15 +73,15 @@ export namespace ColorSwitch {
81
73
  label: "Set";
82
74
  name: "set";
83
75
  };
84
- FDUP: ((ID: number, STARTLEVEL?: number, RR?: number | number) => Promise<boolean>) & {
76
+ FDUP: ((ID: ZWave.ColorComponent, STARTLEVEL?: number, RR?: number | number) => Promise<boolean>) & {
85
77
  label: "Fade Up";
86
78
  name: "fadeUp";
87
79
  };
88
- FDDOWN: ((ID: number, STARTLEVEL?: number, RR?: number | number) => Promise<boolean>) & {
80
+ FDDOWN: ((ID: ZWave.ColorComponent, STARTLEVEL?: number, RR?: number | number) => Promise<boolean>) & {
89
81
  label: "Fade Down";
90
82
  name: "fadeDown";
91
83
  };
92
- FDSTOP: ((ID: number) => Promise<boolean>) & {
84
+ FDSTOP: ((ID: ZWave.ColorComponent) => Promise<boolean>) & {
93
85
  label: "Fade Stop";
94
86
  name: "fadeStop";
95
87
  };
@@ -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 { ZWave } 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 = "119";
15
+ const nodeDefId = "119";
16
16
 
17
17
  type Commands = DimmerSwitch.Commands;
18
18
  type Drivers = DimmerSwitch.Drivers;
19
19
 
20
20
  export class DimmerSwitchNode extends Base<Drivers, Commands> implements DimmerSwitch.Interface {
21
- public readonly commands = {
21
+ public override readonly commands = {
22
22
  DON: this.on,
23
23
  DOF: this.off,
24
24
  DFON: this.fastOn,
@@ -33,52 +33,27 @@ export class DimmerSwitchNode extends Base<Drivers, Commands> implements DimmerS
33
33
  CONFIG: this.setConfiguration,
34
34
  WDU: this.writeChanges
35
35
  };
36
- static nodeDefId = "119";
36
+ static override nodeDefId = "119";
37
+ static override implements = ["119"];
37
38
  declare readonly nodeDefId: "119";
38
39
  constructor (isy: ISY, nodeInfo: NodeInfo) {
39
40
  super(isy, nodeInfo);
40
41
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
41
42
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
42
43
  }
43
- async on(value?: number | number, rampRate?: number | number) {
44
- return this.sendCommand("DON", { value: value, RR: rampRate });
45
- }
46
- async off() {
47
- return this.sendCommand("DOF");
48
- }
49
- async fastOn() {
50
- return this.sendCommand("DFON");
51
- }
52
- async fastOff() {
53
- return this.sendCommand("DFOF");
54
- }
55
- async brighten() {
56
- return this.sendCommand("BRT");
57
- }
58
- async dim() {
59
- return this.sendCommand("DIM");
60
- }
61
- async fadeUp(startLevel?: number | number, rampRate?: number | number) {
62
- return this.sendCommand("FDUP", { STARTLEVEL: startLevel, RR: rampRate });
63
- }
64
- async fadeDown(startLevel?: number | number, rampRate?: number | number) {
65
- return this.sendCommand("FDDOWN", { STARTLEVEL: startLevel, RR: rampRate });
66
- }
67
- async fade(direction: ZWave.FadeDirection, startLevel?: number | number, rampRate?: number | number, direction2?: ZWave.FadeDirection, fadeRate2?: number | number) {
68
- return this.sendCommand("FADE", { DIR: direction, STARTLEVEL: startLevel, RR: rampRate, DIR2: direction2, STEP2: fadeRate2 });
69
- }
70
- async fadeStop() {
71
- return this.sendCommand("FDSTOP");
72
- }
73
- async query() {
74
- return this.sendCommand("QUERY");
75
- }
76
- async setConfiguration(parameterNumber: number, parameterValue: number | number | number | number | number | number) {
77
- return this.sendCommand("CONFIG", { NUM: parameterNumber, VAL: parameterValue });
78
- }
79
- async writeChanges() {
80
- return this.sendCommand("WDU");
81
- }
44
+ async on(value?: ZWave.PercentOpt | number, rampRate?: number | number) { return this.sendCommand("DON", value, { RR: rampRate }); }
45
+ async off() { return this.sendCommand("DOF"); }
46
+ async fastOn() { return this.sendCommand("DFON"); }
47
+ async fastOff() { return this.sendCommand("DFOF"); }
48
+ async brighten() { return this.sendCommand("BRT"); }
49
+ async dim() { return this.sendCommand("DIM"); }
50
+ async fadeUp(startLevel?: ZWave.PercentOpt | number, rampRate?: number | number) { return this.sendCommand("FDUP", { STARTLEVEL: startLevel, RR: rampRate }); }
51
+ async fadeDown(startLevel?: ZWave.PercentOpt | number, rampRate?: number | number) { return this.sendCommand("FDDOWN", { STARTLEVEL: startLevel, RR: rampRate }); }
52
+ async fade(direction: ZWave.FadeDirection, startLevel?: ZWave.PercentOpt | number, rampRate?: number | number, direction2?: ZWave.FadeDirection, fadeRate2?: number | number) { return this.sendCommand("FADE", { DIR: direction, STARTLEVEL: startLevel, RR: rampRate, DIR2: direction2, STEP2: fadeRate2 }); }
53
+ async fadeStop() { return this.sendCommand("FDSTOP"); }
54
+ async query() { return this.sendCommand("QUERY"); }
55
+ async setConfiguration(parameterNumber: number, parameterValue: number | number | number | number | number | number) { return this.sendCommand("CONFIG", { NUM: parameterNumber, VAL: parameterValue }); }
56
+ async writeChanges() { return this.sendCommand("WDU"); }
82
57
  public get status(): number {
83
58
  return this.drivers.ST?.value;
84
59
  }
@@ -93,15 +68,16 @@ export namespace DimmerSwitch {
93
68
  export interface Interface extends Omit<InstanceType<typeof DimmerSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
94
69
  nodeDefId: "119";
95
70
  }
96
- export function is(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode {
97
- return node.nodeDefId === nodeDefId;
71
+ export function is(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode { return ["119"].includes(node.nodeDefId); }
72
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode {
73
+ return ["119"].includes(node.nodeDefId);
98
74
  }
99
75
  export function create(isy: ISY, nodeInfo: NodeInfo) {
100
76
  return new DimmerSwitchNode(isy, nodeInfo);
101
77
  }
102
78
  export const Node = DimmerSwitchNode;
103
79
  export type Commands = {
104
- DON: ((value?: number | number, RR?: number | number) => Promise<boolean>) & {
80
+ DON: ((value?: ZWave.PercentOpt | number, RR?: number | number) => Promise<boolean>) & {
105
81
  label: "On";
106
82
  name: "on";
107
83
  };
@@ -125,15 +101,15 @@ export namespace DimmerSwitch {
125
101
  label: "Dim";
126
102
  name: "dim";
127
103
  };
128
- FDUP: ((STARTLEVEL?: number | number, RR?: number | number) => Promise<boolean>) & {
104
+ FDUP: ((STARTLEVEL?: ZWave.PercentOpt | number, RR?: number | number) => Promise<boolean>) & {
129
105
  label: "Fade Up";
130
106
  name: "fadeUp";
131
107
  };
132
- FDDOWN: ((STARTLEVEL?: number | number, RR?: number | number) => Promise<boolean>) & {
108
+ FDDOWN: ((STARTLEVEL?: ZWave.PercentOpt | number, RR?: number | number) => Promise<boolean>) & {
133
109
  label: "Fade Down";
134
110
  name: "fadeDown";
135
111
  };
136
- FADE: ((DIR: ZWave.FadeDirection, STARTLEVEL?: number | number, RR?: number | number, DIR2?: ZWave.FadeDirection, STEP2?: number | number) => Promise<boolean>) & {
112
+ FADE: ((DIR: ZWave.FadeDirection, STARTLEVEL?: ZWave.PercentOpt | number, RR?: number | number, DIR2?: ZWave.FadeDirection, STEP2?: number | number) => Promise<boolean>) & {
137
113
  label: "Fade";
138
114
  name: "fade";
139
115
  };
@@ -0,0 +1,2 @@
1
+ export * from './ColorSwitch.js';
2
+ export * from './DimmerSwitch.js';
@@ -20,6 +20,8 @@ export class Base<Drivers extends ISYNode.DriverSignatures, Commands extends ISY
20
20
  //// this.productName = InsteonNLS.getDeviceDescription(String.fromCharCode(category,device,version))
21
21
  }
22
22
 
23
+
24
+
23
25
  export async function create(...nodeInfo: NodeInfo<FamilyEnum.ZWave>[])
24
26
  {
25
27
  let nodes = [] as Base<any, any>[];
@@ -29,4 +31,6 @@ export async function create(...nodeInfo: NodeInfo<FamilyEnum.ZWave>[])
29
31
  nodes.push(await NodeFactory.create(node) as unknown as Base<any, any>);
30
32
  }
31
33
  return nodes;
32
- }
34
+ }
35
+
36
+ //export * from './Generated/index.js';
@@ -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,37 +12,30 @@ import { ZigBeeLegacy } 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 = "RelayLoadControl";
15
+ const nodeDefId = "RelayLoadControl";
16
16
 
17
17
  type Commands = Relay.Commands;
18
18
  type Drivers = Relay.Drivers;
19
19
 
20
20
  export class RelayNode extends Base<Drivers, Commands> implements Relay.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
  ADRPST: this.adr
26
26
  };
27
- static nodeDefId = "RelayLoadControl";
27
+ static override nodeDefId = "RelayLoadControl";
28
+ static override implements = ["RelayLoadControl"];
28
29
  declare readonly nodeDefId: "RelayLoadControl";
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.Unknown, label: "Status", name: "status" });
32
33
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Unknown, label: "Responding", name: "responding" });
33
34
  }
34
- async on() {
35
- return this.sendCommand("DON");
36
- }
37
- async off() {
38
- return this.sendCommand("DOF");
39
- }
40
- async query() {
41
- return this.sendCommand("QUERY");
42
- }
43
- async adr(value: ) {
44
- return this.sendCommand("ADRPST", { value: value });
45
- }
35
+ async on() { return this.sendCommand("DON"); }
36
+ async off() { return this.sendCommand("DOF"); }
37
+ async query() { return this.sendCommand("QUERY"); }
38
+ async adr(value: ) { return this.sendCommand("ADRPST", value); }
46
39
  public get status(): {
47
40
 
48
41
  return this.drivers.ST?.value;
@@ -60,8 +53,9 @@ export namespace Relay {
60
53
  export interface Interface extends Omit<InstanceType<typeof RelayNode>, keyof ISYDeviceNode<any, any, any, any>> {
61
54
  nodeDefId: "RelayLoadControl";
62
55
  }
63
- export function is(node: ISYNode<any, any, any, any>): node is RelayNode {
64
- return node.nodeDefId === nodeDefId;
56
+ export function is(node: ISYNode<any, any, any, any>): node is RelayNode { return ["RelayLoadControl"].includes(node.nodeDefId); }
57
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is RelayNode {
58
+ return ["RelayLoadControl"].includes(node.nodeDefId);
65
59
  }
66
60
  export function create(isy: ISY, nodeInfo: NodeInfo) {
67
61
  return new RelayNode(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 { ZigBeeLegacy } 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,
@@ -29,7 +29,8 @@ export class ThermostatNode extends Base<Drivers, Commands> implements Thermosta
29
29
  QUERY: this.query,
30
30
  ADRPST: this.adr
31
31
  };
32
- static nodeDefId = "Thermostat";
32
+ static override nodeDefId = "Thermostat";
33
+ static override implements = ["Thermostat"];
33
34
  declare readonly nodeDefId: "Thermostat";
34
35
  constructor (isy: ISY, nodeInfo: NodeInfo) {
35
36
  super(isy, nodeInfo);
@@ -43,33 +44,15 @@ export class ThermostatNode extends Base<Drivers, Commands> implements Thermosta
43
44
  this.drivers.CLISMD = Driver.create("CLISMD", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Unknown, label: "Schedule Mode", name: "scheduleMode" });
44
45
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Unknown, label: "Responding", name: "responding" });
45
46
  }
46
- async updateHeatSetpoint(value: ) {
47
- return this.sendCommand("CLISPH", { value: value });
48
- }
49
- async updateCoolSetpoint(value: ) {
50
- return this.sendCommand("CLISPC", { value: value });
51
- }
52
- async updateMode(value: ) {
53
- return this.sendCommand("CLIMD", { value: value });
54
- }
55
- async updateFanMode(value: ) {
56
- return this.sendCommand("CLIFS", { value: value });
57
- }
58
- async updateScheduleMode(value: ) {
59
- return this.sendCommand("CLISMD", { value: value });
60
- }
61
- async heatSetpointShift(value: ) {
62
- return this.sendCommand("CLISPHD", { value: value });
63
- }
64
- async coolSetpointShift(value: ) {
65
- return this.sendCommand("CLISPCD", { value: value });
66
- }
67
- async query() {
68
- return this.sendCommand("QUERY");
69
- }
70
- async adr(value: ) {
71
- return this.sendCommand("ADRPST", { value: value });
72
- }
47
+ async updateHeatSetpoint(value: ) { return this.sendCommand("CLISPH", value); }
48
+ async updateCoolSetpoint(value: ) { return this.sendCommand("CLISPC", value); }
49
+ async updateMode(value: ) { return this.sendCommand("CLIMD", value); }
50
+ async updateFanMode(value: ) { return this.sendCommand("CLIFS", value); }
51
+ async updateScheduleMode(value: ) { return this.sendCommand("CLISMD", value); }
52
+ async heatSetpointShift(value: ) { return this.sendCommand("CLISPHD", value); }
53
+ async coolSetpointShift(value: ) { return this.sendCommand("CLISPCD", value); }
54
+ async query() { return this.sendCommand("QUERY"); }
55
+ async adr(value: ) { return this.sendCommand("ADRPST", value); }
73
56
  public get temperature(): {
74
57
 
75
58
  return this.drivers.ST?.value;
@@ -122,8 +105,9 @@ export namespace Thermostat {
122
105
  export interface Interface extends Omit<InstanceType<typeof ThermostatNode>, keyof ISYDeviceNode<any, any, any, any>> {
123
106
  nodeDefId: "Thermostat";
124
107
  }
125
- export function is(node: ISYNode<any, any, any, any>): node is ThermostatNode {
126
- return node.nodeDefId === nodeDefId;
108
+ export function is(node: ISYNode<any, any, any, any>): node is ThermostatNode { return ["Thermostat"].includes(node.nodeDefId); }
109
+ export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ThermostatNode {
110
+ return ["Thermostat"].includes(node.nodeDefId);
127
111
  }
128
112
  export function create(isy: ISY, nodeInfo: NodeInfo) {
129
113
  return new ThermostatNode(isy, nodeInfo);
@@ -1,24 +1,29 @@
1
-
2
1
  import type { Family } from '../Definitions/index.js';
3
- import {Insteon} from "./Insteon/index.js";
4
- import { ZWaveBaseDevice } from "./ZWave/ZWaveBaseDevice.js";
2
+ import * as Insteon from './Insteon/index.js';
3
+ import { NodeFactory } from './NodeFactory.js';
4
+ import { ZWaveBaseDevice } from './ZWave/ZWaveBaseDevice.js';
5
+ import * as ZWave from './ZWave/index.js';
5
6
 
6
7
  export const Devices = {
7
- Insteon: Insteon,
8
- ZWave: { Base: ZWaveBaseDevice },
9
- ZigBee: {},
8
+ Insteon: Insteon,
9
+ ZWave: { Base: ZWaveBaseDevice },
10
+ ZigBee: {}
11
+ };
12
+ Insteon.AlertModuleArmed.Node
13
+
14
+ export * as Insteon from './Insteon/index.js';
15
+ export * as ZWave from './ZWave/index.js';
10
16
 
11
- }
12
17
 
13
18
  export namespace Devices {
14
- export type Insteon = typeof Insteon;
15
- export type ZWave = { Base: ZWaveBaseDevice };
16
- export type ZigBee = {};
19
+ export type Insteon = typeof Insteon;
20
+ export type ZWave = typeof ZWave;
21
+ export type ZigBee = {};
17
22
  }
18
23
 
19
-
20
24
  export type Devices<T extends Family.Insteon | Family.ZWave | Family.ZigBee> = (typeof Devices)[`Insteon`];
21
25
 
22
- export type ToDevice<T extends keyof Devices<any>> = T extends keyof Devices<infer B> ? Devices<B>[`${T}`] : never;
26
+ /*export type ToDevice<T extends keyof Devices<any>> = T extends keyof Devices<infer B> ? Devices<B>[`${T}`] : never;*/
23
27
 
28
+ NodeFactory.sortImplementsRegistry();
24
29
  export default Devices;
package/src/ISY.ts CHANGED
@@ -470,12 +470,18 @@ export class ISY extends EventEmitter implements Disposable {
470
470
  }
471
471
 
472
472
  public async loadVariables(type: VariableType): Promise<any> {
473
+ try
474
+ {
473
475
  const that = this;
474
476
  this.logger.info(`Loading ISY Variables of type: ${type}`);
475
477
  return this.sendRequest(`vars/definitions/${type}`)
476
478
  .then((result) => that.#createVariables(type, result))
477
479
  .then(() => that.sendRequest(`vars/get/${type}`))
478
480
  .then(that.#setVariableValues.bind(that));
481
+ }
482
+ catch{
483
+ this.logger.warn('error loading variables');
484
+ }
479
485
  }
480
486
 
481
487
  public nodeChangedHandler(node: ELKAlarmPanelDevice | ElkAlarmSensorDevice, propertyName = null) {
@@ -531,12 +537,12 @@ export class ISY extends EventEmitter implements Disposable {
531
537
  if (parameters !== null && parameters !== undefined) {
532
538
  if (typeof parameters == 'object') {
533
539
  var q = parameters as Record<P, string | number>;
534
- for (const paramName of Object.getOwnPropertyNames(q)) {
535
- if (paramName === 'value') {
540
+ for (const paramName in q) {
541
+ if (paramName === 'value' || paramName === 'default') {
536
542
  uriToUse += `/${q[paramName]}`;
537
543
  continue;
538
544
  }
539
- if (typeof q[paramName] === 'string' || typeof q[paramName] === 'number') uriToUse += `/${paramName}/${q[paramName]}`;
545
+ else if (typeof q[paramName] === 'string' || typeof q[paramName] === 'number') uriToUse += `/${paramName}/${q[paramName]}`;
540
546
  }
541
547
 
542
548
  //uriToUse += `/${q[((p : Record<string,number|number>) => `${p[]}/${p.paramValue}` ).join('/')}`;