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 = "RelayLoadControl";
|
|
|
17
17
|
type Commands = Relay.Commands;
|
|
18
18
|
type Drivers = Relay.Drivers;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
class RelayNode extends Base<Drivers, Commands> implements Relay.Interface {
|
|
21
21
|
public override readonly commands = {
|
|
22
22
|
DON: this.on,
|
|
23
23
|
DOF: this.off,
|
|
@@ -25,36 +25,38 @@ export class RelayNode extends Base<Drivers, Commands> implements Relay.Interfac
|
|
|
25
25
|
ADRPST: this.adr
|
|
26
26
|
};
|
|
27
27
|
static override nodeDefId = "RelayLoadControl";
|
|
28
|
-
static override implements = [
|
|
29
|
-
declare readonly nodeDefId:
|
|
28
|
+
static override implements = ['RelayLoadControl'];
|
|
29
|
+
declare readonly nodeDefId: 'RelayLoadControl';
|
|
30
30
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
31
31
|
super(isy, nodeInfo);
|
|
32
|
-
this.drivers.ST = Driver.create("ST", this, nodeInfo.
|
|
33
|
-
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.
|
|
32
|
+
this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Unknown, label: "Status", name: "status" });
|
|
33
|
+
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Unknown, label: "Responding", name: "responding" });
|
|
34
34
|
}
|
|
35
35
|
async on() { return this.sendCommand("DON"); }
|
|
36
36
|
async off() { return this.sendCommand("DOF"); }
|
|
37
37
|
async query() { return this.sendCommand("QUERY"); }
|
|
38
|
-
async adr(value:
|
|
39
|
-
public get status():
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
async adr(value: ) { return this.sendCommand("ADRPST", value); }
|
|
39
|
+
public get status(): {
|
|
40
|
+
|
|
41
|
+
return this.drivers.ST?.value;
|
|
42
|
+
}
|
|
43
|
+
public
|
|
44
|
+
get responding():
|
|
45
|
+
{
|
|
46
|
+
return this.drivers.ERR?.value;
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
NodeFactory.register(RelayNode);
|
|
48
51
|
|
|
49
52
|
export namespace Relay {
|
|
50
53
|
export interface Interface extends Omit<InstanceType<typeof RelayNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
51
|
-
nodeDefId: "RelayLoadControl";
|
|
52
54
|
}
|
|
53
55
|
export function is(node: ISYNode<any, any, any, any>): node is RelayNode {
|
|
54
|
-
return [
|
|
56
|
+
return ['RelayLoadControl'].includes(node.nodeDefId);
|
|
55
57
|
}
|
|
56
58
|
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is RelayNode {
|
|
57
|
-
return [
|
|
59
|
+
return ['RelayLoadControl'].includes(node.nodeDefId);
|
|
58
60
|
}
|
|
59
61
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
60
62
|
return new RelayNode(isy, nodeInfo);
|
|
@@ -73,21 +75,21 @@ export namespace Relay {
|
|
|
73
75
|
label: "Query";
|
|
74
76
|
name: "query";
|
|
75
77
|
};
|
|
76
|
-
ADRPST: ((value:
|
|
78
|
+
ADRPST: ((value: ) => Promise<boolean>) & {
|
|
77
79
|
label: "ADR";
|
|
78
80
|
name: "adr";
|
|
79
81
|
};
|
|
80
82
|
};
|
|
81
83
|
export type Drivers = {
|
|
82
84
|
ST: {
|
|
83
|
-
uom:
|
|
84
|
-
value:
|
|
85
|
+
uom: ;
|
|
86
|
+
value: ;
|
|
85
87
|
label: "Status";
|
|
86
88
|
name: "status";
|
|
87
89
|
};
|
|
88
90
|
ERR: {
|
|
89
|
-
uom:
|
|
90
|
-
value:
|
|
91
|
+
uom: ;
|
|
92
|
+
value: ;
|
|
91
93
|
label: "Responding";
|
|
92
94
|
name: "responding";
|
|
93
95
|
};
|
|
@@ -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,
|
|
@@ -30,100 +30,116 @@ export class ThermostatNode extends Base<Drivers, Commands> implements Thermosta
|
|
|
30
30
|
ADRPST: this.adr
|
|
31
31
|
};
|
|
32
32
|
static override nodeDefId = "Thermostat";
|
|
33
|
-
static override implements = [
|
|
34
|
-
declare readonly nodeDefId:
|
|
33
|
+
static override implements = ['Thermostat'];
|
|
34
|
+
declare readonly nodeDefId: 'Thermostat';
|
|
35
35
|
constructor (isy: ISY, nodeInfo: NodeInfo) {
|
|
36
36
|
super(isy, nodeInfo);
|
|
37
|
-
this.drivers.ST = Driver.create("ST", this, nodeInfo.
|
|
38
|
-
this.drivers.CLISPH = Driver.create("CLISPH", this, nodeInfo.
|
|
39
|
-
this.drivers.CLISPC = Driver.create("CLISPC", this, nodeInfo.
|
|
40
|
-
this.drivers.CLIMD = Driver.create("CLIMD", this, nodeInfo.
|
|
41
|
-
this.drivers.CLIFS = Driver.create("CLIFS", this, nodeInfo.
|
|
42
|
-
this.drivers.CLIHCS = Driver.create("CLIHCS", this, nodeInfo.
|
|
43
|
-
this.drivers.CLIFRS = Driver.create("CLIFRS", this, nodeInfo.
|
|
44
|
-
this.drivers.CLISMD = Driver.create("CLISMD", this, nodeInfo.
|
|
45
|
-
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.
|
|
37
|
+
this.drivers.ST = Driver.create("ST", this, nodeInfo.state['ST'], { uom: UnitOfMeasure.Unknown, label: "Temperature", name: "temperature" });
|
|
38
|
+
this.drivers.CLISPH = Driver.create("CLISPH", this, nodeInfo.state['CLISPH'], { uom: UnitOfMeasure.Unknown, label: "Heat Setpoint", name: "heatSetpoint" });
|
|
39
|
+
this.drivers.CLISPC = Driver.create("CLISPC", this, nodeInfo.state['CLISPC'], { uom: UnitOfMeasure.Unknown, label: "Cool Setpoint", name: "coolSetpoint" });
|
|
40
|
+
this.drivers.CLIMD = Driver.create("CLIMD", this, nodeInfo.state['CLIMD'], { uom: UnitOfMeasure.Unknown, label: "Mode", name: "mode" });
|
|
41
|
+
this.drivers.CLIFS = Driver.create("CLIFS", this, nodeInfo.state['CLIFS'], { uom: UnitOfMeasure.Unknown, label: "Fan Mode", name: "fanMode" });
|
|
42
|
+
this.drivers.CLIHCS = Driver.create("CLIHCS", this, nodeInfo.state['CLIHCS'], { uom: UnitOfMeasure.Unknown, label: "Heat/Cool State", name: "heatCoolState" });
|
|
43
|
+
this.drivers.CLIFRS = Driver.create("CLIFRS", this, nodeInfo.state['CLIFRS'], { uom: UnitOfMeasure.Unknown, label: "Fan State", name: "fanState" });
|
|
44
|
+
this.drivers.CLISMD = Driver.create("CLISMD", this, nodeInfo.state['CLISMD'], { uom: UnitOfMeasure.Unknown, label: "Schedule Mode", name: "scheduleMode" });
|
|
45
|
+
this.drivers.ERR = Driver.create("ERR", this, nodeInfo.state['ERR'], { uom: UnitOfMeasure.Unknown, label: "Responding", name: "responding" });
|
|
46
46
|
}
|
|
47
|
-
async updateHeatSetpoint(value:
|
|
48
|
-
async updateCoolSetpoint(value:
|
|
49
|
-
async updateMode(value:
|
|
50
|
-
async updateFanMode(value:
|
|
51
|
-
async updateScheduleMode(value:
|
|
52
|
-
async heatSetpointShift(value:
|
|
53
|
-
async coolSetpointShift(value:
|
|
47
|
+
async updateHeatSetpoint(value: ) { return this.sendCommand("CLISPH", value); }
|
|
48
|
+
async updateCoolSetpoint(value: ) { return this.sendCommand("CLISPC", value); }
|
|
49
|
+
async updateMode(value: ) { return this.sendCommand("CLIMD", value); }
|
|
50
|
+
async updateFanMode(value: ) { return this.sendCommand("CLIFS", value); }
|
|
51
|
+
async updateScheduleMode(value: ) { return this.sendCommand("CLISMD", value); }
|
|
52
|
+
async heatSetpointShift(value: ) { return this.sendCommand("CLISPHD", value); }
|
|
53
|
+
async coolSetpointShift(value: ) { return this.sendCommand("CLISPCD", value); }
|
|
54
54
|
async query() { return this.sendCommand("QUERY"); }
|
|
55
|
-
async adr(value:
|
|
56
|
-
public get temperature():
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
55
|
+
async adr(value: ) { return this.sendCommand("ADRPST", value); }
|
|
56
|
+
public get temperature(): {
|
|
57
|
+
|
|
58
|
+
return this.drivers.ST?.value;
|
|
59
|
+
}
|
|
60
|
+
public
|
|
61
|
+
get heatSetpoint():
|
|
62
|
+
{
|
|
63
|
+
return this.drivers.CLISPH?.value;
|
|
64
|
+
}
|
|
65
|
+
public
|
|
66
|
+
get coolSetpoint():
|
|
67
|
+
{
|
|
68
|
+
return this.drivers.CLISPC?.value;
|
|
69
|
+
}
|
|
70
|
+
public
|
|
71
|
+
get mode():
|
|
72
|
+
{
|
|
73
|
+
return this.drivers.CLIMD?.value;
|
|
74
|
+
}
|
|
75
|
+
public
|
|
76
|
+
get fanMode():
|
|
77
|
+
{
|
|
78
|
+
return this.drivers.CLIFS?.value;
|
|
79
|
+
}
|
|
80
|
+
public
|
|
81
|
+
get heatCoolState():
|
|
82
|
+
{
|
|
83
|
+
return this.drivers.CLIHCS?.value;
|
|
84
|
+
}
|
|
85
|
+
public
|
|
86
|
+
get fanState():
|
|
87
|
+
{
|
|
88
|
+
return this.drivers.CLIFRS?.value;
|
|
89
|
+
}
|
|
90
|
+
public
|
|
91
|
+
get scheduleMode():
|
|
92
|
+
{
|
|
93
|
+
return this.drivers.CLISMD?.value;
|
|
94
|
+
}
|
|
95
|
+
public
|
|
96
|
+
get responding():
|
|
97
|
+
{
|
|
98
|
+
return this.drivers.ERR?.value;
|
|
99
|
+
}
|
|
83
100
|
}
|
|
84
101
|
|
|
85
102
|
NodeFactory.register(ThermostatNode);
|
|
86
103
|
|
|
87
104
|
export namespace Thermostat {
|
|
88
105
|
export interface Interface extends Omit<InstanceType<typeof ThermostatNode>, keyof ISYDeviceNode<any, any, any, any>> {
|
|
89
|
-
nodeDefId: "Thermostat";
|
|
90
106
|
}
|
|
91
107
|
export function is(node: ISYNode<any, any, any, any>): node is ThermostatNode {
|
|
92
|
-
return [
|
|
108
|
+
return ['Thermostat'].includes(node.nodeDefId);
|
|
93
109
|
}
|
|
94
110
|
export function isImplementedBy(node: ISYNode<any, any, any, any>): node is ThermostatNode {
|
|
95
|
-
return [
|
|
111
|
+
return ['Thermostat'].includes(node.nodeDefId);
|
|
96
112
|
}
|
|
97
113
|
export function create(isy: ISY, nodeInfo: NodeInfo) {
|
|
98
114
|
return new ThermostatNode(isy, nodeInfo);
|
|
99
115
|
}
|
|
100
116
|
export const Node = ThermostatNode;
|
|
101
117
|
export type Commands = {
|
|
102
|
-
CLISPH: ((value:
|
|
118
|
+
CLISPH: ((value: ) => Promise<boolean>) & {
|
|
103
119
|
label: "Heat Setpoint";
|
|
104
120
|
name: "updateHeatSetpoint";
|
|
105
121
|
};
|
|
106
|
-
CLISPC: ((value:
|
|
122
|
+
CLISPC: ((value: ) => Promise<boolean>) & {
|
|
107
123
|
label: "Cool Setpoint";
|
|
108
124
|
name: "updateCoolSetpoint";
|
|
109
125
|
};
|
|
110
|
-
CLIMD: ((value:
|
|
126
|
+
CLIMD: ((value: ) => Promise<boolean>) & {
|
|
111
127
|
label: "Mode";
|
|
112
128
|
name: "updateMode";
|
|
113
129
|
};
|
|
114
|
-
CLIFS: ((value:
|
|
130
|
+
CLIFS: ((value: ) => Promise<boolean>) & {
|
|
115
131
|
label: "Fan Mode";
|
|
116
132
|
name: "updateFanMode";
|
|
117
133
|
};
|
|
118
|
-
CLISMD: ((value:
|
|
134
|
+
CLISMD: ((value: ) => Promise<boolean>) & {
|
|
119
135
|
label: "Schedule Mode";
|
|
120
136
|
name: "updateScheduleMode";
|
|
121
137
|
};
|
|
122
|
-
CLISPHD: ((value:
|
|
138
|
+
CLISPHD: ((value: ) => Promise<boolean>) & {
|
|
123
139
|
label: "Heat Setpoint Shift";
|
|
124
140
|
name: "heatSetpointShift";
|
|
125
141
|
};
|
|
126
|
-
CLISPCD: ((value:
|
|
142
|
+
CLISPCD: ((value: ) => Promise<boolean>) & {
|
|
127
143
|
label: "Cool Setpoint Shift";
|
|
128
144
|
name: "coolSetpointShift";
|
|
129
145
|
};
|
|
@@ -131,63 +147,63 @@ export namespace Thermostat {
|
|
|
131
147
|
label: "Query";
|
|
132
148
|
name: "query";
|
|
133
149
|
};
|
|
134
|
-
ADRPST: ((value:
|
|
150
|
+
ADRPST: ((value: ) => Promise<boolean>) & {
|
|
135
151
|
label: "ADR";
|
|
136
152
|
name: "adr";
|
|
137
153
|
};
|
|
138
154
|
};
|
|
139
155
|
export type Drivers = {
|
|
140
156
|
ST: {
|
|
141
|
-
uom:
|
|
142
|
-
value:
|
|
157
|
+
uom: ;
|
|
158
|
+
value: ;
|
|
143
159
|
label: "Temperature";
|
|
144
160
|
name: "temperature";
|
|
145
161
|
};
|
|
146
162
|
CLISPH: {
|
|
147
|
-
uom:
|
|
148
|
-
value:
|
|
163
|
+
uom: ;
|
|
164
|
+
value: ;
|
|
149
165
|
label: "Heat Setpoint";
|
|
150
166
|
name: "heatSetpoint";
|
|
151
167
|
};
|
|
152
168
|
CLISPC: {
|
|
153
|
-
uom:
|
|
154
|
-
value:
|
|
169
|
+
uom: ;
|
|
170
|
+
value: ;
|
|
155
171
|
label: "Cool Setpoint";
|
|
156
172
|
name: "coolSetpoint";
|
|
157
173
|
};
|
|
158
174
|
CLIMD: {
|
|
159
|
-
uom:
|
|
160
|
-
value:
|
|
175
|
+
uom: ;
|
|
176
|
+
value: ;
|
|
161
177
|
label: "Mode";
|
|
162
178
|
name: "mode";
|
|
163
179
|
};
|
|
164
180
|
CLIFS: {
|
|
165
|
-
uom:
|
|
166
|
-
value:
|
|
181
|
+
uom: ;
|
|
182
|
+
value: ;
|
|
167
183
|
label: "Fan Mode";
|
|
168
184
|
name: "fanMode";
|
|
169
185
|
};
|
|
170
186
|
CLIHCS: {
|
|
171
|
-
uom:
|
|
172
|
-
value:
|
|
187
|
+
uom: ;
|
|
188
|
+
value: ;
|
|
173
189
|
label: "Heat/Cool State";
|
|
174
190
|
name: "heatCoolState";
|
|
175
191
|
};
|
|
176
192
|
CLIFRS: {
|
|
177
|
-
uom:
|
|
178
|
-
value:
|
|
193
|
+
uom: ;
|
|
194
|
+
value: ;
|
|
179
195
|
label: "Fan State";
|
|
180
196
|
name: "fanState";
|
|
181
197
|
};
|
|
182
198
|
CLISMD: {
|
|
183
|
-
uom:
|
|
184
|
-
value:
|
|
199
|
+
uom: ;
|
|
200
|
+
value: ;
|
|
185
201
|
label: "Schedule Mode";
|
|
186
202
|
name: "scheduleMode";
|
|
187
203
|
};
|
|
188
204
|
ERR: {
|
|
189
|
-
uom:
|
|
190
|
-
value:
|
|
205
|
+
uom: ;
|
|
206
|
+
value: ;
|
|
191
207
|
label: "Responding";
|
|
192
208
|
name: "responding";
|
|
193
209
|
};
|
package/src/ISY.ts
CHANGED
|
@@ -28,6 +28,7 @@ import { ISYError } from './ISYError.js';
|
|
|
28
28
|
import type { Config } from './Model/Config.js';
|
|
29
29
|
import { findPackageJson } from './Utils.js';
|
|
30
30
|
import { GenericNode } from './Devices/GenericNode.js';
|
|
31
|
+
import { CompositeDevice } from './Devices/CompositeDevice.js';
|
|
31
32
|
|
|
32
33
|
type InitStep = 'config' | 'loadNodes' | 'readFolders' | 'readDevices' | 'readScenes' | 'variables' | 'websocket' | 'refreshStatuses' | 'initialize';
|
|
33
34
|
|
|
@@ -753,7 +754,7 @@ export class ISY extends EventEmitter implements Disposable {
|
|
|
753
754
|
} else {
|
|
754
755
|
this.deviceMap[nodeInfo.pnode].push(nodeInfo.address);
|
|
755
756
|
}
|
|
756
|
-
let newDevice
|
|
757
|
+
let newDevice = null;
|
|
757
758
|
|
|
758
759
|
// let deviceTypeInfo = this.isyTypeToTypeName(device.type, device.address);
|
|
759
760
|
// this.logger.info(JSON.stringify(deviceTypeInfo));
|
|
@@ -761,7 +762,7 @@ export class ISY extends EventEmitter implements Disposable {
|
|
|
761
762
|
const enabled = nodeInfo.enabled ?? true;
|
|
762
763
|
const d = await NodeFactory.get(nodeInfo);
|
|
763
764
|
const m = DeviceFactory.getDeviceDetails(nodeInfo);
|
|
764
|
-
const cls = m
|
|
765
|
+
const cls = m.class ?? d;
|
|
765
766
|
nodeInfo.property = Array.isArray(nodeInfo.property) ? nodeInfo.property : [nodeInfo.property];
|
|
766
767
|
nodeInfo.state = nodeInfo.property.reduce((acc, p) => {
|
|
767
768
|
if (p && p?.id) {
|
|
@@ -773,7 +774,8 @@ export class ISY extends EventEmitter implements Disposable {
|
|
|
773
774
|
|
|
774
775
|
if (cls) {
|
|
775
776
|
try {
|
|
776
|
-
newDevice = new cls(this, nodeInfo)
|
|
777
|
+
newDevice = new cls(this, nodeInfo);
|
|
778
|
+
|
|
777
779
|
} catch (e) {
|
|
778
780
|
this.logger.error(`Error creating device ${nodeInfo.name} with type ${nodeInfo.type} and nodedef ${nodeInfo.nodeDefId}: ${e.message}`);
|
|
779
781
|
continue;
|
|
@@ -808,7 +810,12 @@ export class ISY extends EventEmitter implements Disposable {
|
|
|
808
810
|
// this.deviceList.push(newDevice);
|
|
809
811
|
} else {
|
|
810
812
|
}
|
|
811
|
-
this.nodeMap.set(newDevice.address, newDevice);
|
|
813
|
+
this.nodeMap.set(newDevice.address, CompositeDevice.isComposite(newDevice) ? newDevice.root : newDevice);
|
|
814
|
+
if(CompositeDevice.isComposite(newDevice))
|
|
815
|
+
{
|
|
816
|
+
if(this.deviceList.set)
|
|
817
|
+
this.deviceList.set(newDevice.address, newDevice);
|
|
818
|
+
}
|
|
812
819
|
} else {
|
|
813
820
|
this.logger.info(`Ignoring disabled device: ${nodeInfo.name}`);
|
|
814
821
|
}
|
|
@@ -816,7 +823,22 @@ export class ISY extends EventEmitter implements Disposable {
|
|
|
816
823
|
this.logger.error(`Error loading device node: ${e.message}`);
|
|
817
824
|
}
|
|
818
825
|
}
|
|
819
|
-
this.logger.info(`${this.nodeMap.size}
|
|
826
|
+
this.logger.info(`${this.nodeMap.size} nodes added.`);
|
|
827
|
+
for(const node of this.nodeMap.values()) {
|
|
828
|
+
if(node.parentAddress !== node.address) {
|
|
829
|
+
let parent = this.deviceList.get(node.parentAddress) as unknown as CompositeDevice<any,any>;
|
|
830
|
+
if(parent && CompositeDevice.isComposite(parent))
|
|
831
|
+
parent.addNode(node);
|
|
832
|
+
|
|
833
|
+
}
|
|
834
|
+
else
|
|
835
|
+
{
|
|
836
|
+
this.deviceList.set(node.address, node as unknown as ISYDevice<any, any, any, any>);
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
|
|
840
|
+
}
|
|
841
|
+
this.logger.info(`${this.deviceList.size} unique devices added.`);
|
|
820
842
|
} catch (e) {
|
|
821
843
|
throw new ISYInitializationError(e, 'readDevices');
|
|
822
844
|
}
|
package/src/ISYDevice.ts
CHANGED
|
@@ -5,14 +5,14 @@ import { ISYDeviceNode } from './Devices/ISYDeviceNode.js';
|
|
|
5
5
|
import type { ISYNode } from './ISYNode.js';
|
|
6
6
|
import type { ISYScene } from './ISYScene.js';
|
|
7
7
|
|
|
8
|
-
export interface ISYDevice<T extends Family, D
|
|
8
|
+
export interface ISYDevice<T extends Family, D, C, E> extends ISYDeviceInfo {
|
|
9
9
|
// #region Properties (22)
|
|
10
10
|
|
|
11
11
|
address: string;
|
|
12
12
|
category: Category;
|
|
13
|
-
commands:
|
|
13
|
+
commands: C;
|
|
14
14
|
deviceClass: any;
|
|
15
|
-
drivers:
|
|
15
|
+
drivers: D;
|
|
16
16
|
|
|
17
17
|
events: E;
|
|
18
18
|
enabled: boolean;
|
|
@@ -52,6 +52,7 @@ export function isDeviceClass<T extends Family, D extends ISYNode.DriverSignatur
|
|
|
52
52
|
return device.prototype instanceof ISYDeviceNode;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
|
|
55
56
|
export interface ISYDeviceInfo {
|
|
56
57
|
type: string;
|
|
57
58
|
deviceClass: any;
|
package/src/ISYNode.ts
CHANGED
|
@@ -4,18 +4,22 @@ import { Family } from './Definitions/Global/Families.js';
|
|
|
4
4
|
import { UnitOfMeasure } from './Definitions/Global/UOM.js';
|
|
5
5
|
import { ISY } from './ISY.js';
|
|
6
6
|
|
|
7
|
+
import type { Merge, UnionToIntersection } from '@matter/general';
|
|
7
8
|
import { CliConfigSetLevels } from 'winston/lib/winston/config/index.js';
|
|
8
9
|
import { Converter } from './Converters.js';
|
|
9
10
|
import type { Command } from './Definitions/Global/Commands.js';
|
|
10
11
|
import { Event } from './Definitions/Global/Events.js';
|
|
12
|
+
import type { CompositeDevice } from './Devices/CompositeDevice.js';
|
|
11
13
|
import type { Constructor } from './Devices/Constructor.js';
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
import { NodeType } from './ISYConstants.js';
|
|
17
|
+
import type { ISYScene } from './ISYScene.js';
|
|
12
18
|
import type { DriverState } from './Model/DriverState.js';
|
|
13
19
|
import { NodeInfo } from './Model/NodeInfo.js';
|
|
14
20
|
import type { NodeNotes } from './Model/NodeNotes.js';
|
|
15
21
|
import { type ObjectToUnion, type StringKeys } from './Utils.js';
|
|
16
|
-
import {
|
|
17
|
-
import type { ISYScene } from './ISYScene.js';
|
|
18
|
-
import type { Merge, UnionToIntersection } from '@matter/general';
|
|
22
|
+
import type { ISYDevice } from './ISYDevice.js';
|
|
19
23
|
|
|
20
24
|
//type DriverValues<DK extends string | number | symbol,V = any> = {[x in DK]?:V};
|
|
21
25
|
|
|
@@ -24,7 +28,7 @@ export class ISYNode<
|
|
|
24
28
|
D extends ISYNode.DriverSignatures = {},
|
|
25
29
|
C extends ISYNode.CommandSignatures = {},
|
|
26
30
|
E extends ISYNode.EventSignatures = { [x in keyof D]: Event.DriverToEvent<D[x]> & { driver: x } } & { [x in keyof C]: Event.CommandToEvent<C[x]> & { command: x } }
|
|
27
|
-
>
|
|
31
|
+
> {
|
|
28
32
|
// #region Properties (32)
|
|
29
33
|
|
|
30
34
|
static #displayNameFunction: Function;
|
|
@@ -157,18 +161,17 @@ export class ISYNode<
|
|
|
157
161
|
|
|
158
162
|
public applyStatus(prop: DriverState) {
|
|
159
163
|
try {
|
|
160
|
-
|
|
164
|
+
var d = this.drivers[prop.id];
|
|
161
165
|
|
|
162
|
-
|
|
163
|
-
|
|
166
|
+
if (d) {
|
|
167
|
+
d.apply(prop);
|
|
164
168
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
catch(e) {
|
|
169
|
+
this.logger(`Property ${d?.label ?? prop.id} (${prop.id}) refreshed to: ${d.value} (${prop.formatted}})`);
|
|
170
|
+
//d.state.value = this.convertFrom(prop.value, prop.uom, prop.id);
|
|
171
|
+
//d.state.formatted = prop.formatted;
|
|
172
|
+
//d.state.uom = prop.uom;
|
|
173
|
+
}
|
|
174
|
+
} catch (e) {
|
|
172
175
|
this.logger(e?.message ?? e, 'error');
|
|
173
176
|
}
|
|
174
177
|
}
|
|
@@ -360,23 +363,24 @@ export class ISYNode<
|
|
|
360
363
|
public async sendCommand(command: StringKeys<C>, value: string | number, parameters: Record<string | symbol, string | number | undefined>);
|
|
361
364
|
public async sendCommand(command: StringKeys<C>, value: string | number): Promise<any>;
|
|
362
365
|
public async sendCommand(command: StringKeys<C>, parameters: Record<string | symbol, string | number | undefined>): Promise<any>;
|
|
363
|
-
async sendCommand(
|
|
366
|
+
async sendCommand(
|
|
367
|
+
command: StringKeys<C>,
|
|
368
|
+
valueOrParameters?: string | number | Record<string | symbol, string | number | undefined>,
|
|
369
|
+
parameters?: Record<string | symbol, string | number | undefined>
|
|
370
|
+
): Promise<any> {
|
|
364
371
|
if (valueOrParameters === null || valueOrParameters === undefined) {
|
|
365
372
|
return this.isy.sendNodeCommand(this, command);
|
|
366
373
|
}
|
|
367
374
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
375
|
+
if (parameters === null || parameters === undefined) {
|
|
376
|
+
return this.isy.sendNodeCommand(this, command, valueOrParameters);
|
|
377
|
+
}
|
|
378
|
+
if (typeof valueOrParameters === 'object') {
|
|
379
|
+
return this.isy.sendNodeCommand(this, command, { ...valueOrParameters, ...parameters });
|
|
380
|
+
}
|
|
381
|
+
if (typeof valueOrParameters === 'string' || typeof valueOrParameters === 'number') {
|
|
382
|
+
return this.isy.sendNodeCommand(this, command, { default: valueOrParameters, ...parameters });
|
|
383
|
+
}
|
|
380
384
|
}
|
|
381
385
|
|
|
382
386
|
public async updateProperty(propertyName: string, value: any): Promise<any> {
|
|
@@ -540,12 +544,17 @@ export type EventsOf<T> = T extends ISYNode<any, any, any, infer E> ? E : never;
|
|
|
540
544
|
export namespace ISYNode {
|
|
541
545
|
export type FromSignatures<T> = T extends DriverSignatures ? Driver.ForAll<T> : never;
|
|
542
546
|
|
|
543
|
-
|
|
547
|
+
type InternalDriversOf<T> = T extends ISYNode<any, infer D, any, any> ? D : never;
|
|
548
|
+
|
|
549
|
+
export type DriversOf<T> =
|
|
550
|
+
T extends ISYNode<any, any, any, any> ? InternalDriversOf<T>
|
|
551
|
+
: T extends CompositeDevice<any, any> ? T['drivers']
|
|
552
|
+
: never;
|
|
544
553
|
export type CommandsOf<T> = T extends ISYNode<any, any, infer C, any> ? C : never;
|
|
545
554
|
export type EventsOf<T> = T extends ISYNode<any, any, any, infer E> ? E : never;
|
|
546
555
|
export type FamilyOf<T> = T extends ISYNode<infer F, any, any, any> ? F : never;
|
|
547
556
|
|
|
548
|
-
export type DriverTypesOf<T
|
|
557
|
+
export type DriverTypesOf<T> = ObjectToUnion<DriversOf<T>>;
|
|
549
558
|
|
|
550
559
|
export type CommandTypesOf<T extends ISYNode> = ObjectToUnion<CommandsOf<T>>;
|
|
551
560
|
|
|
@@ -553,9 +562,16 @@ export namespace ISYNode {
|
|
|
553
562
|
|
|
554
563
|
export type EventNamesOf<T extends ISYNode> = EventTypesOf<T> extends { name: infer U } ? U : never;
|
|
555
564
|
|
|
556
|
-
export type DriverNamesOf<T
|
|
565
|
+
export type DriverNamesOf<T> =
|
|
566
|
+
DriverTypesOf<T> extends { name: infer U } ? U
|
|
567
|
+
: DriversOf<T> extends { name: infer U } ? U
|
|
568
|
+
: never;
|
|
569
|
+
|
|
570
|
+
export type DriverKeysOf<T> = keyof DriversOf<T>;
|
|
571
|
+
|
|
572
|
+
export type CommandKeysOf<T> = keyof CommandsOf<T>;
|
|
557
573
|
|
|
558
|
-
export type CommandNamesOf<T extends ISYNode> =
|
|
574
|
+
export type CommandNamesOf<T extends ISYNode> = CommandsOf<T> extends { name: infer U } ? U : never;
|
|
559
575
|
export type List = NodeList;
|
|
560
576
|
|
|
561
577
|
export type DriverMap<T extends NodeList> = Flatten<{
|
|
@@ -585,7 +601,7 @@ export namespace ISYNode {
|
|
|
585
601
|
|
|
586
602
|
export const With = <K extends Family, D extends DriverSignatures, C extends CommandSignatures, T extends Constructor<ISYNode<K, any, any, any>>>(Base: T) => {
|
|
587
603
|
return class extends Base implements Omit<ISYNode<K, D, C>, 'events'> {
|
|
588
|
-
declare drivers: Driver.ForAll<
|
|
604
|
+
declare drivers: Driver.ForAll<D, false>;
|
|
589
605
|
declare commands: Command.ForAll<C>;
|
|
590
606
|
};
|
|
591
607
|
};
|