isy-nodejs 1.0.2-alpha.3 → 1.0.2-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +13 -8
- 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 +65 -56
- 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 +9 -3
- 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 +23 -3
- 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 +8 -2
- 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 +39 -15
- 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,182 +1,159 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Category } from '../Definitions/Global/Categories.js';
|
|
2
|
+
import type { Command } from '../Definitions/Global/Commands.js';
|
|
2
3
|
import type { Driver } from '../Definitions/Global/Drivers.js';
|
|
3
|
-
import
|
|
4
|
-
import type {
|
|
5
|
-
import {
|
|
4
|
+
import type { Event } from '../Definitions/Global/Events.js';
|
|
5
|
+
import type { Family } from '../Definitions/index.js';
|
|
6
|
+
import { type ISY } from '../ISY.js';
|
|
7
|
+
import type { ISYDevice, ISYDeviceInfo } from '../ISYDevice.js';
|
|
8
|
+
import { ISYNode } from '../ISYNode.js';
|
|
6
9
|
import type { ISYScene } from '../ISYScene.js';
|
|
7
10
|
import type { DriverState } from '../Model/DriverState.js';
|
|
8
11
|
import type { NodeInfo } from '../Model/NodeInfo.js';
|
|
9
|
-
import type { Category } from '../Definitions/Global/Categories.js';
|
|
10
|
-
import type { Command } from '../Definitions/Global/Commands.js';
|
|
11
|
-
import type { Event } from '../Definitions/Global/Events.js';
|
|
12
12
|
import type { StringKeys } from '../Utils.js';
|
|
13
|
-
import type { Family } from '../Definitions/index.js';
|
|
14
13
|
|
|
15
|
-
export
|
|
14
|
+
export class ISYDeviceNode<
|
|
15
|
+
T extends Family,
|
|
16
|
+
D extends ISYNode.DriverSignatures,
|
|
17
|
+
C extends ISYNode.CommandSignatures,
|
|
18
|
+
E extends ISYNode.EventSignatures = { [x in keyof D]: Event.DriverToEvent<D[x]> & { driver: x } } & { [x in keyof C]: Event.CommandToEvent<C[x]> & { command: x } }
|
|
19
|
+
>
|
|
20
|
+
extends ISYNode<T, D, C, E>
|
|
21
|
+
implements ISYDeviceInfo
|
|
16
22
|
{
|
|
17
|
-
|
|
18
|
-
deviceClass: any;
|
|
23
|
+
public declare family: T;
|
|
19
24
|
|
|
20
|
-
|
|
25
|
+
public readonly typeCode: string;
|
|
26
|
+
public readonly deviceClass: any;
|
|
27
|
+
public readonly category: Category;
|
|
28
|
+
public readonly subCategory: number;
|
|
21
29
|
|
|
22
|
-
|
|
30
|
+
//public readonly isDimmable: boolean;
|
|
23
31
|
|
|
24
|
-
|
|
32
|
+
//public _parentDevice: ISYDeviceNode<T, any, any, any>;
|
|
33
|
+
//public readonly children: Array<ISYDeviceNode<T, any, any, any>> = [];
|
|
25
34
|
|
|
35
|
+
public _enabled: any;
|
|
36
|
+
productName: string;
|
|
37
|
+
model: string;
|
|
26
38
|
modelNumber: string;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this.subCategory = Number(s[1]);
|
|
73
|
-
|
|
74
|
-
// console.log(nodeDetail);
|
|
75
|
-
// if (this.parentAddress !== this.address && this.parentAddress !== undefined) {
|
|
76
|
-
// this._parentDevice = isy.getDevice(this.parentAddress) as unknown as ISYDeviceNode<T, any, any, any>;
|
|
77
|
-
// if (!isNullOrUndefined(this._parentDevice)) {
|
|
78
|
-
// this._parentDevice.addChild(this);
|
|
79
|
-
// }
|
|
80
|
-
// }
|
|
81
|
-
// if (Array.isArray(node.property)) {
|
|
82
|
-
// for (const prop of node.property) {
|
|
83
|
-
// this.local[prop.id] = this.convertFrom(prop.value, prop.uom, prop.id as Driver.Literal);
|
|
84
|
-
// this.formatted[prop.id] = prop.formatted;
|
|
85
|
-
// this.uom[prop.id] = prop.uom;
|
|
86
|
-
// this.logger(
|
|
87
|
-
// `Property ${Controls[prop.id].label} (${prop.id}) initialized to: ${this.local[prop.id]} (${this.formatted[prop.id]})`
|
|
88
|
-
// );
|
|
89
|
-
// }
|
|
90
|
-
// } else if (node.property) {
|
|
91
|
-
// this.local[node.property.id] = this.convertFrom(
|
|
92
|
-
// node.property.value,
|
|
93
|
-
// node.property.uom,
|
|
94
|
-
// node.property.id as Driver.Literal
|
|
95
|
-
// );
|
|
96
|
-
// this.formatted[node.property.id] = node.property.formatted;
|
|
97
|
-
// this.uom[node.property.id] = node.property.uom;
|
|
98
|
-
// this.logger(
|
|
99
|
-
// `Property ${Controls[node.property.id].label} (${node.property.id}) initialized to: ${this.local[node.property.id]} (${this.formatted[node.property.id]})`
|
|
100
|
-
// );
|
|
101
|
-
// }
|
|
102
|
-
}
|
|
39
|
+
version: string;
|
|
40
|
+
|
|
41
|
+
constructor(isy: ISY, node: NodeInfo) {
|
|
42
|
+
super(isy, node);
|
|
43
|
+
|
|
44
|
+
this.family = node.family as T;
|
|
45
|
+
this.nodeType = 1;
|
|
46
|
+
this.type = node.type;
|
|
47
|
+
this._enabled = node.enabled;
|
|
48
|
+
this.deviceClass = node.deviceClass;
|
|
49
|
+
this.parentAddress = node.pnode;
|
|
50
|
+
const s = this.type.split('.');
|
|
51
|
+
this.category = Number(s[0]) as Category;
|
|
52
|
+
this.subCategory = Number(s[1]);
|
|
53
|
+
|
|
54
|
+
// console.log(nodeDetail);
|
|
55
|
+
// if (this.parentAddress !== this.address && this.parentAddress !== undefined) {
|
|
56
|
+
// this._parentDevice = isy.getDevice(this.parentAddress) as unknown as ISYDeviceNode<T, any, any, any>;
|
|
57
|
+
// if (!isNullOrUndefined(this._parentDevice)) {
|
|
58
|
+
// this._parentDevice.addChild(this);
|
|
59
|
+
// }
|
|
60
|
+
// }
|
|
61
|
+
// if (Array.isArray(node.property)) {
|
|
62
|
+
// for (const prop of node.property) {
|
|
63
|
+
// this.local[prop.id] = this.convertFrom(prop.value, prop.uom, prop.id as Driver.Literal);
|
|
64
|
+
// this.formatted[prop.id] = prop.formatted;
|
|
65
|
+
// this.uom[prop.id] = prop.uom;
|
|
66
|
+
// this.logger(
|
|
67
|
+
// `Property ${Controls[prop.id].label} (${prop.id}) initialized to: ${this.local[prop.id]} (${this.formatted[prop.id]})`
|
|
68
|
+
// );
|
|
69
|
+
// }
|
|
70
|
+
// } else if (node.property) {
|
|
71
|
+
// this.local[node.property.id] = this.convertFrom(
|
|
72
|
+
// node.property.value,
|
|
73
|
+
// node.property.uom,
|
|
74
|
+
// node.property.id as Driver.Literal
|
|
75
|
+
// );
|
|
76
|
+
// this.formatted[node.property.id] = node.property.formatted;
|
|
77
|
+
// this.uom[node.property.id] = node.property.uom;
|
|
78
|
+
// this.logger(
|
|
79
|
+
// `Property ${Controls[node.property.id].label} (${node.property.id}) initialized to: ${this.local[node.property.id]} (${this.formatted[node.property.id]})`
|
|
80
|
+
// );
|
|
81
|
+
// }
|
|
82
|
+
}
|
|
83
|
+
manufacturer: string;
|
|
103
84
|
productId: string | number;
|
|
104
85
|
modelName: string;
|
|
105
86
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
// } finally {
|
|
179
|
-
// return changed;
|
|
180
|
-
// }
|
|
181
|
-
// }
|
|
87
|
+
_parentDevice: ISYDevice<T, any, any, any>;
|
|
88
|
+
children: ISYNode<any, any, any, any>[];
|
|
89
|
+
|
|
90
|
+
public addChild<K extends ISYNode<any, any, any, any>>(childDevice: K) {
|
|
91
|
+
this.children.push(childDevice);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// override get parentNode() : ISYDevice<T, any, any, any> {
|
|
95
|
+
// super.parentNode()
|
|
96
|
+
// if (this._parentDevice === undefined) {
|
|
97
|
+
// if (this.parentAddress !== this.address && this.parentAddress !== null && this.parentAddress !== undefined) {
|
|
98
|
+
// this._parentDevice = this.isy.getDevice(this.parentAddress) as unknown as ISYDeviceNode<T, Driver.Literal, string>;
|
|
99
|
+
// if (this._parentDevice !== null) {
|
|
100
|
+
// this._parentDevice.addChild(this);
|
|
101
|
+
// }
|
|
102
|
+
// }
|
|
103
|
+
// this._parentDevice = null;
|
|
104
|
+
// }
|
|
105
|
+
// return this._parentDevice;
|
|
106
|
+
// }
|
|
107
|
+
|
|
108
|
+
// public async readProperty(propertyName: Driver.Literal): Promise<DriverState> {
|
|
109
|
+
// var result = await this.isy.sendRequest(`nodes/${this.address}/${propertyName}`);
|
|
110
|
+
// this.logger(JSON.stringify(result), "debug");
|
|
111
|
+
// return result.property;
|
|
112
|
+
// }
|
|
113
|
+
|
|
114
|
+
// public async readProperties(): Promise<DriverState[]> {
|
|
115
|
+
// var result = await this.isy.sendRequest(`nodes/${this.address}/status`);
|
|
116
|
+
// this.logger(JSON.stringify(result), "debug");
|
|
117
|
+
// return result.property;
|
|
118
|
+
// }
|
|
119
|
+
|
|
120
|
+
// public async updateProperty(propertyName: Driver.Literal, value: string): Promise<any> {
|
|
121
|
+
// const val = this.convertTo(Number(value), Number(this.uom[propertyName]));
|
|
122
|
+
// this.logger(`Updating property ${Controls[propertyName].label}. incoming value: ${value} outgoing value: ${val}`);
|
|
123
|
+
// this.pending[propertyName] = value;
|
|
124
|
+
// return this.isy.sendRequest(`nodes/${this.address}/set/${propertyName}/${val}`).then((p) => {
|
|
125
|
+
// this.local[propertyName] = value;
|
|
126
|
+
// this.pending[propertyName] = null;
|
|
127
|
+
// });
|
|
128
|
+
// }
|
|
129
|
+
|
|
130
|
+
// public override handlePropertyChange(driver: any, value: any, formattedValue: string) {
|
|
131
|
+
// let changed = false;
|
|
132
|
+
// const priorVal = this.local[driver];
|
|
133
|
+
// try {
|
|
134
|
+
// const val = this.convertFrom(value, this.uom[driver]);
|
|
135
|
+
|
|
136
|
+
// if (this.local[driver] !== val) {
|
|
137
|
+
// this.logger(`Property ${Controls[driver].label} (${driver}) updated to: ${val} (${formattedValue})`);
|
|
138
|
+
// this.local[driver] = val;
|
|
139
|
+
// this.formatted[driver] = formattedValue;
|
|
140
|
+
// this.lastChanged = new Date();
|
|
141
|
+
// changed = true;
|
|
142
|
+
// } else {
|
|
143
|
+
// this.logger(`Update event triggered, property ${Controls[driver].label} (${driver}) is unchanged.`);
|
|
144
|
+
// }
|
|
145
|
+
// if (changed) {
|
|
146
|
+
// this.emit("PropertyChanged", driver, val, priorVal, formattedValue);
|
|
147
|
+
|
|
148
|
+
// this.scenes.forEach((element) => {
|
|
149
|
+
// this.logger(`Recalulating ${element.deviceFriendlyName}`);
|
|
150
|
+
// element.recalculateState();
|
|
151
|
+
// });
|
|
152
|
+
// }
|
|
153
|
+
// } catch (error) {
|
|
154
|
+
// this.logger(error, "error");
|
|
155
|
+
// } finally {
|
|
156
|
+
// return changed;
|
|
157
|
+
// }
|
|
158
|
+
// }
|
|
182
159
|
}
|
|
@@ -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,41 +12,32 @@ import { Insteon } from "../../../Definitions/index.js";
|
|
|
12
12
|
import type { DriverState } from "../../../Model/DriverState.js";
|
|
13
13
|
import { NodeFactory } from "../../NodeFactory.js";
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
const nodeDefId = "AlertModuleArmed";
|
|
16
16
|
|
|
17
17
|
type Commands = AlertModuleArmed.Commands;
|
|
18
18
|
type Drivers = AlertModuleArmed.Drivers;
|
|
19
19
|
|
|
20
20
|
export class AlertModuleArmedNode extends Base<Drivers, Commands> implements AlertModuleArmed.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
|
BEEP: this.beep,
|
|
26
26
|
WDU: this.writeChanges
|
|
27
27
|
};
|
|
28
|
-
static nodeDefId = "AlertModuleArmed";
|
|
28
|
+
static override nodeDefId = "AlertModuleArmed";
|
|
29
|
+
static override implements = ["AlertModuleArmed", "SirenAlert", "SirenArm"];
|
|
29
30
|
declare readonly nodeDefId: "AlertModuleArmed";
|
|
30
31
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
31
32
|
super(isy, nodeInfo);
|
|
32
33
|
this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
|
|
33
34
|
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
34
35
|
}
|
|
35
|
-
async on() {
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
async
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
async query() {
|
|
42
|
-
return this.sendCommand("QUERY");
|
|
43
|
-
}
|
|
44
|
-
async beep(value?: number) {
|
|
45
|
-
return this.sendCommand("BEEP", { value: value });
|
|
46
|
-
}
|
|
47
|
-
async writeChanges() {
|
|
48
|
-
return this.sendCommand("WDU");
|
|
49
|
-
}
|
|
36
|
+
async on() { return this.sendCommand("DON"); }
|
|
37
|
+
async off() { return this.sendCommand("DOF"); }
|
|
38
|
+
async query() { return this.sendCommand("QUERY"); }
|
|
39
|
+
async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
|
|
40
|
+
async writeChanges() { return this.sendCommand("WDU"); }
|
|
50
41
|
public get status(): Insteon.OnLevelRelay {
|
|
51
42
|
return this.drivers.ST?.value;
|
|
52
43
|
}
|
|
@@ -61,8 +52,9 @@ export namespace AlertModuleArmed {
|
|
|
61
52
|
export interface Interface extends Omit<InstanceType<typeof AlertModuleArmedNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
62
53
|
nodeDefId: "AlertModuleArmed";
|
|
63
54
|
}
|
|
64
|
-
export function is(node: ISYNode<any, any, any, any>): node is AlertModuleArmedNode {
|
|
65
|
-
|
|
55
|
+
export function is(node: ISYNode<any, any, any, any>): node is AlertModuleArmedNode { return ["AlertModuleArmed"].includes(node.nodeDefId); }
|
|
56
|
+
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is AlertModuleArmedNode {
|
|
57
|
+
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);
|
|
66
58
|
}
|
|
67
59
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
68
60
|
return new AlertModuleArmedNode(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,13 +12,13 @@ import { Insteon } from "../../../Definitions/index.js";
|
|
|
12
12
|
import type { DriverState } from "../../../Model/DriverState.js";
|
|
13
13
|
import { NodeFactory } from "../../NodeFactory.js";
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
const nodeDefId = "AlertModuleSiren";
|
|
16
16
|
|
|
17
17
|
type Commands = AlertModuleSiren.Commands;
|
|
18
18
|
type Drivers = AlertModuleSiren.Drivers;
|
|
19
19
|
|
|
20
20
|
export class AlertModuleSirenNode extends Base<Drivers, Commands> implements AlertModuleSiren.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,
|
|
@@ -27,34 +27,21 @@ export class AlertModuleSirenNode extends Base<Drivers, Commands> implements Ale
|
|
|
27
27
|
BEEP: this.beep,
|
|
28
28
|
WDU: this.writeChanges
|
|
29
29
|
};
|
|
30
|
-
static nodeDefId = "AlertModuleSiren";
|
|
31
|
-
|
|
30
|
+
static override nodeDefId = "AlertModuleSiren";
|
|
31
|
+
static override implements = ["AlertModuleSiren", "AlertModuleArmed", "SirenAlert", "SirenArm"];
|
|
32
|
+
declare readonly nodeDefId: "AlertModuleSiren" | "AlertModuleSiren_ADV";
|
|
32
33
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
33
34
|
super(isy, nodeInfo);
|
|
34
35
|
this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
|
|
35
36
|
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
36
37
|
}
|
|
37
|
-
async on(onLevel?: number) {
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
async
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
async
|
|
44
|
-
return this.sendCommand("DFOF");
|
|
45
|
-
}
|
|
46
|
-
async fastOn() {
|
|
47
|
-
return this.sendCommand("DFON");
|
|
48
|
-
}
|
|
49
|
-
async query() {
|
|
50
|
-
return this.sendCommand("QUERY");
|
|
51
|
-
}
|
|
52
|
-
async beep(value?: number) {
|
|
53
|
-
return this.sendCommand("BEEP", { value: value });
|
|
54
|
-
}
|
|
55
|
-
async writeChanges() {
|
|
56
|
-
return this.sendCommand("WDU");
|
|
57
|
-
}
|
|
38
|
+
async on(onLevel?: number) { return this.sendCommand("DON", { OL: onLevel }); }
|
|
39
|
+
async off() { return this.sendCommand("DOF"); }
|
|
40
|
+
async fastOff() { return this.sendCommand("DFOF"); }
|
|
41
|
+
async fastOn() { return this.sendCommand("DFON"); }
|
|
42
|
+
async query() { return this.sendCommand("QUERY"); }
|
|
43
|
+
async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
|
|
44
|
+
async writeChanges() { return this.sendCommand("WDU"); }
|
|
58
45
|
public get status(): Insteon.OnLevelRelay {
|
|
59
46
|
return this.drivers.ST?.value;
|
|
60
47
|
}
|
|
@@ -64,13 +51,15 @@ export class AlertModuleSirenNode extends Base<Drivers, Commands> implements Ale
|
|
|
64
51
|
}
|
|
65
52
|
|
|
66
53
|
NodeFactory.register(AlertModuleSirenNode);
|
|
54
|
+
NodeFactory.register(AlertModuleSirenNode, "AlertModuleSiren_ADV");
|
|
67
55
|
|
|
68
56
|
export namespace AlertModuleSiren {
|
|
69
57
|
export interface Interface extends Omit<InstanceType<typeof AlertModuleSirenNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
70
|
-
nodeDefId: "AlertModuleSiren";
|
|
58
|
+
nodeDefId: "AlertModuleSiren" | "AlertModuleSiren_ADV";
|
|
71
59
|
}
|
|
72
|
-
export function is(node: ISYNode<any, any, any, any>): node is AlertModuleSirenNode {
|
|
73
|
-
|
|
60
|
+
export function is(node: ISYNode<any, any, any, any>): node is AlertModuleSirenNode { return ["AlertModuleSiren", "AlertModuleSiren_ADV"].includes(node.nodeDefId); }
|
|
61
|
+
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is AlertModuleSirenNode {
|
|
62
|
+
return ["AlertModuleSiren", "AlertModuleSiren_ADV"].includes(node.nodeDefId);
|
|
74
63
|
}
|
|
75
64
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
76
65
|
return new AlertModuleSirenNode(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,13 +12,13 @@ import { Insteon } from "../../../Definitions/index.js";
|
|
|
12
12
|
import type { DriverState } from "../../../Model/DriverState.js";
|
|
13
13
|
import { NodeFactory } from "../../NodeFactory.js";
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
const nodeDefId = "BallastRelayLampSwitch";
|
|
16
16
|
|
|
17
17
|
type Commands = BallastRelayLampSwitch.Commands;
|
|
18
18
|
type Drivers = BallastRelayLampSwitch.Drivers;
|
|
19
19
|
|
|
20
20
|
export class BallastRelayLampSwitchNode extends Base<Drivers, Commands> implements BallastRelayLampSwitch.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,
|
|
@@ -27,34 +27,21 @@ export class BallastRelayLampSwitchNode extends Base<Drivers, Commands> implemen
|
|
|
27
27
|
BEEP: this.beep,
|
|
28
28
|
WDU: this.writeChanges
|
|
29
29
|
};
|
|
30
|
-
static nodeDefId = "BallastRelayLampSwitch";
|
|
31
|
-
|
|
30
|
+
static override nodeDefId = "BallastRelayLampSwitch";
|
|
31
|
+
static override implements = ["BallastRelayLampSwitch", "RelayLampOnly", "RelayLampOnly_ADV", "IRLincTx", "EZRAIN_Output", "EZIO2x4_Output", "EZIO2x4_Input", "EZIO2x4_Input_ADV", "BinaryAlarm", "BinaryAlarm_ADV", "BinaryControl", "BinaryControl_ADV", "AlertModuleArmed", "SirenAlert", "SirenArm"];
|
|
32
|
+
declare readonly nodeDefId: "BallastRelayLampSwitch" | "BallastRelayLampSwitch_ADV";
|
|
32
33
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
33
34
|
super(isy, nodeInfo);
|
|
34
35
|
this.drivers.ST = Driver.create("ST", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
|
|
35
36
|
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.property as DriverState, { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
36
37
|
}
|
|
37
|
-
async on(value?: (0 | 100)) {
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
async
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
async
|
|
44
|
-
return this.sendCommand("DFOF");
|
|
45
|
-
}
|
|
46
|
-
async fastOn() {
|
|
47
|
-
return this.sendCommand("DFON");
|
|
48
|
-
}
|
|
49
|
-
async query() {
|
|
50
|
-
return this.sendCommand("QUERY");
|
|
51
|
-
}
|
|
52
|
-
async beep(value?: number) {
|
|
53
|
-
return this.sendCommand("BEEP", { value: value });
|
|
54
|
-
}
|
|
55
|
-
async writeChanges() {
|
|
56
|
-
return this.sendCommand("WDU");
|
|
57
|
-
}
|
|
38
|
+
async on(value?: (0 | 100)) { return this.sendCommand("DON", { value: value }); }
|
|
39
|
+
async off() { return this.sendCommand("DOF"); }
|
|
40
|
+
async fastOff() { return this.sendCommand("DFOF"); }
|
|
41
|
+
async fastOn() { return this.sendCommand("DFON"); }
|
|
42
|
+
async query() { return this.sendCommand("QUERY"); }
|
|
43
|
+
async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
|
|
44
|
+
async writeChanges() { return this.sendCommand("WDU"); }
|
|
58
45
|
public get status(): Insteon.Sml {
|
|
59
46
|
return this.drivers.ST?.value;
|
|
60
47
|
}
|
|
@@ -64,13 +51,15 @@ export class BallastRelayLampSwitchNode extends Base<Drivers, Commands> implemen
|
|
|
64
51
|
}
|
|
65
52
|
|
|
66
53
|
NodeFactory.register(BallastRelayLampSwitchNode);
|
|
54
|
+
NodeFactory.register(BallastRelayLampSwitchNode, "BallastRelayLampSwitch_ADV");
|
|
67
55
|
|
|
68
56
|
export namespace BallastRelayLampSwitch {
|
|
69
57
|
export interface Interface extends Omit<InstanceType<typeof BallastRelayLampSwitchNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
70
|
-
nodeDefId: "BallastRelayLampSwitch";
|
|
58
|
+
nodeDefId: "BallastRelayLampSwitch" | "BallastRelayLampSwitch_ADV";
|
|
71
59
|
}
|
|
72
|
-
export function is(node: ISYNode<any, any, any, any>): node is BallastRelayLampSwitchNode {
|
|
73
|
-
|
|
60
|
+
export function is(node: ISYNode<any, any, any, any>): node is BallastRelayLampSwitchNode { return ["BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV"].includes(node.nodeDefId); }
|
|
61
|
+
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is BallastRelayLampSwitchNode {
|
|
62
|
+
return ["BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV"].includes(node.nodeDefId);
|
|
74
63
|
}
|
|
75
64
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
76
65
|
return new BallastRelayLampSwitchNode(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,33 +12,28 @@ import { Insteon } from "../../../Definitions/index.js";
|
|
|
12
12
|
import type { DriverState } from "../../../Model/DriverState.js";
|
|
13
13
|
import { NodeFactory } from "../../NodeFactory.js";
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
const nodeDefId = "BinaryAlarm";
|
|
16
16
|
|
|
17
17
|
type Commands = BinaryAlarm.Commands;
|
|
18
18
|
type Drivers = BinaryAlarm.Drivers;
|
|
19
19
|
|
|
20
20
|
export class BinaryAlarmNode extends Base<Drivers, Commands> implements BinaryAlarm.Interface {
|
|
21
|
-
public readonly commands = {
|
|
21
|
+
public override readonly commands = {
|
|
22
22
|
QUERY: this.query,
|
|
23
23
|
BEEP: this.beep,
|
|
24
24
|
WDU: this.writeChanges
|
|
25
25
|
};
|
|
26
|
-
static nodeDefId = "BinaryAlarm";
|
|
27
|
-
|
|
26
|
+
static override nodeDefId = "BinaryAlarm";
|
|
27
|
+
static override implements = ["BinaryAlarm", "BinaryControl", "BinaryControl_ADV", "SirenAlert", "SirenArm"];
|
|
28
|
+
declare readonly nodeDefId: "BinaryAlarm" | "BinaryAlarm_ADV";
|
|
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 query() {
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
async beep(value?: number) {
|
|
37
|
-
return this.sendCommand("BEEP", { value: value });
|
|
38
|
-
}
|
|
39
|
-
async writeChanges() {
|
|
40
|
-
return this.sendCommand("WDU");
|
|
41
|
-
}
|
|
34
|
+
async query() { return this.sendCommand("QUERY"); }
|
|
35
|
+
async beep(value?: number) { return this.sendCommand("BEEP", { value: value }); }
|
|
36
|
+
async writeChanges() { return this.sendCommand("WDU"); }
|
|
42
37
|
public get status(): Insteon.OnLevelRelay {
|
|
43
38
|
return this.drivers.ST?.value;
|
|
44
39
|
}
|
|
@@ -48,13 +43,15 @@ export class BinaryAlarmNode extends Base<Drivers, Commands> implements BinaryAl
|
|
|
48
43
|
}
|
|
49
44
|
|
|
50
45
|
NodeFactory.register(BinaryAlarmNode);
|
|
46
|
+
NodeFactory.register(BinaryAlarmNode, "BinaryAlarm_ADV");
|
|
51
47
|
|
|
52
48
|
export namespace BinaryAlarm {
|
|
53
49
|
export interface Interface extends Omit<InstanceType<typeof BinaryAlarmNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
54
|
-
nodeDefId: "BinaryAlarm";
|
|
50
|
+
nodeDefId: "BinaryAlarm" | "BinaryAlarm_ADV";
|
|
55
51
|
}
|
|
56
|
-
export function is(node: ISYNode<any, any, any, any>): node is BinaryAlarmNode {
|
|
57
|
-
|
|
52
|
+
export function is(node: ISYNode<any, any, any, any>): node is BinaryAlarmNode { return ["BinaryAlarm", "BinaryAlarm_ADV"].includes(node.nodeDefId); }
|
|
53
|
+
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is BinaryAlarmNode {
|
|
54
|
+
return ["BinaryAlarm", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "KeypadRelay", "KeypadRelay_ADV", "BinaryAlarm_ADV"].includes(node.nodeDefId);
|
|
58
55
|
}
|
|
59
56
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
60
57
|
return new BinaryAlarmNode(isy, nodeInfo);
|