isy-nodejs 1.0.2-alpha.4 → 1.0.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/dist/esm/CodeGeneration/{NodeFactory.js → CodeFactory.js} +18 -7
  2. package/dist/esm/CodeGeneration/CodeFactory.js.map +1 -0
  3. package/dist/esm/CodeGeneration/EnumFactory.js +1 -1
  4. package/dist/esm/CodeGeneration/EnumFactory.js.map +1 -1
  5. package/dist/esm/CodeGeneration/NodeClassFactory.js +156 -146
  6. package/dist/esm/CodeGeneration/NodeClassFactory.js.map +1 -1
  7. package/dist/esm/Converters.js +16 -6
  8. package/dist/esm/Converters.js.map +1 -1
  9. package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js +4 -2
  10. package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js.map +1 -1
  11. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js +4 -2
  12. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js.map +1 -1
  13. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js +5 -3
  14. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js.map +1 -1
  15. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js +4 -2
  16. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js.map +1 -1
  17. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js +4 -2
  18. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js.map +1 -1
  19. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js +7 -5
  20. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js.map +1 -1
  21. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js +8 -6
  22. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js.map +1 -1
  23. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js +9 -7
  24. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js.map +1 -1
  25. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js +8 -6
  26. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js.map +1 -1
  27. package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js +4 -2
  28. package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js.map +1 -1
  29. package/dist/esm/Devices/Insteon/Generated/DoorLock.js +3 -1
  30. package/dist/esm/Devices/Insteon/Generated/DoorLock.js.map +1 -1
  31. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js +3 -1
  32. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js.map +1 -1
  33. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js +4 -2
  34. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js.map +1 -1
  35. package/dist/esm/Devices/Insteon/Generated/EzrainInput.js +3 -1
  36. package/dist/esm/Devices/Insteon/Generated/EzrainInput.js.map +1 -1
  37. package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js +5 -3
  38. package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js.map +1 -1
  39. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js +5 -3
  40. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js.map +1 -1
  41. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js +12 -10
  42. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js.map +1 -1
  43. package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js +10 -8
  44. package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js.map +1 -1
  45. package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js +3 -1
  46. package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js.map +1 -1
  47. package/dist/esm/Devices/Insteon/Generated/IrLincTx.js +4 -2
  48. package/dist/esm/Devices/Insteon/Generated/IrLincTx.js.map +1 -1
  49. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js +4 -2
  50. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js.map +1 -1
  51. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js +9 -7
  52. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js.map +1 -1
  53. package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js +7 -5
  54. package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js.map +1 -1
  55. package/dist/esm/Devices/Insteon/Generated/OnOffControl.js +4 -2
  56. package/dist/esm/Devices/Insteon/Generated/OnOffControl.js.map +1 -1
  57. package/dist/esm/Devices/Insteon/Generated/Pir2844.js +6 -4
  58. package/dist/esm/Devices/Insteon/Generated/Pir2844.js.map +1 -1
  59. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js +5 -3
  60. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js.map +1 -1
  61. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js +6 -4
  62. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js.map +1 -1
  63. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js +6 -4
  64. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js.map +1 -1
  65. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +7 -5
  66. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +1 -1
  67. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js +8 -6
  68. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js.map +1 -1
  69. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js +6 -4
  70. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js.map +1 -1
  71. package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js +6 -4
  72. package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js.map +1 -1
  73. package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js +3 -1
  74. package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js.map +1 -1
  75. package/dist/esm/Devices/Insteon/Generated/Siren.js +5 -3
  76. package/dist/esm/Devices/Insteon/Generated/Siren.js.map +1 -1
  77. package/dist/esm/Devices/Insteon/Generated/SirenAlert.js +3 -1
  78. package/dist/esm/Devices/Insteon/Generated/SirenAlert.js.map +1 -1
  79. package/dist/esm/Devices/Insteon/Generated/TempLinc.js +8 -6
  80. package/dist/esm/Devices/Insteon/Generated/TempLinc.js.map +1 -1
  81. package/dist/esm/Devices/Insteon/Generated/Thermostat.js +8 -6
  82. package/dist/esm/Devices/Insteon/Generated/Thermostat.js.map +1 -1
  83. package/dist/esm/Devices/Insteon/Generated/X10.js +3 -1
  84. package/dist/esm/Devices/Insteon/Generated/X10.js.map +1 -1
  85. package/dist/esm/Devices/Lutron/Generated/LoadShed.js +4 -2
  86. package/dist/esm/Devices/Lutron/Generated/LoadShed.js.map +1 -1
  87. package/dist/esm/Devices/UDI/Generated/Channel.js +3 -1
  88. package/dist/esm/Devices/UDI/Generated/Channel.js.map +1 -1
  89. package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js +3 -1
  90. package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js.map +1 -1
  91. package/dist/esm/Devices/UDI/Generated/Main.js +3 -1
  92. package/dist/esm/Devices/UDI/Generated/Main.js.map +1 -1
  93. package/dist/esm/Devices/UDI/Generated/PulseCounter.js +3 -1
  94. package/dist/esm/Devices/UDI/Generated/PulseCounter.js.map +1 -1
  95. package/dist/esm/Devices/UDI/Generated/Relay.js +3 -1
  96. package/dist/esm/Devices/UDI/Generated/Relay.js.map +1 -1
  97. package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js +3 -1
  98. package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js.map +1 -1
  99. package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js +8 -2
  100. package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js.map +1 -1
  101. package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js +4 -2
  102. package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js.map +1 -1
  103. package/dist/esm/ISY.js +59 -34
  104. package/dist/esm/ISY.js.map +1 -1
  105. package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js +1 -1
  106. package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
  107. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
  108. package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js.map +1 -1
  109. package/dist/esm/Matter/Bridge/Server.js +6 -6
  110. package/dist/esm/Matter/Bridge/Server.js.map +1 -1
  111. package/dist/esm/Matter/Mappings/Insteon.js +37 -13
  112. package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
  113. package/dist/esm/{Model/ClusterMap.js → Matter/Mappings/MappingRegistry.js} +12 -7
  114. package/dist/esm/Matter/Mappings/MappingRegistry.js.map +1 -0
  115. package/dist/esm/Model/ClassDefinition.js +7 -5
  116. package/dist/esm/Model/ClassDefinition.js.map +1 -1
  117. package/dist/esm/types/CodeGeneration/{NodeFactory.d.ts → CodeFactory.d.ts} +1 -1
  118. package/dist/esm/types/CodeGeneration/{NodeFactory.d.ts.map → CodeFactory.d.ts.map} +1 -1
  119. package/dist/esm/types/CodeGeneration/EnumFactory.d.ts +1 -1
  120. package/dist/esm/types/CodeGeneration/EnumFactory.d.ts.map +1 -1
  121. package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts +19 -3
  122. package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
  123. package/dist/esm/types/Converters.d.ts +12 -6
  124. package/dist/esm/types/Converters.d.ts.map +1 -1
  125. package/dist/esm/types/Devices/EndpointFor.d.ts +1 -1
  126. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -1
  127. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -1
  128. package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -1
  129. package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -1
  130. package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -1
  131. package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -1
  132. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -1
  133. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -1
  134. package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -1
  135. package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -1
  136. package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -1
  137. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -1
  138. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -1
  139. package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -1
  140. package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -1
  141. package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -1
  142. package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -1
  143. package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -1
  144. package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -1
  145. package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -1
  146. package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -1
  147. package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -1
  148. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +6 -6
  149. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -1
  150. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +3 -3
  151. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -1
  152. package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -1
  153. package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -1
  154. package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -1
  155. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +3 -3
  156. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -1
  157. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +3 -3
  158. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -1
  159. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +6 -6
  160. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -1
  161. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -1
  162. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -1
  163. package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -1
  164. package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -1
  165. package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -1
  166. package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -1
  167. package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -1
  168. package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -1
  169. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +2 -2
  170. package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -1
  171. package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -1
  172. package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -1
  173. package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -1
  174. package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -1
  175. package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -1
  176. package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -1
  177. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +16 -9
  178. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -1
  179. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +15 -15
  180. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -1
  181. package/dist/esm/types/ISY.d.ts +6 -2
  182. package/dist/esm/types/ISY.d.ts.map +1 -1
  183. package/dist/esm/types/ISYNode.d.ts +1 -1
  184. package/dist/esm/types/ISYNode.d.ts.map +1 -1
  185. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +1 -1
  186. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
  187. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +1 -1
  188. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
  189. package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
  190. package/dist/esm/types/Matter/Bridge/Server.d.ts +0 -1
  191. package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
  192. package/dist/esm/types/Matter/Mappings/Insteon.d.ts +3 -1
  193. package/dist/esm/types/Matter/Mappings/Insteon.d.ts.map +1 -1
  194. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts +144 -0
  195. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts.map +1 -0
  196. package/dist/esm/types/Model/ClassDefinition.d.ts +9 -623
  197. package/dist/esm/types/Model/ClassDefinition.d.ts.map +1 -1
  198. package/dist/esm/types/Model/EnumDefinition.d.ts +1 -1
  199. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  200. package/package.json +4 -2
  201. package/src/CodeGeneration/{NodeFactory.ts → CodeFactory.ts} +18 -2
  202. package/src/CodeGeneration/EnumFactory.ts +5 -4
  203. package/src/CodeGeneration/NodeClassFactory.ts +266 -241
  204. package/src/Converters.ts +16 -10
  205. package/src/Devices/Brultech/Generated/Channel.ts +3 -1
  206. package/src/Devices/Brultech/Generated/Main.ts +3 -1
  207. package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +4 -2
  208. package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +4 -2
  209. package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +5 -3
  210. package/src/Devices/Insteon/Generated/BinaryAlarm.ts +4 -2
  211. package/src/Devices/Insteon/Generated/BinaryControl.ts +4 -2
  212. package/src/Devices/Insteon/Generated/DimmerLamp.ts +7 -5
  213. package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +8 -6
  214. package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +9 -7
  215. package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +8 -6
  216. package/src/Devices/Insteon/Generated/DimmerSwitch.ts +4 -2
  217. package/src/Devices/Insteon/Generated/DoorLock.ts +3 -1
  218. package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +3 -1
  219. package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +4 -2
  220. package/src/Devices/Insteon/Generated/EzrainInput.ts +3 -1
  221. package/src/Devices/Insteon/Generated/EzrainOutput.ts +12 -10
  222. package/src/Devices/Insteon/Generated/FanLincMotor.ts +5 -3
  223. package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +12 -10
  224. package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +10 -8
  225. package/src/Devices/Insteon/Generated/ImeterSolo.ts +3 -1
  226. package/src/Devices/Insteon/Generated/IrLincTx.ts +4 -2
  227. package/src/Devices/Insteon/Generated/KeypadButton.ts +4 -2
  228. package/src/Devices/Insteon/Generated/KeypadDimmer.ts +9 -7
  229. package/src/Devices/Insteon/Generated/KeypadRelay.ts +18 -16
  230. package/src/Devices/Insteon/Generated/OnOffControl.ts +7 -5
  231. package/src/Devices/Insteon/Generated/Pir2844.ts +6 -4
  232. package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +5 -3
  233. package/src/Devices/Insteon/Generated/Pir2844c.ts +6 -4
  234. package/src/Devices/Insteon/Generated/RelayLamp.ts +9 -7
  235. package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +10 -8
  236. package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +12 -10
  237. package/src/Devices/Insteon/Generated/RelaySwitch.ts +6 -4
  238. package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +6 -4
  239. package/src/Devices/Insteon/Generated/RemoteLinc2.ts +3 -1
  240. package/src/Devices/Insteon/Generated/Siren.ts +5 -3
  241. package/src/Devices/Insteon/Generated/SirenAlert.ts +3 -1
  242. package/src/Devices/Insteon/Generated/TempLinc.ts +8 -6
  243. package/src/Devices/Insteon/Generated/Thermostat.ts +8 -6
  244. package/src/Devices/Insteon/Generated/X10.ts +3 -1
  245. package/src/Devices/Lutron/Generated/LoadShed.ts +4 -2
  246. package/src/Devices/NCD/Generated/Relay.ts +4 -2
  247. package/src/Devices/Poly/Generated/MatterBridge.ts +3 -1
  248. package/src/Devices/Scene/Generated/Scene.ts +10 -8
  249. package/src/Devices/UDI/Generated/Channel.ts +3 -1
  250. package/src/Devices/UDI/Generated/Em3MainChannel.ts +3 -1
  251. package/src/Devices/UDI/Generated/Main.ts +3 -1
  252. package/src/Devices/UDI/Generated/PulseCounter.ts +3 -1
  253. package/src/Devices/UDI/Generated/Relay.ts +3 -1
  254. package/src/Devices/UDI/Generated/TemperatureSensor.ts +3 -1
  255. package/src/Devices/ZWave/Generated/ColorSwitch.ts +19 -7
  256. package/src/Devices/ZWave/Generated/DimmerSwitch.ts +13 -11
  257. package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +4 -2
  258. package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +11 -9
  259. package/src/ISY.ts +58 -25
  260. package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +1 -1
  261. package/src/Matter/Behaviors/ISYClusterBehavior.ts +2 -1
  262. package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +2 -1
  263. package/src/Matter/Bridge/Server.ts +10 -6
  264. package/src/Matter/Mappings/Insteon.ts +41 -26
  265. package/src/{Model/ClusterMap.ts → Matter/Mappings/MappingRegistry.ts} +26 -14
  266. package/src/Model/ClassDefinition.ts +16 -10
  267. package/src/Utils.ts +1 -1
  268. package/dist/esm/CodeGeneration/NodeFactory.js.map +0 -1
  269. package/dist/esm/Model/ClusterMap.js.map +0 -1
  270. package/dist/esm/types/Model/ClusterMap.d.ts +0 -101
  271. package/dist/esm/types/Model/ClusterMap.d.ts.map +0 -1
