isy-nodejs 1.0.2-alpha.4 → 1.0.3-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/{NodeFactory.js → CodeFactory.js} +18 -7
- package/dist/esm/CodeGeneration/CodeFactory.js.map +1 -0
- package/dist/esm/CodeGeneration/EnumFactory.js +1 -1
- package/dist/esm/CodeGeneration/EnumFactory.js.map +1 -1
- package/dist/esm/CodeGeneration/NodeClassFactory.js +156 -146
- package/dist/esm/CodeGeneration/NodeClassFactory.js.map +1 -1
- package/dist/esm/Converters.js +16 -6
- package/dist/esm/Converters.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js +4 -2
- package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js +4 -2
- package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js +5 -3
- package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js +4 -2
- package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/BinaryControl.js +4 -2
- package/dist/esm/Devices/Insteon/Generated/BinaryControl.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js +7 -5
- package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js +8 -6
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js +9 -7
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js +8 -6
- package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js +4 -2
- package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/DoorLock.js +3 -1
- package/dist/esm/Devices/Insteon/Generated/DoorLock.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js +3 -1
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js +4 -2
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/EzrainInput.js +3 -1
- package/dist/esm/Devices/Insteon/Generated/EzrainInput.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js +5 -3
- package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js +5 -3
- package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js +12 -10
- package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js +10 -8
- package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js +3 -1
- package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/IrLincTx.js +4 -2
- package/dist/esm/Devices/Insteon/Generated/IrLincTx.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/KeypadButton.js +4 -2
- package/dist/esm/Devices/Insteon/Generated/KeypadButton.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js +9 -7
- package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js +7 -5
- package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/OnOffControl.js +4 -2
- package/dist/esm/Devices/Insteon/Generated/OnOffControl.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Pir2844.js +6 -4
- package/dist/esm/Devices/Insteon/Generated/Pir2844.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js +5 -3
- package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Pir2844c.js +6 -4
- package/dist/esm/Devices/Insteon/Generated/Pir2844c.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelayLamp.js +6 -4
- package/dist/esm/Devices/Insteon/Generated/RelayLamp.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +7 -5
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js +8 -6
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js +6 -4
- package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js +6 -4
- package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js +3 -1
- package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Siren.js +5 -3
- package/dist/esm/Devices/Insteon/Generated/Siren.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/SirenAlert.js +3 -1
- package/dist/esm/Devices/Insteon/Generated/SirenAlert.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/TempLinc.js +8 -6
- package/dist/esm/Devices/Insteon/Generated/TempLinc.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/Thermostat.js +8 -6
- package/dist/esm/Devices/Insteon/Generated/Thermostat.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/X10.js +3 -1
- package/dist/esm/Devices/Insteon/Generated/X10.js.map +1 -1
- package/dist/esm/Devices/Lutron/Generated/LoadShed.js +4 -2
- package/dist/esm/Devices/Lutron/Generated/LoadShed.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Channel.js +3 -1
- package/dist/esm/Devices/UDI/Generated/Channel.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js +3 -1
- package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Main.js +3 -1
- package/dist/esm/Devices/UDI/Generated/Main.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/PulseCounter.js +3 -1
- package/dist/esm/Devices/UDI/Generated/PulseCounter.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Relay.js +3 -1
- package/dist/esm/Devices/UDI/Generated/Relay.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js +3 -1
- package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js.map +1 -1
- package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js +8 -2
- package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js.map +1 -1
- package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js +4 -2
- package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js.map +1 -1
- package/dist/esm/ISY.js +59 -34
- package/dist/esm/ISY.js.map +1 -1
- package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js +1 -1
- package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
- package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
- package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js.map +1 -1
- package/dist/esm/Matter/Bridge/Server.js +6 -6
- package/dist/esm/Matter/Bridge/Server.js.map +1 -1
- package/dist/esm/Matter/Mappings/Insteon.js +37 -13
- package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
- package/dist/esm/{Model/ClusterMap.js → Matter/Mappings/MappingRegistry.js} +12 -7
- package/dist/esm/Matter/Mappings/MappingRegistry.js.map +1 -0
- package/dist/esm/Model/ClassDefinition.js +7 -5
- package/dist/esm/Model/ClassDefinition.js.map +1 -1
- package/dist/esm/types/CodeGeneration/{NodeFactory.d.ts → CodeFactory.d.ts} +1 -1
- package/dist/esm/types/CodeGeneration/{NodeFactory.d.ts.map → CodeFactory.d.ts.map} +1 -1
- package/dist/esm/types/CodeGeneration/EnumFactory.d.ts +1 -1
- package/dist/esm/types/CodeGeneration/EnumFactory.d.ts.map +1 -1
- package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts +19 -3
- package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
- package/dist/esm/types/Converters.d.ts +12 -6
- package/dist/esm/types/Converters.d.ts.map +1 -1
- package/dist/esm/types/Devices/EndpointFor.d.ts +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +6 -6
- package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +3 -3
- package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +3 -3
- package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +3 -3
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +6 -6
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +2 -2
- package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -1
- package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +16 -9
- package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -1
- package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +15 -15
- package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -1
- package/dist/esm/types/ISY.d.ts +6 -2
- package/dist/esm/types/ISY.d.ts.map +1 -1
- package/dist/esm/types/ISYNode.d.ts +1 -1
- package/dist/esm/types/ISYNode.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 +1 -1
- package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Bridge/Server.d.ts +0 -1
- package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
- package/dist/esm/types/Matter/Mappings/Insteon.d.ts +3 -1
- package/dist/esm/types/Matter/Mappings/Insteon.d.ts.map +1 -1
- package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts +144 -0
- package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts.map +1 -0
- package/dist/esm/types/Model/ClassDefinition.d.ts +9 -623
- package/dist/esm/types/Model/ClassDefinition.d.ts.map +1 -1
- package/dist/esm/types/Model/EnumDefinition.d.ts +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +4 -2
- package/src/CodeGeneration/{NodeFactory.ts → CodeFactory.ts} +18 -2
- package/src/CodeGeneration/EnumFactory.ts +5 -4
- package/src/CodeGeneration/NodeClassFactory.ts +266 -241
- package/src/Converters.ts +16 -10
- package/src/Devices/Brultech/Generated/Channel.ts +3 -1
- package/src/Devices/Brultech/Generated/Main.ts +3 -1
- package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +4 -2
- package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +4 -2
- package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +5 -3
- package/src/Devices/Insteon/Generated/BinaryAlarm.ts +4 -2
- package/src/Devices/Insteon/Generated/BinaryControl.ts +4 -2
- package/src/Devices/Insteon/Generated/DimmerLamp.ts +7 -5
- package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +8 -6
- package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +9 -7
- package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +8 -6
- package/src/Devices/Insteon/Generated/DimmerSwitch.ts +4 -2
- package/src/Devices/Insteon/Generated/DoorLock.ts +3 -1
- package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +3 -1
- package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +4 -2
- package/src/Devices/Insteon/Generated/EzrainInput.ts +3 -1
- package/src/Devices/Insteon/Generated/EzrainOutput.ts +12 -10
- package/src/Devices/Insteon/Generated/FanLincMotor.ts +5 -3
- package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +12 -10
- package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +10 -8
- package/src/Devices/Insteon/Generated/ImeterSolo.ts +3 -1
- package/src/Devices/Insteon/Generated/IrLincTx.ts +4 -2
- package/src/Devices/Insteon/Generated/KeypadButton.ts +4 -2
- package/src/Devices/Insteon/Generated/KeypadDimmer.ts +9 -7
- package/src/Devices/Insteon/Generated/KeypadRelay.ts +18 -16
- package/src/Devices/Insteon/Generated/OnOffControl.ts +7 -5
- package/src/Devices/Insteon/Generated/Pir2844.ts +6 -4
- package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +5 -3
- package/src/Devices/Insteon/Generated/Pir2844c.ts +6 -4
- package/src/Devices/Insteon/Generated/RelayLamp.ts +9 -7
- package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +10 -8
- package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +12 -10
- package/src/Devices/Insteon/Generated/RelaySwitch.ts +6 -4
- package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +6 -4
- package/src/Devices/Insteon/Generated/RemoteLinc2.ts +3 -1
- package/src/Devices/Insteon/Generated/Siren.ts +5 -3
- package/src/Devices/Insteon/Generated/SirenAlert.ts +3 -1
- package/src/Devices/Insteon/Generated/TempLinc.ts +8 -6
- package/src/Devices/Insteon/Generated/Thermostat.ts +8 -6
- package/src/Devices/Insteon/Generated/X10.ts +3 -1
- package/src/Devices/Lutron/Generated/LoadShed.ts +4 -2
- package/src/Devices/NCD/Generated/Relay.ts +4 -2
- package/src/Devices/Poly/Generated/MatterBridge.ts +3 -1
- package/src/Devices/Scene/Generated/Scene.ts +10 -8
- package/src/Devices/UDI/Generated/Channel.ts +3 -1
- package/src/Devices/UDI/Generated/Em3MainChannel.ts +3 -1
- package/src/Devices/UDI/Generated/Main.ts +3 -1
- package/src/Devices/UDI/Generated/PulseCounter.ts +3 -1
- package/src/Devices/UDI/Generated/Relay.ts +3 -1
- package/src/Devices/UDI/Generated/TemperatureSensor.ts +3 -1
- package/src/Devices/ZWave/Generated/ColorSwitch.ts +19 -7
- package/src/Devices/ZWave/Generated/DimmerSwitch.ts +13 -11
- package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +4 -2
- package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +11 -9
- package/src/ISY.ts +58 -25
- package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +1 -1
- package/src/Matter/Behaviors/ISYClusterBehavior.ts +2 -1
- package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +2 -1
- package/src/Matter/Bridge/Server.ts +10 -6
- package/src/Matter/Mappings/Insteon.ts +41 -26
- package/src/{Model/ClusterMap.ts → Matter/Mappings/MappingRegistry.ts} +26 -14
- package/src/Model/ClassDefinition.ts +16 -10
- package/src/Utils.ts +1 -1
- package/dist/esm/CodeGeneration/NodeFactory.js.map +0 -1
- package/dist/esm/Model/ClusterMap.js.map +0 -1
- package/dist/esm/types/Model/ClusterMap.d.ts +0 -101
- package/dist/esm/types/Model/ClusterMap.d.ts.map +0 -1
|
@@ -17,14 +17,16 @@ import { ISYBridgedDeviceBehavior } from '../Behaviors/ISYBridgedDeviceBehavior.
|
|
|
17
17
|
import { ISYDimmableBehavior, ISYOnOffBehavior } from '../Behaviors/Insteon/ISYOnOffBehavior.js';
|
|
18
18
|
import '../Mappings/Insteon.js';
|
|
19
19
|
import type { ISYNode } from '../../ISYNode.js';
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
import { Options } from '../../Definitions/ZWave/index.js';
|
|
22
22
|
import { InsteonBaseDevice } from '../../Devices/Insteon/InsteonBaseDevice.js';
|
|
23
23
|
import { DimmerLamp } from '../../Devices/Insteon/Generated/DimmerLamp.js';
|
|
24
24
|
import { Family } from '../../Definitions/index.js';
|
|
25
25
|
import { RelayLamp } from '../../Devices/Insteon/index.js';
|
|
26
26
|
import type { DeviceTypeDefinition } from '@project-chip/matter.js/device';
|
|
27
|
+
import { MappingRegistry } from '../Mappings/MappingRegistry.js';
|
|
27
28
|
import type { BridgedISYNodeInformationServer } from '../../Devices/EndpointFor.js';
|
|
29
|
+
import { BasicInformation } from '@project-chip/matter.js/cluster';
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
// #region Interfaces (1)
|
|
@@ -226,7 +228,7 @@ export async function createMatterServer(isy?: ISY, config?: Config): Promise<Se
|
|
|
226
228
|
if (deviceOptions?.exclude) {
|
|
227
229
|
continue;
|
|
228
230
|
}
|
|
229
|
-
let
|
|
231
|
+
let uniqueId = `${device.address.replaceAll(' ', '_').replaceAll('.', '_')}`;
|
|
230
232
|
if (device.enabled) {
|
|
231
233
|
//const name = `OnOff ${isASocket ? "Socket" : "Light"} ${i}`;
|
|
232
234
|
|
|
@@ -257,7 +259,7 @@ export async function createMatterServer(isy?: ISY, config?: Config): Promise<Se
|
|
|
257
259
|
logger.info(`Device ${device.label} (${device.address}) with NodeDefId = ${device.nodeDefId} mapped to ${deviceType.name}`);
|
|
258
260
|
//@ts-ignore
|
|
259
261
|
const endpoint = new Endpoint(baseBehavior, {
|
|
260
|
-
id:
|
|
262
|
+
id: uniqueId,
|
|
261
263
|
isyNode: {
|
|
262
264
|
address: device.address
|
|
263
265
|
},
|
|
@@ -274,10 +276,12 @@ export async function createMatterServer(isy?: ISY, config?: Config): Promise<Se
|
|
|
274
276
|
softwareVersion: Number(device.version),
|
|
275
277
|
softwareVersionString: `v.${device.version}`,
|
|
276
278
|
|
|
277
|
-
serialNumber:
|
|
279
|
+
serialNumber: device.address,
|
|
278
280
|
reachable: true,
|
|
279
|
-
uniqueId:
|
|
280
|
-
|
|
281
|
+
uniqueId: uniqueId
|
|
282
|
+
|
|
283
|
+
},
|
|
284
|
+
|
|
281
285
|
});
|
|
282
286
|
|
|
283
287
|
await aggregator.add(endpoint);
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { Devices } from '../../Devices/index.js';
|
|
6
|
-
import { MappingRegistry, type DeviceToClusterMap, type EndpointMapping, type FamilyToClusterMap } from '../../Model/ClusterMap.js';
|
|
2
|
+
import { Family } from '../../Definitions/Global/Families.js';
|
|
3
|
+
import * as Insteon from '../../Devices/Insteon/index.js';
|
|
4
|
+
|
|
7
5
|
|
|
8
6
|
//import InsteonMap from "./Insteon.json";
|
|
9
7
|
|
|
10
|
-
import {
|
|
11
|
-
import type
|
|
12
|
-
import { DimmerSwitchDevice, GenericSwitchDevice, OnOffLightSwitchDevice, OnOffLightDevice, DimmableLightDevice } from '@matter/node/devices';
|
|
13
|
-
import type { Identity } from '@matter/general';
|
|
14
|
-
import { SwitchServer } from '@matter/node/behaviors';
|
|
15
|
-
import type { Device } from '@project-chip/matter.js/device';
|
|
16
|
-
import type { MutableEndpoint } from '@matter/node';
|
|
8
|
+
import { OnOffLightDevice, DimmableLightDevice } from '@matter/node/devices';
|
|
9
|
+
import { add, MappingRegistry, type EndpointMapping, type FamilyToClusterMap } from './MappingRegistry.js';
|
|
17
10
|
|
|
18
|
-
const map: FamilyToClusterMap<Family.Insteon> = {
|
|
11
|
+
export const map: FamilyToClusterMap<Family.Insteon> = {
|
|
19
12
|
Family: Family.Insteon,
|
|
20
13
|
|
|
21
14
|
RelayLamp: {
|
|
@@ -23,11 +16,10 @@ const map: FamilyToClusterMap<Family.Insteon> = {
|
|
|
23
16
|
mapping: {
|
|
24
17
|
OnOff: {
|
|
25
18
|
attributes: {
|
|
26
|
-
onOff: { driver: 'ST', converter: '
|
|
19
|
+
onOff: { driver: 'ST', converter: 'Percent.Boolean' }
|
|
27
20
|
},
|
|
28
21
|
commands: { on: 'DON' }
|
|
29
22
|
}
|
|
30
|
-
|
|
31
23
|
}
|
|
32
24
|
},
|
|
33
25
|
RelayLampSwitch: {
|
|
@@ -35,12 +27,12 @@ const map: FamilyToClusterMap<Family.Insteon> = {
|
|
|
35
27
|
mapping: {
|
|
36
28
|
OnOff: {
|
|
37
29
|
attributes: {
|
|
38
|
-
onOff: { driver: 'ST', converter: '
|
|
30
|
+
onOff: { driver: 'ST', converter: 'Percent.Boolean' }
|
|
39
31
|
},
|
|
40
32
|
commands: { on: 'DON' }
|
|
41
33
|
}
|
|
42
34
|
}
|
|
43
|
-
|
|
35
|
+
},
|
|
44
36
|
DimmerLamp: {
|
|
45
37
|
deviceType: DimmableLightDevice,
|
|
46
38
|
// @ts-ignore
|
|
@@ -48,16 +40,16 @@ const map: FamilyToClusterMap<Family.Insteon> = {
|
|
|
48
40
|
// @ts-ignore
|
|
49
41
|
OnOff: {
|
|
50
42
|
attributes: {
|
|
51
|
-
onOff: { driver: 'ST', converter: '
|
|
43
|
+
onOff: { driver: 'ST', converter: 'Percent.Boolean' }
|
|
52
44
|
},
|
|
53
45
|
commands: { on: 'DON' }
|
|
54
46
|
},
|
|
55
47
|
LevelControl: {
|
|
56
48
|
// @ts-ignore
|
|
57
49
|
attributes: {
|
|
58
|
-
currentLevel: { driver: 'ST', converter: '
|
|
59
|
-
startUpCurrentLevel: { driver: 'OL', converter: '
|
|
60
|
-
onLevel: { driver: 'OL', converter: '
|
|
50
|
+
currentLevel: { driver: 'ST', converter: 'Percent.LightingLevel' },
|
|
51
|
+
startUpCurrentLevel: { driver: 'OL', converter: 'Percent.LightingLevel' },
|
|
52
|
+
onLevel: { driver: 'OL', converter: 'Percent.LightingLevel' }
|
|
61
53
|
},
|
|
62
54
|
commands: { setLevel: { command: 'DON' } }
|
|
63
55
|
}
|
|
@@ -67,20 +59,19 @@ const map: FamilyToClusterMap<Family.Insteon> = {
|
|
|
67
59
|
deviceType: DimmableLightDevice,
|
|
68
60
|
// @ts-ignore
|
|
69
61
|
mapping: {
|
|
70
|
-
|
|
71
62
|
// @ts-ignore
|
|
72
63
|
OnOff: {
|
|
73
64
|
attributes: {
|
|
74
|
-
onOff: { driver: 'ST', converter: '
|
|
65
|
+
onOff: { driver: 'ST', converter: 'Percent.Boolean' }
|
|
75
66
|
},
|
|
76
67
|
commands: { on: 'DON' }
|
|
77
68
|
},
|
|
78
69
|
LevelControl: {
|
|
79
70
|
// @ts-ignore
|
|
80
71
|
attributes: {
|
|
81
|
-
currentLevel: { driver: 'ST', converter: '
|
|
82
|
-
startUpCurrentLevel: { driver: 'OL', converter: '
|
|
83
|
-
onLevel: { driver: 'OL', converter: '
|
|
72
|
+
currentLevel: { driver: 'ST', converter: 'Percent.LightingLevel' },
|
|
73
|
+
startUpCurrentLevel: { driver: 'OL', converter: 'Percent.LightingLevel' },
|
|
74
|
+
onLevel: { driver: 'OL', converter: 'Percent.LightingLevel' }
|
|
84
75
|
},
|
|
85
76
|
commands: { setLevel: { command: 'DON' } }
|
|
86
77
|
}
|
|
@@ -88,5 +79,29 @@ const map: FamilyToClusterMap<Family.Insteon> = {
|
|
|
88
79
|
}
|
|
89
80
|
};
|
|
90
81
|
|
|
82
|
+
/*let newMap = add(map, Insteon.DimmerLamp.Node, {
|
|
83
|
+
deviceType: DimmableLightDevice,
|
|
84
|
+
// @ts-ignore
|
|
85
|
+
mapping: {
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
OnOff: {
|
|
88
|
+
attributes: {
|
|
89
|
+
onOff: { driver: 'ST', converter: 'Percent.Boolean' ,
|
|
90
|
+
},
|
|
91
|
+
commands: { on: 'DON' }
|
|
92
|
+
},
|
|
93
|
+
//@ts-ignore
|
|
94
|
+
LevelControl: {
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
attributes: {
|
|
97
|
+
currentLevel: { driver: 'ST', converter: 'Percent.LightingLevel' },
|
|
98
|
+
startUpCurrentLevel: { driver: 'OL', converter: 'Percent.LightingLevel' },
|
|
99
|
+
onLevel: { driver: 'OL', converter: 'Percent.LightingLevel' }
|
|
100
|
+
},
|
|
101
|
+
commands: { setLevel: { command: 'DON' } }
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}});*/
|
|
105
|
+
|
|
91
106
|
|
|
92
107
|
MappingRegistry.register(map);
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import * as Clusters from '@project-chip/matter.js/cluster';
|
|
2
2
|
|
|
3
|
-
import type { Converter } from '
|
|
4
|
-
import { DriverType } from '
|
|
5
|
-
import { Devices, Insteon } from '
|
|
3
|
+
import type { Converter } from '../../Converters.js';
|
|
4
|
+
import { DriverType } from '../../Definitions/Global/Drivers.js';
|
|
5
|
+
import { Devices, Insteon } from '../../Devices/index.js';
|
|
6
6
|
|
|
7
7
|
import { ClusterBehavior, MutableEndpoint, SupportedBehaviors } from '@matter/main';
|
|
8
8
|
import type { OnOffLightDevice } from '@matter/main/devices';
|
|
9
9
|
import { BridgedDeviceBasicInformationBehavior } from '@matter/node/behaviors';
|
|
10
10
|
import type { DeviceTypeDefinition } from '@project-chip/matter.js/device';
|
|
11
|
-
import { Family } from '
|
|
12
|
-
import { NodeFactory } from '
|
|
13
|
-
import { CommandsOf, DriversOf, ISYNode } from '
|
|
14
|
-
import { ISYBridgedDeviceBehavior } from '../
|
|
15
|
-
import { ISYOnOffBehavior } from '../
|
|
16
|
-
import type { PickOfType, Remove } from '
|
|
17
|
-
import { ClusterType } from '
|
|
11
|
+
import { Family } from '../../Definitions/index.js';
|
|
12
|
+
import { NodeFactory } from '../../Devices/NodeFactory.js';
|
|
13
|
+
import { CommandsOf, DriversOf, ISYNode } from '../../ISYNode.js';
|
|
14
|
+
import { ISYBridgedDeviceBehavior } from '../Behaviors/ISYBridgedDeviceBehavior.js';
|
|
15
|
+
import { ISYOnOffBehavior } from '../Behaviors/Insteon/ISYOnOffBehavior.js';
|
|
16
|
+
import type { PathsWithLimit, PickOfType, Remove } from '../../Utils.js';
|
|
17
|
+
import { ClusterType } from '../../Model/ClusterType.js';
|
|
18
|
+
import type { Constructor } from '../../Devices/Constructor.js';
|
|
18
19
|
|
|
19
20
|
// #region Type aliases (16)
|
|
20
21
|
|
|
@@ -117,9 +118,20 @@ export type EndpointMapping1<A extends MutableEndpoint, K> = {
|
|
|
117
118
|
commands?: SBCommandMapping<A['behaviors'], K>;
|
|
118
119
|
};
|
|
119
120
|
//@ts-ignore
|
|
120
|
-
|
|
121
|
+
|
|
122
|
+
type SupportedFamily = Family.Insteon | Family.ZWave | Family.ZigBee;
|
|
123
|
+
export type FamilyToClusterMap<T extends SupportedFamily> = { Family: T } & {
|
|
121
124
|
[Type in Extract<keyof Devices.Insteon, `${string}Node`> as Remove<Type, 'Node'>]?: DeviceToClusterMap<InstanceType<Devices.Insteon[Type]>, MutableEndpoint>;
|
|
122
125
|
};
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
export function add<const F extends SupportedFamily, const T extends ISYNode<F>, const D extends MutableEndpoint> (familyToClusterMap: FamilyToClusterMap<F>, deviceClass: Constructor<T>, mapping: DeviceToClusterMap<T, D> )
|
|
129
|
+
{
|
|
130
|
+
const map = {};
|
|
131
|
+
map[deviceClass.name] = mapping;
|
|
132
|
+
|
|
133
|
+
return {...map,...familyToClusterMap};
|
|
134
|
+
}
|
|
123
135
|
export type SBAttributeMapping<SB extends SupportedBehaviors, D> = {
|
|
124
136
|
[K in keyof SB]: Partial<Record<any, DriversOf<D> | { driver: DriversOf<D>; converter?: string }>>;
|
|
125
137
|
};
|
|
@@ -149,7 +161,7 @@ export class MappingRegistry {
|
|
|
149
161
|
|
|
150
162
|
// #region Public Static Methods (3)
|
|
151
163
|
|
|
152
|
-
public static getMapping<T extends ISYNode
|
|
164
|
+
public static getMapping<const T extends ISYNode>(device: T): DeviceToClusterMap<T, MutableEndpoint> {
|
|
153
165
|
let m = this.cache[device.address];
|
|
154
166
|
if (!m) {
|
|
155
167
|
if (MappingRegistry.map.has(device.family)) {
|
|
@@ -180,7 +192,7 @@ export class MappingRegistry {
|
|
|
180
192
|
return m;
|
|
181
193
|
}
|
|
182
194
|
|
|
183
|
-
public static getMappingForBehavior<T extends ISYNode<any, any, any, any>, B extends ClusterBehavior>(device: T, behavior: B): BehaviorMapping<B, T> {
|
|
195
|
+
public static getMappingForBehavior<T extends ISYNode<any, any, any, any>, const B extends ClusterBehavior>(device: T, behavior: B): BehaviorMapping<B, T> {
|
|
184
196
|
//var m = MappingRegistry.getMapping(device);
|
|
185
197
|
|
|
186
198
|
//return m[behavior.cluster.name];
|
|
@@ -189,7 +201,7 @@ export class MappingRegistry {
|
|
|
189
201
|
}
|
|
190
202
|
}
|
|
191
203
|
//@ts-ignore
|
|
192
|
-
public static register(map: Partial<FamilyToClusterMap<
|
|
204
|
+
public static register<const T extends Family.Insteon | Family.ZWave | Family.ZigBee>(map: Partial<FamilyToClusterMap<T>> | { [x in PathsWithLimit<typeof Devices,1>]: DeviceToClusterMap<any, any> }) {
|
|
193
205
|
if ('Family' in map) {
|
|
194
206
|
let regMap: Map<string, DeviceToClusterMap<any, any>>;
|
|
195
207
|
if (!MappingRegistry.map.has(map.Family)) {
|
|
@@ -136,6 +136,8 @@ function buildNodeClassDefinitions<T extends Family>(nodeDefs: NodeDef[], family
|
|
|
136
136
|
return map;
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
+
export type NCD = NodeClassDefinition<Family>;
|
|
140
|
+
|
|
139
141
|
export class NodeClassDefinition<T extends Family> {
|
|
140
142
|
// #region Properties (11)
|
|
141
143
|
|
|
@@ -370,15 +372,17 @@ export class NodeClassDefinition<T extends Family> {
|
|
|
370
372
|
}
|
|
371
373
|
|
|
372
374
|
export type DataTypeDefinition =
|
|
373
|
-
|
|
375
|
+
{
|
|
374
376
|
uom: UnitOfMeasure;
|
|
375
377
|
serverUom?: UnitOfMeasure;
|
|
376
378
|
enum: false;
|
|
379
|
+
indexId?: string;
|
|
377
380
|
min: number;
|
|
378
381
|
max: number;
|
|
379
382
|
step?: number;
|
|
380
383
|
precision?: number;
|
|
381
|
-
|
|
384
|
+
returnType?: string;
|
|
385
|
+
}
|
|
382
386
|
| {
|
|
383
387
|
uom: UnitOfMeasure;
|
|
384
388
|
enum: true;
|
|
@@ -386,15 +390,15 @@ export type DataTypeDefinition =
|
|
|
386
390
|
values: {
|
|
387
391
|
[x: number]: string;
|
|
388
392
|
};
|
|
393
|
+
returnType?: string;
|
|
389
394
|
};
|
|
390
395
|
|
|
391
396
|
export abstract class NodeMemberDefinition<TId extends string> {
|
|
392
397
|
// #region Properties (7)
|
|
393
398
|
|
|
394
399
|
public classDef: NodeClassDefinition<any>;
|
|
395
|
-
public dataType:
|
|
396
|
-
|
|
397
|
-
};
|
|
400
|
+
public dataType: DataTypeDefinition[];
|
|
401
|
+
|
|
398
402
|
public editorId: string;
|
|
399
403
|
public hidden: boolean;
|
|
400
404
|
public id: TId;
|
|
@@ -409,7 +413,7 @@ export abstract class NodeMemberDefinition<TId extends string> {
|
|
|
409
413
|
this.classDef = classDef;
|
|
410
414
|
if (def) {
|
|
411
415
|
this.editorId = def.editor;
|
|
412
|
-
this.dataType =
|
|
416
|
+
this.dataType = [];
|
|
413
417
|
|
|
414
418
|
var r = this.parseEditorId(def.editor);
|
|
415
419
|
if (r) this.applyEditorDef({ id: def.editor, range: r });
|
|
@@ -430,12 +434,13 @@ export abstract class NodeMemberDefinition<TId extends string> {
|
|
|
430
434
|
|
|
431
435
|
public applyEditorDef(e: EditorDef) {
|
|
432
436
|
if (e.id === this.editorId) {
|
|
433
|
-
var d =
|
|
437
|
+
var d = [];
|
|
434
438
|
for (const rangeDef of toArray(e.range)) {
|
|
439
|
+
let dt = {} as DataTypeDefinition;
|
|
435
440
|
if ('subset' in rangeDef) {
|
|
436
|
-
|
|
441
|
+
dt = { uom: rangeDef.uom, indexId: rangeDef.nls, ...this.#parseSubset(e) };
|
|
437
442
|
} else {
|
|
438
|
-
|
|
443
|
+
dt = {
|
|
439
444
|
uom: rangeDef.uom,
|
|
440
445
|
enum: false,
|
|
441
446
|
min: rangeDef.min,
|
|
@@ -448,8 +453,9 @@ export abstract class NodeMemberDefinition<TId extends string> {
|
|
|
448
453
|
}
|
|
449
454
|
if(rangeDef.uom === UnitOfMeasure.Index)
|
|
450
455
|
{
|
|
451
|
-
|
|
456
|
+
dt.enum = true;
|
|
452
457
|
}
|
|
458
|
+
d.push(dt);
|
|
453
459
|
|
|
454
460
|
}
|
|
455
461
|
this.dataType = d;
|
package/src/Utils.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NodeFactory.js","sourceRoot":"","sources":["../../../src/CodeGeneration/NodeFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterMap.js","sourceRoot":"","sources":["../../../src/Model/ClusterMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import * as Clusters from '@project-chip/matter.js/cluster';
|
|
2
|
-
import type { Converter } from '../Converters.js';
|
|
3
|
-
import { Devices } from '../Devices/index.js';
|
|
4
|
-
import { ClusterBehavior, MutableEndpoint, SupportedBehaviors } from '@matter/main';
|
|
5
|
-
import { Family } from '../Definitions/index.js';
|
|
6
|
-
import { CommandsOf, DriversOf, ISYNode } from '../ISYNode.js';
|
|
7
|
-
import type { PickOfType, Remove } from '../Utils.js';
|
|
8
|
-
export type AttributeMapping<B, D> = B extends {
|
|
9
|
-
cluster: {
|
|
10
|
-
attributes: infer E extends {
|
|
11
|
-
[K in string]: Clusters.ClusterType.Attribute;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
} ? Partial<Record<keyof E, keyof DriversOf<D> | {
|
|
15
|
-
driver: keyof DriversOf<D>;
|
|
16
|
-
converter?: Converter.KnownConverters;
|
|
17
|
-
}>> : never;
|
|
18
|
-
export type BehaviorMapping<B extends {
|
|
19
|
-
cluster?: any;
|
|
20
|
-
}, T extends ISYNode<any, any, any, any>> = {
|
|
21
|
-
attributes?: AttributeMapping<B, T>;
|
|
22
|
-
commands?: CommandMapping<B, T>;
|
|
23
|
-
};
|
|
24
|
-
export type ClusterAttributeMapping<A, K> = {
|
|
25
|
-
[key in keyof Clusters.ClusterType.AttributesOf<A>]?: {
|
|
26
|
-
driver: Extract<keyof DriversOf<K>, string>;
|
|
27
|
-
converter?: (value: any) => any;
|
|
28
|
-
} | Extract<keyof DriversOf<K>, string>;
|
|
29
|
-
};
|
|
30
|
-
export type ClusterCommandMapping<A, K> = {
|
|
31
|
-
[key in keyof Clusters.ClusterType.CommandsOf<A>]?: {
|
|
32
|
-
command: keyof CommandsOf<K>;
|
|
33
|
-
parameters?: parameterMapping;
|
|
34
|
-
} | keyof CommandsOf<K>;
|
|
35
|
-
};
|
|
36
|
-
export type ClusterMapping<A, K> = {
|
|
37
|
-
attributes: ClusterAttributeMapping<A, K>;
|
|
38
|
-
commands: ClusterCommandMapping<A, K>;
|
|
39
|
-
};
|
|
40
|
-
export type CommandMapping<B, D> = B extends ({
|
|
41
|
-
cluster: {
|
|
42
|
-
commands: infer E extends {
|
|
43
|
-
[K in string]: Clusters.ClusterType.Command;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
}) ? Partial<Record<keyof E, keyof CommandsOf<D> | {
|
|
47
|
-
command: keyof CommandsOf<D>;
|
|
48
|
-
parameters?: parameterMapping;
|
|
49
|
-
}>> : never;
|
|
50
|
-
export type DeviceToClusterMap<T extends ISYNode<Family, any, any, any>, D extends MutableEndpoint> = {
|
|
51
|
-
deviceType: D;
|
|
52
|
-
mapping: EndpointMapping<D, T>;
|
|
53
|
-
};
|
|
54
|
-
export type EndpointMapping<A extends MutableEndpoint, D extends ISYNode<Family, any, any, any>> = {
|
|
55
|
-
[K in StringKeys<PickOfType<A['behaviors'], ClusterBehavior>> as Capitalize<K>]?: A['behaviors'][K] extends ClusterBehavior ? BehaviorMapping<A['behaviors'][K], D> : undefined;
|
|
56
|
-
};
|
|
57
|
-
export type EndpointMapping1<A extends MutableEndpoint, K> = {
|
|
58
|
-
attributes?: SBAttributeMapping<A['behaviors'], K>;
|
|
59
|
-
commands?: SBCommandMapping<A['behaviors'], K>;
|
|
60
|
-
};
|
|
61
|
-
export type FamilyToClusterMap<T extends Family.Insteon | Family.ZWave | Family.ZigBee> = {
|
|
62
|
-
Family: T;
|
|
63
|
-
} & {
|
|
64
|
-
[Type in Extract<keyof Devices.Insteon, `${string}Node`> as Remove<Type, 'Node'>]?: DeviceToClusterMap<InstanceType<Devices.Insteon[Type]>, MutableEndpoint>;
|
|
65
|
-
};
|
|
66
|
-
export type SBAttributeMapping<SB extends SupportedBehaviors, D> = {
|
|
67
|
-
[K in keyof SB]: Partial<Record<any, DriversOf<D> | {
|
|
68
|
-
driver: DriversOf<D>;
|
|
69
|
-
converter?: string;
|
|
70
|
-
}>>;
|
|
71
|
-
};
|
|
72
|
-
export type SBCommandMapping<SB extends SupportedBehaviors, D> = {
|
|
73
|
-
[K in Capitalize<keyof SB>]?: SB[Uncapitalize<K>] extends {
|
|
74
|
-
cluster: {
|
|
75
|
-
commands: any;
|
|
76
|
-
};
|
|
77
|
-
} ? Partial<Record<string, CommandsOf<D> | {
|
|
78
|
-
driver: DriversOf<D>;
|
|
79
|
-
converter?: string;
|
|
80
|
-
}>> : never;
|
|
81
|
-
};
|
|
82
|
-
type StringKeys<T> = Extract<keyof T, string>;
|
|
83
|
-
export type parameterMapping = {
|
|
84
|
-
[key: string]: {
|
|
85
|
-
parameter: string;
|
|
86
|
-
converter?: string;
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
export declare class MappingRegistry {
|
|
90
|
-
static map: Map<Family, Map<string, DeviceToClusterMap<ISYNode, MutableEndpoint>>>;
|
|
91
|
-
static cache: {
|
|
92
|
-
[x: string]: DeviceToClusterMap<ISYNode, MutableEndpoint>;
|
|
93
|
-
};
|
|
94
|
-
static getMapping<T extends ISYNode<any, any, any, any>>(device: T): DeviceToClusterMap<T, MutableEndpoint>;
|
|
95
|
-
static getMappingForBehavior<T extends ISYNode<any, any, any, any>, B extends ClusterBehavior>(device: T, behavior: B): BehaviorMapping<B, T>;
|
|
96
|
-
static register(map: Partial<FamilyToClusterMap<any>> | {
|
|
97
|
-
[x in Paths<typeof Devices>]: DeviceToClusterMap<any, any>;
|
|
98
|
-
}): void;
|
|
99
|
-
}
|
|
100
|
-
export {};
|
|
101
|
-
//# sourceMappingURL=ClusterMap.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterMap.d.ts","sourceRoot":"","sources":["../../../../src/Model/ClusterMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAW,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIpF,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAChC,CAAC,SAAS;IAAE,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,SAAS;aAAG,CAAC,IAAI,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS;SAAE,CAAA;KAAE,CAAA;CAAE,GACvG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAC,eAAe,CAAA;CAAE,CAAC,CAAC,GACnH,KAAK,CAAC;AACT,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS;IAAE,OAAO,CAAC,MAAA;CAAE,EAAE,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI;IAC5F,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI;KAC1C,GAAG,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;CAC5K,CAAC;AAMF,MAAM,MAAM,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAAI;KACxC,GAAG,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;KAAE,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC;CACzI,CAAC;AAOF,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI;IAClC,UAAU,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,QAAQ,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACtC,CAAC;AACF,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,IAC9B,CAAC,SAAS,CACT;IACC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC,SAAS;aAAG,CAAC,IAAI,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO;SAAE,CAAA;KAAE,CAAC;CACvF,CACD,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC,GAC9G,KAAK,CAAC;AAkCT,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,eAAe,IAAI;IACrG,UAAU,EAAE,CAAC,CAAC;IACd,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI;KACjG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;CAI/K,CAAC;AAeF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC,IAAI;IAC5D,UAAU,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAAG;KACxG,IAAI,IAAI,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC;CAC5J,CAAC;AACF,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC,IAAI;KACjE,CAAC,IAAI,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClG,CAAC;AACF,MAAM,MAAM,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC,IAAI;KAE/D,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,OAAO,EAAE;YAAE,QAAQ,MAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,GAAG,KAAK;CACnL,CAAC;AACF,KAAK,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAG9C,MAAM,MAAM,gBAAgB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD,CAAC;AAMF,qBAAa,eAAe;IAG3B,OAAc,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAa;IAEtG,OAAc,KAAK,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;KAAE,CAAM;WAM1E,UAAU,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,eAAe,CAAC;WA+BpG,qBAAqB,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;WAStI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG;SAAG,CAAC,IAAI,KAAK,CAAC,OAAO,OAAO,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC;KAAE;CAyC7H"}
|