isy-nodejs 1.0.2-alpha.2 → 1.0.2-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/CodeGeneration/NodeClassFactory.js +76 -33
- package/dist/esm/CodeGeneration/NodeClassFactory.js.map +1 -1
- package/dist/esm/CodeGeneration/NodeFactory.js +245 -0
- package/dist/esm/CodeGeneration/NodeFactory.js.map +1 -0
- package/dist/esm/Converters.js +15 -1
- package/dist/esm/Converters.js.map +1 -1
- package/dist/esm/Definitions/Global/Drivers.js.map +1 -1
- package/dist/esm/Definitions/Global/Events.js.map +1 -1
- package/dist/esm/Devices/ISYDevice.js +0 -33
- package/dist/esm/Devices/ISYDevice.js.map +1 -1
- package/dist/esm/Devices/ISYDeviceNode.js +2 -2
- package/dist/esm/Devices/ISYDeviceNode.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js +49 -0
- package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js +54 -0
- package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js +54 -0
- package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js +46 -0
- package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/BinaryControl.js +46 -0
- package/dist/esm/Devices/Insteon/Generated/BinaryControl.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js +75 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js +78 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js +80 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js +74 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js +40 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DoorLock.js +45 -0
- package/dist/esm/Devices/Insteon/Generated/DoorLock.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js +42 -0
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js +47 -0
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/EzrainInput.js +42 -0
- package/dist/esm/Devices/Insteon/Generated/EzrainInput.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js +49 -0
- package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js +53 -0
- package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js +93 -0
- package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js +81 -0
- package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js +49 -0
- package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/IrLincTx.js +39 -0
- package/dist/esm/Devices/Insteon/Generated/IrLincTx.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadButton.js +46 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadButton.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js +78 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js +56 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/OnOffControl.js +39 -0
- package/dist/esm/Devices/Insteon/Generated/OnOffControl.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844.js +64 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js +50 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844c.js +64 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844c.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLamp.js +54 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLamp.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +56 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js +58 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js +42 -0
- package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js +44 -0
- package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js +42 -0
- package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Siren.js +66 -0
- package/dist/esm/Devices/Insteon/Generated/Siren.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/SirenAlert.js +35 -0
- package/dist/esm/Devices/Insteon/Generated/SirenAlert.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/TempLinc.js +83 -0
- package/dist/esm/Devices/Insteon/Generated/TempLinc.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Thermostat.js +83 -0
- package/dist/esm/Devices/Insteon/Generated/Thermostat.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/X10.js +49 -0
- package/dist/esm/Devices/Insteon/Generated/X10.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/index.js +39 -0
- package/dist/esm/Devices/Insteon/Generated/index.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonBaseDevice.js +3 -4
- package/dist/esm/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js +2 -2
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonRelayDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/KeypadButton.js +11 -11
- package/dist/esm/Devices/Insteon/KeypadButton.js.map +1 -1
- package/dist/esm/Devices/Insteon/index.js +16 -29
- package/dist/esm/Devices/Insteon/index.js.map +1 -1
- package/dist/esm/Devices/Lutron/Generated/LoadShed.js +45 -0
- package/dist/esm/Devices/Lutron/Generated/LoadShed.js.map +1 -0
- package/dist/esm/Devices/NodeFactory.js +45 -8
- package/dist/esm/Devices/NodeFactory.js.map +1 -1
- package/dist/esm/Devices/Scene/index.js +2 -2
- package/dist/esm/Devices/Scene/index.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Channel.js +42 -0
- package/dist/esm/Devices/UDI/Generated/Channel.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js +54 -0
- package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/Main.js +45 -0
- package/dist/esm/Devices/UDI/Generated/Main.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/PulseCounter.js +46 -0
- package/dist/esm/Devices/UDI/Generated/PulseCounter.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/Relay.js +45 -0
- package/dist/esm/Devices/UDI/Generated/Relay.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js +38 -0
- package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js.map +1 -0
- package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js +57 -0
- package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js.map +1 -0
- package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js +65 -0
- package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js.map +1 -0
- package/dist/esm/Devices/ZWave/Generated/index.js +3 -0
- package/dist/esm/Devices/ZWave/Generated/index.js.map +1 -0
- package/dist/esm/Devices/ZWave/index.js +1 -0
- package/dist/esm/Devices/ZWave/index.js.map +1 -1
- package/dist/esm/Devices/index.js +9 -3
- package/dist/esm/Devices/index.js.map +1 -1
- package/dist/esm/ISY.js +16 -10
- package/dist/esm/ISY.js.map +1 -1
- package/dist/esm/ISYDevice.js +7 -1
- package/dist/esm/ISYDevice.js.map +1 -1
- package/dist/esm/ISYNode.js +13 -4
- package/dist/esm/ISYNode.js.map +1 -1
- package/dist/esm/ISYScene.js +13 -12
- package/dist/esm/ISYScene.js.map +1 -1
- package/dist/esm/Matter/Behaviors/BehaviorRegistry.js +13 -0
- package/dist/esm/Matter/Behaviors/BehaviorRegistry.js.map +1 -0
- package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js +3 -0
- package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js.map +1 -1
- package/dist/esm/Matter/Bridge/Server.js +66 -59
- package/dist/esm/Matter/Bridge/Server.js.map +1 -1
- package/dist/esm/Matter/Mappings/Insteon.js +28 -10
- package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
- package/dist/esm/Model/ClassDefinition.js +22 -3
- package/dist/esm/Model/ClassDefinition.js.map +1 -1
- package/dist/esm/Model/ClusterMap.js +45 -19
- package/dist/esm/Model/ClusterMap.js.map +1 -1
- package/dist/esm/Model/NodeInfo.js +1 -1
- package/dist/esm/Model/NodeInfo.js.map +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts +6 -3
- package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
- package/dist/esm/types/CodeGeneration/NodeFactory.d.ts +75 -0
- package/dist/esm/types/CodeGeneration/NodeFactory.d.ts.map +1 -0
- package/dist/esm/types/Converters.d.ts +8 -2
- package/dist/esm/types/Converters.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Events.d.ts +2 -2
- package/dist/esm/types/Definitions/Global/Events.d.ts.map +1 -1
- package/dist/esm/types/Devices/DeviceMap.d.ts +1 -1
- package/dist/esm/types/Devices/DeviceMap.d.ts.map +1 -1
- package/dist/esm/types/Devices/EndpointFor.d.ts +7 -5
- package/dist/esm/types/Devices/EndpointFor.d.ts.map +1 -1
- package/dist/esm/types/Devices/ISYDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/ISYDeviceNode.d.ts +5 -13
- package/dist/esm/types/Devices/ISYDeviceNode.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts +76 -0
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts +88 -0
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts +88 -0
- package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts +64 -0
- package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts +64 -0
- package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts +144 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts +150 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts +156 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts +138 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts +51 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts +64 -0
- package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts +52 -0
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts +70 -0
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts +52 -0
- package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts +76 -0
- package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts +88 -0
- package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts +168 -0
- package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts +142 -0
- package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts +71 -0
- package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts +51 -0
- package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts +64 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts +150 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +94 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +44 -0
- package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts +98 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts +76 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts +98 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +88 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +94 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +100 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts +57 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts +63 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts +52 -0
- package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts +109 -0
- package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts +37 -0
- package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts +148 -0
- package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts +148 -0
- package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts +76 -0
- package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/index.d.ts +39 -0
- package/dist/esm/types/Devices/Insteon/Generated/index.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts +4 -10
- package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +22 -28
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts +3 -3
- package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/KeypadButton.d.ts +19 -19
- package/dist/esm/types/Devices/Insteon/KeypadButton.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/index.d.ts +6 -42
- package/dist/esm/types/Devices/Insteon/index.d.ts.map +1 -1
- package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts +64 -0
- package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -0
- package/dist/esm/types/Devices/NodeFactory.d.ts +18 -7
- package/dist/esm/types/Devices/NodeFactory.d.ts.map +1 -1
- package/dist/esm/types/Devices/Scene/index.d.ts +2 -1
- package/dist/esm/types/Devices/Scene/index.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts +51 -0
- package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts +72 -0
- package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/Main.d.ts +59 -0
- package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts +58 -0
- package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts +64 -0
- package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts +44 -0
- package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +90 -0
- package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +124 -0
- package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZWave/Generated/index.d.ts +3 -0
- package/dist/esm/types/Devices/ZWave/Generated/index.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZWave/index.d.ts.map +1 -1
- package/dist/esm/types/Devices/index.d.ts +7 -21
- package/dist/esm/types/Devices/index.d.ts.map +1 -1
- package/dist/esm/types/ISY.d.ts.map +1 -1
- package/dist/esm/types/ISYDevice.d.ts +19 -28
- package/dist/esm/types/ISYDevice.d.ts.map +1 -1
- package/dist/esm/types/ISYNode.d.ts +25 -8
- package/dist/esm/types/ISYNode.d.ts.map +1 -1
- package/dist/esm/types/ISYScene.d.ts +5 -6
- package/dist/esm/types/ISYScene.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts +11 -0
- package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts.map +1 -0
- package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +1 -4
- package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts +5 -4
- package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Bridge/Server.d.ts +1 -1
- package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
- package/dist/esm/types/Model/ClassDefinition.d.ts +6 -2
- package/dist/esm/types/Model/ClassDefinition.d.ts.map +1 -1
- package/dist/esm/types/Model/ClusterMap.d.ts +12 -21
- package/dist/esm/types/Model/ClusterMap.d.ts.map +1 -1
- package/dist/esm/types/Model/EnumDefinition.d.ts +1 -1
- package/dist/esm/types/Utils.d.ts +18 -0
- package/dist/esm/types/Utils.d.ts.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/CodeGeneration/NodeClassFactory.ts +144 -39
- package/src/CodeGeneration/NodeFactory.ts +341 -0
- package/src/Converters.ts +24 -4
- package/src/Definitions/Global/Drivers.ts +1 -0
- package/src/Definitions/Global/Events.ts +3 -3
- package/src/Devices/Brultech/Generated/Channel.ts +8 -6
- package/src/Devices/Brultech/Generated/Main.ts +9 -9
- package/src/Devices/DeviceMap.ts +1 -1
- package/src/Devices/ISYDevice.ts +8 -57
- package/src/Devices/ISYDeviceNode.ts +143 -166
- package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +13 -21
- package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +18 -29
- package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +18 -29
- package/src/Devices/Insteon/Generated/BinaryAlarm.ts +14 -17
- package/src/Devices/Insteon/Generated/BinaryControl.ts +14 -17
- package/src/Devices/Insteon/Generated/DimmerLamp.ts +25 -51
- package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +36 -64
- package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +31 -60
- package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +24 -47
- package/src/Devices/Insteon/Generated/DimmerSwitch.ts +13 -14
- package/src/Devices/Insteon/Generated/DoorLock.ts +11 -15
- package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +12 -11
- package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +12 -18
- package/src/Devices/Insteon/Generated/EzrainInput.ts +12 -11
- package/src/Devices/Insteon/Generated/EzrainOutput.ts +20 -28
- package/src/Devices/Insteon/Generated/FanLincMotor.ts +15 -27
- package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +19 -39
- package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +17 -33
- package/src/Devices/Insteon/Generated/ImeterSolo.ts +11 -15
- package/src/Devices/Insteon/Generated/IrLincTx.ts +10 -12
- package/src/Devices/Insteon/Generated/{KeypadButtonAdv.ts → KeypadButton.ts} +23 -26
- package/src/Devices/Insteon/Generated/KeypadDimmer.ts +30 -57
- package/src/Devices/Insteon/Generated/KeypadRelay.ts +30 -43
- package/src/Devices/Insteon/Generated/OnOffControl.ts +15 -12
- package/src/Devices/Insteon/Generated/Pir2844.ts +15 -20
- package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +16 -23
- package/src/Devices/Insteon/Generated/Pir2844c.ts +15 -20
- package/src/Devices/Insteon/Generated/RelayLamp.ts +29 -41
- package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +29 -42
- package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +24 -39
- package/src/Devices/Insteon/Generated/RelaySwitch.ts +14 -17
- package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +15 -20
- package/src/Devices/Insteon/Generated/RemoteLinc2.ts +12 -11
- package/src/Devices/Insteon/Generated/Siren.ts +18 -29
- package/src/Devices/Insteon/Generated/SirenAlert.ts +11 -8
- package/src/Devices/Insteon/Generated/TempLinc.ts +18 -36
- package/src/Devices/Insteon/Generated/Thermostat.ts +18 -36
- package/src/Devices/Insteon/Generated/X10.ts +13 -21
- package/src/Devices/Insteon/Generated/index.ts +38 -0
- package/src/Devices/Insteon/InsteonBaseDevice.ts +5 -4
- package/src/Devices/Insteon/InsteonFanDevice.ts +3 -4
- package/src/Devices/Insteon/InsteonRelayDevice.ts +1 -0
- package/src/Devices/Insteon/KeypadButton.ts +31 -31
- package/src/Devices/Insteon/index.ts +18 -26
- package/src/Devices/Lutron/Generated/LoadShed.ts +11 -15
- package/src/Devices/NCD/Generated/Relay.ts +12 -18
- package/src/Devices/NodeFactory.ts +67 -13
- package/src/Devices/Poly/Generated/MatterBridge.ts +84 -0
- package/src/Devices/Scene/Generated/Scene.ts +33 -65
- package/src/Devices/Scene/index.ts +2 -1
- package/src/Devices/UDI/Generated/Channel.ts +8 -6
- package/src/Devices/UDI/Generated/Em3MainChannel.ts +8 -6
- package/src/Devices/UDI/Generated/Main.ts +9 -9
- package/src/Devices/UDI/Generated/PulseCounter.ts +8 -6
- package/src/Devices/UDI/Generated/Relay.ts +11 -15
- package/src/Devices/UDI/Generated/TemperatureSensor.ts +8 -6
- package/src/Devices/ZWave/Generated/ColorSwitch.ts +16 -24
- package/src/Devices/ZWave/Generated/DimmerSwitch.ts +25 -49
- package/src/Devices/ZWave/Generated/index.ts +2 -0
- package/src/Devices/ZWave/index.ts +5 -1
- package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +12 -18
- package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +17 -33
- package/src/Devices/index.ts +17 -12
- package/src/ISY.ts +11 -4
- package/src/ISYDevice.ts +68 -57
- package/src/ISYNode.ts +32 -8
- package/src/ISYScene.ts +31 -28
- package/src/Matter/Behaviors/BehaviorRegistry.ts +26 -0
- package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +6 -0
- package/src/Matter/Bridge/Server.ts +42 -18
- package/src/Matter/Mappings/Insteon.ts +39 -14
- package/src/Model/ClassDefinition.ts +34 -4
- package/src/Model/ClusterMap.ts +73 -57
- package/src/Model/NodeInfo.ts +1 -1
- package/src/Utils.ts +38 -0
- package/tsconfig.json +7 -1
- package/src/Devices/Insteon/Generated/AlertModuleSirenAdv.ts +0 -123
- package/src/Devices/Insteon/Generated/BallastRelayLampSwitchAdv.ts +0 -123
- package/src/Devices/Insteon/Generated/BinaryAlarmAdv.ts +0 -91
- package/src/Devices/Insteon/Generated/BinaryControlAdv.ts +0 -91
- package/src/Devices/Insteon/Generated/DimmerLampSwitchAdv.ts +0 -207
- package/src/Devices/Insteon/Generated/DimmerLampSwitchLedAdv.ts +0 -215
- package/src/Devices/Insteon/Generated/DimmerMotorSwitchAdv.ts +0 -191
- package/src/Devices/Insteon/Generated/DimmerSwitchOnlyAdv.ts +0 -73
- package/src/Devices/Insteon/Generated/Ezio2x4InputAdv.ts +0 -75
- package/src/Devices/Insteon/Generated/EzrainInputAdv.ts +0 -75
- package/src/Devices/Insteon/Generated/KeypadDimmerAdv.ts +0 -207
- package/src/Devices/Insteon/Generated/KeypadRelayAdv.ts +0 -131
- package/src/Devices/Insteon/Generated/OnOffControlAdv.ts +0 -65
- package/src/Devices/Insteon/Generated/Pir2844Adv.ts +0 -139
- package/src/Devices/Insteon/Generated/Pir2844OnOffAdv.ts +0 -107
- package/src/Devices/Insteon/Generated/Pir2844cAdv.ts +0 -139
- package/src/Devices/Insteon/Generated/RelayLampOnlyAdv.ts +0 -123
- package/src/Devices/Insteon/Generated/RelayLampSwitchAdv.ts +0 -131
- package/src/Devices/Insteon/Generated/RelayLampSwitchLedAdv.ts +0 -139
- package/src/Devices/Insteon/Generated/RelaySwitchOnlyAdv.ts +0 -81
- package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQueryAdv.ts +0 -89
- package/src/Devices/Insteon/Generated/RemoteLinc2Adv.ts +0 -75
- package/src/Devices/Insteon/Generated/SirenArm.ts +0 -55
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { Family } from
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import type {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
3
|
+
import { Driver } from '../../Definitions/Global/Drivers.js';
|
|
4
|
+
import { Family } from '../../Definitions/Global/Families.js';
|
|
5
|
+
import { UnitOfMeasure } from '../../Definitions/Global/UOM.js';
|
|
6
|
+
import { Insteon } from '../../Definitions/index.js';
|
|
7
|
+
import type { ISY } from '../../ISY.js';
|
|
8
|
+
import type { ISYNode } from '../../ISYNode.js';
|
|
9
|
+
import type { DriverState } from '../../Model/DriverState.js';
|
|
10
|
+
import type { NodeInfo } from '../../Model/NodeInfo.js';
|
|
11
|
+
import { ISYDeviceNode } from '../ISYDeviceNode.js';
|
|
12
|
+
import { NodeFactory } from '../NodeFactory.js';
|
|
13
|
+
import { Base } from './index.js';
|
|
14
14
|
|
|
15
|
-
export const nodeDefId =
|
|
15
|
+
export const nodeDefId = 'KeypadButton';
|
|
16
16
|
|
|
17
17
|
type Commands = KeypadButton.Commands;
|
|
18
18
|
type Drivers = KeypadButton.Drivers;
|
|
@@ -23,21 +23,21 @@ export class KeypadButtonNode extends Base<Drivers, Commands> implements KeypadB
|
|
|
23
23
|
BL: this.backlight,
|
|
24
24
|
WDU: this.writeChanges
|
|
25
25
|
};
|
|
26
|
-
static override nodeDefId =
|
|
27
|
-
declare readonly nodeDefId:
|
|
28
|
-
constructor
|
|
26
|
+
static override nodeDefId = 'KeypadButton';
|
|
27
|
+
declare readonly nodeDefId: 'KeypadButton';
|
|
28
|
+
constructor(isy: ISY, nodeInfo: NodeInfo) {
|
|
29
29
|
super(isy, nodeInfo);
|
|
30
|
-
this.drivers.ST = Driver.create(
|
|
31
|
-
this.drivers.ERR = Driver.create(
|
|
30
|
+
this.drivers.ST = Driver.create('ST', this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: 'Status', name: 'status' });
|
|
31
|
+
this.drivers.ERR = Driver.create('ERR', this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: 'Responding', name: 'responding' });
|
|
32
32
|
}
|
|
33
33
|
async query() {
|
|
34
|
-
return this.sendCommand(
|
|
34
|
+
return this.sendCommand('QUERY');
|
|
35
35
|
}
|
|
36
36
|
async backlight(value: number) {
|
|
37
|
-
return this.sendCommand(
|
|
37
|
+
return this.sendCommand('BL', { value: value });
|
|
38
38
|
}
|
|
39
39
|
async writeChanges() {
|
|
40
|
-
return this.sendCommand(
|
|
40
|
+
return this.sendCommand('WDU');
|
|
41
41
|
}
|
|
42
42
|
public get status(): Insteon.OnLevelRelay {
|
|
43
43
|
return this.drivers.ST?.value;
|
|
@@ -51,7 +51,7 @@ NodeFactory.register(KeypadButtonNode);
|
|
|
51
51
|
|
|
52
52
|
export namespace KeypadButton {
|
|
53
53
|
export interface Interface extends Omit<InstanceType<typeof KeypadButtonNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
54
|
-
nodeDefId:
|
|
54
|
+
nodeDefId: 'KeypadButton';
|
|
55
55
|
}
|
|
56
56
|
export function is(node: ISYNode<any, any, any, any>): node is KeypadButtonNode {
|
|
57
57
|
return node.nodeDefId === nodeDefId;
|
|
@@ -62,30 +62,30 @@ export namespace KeypadButton {
|
|
|
62
62
|
export const Node = KeypadButtonNode;
|
|
63
63
|
export type Commands = {
|
|
64
64
|
QUERY: (() => Promise<boolean>) & {
|
|
65
|
-
label:
|
|
66
|
-
name:
|
|
65
|
+
label: 'Query';
|
|
66
|
+
name: 'query';
|
|
67
67
|
};
|
|
68
68
|
BL: ((value: number) => Promise<boolean>) & {
|
|
69
|
-
label:
|
|
70
|
-
name:
|
|
69
|
+
label: 'Backlight';
|
|
70
|
+
name: 'backlight';
|
|
71
71
|
};
|
|
72
72
|
WDU: (() => Promise<boolean>) & {
|
|
73
|
-
label:
|
|
74
|
-
name:
|
|
73
|
+
label: 'Write Changes';
|
|
74
|
+
name: 'writeChanges';
|
|
75
75
|
};
|
|
76
76
|
};
|
|
77
77
|
export type Drivers = {
|
|
78
78
|
ST: {
|
|
79
79
|
uom: UnitOfMeasure.Percent;
|
|
80
80
|
value: Insteon.OnLevelRelay;
|
|
81
|
-
label:
|
|
82
|
-
name:
|
|
81
|
+
label: 'Status';
|
|
82
|
+
name: 'status';
|
|
83
83
|
};
|
|
84
84
|
ERR: {
|
|
85
85
|
uom: UnitOfMeasure.Index;
|
|
86
86
|
value: Insteon.Error;
|
|
87
|
-
label:
|
|
88
|
-
name:
|
|
87
|
+
label: 'Responding';
|
|
88
|
+
name: 'responding';
|
|
89
89
|
};
|
|
90
90
|
};
|
|
91
91
|
}
|
|
@@ -13,39 +13,31 @@ import { InsteonRelaySwitchDevice } from "./InsteonRelaySwitchDevice.js";
|
|
|
13
13
|
import { InsteonThermostatDevice } from "./InsteonThermostatDevice.js";
|
|
14
14
|
import { InsteonDoorWindowSensorDevice } from './InsteonDoorWindowSensorDevice.js';
|
|
15
15
|
|
|
16
|
+
import { ISYNode } from '../../ISYNode.js';
|
|
17
|
+
import type * as GeneratedTypes from "./Generated/index.js";
|
|
18
|
+
|
|
16
19
|
export {InsteonBaseDevice as Base} from "./InsteonBaseDevice.js";
|
|
17
20
|
|
|
21
|
+
export {InsteonLeakSensorDevice as LeakSensor} from "./InsteonLeakSensorDevice.js";
|
|
22
|
+
|
|
23
|
+
export {InsteonMotionSensorDevice as MotionSensor} from "./InsteonMotionSensorDevice.js";
|
|
24
|
+
|
|
25
|
+
export {InsteonSmokeSensorDevice as SmokeSensor} from "./InsteonSmokeSensorDevice.js";
|
|
26
|
+
|
|
27
|
+
export {InsteonDoorWindowSensorDevice as DoorWindowSensor} from "./InsteonDoorWindowSensorDevice.js";
|
|
18
28
|
|
|
19
|
-
export
|
|
29
|
+
export {InsteonDimmerOutletDevice as DimmerOutlet} from "./InsteonDimmerOutletDevice.js";
|
|
30
|
+
|
|
31
|
+
/*export const Insteon = {
|
|
20
32
|
LeakSensor: InsteonLeakSensorDevice,
|
|
21
33
|
MotionSensor: InsteonMotionSensorDevice,
|
|
22
34
|
SmokeSensor: InsteonSmokeSensorDevice,
|
|
23
|
-
RelaySwitch: InsteonRelaySwitchDevice,
|
|
24
35
|
DoorWindowSensor: InsteonDoorWindowSensorDevice,
|
|
25
|
-
DimmerSwitch: InsteonDimmerSwitchDevice,
|
|
26
36
|
DimmerOutlet: InsteonDimmerOutletDevice,
|
|
27
|
-
|
|
28
|
-
Relay: InsteonRelayDevice,
|
|
29
|
-
Dimmer: InsteonDimmableDevice,
|
|
30
|
-
KeypadDimmer: InsteonKeypadDimmerDevice,
|
|
31
37
|
Thermostat: InsteonThermostatDevice,
|
|
32
38
|
Lock: InsteonLockDevice,
|
|
33
|
-
Fan: InsteonFanDevice
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
export
|
|
38
|
-
//export type Base<D,C> = InsteonBaseDevice<D,C>;
|
|
39
|
-
export type LeakSensor = InsteonLeakSensorDevice;
|
|
40
|
-
export type MotionSensor = InsteonMotionSensorDevice;
|
|
41
|
-
export type SmokeSensor = InsteonSmokeSensorDevice;
|
|
42
|
-
export type RelaySwitch = InsteonRelaySwitchDevice;
|
|
43
|
-
export type DimmerSwitch = InsteonDimmerSwitchDevice;
|
|
44
|
-
export type DimmerOutlet = InsteonDimmerOutletDevice;
|
|
45
|
-
export type Relay = InsteonRelayDevice;
|
|
46
|
-
export type Dimmer = InsteonDimmableDevice;
|
|
47
|
-
export type KeypadDimmer = InsteonKeypadDimmerDevice;
|
|
48
|
-
export type Thermostat = InsteonThermostatDevice;
|
|
49
|
-
export type Lock = InsteonLockDevice;
|
|
50
|
-
export type Fan = InsteonFanDevice;
|
|
51
|
-
}
|
|
39
|
+
Fan: InsteonFanDevice,
|
|
40
|
+
...Generated */
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
export * from './Generated/index.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { UnitOfMeasure } from "../../../Definitions/Global/UOM.js";
|
|
4
4
|
import { Family } from "../../../Definitions/Global/Families.js";
|
|
5
5
|
import type { NodeInfo } from "../../../Model/NodeInfo.js";
|
|
6
|
-
import
|
|
6
|
+
import { ISY } from "../../../ISY.js";
|
|
7
7
|
import type { ISYNode } from "../../../ISYNode.js";
|
|
8
8
|
import { Base } from "../index.js";
|
|
9
9
|
import { ISYDeviceNode } from "../../ISYDeviceNode.js";
|
|
@@ -12,33 +12,28 @@ import { Lutron } 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 = "LUTLoadShed";
|
|
16
16
|
|
|
17
17
|
type Commands = LoadShed.Commands;
|
|
18
18
|
type Drivers = LoadShed.Drivers;
|
|
19
19
|
|
|
20
20
|
export class LoadShedNode extends Base<Drivers, Commands> implements LoadShed.Interface {
|
|
21
|
-
public readonly commands = {
|
|
21
|
+
public override readonly commands = {
|
|
22
22
|
DON: this.on,
|
|
23
23
|
DOF: this.off,
|
|
24
24
|
QUERY: this.query
|
|
25
25
|
};
|
|
26
|
-
static nodeDefId = "LUTLoadShed";
|
|
26
|
+
static override nodeDefId = "LUTLoadShed";
|
|
27
|
+
static override implements = ["LUTLoadShed"];
|
|
27
28
|
declare readonly nodeDefId: "LUTLoadShed";
|
|
28
29
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
29
30
|
super(isy, nodeInfo);
|
|
30
31
|
this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
|
|
31
32
|
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
32
33
|
}
|
|
33
|
-
async on(value?: (0 | 100)) {
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
async off() {
|
|
37
|
-
return this.sendCommand("DOF");
|
|
38
|
-
}
|
|
39
|
-
async query() {
|
|
40
|
-
return this.sendCommand("QUERY");
|
|
41
|
-
}
|
|
34
|
+
async on(value?: (0 | 100)) { return this.sendCommand("DON", { value: value }); }
|
|
35
|
+
async off() { return this.sendCommand("DOF"); }
|
|
36
|
+
async query() { return this.sendCommand("QUERY"); }
|
|
42
37
|
public get status(): (0 | 100) {
|
|
43
38
|
return this.drivers.ST?.value;
|
|
44
39
|
}
|
|
@@ -53,8 +48,9 @@ export namespace LoadShed {
|
|
|
53
48
|
export interface Interface extends Omit<InstanceType<typeof LoadShedNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
54
49
|
nodeDefId: "LUTLoadShed";
|
|
55
50
|
}
|
|
56
|
-
export function is(node: ISYNode<any, any, any, any>): node is LoadShedNode {
|
|
57
|
-
|
|
51
|
+
export function is(node: ISYNode<any, any, any, any>): node is LoadShedNode { return ["LUTLoadShed"].includes(node.nodeDefId); }
|
|
52
|
+
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is LoadShedNode {
|
|
53
|
+
return ["LUTLoadShed"].includes(node.nodeDefId);
|
|
58
54
|
}
|
|
59
55
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
60
56
|
return new LoadShedNode(isy, nodeInfo);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { UnitOfMeasure } from "../../../Definitions/Global/UOM.js";
|
|
4
4
|
import { Family } from "../../../Definitions/Global/Families.js";
|
|
5
5
|
import type { NodeInfo } from "../../../Model/NodeInfo.js";
|
|
6
|
-
import
|
|
6
|
+
import { ISY } from "../../../ISY.js";
|
|
7
7
|
import type { ISYNode } from "../../../ISYNode.js";
|
|
8
8
|
import { Base } from "../index.js";
|
|
9
9
|
import { ISYDeviceNode } from "../../ISYDeviceNode.js";
|
|
@@ -12,37 +12,30 @@ import { NCD } 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 = "NCDRelay";
|
|
16
16
|
|
|
17
17
|
type Commands = Relay.Commands;
|
|
18
18
|
type Drivers = Relay.Drivers;
|
|
19
19
|
|
|
20
20
|
export class RelayNode extends Base<Drivers, Commands> implements Relay.Interface {
|
|
21
|
-
public readonly commands = {
|
|
21
|
+
public override readonly commands = {
|
|
22
22
|
DON: this.on,
|
|
23
23
|
DOF: this.off,
|
|
24
24
|
QUERY: this.query,
|
|
25
25
|
ADRPST: this.adr
|
|
26
26
|
};
|
|
27
|
-
static nodeDefId = "NCDRelay";
|
|
27
|
+
static override nodeDefId = "NCDRelay";
|
|
28
|
+
static override implements = ["NCDRelay"];
|
|
28
29
|
declare readonly nodeDefId: "NCDRelay";
|
|
29
30
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
30
31
|
super(isy, nodeInfo);
|
|
31
32
|
this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
|
|
32
33
|
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
33
34
|
}
|
|
34
|
-
async on() {
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
async
|
|
38
|
-
return this.sendCommand("DOF");
|
|
39
|
-
}
|
|
40
|
-
async query() {
|
|
41
|
-
return this.sendCommand("QUERY");
|
|
42
|
-
}
|
|
43
|
-
async adr(value: (0 | 1)) {
|
|
44
|
-
return this.sendCommand("ADRPST", { value: value });
|
|
45
|
-
}
|
|
35
|
+
async on() { return this.sendCommand("DON"); }
|
|
36
|
+
async off() { return this.sendCommand("DOF"); }
|
|
37
|
+
async query() { return this.sendCommand("QUERY"); }
|
|
38
|
+
async adr(value: (0 | 1)) { return this.sendCommand("ADRPST", { value: value }); }
|
|
46
39
|
public get status(): (0 | 100) {
|
|
47
40
|
return this.drivers.ST?.value;
|
|
48
41
|
}
|
|
@@ -57,8 +50,9 @@ export namespace Relay {
|
|
|
57
50
|
export interface Interface extends Omit<InstanceType<typeof RelayNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
58
51
|
nodeDefId: "NCDRelay";
|
|
59
52
|
}
|
|
60
|
-
export function is(node: ISYNode<any, any, any, any>): node is RelayNode {
|
|
61
|
-
|
|
53
|
+
export function is(node: ISYNode<any, any, any, any>): node is RelayNode { return ["NCDRelay"].includes(node.nodeDefId); }
|
|
54
|
+
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is RelayNode {
|
|
55
|
+
return ["NCDRelay"].includes(node.nodeDefId);
|
|
62
56
|
}
|
|
63
57
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
64
58
|
return new RelayNode(isy, nodeInfo);
|
|
@@ -4,33 +4,86 @@ import { ISYNode } from '../ISYNode.js';
|
|
|
4
4
|
import type { NodeDef } from '../Model/NodeDef.js';
|
|
5
5
|
import { isDynamic, type NodeInfo } from '../Model/NodeInfo.js';
|
|
6
6
|
import type { Constructor } from './Constructor.js';
|
|
7
|
-
import type { IdentityOf } from '../Utils.js';
|
|
8
|
-
import { Family } from '../Definitions/index.js';
|
|
7
|
+
import type { IdentityOf, StringKeys } from '../Utils.js';
|
|
8
|
+
import { Family, type EnumLiteral } from '../Definitions/index.js';
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
export namespace NodeFactory {
|
|
13
13
|
export const registry: NodeClassRegistry = {};
|
|
14
14
|
|
|
15
|
+
export type NodeClass<T extends Family | keyof typeof Family> = T extends Family? typeof ISYNode<T, any, any, any> : T extends keyof typeof Family ? typeof ISYNode<typeof Family[T] , any, any, any> : never;
|
|
15
16
|
|
|
17
|
+
export const implementsRegistry: {[x in StringKeys<typeof Family>]?: {[x: string]: string[]}} = {};
|
|
16
18
|
|
|
19
|
+
export function register<F extends keyof typeof Family>(nodeClass: NodeClass<F>, id: string = nodeClass.nodeDefId) {
|
|
20
|
+
//let s; //FamilyNodeClassRegistry<(typeof Family)[F]>;
|
|
21
|
+
let f = Family[nodeClass.family];
|
|
22
|
+
let s = (registry[f] ?? (registry[f] = {})) as FamilyNodeClassRegistry<any>;
|
|
23
|
+
s[id] = nodeClass;
|
|
24
|
+
if (!implementsRegistry[f]) {
|
|
25
|
+
implementsRegistry[f] = {};
|
|
26
|
+
}
|
|
27
|
+
implementsRegistry[f][id] = nodeClass.implements;
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
}
|
|
17
31
|
|
|
18
|
-
export function register<F extends keyof typeof Family>(nodeClass: typeof ISYNode<(typeof Family)[F], any, any, any>, id: string = nodeClass.nodeDefId) {
|
|
19
|
-
let s: FamilyNodeClassRegistry<(typeof Family)[F]>;
|
|
20
32
|
|
|
21
|
-
|
|
22
|
-
|
|
33
|
+
function compare(a: typeof ISYNode<any, any, any, any>, b: typeof ISYNode<any, any, any, any>)
|
|
34
|
+
{
|
|
35
|
+
if(a.nodeDefId === b.nodeDefId)
|
|
36
|
+
{
|
|
37
|
+
return 0;
|
|
38
|
+
}
|
|
39
|
+
if(a.implements.includes(b.nodeDefId))
|
|
40
|
+
return 1;
|
|
41
|
+
if(b.implements.includes(a.nodeDefId))
|
|
42
|
+
return -1;
|
|
43
|
+
return a.nodeDefId.localeCompare(b.nodeDefId);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function sortImplementsRegistry()
|
|
47
|
+
{
|
|
48
|
+
for (let f in implementsRegistry) {
|
|
49
|
+
let reg = implementsRegistry[f];
|
|
50
|
+
for (let e in reg) {
|
|
51
|
+
|
|
52
|
+
reg[e] = reg[e].sort((a,b) => compare(getForNodeDefId(f as keyof typeof Family, a), getForNodeDefId(f as keyof typeof Family, b)));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function getImplements<F extends keyof typeof Family, T extends ISYNode<typeof Family[F],any,any,any>>(node: T) {
|
|
58
|
+
return implementsRegistry[Family[node.family] as F][node.nodeDefId];
|
|
23
59
|
}
|
|
24
60
|
|
|
25
|
-
export function
|
|
26
|
-
|
|
61
|
+
export function getForNode<F extends keyof typeof Family>(family: F, node: NodeInfo<typeof Family[F]>): NodeClass<F> {
|
|
62
|
+
if(isDynamic(node))
|
|
63
|
+
{
|
|
64
|
+
return getForNodeDefId(family, node.sgid);
|
|
65
|
+
}
|
|
66
|
+
return getForNodeDefId(family, node.nodeDefId);
|
|
27
67
|
}
|
|
28
68
|
|
|
29
|
-
|
|
30
|
-
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
export function getForNodeDefId<F extends keyof typeof Family | Family>(family: F, nodeDefId: string): NodeClass<F> {
|
|
72
|
+
if(typeof family === "string")
|
|
73
|
+
{
|
|
74
|
+
return registry[family as keyof typeof Family][nodeDefId] as NodeClass<F>;
|
|
75
|
+
}
|
|
76
|
+
else if(typeof family === "number")
|
|
77
|
+
{
|
|
78
|
+
return registry[Family[family] as keyof typeof Family][nodeDefId] as NodeClass<F>;
|
|
79
|
+
}
|
|
80
|
+
|
|
31
81
|
}
|
|
32
82
|
|
|
33
|
-
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
export async function get<F extends keyof typeof Family>(node: NodeInfo<typeof Family[F]>, isy: ISY = ISY.instance): Promise<typeof ISYNode<typeof Family[F], any, any, any>> {
|
|
34
87
|
if (!isDynamic(node))
|
|
35
88
|
{
|
|
36
89
|
return Promise.resolve(getForNodeDefId(Family[node.family] as F, node.nodeDefId));
|
|
@@ -63,6 +116,7 @@ export namespace NodeFactory {
|
|
|
63
116
|
}
|
|
64
117
|
}
|
|
65
118
|
}
|
|
66
|
-
export type FamilyNodeClassRegistry<T extends Family> =
|
|
119
|
+
export type FamilyNodeClassRegistry<T extends Family> = {[x:string]:NodeFactory.NodeClass<T>};
|
|
120
|
+
|
|
67
121
|
|
|
68
|
-
|
|
122
|
+
type NodeClassRegistry = { [x in Extract<keyof typeof Family,string>]?: FamilyNodeClassRegistry<typeof Family[x]>};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
|
|
2
|
+
|
|
3
|
+
import { UnitOfMeasure } from "../../../Definitions/Global/UOM.js";
|
|
4
|
+
import { Family } from "../../../Definitions/Global/Families.js";
|
|
5
|
+
import type { NodeInfo } from "../../../Model/NodeInfo.js";
|
|
6
|
+
import { ISY } from "../../../ISY.js";
|
|
7
|
+
import type { ISYNode } from "../../../ISYNode.js";
|
|
8
|
+
import { Base } from "../index.js";
|
|
9
|
+
import { ISYDeviceNode } from "../../ISYDeviceNode.js";
|
|
10
|
+
import { Driver } from "../../../Definitions/Global/Drivers.js";
|
|
11
|
+
import { Poly } from "../../../Definitions/index.js";
|
|
12
|
+
import type { DriverState } from "../../../Model/DriverState.js";
|
|
13
|
+
import { NodeFactory } from "../../NodeFactory.js";
|
|
14
|
+
|
|
15
|
+
const nodeDefId = "CONTROLLER";
|
|
16
|
+
|
|
17
|
+
type Commands = MatterBridge.Commands;
|
|
18
|
+
type Drivers = MatterBridge.Drivers;
|
|
19
|
+
|
|
20
|
+
export class MatterBridgeNode extends Base<Drivers, Commands> implements MatterBridge.Interface {
|
|
21
|
+
public override readonly commands = {
|
|
22
|
+
DISCOVER: this.discover,
|
|
23
|
+
QUERY: this.query,
|
|
24
|
+
START_BRIDGE: this.startBridge,
|
|
25
|
+
STOP_BRIDGE: this.stopBridge
|
|
26
|
+
};
|
|
27
|
+
static override nodeDefId = "CONTROLLER";
|
|
28
|
+
static override implements = ["CONTROLLER"];
|
|
29
|
+
declare readonly nodeDefId: "CONTROLLER";
|
|
30
|
+
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
31
|
+
super(isy, nodeInfo);
|
|
32
|
+
this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Unknown, label: "Status", name: "status" });
|
|
33
|
+
}
|
|
34
|
+
async discover() { return this.sendCommand("DISCOVER"); }
|
|
35
|
+
async query() { return this.sendCommand("QUERY"); }
|
|
36
|
+
async startBridge() { return this.sendCommand("START_BRIDGE"); }
|
|
37
|
+
async stopBridge() { return this.sendCommand("STOP_BRIDGE"); }
|
|
38
|
+
public get status(): {
|
|
39
|
+
|
|
40
|
+
return this.drivers.ST?.value;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
NodeFactory.register(MatterBridgeNode);
|
|
45
|
+
|
|
46
|
+
export namespace MatterBridge {
|
|
47
|
+
export interface Interface extends Omit<InstanceType<typeof MatterBridgeNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
48
|
+
nodeDefId: "CONTROLLER";
|
|
49
|
+
}
|
|
50
|
+
export function is(node: ISYNode<any, any, any, any>): node is MatterBridgeNode { return ["CONTROLLER"].includes(node.nodeDefId); }
|
|
51
|
+
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is MatterBridgeNode {
|
|
52
|
+
return ["CONTROLLER"].includes(node.nodeDefId);
|
|
53
|
+
}
|
|
54
|
+
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
55
|
+
return new MatterBridgeNode(isy, nodeInfo);
|
|
56
|
+
}
|
|
57
|
+
export const Node = MatterBridgeNode;
|
|
58
|
+
export type Commands = {
|
|
59
|
+
DISCOVER: (() => Promise<boolean>) & {
|
|
60
|
+
label: "Discover";
|
|
61
|
+
name: "discover";
|
|
62
|
+
};
|
|
63
|
+
QUERY: (() => Promise<boolean>) & {
|
|
64
|
+
label: "Query";
|
|
65
|
+
name: "query";
|
|
66
|
+
};
|
|
67
|
+
START_BRIDGE: (() => Promise<boolean>) & {
|
|
68
|
+
label: "Start Bridge";
|
|
69
|
+
name: "startBridge";
|
|
70
|
+
};
|
|
71
|
+
STOP_BRIDGE: (() => Promise<boolean>) & {
|
|
72
|
+
label: "Stop Bridge";
|
|
73
|
+
name: "stopBridge";
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export type Drivers = {
|
|
77
|
+
ST: {
|
|
78
|
+
uom: ;
|
|
79
|
+
value: ;
|
|
80
|
+
label: "Status";
|
|
81
|
+
name: "status";
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
|
|
2
|
-
|
|
1
|
+
/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
|
|
2
|
+
|
|
3
3
|
import { UnitOfMeasure } from "../../../Definitions/Global/UOM.js";
|
|
4
4
|
import { Family } from "../../../Definitions/Global/Families.js";
|
|
5
5
|
import type { NodeInfo } from "../../../Model/NodeInfo.js";
|
|
6
|
-
import
|
|
6
|
+
import { ISY } from "../../../ISY.js";
|
|
7
7
|
import type { ISYNode } from "../../../ISYNode.js";
|
|
8
8
|
import { Base } from "../index.js";
|
|
9
9
|
import { ISYDeviceNode } from "../../ISYDeviceNode.js";
|
|
10
10
|
import { Driver } from "../../../Definitions/Global/Drivers.js";
|
|
11
|
-
import { Scene
|
|
11
|
+
import { Scene } from "../../../Definitions/index.js";
|
|
12
12
|
import type { DriverState } from "../../../Model/DriverState.js";
|
|
13
13
|
import { NodeFactory } from "../../NodeFactory.js";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
|
|
15
|
+
const nodeDefId = "InsteonDimmer";
|
|
16
|
+
|
|
17
17
|
type Commands = Scene.Commands;
|
|
18
18
|
type Drivers = Scene.Drivers;
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
export class SceneNode extends Base<Drivers, Commands> implements Scene.Interface {
|
|
21
|
-
public readonly commands = {
|
|
21
|
+
public override readonly commands = {
|
|
22
22
|
DON: this.on,
|
|
23
23
|
DOF: this.off,
|
|
24
24
|
DFOF: this.fastOff,
|
|
@@ -37,72 +37,40 @@ export class SceneNode extends Base<Drivers, Commands> implements Scene.Interfac
|
|
|
37
37
|
CLISPHD: this.heatSetpointShift,
|
|
38
38
|
CLISPCD: this.coolSetpointShift
|
|
39
39
|
};
|
|
40
|
-
static nodeDefId = "InsteonDimmer";
|
|
40
|
+
static override nodeDefId = "InsteonDimmer";
|
|
41
|
+
static override implements = ["InsteonDimmer"];
|
|
41
42
|
declare readonly nodeDefId: "InsteonDimmer";
|
|
42
43
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
43
44
|
super(isy, nodeInfo);
|
|
44
45
|
}
|
|
45
|
-
async on(value?: number) {
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
async
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
async
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
async
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
async
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
async
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
async fadeUp() {
|
|
64
|
-
return this.sendCommand("FDUP");
|
|
65
|
-
}
|
|
66
|
-
async fadeDown() {
|
|
67
|
-
return this.sendCommand("FDDOWN");
|
|
68
|
-
}
|
|
69
|
-
async fadeStop() {
|
|
70
|
-
return this.sendCommand("FDSTOP");
|
|
71
|
-
}
|
|
72
|
-
async beep() {
|
|
73
|
-
return this.sendCommand("BEEP");
|
|
74
|
-
}
|
|
75
|
-
async query() {
|
|
76
|
-
return this.sendCommand("QUERY");
|
|
77
|
-
}
|
|
78
|
-
async mode(value: number) {
|
|
79
|
-
return this.sendCommand("CLIMD", { value: value });
|
|
80
|
-
}
|
|
81
|
-
async fanMode(value: (0 | 1)) {
|
|
82
|
-
return this.sendCommand("CLIFS", { value: value });
|
|
83
|
-
}
|
|
84
|
-
async heatSetpoint(value: number) {
|
|
85
|
-
return this.sendCommand("CLISPH", { value: value });
|
|
86
|
-
}
|
|
87
|
-
async coolSetpoint(value: number) {
|
|
88
|
-
return this.sendCommand("CLISPC", { value: value });
|
|
89
|
-
}
|
|
90
|
-
async heatSetpointShift(value: number) {
|
|
91
|
-
return this.sendCommand("CLISPHD", { value: value });
|
|
92
|
-
}
|
|
93
|
-
async coolSetpointShift(value: number) {
|
|
94
|
-
return this.sendCommand("CLISPCD", { value: value });
|
|
95
|
-
}
|
|
46
|
+
async on(value?: number) { return this.sendCommand("DON", { value: value }); }
|
|
47
|
+
async off() { return this.sendCommand("DOF"); }
|
|
48
|
+
async fastOff() { return this.sendCommand("DFOF"); }
|
|
49
|
+
async fastOn() { return this.sendCommand("DFON"); }
|
|
50
|
+
async brighten() { return this.sendCommand("BRT"); }
|
|
51
|
+
async dim() { return this.sendCommand("DIM"); }
|
|
52
|
+
async fadeUp() { return this.sendCommand("FDUP"); }
|
|
53
|
+
async fadeDown() { return this.sendCommand("FDDOWN"); }
|
|
54
|
+
async fadeStop() { return this.sendCommand("FDSTOP"); }
|
|
55
|
+
async beep() { return this.sendCommand("BEEP"); }
|
|
56
|
+
async query() { return this.sendCommand("QUERY"); }
|
|
57
|
+
async mode(value: number) { return this.sendCommand("CLIMD", { value: value }); }
|
|
58
|
+
async fanMode(value: (0 | 1)) { return this.sendCommand("CLIFS", { value: value }); }
|
|
59
|
+
async heatSetpoint(value: number) { return this.sendCommand("CLISPH", { value: value }); }
|
|
60
|
+
async coolSetpoint(value: number) { return this.sendCommand("CLISPC", { value: value }); }
|
|
61
|
+
async heatSetpointShift(value: number) { return this.sendCommand("CLISPHD", { value: value }); }
|
|
62
|
+
async coolSetpointShift(value: number) { return this.sendCommand("CLISPCD", { value: value }); }
|
|
96
63
|
}
|
|
97
|
-
|
|
64
|
+
|
|
98
65
|
NodeFactory.register(SceneNode);
|
|
99
|
-
|
|
66
|
+
|
|
100
67
|
export namespace Scene {
|
|
101
68
|
export interface Interface extends Omit<InstanceType<typeof SceneNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
102
69
|
nodeDefId: "InsteonDimmer";
|
|
103
70
|
}
|
|
104
|
-
export function is(node: ISYNode<any, any, any, any>): node is SceneNode {
|
|
105
|
-
|
|
71
|
+
export function is(node: ISYNode<any, any, any, any>): node is SceneNode { return ["InsteonDimmer"].includes(node.nodeDefId); }
|
|
72
|
+
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is SceneNode {
|
|
73
|
+
return ["InsteonDimmer"].includes(node.nodeDefId);
|
|
106
74
|
}
|
|
107
75
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
108
76
|
return new SceneNode(isy, nodeInfo);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Family } from '../../Definitions/Global/Families.js';
|
|
2
2
|
import {ISYNode} from '../../ISYNode.js'
|
|
3
|
+
import { ISYDeviceNode } from '../ISYDeviceNode.js';
|
|
3
4
|
|
|
4
|
-
export class Base<D extends ISYNode.DriverSignatures,C extends ISYNode.CommandSignatures> extends
|
|
5
|
+
export class Base<D extends ISYNode.DriverSignatures,C extends ISYNode.CommandSignatures> extends ISYDeviceNode<Family.Scene,D,C> {}
|