package/src/Converters.ts CHANGED
@@ -15,20 +15,20 @@ const StandardConverters = {
15
15
  from: (value: number) => value > 0
16
16
  },
17
17
  Percent: {
18
- to: (value: number): boolean => {
19
- return value > 0;
20
- },
21
- from: (value: boolean): number => {
22
- return value ? 100 : 0;
23
- }
18
+ to: (value: boolean) => (value ? 100 : 0),
19
+ from: (value: number) => value > 0
24
20
  }
25
21
  },
26
22
  LevelFrom0To255: {
27
23
  Percent: {
28
24
  to: (value: number): number => {
25
+ if(value === 0) return 0;
26
+ if(value === 255) return 100;
29
27
  return Math.round((value * 100) / 255);
30
28
  },
31
29
  from: (value: number): number => {
30
+ if(value === 0) return 0;
31
+ if(value === 100) return 255;
32
32
  return Math.round((value * 255) / 100);
33
33
  }
34
34
  }
@@ -79,11 +79,11 @@ export namespace Converter {
79
79
  export const Matter = {
80
80
  LevelFrom0To255: {
81
81
  LightingLevel: {
82
- from: (value) =>
82
+ from: (value: number) =>
83
83
  value === 1 ? 0
84
84
  : value === 254 ? 255
85
85
  : value,
86
- to: (value) =>
86
+ to: (value: number) =>
87
87
  value === 0 ? 1
88
88
  : value === 255 ? 254
89
89
  : value
@@ -92,15 +92,21 @@ export namespace Converter {
92
92
  },
93
93
  Percent: {
94
94
  LightingLevel: {
95
- from: (value) =>
95
+ from: (value: number) =>
96
96
  value === 1 ? 0
97
97
  : value === 254 ? 100
98
98
  : Math.round(value / 254 * 100),
99
- to: (value) =>
99
+ to: (value: number) =>
100
100
  value === 0 ? 1
101
101
  : value === 100 ? 254
102
102
  : Math.round(value / 100 * 254)
103
103
  }
104
+ },
105
+ Boolean: {
106
+ LightingLevel: {
107
+ from: (value: number) => value > 0,
108
+ to: (value: any) => value ? 254 : 0
109
+ }
104
110
  }
105
111
  };
106
112
 
@@ -45,7 +45,9 @@ export namespace Channel {
45
45
  export interface Interface extends Omit<InstanceType<typeof ChannelNode>, keyof ISYDeviceNode<any, any, any, any>> {
46
46
  nodeDefId: "BTChannel";
47
47
  }
48
- export function is(node: ISYNode<any, any, any, any>): node is ChannelNode { return ["BTChannel"].includes(node.nodeDefId); }
48
+ export function is(node: ISYNode<any, any, any, any>): node is ChannelNode {
49
+ return ["BTChannel"].includes(node.nodeDefId);
50
+ }
49
51
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ChannelNode {
50
52
  return ["BTChannel", "BTMain"].includes(node.nodeDefId);
51
53
  }
@@ -60,7 +60,9 @@ export namespace Main {
60
60
  export interface Interface extends Omit<InstanceType<typeof MainNode>, keyof ISYDeviceNode<any, any, any, any>> {
61
61
  nodeDefId: "BTMain";
62
62
  }
63
- export function is(node: ISYNode<any, any, any, any>): node is MainNode { return ["BTMain"].includes(node.nodeDefId); }
63
+ export function is(node: ISYNode<any, any, any, any>): node is MainNode {
64
+ return ["BTMain"].includes(node.nodeDefId);
65
+ }
64
66
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is MainNode {
65
67
  return ["BTMain"].includes(node.nodeDefId);
66
68
  }
@@ -36,7 +36,7 @@ export class AlertModuleArmedNode extends Base<Drivers, Commands> implements Ale
36
36
  async on() { return this.sendCommand("DON"); }
37
37
  async off() { return this.sendCommand("DOF"); }
38
38
  async query() { return this.sendCommand("QUERY"); }
39
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
39
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
40
40
  async writeChanges() { return this.sendCommand("WDU"); }
41
41
  public get status(): Insteon.OnLevelRelay {
42
42
  return this.drivers.ST?.value;
@@ -52,7 +52,9 @@ export namespace AlertModuleArmed {
52
52
  export interface Interface extends Omit<InstanceType<typeof AlertModuleArmedNode>, keyof ISYDeviceNode<any, any, any, any>> {
53
53
  nodeDefId: "AlertModuleArmed";
54
54
  }
55
- export function is(node: ISYNode<any, any, any, any>): node is AlertModuleArmedNode { return ["AlertModuleArmed"].includes(node.nodeDefId); }
55
+ export function is(node: ISYNode<any, any, any, any>): node is AlertModuleArmedNode {
56
+ return ["AlertModuleArmed"].includes(node.nodeDefId);
57
+ }
56
58
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is AlertModuleArmedNode {
57
59
  return ["AlertModuleArmed", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor", "EZRAIN_Output", "AlertModuleSiren", "AlertModuleSiren_ADV"].includes(node.nodeDefId);
58
60
  }
@@ -40,7 +40,7 @@ export class AlertModuleSirenNode extends Base<Drivers, Commands> implements Ale
40
40
  async fastOff() { return this.sendCommand("DFOF"); }
41
41
  async fastOn() { return this.sendCommand("DFON"); }
42
42
  async query() { return this.sendCommand("QUERY"); }
43
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
43
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
44
44
  async writeChanges() { return this.sendCommand("WDU"); }
45
45
  public get status(): Insteon.OnLevelRelay {
46
46
  return this.drivers.ST?.value;
@@ -57,7 +57,9 @@ export namespace AlertModuleSiren {
57
57
  export interface Interface extends Omit<InstanceType<typeof AlertModuleSirenNode>, keyof ISYDeviceNode<any, any, any, any>> {
58
58
  nodeDefId: "AlertModuleSiren" | "AlertModuleSiren_ADV";
59
59
  }
60
- export function is(node: ISYNode<any, any, any, any>): node is AlertModuleSirenNode { return ["AlertModuleSiren", "AlertModuleSiren_ADV"].includes(node.nodeDefId); }
60
+ export function is(node: ISYNode<any, any, any, any>): node is AlertModuleSirenNode {
61
+ return ["AlertModuleSiren", "AlertModuleSiren_ADV"].includes(node.nodeDefId);
62
+ }
61
63
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is AlertModuleSirenNode {
62
64
  return ["AlertModuleSiren", "AlertModuleSiren_ADV"].includes(node.nodeDefId);
63
65
  }
@@ -35,12 +35,12 @@ export class BallastRelayLampSwitchNode extends Base<Drivers, Commands> implemen
35
35
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
36
36
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
37
37
  }
38
- async on(value?: (0 | 100)) { return this.sendCommand("DON", { value: value }); }
38
+ async on(value?: (0 | 100)) { return this.sendCommand("DON", value); }
39
39
  async off() { return this.sendCommand("DOF"); }
40
40
  async fastOff() { return this.sendCommand("DFOF"); }
41
41
  async fastOn() { return this.sendCommand("DFON"); }
42
42
  async query() { return this.sendCommand("QUERY"); }
43
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
43
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
44
44
  async writeChanges() { return this.sendCommand("WDU"); }
45
45
  public get status(): Insteon.Sml {
46
46
  return this.drivers.ST?.value;
@@ -57,7 +57,9 @@ export namespace BallastRelayLampSwitch {
57
57
  export interface Interface extends Omit<InstanceType<typeof BallastRelayLampSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
58
58
  nodeDefId: "BallastRelayLampSwitch" | "BallastRelayLampSwitch_ADV";
59
59
  }
60
- export function is(node: ISYNode<any, any, any, any>): node is BallastRelayLampSwitchNode { return ["BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV"].includes(node.nodeDefId); }
60
+ export function is(node: ISYNode<any, any, any, any>): node is BallastRelayLampSwitchNode {
61
+ return ["BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV"].includes(node.nodeDefId);
62
+ }
61
63
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is BallastRelayLampSwitchNode {
62
64
  return ["BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV"].includes(node.nodeDefId);
63
65
  }
@@ -32,7 +32,7 @@ export class BinaryAlarmNode extends Base<Drivers, Commands> implements BinaryAl
32
32
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
33
33
  }
34
34
  async query() { return this.sendCommand("QUERY"); }
35
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
35
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
36
36
  async writeChanges() { return this.sendCommand("WDU"); }
37
37
  public get status(): Insteon.OnLevelRelay {
38
38
  return this.drivers.ST?.value;
@@ -49,7 +49,9 @@ export namespace BinaryAlarm {
49
49
  export interface Interface extends Omit<InstanceType<typeof BinaryAlarmNode>, keyof ISYDeviceNode<any, any, any, any>> {
50
50
  nodeDefId: "BinaryAlarm" | "BinaryAlarm_ADV";
51
51
  }
52
- export function is(node: ISYNode<any, any, any, any>): node is BinaryAlarmNode { return ["BinaryAlarm", "BinaryAlarm_ADV"].includes(node.nodeDefId); }
52
+ export function is(node: ISYNode<any, any, any, any>): node is BinaryAlarmNode {
53
+ return ["BinaryAlarm", "BinaryAlarm_ADV"].includes(node.nodeDefId);
54
+ }
53
55
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is BinaryAlarmNode {
54
56
  return ["BinaryAlarm", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "BinaryAlarm_ADV"].includes(node.nodeDefId);
55
57
  }
@@ -32,7 +32,7 @@ export class BinaryControlNode extends Base<Drivers, Commands> implements Binary
32
32
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
33
33
  }
34
34
  async query() { return this.sendCommand("QUERY"); }
35
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
35
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
36
36
  async writeChanges() { return this.sendCommand("WDU"); }
37
37
  public get status(): Insteon.OnLevelRelay {
38
38
  return this.drivers.ST?.value;
@@ -49,7 +49,9 @@ export namespace BinaryControl {
49
49
  export interface Interface extends Omit<InstanceType<typeof BinaryControlNode>, keyof ISYDeviceNode<any, any, any, any>> {
50
50
  nodeDefId: "BinaryControl" | "BinaryControl_ADV";
51
51
  }
52
- export function is(node: ISYNode<any, any, any, any>): node is BinaryControlNode { return ["BinaryControl", "BinaryControl_ADV"].includes(node.nodeDefId); }
52
+ export function is(node: ISYNode<any, any, any, any>): node is BinaryControlNode {
53
+ return ["BinaryControl", "BinaryControl_ADV"].includes(node.nodeDefId);
54
+ }
53
55
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is BinaryControlNode {
54
56
  return ["BinaryControl", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "BinaryAlarm", "BinaryAlarm_ADV", "BinaryControl_ADV"].includes(node.nodeDefId);
55
57
  }
@@ -44,7 +44,7 @@ export class DimmerLampNode extends Base<Drivers, Commands> implements DimmerLam
44
44
  this.drivers.RR = Driver.create("RR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Ramp Rate", name: "rampRate" });
45
45
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
46
46
  }
47
- async on(value?: number) { return this.sendCommand("DON", { value: value }); }
47
+ async on(value?: number) { return this.sendCommand("DON", value); }
48
48
  async off() { return this.sendCommand("DOF"); }
49
49
  async fastOff() { return this.sendCommand("DFOF"); }
50
50
  async fastOn() { return this.sendCommand("DFON"); }
@@ -54,9 +54,9 @@ export class DimmerLampNode extends Base<Drivers, Commands> implements DimmerLam
54
54
  async fadeDown() { return this.sendCommand("FDDOWN"); }
55
55
  async fadeStop() { return this.sendCommand("FDSTOP"); }
56
56
  async query() { return this.sendCommand("QUERY"); }
57
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
58
- async updateOnLevel(value: number) { return this.sendCommand("OL", { value: value }); }
59
- async updateRampRate(value: Insteon.RampRate) { return this.sendCommand("RR", { value: value }); }
57
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
58
+ async updateOnLevel(value: number) { return this.sendCommand("OL", value); }
59
+ async updateRampRate(value: Insteon.RampRate) { return this.sendCommand("RR", value); }
60
60
  async writeChanges() { return this.sendCommand("WDU"); }
61
61
  public get status(): number {
62
62
  return this.drivers.ST?.value;
@@ -78,7 +78,9 @@ export namespace DimmerLamp {
78
78
  export interface Interface extends Omit<InstanceType<typeof DimmerLampNode>, keyof ISYDeviceNode<any, any, any, any>> {
79
79
  nodeDefId: "DimmerLampOnly";
80
80
  }
81
- export function is(node: ISYNode<any, any, any, any>): node is DimmerLampNode { return ["DimmerLampOnly"].includes(node.nodeDefId); }
81
+ export function is(node: ISYNode<any, any, any, any>): node is DimmerLampNode {
82
+ return ["DimmerLampOnly"].includes(node.nodeDefId);
83
+ }
82
84
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerLampNode {
83
85
  return ["DimmerLampOnly", "DimmerLampSwitch", "DimmerLampSwitch_ADV", "DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV"].includes(node.nodeDefId);
84
86
  }
@@ -45,7 +45,7 @@ export class DimmerLampSwitchNode extends Base<Drivers, Commands> implements Dim
45
45
  this.drivers.RR = Driver.create("RR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Ramp Rate", name: "rampRate" });
46
46
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
47
47
  }
48
- async on(value?: number) { return this.sendCommand("DON", { value: value }); }
48
+ async on(value?: number) { return this.sendCommand("DON", value); }
49
49
  async off() { return this.sendCommand("DOF"); }
50
50
  async fastOff() { return this.sendCommand("DFOF"); }
51
51
  async fastOn() { return this.sendCommand("DFON"); }
@@ -55,10 +55,10 @@ export class DimmerLampSwitchNode extends Base<Drivers, Commands> implements Dim
55
55
  async fadeDown() { return this.sendCommand("FDDOWN"); }
56
56
  async fadeStop() { return this.sendCommand("FDSTOP"); }
57
57
  async query() { return this.sendCommand("QUERY"); }
58
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
59
- async updateOnLevel(value: number) { return this.sendCommand("OL", { value: value }); }
60
- async updateRampRate(value: Insteon.RampRate) { return this.sendCommand("RR", { value: value }); }
61
- async backlight(value: number) { return this.sendCommand("BL", { value: value }); }
58
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
59
+ async updateOnLevel(value: number) { return this.sendCommand("OL", value); }
60
+ async updateRampRate(value: Insteon.RampRate) { return this.sendCommand("RR", value); }
61
+ async backlight(value: number) { return this.sendCommand("BL", value); }
62
62
  async writeChanges() { return this.sendCommand("WDU"); }
63
63
  public get status(): number {
64
64
  return this.drivers.ST?.value;
@@ -81,7 +81,9 @@ export namespace DimmerLampSwitch {
81
81
  export interface Interface extends Omit<InstanceType<typeof DimmerLampSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
82
82
  nodeDefId: "DimmerLampSwitch" | "DimmerLampSwitch_ADV";
83
83
  }
84
- export function is(node: ISYNode<any, any, any, any>): node is DimmerLampSwitchNode { return ["DimmerLampSwitch", "DimmerLampSwitch_ADV"].includes(node.nodeDefId); }
84
+ export function is(node: ISYNode<any, any, any, any>): node is DimmerLampSwitchNode {
85
+ return ["DimmerLampSwitch", "DimmerLampSwitch_ADV"].includes(node.nodeDefId);
86
+ }
85
87
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerLampSwitchNode {
86
88
  return ["DimmerLampSwitch", "DimmerLampSwitch_ADV"].includes(node.nodeDefId);
87
89
  }
@@ -46,7 +46,7 @@ export class DimmerLampSwitchLedNode extends Base<Drivers, Commands> implements
46
46
  this.drivers.RR = Driver.create("RR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Ramp Rate", name: "rampRate" });
47
47
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
48
48
  }
49
- async on(value?: number) { return this.sendCommand("DON", { value: value }); }
49
+ async on(value?: number) { return this.sendCommand("DON", value); }
50
50
  async off() { return this.sendCommand("DOF"); }
51
51
  async fastOff() { return this.sendCommand("DFOF"); }
52
52
  async fastOn() { return this.sendCommand("DFON"); }
@@ -56,11 +56,11 @@ export class DimmerLampSwitchLedNode extends Base<Drivers, Commands> implements
56
56
  async fadeDown() { return this.sendCommand("FDDOWN"); }
57
57
  async fadeStop() { return this.sendCommand("FDSTOP"); }
58
58
  async query() { return this.sendCommand("QUERY"); }
59
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
60
- async updateOnLevel(value: number) { return this.sendCommand("OL", { value: value }); }
61
- async updateRampRate(value: Insteon.RampRate) { return this.sendCommand("RR", { value: value }); }
62
- async led(value: Insteon.I3RgbLed) { return this.sendCommand("LED", { value: value }); }
63
- async backlight(value: number) { return this.sendCommand("BL", { value: value }); }
59
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
60
+ async updateOnLevel(value: number) { return this.sendCommand("OL", value); }
61
+ async updateRampRate(value: Insteon.RampRate) { return this.sendCommand("RR", value); }
62
+ async led(value: Insteon.I3RgbLed) { return this.sendCommand("LED", value); }
63
+ async backlight(value: number) { return this.sendCommand("BL", value); }
64
64
  async writeChanges() { return this.sendCommand("WDU"); }
65
65
  public get status(): number {
66
66
  return this.drivers.ST?.value;
@@ -83,7 +83,9 @@ export namespace DimmerLampSwitchLed {
83
83
  export interface Interface extends Omit<InstanceType<typeof DimmerLampSwitchLedNode>, keyof ISYDeviceNode<any, any, any, any>> {
84
84
  nodeDefId: "DimmerLampSwitchLED" | "DimmerLampSwitchLED_ADV";
85
85
  }
86
- export function is(node: ISYNode<any, any, any, any>): node is DimmerLampSwitchLedNode { return ["DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV"].includes(node.nodeDefId); }
86
+ export function is(node: ISYNode<any, any, any, any>): node is DimmerLampSwitchLedNode {
87
+ return ["DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV"].includes(node.nodeDefId);
88
+ }
87
89
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerLampSwitchLedNode {
88
90
  return ["DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV"].includes(node.nodeDefId);
89
91
  }
@@ -43,7 +43,7 @@ export class DimmerMotorSwitchNode extends Base<Drivers, Commands> implements Di
43
43
  this.drivers.DUR = Driver.create("DUR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.DurationInSeconds, label: "Max Duration", name: "maxDuration" });
44
44
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
45
45
  }
46
- async on(value?: number) { return this.sendCommand("DON", { value: value }); }
46
+ async on(value?: number) { return this.sendCommand("DON", value); }
47
47
  async off() { return this.sendCommand("DOF"); }
48
48
  async fastOff() { return this.sendCommand("DFOF"); }
49
49
  async fastOn() { return this.sendCommand("DFON"); }
@@ -51,10 +51,10 @@ export class DimmerMotorSwitchNode extends Base<Drivers, Commands> implements Di
51
51
  async fadeDown() { return this.sendCommand("FDDOWN"); }
52
52
  async fadeStop() { return this.sendCommand("FDSTOP"); }
53
53
  async query() { return this.sendCommand("QUERY"); }
54
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
55
- async updateOnLevel(value: number) { return this.sendCommand("OL", { value: value }); }
56
- async updateMaxDuration(value: number) { return this.sendCommand("DUR", { value: value }); }
57
- async backlight(value: number) { return this.sendCommand("BL", { value: value }); }
54
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
55
+ async updateOnLevel(value: number) { return this.sendCommand("OL", value); }
56
+ async updateMaxDuration(value: number) { return this.sendCommand("DUR", value); }
57
+ async backlight(value: number) { return this.sendCommand("BL", value); }
58
58
  async writeChanges() { return this.sendCommand("WDU"); }
59
59
  public get status(): number {
60
60
  return this.drivers.ST?.value;
@@ -77,7 +77,9 @@ export namespace DimmerMotorSwitch {
77
77
  export interface Interface extends Omit<InstanceType<typeof DimmerMotorSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
78
78
  nodeDefId: "DimmerMotorSwitch" | "DimmerMotorSwitch_ADV";
79
79
  }
80
- export function is(node: ISYNode<any, any, any, any>): node is DimmerMotorSwitchNode { return ["DimmerMotorSwitch", "DimmerMotorSwitch_ADV"].includes(node.nodeDefId); }
80
+ export function is(node: ISYNode<any, any, any, any>): node is DimmerMotorSwitchNode {
81
+ return ["DimmerMotorSwitch", "DimmerMotorSwitch_ADV"].includes(node.nodeDefId);
82
+ }
81
83
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerMotorSwitchNode {
82
84
  return ["DimmerMotorSwitch", "DimmerMotorSwitch_ADV"].includes(node.nodeDefId);
83
85
  }
@@ -29,7 +29,7 @@ export class DimmerSwitchNode extends Base<Drivers, Commands> implements DimmerS
29
29
  super(isy, nodeInfo);
30
30
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
31
31
  }
32
- async backlight(value: number) { return this.sendCommand("BL", { value: value }); }
32
+ async backlight(value: number) { return this.sendCommand("BL", value); }
33
33
  async writeChanges() { return this.sendCommand("WDU"); }
34
34
  public get responding(): Insteon.Error {
35
35
  return this.drivers.ERR?.value;
@@ -43,7 +43,9 @@ export namespace DimmerSwitch {
43
43
  export interface Interface extends Omit<InstanceType<typeof DimmerSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
44
44
  nodeDefId: "DimmerSwitchOnly" | "DimmerSwitchOnly_ADV";
45
45
  }
46
- export function is(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode { return ["DimmerSwitchOnly", "DimmerSwitchOnly_ADV"].includes(node.nodeDefId); }
46
+ export function is(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode {
47
+ return ["DimmerSwitchOnly", "DimmerSwitchOnly_ADV"].includes(node.nodeDefId);
48
+ }
47
49
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DimmerSwitchNode {
48
50
  return ["DimmerSwitchOnly", "DimmerLampSwitch", "DimmerLampSwitch_ADV", "DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV", "DimmerSwitchOnly_ADV"].includes(node.nodeDefId);
49
51
  }
@@ -48,7 +48,9 @@ export namespace DoorLock {
48
48
  export interface Interface extends Omit<InstanceType<typeof DoorLockNode>, keyof ISYDeviceNode<any, any, any, any>> {
49
49
  nodeDefId: "DoorLock";
50
50
  }
51
- export function is(node: ISYNode<any, any, any, any>): node is DoorLockNode { return ["DoorLock"].includes(node.nodeDefId); }
51
+ export function is(node: ISYNode<any, any, any, any>): node is DoorLockNode {
52
+ return ["DoorLock"].includes(node.nodeDefId);
53
+ }
52
54
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is DoorLockNode {
53
55
  return ["DoorLock", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor"].includes(node.nodeDefId);
54
56
  }
@@ -45,7 +45,9 @@ export namespace Ezio2x4Input {
45
45
  export interface Interface extends Omit<InstanceType<typeof Ezio2x4InputNode>, keyof ISYDeviceNode<any, any, any, any>> {
46
46
  nodeDefId: "EZIO2x4_Input" | "EZIO2x4_Input_ADV";
47
47
  }
48
- export function is(node: ISYNode<any, any, any, any>): node is Ezio2x4InputNode { return ["EZIO2x4_Input", "EZIO2x4_Input_ADV"].includes(node.nodeDefId); }
48
+ export function is(node: ISYNode<any, any, any, any>): node is Ezio2x4InputNode {
49
+ return ["EZIO2x4_Input", "EZIO2x4_Input_ADV"].includes(node.nodeDefId);
50
+ }
49
51
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is Ezio2x4InputNode {
50
52
  return ["EZIO2x4_Input", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "KeypadButton", "KeypadButton_ADV", "EZRAIN_Input", "EZRAIN_Input_ADV", "EZIO2x4_Input_ADV"].includes(node.nodeDefId);
51
53
  }
@@ -32,7 +32,7 @@ export class Ezio2x4OutputNode extends Base<Drivers, Commands> implements Ezio2x
32
32
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
33
33
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
34
34
  }
35
- async on(value?: (0 | 100)) { return this.sendCommand("DON", { value: value }); }
35
+ async on(value?: (0 | 100)) { return this.sendCommand("DON", value); }
36
36
  async off() { return this.sendCommand("DOF"); }
37
37
  async query() { return this.sendCommand("QUERY"); }
38
38
  async writeChanges() { return this.sendCommand("WDU"); }
@@ -50,7 +50,9 @@ export namespace Ezio2x4Output {
50
50
  export interface Interface extends Omit<InstanceType<typeof Ezio2x4OutputNode>, keyof ISYDeviceNode<any, any, any, any>> {
51
51
  nodeDefId: "EZIO2x4_Output";
52
52
  }
53
- export function is(node: ISYNode<any, any, any, any>): node is Ezio2x4OutputNode { return ["EZIO2x4_Output"].includes(node.nodeDefId); }
53
+ export function is(node: ISYNode<any, any, any, any>): node is Ezio2x4OutputNode {
54
+ return ["EZIO2x4_Output"].includes(node.nodeDefId);
55
+ }
54
56
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is Ezio2x4OutputNode {
55
57
  return ["EZIO2x4_Output", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor", "EZRAIN_Output"].includes(node.nodeDefId);
56
58
  }
@@ -45,7 +45,9 @@ export namespace EzrainInput {
45
45
  export interface Interface extends Omit<InstanceType<typeof EzrainInputNode>, keyof ISYDeviceNode<any, any, any, any>> {
46
46
  nodeDefId: "EZRAIN_Input" | "EZRAIN_Input_ADV";
47
47
  }
48
- export function is(node: ISYNode<any, any, any, any>): node is EzrainInputNode { return ["EZRAIN_Input", "EZRAIN_Input_ADV"].includes(node.nodeDefId); }
48
+ export function is(node: ISYNode<any, any, any, any>): node is EzrainInputNode {
49
+ return ["EZRAIN_Input", "EZRAIN_Input_ADV"].includes(node.nodeDefId);
50
+ }
49
51
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is EzrainInputNode {
50
52
  return ["EZRAIN_Input", "EZRAIN_Input_ADV"].includes(node.nodeDefId);
51
53
  }
@@ -1,5 +1,5 @@
1
- /* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
2
-
1
+ /* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
2
+
3
3
  import { UnitOfMeasure } from "../../../Definitions/Global/UOM.js";
4
4
  import { Family } from "../../../Definitions/Global/Families.js";
5
5
  import type { NodeInfo } from "../../../Model/NodeInfo.js";
@@ -11,12 +11,12 @@ import { Driver } from "../../../Definitions/Global/Drivers.js";
11
11
  import { Insteon } from "../../../Definitions/index.js";
12
12
  import type { DriverState } from "../../../Model/DriverState.js";
13
13
  import { NodeFactory } from "../../NodeFactory.js";
14
-
14
+
15
15
  const nodeDefId = "EZRAIN_Output";
16
-
16
+
17
17
  type Commands = EzrainOutput.Commands;
18
18
  type Drivers = EzrainOutput.Drivers;
19
-
19
+
20
20
  export class EzrainOutputNode extends Base<Drivers, Commands> implements EzrainOutput.Interface {
21
21
  public override readonly commands = {
22
22
  DON: this.on,
@@ -33,11 +33,11 @@ export class EzrainOutputNode extends Base<Drivers, Commands> implements EzrainO
33
33
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
34
34
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
35
35
  }
36
- async on(value?: (0 | 100)) { return this.sendCommand("DON", { value: value }); }
36
+ async on(value?: (0 | 100)) { return this.sendCommand("DON", value); }
37
37
  async off() { return this.sendCommand("DOF"); }
38
38
  async query() { return this.sendCommand("QUERY"); }
39
39
  async writeChanges() { return this.sendCommand("WDU"); }
40
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
40
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
41
41
  public get status(): Insteon.OnLevelRelay {
42
42
  return this.drivers.ST?.value;
43
43
  }
@@ -45,14 +45,16 @@ export class EzrainOutputNode extends Base<Drivers, Commands> implements EzrainO
45
45
  return this.drivers.ERR?.value;
46
46
  }
47
47
  }
48
-
48
+
49
49
  NodeFactory.register(EzrainOutputNode);
50
-
50
+
51
51
  export namespace EzrainOutput {
52
52
  export interface Interface extends Omit<InstanceType<typeof EzrainOutputNode>, keyof ISYDeviceNode<any, any, any, any>> {
53
53
  nodeDefId: "EZRAIN_Output";
54
54
  }
55
- export function is(node: ISYNode<any, any, any, any>): node is EzrainOutputNode { return ["EZRAIN_Output"].includes(node.nodeDefId); }
55
+ export function is(node: ISYNode<any, any, any, any>): node is EzrainOutputNode {
56
+ return ["EZRAIN_Output"].includes(node.nodeDefId);
57
+ }
56
58
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is EzrainOutputNode {
57
59
  return ["EZRAIN_Output", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV", "FanLincMotor"].includes(node.nodeDefId);
58
60
  }
@@ -35,12 +35,12 @@ export class FanLincMotorNode extends Base<Drivers, Commands> implements FanLinc
35
35
  this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
36
36
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
37
37
  }
38
- async on(value: Insteon.FanLevel) { return this.sendCommand("DON", { value: value }); }
38
+ async on(value: Insteon.FanLevel) { return this.sendCommand("DON", value); }
39
39
  async off() { return this.sendCommand("DOF"); }
40
40
  async fastOff() { return this.sendCommand("DFOF"); }
41
41
  async fastOn() { return this.sendCommand("DFON"); }
42
42
  async query() { return this.sendCommand("QUERY"); }
43
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
43
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
44
44
  async writeChanges() { return this.sendCommand("WDU"); }
45
45
  public get status(): Insteon.FanLevel {
46
46
  return this.drivers.ST?.value;
@@ -56,7 +56,9 @@ export namespace FanLincMotor {
56
56
  export interface Interface extends Omit<InstanceType<typeof FanLincMotorNode>, keyof ISYDeviceNode<any, any, any, any>> {
57
57
  nodeDefId: "FanLincMotor";
58
58
  }
59
- export function is(node: ISYNode<any, any, any, any>): node is FanLincMotorNode { return ["FanLincMotor"].includes(node.nodeDefId); }
59
+ export function is(node: ISYNode<any, any, any, any>): node is FanLincMotorNode {
60
+ return ["FanLincMotor"].includes(node.nodeDefId);
61
+ }
60
62
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is FanLincMotorNode {
61
63
  return ["FanLincMotor"].includes(node.nodeDefId);
62
64
  }
@@ -47,15 +47,15 @@ export class I3KeypadFlagsNode extends Base<Drivers, Commands> implements I3Keyp
47
47
  this.drivers.GV8 = Driver.create("GV8", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Cleanup Reports", name: "cleanupReports" });
48
48
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
49
49
  }
50
- async updateMode(value: Insteon.I3RelayDim) { return this.sendCommand("GV0", { value: value }); }
51
- async updateProgramLock(value: Insteon.I3OnOff) { return this.sendCommand("GV1", { value: value }); }
52
- async updateResumeDim(value: Insteon.I3OnOff) { return this.sendCommand("GV2", { value: value }); }
53
- async updateRelayAtFullOn(value: Insteon.I3OnOff) { return this.sendCommand("GV3", { value: value }); }
54
- async updateKeyBeep(value: Insteon.I3OnOff) { return this.sendCommand("GV4", { value: value }); }
55
- async updateDisableRf(value: Insteon.I3OnOff) { return this.sendCommand("GV5", { value: value }); }
56
- async updateButtonLock(value: Insteon.I3OnOff) { return this.sendCommand("GV6", { value: value }); }
57
- async updateErrorBlink(value: Insteon.I3OnOff) { return this.sendCommand("GV7", { value: value }); }
58
- async updateCleanupReports(value: Insteon.I3OnOff) { return this.sendCommand("GV8", { value: value }); }
50
+ async updateMode(value: Insteon.I3RelayDim) { return this.sendCommand("GV0", value); }
51
+ async updateProgramLock(value: Insteon.I3OnOff) { return this.sendCommand("GV1", value); }
52
+ async updateResumeDim(value: Insteon.I3OnOff) { return this.sendCommand("GV2", value); }
53
+ async updateRelayAtFullOn(value: Insteon.I3OnOff) { return this.sendCommand("GV3", value); }
54
+ async updateKeyBeep(value: Insteon.I3OnOff) { return this.sendCommand("GV4", value); }
55
+ async updateDisableRf(value: Insteon.I3OnOff) { return this.sendCommand("GV5", value); }
56
+ async updateButtonLock(value: Insteon.I3OnOff) { return this.sendCommand("GV6", value); }
57
+ async updateErrorBlink(value: Insteon.I3OnOff) { return this.sendCommand("GV7", value); }
58
+ async updateCleanupReports(value: Insteon.I3OnOff) { return this.sendCommand("GV8", value); }
59
59
  async query() { return this.sendCommand("QUERY"); }
60
60
  async writeChanges() { return this.sendCommand("WDU"); }
61
61
  public get mode(): Insteon.I3RelayDim {
@@ -96,7 +96,9 @@ export namespace I3KeypadFlags {
96
96
  export interface Interface extends Omit<InstanceType<typeof I3KeypadFlagsNode>, keyof ISYDeviceNode<any, any, any, any>> {
97
97
  nodeDefId: "I3KeypadFlags";
98
98
  }
99
- export function is(node: ISYNode<any, any, any, any>): node is I3KeypadFlagsNode { return ["I3KeypadFlags"].includes(node.nodeDefId); }
99
+ export function is(node: ISYNode<any, any, any, any>): node is I3KeypadFlagsNode {
100
+ return ["I3KeypadFlags"].includes(node.nodeDefId);
101
+ }
100
102
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is I3KeypadFlagsNode {
101
103
  return ["I3KeypadFlags"].includes(node.nodeDefId);
102
104
  }
@@ -43,13 +43,13 @@ export class I3PaddleFlagsNode extends Base<Drivers, Commands> implements I3Padd
43
43
  this.drivers.GV7 = Driver.create("GV7", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Boolean, label: "Error Blink", name: "errorBlink" });
44
44
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
45
45
  }
46
- async updateMode(value: Insteon.I3RelayDim) { return this.sendCommand("GV0", { value: value }); }
47
- async updateProgramLock(value: Insteon.I3OnOff) { return this.sendCommand("GV1", { value: value }); }
48
- async updateResumeDim(value: Insteon.I3OnOff) { return this.sendCommand("GV2", { value: value }); }
49
- async updateKeyBeep(value: Insteon.I3OnOff) { return this.sendCommand("GV4", { value: value }); }
50
- async updateDisableRf(value: Insteon.I3OnOff) { return this.sendCommand("GV5", { value: value }); }
51
- async updateButtonLock(value: Insteon.I3OnOff) { return this.sendCommand("GV6", { value: value }); }
52
- async updateErrorBlink(value: Insteon.I3OnOff) { return this.sendCommand("GV7", { value: value }); }
46
+ async updateMode(value: Insteon.I3RelayDim) { return this.sendCommand("GV0", value); }
47
+ async updateProgramLock(value: Insteon.I3OnOff) { return this.sendCommand("GV1", value); }
48
+ async updateResumeDim(value: Insteon.I3OnOff) { return this.sendCommand("GV2", value); }
49
+ async updateKeyBeep(value: Insteon.I3OnOff) { return this.sendCommand("GV4", value); }
50
+ async updateDisableRf(value: Insteon.I3OnOff) { return this.sendCommand("GV5", value); }
51
+ async updateButtonLock(value: Insteon.I3OnOff) { return this.sendCommand("GV6", value); }
52
+ async updateErrorBlink(value: Insteon.I3OnOff) { return this.sendCommand("GV7", value); }
53
53
  async query() { return this.sendCommand("QUERY"); }
54
54
  async writeChanges() { return this.sendCommand("WDU"); }
55
55
  public get mode(): Insteon.I3RelayDim {
@@ -84,7 +84,9 @@ export namespace I3PaddleFlags {
84
84
  export interface Interface extends Omit<InstanceType<typeof I3PaddleFlagsNode>, keyof ISYDeviceNode<any, any, any, any>> {
85
85
  nodeDefId: "I3PaddleFlags";
86
86
  }
87
- export function is(node: ISYNode<any, any, any, any>): node is I3PaddleFlagsNode { return ["I3PaddleFlags"].includes(node.nodeDefId); }
87
+ export function is(node: ISYNode<any, any, any, any>): node is I3PaddleFlagsNode {
88
+ return ["I3PaddleFlags"].includes(node.nodeDefId);
89
+ }
88
90
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is I3PaddleFlagsNode {
89
91
  return ["I3PaddleFlags", "I3KeypadFlags"].includes(node.nodeDefId);
90
92
  }
@@ -52,7 +52,9 @@ export namespace ImeterSolo {
52
52
  export interface Interface extends Omit<InstanceType<typeof ImeterSoloNode>, keyof ISYDeviceNode<any, any, any, any>> {
53
53
  nodeDefId: "IMETER_SOLO";
54
54
  }
55
- export function is(node: ISYNode<any, any, any, any>): node is ImeterSoloNode { return ["IMETER_SOLO"].includes(node.nodeDefId); }
55
+ export function is(node: ISYNode<any, any, any, any>): node is ImeterSoloNode {
56
+ return ["IMETER_SOLO"].includes(node.nodeDefId);
57
+ }
56
58
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ImeterSoloNode {
57
59
  return ["IMETER_SOLO"].includes(node.nodeDefId);
58
60
  }
@@ -29,7 +29,7 @@ export class IrLincTxNode extends Base<Drivers, Commands> implements IrLincTx.In
29
29
  super(isy, nodeInfo);
30
30
  this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
31
31
  }
32
- async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
32
+ async beep(value?: number) { return this.sendCommand("BEEP", value); }
33
33
  async writeChanges() { return this.sendCommand("WDU"); }
34
34
  public get responding(): Insteon.Error {
35
35
  return this.drivers.ERR?.value;
@@ -42,7 +42,9 @@ export namespace IrLincTx {
42
42
  export interface Interface extends Omit<InstanceType<typeof IrLincTxNode>, keyof ISYDeviceNode<any, any, any, any>> {
43
43
  nodeDefId: "IRLincTx";
44
44
  }
45
- export function is(node: ISYNode<any, any, any, any>): node is IrLincTxNode { return ["IRLincTx"].includes(node.nodeDefId); }
45
+ export function is(node: ISYNode<any, any, any, any>): node is IrLincTxNode {
46
+ return ["IRLincTx"].includes(node.nodeDefId);
47
+ }
46
48
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is IrLincTxNode {
47
49
  return ["IRLincTx", "Thermostat", "TempLinc", "DimmerMotorSwitch", "DimmerMotorSwitch_ADV", "DimmerLampSwitch", "DimmerLampSwitch_ADV", "DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV", "DimmerLampOnly", "KeypadDimmer", "KeypadDimmer_ADV", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelaySwitchOnlyPlusQuery", "RelaySwitchOnlyPlusQuery_ADV", "RelaySwitchOnly", "RelaySwitchOnly_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV"].includes(node.nodeDefId);
48
50
  }