isy-nodejs 1.0.2-alpha.6 → 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/CodeFactory.js +17 -6
  2. package/dist/esm/CodeGeneration/CodeFactory.js.map +1 -1
  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 +8 -8
  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 +3 -1
  10. package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js.map +1 -1
  11. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js +3 -1
  12. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js.map +1 -1
  13. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js +3 -1
  14. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js.map +1 -1
  15. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js +3 -1
  16. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js.map +1 -1
  17. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js +3 -1
  18. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js.map +1 -1
  19. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js +3 -1
  20. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js.map +1 -1
  21. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js +3 -1
  22. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js.map +1 -1
  23. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js +3 -1
  24. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js.map +1 -1
  25. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js +3 -1
  26. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js.map +1 -1
  27. package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js +3 -1
  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 +3 -1
  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 +3 -1
  38. package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js.map +1 -1
  39. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js +3 -1
  40. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js.map +1 -1
  41. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js +3 -1
  42. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js.map +1 -1
  43. package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js +3 -1
  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 +3 -1
  48. package/dist/esm/Devices/Insteon/Generated/IrLincTx.js.map +1 -1
  49. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js +3 -1
  50. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js.map +1 -1
  51. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js +4 -2
  52. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js.map +1 -1
  53. package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js +4 -2
  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 +4 -2
  58. package/dist/esm/Devices/Insteon/Generated/Pir2844.js.map +1 -1
  59. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js +3 -1
  60. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js.map +1 -1
  61. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js +4 -2
  62. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js.map +1 -1
  63. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js +4 -2
  64. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js.map +1 -1
  65. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +4 -2
  66. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +1 -1
  67. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js +4 -2
  68. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js.map +1 -1
  69. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js +4 -2
  70. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js.map +1 -1
  71. package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js +4 -2
  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 +3 -1
  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 +3 -1
  80. package/dist/esm/Devices/Insteon/Generated/TempLinc.js.map +1 -1
  81. package/dist/esm/Devices/Insteon/Generated/Thermostat.js +3 -1
  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 +3 -1
  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 +3 -1
  102. package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js.map +1 -1
  103. package/dist/esm/ISY.js +58 -33
  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 +36 -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/CodeFactory.d.ts.map +1 -1
  118. package/dist/esm/types/CodeGeneration/EnumFactory.d.ts.map +1 -1
  119. package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
  120. package/dist/esm/types/Converters.d.ts +12 -6
  121. package/dist/esm/types/Converters.d.ts.map +1 -1
  122. package/dist/esm/types/Devices/EndpointFor.d.ts +1 -1
  123. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -1
  124. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -1
  125. package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -1
  126. package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -1
  127. package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -1
  128. package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -1
  129. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -1
  130. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -1
  131. package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -1
  132. package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -1
  133. package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -1
  134. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -1
  135. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -1
  136. package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -1
  137. package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -1
  138. package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -1
  139. package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -1
  140. package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -1
  141. package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -1
  142. package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -1
  143. package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -1
  144. package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -1
  145. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +6 -6
  146. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -1
  147. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +3 -3
  148. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -1
  149. package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -1
  150. package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -1
  151. package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -1
  152. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +3 -3
  153. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -1
  154. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +3 -3
  155. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -1
  156. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +6 -6
  157. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -1
  158. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -1
  159. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -1
  160. package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -1
  161. package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -1
  162. package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -1
  163. package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -1
  164. package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -1
  165. package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -1
  166. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +2 -2
  167. package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -1
  168. package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -1
  169. package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -1
  170. package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -1
  171. package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -1
  172. package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -1
  173. package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -1
  174. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +16 -9
  175. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -1
  176. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +15 -15
  177. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -1
  178. package/dist/esm/types/ISY.d.ts +6 -2
  179. package/dist/esm/types/ISY.d.ts.map +1 -1
  180. package/dist/esm/types/ISYNode.d.ts +1 -1
  181. package/dist/esm/types/ISYNode.d.ts.map +1 -1
  182. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +1 -1
  183. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
  184. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +1 -1
  185. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
  186. package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
  187. package/dist/esm/types/Matter/Bridge/Server.d.ts +0 -1
  188. package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
  189. package/dist/esm/types/Matter/Mappings/Insteon.d.ts +3 -1
  190. package/dist/esm/types/Matter/Mappings/Insteon.d.ts.map +1 -1
  191. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts +144 -0
  192. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts.map +1 -0
  193. package/dist/esm/types/Model/ClassDefinition.d.ts +9 -623
  194. package/dist/esm/types/Model/ClassDefinition.d.ts.map +1 -1
  195. package/dist/esm/types/Model/EnumDefinition.d.ts +1 -1
  196. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  197. package/package.json +4 -2
  198. package/src/CodeGeneration/CodeFactory.ts +18 -2
  199. package/src/CodeGeneration/EnumFactory.ts +5 -4
  200. package/src/CodeGeneration/NodeClassFactory.ts +9 -8
  201. package/src/Converters.ts +16 -10
  202. package/src/Devices/Brultech/Generated/Channel.ts +3 -1
  203. package/src/Devices/Brultech/Generated/Main.ts +3 -1
  204. package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +3 -1
  205. package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +3 -1
  206. package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +3 -1
  207. package/src/Devices/Insteon/Generated/BinaryAlarm.ts +3 -1
  208. package/src/Devices/Insteon/Generated/BinaryControl.ts +3 -1
  209. package/src/Devices/Insteon/Generated/DimmerLamp.ts +3 -1
  210. package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +3 -1
  211. package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +3 -1
  212. package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +3 -1
  213. package/src/Devices/Insteon/Generated/DimmerSwitch.ts +3 -1
  214. package/src/Devices/Insteon/Generated/DoorLock.ts +3 -1
  215. package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +3 -1
  216. package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +3 -1
  217. package/src/Devices/Insteon/Generated/EzrainInput.ts +3 -1
  218. package/src/Devices/Insteon/Generated/EzrainOutput.ts +3 -1
  219. package/src/Devices/Insteon/Generated/FanLincMotor.ts +3 -1
  220. package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +3 -1
  221. package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +3 -1
  222. package/src/Devices/Insteon/Generated/ImeterSolo.ts +3 -1
  223. package/src/Devices/Insteon/Generated/IrLincTx.ts +3 -1
  224. package/src/Devices/Insteon/Generated/KeypadButton.ts +3 -1
  225. package/src/Devices/Insteon/Generated/KeypadDimmer.ts +4 -2
  226. package/src/Devices/Insteon/Generated/KeypadRelay.ts +16 -14
  227. package/src/Devices/Insteon/Generated/OnOffControl.ts +7 -5
  228. package/src/Devices/Insteon/Generated/Pir2844.ts +4 -2
  229. package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +3 -1
  230. package/src/Devices/Insteon/Generated/Pir2844c.ts +4 -2
  231. package/src/Devices/Insteon/Generated/RelayLamp.ts +7 -5
  232. package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +7 -5
  233. package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +9 -7
  234. package/src/Devices/Insteon/Generated/RelaySwitch.ts +4 -2
  235. package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +4 -2
  236. package/src/Devices/Insteon/Generated/RemoteLinc2.ts +3 -1
  237. package/src/Devices/Insteon/Generated/Siren.ts +3 -1
  238. package/src/Devices/Insteon/Generated/SirenAlert.ts +3 -1
  239. package/src/Devices/Insteon/Generated/TempLinc.ts +3 -1
  240. package/src/Devices/Insteon/Generated/Thermostat.ts +3 -1
  241. package/src/Devices/Insteon/Generated/X10.ts +3 -1
  242. package/src/Devices/Lutron/Generated/LoadShed.ts +3 -1
  243. package/src/Devices/NCD/Generated/Relay.ts +3 -1
  244. package/src/Devices/Poly/Generated/MatterBridge.ts +3 -1
  245. package/src/Devices/Scene/Generated/Scene.ts +3 -1
  246. package/src/Devices/UDI/Generated/Channel.ts +3 -1
  247. package/src/Devices/UDI/Generated/Em3MainChannel.ts +3 -1
  248. package/src/Devices/UDI/Generated/Main.ts +3 -1
  249. package/src/Devices/UDI/Generated/PulseCounter.ts +3 -1
  250. package/src/Devices/UDI/Generated/Relay.ts +3 -1
  251. package/src/Devices/UDI/Generated/TemperatureSensor.ts +3 -1
  252. package/src/Devices/ZWave/Generated/ColorSwitch.ts +19 -7
  253. package/src/Devices/ZWave/Generated/DimmerSwitch.ts +13 -11
  254. package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +3 -1
  255. package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +3 -1
  256. package/src/ISY.ts +57 -24
  257. package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +1 -1
  258. package/src/Matter/Behaviors/ISYClusterBehavior.ts +2 -1
  259. package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +2 -1
  260. package/src/Matter/Bridge/Server.ts +10 -6
  261. package/src/Matter/Mappings/Insteon.ts +38 -15
  262. package/src/{Model/ClusterMap.ts → Matter/Mappings/MappingRegistry.ts} +26 -14
  263. package/src/Model/ClassDefinition.ts +16 -10
  264. package/src/Utils.ts +1 -1
  265. package/dist/esm/CodeGeneration/NodeFactory.js +0 -245
  266. package/dist/esm/CodeGeneration/NodeFactory.js.map +0 -1
  267. package/dist/esm/Model/ClusterMap.js.map +0 -1
  268. package/dist/esm/types/CodeGeneration/NodeFactory.d.ts +0 -75
  269. package/dist/esm/types/CodeGeneration/NodeFactory.d.ts.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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "isy-nodejs",
