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