isy-nodejs 1.0.7-alpha.0 → 1.0.8-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/CodeGeneration/CodeFactory.js +12 -6
- package/dist/esm/CodeGeneration/CodeFactory.js.map +1 -1
- package/dist/esm/CodeGeneration/NodeClassFactory.js +16 -7
- package/dist/esm/CodeGeneration/NodeClassFactory.js.map +1 -1
- package/dist/esm/Definitions/Global/Commands.js +6 -7
- package/dist/esm/Definitions/Global/Commands.js.map +1 -1
- package/dist/esm/Definitions/Global/Drivers.js +36 -23
- package/dist/esm/Definitions/Global/Drivers.js.map +1 -1
- package/dist/esm/Definitions/Insteon/generated/Boolean.js +10 -0
- package/dist/esm/Definitions/Insteon/generated/Boolean.js.map +1 -1
- package/dist/esm/Definitions/Insteon/generated/Error.js +10 -0
- package/dist/esm/Definitions/Insteon/generated/Error.js.map +1 -1
- package/dist/esm/Definitions/Insteon/generated/Lock.js +26 -0
- package/dist/esm/Definitions/Insteon/generated/Lock.js.map +1 -1
- package/dist/esm/Definitions/Insteon/generated/OnLevelRelay.js +10 -0
- package/dist/esm/Definitions/Insteon/generated/OnLevelRelay.js.map +1 -1
- package/{src/Devices/ISYMultiNodeDevice.ts → dist/esm/Devices/CompositeDevice.js} +108 -9
- package/dist/esm/Devices/CompositeDevice.js.map +1 -0
- package/dist/esm/Devices/DeviceFactory.js +1 -1
- package/dist/esm/Devices/DeviceFactory.js.map +1 -1
- package/dist/esm/Devices/ISYDeviceNode.js +1 -0
- package/dist/esm/Devices/ISYDeviceNode.js.map +1 -1
- package/dist/esm/Devices/ISYMultiNodeDevice.js +25 -1
- package/dist/esm/Devices/ISYMultiNodeDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/BinaryControl.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/BinaryControl.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js +8 -8
- package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js +8 -8
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js +8 -8
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js +8 -8
- package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js +5 -5
- package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DoorLock.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/DoorLock.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/EzrainInput.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/EzrainInput.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js +14 -14
- package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js +12 -12
- package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js +7 -7
- package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/IrLincTx.js +5 -5
- package/dist/esm/Devices/Insteon/Generated/IrLincTx.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/KeypadButton.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/KeypadButton.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js +8 -8
- package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/OnOffControl.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/OnOffControl.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Pir2844.js +10 -10
- package/dist/esm/Devices/Insteon/Generated/Pir2844.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Pir2844c.js +10 -10
- package/dist/esm/Devices/Insteon/Generated/Pir2844c.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelayLamp.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/RelayLamp.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js +5 -5
- package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js +5 -5
- package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Siren.js +9 -9
- package/dist/esm/Devices/Insteon/Generated/Siren.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/SirenAlert.js +5 -5
- package/dist/esm/Devices/Insteon/Generated/SirenAlert.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/TempLinc.js +12 -12
- package/dist/esm/Devices/Insteon/Generated/TempLinc.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Thermostat.js +12 -12
- package/dist/esm/Devices/Insteon/Generated/Thermostat.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/X10.js +6 -6
- package/dist/esm/Devices/Insteon/Generated/X10.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js +20 -11
- package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonDimmableDevice.js +2 -4
- package/dist/esm/Devices/Insteon/InsteonDimmableDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonDimmerOutletDevice.js +2 -2
- package/dist/esm/Devices/Insteon/InsteonDimmerOutletDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonDoorWindowSensorDevice.js +20 -7
- package/dist/esm/Devices/Insteon/InsteonDoorWindowSensorDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js +17 -34
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonOnOffOutletDevice.js +3 -13
- package/dist/esm/Devices/Insteon/InsteonOnOffOutletDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonRelayDevice.js +0 -16
- package/dist/esm/Devices/Insteon/InsteonRelayDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/index.js +10 -11
- package/dist/esm/Devices/Insteon/index.js.map +1 -1
- package/dist/esm/Devices/Lutron/Generated/LoadShed.js +6 -6
- package/dist/esm/Devices/Lutron/Generated/LoadShed.js.map +1 -1
- package/dist/esm/Devices/NodeFactory.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Channel.js +7 -7
- package/dist/esm/Devices/UDI/Generated/Channel.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js +10 -10
- package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Main.js +7 -7
- package/dist/esm/Devices/UDI/Generated/Main.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/PulseCounter.js +8 -8
- package/dist/esm/Devices/UDI/Generated/PulseCounter.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Relay.js +6 -6
- package/dist/esm/Devices/UDI/Generated/Relay.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js +6 -6
- package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js.map +1 -1
- package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js +9 -9
- package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js.map +1 -1
- package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js +6 -6
- package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js.map +1 -1
- package/dist/esm/Devices/ZigBee/ZWaveBaseDevice.js +9 -0
- package/dist/esm/Devices/ZigBee/ZWaveBaseDevice.js.map +1 -0
- package/dist/esm/Devices/ZigBee/ZigBeeBase.js +9 -0
- package/dist/esm/Devices/ZigBee/ZigBeeBase.js.map +1 -0
- package/dist/esm/Devices/ZigBee/index.js +3 -0
- package/dist/esm/Devices/ZigBee/index.js.map +1 -0
- package/dist/esm/ISY.js +19 -3
- package/dist/esm/ISY.js.map +1 -1
- package/dist/esm/ISYNode.js.map +1 -1
- package/dist/esm/Matter/Behaviors/BehaviorRegistry.js +37 -5
- package/dist/esm/Matter/Behaviors/BehaviorRegistry.js.map +1 -1
- package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js +6 -1
- package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
- package/dist/esm/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.js +24 -0
- package/dist/esm/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.js.map +1 -0
- package/dist/esm/Matter/Behaviors/Insteon/ISYDimmableBehavior.js +23 -0
- package/dist/esm/Matter/Behaviors/Insteon/ISYDimmableBehavior.js.map +1 -0
- package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js +4 -4
- package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js.map +1 -1
- package/dist/esm/Matter/Behaviors/Insteon/IdentifyBehavior.js +23 -0
- package/dist/esm/Matter/Behaviors/Insteon/IdentifyBehavior.js.map +1 -0
- package/dist/esm/Matter/Behaviors/Insteon/RelayOnOffBehavior.js +24 -0
- package/dist/esm/Matter/Behaviors/Insteon/RelayOnOffBehavior.js.map +1 -0
- package/dist/esm/Matter/Behaviors/Insteon/index.js +4 -0
- package/dist/esm/Matter/Behaviors/Insteon/index.js.map +1 -0
- package/dist/esm/Matter/Bridge/Server.js +22 -11
- package/dist/esm/Matter/Bridge/Server.js.map +1 -1
- package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
- package/dist/esm/Matter/Mappings/MappingRegistry.js +5 -4
- package/dist/esm/Matter/Mappings/MappingRegistry.js.map +1 -1
- package/dist/esm/Registry.js +77 -0
- package/dist/esm/Registry.js.map +1 -0
- package/dist/esm/Utils.js +12 -0
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/types/CodeGeneration/CodeFactory.d.ts +6 -5
- package/dist/esm/types/CodeGeneration/CodeFactory.d.ts.map +1 -1
- package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Commands.d.ts +4 -4
- package/dist/esm/types/Definitions/Global/Commands.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Drivers.d.ts +10 -8
- package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Events.d.ts +3 -3
- package/dist/esm/types/Definitions/Global/Events.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Insteon/generated/Boolean.d.ts +4 -0
- package/dist/esm/types/Definitions/Insteon/generated/Boolean.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Insteon/generated/Error.d.ts +4 -0
- package/dist/esm/types/Definitions/Insteon/generated/Error.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Insteon/generated/Lock.d.ts +6 -0
- package/dist/esm/types/Definitions/Insteon/generated/Lock.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Insteon/generated/OnLevelRelay.d.ts +4 -0
- package/dist/esm/types/Definitions/Insteon/generated/OnLevelRelay.d.ts.map +1 -1
- package/dist/esm/types/Devices/CompositeDevice.d.ts +64 -0
- package/dist/esm/types/Devices/CompositeDevice.d.ts.map +1 -0
- package/dist/esm/types/Devices/EndpointFor.d.ts +3 -2
- package/dist/esm/types/Devices/EndpointFor.d.ts.map +1 -1
- package/dist/esm/types/Devices/ISYDeviceNode.d.ts +4 -1
- package/dist/esm/types/Devices/ISYDeviceNode.d.ts.map +1 -1
- package/dist/esm/types/Devices/ISYMultiNodeDevice.d.ts +25 -1
- package/dist/esm/types/Devices/ISYMultiNodeDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts +2 -3
- package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +8 -6
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDeviceFactory.d.ts +7 -2
- package/dist/esm/types/Devices/Insteon/InsteonDeviceFactory.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDimmableDevice.d.ts +2 -2
- package/dist/esm/types/Devices/Insteon/InsteonDimmableDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDimmerOutletDevice.d.ts +2 -2
- package/dist/esm/types/Devices/Insteon/InsteonDimmerOutletDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDoorWindowSensorDevice.d.ts +17 -5
- package/dist/esm/types/Devices/Insteon/InsteonDoorWindowSensorDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts +18 -16
- 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/InsteonOnOffOutletDevice.d.ts +8 -7
- package/dist/esm/types/Devices/Insteon/InsteonOnOffOutletDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts +0 -1
- package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/index.d.ts +10 -11
- package/dist/esm/types/Devices/Insteon/index.d.ts.map +1 -1
- package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts +2 -3
- package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -1
- package/dist/esm/types/Devices/NodeFactory.d.ts +1 -1
- package/dist/esm/types/Devices/NodeFactory.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts +2 -3
- package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts +2 -3
- package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Main.d.ts +2 -3
- package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts +2 -3
- package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts +2 -3
- package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts +2 -3
- package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -1
- package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +2 -3
- package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +2 -3
- package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/ZigBee/ZWaveBaseDevice.d.ts +10 -0
- package/dist/esm/types/Devices/ZigBee/ZWaveBaseDevice.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZigBee/ZigBeeBase.d.ts +10 -0
- package/dist/esm/types/Devices/ZigBee/ZigBeeBase.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZigBee/index.d.ts +2 -0
- package/dist/esm/types/Devices/ZigBee/index.d.ts.map +1 -0
- package/dist/esm/types/ISY.d.ts.map +1 -1
- package/dist/esm/types/ISYDevice.d.ts +3 -5
- package/dist/esm/types/ISYDevice.d.ts.map +1 -1
- package/dist/esm/types/ISYNode.d.ts +32 -25
- package/dist/esm/types/ISYNode.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts +9 -5
- package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +8 -5
- package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.d.ts +321 -0
- package/dist/esm/types/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.d.ts.map +1 -0
- package/dist/esm/types/Matter/Behaviors/Insteon/ISYDimmableBehavior.d.ts +42 -0
- package/dist/esm/types/Matter/Behaviors/Insteon/ISYDimmableBehavior.d.ts.map +1 -0
- package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts +4 -4
- package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/Insteon/IdentifyBehavior.d.ts +24 -0
- package/dist/esm/types/Matter/Behaviors/Insteon/IdentifyBehavior.d.ts.map +1 -0
- package/dist/esm/types/Matter/Behaviors/Insteon/RelayOnOffBehavior.d.ts +241 -0
- package/dist/esm/types/Matter/Behaviors/Insteon/RelayOnOffBehavior.d.ts.map +1 -0
- package/dist/esm/types/Matter/Behaviors/Insteon/index.d.ts +4 -0
- package/dist/esm/types/Matter/Behaviors/Insteon/index.d.ts.map +1 -0
- package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
- package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts +4173 -42
- package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts.map +1 -1
- package/dist/esm/types/Model/EnumDefinition.d.ts +1 -1
- package/dist/esm/types/Registry.d.ts +37 -0
- package/dist/esm/types/Registry.d.ts.map +1 -0
- package/dist/esm/types/Utils.d.ts +13 -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 +16 -8
- package/src/CodeGeneration/NodeClassFactory.ts +7 -9
- package/src/Definitions/Global/Commands.ts +16 -13
- package/src/Definitions/Global/Drivers.ts +56 -36
- package/src/Definitions/Global/Events.ts +4 -4
- package/src/Definitions/Insteon/generated/Boolean.ts +9 -0
- package/src/Definitions/Insteon/generated/Error.ts +9 -0
- package/src/Definitions/Insteon/generated/Lock.ts +28 -0
- package/src/Definitions/Insteon/generated/OnLevelRelay.ts +11 -0
- package/src/Devices/Brultech/Generated/Channel.ts +8 -9
- package/src/Devices/Brultech/Generated/Main.ts +11 -12
- package/src/Devices/CompositeDevice.ts +277 -0
- package/src/Devices/DeviceFactory.ts +1 -1
- package/src/Devices/ISYDeviceNode.ts +8 -2
- package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +7 -8
- package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +7 -8
- package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +7 -8
- package/src/Devices/Insteon/Generated/BinaryAlarm.ts +7 -8
- package/src/Devices/Insteon/Generated/BinaryControl.ts +7 -8
- package/src/Devices/Insteon/Generated/DimmerLamp.ts +9 -10
- package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +9 -10
- package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +9 -10
- package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +9 -10
- package/src/Devices/Insteon/Generated/DimmerSwitch.ts +6 -7
- package/src/Devices/Insteon/Generated/DoorLock.ts +7 -8
- package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +7 -8
- package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +7 -8
- package/src/Devices/Insteon/Generated/EzrainInput.ts +7 -8
- package/src/Devices/Insteon/Generated/EzrainOutput.ts +7 -8
- package/src/Devices/Insteon/Generated/FanLincMotor.ts +7 -8
- package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +15 -16
- package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +13 -14
- package/src/Devices/Insteon/Generated/ImeterSolo.ts +8 -9
- package/src/Devices/Insteon/Generated/IrLincTx.ts +6 -7
- package/src/Devices/Insteon/Generated/KeypadButton.ts +7 -8
- package/src/Devices/Insteon/Generated/KeypadDimmer.ts +9 -10
- package/src/Devices/Insteon/Generated/KeypadRelay.ts +7 -8
- package/src/Devices/Insteon/Generated/OnOffControl.ts +7 -8
- package/src/Devices/Insteon/Generated/Pir2844.ts +11 -12
- package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +7 -8
- package/src/Devices/Insteon/Generated/Pir2844c.ts +11 -12
- package/src/Devices/Insteon/Generated/RelayLamp.ts +7 -8
- package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +7 -8
- package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +7 -8
- package/src/Devices/Insteon/Generated/RelaySwitch.ts +6 -7
- package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +6 -7
- package/src/Devices/Insteon/Generated/RemoteLinc2.ts +7 -8
- package/src/Devices/Insteon/Generated/Siren.ts +10 -11
- package/src/Devices/Insteon/Generated/SirenAlert.ts +6 -7
- package/src/Devices/Insteon/Generated/TempLinc.ts +13 -14
- package/src/Devices/Insteon/Generated/Thermostat.ts +13 -14
- package/src/Devices/Insteon/Generated/X10.ts +7 -8
- package/src/Devices/Insteon/InsteonDeviceFactory.ts +26 -12
- package/src/Devices/Insteon/InsteonDimmableDevice.ts +4 -4
- package/src/Devices/Insteon/InsteonDimmerOutletDevice.ts +3 -2
- package/src/Devices/Insteon/InsteonDoorWindowSensorDevice.ts +30 -7
- package/src/Devices/Insteon/InsteonFanDevice.ts +21 -36
- package/src/Devices/Insteon/InsteonOnOffOutletDevice.ts +5 -17
- package/src/Devices/Insteon/InsteonRelayDevice.ts +2 -3
- package/src/Devices/Insteon/index.ts +10 -14
- package/src/Devices/Lutron/Generated/LoadShed.ts +7 -8
- package/src/Devices/NCD/Generated/Relay.ts +19 -23
- package/src/Devices/NodeFactory.ts +1 -1
- package/src/Devices/Poly/Generated/MatterBridge.ts +6 -7
- package/src/Devices/Scene/Generated/Scene.ts +5 -6
- package/src/Devices/UDI/Generated/Channel.ts +8 -9
- package/src/Devices/UDI/Generated/Em3MainChannel.ts +11 -12
- package/src/Devices/UDI/Generated/Main.ts +8 -9
- package/src/Devices/UDI/Generated/PulseCounter.ts +9 -10
- package/src/Devices/UDI/Generated/Relay.ts +7 -8
- package/src/Devices/UDI/Generated/TemperatureSensor.ts +7 -8
- package/src/Devices/ZWave/Generated/ColorSwitch.ts +17 -18
- package/src/Devices/ZWave/Generated/DimmerSwitch.ts +7 -8
- package/src/Devices/ZigBee/ZigBeeBase.ts +22 -0
- package/src/Devices/ZigBee/index.ts +13 -0
- package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +22 -20
- package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +92 -76
- package/src/ISY.ts +27 -5
- package/src/ISYDevice.ts +4 -3
- package/src/ISYNode.ts +48 -32
- package/src/Matter/Behaviors/BehaviorRegistry.ts +44 -8
- package/src/Matter/Behaviors/ISYClusterBehavior.ts +15 -6
- package/src/Matter/Behaviors/Insteon/DimmerLevelControlBehavior.ts +30 -0
- package/src/Matter/Behaviors/Insteon/IdentifyBehavior.ts +26 -0
- package/src/Matter/Behaviors/Insteon/RelayOnOffBehavior.ts +34 -0
- package/src/Matter/Behaviors/Insteon/index.ts +3 -0
- package/src/Matter/Bridge/Server.ts +93 -85
- package/src/Matter/Mappings/Insteon.ts +3 -3
- package/src/Matter/Mappings/MappingRegistry.ts +29 -40
- package/src/Registry.ts +112 -0
- package/src/Utils.ts +29 -0
- package/src/Devices/Insteon/DimmerLampSwitch.ts +0 -207
- package/src/Devices/Insteon/InsteonRelaySwitchDevice.ts +0 -11
- package/src/Devices/Insteon/RelayLampSwitch.ts +0 -132
- package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +0 -66
|
@@ -17,7 +17,7 @@ const nodeDefId = "Siren";
|
|
|
17
17
|
type Commands = Siren.Commands;
|
|
18
18
|
type Drivers = Siren.Drivers;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
class SirenNode extends Base<Drivers, Commands> implements Siren.Interface {
|
|
21
21
|
public override readonly commands = {
|
|
22
22
|
DON: this.on,
|
|
23
23
|
DOF: this.off,
|
|
@@ -28,15 +28,15 @@ export class SirenNode extends Base<Drivers, Commands> implements Siren.Interfac
|
|
|
28
28
|
WDU: this.writeChanges
|
|
29
29
|
};
|
|
30
30
|
static override nodeDefId = "Siren";
|
|
31
|
-
static override implements = [
|
|
32
|
-
declare readonly nodeDefId:
|
|
31
|
+
static override implements = ['Siren', "SirenAlert", "SirenArm"];
|
|
32
|
+
declare readonly nodeDefId: 'Siren' | "Siren_ADV";
|
|
33
33
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
34
34
|
super(isy, nodeInfo);
|
|
35
|
-
this.drivers.ST = Driver.create("ST", this, nodeInfo.
|
|
36
|
-
this.drivers.MODE = Driver.create("MODE", this, nodeInfo.
|
|
37
|
-
this.drivers.DELAY = Driver.create("DELAY", this, nodeInfo.
|
|
38
|
-
this.drivers.DUR = Driver.create("DUR", this, nodeInfo.
|
|
39
|
-
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.
|
|
35
|
+
this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Percent, label: "Siren", name: "siren" });
|
|
36
|
+
this.drivers.MODE = Driver.create("MODE", this, nodeInfo.state['MODE'], { uom: UnitOfMeasure.Index, label: "Mode", name: "mode" });
|
|
37
|
+
this.drivers.DELAY = Driver.create("DELAY", this, nodeInfo.state['DELAY'], { uom: UnitOfMeasure.DurationInSeconds, label: "Arm Countdown", name: "armCountdown" });
|
|
38
|
+
this.drivers.DUR = Driver.create("DUR", this, nodeInfo.state['DUR'], { uom: UnitOfMeasure.DurationInSeconds, label: "Siren Duration", name: "sirenDuration" });
|
|
39
|
+
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
40
40
|
}
|
|
41
41
|
async on(duration?: number) { return this.sendCommand("DON", { DUR: duration }); }
|
|
42
42
|
async off() { return this.sendCommand("DOF"); }
|
|
@@ -67,13 +67,12 @@ NodeFactory.register(SirenNode, "Siren_ADV");
|
|
|
67
67
|
|
|
68
68
|
export namespace Siren {
|
|
69
69
|
export interface Interface extends Omit<InstanceType<typeof SirenNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
70
|
-
nodeDefId: "Siren" | "Siren_ADV";
|
|
71
70
|
}
|
|
72
71
|
export function is(node: ISYNode<any, any, any, any>): node is SirenNode {
|
|
73
|
-
return [
|
|
72
|
+
return ['Siren', "Siren_ADV"].includes(node.nodeDefId);
|
|
74
73
|
}
|
|
75
74
|
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is SirenNode {
|
|
76
|
-
return [
|
|
75
|
+
return ['Siren', "Siren_ADV"].includes(node.nodeDefId);
|
|
77
76
|
}
|
|
78
77
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
79
78
|
return new SirenNode(isy, nodeInfo);
|
|
@@ -17,14 +17,14 @@ const nodeDefId = "SirenAlert";
|
|
|
17
17
|
type Commands = SirenAlert.Commands;
|
|
18
18
|
type Drivers = SirenAlert.Drivers;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
class SirenAlertNode extends Base<Drivers, Commands> implements SirenAlert.Interface {
|
|
21
21
|
public override readonly commands = {};
|
|
22
22
|
static override nodeDefId = "SirenAlert";
|
|
23
|
-
static override implements = [
|
|
24
|
-
declare readonly nodeDefId:
|
|
23
|
+
static override implements = ['SirenAlert'];
|
|
24
|
+
declare readonly nodeDefId: 'SirenAlert' | "SirenArm";
|
|
25
25
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
26
26
|
super(isy, nodeInfo);
|
|
27
|
-
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.
|
|
27
|
+
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
28
28
|
}
|
|
29
29
|
public get responding(): Insteon.Error {
|
|
30
30
|
return this.drivers.ERR?.value;
|
|
@@ -36,13 +36,12 @@ NodeFactory.register(SirenAlertNode, "SirenArm");
|
|
|
36
36
|
|
|
37
37
|
export namespace SirenAlert {
|
|
38
38
|
export interface Interface extends Omit<InstanceType<typeof SirenAlertNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
39
|
-
nodeDefId: "SirenAlert" | "SirenArm";
|
|
40
39
|
}
|
|
41
40
|
export function is(node: ISYNode<any, any, any, any>): node is SirenAlertNode {
|
|
42
|
-
return [
|
|
41
|
+
return ['SirenAlert', "SirenArm"].includes(node.nodeDefId);
|
|
43
42
|
}
|
|
44
43
|
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is SirenAlertNode {
|
|
45
|
-
return [
|
|
44
|
+
return ['SirenAlert', "X10", "Thermostat", "TempLinc", "OnOffControl", "OnOffControl_ADV", "DimmerMotorSwitch", "DimmerMotorSwitch_ADV", "DimmerLampSwitch", "DimmerLampSwitch_ADV", "DimmerLampSwitchLED", "DimmerLampSwitchLED_ADV", "DimmerSwitchOnly", "DimmerSwitchOnly_ADV", "DimmerLampOnly", "KeypadDimmer", "KeypadDimmer_ADV", "BallastRelayLampSwitch", "BallastRelayLampSwitch_ADV", "RelayLampSwitch", "RelayLampSwitch_ADV", "RelayLampSwitchLED", "RelayLampSwitchLED_ADV", "RelaySwitchOnlyPlusQuery", "RelaySwitchOnlyPlusQuery_ADV", "RelaySwitchOnly", "RelaySwitchOnly_ADV", "RelayLampOnly", "RelayLampOnly_ADV", "KeypadRelay", "KeypadRelay_ADV", "RemoteLinc2", "RemoteLinc2_ADV", "IRLincTx", "FanLincMotor", "KeypadButton", "KeypadButton_ADV", "EZRAIN_Output", "EZRAIN_Input", "EZRAIN_Input_ADV", "EZIO2x4_Output", "EZIO2x4_Input", "EZIO2x4_Input_ADV", "IMETER_SOLO", "DoorLock", "BinaryAlarm", "BinaryAlarm_ADV", "BinaryControl", "BinaryControl_ADV", "AlertModuleSiren", "AlertModuleSiren_ADV", "AlertModuleArmed", "Siren", "Siren_ADV", "SirenArm", "PIR2844_ADV", "PIR2844C_ADV", "PIR2844OnOff_ADV"].includes(node.nodeDefId);
|
|
46
45
|
}
|
|
47
46
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
48
47
|
return new SirenAlertNode(isy, nodeInfo);
|
|
@@ -17,7 +17,7 @@ const nodeDefId = "TempLinc";
|
|
|
17
17
|
type Commands = TempLinc.Commands;
|
|
18
18
|
type Drivers = TempLinc.Drivers;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
class TempLincNode extends Base<Drivers, Commands> implements TempLinc.Interface {
|
|
21
21
|
public override readonly commands = {
|
|
22
22
|
CLISPH: this.updateHeatSetpoint,
|
|
23
23
|
CLISPC: this.updateCoolSetpoint,
|
|
@@ -31,18 +31,18 @@ export class TempLincNode extends Base<Drivers, Commands> implements TempLinc.In
|
|
|
31
31
|
WDU: this.writeChanges
|
|
32
32
|
};
|
|
33
33
|
static override nodeDefId = "TempLinc";
|
|
34
|
-
static override implements = [
|
|
35
|
-
declare readonly nodeDefId:
|
|
34
|
+
static override implements = ['TempLinc', "IRLincTx", "SirenAlert", "SirenArm"];
|
|
35
|
+
declare readonly nodeDefId: 'TempLinc';
|
|
36
36
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
37
37
|
super(isy, nodeInfo);
|
|
38
|
-
this.drivers.ST = Driver.create("ST", this, nodeInfo.
|
|
39
|
-
this.drivers.CLISPH = Driver.create("CLISPH", this, nodeInfo.
|
|
40
|
-
this.drivers.CLISPC = Driver.create("CLISPC", this, nodeInfo.
|
|
41
|
-
this.drivers.CLIMD = Driver.create("CLIMD", this, nodeInfo.
|
|
42
|
-
this.drivers.CLIFS = Driver.create("CLIFS", this, nodeInfo.
|
|
43
|
-
this.drivers.CLIHUM = Driver.create("CLIHUM", this, nodeInfo.
|
|
44
|
-
this.drivers.CLIHCS = Driver.create("CLIHCS", this, nodeInfo.
|
|
45
|
-
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.
|
|
38
|
+
this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Degree, label: "Temperature", name: "temperature" });
|
|
39
|
+
this.drivers.CLISPH = Driver.create("CLISPH", this, nodeInfo.state['CLISPH'], { uom: UnitOfMeasure.Degree, label: "Heat Setpoint", name: "heatSetpoint" });
|
|
40
|
+
this.drivers.CLISPC = Driver.create("CLISPC", this, nodeInfo.state['CLISPC'], { uom: UnitOfMeasure.Degree, label: "Cool Setpoint", name: "coolSetpoint" });
|
|
41
|
+
this.drivers.CLIMD = Driver.create("CLIMD", this, nodeInfo.state['CLIMD'], { uom: UnitOfMeasure.InsteonThermostatMode, label: "Mode", name: "mode" });
|
|
42
|
+
this.drivers.CLIFS = Driver.create("CLIFS", this, nodeInfo.state['CLIFS'], { uom: UnitOfMeasure.InsteonThermostatFanMode, label: "Fan Mode", name: "fanMode" });
|
|
43
|
+
this.drivers.CLIHUM = Driver.create("CLIHUM", this, nodeInfo.state['CLIHUM'], { uom: UnitOfMeasure.Percent, label: "Humidity", name: "humidity" });
|
|
44
|
+
this.drivers.CLIHCS = Driver.create("CLIHCS", this, nodeInfo.state['CLIHCS'], { uom: UnitOfMeasure.ThermostatHeatCoolState, label: "Heat/Cool State", name: "heatCoolState" });
|
|
45
|
+
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
46
46
|
}
|
|
47
47
|
async updateHeatSetpoint(value: number) { return this.sendCommand("CLISPH", value); }
|
|
48
48
|
async updateCoolSetpoint(value: number) { return this.sendCommand("CLISPC", value); }
|
|
@@ -84,13 +84,12 @@ NodeFactory.register(TempLincNode);
|
|
|
84
84
|
|
|
85
85
|
export namespace TempLinc {
|
|
86
86
|
export interface Interface extends Omit<InstanceType<typeof TempLincNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
87
|
-
nodeDefId: "TempLinc";
|
|
88
87
|
}
|
|
89
88
|
export function is(node: ISYNode<any, any, any, any>): node is TempLincNode {
|
|
90
|
-
return [
|
|
89
|
+
return ['TempLinc'].includes(node.nodeDefId);
|
|
91
90
|
}
|
|
92
91
|
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is TempLincNode {
|
|
93
|
-
return [
|
|
92
|
+
return ['TempLinc', "Thermostat"].includes(node.nodeDefId);
|
|
94
93
|
}
|
|
95
94
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
96
95
|
return new TempLincNode(isy, nodeInfo);
|
|
@@ -17,7 +17,7 @@ const nodeDefId = "Thermostat";
|
|
|
17
17
|
type Commands = Thermostat.Commands;
|
|
18
18
|
type Drivers = Thermostat.Drivers;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
class ThermostatNode extends Base<Drivers, Commands> implements Thermostat.Interface {
|
|
21
21
|
public override readonly commands = {
|
|
22
22
|
CLISPH: this.updateHeatSetpoint,
|
|
23
23
|
CLISPC: this.updateCoolSetpoint,
|
|
@@ -31,18 +31,18 @@ export class ThermostatNode extends Base<Drivers, Commands> implements Thermosta
|
|
|
31
31
|
WDU: this.writeChanges
|
|
32
32
|
};
|
|
33
33
|
static override nodeDefId = "Thermostat";
|
|
34
|
-
static override implements = [
|
|
35
|
-
declare readonly nodeDefId:
|
|
34
|
+
static override implements = ['Thermostat'];
|
|
35
|
+
declare readonly nodeDefId: 'Thermostat';
|
|
36
36
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
37
37
|
super(isy, nodeInfo);
|
|
38
|
-
this.drivers.ST = Driver.create("ST", this, nodeInfo.
|
|
39
|
-
this.drivers.CLISPH = Driver.create("CLISPH", this, nodeInfo.
|
|
40
|
-
this.drivers.CLISPC = Driver.create("CLISPC", this, nodeInfo.
|
|
41
|
-
this.drivers.CLIMD = Driver.create("CLIMD", this, nodeInfo.
|
|
42
|
-
this.drivers.CLIFS = Driver.create("CLIFS", this, nodeInfo.
|
|
43
|
-
this.drivers.CLIHUM = Driver.create("CLIHUM", this, nodeInfo.
|
|
44
|
-
this.drivers.CLIHCS = Driver.create("CLIHCS", this, nodeInfo.
|
|
45
|
-
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.
|
|
38
|
+
this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Degree, label: "Temperature", name: "temperature" });
|
|
39
|
+
this.drivers.CLISPH = Driver.create("CLISPH", this, nodeInfo.state['CLISPH'], { uom: UnitOfMeasure.Degree, label: "Heat Setpoint", name: "heatSetpoint" });
|
|
40
|
+
this.drivers.CLISPC = Driver.create("CLISPC", this, nodeInfo.state['CLISPC'], { uom: UnitOfMeasure.Degree, label: "Cool Setpoint", name: "coolSetpoint" });
|
|
41
|
+
this.drivers.CLIMD = Driver.create("CLIMD", this, nodeInfo.state['CLIMD'], { uom: UnitOfMeasure.InsteonThermostatMode, label: "Mode", name: "mode" });
|
|
42
|
+
this.drivers.CLIFS = Driver.create("CLIFS", this, nodeInfo.state['CLIFS'], { uom: UnitOfMeasure.InsteonThermostatFanMode, label: "Fan Mode", name: "fanMode" });
|
|
43
|
+
this.drivers.CLIHUM = Driver.create("CLIHUM", this, nodeInfo.state['CLIHUM'], { uom: UnitOfMeasure.Percent, label: "Humidity", name: "humidity" });
|
|
44
|
+
this.drivers.CLIHCS = Driver.create("CLIHCS", this, nodeInfo.state['CLIHCS'], { uom: UnitOfMeasure.ThermostatHeatCoolState, label: "Heat/Cool State", name: "heatCoolState" });
|
|
45
|
+
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
46
46
|
}
|
|
47
47
|
async updateHeatSetpoint(value: number) { return this.sendCommand("CLISPH", value); }
|
|
48
48
|
async updateCoolSetpoint(value: number) { return this.sendCommand("CLISPC", value); }
|
|
@@ -84,13 +84,12 @@ NodeFactory.register(ThermostatNode);
|
|
|
84
84
|
|
|
85
85
|
export namespace Thermostat {
|
|
86
86
|
export interface Interface extends Omit<InstanceType<typeof ThermostatNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
87
|
-
nodeDefId: "Thermostat";
|
|
88
87
|
}
|
|
89
88
|
export function is(node: ISYNode<any, any, any, any>): node is ThermostatNode {
|
|
90
|
-
return [
|
|
89
|
+
return ['Thermostat'].includes(node.nodeDefId);
|
|
91
90
|
}
|
|
92
91
|
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ThermostatNode {
|
|
93
|
-
return [
|
|
92
|
+
return ['Thermostat'].includes(node.nodeDefId);
|
|
94
93
|
}
|
|
95
94
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
96
95
|
return new ThermostatNode(isy, nodeInfo);
|
|
@@ -17,7 +17,7 @@ const nodeDefId = "X10";
|
|
|
17
17
|
type Commands = X10.Commands;
|
|
18
18
|
type Drivers = X10.Drivers;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
class X10Node extends Base<Drivers, Commands> implements X10.Interface {
|
|
21
21
|
public override readonly commands = {
|
|
22
22
|
DON: this.on,
|
|
23
23
|
DOF: this.off,
|
|
@@ -26,12 +26,12 @@ export class X10Node extends Base<Drivers, Commands> implements X10.Interface {
|
|
|
26
26
|
QUERY: this.query
|
|
27
27
|
};
|
|
28
28
|
static override nodeDefId = "X10";
|
|
29
|
-
static override implements = [
|
|
30
|
-
declare readonly nodeDefId:
|
|
29
|
+
static override implements = ['X10'];
|
|
30
|
+
declare readonly nodeDefId: 'X10';
|
|
31
31
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
32
32
|
super(isy, nodeInfo);
|
|
33
|
-
this.drivers.ST = Driver.create("ST", this, nodeInfo.
|
|
34
|
-
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.
|
|
33
|
+
this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Percent, label: "Status", name: "status" });
|
|
34
|
+
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
35
35
|
}
|
|
36
36
|
async on() { return this.sendCommand("DON"); }
|
|
37
37
|
async off() { return this.sendCommand("DOF"); }
|
|
@@ -50,13 +50,12 @@ NodeFactory.register(X10Node);
|
|
|
50
50
|
|
|
51
51
|
export namespace X10 {
|
|
52
52
|
export interface Interface extends Omit<InstanceType<typeof X10Node>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
53
|
-
nodeDefId: "X10";
|
|
54
53
|
}
|
|
55
54
|
export function is(node: ISYNode<any, any, any, any>): node is X10Node {
|
|
56
|
-
return [
|
|
55
|
+
return ['X10'].includes(node.nodeDefId);
|
|
57
56
|
}
|
|
58
57
|
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is X10Node {
|
|
59
|
-
return [
|
|
58
|
+
return ['X10'].includes(node.nodeDefId);
|
|
60
59
|
}
|
|
61
60
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
62
61
|
return new X10Node(isy, nodeInfo);
|
|
@@ -14,6 +14,7 @@ import { DeviceDef, type CategoryDef, type FamilyDef } from '../DeviceMap.js';
|
|
|
14
14
|
import { writeFileSync } from 'fs';
|
|
15
15
|
import type { Constructor } from '../Constructor.js';
|
|
16
16
|
import { Family } from '../../Definitions/index.js';
|
|
17
|
+
import type { ISYDevice } from '../../ISYDevice.js';
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
|
|
@@ -63,17 +64,30 @@ export class InsteonDeviceFactory {
|
|
|
63
64
|
// writeFileSync("DeviceMapClean.json", JSON.stringify(fams));
|
|
64
65
|
// }
|
|
65
66
|
|
|
66
|
-
static getDeviceDetails(node: NodeInfo): { name: string; modelNumber?: string; version?: string; class?: Constructor<ISYNode<Family.Insteon,any,any>>; unsupported?: true; } {
|
|
67
|
+
static getDeviceDetails(node: NodeInfo): { name: string; modelNumber?: string; version?: string; class?: Constructor<ISYNode<Family.Insteon,any,any>> | Constructor<ISYDevice<Family.Insteon,any,any,any>>; unsupported?: true; } {
|
|
67
68
|
const family = Number(node.family ?? '1');
|
|
68
69
|
//let insteonFamilyDef = s[0] as FamilyDef<Family.Insteon>;
|
|
69
70
|
if ((family ?? Family.Insteon) === Family.Insteon) {
|
|
70
|
-
//insteonFamilyDef.categories.forEach(callbackfn)
|
|
71
|
-
|
|
71
|
+
//insteonFamilyDef.categories.forEach(callbackfn))
|
|
72
|
+
let n = this.getInsteonDeviceDetails(node);
|
|
73
|
+
if(n.class)
|
|
74
|
+
{
|
|
75
|
+
if('Node' in n.class)
|
|
76
|
+
{
|
|
77
|
+
return {...n, class: n.class.Node};
|
|
78
|
+
}
|
|
79
|
+
if ('Device' in n.class) {
|
|
80
|
+
return { ...n, class: n.class.Device };
|
|
81
|
+
}
|
|
82
|
+
if (n.class instanceof Function) {
|
|
83
|
+
return n as any;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
72
86
|
|
|
73
|
-
}
|
|
87
|
+
} return { name: "Unsupported Device", class: Insteon.Base, unsupported: true };
|
|
74
88
|
}
|
|
75
89
|
|
|
76
|
-
public static getInsteonDeviceDetails(node: NodeInfo): { name: string; modelNumber?: string; version?: string; class: Constructor<ISYNode<Family.Insteon,any,any
|
|
90
|
+
public static getInsteonDeviceDetails(node: NodeInfo): { name: string; modelNumber?: string; version?: string; class: {Node: Constructor<ISYNode<Family.Insteon,any,any>>} | {Device: Constructor<ISYDevice<Family.Insteon,any,any,any>>} | Constructor<ISYNode<Family.Insteon,any,any>>, unsupported?: true; } {
|
|
77
91
|
const type = parseTypeCode(node.type as any);
|
|
78
92
|
const subAddress = node.address.split(' ').pop();
|
|
79
93
|
|
|
@@ -173,7 +187,7 @@ export class InsteonDeviceFactory {
|
|
|
173
187
|
|
|
174
188
|
public static getSwitchLightInfo(deviceCode: number, subAddress: string): { name: string; modelNumber?: string; version?: string; class?: typeof Insteon.RelayLampSwitch.Node | typeof Insteon.KeypadRelay.Node | typeof Insteon.KeypadButton.Node | typeof Insteon.OnOffOutlet; } {
|
|
175
189
|
const c = String.fromCharCode(deviceCode);
|
|
176
|
-
let retVal = { name: 'Generic Insteon Relay'
|
|
190
|
+
let retVal = { name: 'Generic Insteon Relay'} as { name: string; modelNumber?: string; version?: string; class?: typeof Insteon.RelayLampSwitch.Node | typeof Insteon.KeypadRelay.Node | typeof Insteon.KeypadButton.Node | typeof Insteon.OnOffOutlet; };
|
|
177
191
|
switch (c) {
|
|
178
192
|
case String.fromCharCode(6):
|
|
179
193
|
retVal = { name: 'ApplianceLinc - Outdoor Plugin Module', modelNumber: '2456S3E' };
|
|
@@ -330,7 +344,7 @@ export class InsteonDeviceFactory {
|
|
|
330
344
|
|
|
331
345
|
private static getDimLightInfo(deviceCode: number, subAddress: string, node: NodeInfo): { name: string; modelNumber?: string; version?: string; class?: Constructor<ISYNode<Family.Insteon,any,any>>; } {
|
|
332
346
|
const c = String.fromCharCode(deviceCode);
|
|
333
|
-
let retVal = { name: "Generic Insteon Dimmer"
|
|
347
|
+
let retVal = { name: "Generic Insteon Dimmer" } as {
|
|
334
348
|
name: string;
|
|
335
349
|
modelNumber?: string;
|
|
336
350
|
version?: string;
|
|
@@ -447,7 +461,7 @@ export class InsteonDeviceFactory {
|
|
|
447
461
|
break;
|
|
448
462
|
case '.':
|
|
449
463
|
|
|
450
|
-
retVal = { name: 'FanLinc', modelNumber: '2475F', class: Insteon.Fan };
|
|
464
|
+
retVal = { name: 'FanLinc', modelNumber: '2475F', class: Insteon.Fan as any};
|
|
451
465
|
break;
|
|
452
466
|
case '!':
|
|
453
467
|
retVal = { name: 'Dual Band OutletLinc Dimmer', modelNumber: '2472D', class: Insteon.DimmerOutlet };
|
|
@@ -697,15 +711,15 @@ export class InsteonDeviceFactory {
|
|
|
697
711
|
retVal = { name: 'TriggerLinc', modelNumber: '2421', class: Insteon.DoorWindowSensor };
|
|
698
712
|
break;
|
|
699
713
|
case '\t':
|
|
700
|
-
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-222', class: Insteon.DoorWindowSensor };
|
|
714
|
+
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-222', class: Insteon.DoorWindowSensor.Device };
|
|
701
715
|
break;
|
|
702
716
|
case String.fromCharCode(6):
|
|
703
|
-
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-422', class: Insteon.DoorWindowSensor };
|
|
717
|
+
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-422', class: Insteon.DoorWindowSensor.Device };
|
|
704
718
|
break;
|
|
705
719
|
case String.fromCharCode(7):
|
|
706
720
|
break;
|
|
707
721
|
case String.fromCharCode(25):
|
|
708
|
-
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-522', class: Insteon.DoorWindowSensor };
|
|
722
|
+
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-522', class: Insteon.DoorWindowSensor.Device };
|
|
709
723
|
break;
|
|
710
724
|
case '\b':
|
|
711
725
|
retVal = { name: 'Leak Sensor', modelNumber: '2852-222', class: Insteon.LeakSensor };
|
|
@@ -827,7 +841,7 @@ export class InsteonDeviceFactory {
|
|
|
827
841
|
|
|
828
842
|
private static getAccessControlInfo(deviceCode: number): { name: string; modelNumber?: string; version?: string; class?: Constructor<ISYNode<any,any,any,any>>; } {
|
|
829
843
|
const c = String.fromCharCode(deviceCode);
|
|
830
|
-
const retVal = { name: '', modelNumber: '', class: Insteon.
|
|
844
|
+
const retVal = { name: '', modelNumber: '', class: Insteon.DoorLock.Node };
|
|
831
845
|
switch (c) {
|
|
832
846
|
case String.fromCharCode(6):
|
|
833
847
|
retVal.name = 'MorningLinc';
|
|
@@ -7,7 +7,8 @@ import type { DimmableLightRequirements } from '@project-chip/matter.js/devices/
|
|
|
7
7
|
import { OnOffBehavior as OOB } from '@project-chip/matter.js/behaviors/on-off';
|
|
8
8
|
import 'winston';
|
|
9
9
|
import type { NodeInfo } from '../../Model/NodeInfo.js';
|
|
10
|
-
import {
|
|
10
|
+
import { DimmerLampSwitch } from './Generated/DimmerLampSwitch.js';
|
|
11
|
+
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
// #region Type aliases (2)
|
|
@@ -19,13 +20,12 @@ type OnOffBehavior = typeof OOB;
|
|
|
19
20
|
|
|
20
21
|
// #region Classes (1)
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
export class InsteonDimmableDevice extends DimmerLampSwitchNode{
|
|
23
|
+
export class InsteonDimmableDevice extends DimmerLampSwitch.Node {
|
|
24
24
|
// #region Constructors (1)
|
|
25
25
|
|
|
26
26
|
constructor(isy: ISY, node: NodeInfo) {
|
|
27
27
|
super(isy, node);
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
// #endregion Constructors (1)
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { NodeInfo } from '../../Model/NodeInfo.js';
|
|
2
2
|
import type { ISY } from '../../ISY.js';
|
|
3
|
-
import {
|
|
3
|
+
import { DimmerLamp } from './Generated/DimmerLamp.js';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
export class InsteonDimmerOutletDevice extends DimmerLamp.Node{
|
|
6
7
|
constructor (isy: ISY, deviceNode: NodeInfo) {
|
|
7
8
|
super(isy, deviceNode);
|
|
8
9
|
}
|
|
@@ -1,18 +1,41 @@
|
|
|
1
1
|
import type { NodeInfo } from '../../Model/NodeInfo.js';
|
|
2
|
-
import { ISY } from '../../ISY.js';
|
|
2
|
+
import type { ISY } from '../../ISY.js';
|
|
3
3
|
import { ISYBinaryStateDevice } from '../ISYDevice.js';
|
|
4
4
|
import { InsteonBaseDevice } from './InsteonBaseDevice.js';
|
|
5
5
|
import 'winston';
|
|
6
|
+
import { BinaryAlarm } from './Generated/BinaryAlarm.js';
|
|
7
|
+
import { CompositeDevice } from '../CompositeDevice.js';
|
|
8
|
+
import { nodeDefId } from './KeypadButton.js';
|
|
9
|
+
import { OnLevelRelay } from '../../Definitions/Insteon/index.js';
|
|
10
|
+
import { NodeFactory } from '../NodeFactory.js';
|
|
11
|
+
import type { Family } from '../../Definitions/index.js';
|
|
6
12
|
|
|
7
|
-
export class InsteonDoorWindowSensorDevice extends InsteonBaseDevice {
|
|
8
13
|
|
|
14
|
+
const nodes = {
|
|
15
|
+
contactSensor: BinaryAlarm.Node,
|
|
16
|
+
heartbeat: BinaryAlarm.Node,
|
|
17
|
+
lowBattery: BinaryAlarm.Node
|
|
18
|
+
}
|
|
19
|
+
//@ts-ignore
|
|
20
|
+
export class DoorWindowSensorDevice extends CompositeDevice.of(nodes, {contactSensor: 1, heartbeat: 3, lowBattery: 4} )
|
|
21
|
+
{
|
|
22
|
+
|
|
23
|
+
constructor (isy: ISY, ...node: NodeInfo[]) {
|
|
24
|
+
super(isy, ...node);
|
|
9
25
|
|
|
10
|
-
constructor (isy: ISY, deviceNode: NodeInfo) {
|
|
11
|
-
super(isy, deviceNode);
|
|
12
26
|
|
|
13
27
|
|
|
14
28
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export namespace DoorWindowSensor {
|
|
33
|
+
export class Device extends DoorWindowSensorDevice { }
|
|
34
|
+
|
|
35
|
+
export const ContactSensor = BinaryAlarm;
|
|
36
|
+
|
|
37
|
+
export const Heartbeat = BinaryAlarm;
|
|
38
|
+
|
|
39
|
+
export const LowBattery = BinaryAlarm;
|
|
40
|
+
|
|
18
41
|
}
|
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
import { Family } from '../../Definitions/Global/Families.js';
|
|
2
2
|
import { ISY } from '../../ISY.js';
|
|
3
3
|
|
|
4
|
-
|
|
5
4
|
import 'winston';
|
|
6
5
|
import { Command, Driver, UnitOfMeasure } from '../../Definitions/index.js';
|
|
7
6
|
import type { DriverState } from '../../Model/DriverState.js';
|
|
8
7
|
import type { NodeInfo, StaticNodeInfo } from '../../Model/NodeInfo.js';
|
|
8
|
+
import { CompositeDevice, CompositeOf } from '../CompositeDevice.js';
|
|
9
|
+
import { DimmerLamp } from './Generated/DimmerLamp.js';
|
|
10
|
+
import { FanLincMotor } from './Generated/FanLincMotor.js';
|
|
9
11
|
import { InsteonBaseDevice } from './InsteonBaseDevice.js';
|
|
10
12
|
import { InsteonDimmableDevice } from './InsteonDimmableDevice.js';
|
|
11
13
|
|
|
12
|
-
export class InsteonFanMotorDevice extends
|
|
14
|
+
export class InsteonFanMotorDevice extends FanLincMotor.Node {
|
|
13
15
|
constructor(isy: ISY, deviceNode: StaticNodeInfo) {
|
|
14
16
|
super(isy, deviceNode);
|
|
15
|
-
this.drivers.
|
|
17
|
+
//*this.drivers. == Driver.create('ST', this, deviceNode.property as DriverState, { uom: UnitOfMeasure.Percent, label: 'Fan Speed (%)', name: 'fanSpeed' });
|
|
16
18
|
this.hidden = true;
|
|
19
|
+
|
|
17
20
|
}
|
|
18
21
|
|
|
19
22
|
get isOn() {
|
|
20
|
-
return this.
|
|
23
|
+
return this.status !== 0;
|
|
21
24
|
}
|
|
22
25
|
get fanSpeed() {
|
|
23
|
-
return this.
|
|
26
|
+
return this.status;
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
public async updateFanSpeed(level: number) {
|
|
27
|
-
return level;
|
|
30
|
+
return this.on(level);
|
|
28
31
|
}
|
|
29
32
|
public async updateIsOn(isOn: boolean) {
|
|
30
33
|
if (!isOn) {
|
|
@@ -35,40 +38,22 @@ export class InsteonFanMotorDevice extends InsteonBaseDevice<Driver.Signatures<'
|
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
40
|
|
|
38
|
-
export class
|
|
39
|
-
public light?: InsteonDimmableDevice;
|
|
40
|
-
public motor: InsteonFanMotorDevice;
|
|
41
|
+
export class FanDevice extends CompositeDevice.of({ light: DimmerLamp.Node, motor: FanLincMotor.Node }, {light: 1, motor: 2}) {
|
|
41
42
|
constructor(isy: ISY, deviceNode: NodeInfo) {
|
|
42
43
|
super(isy, deviceNode);
|
|
43
|
-
|
|
44
|
+
|
|
45
|
+
|
|
44
46
|
/*this.light.events.on('PropertyChanged', ((a: any, b: any, c: any, d: string) => { this.emit('PropertyChanged', `light.${a}`, b, c, d); }).bind(this));*/
|
|
45
|
-
this.addChild(this.light);
|
|
46
47
|
}
|
|
48
|
+
}
|
|
47
49
|
|
|
48
|
-
public override handleEvent(event: { control?: string; data?: any; node?: any }): boolean {
|
|
49
|
-
this.logger(JSON.stringify(event));
|
|
50
|
-
const child = this.children.find((p) => p.address === event.node);
|
|
51
|
-
if (child !== undefined) {
|
|
52
|
-
return child.handleEvent(event);
|
|
53
|
-
}
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
50
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (childDevice instanceof InsteonFanMotorDevice) {
|
|
60
|
-
this.logger('Fan Motor Found');
|
|
61
|
-
this.motor = childDevice as InsteonFanMotorDevice;
|
|
62
|
-
this.motor.events.on(
|
|
63
|
-
'statusChanged',
|
|
64
|
-
((a: any, b: any, c: any, d: string) => {
|
|
65
|
-
this.emit('propertyChanged', `motor.${a}`, b, c, d);
|
|
66
|
-
}).bind(this)
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
51
|
+
export namespace Fan {
|
|
52
|
+
export class Device extends FanDevice { }
|
|
70
53
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
54
|
+
export const Motor = FanLincMotor;
|
|
55
|
+
|
|
56
|
+
export const Light = DimmerLamp;
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
}
|
|
@@ -1,24 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import 'winston';
|
|
2
2
|
import { ISY } from '../../ISY.js';
|
|
3
|
+
import type { NodeInfo } from '../../Model/NodeInfo.js';
|
|
4
|
+
import { RelayLamp } from './Generated/RelayLamp.js';
|
|
3
5
|
import { InsteonRelayDevice } from './InsteonRelayDevice.js';
|
|
4
|
-
import '
|
|
5
|
-
|
|
6
|
-
export class InsteonOnOffOutletDevice extends InsteonRelayDevice {
|
|
7
|
-
|
|
8
|
-
public outlet1: InsteonRelayDevice;
|
|
9
|
-
public outlet2: InsteonRelayDevice;
|
|
6
|
+
import { CompositeDevice, CompositeOf } from '../CompositeDevice.js';
|
|
10
7
|
|
|
8
|
+
export class OnOffOutlet extends CompositeDevice.of({ top: RelayLamp.Node, bottom: RelayLamp.Node }, {top: 1, bottom: 2}) {
|
|
11
9
|
constructor(isy: ISY, deviceNode: NodeInfo) {
|
|
12
10
|
super(isy, deviceNode);
|
|
13
|
-
this.outlet1 = new InsteonRelayDevice(isy, deviceNode);
|
|
14
|
-
//this.outlet1.on('PropertyChanged',(p,v,f) => this.handlePropertyChange("outlet1."+ p, v, f));
|
|
15
|
-
super.addChild(this.outlet1);
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
public override addChild(childDevice) {
|
|
19
|
-
super.addChild(childDevice);
|
|
20
|
-
this.outlet2 = childDevice as InsteonRelayDevice;
|
|
21
|
-
//this.outlet2.on('PropertyChanged', (p, v, f) => this.//handlePropertyChange("outlet2." + p, v, f));
|
|
22
|
-
// if(childDevice)
|
|
23
11
|
}
|
|
24
12
|
}
|
|
@@ -15,6 +15,7 @@ export class InsteonRelayDevice extends RelayLampSwitch.Node /*InsteonBaseDevice
|
|
|
15
15
|
constructor(isy: ISY, nodeInfo: NodeInfo) {
|
|
16
16
|
super(isy, nodeInfo);
|
|
17
17
|
|
|
18
|
+
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
// #endregion Constructors (1)
|
|
@@ -34,9 +35,7 @@ export class InsteonRelayDevice extends RelayLampSwitch.Node /*InsteonBaseDevice
|
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
} */
|
|
37
|
-
|
|
38
|
-
return super.beep(level);
|
|
39
|
-
}
|
|
38
|
+
|
|
40
39
|
|
|
41
40
|
// #endregion Public Methods (2)
|
|
42
41
|
}
|
|
@@ -1,31 +1,27 @@
|
|
|
1
|
-
|
|
2
1
|
//import Base from "./InsteonBaseDevice.js"
|
|
3
2
|
|
|
3
|
+
export { InsteonBaseDevice as Base } from './InsteonBaseDevice.js';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
export {InsteonBaseDevice as Base} from "./InsteonBaseDevice.js";
|
|
7
|
-
|
|
8
|
-
export {InsteonOnOffOutletDevice as OnOffOutlet} from "./InsteonOnOffOutletDevice.js";
|
|
5
|
+
export { OnOffOutlet as OnOffOutlet } from './InsteonOnOffOutletDevice.js';
|
|
9
6
|
|
|
10
7
|
export * from './Generated/index.js';
|
|
11
8
|
|
|
12
|
-
export {InsteonDimmableDevice as Dimmable} from
|
|
9
|
+
export { InsteonDimmableDevice as Dimmable } from './InsteonDimmableDevice.js';
|
|
13
10
|
|
|
14
|
-
export {
|
|
11
|
+
export { Fan as Fan } from './InsteonFanDevice.js';
|
|
15
12
|
|
|
16
|
-
export {InsteonLockDevice as Lock} from "./InsteonLockDevice.js";
|
|
17
13
|
|
|
18
|
-
export {InsteonRelayDevice as Relay} from
|
|
14
|
+
export { InsteonRelayDevice as Relay } from './InsteonRelayDevice.js';
|
|
19
15
|
|
|
20
|
-
export {InsteonLeakSensorDevice as LeakSensor} from
|
|
16
|
+
export { InsteonLeakSensorDevice as LeakSensor } from './InsteonLeakSensorDevice.js';
|
|
21
17
|
|
|
22
|
-
export {InsteonMotionSensorDevice as MotionSensor} from
|
|
18
|
+
export { InsteonMotionSensorDevice as MotionSensor } from './InsteonMotionSensorDevice.js';
|
|
23
19
|
|
|
24
|
-
export {InsteonSmokeSensorDevice as SmokeSensor} from
|
|
20
|
+
export { InsteonSmokeSensorDevice as SmokeSensor } from './InsteonSmokeSensorDevice.js';
|
|
25
21
|
|
|
26
|
-
export {
|
|
22
|
+
export { DoorWindowSensor } from './InsteonDoorWindowSensorDevice.js';
|
|
27
23
|
|
|
28
|
-
export {InsteonDimmerOutletDevice as DimmerOutlet} from
|
|
24
|
+
export { InsteonDimmerOutletDevice as DimmerOutlet } from './InsteonDimmerOutletDevice.js';
|
|
29
25
|
|
|
30
26
|
/*export const Insteon = {
|
|
31
27
|
LeakSensor: InsteonLeakSensorDevice,
|