3
3
  "description": "Node.js wrapper for ISY interface including websockets for change notifications. Fork of isy-js by Rod Toll. Designed to be used in a node.js application.",
4
4
  "license": "MIT",
5
- "version": "1.0.2-alpha.6",
5
+ "version": "1.0.3-alpha.0",
6
6
  "author": {
7
7
  "name": "Pradeep Mouli"
8
8
  },
@@ -57,12 +57,14 @@
57
57
  "@matter/types": "^0.11.4",
58
58
  "@project-chip/matter-node.js": "^0.11.4",
59
59
  "@project-chip/matter.js": "^0.11.4",
60
+ "@types/ws": "^8.5.13",
60
61
  "axios": "^1.7.7",
61
62
  "fast-xml-parser": "^4.5.0",
62
63
  "faye-websocket": "^0.11.4",
63
64
  "mocha": "^10.8.2",
64
65
  "p-queue": "^8.0.1",
65
66
  "winston": "^3.17.0",
67
+ "ws": "^8.18.0",
66
68
  "xml2js": "^0.6.2"
67
69
  },
68
70
  "bugs": {
@@ -71,5 +73,5 @@
71
73
  "publishConfig": {
72
74
  "access": "public"
73
75
  },
74
- "gitHead": "669e56896392dea34e29a2f90f82d0b904c696e9"
76
+ "gitHead": "7bc1560e617cbcb61c29680bd33ea63e2660f472"
75
77
  }
