@zwave-js/cc 15.20.1 → 15.21.1
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/build/cjs/cc/AlarmSensorCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/AlarmSensorCC.d.ts +4 -131
- package/build/cjs/cc/AlarmSensorCC.js +1 -2
- package/build/cjs/cc/AlarmSensorCC.js.map +3 -3
- package/build/cjs/cc/ApplicationStatusCC.d.ts +1 -1
- package/build/cjs/cc/ApplicationStatusCC.js.map +3 -3
- package/build/cjs/cc/AssociationCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/AssociationCC.d.ts +3 -109
- package/build/cjs/cc/AssociationCC.js +0 -1
- package/build/cjs/cc/AssociationCC.js.map +3 -3
- package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/AssociationGroupInfoCC.d.ts +3 -112
- package/build/cjs/cc/AssociationGroupInfoCC.js +0 -1
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +3 -3
- package/build/cjs/cc/BarrierOperatorCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/BarrierOperatorCC.d.ts +4 -148
- package/build/cjs/cc/BarrierOperatorCC.js +1 -2
- package/build/cjs/cc/BarrierOperatorCC.js.map +3 -3
- package/build/cjs/cc/BasicCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/BasicCC.d.ts +4 -143
- package/build/cjs/cc/BasicCC.js +0 -1
- package/build/cjs/cc/BasicCC.js.map +3 -3
- package/build/cjs/cc/BasicWindowCoveringCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/BasicWindowCoveringCC.d.ts +3 -63
- package/build/cjs/cc/BasicWindowCoveringCC.js +2 -3
- package/build/cjs/cc/BasicWindowCoveringCC.js.map +3 -3
- package/build/cjs/cc/BatteryCC.d.ts +4 -305
- package/build/cjs/cc/BatteryCC.js +39 -15
- package/build/cjs/cc/BatteryCC.js.map +3 -3
- package/build/cjs/cc/BinarySensorCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/BinarySensorCC.d.ts +4 -59
- package/build/cjs/cc/BinarySensorCC.js +12 -3
- package/build/cjs/cc/BinarySensorCC.js.map +3 -3
- package/build/cjs/cc/BinarySwitchCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/BinarySwitchCC.d.ts +4 -83
- package/build/cjs/cc/BinarySwitchCC.js +0 -1
- package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
- package/build/cjs/cc/CRC16CC.d.ts +1 -1
- package/build/cjs/cc/CRC16CC.js.map +3 -3
- package/build/cjs/cc/CentralSceneCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/CentralSceneCC.d.ts +3 -136
- package/build/cjs/cc/CentralSceneCC.js +0 -1
- package/build/cjs/cc/CentralSceneCC.js.map +3 -3
- package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ClimateControlScheduleCC.d.ts +4 -87
- package/build/cjs/cc/ClimateControlScheduleCC.js +3 -4
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +3 -3
- package/build/cjs/cc/ClockCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ClockCC.d.ts +1 -1
- package/build/cjs/cc/ClockCC.js +1 -1
- package/build/cjs/cc/ClockCC.js.map +3 -3
- package/build/cjs/cc/ColorSwitchCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ColorSwitchCC.d.ts +4 -227
- package/build/cjs/cc/ColorSwitchCC.js +3 -3
- package/build/cjs/cc/ColorSwitchCC.js.map +3 -3
- package/build/cjs/cc/ConfigurationCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ConfigurationCC.d.ts +9 -60
- package/build/cjs/cc/ConfigurationCC.js +71 -59
- package/build/cjs/cc/ConfigurationCC.js.map +3 -3
- package/build/cjs/cc/DeviceResetLocallyCC.d.ts +1 -1
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +3 -3
- package/build/cjs/cc/DoorLockCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/DoorLockCC.d.ts +4 -688
- package/build/cjs/cc/DoorLockCC.js +1 -2
- package/build/cjs/cc/DoorLockCC.js.map +3 -3
- package/build/cjs/cc/DoorLockLoggingCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/DoorLockLoggingCC.d.ts +4 -29
- package/build/cjs/cc/DoorLockLoggingCC.js +0 -1
- package/build/cjs/cc/DoorLockLoggingCC.js.map +3 -3
- package/build/cjs/cc/EnergyProductionCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/EnergyProductionCC.d.ts +4 -33
- package/build/cjs/cc/EnergyProductionCC.js +1 -2
- package/build/cjs/cc/EnergyProductionCC.js.map +3 -3
- package/build/cjs/cc/EntryControlCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/EntryControlCC.d.ts +3 -137
- package/build/cjs/cc/EntryControlCC.js +0 -1
- package/build/cjs/cc/EntryControlCC.js.map +3 -3
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +4 -154
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +0 -1
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +3 -3
- package/build/cjs/cc/HailCC.js.map +3 -3
- package/build/cjs/cc/HumidityControlModeCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/HumidityControlModeCC.d.ts +4 -58
- package/build/cjs/cc/HumidityControlModeCC.js +1 -2
- package/build/cjs/cc/HumidityControlModeCC.js.map +3 -3
- package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +4 -33
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +0 -1
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +3 -3
- package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/HumidityControlSetpointCC.d.ts +4 -92
- package/build/cjs/cc/HumidityControlSetpointCC.js +0 -1
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +3 -3
- package/build/cjs/cc/InclusionControllerCC.d.ts +1 -1
- package/build/cjs/cc/InclusionControllerCC.js.map +3 -3
- package/build/cjs/cc/IndicatorCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/IndicatorCC.d.ts +4 -207
- package/build/cjs/cc/IndicatorCC.js +0 -1
- package/build/cjs/cc/IndicatorCC.js.map +3 -3
- package/build/cjs/cc/IrrigationCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/IrrigationCC.d.ts +4 -1186
- package/build/cjs/cc/IrrigationCC.js +1 -3
- package/build/cjs/cc/IrrigationCC.js.map +3 -3
- package/build/cjs/cc/LanguageCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/LanguageCC.d.ts +4 -56
- package/build/cjs/cc/LanguageCC.js +0 -1
- package/build/cjs/cc/LanguageCC.js.map +3 -3
- package/build/cjs/cc/LockCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/LockCC.d.ts +4 -31
- package/build/cjs/cc/LockCC.js +0 -1
- package/build/cjs/cc/LockCC.js.map +3 -3
- package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +1 -1
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +3 -3
- package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC.d.ts +3 -116
- package/build/cjs/cc/ManufacturerSpecificCC.js +0 -1
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +3 -3
- package/build/cjs/cc/MeterCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/MeterCC.d.ts +4 -203
- package/build/cjs/cc/MeterCC.js +0 -2
- package/build/cjs/cc/MeterCC.js.map +3 -3
- package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/MultiChannelAssociationCC.d.ts +3 -112
- package/build/cjs/cc/MultiChannelAssociationCC.js +0 -1
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +3 -3
- package/build/cjs/cc/MultiChannelCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/MultiChannelCC.d.ts +3 -207
- package/build/cjs/cc/MultiChannelCC.js +0 -1
- package/build/cjs/cc/MultiChannelCC.js.map +3 -3
- package/build/cjs/cc/MultiCommandCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/MultiCommandCC.d.ts +1 -1
- package/build/cjs/cc/MultiCommandCC.js.map +3 -3
- package/build/cjs/cc/MultilevelSensorCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/MultilevelSensorCC.d.ts +4 -84
- package/build/cjs/cc/MultilevelSensorCC.js +0 -1
- package/build/cjs/cc/MultilevelSensorCC.js.map +3 -3
- package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/MultilevelSwitchCC.d.ts +5 -264
- package/build/cjs/cc/MultilevelSwitchCC.js +34 -1
- package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
- package/build/cjs/cc/NoOperationCC.js.map +3 -3
- package/build/cjs/cc/NodeNamingCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/NodeNamingCC.d.ts +8 -58
- package/build/cjs/cc/NodeNamingCC.js +48 -25
- package/build/cjs/cc/NodeNamingCC.js.map +3 -3
- package/build/cjs/cc/NotificationCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/NotificationCC.d.ts +5 -357
- package/build/cjs/cc/NotificationCC.js +2 -2
- package/build/cjs/cc/NotificationCC.js.map +3 -3
- package/build/cjs/cc/PowerlevelCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/PowerlevelCC.d.ts +1 -1
- package/build/cjs/cc/PowerlevelCC.js +2 -2
- package/build/cjs/cc/PowerlevelCC.js.map +3 -3
- package/build/cjs/cc/ProtectionCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ProtectionCC.d.ts +4 -212
- package/build/cjs/cc/ProtectionCC.js +1 -2
- package/build/cjs/cc/ProtectionCC.js.map +3 -3
- package/build/cjs/cc/SceneActivationCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/SceneActivationCC.d.ts +4 -59
- package/build/cjs/cc/SceneActivationCC.js +0 -1
- package/build/cjs/cc/SceneActivationCC.js.map +3 -3
- package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +4 -65
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +0 -1
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +3 -3
- package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +3 -64
- package/build/cjs/cc/SceneControllerConfigurationCC.js +0 -1
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +3 -3
- package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ScheduleEntryLockCC.d.ts +4 -163
- package/build/cjs/cc/ScheduleEntryLockCC.js +0 -1
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +3 -3
- package/build/cjs/cc/Security2CC.d.ts +1 -1
- package/build/cjs/cc/Security2CC.js.map +3 -3
- package/build/cjs/cc/SecurityCC.d.ts +4 -2
- package/build/cjs/cc/SecurityCC.js.map +3 -3
- package/build/cjs/cc/SoundSwitchCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/SoundSwitchCC.d.ts +4 -123
- package/build/cjs/cc/SoundSwitchCC.js +6 -2
- package/build/cjs/cc/SoundSwitchCC.js.map +3 -3
- package/build/cjs/cc/SupervisionCC.d.ts +3 -31
- package/build/cjs/cc/SupervisionCC.js +4 -2
- package/build/cjs/cc/SupervisionCC.js.map +3 -3
- package/build/cjs/cc/ThermostatFanModeCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ThermostatFanModeCC.d.ts +4 -84
- package/build/cjs/cc/ThermostatFanModeCC.js +1 -2
- package/build/cjs/cc/ThermostatFanModeCC.js.map +3 -3
- package/build/cjs/cc/ThermostatFanStateCC.d.ts +4 -33
- package/build/cjs/cc/ThermostatFanStateCC.js +0 -1
- package/build/cjs/cc/ThermostatFanStateCC.js.map +3 -3
- package/build/cjs/cc/ThermostatModeCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ThermostatModeCC.d.ts +4 -84
- package/build/cjs/cc/ThermostatModeCC.js +1 -2
- package/build/cjs/cc/ThermostatModeCC.js.map +3 -3
- package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +4 -33
- package/build/cjs/cc/ThermostatOperatingStateCC.js +0 -1
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +3 -3
- package/build/cjs/cc/ThermostatSetbackCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ThermostatSetbackCC.d.ts +1 -1
- package/build/cjs/cc/ThermostatSetbackCC.js.map +3 -3
- package/build/cjs/cc/ThermostatSetpointCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +5 -90
- package/build/cjs/cc/ThermostatSetpointCC.js +0 -1
- package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
- package/build/cjs/cc/TimeCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/TimeCC.d.ts +2 -2
- package/build/cjs/cc/TimeCC.js.map +3 -3
- package/build/cjs/cc/TimeParametersCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/TimeParametersCC.d.ts +4 -30
- package/build/cjs/cc/TimeParametersCC.js +0 -1
- package/build/cjs/cc/TimeParametersCC.js.map +3 -3
- package/build/cjs/cc/TransportServiceCC.d.ts +1 -1
- package/build/cjs/cc/TransportServiceCC.js.map +3 -3
- package/build/cjs/cc/UserCodeCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/UserCodeCC.d.ts +4 -415
- package/build/cjs/cc/UserCodeCC.js +1 -2
- package/build/cjs/cc/UserCodeCC.js.map +3 -3
- package/build/cjs/cc/VersionCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/VersionCC.d.ts +3 -367
- package/build/cjs/cc/VersionCC.js +0 -1
- package/build/cjs/cc/VersionCC.js.map +3 -3
- package/build/cjs/cc/WakeUpCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/WakeUpCC.d.ts +4 -83
- package/build/cjs/cc/WakeUpCC.js +11 -4
- package/build/cjs/cc/WakeUpCC.js.map +3 -3
- package/build/cjs/cc/WindowCoveringCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/WindowCoveringCC.d.ts +4 -207
- package/build/cjs/cc/WindowCoveringCC.js +3 -5
- package/build/cjs/cc/WindowCoveringCC.js.map +3 -3
- package/build/cjs/cc/ZWaveLongRangeCC.js.map +3 -3
- package/build/cjs/cc/ZWavePlusCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ZWavePlusCC.d.ts +4 -129
- package/build/cjs/cc/ZWavePlusCC.js +0 -1
- package/build/cjs/cc/ZWavePlusCC.js.map +3 -3
- package/build/cjs/cc/ZWaveProtocolCC.d.ts +1 -1
- package/build/cjs/cc/ZWaveProtocolCC.js.map +3 -3
- package/build/cjs/cc/_CCValues.generated.js.map +1 -1
- package/build/cjs/cc/index.js.map +1 -1
- package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +1 -1
- package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +1 -1
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +3 -3
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index_browser.js.map +1 -1
- package/build/cjs/index_safe.js.map +1 -1
- package/build/cjs/lib/API.d.ts +3 -135
- package/build/cjs/lib/API.js.map +3 -3
- package/build/cjs/lib/CCValueUtils.js.map +1 -1
- package/build/cjs/lib/CommandClass.d.ts +1 -1
- package/build/cjs/lib/CommandClass.js.map +3 -3
- package/build/cjs/lib/CommandClassDecorators.js.map +1 -1
- package/build/cjs/lib/EncapsulatingCommandClass.js.map +1 -1
- package/build/cjs/lib/NotificationEventPayload.js.map +1 -1
- package/build/cjs/lib/Security2/Extension.js.map +1 -1
- package/build/cjs/lib/Security2/shared.js.map +1 -1
- package/build/cjs/lib/SetValueResult.js.map +1 -1
- package/build/cjs/lib/Values.js.map +1 -1
- package/build/cjs/lib/_CCAPI.generated.d.ts +136 -0
- package/build/cjs/lib/_CCAPI.generated.js +17 -0
- package/build/cjs/lib/_CCAPI.generated.js.map +7 -0
- package/build/cjs/lib/_Types.js.map +1 -1
- package/build/cjs/lib/serializers.js.map +1 -1
- package/build/cjs/lib/utils.js.map +1 -1
- package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC._validateArgs.js.map +1 -1
- package/build/esm/cc/AlarmSensorCC.d.ts +4 -131
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +2 -3
- package/build/esm/cc/AlarmSensorCC.js.map +1 -1
- package/build/esm/cc/ApplicationStatusCC.d.ts +1 -1
- package/build/esm/cc/ApplicationStatusCC.d.ts.map +1 -1
- package/build/esm/cc/ApplicationStatusCC.js.map +1 -1
- package/build/esm/cc/AssociationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/AssociationCC.d.ts +3 -109
- package/build/esm/cc/AssociationCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.js +0 -1
- package/build/esm/cc/AssociationCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.d.ts +3 -112
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.js +12 -13
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC._validateArgs.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.d.ts +4 -148
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.js +2 -3
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BasicCC._validateArgs.js.map +1 -1
- package/build/esm/cc/BasicCC.d.ts +4 -143
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +1 -2
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC._validateArgs.js.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC.d.ts +3 -63
- package/build/esm/cc/BasicWindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC.js +5 -6
- package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts +4 -305
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +67 -26
- package/build/esm/cc/BatteryCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC._validateArgs.js.map +1 -1
- package/build/esm/cc/BinarySensorCC.d.ts +4 -59
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.js +24 -4
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts +4 -83
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +1 -2
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CRC16CC.d.ts +1 -1
- package/build/esm/cc/CRC16CC.d.ts.map +1 -1
- package/build/esm/cc/CRC16CC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC._validateArgs.js.map +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts +3 -136
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.js +5 -6
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.d.ts +4 -87
- package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.js +4 -5
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/esm/cc/ClockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ClockCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ClockCC.d.ts +1 -1
- package/build/esm/cc/ClockCC.d.ts.map +1 -1
- package/build/esm/cc/ClockCC.js +1 -1
- package/build/esm/cc/ClockCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC.d.ts +4 -227
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.js +8 -8
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ConfigurationCC.d.ts +9 -60
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +94 -76
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC._validateArgs.js.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts +4 -688
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.js +14 -15
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.d.ts +4 -29
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.js +0 -1
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC._validateArgs.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC.d.ts +4 -33
- package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.js +2 -3
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC._validateArgs.js.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts +3 -137
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +1 -2
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +4 -154
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +0 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HailCC.d.ts.map +1 -1
- package/build/esm/cc/HailCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC._validateArgs.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.d.ts +4 -58
- package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.js +2 -3
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +4 -33
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js +1 -2
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts +4 -92
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +1 -2
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/InclusionControllerCC.d.ts +1 -1
- package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
- package/build/esm/cc/InclusionControllerCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC._validateArgs.js.map +1 -1
- package/build/esm/cc/IndicatorCC.d.ts +4 -207
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.js +0 -1
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/IrrigationCC.d.ts +4 -1186
- package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.js +6 -8
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC._validateArgs.js.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts +4 -56
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +1 -2
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/LockCC._validateArgs.js.map +1 -1
- package/build/esm/cc/LockCC.d.ts +4 -31
- package/build/esm/cc/LockCC.d.ts.map +1 -1
- package/build/esm/cc/LockCC.js +1 -2
- package/build/esm/cc/LockCC.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts +3 -116
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +1 -2
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MeterCC._validateArgs.js.map +1 -1
- package/build/esm/cc/MeterCC.d.ts +4 -203
- package/build/esm/cc/MeterCC.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.js +17 -19
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.d.ts +3 -112
- package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.js +4 -5
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC._validateArgs.js.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts +3 -207
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +9 -10
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultiCommandCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC._validateArgs.js.map +1 -1
- package/build/esm/cc/MultiCommandCC.d.ts +1 -1
- package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC._validateArgs.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.d.ts +4 -84
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.js +1 -2
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts +5 -264
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +44 -6
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NoOperationCC.d.ts.map +1 -1
- package/build/esm/cc/NoOperationCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC._validateArgs.js.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts +8 -58
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +49 -38
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts +5 -357
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +9 -9
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC._validateArgs.js.map +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.js +2 -2
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts +4 -212
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.js +2 -3
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SceneActivationCC.d.ts +4 -59
- package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.js +1 -2
- package/build/esm/cc/SceneActivationCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +4 -65
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.js +2 -3
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts +3 -64
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +1 -2
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts +4 -163
- package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.js +0 -1
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts +1 -1
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +2 -2
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts +4 -2
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +2 -2
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts +4 -123
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +7 -3
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/SupervisionCC.d.ts +3 -31
- package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
- package/build/esm/cc/SupervisionCC.js +9 -7
- package/build/esm/cc/SupervisionCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.d.ts +4 -84
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.js +4 -5
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.d.ts +4 -33
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.js +1 -2
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts +4 -84
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.js +2 -3
- package/build/esm/cc/ThermostatModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts +4 -33
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.js +1 -2
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.d.ts +1 -1
- package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts +5 -90
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +1 -2
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/TimeCC._validateArgs.js.map +1 -1
- package/build/esm/cc/TimeCC.d.ts +2 -2
- package/build/esm/cc/TimeCC.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC._validateArgs.js.map +1 -1
- package/build/esm/cc/TimeParametersCC.d.ts +4 -30
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.js +1 -2
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/TransportServiceCC.d.ts +1 -1
- package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
- package/build/esm/cc/TransportServiceCC.js +2 -2
- package/build/esm/cc/TransportServiceCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC._validateArgs.js.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts +4 -415
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.js +17 -18
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/VersionCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/VersionCC._validateArgs.js.map +1 -1
- package/build/esm/cc/VersionCC.d.ts +3 -367
- package/build/esm/cc/VersionCC.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.js +1 -2
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC._validateArgs.js.map +1 -1
- package/build/esm/cc/WakeUpCC.d.ts +4 -83
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.js +10 -3
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC._validateArgs.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts +4 -207
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +6 -8
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWaveLongRangeCC.d.ts.map +1 -1
- package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts +4 -129
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.js +0 -1
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.d.ts +1 -1
- package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js +4 -4
- package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
- package/build/esm/cc/_CCValues.generated.js.map +1 -1
- package/build/esm/cc/index.d.ts.map +1 -1
- package/build/esm/cc/index.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/Decorators.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/index_browser.d.ts.map +1 -1
- package/build/esm/index_browser.js.map +1 -1
- package/build/esm/index_safe.d.ts.map +1 -1
- package/build/esm/index_safe.js.map +1 -1
- package/build/esm/lib/API.d.ts +3 -135
- package/build/esm/lib/API.d.ts.map +1 -1
- package/build/esm/lib/API.js.map +1 -1
- package/build/esm/lib/CCValueUtils.d.ts.map +1 -1
- package/build/esm/lib/CCValueUtils.js.map +1 -1
- package/build/esm/lib/CommandClass.d.ts +1 -1
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js.map +1 -1
- package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
- package/build/esm/lib/CommandClassDecorators.js.map +1 -1
- package/build/esm/lib/EncapsulatingCommandClass.d.ts.map +1 -1
- package/build/esm/lib/EncapsulatingCommandClass.js.map +1 -1
- package/build/esm/lib/NotificationEventPayload.d.ts.map +1 -1
- package/build/esm/lib/NotificationEventPayload.js.map +1 -1
- package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
- package/build/esm/lib/Security2/Extension.js.map +1 -1
- package/build/esm/lib/Security2/shared.d.ts.map +1 -1
- package/build/esm/lib/Security2/shared.js.map +1 -1
- package/build/esm/lib/SetValueResult.d.ts.map +1 -1
- package/build/esm/lib/SetValueResult.js.map +1 -1
- package/build/esm/lib/Values.d.ts.map +1 -1
- package/build/esm/lib/Values.js.map +1 -1
- package/build/esm/lib/_CCAPI.generated.d.ts +136 -0
- package/build/esm/lib/_CCAPI.generated.d.ts.map +1 -0
- package/build/esm/lib/_CCAPI.generated.js +4 -0
- package/build/esm/lib/_CCAPI.generated.js.map +1 -0
- package/build/esm/lib/_Types.d.ts.map +1 -1
- package/build/esm/lib/_Types.js.map +1 -1
- package/build/esm/lib/serializers.d.ts.map +1 -1
- package/build/esm/lib/serializers.js.map +1 -1
- package/build/esm/lib/traits.d.ts.map +1 -1
- package/build/esm/lib/traits.js.map +1 -1
- package/build/esm/lib/utils.d.ts.map +1 -1
- package/build/esm/lib/utils.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,234 +1,11 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { CommandClasses, Duration, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, type ValueID, type WithAddress } from "@zwave-js/core";
|
|
1
|
+
import { Duration, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, type ValueID, type WithAddress } from "@zwave-js/core";
|
|
3
2
|
import { Bytes } from "@zwave-js/shared";
|
|
4
3
|
import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation } from "../lib/API.js";
|
|
5
4
|
import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext } from "../lib/CommandClass.js";
|
|
6
5
|
import { ColorComponent, ColorSwitchCommand, type ColorTable, LevelChangeDirection } from "../lib/_Types.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
11
|
-
readonly property: "supportedColorComponents";
|
|
12
|
-
};
|
|
13
|
-
endpoint: (endpoint?: number) => {
|
|
14
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
15
|
-
readonly endpoint: number;
|
|
16
|
-
readonly property: "supportedColorComponents";
|
|
17
|
-
};
|
|
18
|
-
is: (valueId: ValueID) => boolean;
|
|
19
|
-
readonly meta: Readonly<{
|
|
20
|
-
readonly type: "any";
|
|
21
|
-
readonly readable: true;
|
|
22
|
-
readonly writeable: true;
|
|
23
|
-
}>;
|
|
24
|
-
options: {
|
|
25
|
-
readonly internal: true;
|
|
26
|
-
readonly minVersion: 1;
|
|
27
|
-
readonly secret: false;
|
|
28
|
-
readonly stateful: true;
|
|
29
|
-
readonly supportsEndpoints: true;
|
|
30
|
-
readonly autoCreate: true;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
supportsHexColor: {
|
|
34
|
-
id: {
|
|
35
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
36
|
-
readonly property: "supportsHexColor";
|
|
37
|
-
};
|
|
38
|
-
endpoint: (endpoint?: number) => {
|
|
39
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
40
|
-
readonly endpoint: number;
|
|
41
|
-
readonly property: "supportsHexColor";
|
|
42
|
-
};
|
|
43
|
-
is: (valueId: ValueID) => boolean;
|
|
44
|
-
readonly meta: Readonly<{
|
|
45
|
-
readonly type: "any";
|
|
46
|
-
readonly readable: true;
|
|
47
|
-
readonly writeable: true;
|
|
48
|
-
}>;
|
|
49
|
-
options: {
|
|
50
|
-
readonly internal: true;
|
|
51
|
-
readonly minVersion: 1;
|
|
52
|
-
readonly secret: false;
|
|
53
|
-
readonly stateful: true;
|
|
54
|
-
readonly supportsEndpoints: true;
|
|
55
|
-
readonly autoCreate: true;
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
currentColor: {
|
|
59
|
-
id: {
|
|
60
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
61
|
-
readonly property: "currentColor";
|
|
62
|
-
};
|
|
63
|
-
endpoint: (endpoint?: number) => {
|
|
64
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
65
|
-
readonly endpoint: number;
|
|
66
|
-
readonly property: "currentColor";
|
|
67
|
-
};
|
|
68
|
-
is: (valueId: ValueID) => boolean;
|
|
69
|
-
readonly meta: {
|
|
70
|
-
readonly label: "Current color";
|
|
71
|
-
readonly writeable: false;
|
|
72
|
-
readonly type: "any";
|
|
73
|
-
readonly readable: true;
|
|
74
|
-
};
|
|
75
|
-
options: {
|
|
76
|
-
readonly internal: false;
|
|
77
|
-
readonly minVersion: 1;
|
|
78
|
-
readonly secret: false;
|
|
79
|
-
readonly stateful: true;
|
|
80
|
-
readonly supportsEndpoints: true;
|
|
81
|
-
readonly autoCreate: true;
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
targetColor: {
|
|
85
|
-
id: {
|
|
86
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
87
|
-
readonly property: "targetColor";
|
|
88
|
-
};
|
|
89
|
-
endpoint: (endpoint?: number) => {
|
|
90
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
91
|
-
readonly endpoint: number;
|
|
92
|
-
readonly property: "targetColor";
|
|
93
|
-
};
|
|
94
|
-
is: (valueId: ValueID) => boolean;
|
|
95
|
-
readonly meta: {
|
|
96
|
-
readonly label: "Target color";
|
|
97
|
-
readonly valueChangeOptions: readonly ["transitionDuration"];
|
|
98
|
-
readonly type: "any";
|
|
99
|
-
readonly readable: true;
|
|
100
|
-
readonly writeable: true;
|
|
101
|
-
};
|
|
102
|
-
options: {
|
|
103
|
-
readonly internal: false;
|
|
104
|
-
readonly minVersion: 1;
|
|
105
|
-
readonly secret: false;
|
|
106
|
-
readonly stateful: true;
|
|
107
|
-
readonly supportsEndpoints: true;
|
|
108
|
-
readonly autoCreate: true;
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
duration: {
|
|
112
|
-
id: {
|
|
113
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
114
|
-
readonly property: "duration";
|
|
115
|
-
};
|
|
116
|
-
endpoint: (endpoint?: number) => {
|
|
117
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
118
|
-
readonly endpoint: number;
|
|
119
|
-
readonly property: "duration";
|
|
120
|
-
};
|
|
121
|
-
is: (valueId: ValueID) => boolean;
|
|
122
|
-
readonly meta: {
|
|
123
|
-
readonly label: "Remaining duration";
|
|
124
|
-
readonly writeable: false;
|
|
125
|
-
readonly type: "duration";
|
|
126
|
-
readonly readable: true;
|
|
127
|
-
};
|
|
128
|
-
options: {
|
|
129
|
-
readonly internal: false;
|
|
130
|
-
readonly minVersion: 1;
|
|
131
|
-
readonly secret: false;
|
|
132
|
-
readonly stateful: true;
|
|
133
|
-
readonly supportsEndpoints: true;
|
|
134
|
-
readonly autoCreate: true;
|
|
135
|
-
};
|
|
136
|
-
};
|
|
137
|
-
hexColor: {
|
|
138
|
-
id: {
|
|
139
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
140
|
-
readonly property: "hexColor";
|
|
141
|
-
};
|
|
142
|
-
endpoint: (endpoint?: number) => {
|
|
143
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
144
|
-
readonly endpoint: number;
|
|
145
|
-
readonly property: "hexColor";
|
|
146
|
-
};
|
|
147
|
-
is: (valueId: ValueID) => boolean;
|
|
148
|
-
readonly meta: {
|
|
149
|
-
readonly minLength: 6;
|
|
150
|
-
readonly maxLength: 7;
|
|
151
|
-
readonly label: "RGB Color";
|
|
152
|
-
readonly valueChangeOptions: readonly ["transitionDuration"];
|
|
153
|
-
readonly type: "color";
|
|
154
|
-
readonly readable: true;
|
|
155
|
-
readonly writeable: true;
|
|
156
|
-
};
|
|
157
|
-
options: {
|
|
158
|
-
readonly internal: false;
|
|
159
|
-
readonly minVersion: 1;
|
|
160
|
-
readonly secret: false;
|
|
161
|
-
readonly stateful: true;
|
|
162
|
-
readonly supportsEndpoints: true;
|
|
163
|
-
readonly autoCreate: true;
|
|
164
|
-
};
|
|
165
|
-
};
|
|
166
|
-
currentColorChannel: ((component: ColorComponent) => {
|
|
167
|
-
id: {
|
|
168
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
169
|
-
readonly property: "currentColor";
|
|
170
|
-
readonly propertyKey: ColorComponent;
|
|
171
|
-
};
|
|
172
|
-
endpoint: (endpoint?: number) => {
|
|
173
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
174
|
-
readonly endpoint: number;
|
|
175
|
-
readonly property: "currentColor";
|
|
176
|
-
readonly propertyKey: ColorComponent;
|
|
177
|
-
};
|
|
178
|
-
readonly meta: {
|
|
179
|
-
readonly label: `Current value (${string})`;
|
|
180
|
-
readonly description: `The current value of the ${string} channel.`;
|
|
181
|
-
readonly writeable: false;
|
|
182
|
-
readonly min: 0;
|
|
183
|
-
readonly max: 255;
|
|
184
|
-
readonly type: "number";
|
|
185
|
-
readonly readable: true;
|
|
186
|
-
};
|
|
187
|
-
}) & {
|
|
188
|
-
is: (valueId: ValueID) => boolean;
|
|
189
|
-
options: {
|
|
190
|
-
readonly internal: false;
|
|
191
|
-
readonly minVersion: 1;
|
|
192
|
-
readonly secret: false;
|
|
193
|
-
readonly stateful: true;
|
|
194
|
-
readonly supportsEndpoints: true;
|
|
195
|
-
readonly autoCreate: true;
|
|
196
|
-
};
|
|
197
|
-
};
|
|
198
|
-
targetColorChannel: ((component: ColorComponent) => {
|
|
199
|
-
id: {
|
|
200
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
201
|
-
readonly property: "targetColor";
|
|
202
|
-
readonly propertyKey: ColorComponent;
|
|
203
|
-
};
|
|
204
|
-
endpoint: (endpoint?: number) => {
|
|
205
|
-
readonly commandClass: (typeof CommandClasses)["Color Switch"];
|
|
206
|
-
readonly endpoint: number;
|
|
207
|
-
readonly property: "targetColor";
|
|
208
|
-
readonly propertyKey: ColorComponent;
|
|
209
|
-
};
|
|
210
|
-
readonly meta: {
|
|
211
|
-
readonly label: `Target value (${string})`;
|
|
212
|
-
readonly description: `The target value of the ${string} channel.`;
|
|
213
|
-
readonly valueChangeOptions: readonly ["transitionDuration"];
|
|
214
|
-
readonly min: 0;
|
|
215
|
-
readonly max: 255;
|
|
216
|
-
readonly type: "number";
|
|
217
|
-
readonly readable: true;
|
|
218
|
-
readonly writeable: true;
|
|
219
|
-
};
|
|
220
|
-
}) & {
|
|
221
|
-
is: (valueId: ValueID) => boolean;
|
|
222
|
-
options: {
|
|
223
|
-
readonly internal: false;
|
|
224
|
-
readonly minVersion: 1;
|
|
225
|
-
readonly secret: false;
|
|
226
|
-
readonly stateful: true;
|
|
227
|
-
readonly supportsEndpoints: true;
|
|
228
|
-
readonly autoCreate: true;
|
|
229
|
-
};
|
|
230
|
-
};
|
|
231
|
-
}>;
|
|
6
|
+
import type { CCEncodingContext, CCParsingContext } from "../lib/traits.js";
|
|
7
|
+
import { ColorSwitchCCValues } from "./_CCValues.generated.js";
|
|
8
|
+
export { ColorSwitchCCValues };
|
|
232
9
|
export declare class ColorSwitchCCAPI extends CCAPI {
|
|
233
10
|
supportsCommand(cmd: ColorSwitchCommand): MaybeNotKnown<boolean>;
|
|
234
11
|
getSupported(): Promise<MaybeNotKnown<readonly ColorComponent[]>>;
|
|
@@ -49,7 +49,6 @@ var import_typeguards = require("alcalzone-shared/typeguards");
|
|
|
49
49
|
var import_API = require("../lib/API.js");
|
|
50
50
|
var import_CommandClass = require("../lib/CommandClass.js");
|
|
51
51
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
52
|
-
var import_Values = require("../lib/Values.js");
|
|
53
52
|
var import_Types = require("../lib/_Types.js");
|
|
54
53
|
var import_CCValues_generated = require("./_CCValues.generated.js");
|
|
55
54
|
var __runInitializers = function(thisArg, initializers, value) {
|
|
@@ -251,7 +250,7 @@ let ColorSwitchCCAPI = (() => {
|
|
|
251
250
|
});
|
|
252
251
|
return this.host.sendCommand(cc, this.commandOptions);
|
|
253
252
|
}
|
|
254
|
-
get [(_get_decorators = [validateArgs_ColorSwitchCCAPI_get(
|
|
253
|
+
get [(_get_decorators = [validateArgs_ColorSwitchCCAPI_get()], _set_decorators = [validateArgs_ColorSwitchCCAPI_set()], _startLevelChange_decorators = [validateArgs_ColorSwitchCCAPI_startLevelChange()], _stopLevelChange_decorators = [validateArgs_ColorSwitchCCAPI_stopLevelChange()], import_API.SET_VALUE)]() {
|
|
255
254
|
return async function({ property, propertyKey }, value, options) {
|
|
256
255
|
if (property === "targetColor") {
|
|
257
256
|
const duration = import_core.Duration.from(options?.transitionDuration);
|
|
@@ -732,8 +731,9 @@ let ColorSwitchCCSet = (() => {
|
|
|
732
731
|
const component = raw.payload[offset];
|
|
733
732
|
const value = raw.payload[offset + 1];
|
|
734
733
|
const key = colorComponentToTableKey(component);
|
|
735
|
-
if (key)
|
|
734
|
+
if (key) {
|
|
736
735
|
this.colorTable[key] = value;
|
|
736
|
+
}
|
|
737
737
|
offset += 2;
|
|
738
738
|
}
|
|
739
739
|
let duration;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../
|
|
4
|
-
"sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\tDuration,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\ttype ValueDB,\n\ttype ValueID,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeBitMask,\n\tisUnsupervisedOrSucceeded,\n\tparseBitMask,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport {\n\tBytes,\n\tgetEnumMemberName,\n\tisEnumMember,\n\tkeysOf,\n\tpick,\n} from \"@zwave-js/shared\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { clamp } from \"alcalzone-shared/math\";\nimport { isObject } from \"alcalzone-shared/typeguards\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowMissingPropertyKey,\n\tthrowUnsupportedProperty,\n\tthrowUnsupportedPropertyKey,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n\tgetEffectiveCCVersion,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport {\n\tColorComponent,\n\tColorComponentMap,\n\ttype ColorKey,\n\tColorSwitchCommand,\n\ttype ColorTable,\n\tLevelChangeDirection,\n} from \"../lib/_Types.js\";\n\nconst hexColorRegex =\n\t/^#?(?<red>[0-9a-f]{2})(?<green>[0-9a-f]{2})(?<blue>[0-9a-f]{2})$/i;\n\nconst colorTableKeys = [\n\t...keysOf(ColorComponent),\n\t...keysOf(ColorComponentMap),\n];\n\nfunction colorTableKeyToComponent(key: string): ColorComponent {\n\tif (/^\\d+$/.test(key)) {\n\t\treturn parseInt(key, 10);\n\t} else if (key in ColorComponentMap) {\n\t\treturn (ColorComponentMap as any)[key];\n\t} else if (key in ColorComponent) {\n\t\treturn (ColorComponent as any)[key];\n\t}\n\tthrow new ZWaveError(\n\t\t`Invalid color key ${key}!`,\n\t\tZWaveErrorCodes.Argument_Invalid,\n\t);\n}\n\nfunction colorComponentToTableKey(\n\tcomponent: ColorComponent,\n): ColorKey | undefined {\n\tfor (const [key, comp] of Object.entries(ColorComponentMap)) {\n\t\tif (comp === component) return key as any;\n\t}\n}\n\nexport const ColorSwitchCCValues = V.defineCCValues(\n\tCommandClasses[\"Color Switch\"],\n\t{\n\t\t...V.staticProperty(\"supportedColorComponents\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportsHexColor\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticPropertyWithName(\n\t\t\t\"currentColor\",\n\t\t\t\"currentColor\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.ReadOnly,\n\t\t\t\tlabel: `Current color`,\n\t\t\t} as const,\n\t\t),\n\t\t...V.staticPropertyWithName(\n\t\t\t\"targetColor\",\n\t\t\t\"targetColor\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.Any,\n\t\t\t\tlabel: `Target color`,\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const,\n\t\t),\n\t\t...V.staticProperty(\n\t\t\t\"duration\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.ReadOnlyDuration,\n\t\t\t\tlabel: \"Remaining duration\",\n\t\t\t} as const,\n\t\t),\n\t\t...V.staticProperty(\n\t\t\t\"hexColor\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.Color,\n\t\t\t\tminLength: 6,\n\t\t\t\tmaxLength: 7, // to allow #rrggbb\n\t\t\t\tlabel: `RGB Color`,\n\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t} as const,\n\t\t),\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"currentColorChannel\",\n\t\t\t\"currentColor\",\n\t\t\t(component: ColorComponent) => component,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"currentColor\" && typeof propertyKey === \"number\",\n\t\t\t(component: ColorComponent) => {\n\t\t\t\tconst colorName = getEnumMemberName(ColorComponent, component);\n\t\t\t\treturn {\n\t\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\t\tlabel: `Current value (${colorName})`,\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t`The current value of the ${colorName} channel.`,\n\t\t\t\t} as const;\n\t\t\t},\n\t\t),\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"targetColorChannel\",\n\t\t\t\"targetColor\",\n\t\t\t(component: ColorComponent) => component,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"targetColor\" && typeof propertyKey === \"number\",\n\t\t\t(component: ColorComponent) => {\n\t\t\t\tconst colorName = getEnumMemberName(ColorComponent, component);\n\t\t\t\treturn {\n\t\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\t\tlabel: `Target value (${colorName})`,\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t`The target value of the ${colorName} channel.`,\n\t\t\t\t\tvalueChangeOptions: [\"transitionDuration\"],\n\t\t\t\t} as const;\n\t\t\t},\n\t\t),\n\t},\n);\n\n@API(CommandClasses[\"Color Switch\"])\nexport class ColorSwitchCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: ColorSwitchCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase ColorSwitchCommand.SupportedGet:\n\t\t\tcase ColorSwitchCommand.Get:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase ColorSwitchCommand.Set:\n\t\t\tcase ColorSwitchCommand.StartLevelChange:\n\t\t\tcase ColorSwitchCommand.StopLevelChange:\n\t\t\t\treturn true; // These are mandatory\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tpublic async getSupported(): Promise<\n\t\tMaybeNotKnown<readonly ColorComponent[]>\n\t> {\n\t\tthis.assertSupportsCommand(\n\t\t\tColorSwitchCommand,\n\t\t\tColorSwitchCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new ColorSwitchCCSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tColorSwitchCCSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedColorComponents;\n\t}\n\n\t@validateArgs({ strictEnums: true })\n\t// oxlint-disable-next-line typescript/explicit-module-boundary-types\n\tpublic async get(component: ColorComponent) {\n\t\tthis.assertSupportsCommand(ColorSwitchCommand, ColorSwitchCommand.Get);\n\n\t\tconst cc = new ColorSwitchCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tcolorComponent: component,\n\t\t});\n\t\tconst response = await this.host.sendCommand<ColorSwitchCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"currentValue\", \"targetValue\", \"duration\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\toptions: ColorSwitchCCSetOptions,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(ColorSwitchCommand, ColorSwitchCommand.Set);\n\n\t\tconst cc = new ColorSwitchCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\n\t\tconst result = await this.host.sendCommand(cc, this.commandOptions);\n\n\t\tif (isUnsupervisedOrSucceeded(result)) {\n\t\t\t// If the command did not fail, assume that it succeeded and update the values accordingly\n\t\t\t// TODO: The API methods should not modify the value DB directly, but to do so\n\t\t\t// this requires a nicer way of synchronizing hexColor with the others\n\t\t\tif (this.isSinglecast()) {\n\t\t\t\t// Update each color component separately and record the changes to the compound value\n\t\t\t\tthis.updateCurrentColor(this.getValueDB(), cc.colorTable);\n\t\t\t} else if (this.isMulticast()) {\n\t\t\t\t// Figure out which nodes were affected by this command\n\t\t\t\tconst affectedNodes = this.endpoint.node.physicalNodes.filter(\n\t\t\t\t\t(node) =>\n\t\t\t\t\t\tnode\n\t\t\t\t\t\t\t.getEndpoint(this.endpoint.index)\n\t\t\t\t\t\t\t?.supportsCC(this.ccId),\n\t\t\t\t);\n\t\t\t\t// and optimistically update the currentColor\n\t\t\t\tfor (const node of affectedNodes) {\n\t\t\t\t\tconst valueDB = this.host.tryGetValueDB(node.id);\n\t\t\t\t\tif (valueDB) {\n\t\t\t\t\t\tthis.updateCurrentColor(valueDB, cc.colorTable);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/** Updates the current color for a given node by merging in the given changes */\n\tprivate updateCurrentColor(valueDB: ValueDB, colorTable: ColorTable) {\n\t\tlet updatedRGB = false;\n\t\tconst currentColorValueId = ColorSwitchCCValues.currentColor.endpoint(\n\t\t\tthis.endpoint.index,\n\t\t);\n\t\tconst targetColorValueId = ColorSwitchCCValues.targetColor.endpoint(\n\t\t\tthis.endpoint.index,\n\t\t);\n\t\tconst currentCompoundColor =\n\t\t\tvalueDB.getValue<Partial<Record<ColorKey, number>>>(\n\t\t\t\tcurrentColorValueId,\n\t\t\t) ?? {};\n\t\tconst targetCompoundColor =\n\t\t\tvalueDB.getValue<Partial<Record<ColorKey, number>>>(\n\t\t\t\ttargetColorValueId,\n\t\t\t) ?? {};\n\n\t\tfor (const [key, value] of Object.entries(colorTable)) {\n\t\t\tconst component = colorTableKeyToComponent(key);\n\t\t\tif (\n\t\t\t\tcomponent === ColorComponent.Red\n\t\t\t\t|| component === ColorComponent.Green\n\t\t\t\t|| component === ColorComponent.Blue\n\t\t\t) {\n\t\t\t\tupdatedRGB = true;\n\t\t\t}\n\n\t\t\tvalueDB.setValue(\n\t\t\t\tColorSwitchCCValues.currentColorChannel(component).endpoint(\n\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t),\n\t\t\t\tvalue,\n\t\t\t);\n\n\t\t\t// Update the compound value\n\t\t\tif (key in ColorComponentMap) {\n\t\t\t\tcurrentCompoundColor[key as ColorKey] = value;\n\t\t\t\ttargetCompoundColor[key as ColorKey] = value;\n\t\t\t}\n\t\t}\n\t\t// And store the updated compound values\n\t\tvalueDB.setValue(currentColorValueId, currentCompoundColor);\n\t\tvalueDB.setValue(targetColorValueId, targetCompoundColor);\n\n\t\t// and hex color if necessary\n\t\tconst supportsHex = valueDB.getValue<boolean>(\n\t\t\tColorSwitchCCValues.supportsHexColor.endpoint(this.endpoint.index),\n\t\t);\n\t\tif (supportsHex && updatedRGB) {\n\t\t\tconst hexValueId = ColorSwitchCCValues.hexColor.endpoint(\n\t\t\t\tthis.endpoint.index,\n\t\t\t);\n\t\t\tconst [r, g, b] = [\n\t\t\t\tColorComponent.Red,\n\t\t\t\tColorComponent.Green,\n\t\t\t\tColorComponent.Blue,\n\t\t\t].map(\n\t\t\t\t(c) =>\n\t\t\t\t\tvalueDB.getValue<number>(\n\t\t\t\t\t\tColorSwitchCCValues.currentColorChannel(c).endpoint(\n\t\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t\t),\n\t\t\t\t\t) ?? 0,\n\t\t\t);\n\t\t\tconst hexValue = (r << 16) | (g << 8) | b;\n\t\t\tvalueDB.setValue(\n\t\t\t\thexValueId,\n\t\t\t\thexValue.toString(16).padStart(6, \"0\"),\n\t\t\t);\n\t\t}\n\t}\n\n\t@validateArgs({ strictEnums: true })\n\tpublic async startLevelChange(\n\t\toptions: ColorSwitchCCStartLevelChangeOptions,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tColorSwitchCommand,\n\t\t\tColorSwitchCommand.StartLevelChange,\n\t\t);\n\n\t\tconst cc = new ColorSwitchCCStartLevelChange({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t...options,\n\t\t});\n\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs({ strictEnums: true })\n\tpublic async stopLevelChange(\n\t\tcolorComponent: ColorComponent,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tColorSwitchCommand,\n\t\t\tColorSwitchCommand.StopLevelChange,\n\t\t);\n\n\t\tconst cc = new ColorSwitchCCStopLevelChange({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tcolorComponent,\n\t\t});\n\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: ColorSwitchCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t\tvalue,\n\t\t\toptions,\n\t\t) {\n\t\t\tif (property === \"targetColor\") {\n\t\t\t\tconst duration = Duration.from(options?.transitionDuration);\n\t\t\t\tif (propertyKey != undefined) {\n\t\t\t\t\t// Single color component, only accepts numbers\n\t\t\t\t\tif (typeof propertyKey !== \"number\") {\n\t\t\t\t\t\tthrowUnsupportedPropertyKey(\n\t\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\tpropertyKey,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (typeof value !== \"number\") {\n\t\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tconst result = await this.set({\n\t\t\t\t\t\t[propertyKey]: value,\n\t\t\t\t\t\tduration,\n\t\t\t\t\t});\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.isSinglecast()\n\t\t\t\t\t\t&& !supervisedCommandSucceeded(result)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Verify the current value after a (short) delay, unless the command was supervised and successful\n\t\t\t\t\t\tthis.schedulePoll({ property, propertyKey }, value, {\n\t\t\t\t\t\t\tduration,\n\t\t\t\t\t\t\ttransition: \"fast\",\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t} else {\n\t\t\t\t\t// Set the compound color object\n\n\t\t\t\t\t// Ensure the value is an object with only valid keys\n\t\t\t\t\tif (\n\t\t\t\t\t\t!isObject(value)\n\t\t\t\t\t\t|| !Object.keys(value).every(\n\t\t\t\t\t\t\t(key) => key in ColorComponentMap,\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\tCommandClasses[this.ccId]\n\t\t\t\t\t\t\t}: \"${property}\" must be set to an object which specifies each color channel`,\n\t\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Ensure that each property is numeric\n\t\t\t\t\tfor (const [key, val] of Object.entries(value)) {\n\t\t\t\t\t\tif (typeof val !== \"number\") {\n\t\t\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\t\t\t`${property}.${key}`,\n\t\t\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\t\t\ttypeof val,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// GH#2527: strip unsupported color components, because some devices don't react otherwise\n\t\t\t\t\tif (this.isSinglecast()) {\n\t\t\t\t\t\tconst supportedColors = this.tryGetValueDB()?.getValue<\n\t\t\t\t\t\t\treadonly ColorComponent[]\n\t\t\t\t\t\t>(\n\t\t\t\t\t\t\tColorSwitchCCValues.supportedColorComponents\n\t\t\t\t\t\t\t\t.endpoint(\n\t\t\t\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (supportedColors) {\n\t\t\t\t\t\t\tvalue = pick(\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tsupportedColors\n\t\t\t\t\t\t\t\t\t.map((c) => colorComponentToTableKey(c))\n\t\t\t\t\t\t\t\t\t.filter((c) => !!c),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Avoid sending empty commands\n\t\t\t\t\tif (Object.keys(value as any).length === 0) return;\n\n\t\t\t\t\treturn this.set({ ...(value as ColorTable), duration });\n\n\t\t\t\t\t// We're not going to poll each color component separately\n\t\t\t\t}\n\t\t\t} else if (property === \"hexColor\") {\n\t\t\t\t// No property key, this is the hex color #rrggbb\n\t\t\t\tif (typeof value !== \"string\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"string\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst duration = Duration.from(options?.transitionDuration);\n\t\t\t\treturn this.set({ hexColor: value, duration });\n\t\t\t} else {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic isSetValueOptimistic(_valueId: ValueID): boolean {\n\t\treturn false; // Color Switch CC handles updating the value DB itself\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(\n\t\t\tthis: ColorSwitchCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t) {\n\t\t\tif (propertyKey == undefined) {\n\t\t\t\tthrowMissingPropertyKey(this.ccId, property);\n\t\t\t} else if (typeof propertyKey !== \"number\") {\n\t\t\t\tthrowUnsupportedPropertyKey(this.ccId, property, propertyKey);\n\t\t\t}\n\n\t\t\tswitch (property) {\n\t\t\t\tcase \"currentColor\":\n\t\t\t\t\treturn (await this.get(propertyKey))?.currentValue;\n\t\t\t\tcase \"targetColor\":\n\t\t\t\t\treturn (await this.get(propertyKey))?.targetValue;\n\t\t\t\tcase \"duration\":\n\t\t\t\t\treturn (await this.get(propertyKey))?.duration;\n\t\t\t\tdefault:\n\t\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses[\"Color Switch\"])\n@implementedVersion(3)\n@ccValues(ColorSwitchCCValues)\nexport class ColorSwitchCC extends CommandClass {\n\tdeclare ccCommand: ColorSwitchCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Color Switch\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"querying supported colors...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst supportedColors = await api.getSupported();\n\t\tif (!supportedColors) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t\"Querying supported colors timed out, skipping interview...\",\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `received supported colors:${\n\t\t\t\tsupportedColors\n\t\t\t\t\t.map((c) => `\\n\u00B7 ${getEnumMemberName(ColorComponent, c)}`)\n\t\t\t\t\t.join(\"\")\n\t\t\t}`,\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\t// Create metadata for the separate color channels\n\t\tfor (const color of supportedColors) {\n\t\t\tconst currentColorChannelValue = ColorSwitchCCValues\n\t\t\t\t.currentColorChannel(color);\n\t\t\tthis.setMetadata(ctx, currentColorChannelValue);\n\n\t\t\tconst targetColorChannelValue = ColorSwitchCCValues\n\t\t\t\t.targetColorChannel(color);\n\t\t\tthis.setMetadata(ctx, targetColorChannelValue);\n\t\t}\n\t\t// And the compound one\n\t\tconst currentColorValue = ColorSwitchCCValues.currentColor;\n\t\tthis.setMetadata(ctx, currentColorValue);\n\t\tconst targetColorValue = ColorSwitchCCValues.targetColor;\n\t\tthis.setMetadata(ctx, targetColorValue);\n\n\t\t// Create the collective HEX color values\n\t\tconst supportsHex = [\n\t\t\tColorComponent.Red,\n\t\t\tColorComponent.Green,\n\t\t\tColorComponent.Blue,\n\t\t].every((c) => supportedColors.includes(c));\n\t\tthis.setValue(\n\t\t\tctx,\n\t\t\tColorSwitchCCValues.supportsHexColor,\n\t\t\tsupportsHex,\n\t\t);\n\t\tif (supportsHex) {\n\t\t\tconst hexColorValue = ColorSwitchCCValues.hexColor;\n\t\t\tthis.setMetadata(ctx, hexColorValue);\n\t\t}\n\n\t\t// Query all color components\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Color Switch\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tconst supportedColors: readonly ColorComponent[] = this.getValue(\n\t\t\tctx,\n\t\t\tColorSwitchCCValues.supportedColorComponents,\n\t\t) ?? [];\n\n\t\tfor (const color of supportedColors) {\n\t\t\t// Some devices report invalid colors, but the CC API checks\n\t\t\t// for valid values and throws otherwise.\n\t\t\tif (!isEnumMember(ColorComponent, color)) continue;\n\n\t\t\tconst colorName = getEnumMemberName(ColorComponent, color);\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `querying current color state (${colorName})`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tawait api.get(color);\n\t\t}\n\t}\n\n\tpublic translatePropertyKey(\n\t\tctx: GetValueDB,\n\t\tproperty: string | number,\n\t\tpropertyKey: string | number,\n\t): string | undefined {\n\t\tif (\n\t\t\t(property === \"currentColor\" || property === \"targetColor\")\n\t\t\t&& typeof propertyKey === \"number\"\n\t\t) {\n\t\t\tconst translated = ColorComponent[propertyKey];\n\t\t\tif (translated) return translated;\n\t\t}\n\t\treturn super.translatePropertyKey(ctx, property, propertyKey);\n\t}\n}\n\n// @publicAPI\nexport interface ColorSwitchCCSupportedReportOptions {\n\tsupportedColorComponents: readonly ColorComponent[];\n}\n\n@CCCommand(ColorSwitchCommand.SupportedReport)\n@ccValueProperty(\n\t\"supportedColorComponents\",\n\tColorSwitchCCValues.supportedColorComponents,\n)\nexport class ColorSwitchCCSupportedReport extends ColorSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ColorSwitchCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.supportedColorComponents = options.supportedColorComponents;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ColorSwitchCCSupportedReport {\n\t\t// Docs say 'variable length', but the table shows 2 bytes.\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst supportedColorComponents: ColorComponent[] = parseBitMask(\n\t\t\traw.payload.subarray(0, 2),\n\t\t\tColorComponent[\"Warm White\"],\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedColorComponents,\n\t\t});\n\t}\n\n\tpublic readonly supportedColorComponents: readonly ColorComponent[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = encodeBitMask(\n\t\t\tthis.supportedColorComponents,\n\t\t\t15, // fixed 2 bytes\n\t\t\tColorComponent[\"Warm White\"],\n\t\t);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"supported color components\": this.supportedColorComponents\n\t\t\t\t\t.map((c) => `\\n\u00B7 ${getEnumMemberName(ColorComponent, c)}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(ColorSwitchCommand.SupportedGet)\n@expectedCCResponse(ColorSwitchCCSupportedReport)\nexport class ColorSwitchCCSupportedGet extends ColorSwitchCC {}\n\n// @publicAPI\nexport interface ColorSwitchCCReportOptions {\n\tcolorComponent: ColorComponent;\n\tcurrentValue: number;\n\ttargetValue?: number;\n\tduration?: Duration | string;\n}\n\n@CCCommand(ColorSwitchCommand.Report)\n@ccValueProperty(\n\t\"currentValue\",\n\tColorSwitchCCValues.currentColorChannel,\n\t(self) => [self.colorComponent],\n)\n@ccValueProperty(\n\t\"targetValue\",\n\tColorSwitchCCValues.targetColorChannel,\n\t(self) => [self.colorComponent],\n)\n@ccValueProperty(\"duration\", ColorSwitchCCValues.duration)\nexport class ColorSwitchCCReport extends ColorSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ColorSwitchCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.colorComponent = options.colorComponent;\n\t\tthis.currentValue = options.currentValue;\n\t\tthis.targetValue = options.targetValue;\n\t\tthis.duration = Duration.from(options.duration);\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): ColorSwitchCCReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst colorComponent: ColorComponent = raw.payload[0];\n\t\tconst currentValue = raw.payload[1];\n\t\tlet targetValue: number | undefined;\n\t\tlet duration: Duration | undefined;\n\n\t\tif (raw.payload.length >= 4) {\n\t\t\ttargetValue = raw.payload[2];\n\t\t\tduration = Duration.parseReport(raw.payload[3]);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tcolorComponent,\n\t\t\tcurrentValue,\n\t\t\ttargetValue,\n\t\t\tduration,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\t// Duration is stored globally instead of per component\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Update compound current value\n\t\tconst colorTableKey = colorComponentToTableKey(this.colorComponent);\n\t\tif (colorTableKey) {\n\t\t\tconst compoundCurrentColorValue = ColorSwitchCCValues.currentColor;\n\t\t\tconst compoundCurrentColor: Partial<Record<ColorKey, number>> =\n\t\t\t\tthis.getValue(ctx, compoundCurrentColorValue) ?? {};\n\t\t\tcompoundCurrentColor[colorTableKey] = this.currentValue;\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\tcompoundCurrentColorValue,\n\t\t\t\tcompoundCurrentColor,\n\t\t\t);\n\n\t\t\t// and target value\n\t\t\tif (this.targetValue != undefined) {\n\t\t\t\tconst compoundTargetColorValue =\n\t\t\t\t\tColorSwitchCCValues.targetColor;\n\t\t\t\tconst compoundTargetColor: Partial<Record<ColorKey, number>> =\n\t\t\t\t\tthis.getValue(ctx, compoundTargetColorValue) ?? {};\n\t\t\t\tcompoundTargetColor[colorTableKey] = this.targetValue;\n\t\t\t\tthis.setValue(\n\t\t\t\t\tctx,\n\t\t\t\t\tcompoundTargetColorValue,\n\t\t\t\t\tcompoundTargetColor,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// Update collective hex value if required\n\t\tconst supportsHex = !!this.getValue(\n\t\t\tctx,\n\t\t\tColorSwitchCCValues.supportsHexColor,\n\t\t);\n\t\tif (\n\t\t\tsupportsHex\n\t\t\t&& (this.colorComponent === ColorComponent.Red\n\t\t\t\t|| this.colorComponent === ColorComponent.Green\n\t\t\t\t|| this.colorComponent === ColorComponent.Blue)\n\t\t) {\n\t\t\tconst hexColorValue = ColorSwitchCCValues.hexColor;\n\n\t\t\tconst hexValue: string = this.getValue(ctx, hexColorValue)\n\t\t\t\t?? \"000000\";\n\t\t\tconst byteOffset = ColorComponent.Blue - this.colorComponent;\n\t\t\tconst byteMask = 0xff << (byteOffset * 8);\n\t\t\tlet hexValueNumeric = parseInt(hexValue, 16);\n\t\t\thexValueNumeric = (hexValueNumeric & ~byteMask)\n\t\t\t\t| (this.currentValue << (byteOffset * 8));\n\t\t\tthis.setValue(\n\t\t\t\tctx,\n\t\t\t\thexColorValue,\n\t\t\t\thexValueNumeric.toString(16).padStart(6, \"0\"),\n\t\t\t);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic readonly colorComponent: ColorComponent;\n\n\tpublic readonly currentValue: number;\n\n\tpublic readonly targetValue: number | undefined;\n\n\tpublic readonly duration: Duration | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.colorComponent,\n\t\t\tthis.currentValue,\n\t\t]);\n\t\tif (this.targetValue != undefined && this.duration != undefined) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\t[\n\t\t\t\t\tthis.targetValue ?? 0xfe,\n\t\t\t\t\t(this.duration ?? Duration.default()).serializeReport(),\n\t\t\t\t],\n\t\t\t]);\n\t\t}\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"color component\": getEnumMemberName(\n\t\t\t\tColorComponent,\n\t\t\t\tthis.colorComponent,\n\t\t\t),\n\t\t\t\"current value\": this.currentValue,\n\t\t};\n\t\tif (this.targetValue != undefined) {\n\t\t\tmessage[\"target value\"] = this.targetValue;\n\t\t}\n\t\tif (this.duration != undefined) {\n\t\t\tmessage.duration = this.duration.toString();\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ColorSwitchCCGetOptions {\n\tcolorComponent: ColorComponent;\n}\n\nfunction testResponseForColorSwitchGet(\n\tsent: ColorSwitchCCGet,\n\treceived: ColorSwitchCCReport,\n) {\n\treturn sent.colorComponent === received.colorComponent;\n}\n\n@CCCommand(ColorSwitchCommand.Get)\n@expectedCCResponse(ColorSwitchCCReport, testResponseForColorSwitchGet)\nexport class ColorSwitchCCGet extends ColorSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ColorSwitchCCGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis._colorComponent = options.colorComponent;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): ColorSwitchCCGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst colorComponent: ColorComponent = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tcolorComponent,\n\t\t});\n\t}\n\n\tprivate _colorComponent: ColorComponent;\n\tpublic get colorComponent(): ColorComponent {\n\t\treturn this._colorComponent;\n\t}\n\tpublic set colorComponent(value: ColorComponent) {\n\t\tif (!ColorComponent[value]) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t\"colorComponent must be a valid color component index.\",\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis._colorComponent = value;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this._colorComponent]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"color component\": getEnumMemberName(\n\t\t\t\t\tColorComponent,\n\t\t\t\t\tthis.colorComponent,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport type ColorSwitchCCSetOptions = (ColorTable | { hexColor: string }) & {\n\tduration?: Duration | string;\n};\n\n@CCCommand(ColorSwitchCommand.Set)\n@useSupervision()\nexport class ColorSwitchCCSet extends ColorSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ColorSwitchCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\t// Populate properties from options object\n\t\tif (\"hexColor\" in options) {\n\t\t\tconst match = hexColorRegex.exec(options.hexColor);\n\t\t\tif (!match) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`${options.hexColor} is not a valid HEX color string`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis.colorTable = {\n\t\t\t\tred: parseInt(match.groups!.red, 16),\n\t\t\t\tgreen: parseInt(match.groups!.green, 16),\n\t\t\t\tblue: parseInt(match.groups!.blue, 16),\n\t\t\t};\n\t\t} else {\n\t\t\tthis.colorTable = pick(options, colorTableKeys as any[]);\n\t\t}\n\t\tthis.duration = Duration.from(options.duration);\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): ColorSwitchCCSet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst populatedColorCount = raw.payload[0] & 0b11111;\n\n\t\tvalidatePayload(raw.payload.length >= 1 + populatedColorCount * 2);\n\t\tconst colorTable: ColorTable = {};\n\t\tlet offset = 1;\n\t\tfor (let color = 0; color < populatedColorCount; color++) {\n\t\t\tconst component = raw.payload[offset];\n\t\t\tconst value = raw.payload[offset + 1];\n\t\t\tconst key = colorComponentToTableKey(component);\n\t\t\t// @ts-expect-error\n\t\t\tif (key) this.colorTable[key] = value;\n\t\t\toffset += 2;\n\t\t}\n\n\t\tlet duration: Duration | undefined;\n\t\tif (raw.payload.length > offset) {\n\t\t\tduration = Duration.parseSet(raw.payload[offset]);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t...colorTable,\n\t\t\tduration,\n\t\t});\n\t}\n\n\tpublic colorTable: ColorTable;\n\tpublic duration: Duration | undefined;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst populatedColorCount = Object.keys(this.colorTable).length;\n\t\tthis.payload = new Bytes(\n\t\t\t1 + populatedColorCount * 2 + 1,\n\t\t);\n\t\tthis.payload[0] = populatedColorCount & 0b11111;\n\t\tlet i = 1;\n\t\tfor (const [key, value] of Object.entries(this.colorTable)) {\n\t\t\tconst component = colorTableKeyToComponent(key);\n\t\t\tthis.payload[i] = component;\n\t\t\tthis.payload[i + 1] = clamp(value, 0, 0xff);\n\t\t\ti += 2;\n\t\t}\n\t\tthis.payload[i] = (\n\t\t\tthis.duration ?? Duration.default()\n\t\t).serializeSet();\n\n\t\tconst ccVersion = getEffectiveCCVersion(ctx, this);\n\t\tif (\n\t\t\tccVersion < 2 && ctx.getDeviceConfig?.(\n\t\t\t\tthis.nodeId as number,\n\t\t\t)?.compat?.encodeCCsUsingTargetVersion\n\t\t) {\n\t\t\t// When forcing CC version 1, omit the duration byte\n\t\t\tthis.payload = this.payload.subarray(0, -1);\n\t\t}\n\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tfor (const [key, value] of Object.entries(this.colorTable)) {\n\t\t\tconst realKey: string = key in ColorComponentMap\n\t\t\t\t? (ColorComponent as any)[(ColorComponentMap as any)[key]]\n\t\t\t\t: (ColorComponent as any)[key];\n\t\t\tmessage[realKey] = value;\n\t\t}\n\t\tif (this.duration != undefined) {\n\t\t\tmessage.duration = this.duration.toString();\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport type ColorSwitchCCStartLevelChangeOptions =\n\t& {\n\t\tcolorComponent: ColorComponent;\n\t\tdirection: keyof typeof LevelChangeDirection;\n\t}\n\t& (\n\t\t| {\n\t\t\tignoreStartLevel: true;\n\t\t\tstartLevel?: number;\n\t\t}\n\t\t| {\n\t\t\tignoreStartLevel: false;\n\t\t\tstartLevel: number;\n\t\t}\n\t)\n\t& {\n\t\t// Version >= 3:\n\t\tduration?: Duration | string;\n\t};\n\n@CCCommand(ColorSwitchCommand.StartLevelChange)\n@useSupervision()\nexport class ColorSwitchCCStartLevelChange extends ColorSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ColorSwitchCCStartLevelChangeOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.duration = Duration.from(options.duration);\n\t\tthis.ignoreStartLevel = options.ignoreStartLevel;\n\t\tthis.startLevel = options.startLevel ?? 0;\n\t\tthis.direction = options.direction;\n\t\tthis.colorComponent = options.colorComponent;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ColorSwitchCCStartLevelChange {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst ignoreStartLevel = !!((raw.payload[0] & 0b0_0_1_00000) >>> 5);\n\t\tconst direction = ((raw.payload[0] & 0b0_1_0_00000) >>> 6)\n\t\t\t? \"down\"\n\t\t\t: \"up\";\n\t\tconst colorComponent: ColorComponent = raw.payload[1];\n\t\tconst startLevel = raw.payload[2];\n\t\tlet duration: Duration | undefined;\n\t\tif (raw.payload.length >= 4) {\n\t\t\tduration = Duration.parseSet(raw.payload[3]);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tignoreStartLevel,\n\t\t\tdirection,\n\t\t\tcolorComponent,\n\t\t\tstartLevel,\n\t\t\tduration,\n\t\t});\n\t}\n\n\tpublic duration: Duration | undefined;\n\tpublic startLevel: number;\n\tpublic ignoreStartLevel: boolean;\n\tpublic direction: keyof typeof LevelChangeDirection;\n\tpublic colorComponent: ColorComponent;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst controlByte = (LevelChangeDirection[this.direction] << 6)\n\t\t\t| (this.ignoreStartLevel ? 0b0010_0000 : 0);\n\t\tthis.payload = Bytes.from([\n\t\t\tcontrolByte,\n\t\t\tthis.colorComponent,\n\t\t\tthis.startLevel,\n\t\t\t(this.duration ?? Duration.default()).serializeSet(),\n\t\t]);\n\n\t\tconst ccVersion = getEffectiveCCVersion(ctx, this);\n\t\tif (\n\t\t\tccVersion < 3 && ctx.getDeviceConfig?.(\n\t\t\t\tthis.nodeId as number,\n\t\t\t)?.compat?.encodeCCsUsingTargetVersion\n\t\t) {\n\t\t\t// When forcing CC version 1 or 2, omit the duration byte\n\t\t\tthis.payload = this.payload.subarray(0, -1);\n\t\t}\n\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"color component\": getEnumMemberName(\n\t\t\t\tColorComponent,\n\t\t\t\tthis.colorComponent,\n\t\t\t),\n\t\t\t\"start level\": `${this.startLevel}${\n\t\t\t\tthis.ignoreStartLevel ? \" (ignored)\" : \"\"\n\t\t\t}`,\n\t\t\tdirection: this.direction,\n\t\t};\n\t\tif (this.duration != undefined) {\n\t\t\tmessage.duration = this.duration.toString();\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface ColorSwitchCCStopLevelChangeOptions {\n\tcolorComponent: ColorComponent;\n}\n\n@CCCommand(ColorSwitchCommand.StopLevelChange)\n@useSupervision()\nexport class ColorSwitchCCStopLevelChange extends ColorSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ColorSwitchCCStopLevelChangeOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.colorComponent = options.colorComponent;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ColorSwitchCCStopLevelChange {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst colorComponent: ColorComponent = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tcolorComponent,\n\t\t});\n\t}\n\n\tpublic readonly colorComponent: ColorComponent;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.colorComponent]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"color component\": getEnumMemberName(\n\t\t\t\t\tColorComponent,\n\t\t\t\t\tthis.colorComponent,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
3
|
+
"sources": ["../../../src_gen/cc/ColorSwitchCC.ts"],
|
|
4
|
+
"sourcesContent": ["import * as __validateArgs from \"./ColorSwitchCC._validateArgs.js\";\nconst { validateArgs_ColorSwitchCCAPI_get, validateArgs_ColorSwitchCCAPI_set, validateArgs_ColorSwitchCCAPI_startLevelChange, validateArgs_ColorSwitchCCAPI_stopLevelChange } = __validateArgs;\nimport { CommandClasses, Duration, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, type ValueDB, type ValueID, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, encodeBitMask, isUnsupervisedOrSucceeded, parseBitMask, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, isEnumMember, keysOf, pick, } from \"@zwave-js/shared\";\nimport { clamp } from \"alcalzone-shared/math\";\nimport { isObject } from \"alcalzone-shared/typeguards\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwMissingPropertyKey, throwUnsupportedProperty, throwUnsupportedPropertyKey, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, getEffectiveCCVersion, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { ColorComponent, ColorComponentMap, type ColorKey, ColorSwitchCommand, type ColorTable, LevelChangeDirection, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nconst hexColorRegex = /^#?(?<red>[0-9a-f]{2})(?<green>[0-9a-f]{2})(?<blue>[0-9a-f]{2})$/i;\nconst colorTableKeys = [\n ...keysOf(ColorComponent),\n ...keysOf(ColorComponentMap),\n];\nfunction colorTableKeyToComponent(key: string): ColorComponent {\n if (/^\\d+$/.test(key)) {\n return parseInt(key, 10);\n }\n else if (key in ColorComponentMap) {\n return (ColorComponentMap as any)[key];\n }\n else if (key in ColorComponent) {\n return (ColorComponent as any)[key];\n }\n throw new ZWaveError(`Invalid color key ${key}!`, ZWaveErrorCodes.Argument_Invalid);\n}\nfunction colorComponentToTableKey(component: ColorComponent): ColorKey | undefined {\n for (const [key, comp] of Object.entries(ColorComponentMap)) {\n if (comp === component)\n return key as any;\n }\n}\nimport { ColorSwitchCCValues } from \"./_CCValues.generated.js\";\nexport { ColorSwitchCCValues };\n@API(CommandClasses[\"Color Switch\"])\nexport class ColorSwitchCCAPI extends CCAPI {\n public supportsCommand(cmd: ColorSwitchCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case ColorSwitchCommand.SupportedGet:\n case ColorSwitchCommand.Get:\n return this.isSinglecast();\n case ColorSwitchCommand.Set:\n case ColorSwitchCommand.StartLevelChange:\n case ColorSwitchCommand.StopLevelChange:\n return true; // These are mandatory\n }\n return super.supportsCommand(cmd);\n }\n public async getSupported(): Promise<MaybeNotKnown<readonly ColorComponent[]>> {\n this.assertSupportsCommand(ColorSwitchCommand, ColorSwitchCommand.SupportedGet);\n const cc = new ColorSwitchCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ColorSwitchCCSupportedReport>(cc, this.commandOptions);\n return response?.supportedColorComponents;\n }\n @validateArgs_ColorSwitchCCAPI_get()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get(component: ColorComponent) {\n this.assertSupportsCommand(ColorSwitchCommand, ColorSwitchCommand.Get);\n const cc = new ColorSwitchCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n colorComponent: component,\n });\n const response = await this.host.sendCommand<ColorSwitchCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"currentValue\", \"targetValue\", \"duration\"]);\n }\n }\n @validateArgs_ColorSwitchCCAPI_set()\n public async set(options: ColorSwitchCCSetOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(ColorSwitchCommand, ColorSwitchCommand.Set);\n const cc = new ColorSwitchCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n const result = await this.host.sendCommand(cc, this.commandOptions);\n if (isUnsupervisedOrSucceeded(result)) {\n // If the command did not fail, assume that it succeeded and update the values accordingly\n // TODO: The API methods should not modify the value DB directly, but to do so\n // this requires a nicer way of synchronizing hexColor with the others\n if (this.isSinglecast()) {\n // Update each color component separately and record the changes to the compound value\n this.updateCurrentColor(this.getValueDB(), cc.colorTable);\n }\n else if (this.isMulticast()) {\n // Figure out which nodes were affected by this command\n const affectedNodes = this.endpoint.node.physicalNodes.filter((node) => node\n .getEndpoint(this.endpoint.index)\n ?.supportsCC(this.ccId));\n // and optimistically update the currentColor\n for (const node of affectedNodes) {\n const valueDB = this.host.tryGetValueDB(node.id);\n if (valueDB) {\n this.updateCurrentColor(valueDB, cc.colorTable);\n }\n }\n }\n }\n return result;\n }\n /** Updates the current color for a given node by merging in the given changes */\n private updateCurrentColor(valueDB: ValueDB, colorTable: ColorTable) {\n let updatedRGB = false;\n const currentColorValueId = ColorSwitchCCValues.currentColor.endpoint(this.endpoint.index);\n const targetColorValueId = ColorSwitchCCValues.targetColor.endpoint(this.endpoint.index);\n const currentCompoundColor = valueDB.getValue<Partial<Record<ColorKey, number>>>(currentColorValueId) ?? {};\n const targetCompoundColor = valueDB.getValue<Partial<Record<ColorKey, number>>>(targetColorValueId) ?? {};\n for (const [key, value] of Object.entries(colorTable)) {\n const component = colorTableKeyToComponent(key);\n if (component === ColorComponent.Red\n || component === ColorComponent.Green\n || component === ColorComponent.Blue) {\n updatedRGB = true;\n }\n valueDB.setValue(ColorSwitchCCValues.currentColorChannel(component).endpoint(this.endpoint.index), value);\n // Update the compound value\n if (key in ColorComponentMap) {\n currentCompoundColor[key as ColorKey] = value;\n targetCompoundColor[key as ColorKey] = value;\n }\n }\n // And store the updated compound values\n valueDB.setValue(currentColorValueId, currentCompoundColor);\n valueDB.setValue(targetColorValueId, targetCompoundColor);\n // and hex color if necessary\n const supportsHex = valueDB.getValue<boolean>(ColorSwitchCCValues.supportsHexColor.endpoint(this.endpoint.index));\n if (supportsHex && updatedRGB) {\n const hexValueId = ColorSwitchCCValues.hexColor.endpoint(this.endpoint.index);\n const [r, g, b] = [\n ColorComponent.Red,\n ColorComponent.Green,\n ColorComponent.Blue,\n ].map((c) => valueDB.getValue<number>(ColorSwitchCCValues.currentColorChannel(c).endpoint(this.endpoint.index)) ?? 0);\n const hexValue = (r << 16) | (g << 8) | b;\n valueDB.setValue(hexValueId, hexValue.toString(16).padStart(6, \"0\"));\n }\n }\n @validateArgs_ColorSwitchCCAPI_startLevelChange()\n public async startLevelChange(options: ColorSwitchCCStartLevelChangeOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(ColorSwitchCommand, ColorSwitchCommand.StartLevelChange);\n const cc = new ColorSwitchCCStartLevelChange({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_ColorSwitchCCAPI_stopLevelChange()\n public async stopLevelChange(colorComponent: ColorComponent): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(ColorSwitchCommand, ColorSwitchCommand.StopLevelChange);\n const cc = new ColorSwitchCCStopLevelChange({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n colorComponent,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: ColorSwitchCCAPI, { property, propertyKey }, value, options) {\n if (property === \"targetColor\") {\n const duration = Duration.from(options?.transitionDuration);\n if (propertyKey != undefined) {\n // Single color component, only accepts numbers\n if (typeof propertyKey !== \"number\") {\n throwUnsupportedPropertyKey(this.ccId, property, propertyKey);\n }\n else if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n const result = await this.set({\n [propertyKey]: value,\n duration,\n });\n if (this.isSinglecast()\n && !supervisedCommandSucceeded(result)) {\n // Verify the current value after a (short) delay, unless the command was supervised and successful\n this.schedulePoll({ property, propertyKey }, value, {\n duration,\n transition: \"fast\",\n });\n }\n return result;\n }\n else {\n // Set the compound color object\n // Ensure the value is an object with only valid keys\n if (!isObject(value)\n || !Object.keys(value).every((key) => key in ColorComponentMap)) {\n throw new ZWaveError(`${CommandClasses[this.ccId]}: \"${property}\" must be set to an object which specifies each color channel`, ZWaveErrorCodes.Argument_Invalid);\n }\n // Ensure that each property is numeric\n for (const [key, val] of Object.entries(value)) {\n if (typeof val !== \"number\") {\n throwWrongValueType(this.ccId, `${property}.${key}`, \"number\", typeof val);\n }\n }\n // GH#2527: strip unsupported color components, because some devices don't react otherwise\n if (this.isSinglecast()) {\n const supportedColors = this.tryGetValueDB()?.getValue<readonly ColorComponent[]>(ColorSwitchCCValues.supportedColorComponents\n .endpoint(this.endpoint.index));\n if (supportedColors) {\n value = pick(value, supportedColors\n .map((c) => colorComponentToTableKey(c))\n .filter((c) => !!c));\n }\n }\n // Avoid sending empty commands\n if (Object.keys(value as any).length === 0)\n return;\n return this.set({ ...(value as ColorTable), duration });\n // We're not going to poll each color component separately\n }\n }\n else if (property === \"hexColor\") {\n // No property key, this is the hex color #rrggbb\n if (typeof value !== \"string\") {\n throwWrongValueType(this.ccId, property, \"string\", typeof value);\n }\n const duration = Duration.from(options?.transitionDuration);\n return this.set({ hexColor: value, duration });\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n public isSetValueOptimistic(_valueId: ValueID): boolean {\n return false; // Color Switch CC handles updating the value DB itself\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: ColorSwitchCCAPI, { property, propertyKey }) {\n if (propertyKey == undefined) {\n throwMissingPropertyKey(this.ccId, property);\n }\n else if (typeof propertyKey !== \"number\") {\n throwUnsupportedPropertyKey(this.ccId, property, propertyKey);\n }\n switch (property) {\n case \"currentColor\":\n return (await this.get(propertyKey))?.currentValue;\n case \"targetColor\":\n return (await this.get(propertyKey))?.targetValue;\n case \"duration\":\n return (await this.get(propertyKey))?.duration;\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n}\n@commandClass(CommandClasses[\"Color Switch\"])\n@implementedVersion(3)\n@ccValues(ColorSwitchCCValues)\nexport class ColorSwitchCC extends CommandClass {\n declare ccCommand: ColorSwitchCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Color Switch\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying supported colors...\",\n direction: \"outbound\",\n });\n const supportedColors = await api.getSupported();\n if (!supportedColors) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying supported colors timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `received supported colors:${supportedColors\n .map((c) => `\\n\u00B7 ${getEnumMemberName(ColorComponent, c)}`)\n .join(\"\")}`,\n direction: \"outbound\",\n });\n // Create metadata for the separate color channels\n for (const color of supportedColors) {\n const currentColorChannelValue = ColorSwitchCCValues\n .currentColorChannel(color);\n this.setMetadata(ctx, currentColorChannelValue);\n const targetColorChannelValue = ColorSwitchCCValues\n .targetColorChannel(color);\n this.setMetadata(ctx, targetColorChannelValue);\n }\n // And the compound one\n const currentColorValue = ColorSwitchCCValues.currentColor;\n this.setMetadata(ctx, currentColorValue);\n const targetColorValue = ColorSwitchCCValues.targetColor;\n this.setMetadata(ctx, targetColorValue);\n // Create the collective HEX color values\n const supportsHex = [\n ColorComponent.Red,\n ColorComponent.Green,\n ColorComponent.Blue,\n ].every((c) => supportedColors.includes(c));\n this.setValue(ctx, ColorSwitchCCValues.supportsHexColor, supportsHex);\n if (supportsHex) {\n const hexColorValue = ColorSwitchCCValues.hexColor;\n this.setMetadata(ctx, hexColorValue);\n }\n // Query all color components\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Color Switch\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n const supportedColors: readonly ColorComponent[] = this.getValue(ctx, ColorSwitchCCValues.supportedColorComponents) ?? [];\n for (const color of supportedColors) {\n // Some devices report invalid colors, but the CC API checks\n // for valid values and throws otherwise.\n if (!isEnumMember(ColorComponent, color))\n continue;\n const colorName = getEnumMemberName(ColorComponent, color);\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying current color state (${colorName})`,\n direction: \"outbound\",\n });\n await api.get(color);\n }\n }\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n if ((property === \"currentColor\" || property === \"targetColor\")\n && typeof propertyKey === \"number\") {\n const translated = ColorComponent[propertyKey];\n if (translated)\n return translated;\n }\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n}\n// @publicAPI\nexport interface ColorSwitchCCSupportedReportOptions {\n supportedColorComponents: readonly ColorComponent[];\n}\n@CCCommand(ColorSwitchCommand.SupportedReport)\n@ccValueProperty(\"supportedColorComponents\", ColorSwitchCCValues.supportedColorComponents)\nexport class ColorSwitchCCSupportedReport extends ColorSwitchCC {\n public constructor(options: WithAddress<ColorSwitchCCSupportedReportOptions>) {\n super(options);\n this.supportedColorComponents = options.supportedColorComponents;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ColorSwitchCCSupportedReport {\n // Docs say 'variable length', but the table shows 2 bytes.\n validatePayload(raw.payload.length >= 2);\n const supportedColorComponents: ColorComponent[] = parseBitMask(raw.payload.subarray(0, 2), ColorComponent[\"Warm White\"]);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedColorComponents,\n });\n }\n public readonly supportedColorComponents: readonly ColorComponent[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = encodeBitMask(this.supportedColorComponents, 15, // fixed 2 bytes\n ColorComponent[\"Warm White\"]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supported color components\": this.supportedColorComponents\n .map((c) => `\\n\u00B7 ${getEnumMemberName(ColorComponent, c)}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(ColorSwitchCommand.SupportedGet)\n@expectedCCResponse(ColorSwitchCCSupportedReport)\nexport class ColorSwitchCCSupportedGet extends ColorSwitchCC {\n}\n// @publicAPI\nexport interface ColorSwitchCCReportOptions {\n colorComponent: ColorComponent;\n currentValue: number;\n targetValue?: number;\n duration?: Duration | string;\n}\n@CCCommand(ColorSwitchCommand.Report)\n@ccValueProperty(\"currentValue\", ColorSwitchCCValues.currentColorChannel, (self) => [self.colorComponent])\n@ccValueProperty(\"targetValue\", ColorSwitchCCValues.targetColorChannel, (self) => [self.colorComponent])\n@ccValueProperty(\"duration\", ColorSwitchCCValues.duration)\nexport class ColorSwitchCCReport extends ColorSwitchCC {\n public constructor(options: WithAddress<ColorSwitchCCReportOptions>) {\n super(options);\n this.colorComponent = options.colorComponent;\n this.currentValue = options.currentValue;\n this.targetValue = options.targetValue;\n this.duration = Duration.from(options.duration);\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ColorSwitchCCReport {\n validatePayload(raw.payload.length >= 2);\n const colorComponent: ColorComponent = raw.payload[0];\n const currentValue = raw.payload[1];\n let targetValue: number | undefined;\n let duration: Duration | undefined;\n if (raw.payload.length >= 4) {\n targetValue = raw.payload[2];\n duration = Duration.parseReport(raw.payload[3]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n colorComponent,\n currentValue,\n targetValue,\n duration,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n // Duration is stored globally instead of per component\n if (!super.persistValues(ctx))\n return false;\n // Update compound current value\n const colorTableKey = colorComponentToTableKey(this.colorComponent);\n if (colorTableKey) {\n const compoundCurrentColorValue = ColorSwitchCCValues.currentColor;\n const compoundCurrentColor: Partial<Record<ColorKey, number>> = this.getValue(ctx, compoundCurrentColorValue) ?? {};\n compoundCurrentColor[colorTableKey] = this.currentValue;\n this.setValue(ctx, compoundCurrentColorValue, compoundCurrentColor);\n // and target value\n if (this.targetValue != undefined) {\n const compoundTargetColorValue = ColorSwitchCCValues.targetColor;\n const compoundTargetColor: Partial<Record<ColorKey, number>> = this.getValue(ctx, compoundTargetColorValue) ?? {};\n compoundTargetColor[colorTableKey] = this.targetValue;\n this.setValue(ctx, compoundTargetColorValue, compoundTargetColor);\n }\n }\n // Update collective hex value if required\n const supportsHex = !!this.getValue(ctx, ColorSwitchCCValues.supportsHexColor);\n if (supportsHex\n && (this.colorComponent === ColorComponent.Red\n || this.colorComponent === ColorComponent.Green\n || this.colorComponent === ColorComponent.Blue)) {\n const hexColorValue = ColorSwitchCCValues.hexColor;\n const hexValue: string = this.getValue(ctx, hexColorValue)\n ?? \"000000\";\n const byteOffset = ColorComponent.Blue - this.colorComponent;\n const byteMask = 0xff << (byteOffset * 8);\n let hexValueNumeric = parseInt(hexValue, 16);\n hexValueNumeric = (hexValueNumeric & ~byteMask)\n | (this.currentValue << (byteOffset * 8));\n this.setValue(ctx, hexColorValue, hexValueNumeric.toString(16).padStart(6, \"0\"));\n }\n return true;\n }\n public readonly colorComponent: ColorComponent;\n public readonly currentValue: number;\n public readonly targetValue: number | undefined;\n public readonly duration: Duration | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.colorComponent,\n this.currentValue,\n ]);\n if (this.targetValue != undefined && this.duration != undefined) {\n this.payload = Bytes.concat([\n this.payload,\n [\n this.targetValue ?? 0xfe,\n (this.duration ?? Duration.default()).serializeReport(),\n ],\n ]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"color component\": getEnumMemberName(ColorComponent, this.colorComponent),\n \"current value\": this.currentValue,\n };\n if (this.targetValue != undefined) {\n message[\"target value\"] = this.targetValue;\n }\n if (this.duration != undefined) {\n message.duration = this.duration.toString();\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface ColorSwitchCCGetOptions {\n colorComponent: ColorComponent;\n}\nfunction testResponseForColorSwitchGet(sent: ColorSwitchCCGet, received: ColorSwitchCCReport) {\n return sent.colorComponent === received.colorComponent;\n}\n@CCCommand(ColorSwitchCommand.Get)\n@expectedCCResponse(ColorSwitchCCReport, testResponseForColorSwitchGet)\nexport class ColorSwitchCCGet extends ColorSwitchCC {\n public constructor(options: WithAddress<ColorSwitchCCGetOptions>) {\n super(options);\n this._colorComponent = options.colorComponent;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ColorSwitchCCGet {\n validatePayload(raw.payload.length >= 1);\n const colorComponent: ColorComponent = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n colorComponent,\n });\n }\n private _colorComponent: ColorComponent;\n public get colorComponent(): ColorComponent {\n return this._colorComponent;\n }\n public set colorComponent(value: ColorComponent) {\n if (!ColorComponent[value]) {\n throw new ZWaveError(\"colorComponent must be a valid color component index.\", ZWaveErrorCodes.Argument_Invalid);\n }\n this._colorComponent = value;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this._colorComponent]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"color component\": getEnumMemberName(ColorComponent, this.colorComponent),\n },\n };\n }\n}\n// @publicAPI\nexport type ColorSwitchCCSetOptions = (ColorTable | {\n hexColor: string;\n}) & {\n duration?: Duration | string;\n};\n@CCCommand(ColorSwitchCommand.Set)\n@useSupervision()\nexport class ColorSwitchCCSet extends ColorSwitchCC {\n public constructor(options: WithAddress<ColorSwitchCCSetOptions>) {\n super(options);\n // Populate properties from options object\n if (\"hexColor\" in options) {\n const match = hexColorRegex.exec(options.hexColor);\n if (!match) {\n throw new ZWaveError(`${options.hexColor} is not a valid HEX color string`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.colorTable = {\n red: parseInt(match.groups!.red, 16),\n green: parseInt(match.groups!.green, 16),\n blue: parseInt(match.groups!.blue, 16),\n };\n }\n else {\n this.colorTable = pick(options, colorTableKeys as any[]);\n }\n this.duration = Duration.from(options.duration);\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ColorSwitchCCSet {\n validatePayload(raw.payload.length >= 1);\n const populatedColorCount = raw.payload[0] & 0b11111;\n validatePayload(raw.payload.length >= 1 + populatedColorCount * 2);\n const colorTable: ColorTable = {};\n let offset = 1;\n for (let color = 0; color < populatedColorCount; color++) {\n const component = raw.payload[offset];\n const value = raw.payload[offset + 1];\n const key = colorComponentToTableKey(component);\n if (key) {\n // @ts-expect-error\n this.colorTable[key] = value;\n }\n offset += 2;\n }\n let duration: Duration | undefined;\n if (raw.payload.length > offset) {\n duration = Duration.parseSet(raw.payload[offset]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n ...colorTable,\n duration,\n });\n }\n public colorTable: ColorTable;\n public duration: Duration | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const populatedColorCount = Object.keys(this.colorTable).length;\n this.payload = new Bytes(1 + populatedColorCount * 2 + 1);\n this.payload[0] = populatedColorCount & 0b11111;\n let i = 1;\n for (const [key, value] of Object.entries(this.colorTable)) {\n const component = colorTableKeyToComponent(key);\n this.payload[i] = component;\n this.payload[i + 1] = clamp(value, 0, 0xff);\n i += 2;\n }\n this.payload[i] = (this.duration ?? Duration.default()).serializeSet();\n const ccVersion = getEffectiveCCVersion(ctx, this);\n if (ccVersion < 2 && ctx.getDeviceConfig?.(this.nodeId as number)?.compat?.encodeCCsUsingTargetVersion) {\n // When forcing CC version 1, omit the duration byte\n this.payload = this.payload.subarray(0, -1);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n for (const [key, value] of Object.entries(this.colorTable)) {\n const realKey: string = key in ColorComponentMap\n ? (ColorComponent as any)[(ColorComponentMap as any)[key]]\n : (ColorComponent as any)[key];\n message[realKey] = value;\n }\n if (this.duration != undefined) {\n message.duration = this.duration.toString();\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport type ColorSwitchCCStartLevelChangeOptions = {\n colorComponent: ColorComponent;\n direction: keyof typeof LevelChangeDirection;\n} & ({\n ignoreStartLevel: true;\n startLevel?: number;\n} | {\n ignoreStartLevel: false;\n startLevel: number;\n}) & {\n // Version >= 3:\n duration?: Duration | string;\n};\n@CCCommand(ColorSwitchCommand.StartLevelChange)\n@useSupervision()\nexport class ColorSwitchCCStartLevelChange extends ColorSwitchCC {\n public constructor(options: WithAddress<ColorSwitchCCStartLevelChangeOptions>) {\n super(options);\n this.duration = Duration.from(options.duration);\n this.ignoreStartLevel = options.ignoreStartLevel;\n this.startLevel = options.startLevel ?? 0;\n this.direction = options.direction;\n this.colorComponent = options.colorComponent;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ColorSwitchCCStartLevelChange {\n validatePayload(raw.payload.length >= 3);\n const ignoreStartLevel = !!((raw.payload[0] & 32) >>> 5);\n const direction = ((raw.payload[0] & 64) >>> 6)\n ? \"down\"\n : \"up\";\n const colorComponent: ColorComponent = raw.payload[1];\n const startLevel = raw.payload[2];\n let duration: Duration | undefined;\n if (raw.payload.length >= 4) {\n duration = Duration.parseSet(raw.payload[3]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n ignoreStartLevel,\n direction,\n colorComponent,\n startLevel,\n duration,\n });\n }\n public duration: Duration | undefined;\n public startLevel: number;\n public ignoreStartLevel: boolean;\n public direction: keyof typeof LevelChangeDirection;\n public colorComponent: ColorComponent;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const controlByte = (LevelChangeDirection[this.direction] << 6)\n | (this.ignoreStartLevel ? 32 : 0);\n this.payload = Bytes.from([\n controlByte,\n this.colorComponent,\n this.startLevel,\n (this.duration ?? Duration.default()).serializeSet(),\n ]);\n const ccVersion = getEffectiveCCVersion(ctx, this);\n if (ccVersion < 3 && ctx.getDeviceConfig?.(this.nodeId as number)?.compat?.encodeCCsUsingTargetVersion) {\n // When forcing CC version 1 or 2, omit the duration byte\n this.payload = this.payload.subarray(0, -1);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"color component\": getEnumMemberName(ColorComponent, this.colorComponent),\n \"start level\": `${this.startLevel}${this.ignoreStartLevel ? \" (ignored)\" : \"\"}`,\n direction: this.direction,\n };\n if (this.duration != undefined) {\n message.duration = this.duration.toString();\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface ColorSwitchCCStopLevelChangeOptions {\n colorComponent: ColorComponent;\n}\n@CCCommand(ColorSwitchCommand.StopLevelChange)\n@useSupervision()\nexport class ColorSwitchCCStopLevelChange extends ColorSwitchCC {\n public constructor(options: WithAddress<ColorSwitchCCStopLevelChangeOptions>) {\n super(options);\n this.colorComponent = options.colorComponent;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ColorSwitchCCStopLevelChange {\n validatePayload(raw.payload.length >= 1);\n const colorComponent: ColorComponent = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n colorComponent,\n });\n }\n public readonly colorComponent: ColorComponent;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.colorComponent]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"color component\": getEnumMemberName(ColorComponent, this.colorComponent),\n },\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../
|
|
4
|
-
"sourcesContent": [
|
|
3
|
+
"sources": ["../../../src_gen/cc/ConfigurationCC._validateArgs.ts"],
|
|
4
|
+
"sourcesContent": ["import * as v from \"@zwave-js/core/validation\";\n\nexport function validateArgs_ConfigurationCCAPI_get() {\n\treturn <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext): T | void => {\n\t\tif (kind === \"method\") {\n\t\t\treturn function get(this: any, parameter: unknown, options: unknown) {\n\t\t\t\tv.assert(\n\t\t\t\t\tv.primitive({ kind: \"parameter\", name: \"parameter\" }, \"number\")(parameter),\n\n\t\t\t\t\tv.optional({ kind: \"parameter\", name: \"options\" }, v.object({ kind: \"parameter\", name: \"options\" }, '<anonymous object>', { \"valueBitMask\": v.optional({ kind: \"property\", name: \"valueBitMask\" }, v.primitive({ kind: \"property\", name: \"valueBitMask\" }, \"number\")), \"allowUnexpectedResponse\": v.optional({ kind: \"property\", name: \"allowUnexpectedResponse\" }, v.primitive({ kind: \"property\", name: \"allowUnexpectedResponse\" }, \"boolean\")) }))(options),\n\t\t\t\t);\n\t\t\t\treturn __decoratedMethod.call(this, parameter, options);\n\t\t\t} as unknown as T;\n\t\t}\n\t};\n}\n\nexport function validateArgs_ConfigurationCCAPI_getBulk() {\n\treturn <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext): T | void => {\n\t\tif (kind === \"method\") {\n\t\t\treturn function getBulk(this: any, options: unknown) {\n\t\t\t\tv.assert(\n\t\t\t\t\tv.array({ kind: \"parameter\", name: \"options\" }, '__type', v.object({ kind: \"item\", name: \"options\" }, '<anonymous object>', { \"parameter\": v.primitive({ kind: \"property\", name: \"parameter\" }, \"number\"), \"bitMask\": v.optional({ kind: \"property\", name: \"bitMask\" }, v.primitive({ kind: \"property\", name: \"bitMask\" }, \"number\")) }))(options),\n\t\t\t\t);\n\t\t\t\treturn __decoratedMethod.call(this, options);\n\t\t\t} as unknown as T;\n\t\t}\n\t};\n}\n\nexport function validateArgs_ConfigurationCCAPI_set() {\n\treturn <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext): T | void => {\n\t\tif (kind === \"method\") {\n\t\t\treturn function set(this: any, options: unknown) {\n\t\t\t\tv.assert(\n\t\t\t\t\tv.oneOf({ kind: \"parameter\", name: \"options\" }, \"ConfigurationCCAPISetOptions\", v.allOf({ kind: \"parameter\", name: \"options\" }, undefined, v.object({ kind: \"parameter\", name: \"options\" }, '<anonymous object>', { \"parameter\": v.primitive({ kind: \"property\", name: \"parameter\" }, \"number\") }), v.object({ kind: \"parameter\", name: \"options\" }, '<anonymous object>', { \"bitMask\": v.undefined({ kind: \"property\", name: \"bitMask\" }), \"value\": v.primitive({ kind: \"property\", name: \"value\" }, \"number\") })), v.allOf({ kind: \"parameter\", name: \"options\" }, undefined, v.object({ kind: \"parameter\", name: \"options\" }, '<anonymous object>', { \"parameter\": v.primitive({ kind: \"property\", name: \"parameter\" }, \"number\") }), v.object({ kind: \"parameter\", name: \"options\" }, '<anonymous object>', { \"bitMask\": v.undefined({ kind: \"property\", name: \"bitMask\" }), \"value\": v.primitive({ kind: \"property\", name: \"value\" }, \"number\"), \"valueSize\": v.oneOf({ kind: \"property\", name: \"valueSize\" }, undefined, v.literal({ kind: \"property\", name: \"valueSize\" }, 1), v.literal({ kind: \"property\", name: \"valueSize\" }, 2), v.literal({ kind: \"property\", name: \"valueSize\" }, 4)), \"valueFormat\": v.enum({ kind: \"property\", name: \"valueFormat\" }, \"ConfigValueFormat\", [0, 1, 2, 3]) })), v.allOf({ kind: \"parameter\", name: \"options\" }, undefined, v.object({ kind: \"parameter\", name: \"options\" }, '<anonymous object>', { \"parameter\": v.primitive({ kind: \"property\", name: \"parameter\" }, \"number\") }), v.object({ kind: \"parameter\", name: \"options\" }, '<anonymous object>', { \"bitMask\": v.primitive({ kind: \"property\", name: \"bitMask\" }, \"number\"), \"value\": v.primitive({ kind: \"property\", name: \"value\" }, \"number\") })))(options),\n\t\t\t\t);\n\t\t\t\treturn __decoratedMethod.call(this, options);\n\t\t\t} as unknown as T;\n\t\t}\n\t};\n}\n\nexport function validateArgs_ConfigurationCCAPI_setBulk() {\n\treturn <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext): T | void => {\n\t\tif (kind === \"method\") {\n\t\t\treturn function setBulk(this: any, values: unknown) {\n\t\t\t\tv.assert(\n\t\t\t\t\tv.array({ kind: \"parameter\", name: \"values\" }, 'import(\"/home/runner/work/zwave-js/zwave-js/packages/cc/src/cc/ConfigurationCC\").ConfigurationCCAPISetOptions', v.oneOf({ kind: \"item\", name: \"values\" }, \"ConfigurationCCAPISetOptions\", v.allOf({ kind: \"item\", name: \"values\" }, undefined, v.object({ kind: \"item\", name: \"values\" }, '<anonymous object>', { \"parameter\": v.primitive({ kind: \"property\", name: \"parameter\" }, \"number\") }), v.object({ kind: \"item\", name: \"values\" }, '<anonymous object>', { \"bitMask\": v.undefined({ kind: \"property\", name: \"bitMask\" }), \"value\": v.primitive({ kind: \"property\", name: \"value\" }, \"number\") })), v.allOf({ kind: \"item\", name: \"values\" }, undefined, v.object({ kind: \"item\", name: \"values\" }, '<anonymous object>', { \"parameter\": v.primitive({ kind: \"property\", name: \"parameter\" }, \"number\") }), v.object({ kind: \"item\", name: \"values\" }, '<anonymous object>', { \"bitMask\": v.undefined({ kind: \"property\", name: \"bitMask\" }), \"value\": v.primitive({ kind: \"property\", name: \"value\" }, \"number\"), \"valueSize\": v.oneOf({ kind: \"property\", name: \"valueSize\" }, undefined, v.literal({ kind: \"property\", name: \"valueSize\" }, 1), v.literal({ kind: \"property\", name: \"valueSize\" }, 2), v.literal({ kind: \"property\", name: \"valueSize\" }, 4)), \"valueFormat\": v.enum({ kind: \"property\", name: \"valueFormat\" }, \"ConfigValueFormat\", [0, 1, 2, 3]) })), v.allOf({ kind: \"item\", name: \"values\" }, undefined, v.object({ kind: \"item\", name: \"values\" }, '<anonymous object>', { \"parameter\": v.primitive({ kind: \"property\", name: \"parameter\" }, \"number\") }), v.object({ kind: \"item\", name: \"values\" }, '<anonymous object>', { \"bitMask\": v.primitive({ kind: \"property\", name: \"bitMask\" }, \"number\"), \"value\": v.primitive({ kind: \"property\", name: \"value\" }, \"number\") }))))(values),\n\t\t\t\t);\n\t\t\t\treturn __decoratedMethod.call(this, values);\n\t\t\t} as unknown as T;\n\t\t}\n\t};\n}\n\nexport function validateArgs_ConfigurationCCAPI_reset() {\n\treturn <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext): T | void => {\n\t\tif (kind === \"method\") {\n\t\t\treturn function reset(this: any, parameter: unknown) {\n\t\t\t\tv.assert(\n\t\t\t\t\tv.primitive({ kind: \"parameter\", name: \"parameter\" }, \"number\")(parameter),\n\t\t\t\t);\n\t\t\t\treturn __decoratedMethod.call(this, parameter);\n\t\t\t} as unknown as T;\n\t\t}\n\t};\n}\n\nexport function validateArgs_ConfigurationCCAPI_resetBulk() {\n\treturn <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext): T | void => {\n\t\tif (kind === \"method\") {\n\t\t\treturn function resetBulk(this: any, parameters: unknown) {\n\t\t\t\tv.assert(\n\t\t\t\t\tv.array({ kind: \"parameter\", name: \"parameters\" }, 'number', v.primitive({ kind: \"item\", name: \"parameters\" }, \"number\"))(parameters),\n\t\t\t\t);\n\t\t\t\treturn __decoratedMethod.call(this, parameters);\n\t\t\t} as unknown as T;\n\t\t}\n\t};\n}\n\nexport function validateArgs_ConfigurationCCAPI_getProperties() {\n\treturn <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext): T | void => {\n\t\tif (kind === \"method\") {\n\t\t\treturn function getProperties(this: any, parameter: unknown) {\n\t\t\t\tv.assert(\n\t\t\t\t\tv.primitive({ kind: \"parameter\", name: \"parameter\" }, \"number\")(parameter),\n\t\t\t\t);\n\t\t\t\treturn __decoratedMethod.call(this, parameter);\n\t\t\t} as unknown as T;\n\t\t}\n\t};\n}\n\nexport function validateArgs_ConfigurationCCAPI_getName() {\n\treturn <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext): T | void => {\n\t\tif (kind === \"method\") {\n\t\t\treturn function getName(this: any, parameter: unknown) {\n\t\t\t\tv.assert(\n\t\t\t\t\tv.primitive({ kind: \"parameter\", name: \"parameter\" }, \"number\")(parameter),\n\t\t\t\t);\n\t\t\t\treturn __decoratedMethod.call(this, parameter);\n\t\t\t} as unknown as T;\n\t\t}\n\t};\n}\n\nexport function validateArgs_ConfigurationCCAPI_getInfo() {\n\treturn <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext): T | void => {\n\t\tif (kind === \"method\") {\n\t\t\treturn function getInfo(this: any, parameter: unknown) {\n\t\t\t\tv.assert(\n\t\t\t\t\tv.primitive({ kind: \"parameter\", name: \"parameter\" }, \"number\")(parameter),\n\t\t\t\t);\n\t\t\t\treturn __decoratedMethod.call(this, parameter);\n\t\t\t} as unknown as T;\n\t\t}\n\t};\n}"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|