isy-nodejs 1.0.6-alpha.2 → 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 +7 -6
- 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 +10 -3
- 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 +11 -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 +33 -28
- 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/ISYBridgedDeviceBehavior.d.ts +1 -1
- package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.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/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 +57 -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 +56 -39
- package/src/Matter/Behaviors/BehaviorRegistry.ts +44 -8
- package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +2 -2
- package/src/Matter/Behaviors/ISYClusterBehavior.ts +20 -9
- 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
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "isy-nodejs",
|
|
3
3
|
"description": "Node.js wrapper for ISY interface including websockets for change notifications. Fork of isy-js by Rod Toll. Designed to be used in a node.js application.",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "1.0.
|
|
5
|
+
"version": "1.0.8-alpha.0",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Pradeep Mouli"
|
|
8
8
|
},
|
|
@@ -74,5 +74,5 @@
|
|
|
74
74
|
"publishConfig": {
|
|
75
75
|
"access": "public"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "4b88acc1e9ee5625c06cfa8cf7359aa0c3ff9faf"
|
|
78
78
|
}
|
|
@@ -290,19 +290,27 @@ export class CodeFactory {
|
|
|
290
290
|
return ts.factory.createLiteralTypeNode(this.createStringLiteral(literal));
|
|
291
291
|
}
|
|
292
292
|
|
|
293
|
-
|
|
294
|
-
|
|
293
|
+
createLiteral(value: string | number): ts.LiteralExpression {
|
|
294
|
+
if (typeof value === 'number') {
|
|
295
|
+
return this.createNumericLiteral(value as number);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
return this.createStringLiteral(value);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
createNumericLiteral(value: number, flags?: ts.TokenFlags): ts.NumericLiteral {
|
|
302
|
+
return ts.factory.createNumericLiteral(value.toString(), flags);
|
|
295
303
|
}
|
|
296
304
|
|
|
297
305
|
createStringLiteral(text: string): ts.StringLiteral {
|
|
298
|
-
return ts.factory.createStringLiteral(text);
|
|
306
|
+
return ts.factory.createStringLiteral(text, true);
|
|
299
307
|
}
|
|
300
308
|
|
|
301
309
|
createKeywordTypeNode(kind: ts.KeywordTypeSyntaxKind): ts.KeywordTypeNode {
|
|
302
310
|
return ts.factory.createKeywordTypeNode(kind);
|
|
303
311
|
}
|
|
304
312
|
|
|
305
|
-
createTypePredicateNode(parameterName: ts.Identifier, type: ts.TypeNode): ts.TypePredicateNode {
|
|
313
|
+
createTypePredicateNode(parameterName: ts.Identifier | string, type: ts.TypeNode): ts.TypePredicateNode {
|
|
306
314
|
return ts.factory.createTypePredicateNode(undefined, parameterName, type);
|
|
307
315
|
}
|
|
308
316
|
|
|
@@ -310,15 +318,15 @@ export class CodeFactory {
|
|
|
310
318
|
return ts.factory.createBinaryExpression(left, operator, right);
|
|
311
319
|
}
|
|
312
320
|
|
|
313
|
-
createPropertyAccessExpression(expression: ts.Expression, name: string): ts.PropertyAccessExpression {
|
|
314
|
-
return ts.factory.createPropertyAccessExpression(expression,
|
|
321
|
+
createPropertyAccessExpression(expression: ts.Expression, name: string | ts.MemberName): ts.PropertyAccessExpression {
|
|
322
|
+
return ts.factory.createPropertyAccessExpression(expression, name);
|
|
315
323
|
}
|
|
316
324
|
|
|
317
|
-
createHeritageClause(token: ts.SyntaxKind.ExtendsKeyword | ts.SyntaxKind.ImplementsKeyword, types: ts.ExpressionWithTypeArguments[]): ts.HeritageClause {
|
|
325
|
+
createHeritageClause(token: ts.SyntaxKind.ExtendsKeyword | ts.SyntaxKind.ImplementsKeyword, ...types: ts.ExpressionWithTypeArguments[]): ts.HeritageClause {
|
|
318
326
|
return ts.factory.createHeritageClause(token, types);
|
|
319
327
|
}
|
|
320
328
|
|
|
321
|
-
createExpressionWithTypeArguments(expression: ts.Expression, typeArguments
|
|
329
|
+
createExpressionWithTypeArguments(expression: ts.Expression, ...typeArguments: ts.TypeNode[]): ts.ExpressionWithTypeArguments {
|
|
322
330
|
return ts.factory.createExpressionWithTypeArguments(expression, typeArguments);
|
|
323
331
|
}
|
|
324
332
|
createBlock(multiLine: boolean, ...statements: ts.Statement[]): ts.Block;
|
|
@@ -76,7 +76,7 @@ export class NodeClassFactory extends CodeFactory {
|
|
|
76
76
|
|
|
77
77
|
public createNodeClass<T extends Family>(nodeClassDef: NodeClassDefinition<T>) {
|
|
78
78
|
let path = `${NodeClassFactory.basePath}/${Family[nodeClassDef.family]}/Generated/${nodeClassDef.name}.ts`;
|
|
79
|
-
let sf = ts.createSourceFile(path, '', ts.ScriptTarget.
|
|
79
|
+
let sf = ts.createSourceFile(path, '', ts.ScriptTarget.ES2024, true, ts.ScriptKind.TS);
|
|
80
80
|
//@ts-expect-error
|
|
81
81
|
|
|
82
82
|
sf.statements = [
|
|
@@ -163,7 +163,7 @@ export class NodeClassFactory extends CodeFactory {
|
|
|
163
163
|
),
|
|
164
164
|
|
|
165
165
|
factory.createClassDeclaration(
|
|
166
|
-
[
|
|
166
|
+
[],
|
|
167
167
|
factory.createIdentifier(`${nodeClassDef.name}Node`),
|
|
168
168
|
undefined,
|
|
169
169
|
[
|
|
@@ -303,7 +303,7 @@ export class NodeClassFactory extends CodeFactory {
|
|
|
303
303
|
])
|
|
304
304
|
],
|
|
305
305
|
[
|
|
306
|
-
factory.createPropertySignature(
|
|
306
|
+
/*factory.createPropertySignature(
|
|
307
307
|
undefined,
|
|
308
308
|
factory.createIdentifier('nodeDefId'),
|
|
309
309
|
undefined,
|
|
@@ -314,7 +314,7 @@ export class NodeClassFactory extends CodeFactory {
|
|
|
314
314
|
)
|
|
315
315
|
)
|
|
316
316
|
: NodeClassFactory.instance.createLiteralTypeNode(nodeClassDef.id)
|
|
317
|
-
)
|
|
317
|
+
)*/
|
|
318
318
|
]
|
|
319
319
|
),
|
|
320
320
|
|
|
@@ -472,7 +472,8 @@ export class NodeClassFactory extends CodeFactory {
|
|
|
472
472
|
newLineCharacter: '\n',
|
|
473
473
|
trimTrailingWhitespace: true,
|
|
474
474
|
ensureNewLineAtEndOfFile: true,
|
|
475
|
-
indentStyle: ts.IndentStyle.Smart
|
|
475
|
+
indentStyle: ts.IndentStyle.Smart,
|
|
476
|
+
|
|
476
477
|
});
|
|
477
478
|
let currentKind = ts.SyntaxKind.Unknown;
|
|
478
479
|
for (const s of f.getStatements()) {
|
|
@@ -652,10 +653,7 @@ export class NodeClassFactory extends CodeFactory {
|
|
|
652
653
|
factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier('Driver'), factory.createIdentifier('create')), undefined, [
|
|
653
654
|
factory.createStringLiteral(def.id),
|
|
654
655
|
factory.createThis(),
|
|
655
|
-
factory.
|
|
656
|
-
factory.createPropertyAccessExpression(factory.createIdentifier('nodeInfo'), factory.createIdentifier('property')),
|
|
657
|
-
factory.createTypeReferenceNode(factory.createIdentifier('DriverState'), undefined)
|
|
658
|
-
),
|
|
656
|
+
factory.createElementAccessExpression(factory.createPropertyAccessExpression(factory.createIdentifier('nodeInfo'), factory.createIdentifier('state')), this.createStringLiteral(def.id)),
|
|
659
657
|
factory.createObjectLiteralExpression(
|
|
660
658
|
[
|
|
661
659
|
factory.createPropertyAssignment(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Converter } from '../../Converters.js';
|
|
2
2
|
import type { ISYNode } from '../../ISYNode.js';
|
|
3
3
|
import type { Driver } from './Drivers.js';
|
|
4
|
-
import
|
|
4
|
+
import { UnitOfMeasure } from './UOM.js';
|
|
5
5
|
|
|
6
6
|
/*export class Command<T extends string> extends Function {
|
|
7
7
|
|
|
@@ -15,10 +15,10 @@ import type { UnitOfMeasure } from './UOM.js';
|
|
|
15
15
|
}*/
|
|
16
16
|
|
|
17
17
|
export interface Parameter<P, T> {
|
|
18
|
-
id
|
|
19
|
-
name
|
|
18
|
+
id?: P;
|
|
19
|
+
name?: string;
|
|
20
20
|
|
|
21
|
-
label
|
|
21
|
+
label?: string;
|
|
22
22
|
value?: T;
|
|
23
23
|
uom: UnitOfMeasure;
|
|
24
24
|
serverUom?: UnitOfMeasure;
|
|
@@ -82,14 +82,14 @@ export namespace Command {
|
|
|
82
82
|
|
|
83
83
|
|
|
84
84
|
function getCommandFunctionSignature<P extends { [x: string]: Parameter<string, any> } | Parameter<string, any> | null> (command: string, node: ISYNode<any,any,any,any>,parameters?: P): Function {
|
|
85
|
-
if (parameters
|
|
86
|
-
return
|
|
85
|
+
if (!parameters) {
|
|
86
|
+
return () => {
|
|
87
87
|
return node.sendCommand(command);
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
else if (isParameterCollection(parameters)) {
|
|
92
|
-
let cmd =
|
|
92
|
+
let cmd : any = (params: { [x in keyof P]: typeof parameters[x]['value'] }) => {
|
|
93
93
|
for (let key in params) {
|
|
94
94
|
let p = parameters[key];
|
|
95
95
|
if (p.converter) {
|
|
@@ -97,23 +97,25 @@ export namespace Command {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
return node.sendCommand(command, params);
|
|
100
|
-
}
|
|
100
|
+
};
|
|
101
|
+
Object.defineProperty(cmd, 'parameters', {});
|
|
101
102
|
for (let key in parameters) {
|
|
102
103
|
let p = parameters[key];
|
|
103
|
-
|
|
104
|
+
|
|
104
105
|
let srvUom = node.drivers[p.driver]?.serverUom;
|
|
105
|
-
if (
|
|
106
|
-
|
|
107
|
-
if
|
|
106
|
+
if (srvUom)
|
|
107
|
+
{
|
|
108
|
+
if(srvUom !== p.uom) {
|
|
108
109
|
cmd.parameters[key].converter = Converter.get(p.uom, srvUom).to;
|
|
109
110
|
cmd.parameters[key].serverUom = srvUom;
|
|
110
111
|
}
|
|
111
112
|
}
|
|
113
|
+
|
|
112
114
|
}
|
|
113
115
|
return cmd;
|
|
114
116
|
}
|
|
115
117
|
else if(parameters.name) {
|
|
116
|
-
let cmd = function (value
|
|
118
|
+
let cmd = function (value): Promise<boolean> {
|
|
117
119
|
if(parameters.converter) {
|
|
118
120
|
value = parameters.converter(value);
|
|
119
121
|
}
|
|
@@ -145,6 +147,7 @@ export namespace Command {
|
|
|
145
147
|
return cmd;
|
|
146
148
|
}
|
|
147
149
|
|
|
150
|
+
|
|
148
151
|
type Commands = {
|
|
149
152
|
BEEP: ((value: number) => Promise<boolean>) & { label: 'Beep'; name: 'beep' };
|
|
150
153
|
BL: ((value: number) => Promise<boolean>) & { label: 'Backlight'; name: 'backlight' };
|
|
@@ -264,9 +264,9 @@ export interface Driver<
|
|
|
264
264
|
U extends UnitOfMeasure,
|
|
265
265
|
T = number,
|
|
266
266
|
SU extends UnitOfMeasure = U,
|
|
267
|
-
ST =
|
|
268
|
-
N =
|
|
269
|
-
L =
|
|
267
|
+
ST = T,
|
|
268
|
+
N = D,
|
|
269
|
+
L = N
|
|
270
270
|
> {
|
|
271
271
|
// #region Properties (8)
|
|
272
272
|
|
|
@@ -282,8 +282,11 @@ export interface Driver<
|
|
|
282
282
|
value: T;
|
|
283
283
|
formattedValue?: any;
|
|
284
284
|
pendingValue: T;
|
|
285
|
+
rawValue?: ST;
|
|
285
286
|
};
|
|
286
|
-
|
|
287
|
+
|
|
288
|
+
initialized: boolean;
|
|
289
|
+
uom: U;
|
|
287
290
|
|
|
288
291
|
// #endregion Properties (8)
|
|
289
292
|
|
|
@@ -301,8 +304,9 @@ export interface StatelessDriver<
|
|
|
301
304
|
U extends UnitOfMeasure,
|
|
302
305
|
T = number,
|
|
303
306
|
SU extends UnitOfMeasure = U,
|
|
304
|
-
|
|
305
|
-
|
|
307
|
+
ST = T,
|
|
308
|
+
N = D,
|
|
309
|
+
L = N
|
|
306
310
|
> {
|
|
307
311
|
// #region Properties (9)
|
|
308
312
|
|
|
@@ -318,6 +322,7 @@ export interface StatelessDriver<
|
|
|
318
322
|
value: T;
|
|
319
323
|
formattedValue?: any;
|
|
320
324
|
pendingValue: T;
|
|
325
|
+
rawValue?: ST;
|
|
321
326
|
};
|
|
322
327
|
stateless: true;
|
|
323
328
|
uom: U;
|
|
@@ -338,10 +343,10 @@ export type DriverTypeLiteral = EnumLiteral<DriverType>;
|
|
|
338
343
|
|
|
339
344
|
export type EnumWithLiteral<D extends string | bigint | number | boolean> = D | EnumLiteral<D>;
|
|
340
345
|
export namespace Driver {
|
|
341
|
-
export type Signature<U extends UnitOfMeasure = UnitOfMeasure, V = any, SU = U, N = string, L = N> = { uom: U; value: V; name: N; label: L
|
|
346
|
+
export type Signature<U extends UnitOfMeasure = UnitOfMeasure, V = any, SU extends UnitOfMeasure = U, N = string, L = N> = { uom: U; value: V; name: N; label: L };
|
|
342
347
|
|
|
343
348
|
export type Signatures<D> = UnionToIntersection<
|
|
344
|
-
D extends string ? { [K in D]: Signature<UnitOfMeasure, any, UnitOfMeasure,
|
|
349
|
+
D extends string ? { [K in D]: Signature<UnitOfMeasure, any, UnitOfMeasure, K, K> }
|
|
345
350
|
: D extends { [K in keyof D]: Signature } ? D
|
|
346
351
|
: never
|
|
347
352
|
>;
|
|
@@ -365,21 +370,22 @@ export namespace Driver {
|
|
|
365
370
|
};
|
|
366
371
|
};
|
|
367
372
|
|
|
368
|
-
|
|
369
|
-
export type For<D extends string, T, S extends boolean = false> = T extends Signature<infer U, infer V, infer SU, infer N, infer L> ? StatelessOrStateful<D, U, V, N, L, S> : never;
|
|
373
|
+
export type For<D extends string, T, S extends boolean = false> = T extends Signature<infer U, infer V, infer SU, infer N, infer L> ? StatelessOrStateful<D, U, V, SU, V, N, L, S> : never;
|
|
370
374
|
|
|
371
375
|
export type ForAll<T, S extends boolean = false> = {
|
|
372
376
|
[K in StringKeys<T>]: T[K] extends Signature<UnitOfMeasure, any, UnitOfMeasure, string, string> ? For<K, T[K], S> : never;
|
|
373
377
|
};
|
|
374
378
|
|
|
375
|
-
type
|
|
379
|
+
export type SignaturesOf<D> = D extends ForAll<infer R> ? R : never;
|
|
380
|
+
|
|
381
|
+
type test2 = SignaturesOf<ForAll<Drivers>>;
|
|
376
382
|
|
|
377
383
|
export type Type = DriverType;
|
|
378
384
|
export type Literal = EnumLiteral<DriverType>;
|
|
379
385
|
export type LiteralWithExtensions = Literal | `${string}.${Literal}`;
|
|
380
386
|
export type LiteralWithType = EnumWithLiteral<DriverType>;
|
|
381
|
-
type StatelessOrStateful<D extends string, U extends UnitOfMeasure, T = number, N =
|
|
382
|
-
S extends true ? StatelessDriver<D, U, T,
|
|
387
|
+
type StatelessOrStateful<D extends string, U extends UnitOfMeasure, T = number, SU extends UnitOfMeasure = U, ST = T, N = D, L = N, S extends boolean = false> =
|
|
388
|
+
S extends true ? StatelessDriver<D, U, T, SU, ST, N, L> : Driver<D, U, T, SU, ST, N, L>;
|
|
383
389
|
|
|
384
390
|
export function create<D extends Literal, U extends UnitOfMeasure, T = number, N extends string = string, L extends string = string, S extends boolean = false>(
|
|
385
391
|
driver: EnumWithLiteral<D>,
|
|
@@ -389,7 +395,7 @@ export namespace Driver {
|
|
|
389
395
|
driverSignature?: { uom: U; label: L; name: N },
|
|
390
396
|
stateless?: S,
|
|
391
397
|
converter?: Converter<any, T>
|
|
392
|
-
): StatelessOrStateful<D, U, T, N, L, S> {
|
|
398
|
+
): StatelessOrStateful<D, U, T, UnitOfMeasure, any, N, L, S> {
|
|
393
399
|
const query = async () => {
|
|
394
400
|
return await node.readProperty(driver as D);
|
|
395
401
|
};
|
|
@@ -403,19 +409,20 @@ export namespace Driver {
|
|
|
403
409
|
state: {
|
|
404
410
|
initial: true,
|
|
405
411
|
value: initState?.value, //TODO include converter
|
|
406
|
-
formattedValue: initState
|
|
412
|
+
formattedValue: initState?.formatted,
|
|
407
413
|
pendingValue: null
|
|
408
414
|
},
|
|
409
415
|
query,
|
|
410
416
|
get value() {
|
|
411
417
|
return query().then((p) => p.value) as Promise<T>;
|
|
412
418
|
},
|
|
413
|
-
name: initState
|
|
419
|
+
name: initState?.name ?? driverSignature.name ?? driverSignature.label ?? driver,
|
|
414
420
|
label: driverSignature.label ?? driver
|
|
415
|
-
} as
|
|
421
|
+
} as StatelessOrStateful<D, U, T, UnitOfMeasure, any, N, L, typeof stateless>;
|
|
416
422
|
}
|
|
417
423
|
var c = {
|
|
418
424
|
id: driver as D,
|
|
425
|
+
initialized: initState ? true : false,
|
|
419
426
|
uom: driverSignature?.uom as U,
|
|
420
427
|
serverUom: initState?.uom != driverSignature?.uom ? initState?.uom : undefined,
|
|
421
428
|
state: {
|
|
@@ -424,35 +431,45 @@ export namespace Driver {
|
|
|
424
431
|
initState ?
|
|
425
432
|
converter ? converter.from(initState.value)
|
|
426
433
|
: driverSignature?.uom && initState?.uom != driverSignature?.uom ? Converter.convert(initState.uom, driverSignature.uom, initState.value)
|
|
427
|
-
|
|
434
|
+
: initState.value
|
|
435
|
+
: null,
|
|
428
436
|
rawValue: initState ? initState.value : null,
|
|
429
437
|
formattedValue: initState ? initState.formatted : null,
|
|
430
438
|
pendingValue: null
|
|
431
439
|
},
|
|
432
440
|
async query() {
|
|
433
441
|
let s = await query();
|
|
434
|
-
this.state.value =
|
|
442
|
+
this.state.value =
|
|
443
|
+
converter ? converter.from(s.value)
|
|
444
|
+
: this.uom !== s.uom ? Converter.convert(s.value, s.uom, this.uom)
|
|
445
|
+
: s.value;
|
|
435
446
|
this.state.formattedValue = s.formatted;
|
|
436
447
|
this.state.rawValue = s.value;
|
|
437
448
|
return s;
|
|
438
449
|
},
|
|
439
|
-
apply(state: DriverState, notify =
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
450
|
+
apply(state: DriverState, notify = true) {
|
|
451
|
+
if (state.id == this.id) {
|
|
452
|
+
|
|
453
|
+
let previousValue = this.state.rawValue;
|
|
454
|
+
this.state.rawValue = state.value;
|
|
455
|
+
if (previousValue === this.state.rawValue) {
|
|
456
|
+
return false;
|
|
457
|
+
}
|
|
458
|
+
if (state.uom != this.uom) {
|
|
459
|
+
this.serverUom == state.uom;
|
|
460
|
+
this.state.value = converter ? converter.from(this.state.rawValue) : Converter.convert(state.uom, this.uom, this.state.rawValue);
|
|
461
|
+
} else if (converter) {
|
|
462
|
+
this.state.value = converter.from(state.value);
|
|
463
|
+
} else {
|
|
464
|
+
this.state.value = state.value;
|
|
465
|
+
}
|
|
466
|
+
this.state.formattedValue = state.formatted;
|
|
467
|
+
if (notify) node.events.emit(`${this.name}Changed`, driver as D, this.state.value, previousValue, this.state.formattedValue);
|
|
468
|
+
if (!this.initialized) {
|
|
469
|
+
this.initialized = true;
|
|
470
|
+
}
|
|
471
|
+
return true;
|
|
452
472
|
}
|
|
453
|
-
this.state.formattedValue = state.formatted;
|
|
454
|
-
if (notify) node.events.emit(`${this.name}Changed`, driver as D, this.state.value, previousValue, this.state.formattedValue);
|
|
455
|
-
return true;
|
|
456
473
|
},
|
|
457
474
|
patch(value: T, formattedValue: string, uom: UnitOfMeasure, prec: number, notify = true) {
|
|
458
475
|
let previousValue = this.state.rawValue;
|
|
@@ -470,6 +487,10 @@ export namespace Driver {
|
|
|
470
487
|
return false;
|
|
471
488
|
}
|
|
472
489
|
if (notify) node.events.emit(`${this.name}Changed`, driver as D, this.state.value, previousValue, formattedValue);
|
|
490
|
+
if (!this.initialized) {
|
|
491
|
+
|
|
492
|
+
this.initialized = true;
|
|
493
|
+
}
|
|
473
494
|
return true;
|
|
474
495
|
},
|
|
475
496
|
get value() {
|
|
@@ -486,7 +507,7 @@ export namespace Driver {
|
|
|
486
507
|
// }
|
|
487
508
|
|
|
488
509
|
//});
|
|
489
|
-
return c as
|
|
510
|
+
return c as StatelessOrStateful<D, U, T, UnitOfMeasure, any, N, L, typeof stateless>;
|
|
490
511
|
}
|
|
491
512
|
}
|
|
492
513
|
|
|
@@ -20,7 +20,7 @@ export namespace Event {
|
|
|
20
20
|
|
|
21
21
|
export type Signatures = { [x: string]: Signature };
|
|
22
22
|
|
|
23
|
-
export type DriverToEvent<D extends Driver.Signature> = { name: `${D['name']}Changed
|
|
23
|
+
export type DriverToEvent<D extends Driver.Signature> = { name: `${D['name']}Changed` | `${D['name']}Initialized`, value: D['value']; uom: D['uom'] };
|
|
24
24
|
|
|
25
25
|
export type CommandToEvent<C extends Command.Signature> = { name: `${C['name']}Triggered` };
|
|
26
26
|
|
|
@@ -30,8 +30,8 @@ export namespace Event {
|
|
|
30
30
|
: S extends { name: string; command: string } ? { on(eventName: S['name'], listener: (command: S['command']) => void): N }
|
|
31
31
|
: { on(eventName: S['name'], listener: (...args: any[]) => void): N };
|
|
32
32
|
|
|
33
|
-
export type ForAll<E extends
|
|
34
|
-
[x in E]: x extends keyof D ? { name: `${D[x]['name']}Changed`; driver: x; value: D[x]['value']; uom: UnitOfMeasure }
|
|
33
|
+
export type ForAll<E extends ISYNode.EventSignatures, D extends ISYNode.DriverSignatures, C extends ISYNode.CommandSignatures> = {
|
|
34
|
+
[x in keyof E | keyof D]: x extends keyof D ? { name: `${D[x]['name']}Changed`; driver: x; value: D[x]['value']; uom: UnitOfMeasure }
|
|
35
35
|
: x extends keyof C ? { name: `${C[x]['name']}Triggered`; command: x }
|
|
36
36
|
: { name: x };
|
|
37
37
|
};
|
|
@@ -44,7 +44,7 @@ export namespace Event {
|
|
|
44
44
|
|
|
45
45
|
export type FunctionSigFor<E extends Signatures, N> = UnionToIntersection<HandlerSignature<ObjectToUnion<E>, N>>;
|
|
46
46
|
|
|
47
|
-
type test1 = ForAll<'ST', Driver.Signatures<{ ST: { name: 'Status'; label: 'Status'; uom: UnitOfMeasure; value: boolean; formatted: string } } | 'RR'>, any>;
|
|
47
|
+
type test1 = ForAll<{'ST'}, Driver.Signatures<{ ST: { name: 'Status'; label: 'Status'; uom: UnitOfMeasure; value: boolean; formatted: string } } | 'RR'>, any>;
|
|
48
48
|
type test = FunctionSigFor<test1, test1> & Omit<EventEmitter, 'on'>;
|
|
49
49
|
|
|
50
50
|
export class NodeEventEmitter<N extends ISYNode<any, any, any, any>> extends EventEmitter {
|
|
@@ -2,3 +2,12 @@ export enum Boolean {
|
|
|
2
2
|
False = 0,
|
|
3
3
|
True = 255
|
|
4
4
|
}
|
|
5
|
+
|
|
6
|
+
export namespace Boolean {
|
|
7
|
+
export function toBoolean(value: Boolean): boolean {
|
|
8
|
+
return value === Boolean.True;
|
|
9
|
+
}
|
|
10
|
+
export function fromBoolean(value: boolean): Boolean {
|
|
11
|
+
return value ? Boolean.True : Boolean.False;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -2,3 +2,12 @@ export enum Error {
|
|
|
2
2
|
True = 0,
|
|
3
3
|
False = 1
|
|
4
4
|
}
|
|
5
|
+
|
|
6
|
+
export namespace Error {
|
|
7
|
+
export function toBoolean(value: Error): boolean {
|
|
8
|
+
return value === Error.True;
|
|
9
|
+
}
|
|
10
|
+
export function fromBoolean(value: boolean): Error {
|
|
11
|
+
return value ? Error.True : Error.False;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,4 +1,32 @@
|
|
|
1
|
+
import exp from 'constants';
|
|
2
|
+
|
|
1
3
|
export enum Lock {
|
|
2
4
|
Unlocked = 0,
|
|
3
5
|
Locked = 100
|
|
4
6
|
}
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
export namespace Lock {
|
|
10
|
+
export function toString(value: number): string {
|
|
11
|
+
switch (value) {
|
|
12
|
+
case Lock.Unlocked: return "Unlocked";
|
|
13
|
+
case Lock.Locked: return "Locked";
|
|
14
|
+
default: return value.toString();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export function toEnum(value: string): number {
|
|
18
|
+
switch (value) {
|
|
19
|
+
case "Unlocked": return Lock.Unlocked;
|
|
20
|
+
case "Locked": return Lock.Locked;
|
|
21
|
+
default: return parseInt(value);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function toBoolean(value: Lock): boolean {
|
|
26
|
+
return value === Lock.Locked;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function fromBoolean(value: boolean): Lock {
|
|
30
|
+
return value ? Lock.Locked : Lock.Unlocked;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -2,3 +2,14 @@ export enum OnLevelRelay {
|
|
|
2
2
|
Off = 0,
|
|
3
3
|
On = 100
|
|
4
4
|
}
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export namespace OnLevelRelay {
|
|
8
|
+
export function toBoolean(value: OnLevelRelay): boolean {
|
|
9
|
+
return value === OnLevelRelay.On;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function fromBoolean(value: boolean): OnLevelRelay {
|
|
13
|
+
return value ? OnLevelRelay.On : OnLevelRelay.Off;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -17,16 +17,16 @@ const nodeDefId = "BTChannel";
|
|
|
17
17
|
type Commands = Channel.Commands;
|
|
18
18
|
type Drivers = Channel.Drivers;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
class ChannelNode extends Base<Drivers, Commands> implements Channel.Interface {
|
|
21
21
|
public override readonly commands = {};
|
|
22
22
|
static override nodeDefId = "BTChannel";
|
|
23
|
-
static override implements = [
|
|
24
|
-
declare readonly nodeDefId:
|
|
23
|
+
static override implements = ['BTChannel'];
|
|
24
|
+
declare readonly nodeDefId: 'BTChannel';
|
|
25
25
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
26
26
|
super(isy, nodeInfo);
|
|
27
|
-
this.drivers.ST = Driver.create("ST", this, nodeInfo.
|
|
28
|
-
this.drivers.TPW = Driver.create("TPW", this, nodeInfo.
|
|
29
|
-
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.
|
|
27
|
+
this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Watt, label: "Status", name: "status" });
|
|
28
|
+
this.drivers.TPW = Driver.create("TPW", this, nodeInfo.state['TPW'], { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
|
|
29
|
+
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
30
30
|
}
|
|
31
31
|
public get status(): number {
|
|
32
32
|
return this.drivers.ST?.value;
|
|
@@ -43,13 +43,12 @@ NodeFactory.register(ChannelNode);
|
|
|
43
43
|
|
|
44
44
|
export namespace Channel {
|
|
45
45
|
export interface Interface extends Omit<InstanceType<typeof ChannelNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
46
|
-
nodeDefId: "BTChannel";
|
|
47
46
|
}
|
|
48
47
|
export function is(node: ISYNode<any, any, any, any>): node is ChannelNode {
|
|
49
|
-
return [
|
|
48
|
+
return ['BTChannel'].includes(node.nodeDefId);
|
|
50
49
|
}
|
|
51
50
|
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ChannelNode {
|
|
52
|
-
return [
|
|
51
|
+
return ['BTChannel', "BTMain"].includes(node.nodeDefId);
|
|
53
52
|
}
|
|
54
53
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
55
54
|
return new ChannelNode(isy, nodeInfo);
|
|
@@ -17,21 +17,21 @@ const nodeDefId = "BTMain";
|
|
|
17
17
|
type Commands = Main.Commands;
|
|
18
18
|
type Drivers = Main.Drivers;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
class MainNode extends Base<Drivers, Commands> implements Main.Interface {
|
|
21
21
|
public override readonly commands = {
|
|
22
22
|
QUERY: this.query
|
|
23
23
|
};
|
|
24
24
|
static override nodeDefId = "BTMain";
|
|
25
|
-
static override implements = [
|
|
26
|
-
declare readonly nodeDefId:
|
|
25
|
+
static override implements = ['BTMain'];
|
|
26
|
+
declare readonly nodeDefId: 'BTMain';
|
|
27
27
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
28
28
|
super(isy, nodeInfo);
|
|
29
|
-
this.drivers.ST = Driver.create("ST", this, nodeInfo.
|
|
30
|
-
this.drivers.TPW = Driver.create("TPW", this, nodeInfo.
|
|
31
|
-
this.drivers.CV = Driver.create("CV", this, nodeInfo.
|
|
32
|
-
this.drivers.CC = Driver.create("CC", this, nodeInfo.
|
|
33
|
-
this.drivers.PPW = Driver.create("PPW", this, nodeInfo.
|
|
34
|
-
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.
|
|
29
|
+
this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Watt, label: "Status", name: "status" });
|
|
30
|
+
this.drivers.TPW = Driver.create("TPW", this, nodeInfo.state['TPW'], { uom: UnitOfMeasure.KilowattsPerHour, label: "Total Energy", name: "totalEnergy" });
|
|
31
|
+
this.drivers.CV = Driver.create("CV", this, nodeInfo.state['CV'], { uom: UnitOfMeasure.Volt, label: "Current Voltage", name: "currentVoltage" });
|
|
32
|
+
this.drivers.CC = Driver.create("CC", this, nodeInfo.state['CC'], { uom: UnitOfMeasure.Ampere, label: "Current Current", name: "currentCurrent" });
|
|
33
|
+
this.drivers.PPW = Driver.create("PPW", this, nodeInfo.state['PPW'], { uom: UnitOfMeasure.Watt, label: "Polarized Power", name: "polarizedPower" });
|
|
34
|
+
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Index, label: "Responding", name: "responding" });
|
|
35
35
|
}
|
|
36
36
|
async query() { return this.sendCommand("QUERY"); }
|
|
37
37
|
public get status(): number {
|
|
@@ -58,13 +58,12 @@ NodeFactory.register(MainNode);
|
|
|
58
58
|
|
|
59
59
|
export namespace Main {
|
|
60
60
|
export interface Interface extends Omit<InstanceType<typeof MainNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
61
|
-
nodeDefId: "BTMain";
|
|
62
61
|
}
|
|
63
62
|
export function is(node: ISYNode<any, any, any, any>): node is MainNode {
|
|
64
|
-
return [
|
|
63
|
+
return ['BTMain'].includes(node.nodeDefId);
|
|
65
64
|
}
|
|
66
65
|
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is MainNode {
|
|
67
|
-
return [
|
|
66
|
+
return ['BTMain'].includes(node.nodeDefId);
|
|
68
67
|
}
|
|
69
68
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
70
69
|
return new MainNode(isy, nodeInfo);
|