@@ -1,4 +1,6 @@
1
+ import { unique } from 'moderndash';
1
2
  import ts, { ModifierFlags, type ModifierSyntaxKind, type PunctuationSyntaxKind } from 'typescript';
3
+ import { types } from 'util';
2
4
 
3
5
  type ParameterType<F> = F extends (arg0: infer P) => any ? P : never;
4
6
 
@@ -207,10 +209,17 @@ export class CodeFactory {
207
209
  return a.typeName.text === b.typeName.text;
208
210
  }
209
211
  }
212
+ if(a.kind === ts.SyntaxKind.NumberKeyword || a.kind === ts.SyntaxKind.StringKeyword || a.kind === ts.SyntaxKind.BigIntKeyword)
213
+ {
214
+ return a.kind === b.kind;
215
+ }
210
216
  return false;
211
217
  }
212
218
 
213
219
  createUnionTypeNode(...types: ts.TypeNode[]): ts.UnionTypeNode {
220
+ let t = unique(types, this.typesEqual);
221
+ /*try
222
+ {
214
223
  let t = [types[0]];
215
224
  for (let i = 1; i < types.length; i++) {
216
225
  if (types[i].kind !== ts.SyntaxKind.NeverKeyword) {
@@ -219,7 +228,14 @@ export class CodeFactory {
219
228
  } else if (!t.some((x) => this.typesEqual(x, types[i]))) t.push(types[i]);
220
229
  }
221
230
  }
222
- return ts.factory.createUnionTypeNode(types);
231
+ return ts.factory.createUnionTypeNode(t);
232
+ }
233
+ catch(e)
234
+ {*/
235
+ //console.warn(e);
236
+ return ts.factory.createUnionTypeNode(t);
237
+ //}
238
+
223
239
  }
224
240
 
225
241
  createIntersectionTypeNode(types: ts.TypeNode[]): ts.IntersectionTypeNode {
@@ -311,7 +327,7 @@ export class CodeFactory {
311
327
  if(typeof multiLine === 'boolean') {
312
328
  return ts.factory.createBlock(statements, multiLine);
313
329
  }
314
- return ts.factory.createBlock([multiLine, ...statements]);
330
+ return ts.factory.createBlock([multiLine, ...statements],true);
315
331
 
316
332
  }
317
333
 
@@ -1,5 +1,5 @@
1
1
  import { factory } from "typescript";
2
- import { createWrappedNode, ts, type EnumDeclaration, EnumMember, Identifier } from 'ts-morph'
2
+ import { createWrappedNode, ts, type EnumDeclaration, EnumMember, Identifier} from 'ts-morph'
3
3
  import { UnitOfMeasure } from "../Definitions/Global/UOM.js";
4
4
 
5
5
  import type {
@@ -7,6 +7,7 @@ import type {
7
7
  DriverDefinition,
8
8
  ParameterDefinition,
9
9
  CommandDefinition,
10
+ DataTypeDefinition,
10
11
  } from "../Model/ClassDefinition.js";
11
12
  import { EnumDefinition, EnumDefinitionMap } from "../Model/EnumDefinition.js";
12
13
  import { isGeneratorFunction } from "util/types";
@@ -136,7 +137,7 @@ function createDriverInitializationStatement(def: DriverDefinition): ts.Statemen
136
137
  factory.createIdentifier("uom"),
137
138
  factory.createPropertyAccessExpression(
138
139
  factory.createIdentifier("UnitOfMeasure"),
139
- factory.createIdentifier(UnitOfMeasure[Object.values(def.dataType)[0]?.uom] ?? "Unknown")
140
+ factory.createIdentifier(UnitOfMeasure[def.dataType[0]?.uom] ?? "Unknown")
140
141
  )
141
142
  ),
142
143
  factory.createPropertyAssignment(
@@ -153,7 +154,7 @@ function createDriverInitializationStatement(def: DriverDefinition): ts.Statemen
153
154
  );
154
155
  }
155
156
 
156
- function createDriverSignatureReturnType(def: DriverDefinition["dataType"]["AbsoluteHumidity"]): ts.TypeNode {
157
+ function createDriverSignatureReturnType(def: DataTypeDefinition): ts.TypeNode {
157
158
  if (def.enum) {
158
159
  return factory.createUnionTypeNode(
159
160
  Object.keys(def.values).map((p) => factory.createLiteralTypeNode(factory.createNumericLiteral(p)))
@@ -161,7 +162,7 @@ function createDriverSignatureReturnType(def: DriverDefinition["dataType"]["Abso
161
162
  } else return factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);
162
163
  }
163
164
 
164
- function createDriverPropertyReturnType(def: DriverDefinition["dataType"]["AbsoluteHumidity"]): ts.TypeNode {
165
+ function createDriverPropertyReturnType(def: DataTypeDefinition): ts.TypeNode {
165
166
  if (def.enum) {
166
167
  {
167
168
  if (Object.keys(def.values).length == 2) {
@@ -35,7 +35,8 @@ export class NodeClassFactory extends CodeFactory {
35
35
  useTrailingCommas: false,
36
36
  indentationText: IndentationText.Tab,
37
37
  newLineKind: ts.NewLineKind.CarriageReturnLineFeed,
38
- insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: true
38
+ insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: true,
39
+
39
40
  }
40
41
  });
41
42
 
@@ -336,7 +337,7 @@ export class NodeClassFactory extends CodeFactory {
336
337
  )
337
338
  ],
338
339
  factory.createTypePredicateNode(undefined, factory.createIdentifier('node'), factory.createTypeReferenceNode(factory.createIdentifier(`${nodeClassDef.name}Node`), undefined)),
339
- NodeClassFactory.instance.createBlock(
340
+ NodeClassFactory.instance.createBlock(true,
340
341
  NodeClassFactory.instance.createReturnStatement(
341
342
  factory.createCallExpression(
342
343
  factory.createPropertyAccessExpression(
@@ -624,7 +625,7 @@ export class NodeClassFactory extends CodeFactory {
624
625
  [factory.createToken(ts.SyntaxKind.PublicKeyword)],
625
626
  factory.createIdentifier(def.name),
626
627
  [],
627
- NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => NodeClassFactory.instance.createDriverPropertyReturnType(p, def))),
628
+ NodeClassFactory.instance.createUnionTypeNode(...def.dataType?.map((p) => NodeClassFactory.instance.createDriverPropertyReturnType(p, def))),
628
629
  factory.createBlock(
629
630
  [
630
631
  factory.createReturnStatement(
@@ -656,7 +657,7 @@ export class NodeClassFactory extends CodeFactory {
656
657
  [
657
658
  factory.createPropertyAssignment(
658
659
  factory.createIdentifier('uom'),
659
- factory.createPropertyAccessExpression(factory.createIdentifier('UnitOfMeasure'), factory.createIdentifier(UnitOfMeasure[parseInt(Object.keys(def.dataType)[0])] ?? 'Unknown'))
660
+ factory.createPropertyAccessExpression(factory.createIdentifier('UnitOfMeasure'), factory.createIdentifier(UnitOfMeasure[def.dataType[0]?.uom] ?? 'Unknown'))
660
661
  ),
661
662
  factory.createPropertyAssignment(factory.createIdentifier('label'), factory.createStringLiteral(def.label)),
662
663
  factory.createPropertyAssignment(factory.createIdentifier('name'), factory.createStringLiteral(def.name))
@@ -707,7 +708,7 @@ export class NodeClassFactory extends CodeFactory {
707
708
  factory.createIdentifier('uom'),
708
709
  undefined,
709
710
  def.dataType ?
710
- NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => NodeClassFactory.instance.createTypeNodeForUOM(p.uom)))
711
+ NodeClassFactory.instance.createUnionTypeNode(...def.dataType?.map((p) => NodeClassFactory.instance.createTypeNodeForUOM(p.uom)))
711
712
  : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword)
712
713
  ),
713
714
  factory.createPropertySignature(
@@ -715,7 +716,7 @@ export class NodeClassFactory extends CodeFactory {
715
716
  factory.createIdentifier('value'),
716
717
  undefined,
717
718
  def.dataType ?
718
- NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => NodeClassFactory.instance.createDriverSignatureReturnType(p, def)))
719
+ NodeClassFactory.instance.createUnionTypeNode(...def.dataType.map((p) => NodeClassFactory.instance.createDriverSignatureReturnType(p, def)))
719
720
  : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword)
720
721
  ),
721
722
  factory.createPropertySignature(undefined, factory.createIdentifier('label'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(def.label))),
@@ -748,7 +749,7 @@ export class NodeClassFactory extends CodeFactory {
748
749
  factory.createIdentifier(def.name ?? 'value'),
749
750
  def.optional ? factory.createToken(ts.SyntaxKind.QuestionToken) : undefined,
750
751
  def.dataType ?
751
- NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => NodeClassFactory.instance.createCommandParameterType(p, def)))
752
+ NodeClassFactory.instance.createUnionTypeNode(...def.dataType?.map((p) => NodeClassFactory.instance.createCommandParameterType(p, def)))
752
753
  : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),
753
754
  undefined
754
755
  );
@@ -761,7 +762,7 @@ export class NodeClassFactory extends CodeFactory {
761
762
  factory.createIdentifier(def.id ?? 'value'),
762
763
  def.optional ? factory.createToken(ts.SyntaxKind.QuestionToken) : undefined,
763
764
  def.dataType ?
764
- NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => NodeClassFactory.instance.createCommandParameterType(p, def)))
765
+ NodeClassFactory.instance.createUnionTypeNode(...def.dataType?.map((p) => NodeClassFactory.instance.createCommandParameterType(p, def)))
765
766
  : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),
766
767
  undefined
767
768
  );
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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -52,7 +52,9 @@ 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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -49,7 +49,9 @@ export namespace KeypadButton {
49
49
  export interface Interface extends Omit<InstanceType<typeof KeypadButtonNode>, keyof ISYDeviceNode<any, any, any, any>> {
50
50
  nodeDefId: "KeypadButton" | "KeypadButton_ADV";
51
51
  }
52
- export function is(node: ISYNode<any, any, any, any>): node is KeypadButtonNode { return ["KeypadButton", "KeypadButton_ADV"].includes(node.nodeDefId); }
52
+ export function is(node: ISYNode<any, any, any, any>): node is KeypadButtonNode {
53
+ return ["KeypadButton", "KeypadButton_ADV"].includes(node.nodeDefId);
54
+ }
53
55
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is KeypadButtonNode {
54
56
  return ["KeypadButton", "KeypadRelay", "KeypadRelay_ADV", "KeypadButton_ADV"].includes(node.nodeDefId);
55
57
  }
@@ -36,7 +36,7 @@ export class KeypadDimmerNode extends Base<Drivers, Commands> implements KeypadD
36
36
  WDU: this.writeChanges
37
37
  };
38
38
  static override nodeDefId = "KeypadDimmer";
39
- static override implements = ["KeypadDimmer", "RemoteLinc2", "RemoteLinc2_ADV", "IRLincTx", "SirenAlert", "SirenArm"];
39
+ static override implements = ["KeypadDimmer", "RelaySwitchOnlyPlusQuery", "RelaySwitchOnlyPlusQuery_ADV", "RelaySwitchOnly", "RelaySwitchOnly_ADV", "RemoteLinc2", "RemoteLinc2_ADV", "IRLincTx", "SirenAlert", "SirenArm"];
40
40
  declare readonly nodeDefId: "KeypadDimmer" | "KeypadDimmer_ADV";
41
41
  constructor (isy: ISY, nodeInfo: NodeInfo) {
42
42
  super(isy, nodeInfo);
@@ -81,7 +81,9 @@ export namespace KeypadDimmer {
81
81
  export interface Interface extends Omit<InstanceType<typeof KeypadDimmerNode>, keyof ISYDeviceNode<any, any, any, any>> {
82
82
  nodeDefId: "KeypadDimmer" | "KeypadDimmer_ADV";
83
83
  }
84
- export function is(node: ISYNode<any, any, any, any>): node is KeypadDimmerNode { return ["KeypadDimmer", "KeypadDimmer_ADV"].includes(node.nodeDefId); }
84
+ export function is(node: ISYNode<any, any, any, any>): node is KeypadDimmerNode {
85
+ return ["KeypadDimmer", "KeypadDimmer_ADV"].includes(node.nodeDefId);
86
+ }
85
87
  export function isImplementedBy(node: ISYNode<any, any, any, any>): node is KeypadDimmerNode {
86
88
  return ["KeypadDimmer", "KeypadDimmer_ADV"].includes(node.nodeDefId);
87
89
  }