@zwave-js/cc 15.1.1 → 15.1.2
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.d.ts +7 -7
- package/build/cjs/cc/AlarmSensorCC.js +22 -23
- package/build/cjs/cc/AlarmSensorCC.js.map +3 -3
- package/build/cjs/cc/AssociationCC.d.ts +8 -9
- package/build/cjs/cc/AssociationCC.js +29 -29
- package/build/cjs/cc/AssociationCC.js.map +3 -3
- package/build/cjs/cc/AssociationGroupInfoCC.d.ts +7 -7
- package/build/cjs/cc/AssociationGroupInfoCC.js +31 -32
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +3 -3
- package/build/cjs/cc/BarrierOperatorCC.d.ts +8 -8
- package/build/cjs/cc/BarrierOperatorCC.js +35 -36
- package/build/cjs/cc/BarrierOperatorCC.js.map +3 -3
- package/build/cjs/cc/BasicCC.d.ts +4 -4
- package/build/cjs/cc/BasicCC.js +23 -24
- package/build/cjs/cc/BasicCC.js.map +3 -3
- package/build/cjs/cc/BatteryCC.d.ts +4 -7
- package/build/cjs/cc/BatteryCC.js +18 -20
- package/build/cjs/cc/BatteryCC.js.map +3 -3
- package/build/cjs/cc/BinarySensorCC.d.ts +5 -5
- package/build/cjs/cc/BinarySensorCC.js +20 -21
- package/build/cjs/cc/BinarySensorCC.js.map +3 -3
- package/build/cjs/cc/BinarySwitchCC._validateArgs.js +2 -2
- package/build/cjs/cc/BinarySwitchCC.d.ts +6 -6
- package/build/cjs/cc/BinarySwitchCC.js +26 -26
- package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
- package/build/cjs/cc/CRC16CC.d.ts +3 -3
- package/build/cjs/cc/CRC16CC.js +15 -15
- package/build/cjs/cc/CRC16CC.js.map +3 -3
- package/build/cjs/cc/CentralSceneCC.d.ts +8 -8
- package/build/cjs/cc/CentralSceneCC.js +23 -24
- package/build/cjs/cc/CentralSceneCC.js.map +3 -3
- package/build/cjs/cc/ClimateControlScheduleCC.d.ts +6 -6
- package/build/cjs/cc/ClimateControlScheduleCC.js +19 -20
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +3 -3
- package/build/cjs/cc/ClockCC.d.ts +3 -4
- package/build/cjs/cc/ClockCC.js +13 -14
- package/build/cjs/cc/ClockCC.js.map +3 -3
- package/build/cjs/cc/ColorSwitchCC.d.ts +3 -4
- package/build/cjs/cc/ColorSwitchCC.js +22 -24
- package/build/cjs/cc/ColorSwitchCC.js.map +3 -3
- package/build/cjs/cc/ConfigurationCC.d.ts +3 -3
- package/build/cjs/cc/ConfigurationCC.js +114 -115
- package/build/cjs/cc/ConfigurationCC.js.map +3 -3
- package/build/cjs/cc/DeviceResetLocallyCC.d.ts +2 -2
- package/build/cjs/cc/DeviceResetLocallyCC.js +5 -5
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/cjs/cc/DoorLockCC.d.ts +29 -29
- package/build/cjs/cc/DoorLockCC.js +39 -40
- package/build/cjs/cc/DoorLockCC.js.map +3 -3
- package/build/cjs/cc/DoorLockLoggingCC.d.ts +4 -4
- package/build/cjs/cc/DoorLockLoggingCC.js +13 -14
- package/build/cjs/cc/DoorLockLoggingCC.js.map +3 -3
- package/build/cjs/cc/EnergyProductionCC.d.ts +2 -3
- package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
- package/build/cjs/cc/EntryControlCC.d.ts +8 -8
- package/build/cjs/cc/EntryControlCC.js +41 -42
- package/build/cjs/cc/EntryControlCC.js.map +3 -3
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +9 -10
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +52 -53
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +3 -3
- package/build/cjs/cc/HailCC.js +2 -2
- package/build/cjs/cc/HailCC.js.map +1 -1
- package/build/cjs/cc/HumidityControlModeCC.d.ts +5 -5
- package/build/cjs/cc/HumidityControlModeCC.js +20 -21
- package/build/cjs/cc/HumidityControlModeCC.js.map +3 -3
- package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +3 -3
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +9 -9
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +3 -3
- package/build/cjs/cc/HumidityControlSetpointCC.d.ts +6 -6
- package/build/cjs/cc/HumidityControlSetpointCC.js +43 -44
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +3 -3
- package/build/cjs/cc/InclusionControllerCC.d.ts +2 -3
- package/build/cjs/cc/InclusionControllerCC.js.map +2 -2
- package/build/cjs/cc/IndicatorCC.d.ts +3 -3
- package/build/cjs/cc/IndicatorCC.js +50 -52
- package/build/cjs/cc/IndicatorCC.js.map +3 -3
- package/build/cjs/cc/IrrigationCC.d.ts +3 -3
- package/build/cjs/cc/IrrigationCC.js +74 -75
- package/build/cjs/cc/IrrigationCC.js.map +3 -3
- package/build/cjs/cc/LanguageCC.d.ts +5 -6
- package/build/cjs/cc/LanguageCC.js +14 -15
- package/build/cjs/cc/LanguageCC.js.map +3 -3
- package/build/cjs/cc/LockCC.d.ts +4 -4
- package/build/cjs/cc/LockCC.js +10 -10
- package/build/cjs/cc/LockCC.js.map +3 -3
- package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +3 -3
- package/build/cjs/cc/ManufacturerProprietaryCC.js +10 -10
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +3 -3
- package/build/cjs/cc/ManufacturerSpecificCC.d.ts +7 -8
- package/build/cjs/cc/ManufacturerSpecificCC.js +20 -21
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +3 -3
- package/build/cjs/cc/MeterCC.d.ts +4 -6
- package/build/cjs/cc/MeterCC.js +52 -54
- package/build/cjs/cc/MeterCC.js.map +3 -3
- package/build/cjs/cc/MultiChannelAssociationCC.d.ts +7 -8
- package/build/cjs/cc/MultiChannelAssociationCC.js +34 -35
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +3 -3
- package/build/cjs/cc/MultiChannelCC.d.ts +11 -11
- package/build/cjs/cc/MultiChannelCC.js +53 -53
- package/build/cjs/cc/MultiChannelCC.js.map +3 -3
- package/build/cjs/cc/MultiCommandCC.d.ts +3 -3
- package/build/cjs/cc/MultiCommandCC.js +13 -13
- package/build/cjs/cc/MultiCommandCC.js.map +3 -3
- package/build/cjs/cc/MultilevelSensorCC.d.ts +4 -7
- package/build/cjs/cc/MultilevelSensorCC.js +26 -28
- package/build/cjs/cc/MultilevelSensorCC.js.map +3 -3
- package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js +3 -3
- package/build/cjs/cc/MultilevelSwitchCC.d.ts +13 -13
- package/build/cjs/cc/MultilevelSwitchCC.js +36 -37
- package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
- package/build/cjs/cc/NoOperationCC.js +4 -4
- package/build/cjs/cc/NoOperationCC.js.map +1 -1
- package/build/cjs/cc/NodeNamingCC.d.ts +5 -5
- package/build/cjs/cc/NodeNamingCC.js +20 -20
- package/build/cjs/cc/NodeNamingCC.js.map +3 -3
- package/build/cjs/cc/NotificationCC.d.ts +4 -5
- package/build/cjs/cc/NotificationCC.js +66 -68
- package/build/cjs/cc/NotificationCC.js.map +3 -3
- package/build/cjs/cc/PowerlevelCC.d.ts +3 -3
- package/build/cjs/cc/PowerlevelCC.js +25 -26
- package/build/cjs/cc/PowerlevelCC.js.map +3 -3
- package/build/cjs/cc/ProtectionCC._validateArgs.js +2 -2
- package/build/cjs/cc/ProtectionCC.d.ts +11 -11
- package/build/cjs/cc/ProtectionCC.js +35 -36
- package/build/cjs/cc/ProtectionCC.js.map +3 -3
- package/build/cjs/cc/SceneActivationCC._validateArgs.js +2 -2
- package/build/cjs/cc/SceneActivationCC.d.ts +5 -6
- package/build/cjs/cc/SceneActivationCC.js +10 -10
- package/build/cjs/cc/SceneActivationCC.js.map +3 -3
- package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js +2 -2
- package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +5 -5
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +19 -20
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +3 -3
- package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js +2 -2
- package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +6 -6
- package/build/cjs/cc/SceneControllerConfigurationCC.js +25 -26
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +3 -3
- package/build/cjs/cc/ScheduleEntryLockCC.d.ts +2 -3
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
- package/build/cjs/cc/Security2CC.d.ts +3 -4
- package/build/cjs/cc/Security2CC.js +60 -62
- package/build/cjs/cc/Security2CC.js.map +3 -3
- package/build/cjs/cc/SecurityCC.d.ts +3 -4
- package/build/cjs/cc/SecurityCC.js +25 -26
- package/build/cjs/cc/SecurityCC.js.map +3 -3
- package/build/cjs/cc/SoundSwitchCC.d.ts +7 -7
- package/build/cjs/cc/SoundSwitchCC.js +28 -29
- package/build/cjs/cc/SoundSwitchCC.js.map +3 -3
- package/build/cjs/cc/SupervisionCC.d.ts +4 -4
- package/build/cjs/cc/SupervisionCC.js +28 -29
- package/build/cjs/cc/SupervisionCC.js.map +3 -3
- package/build/cjs/cc/ThermostatFanModeCC.d.ts +6 -6
- package/build/cjs/cc/ThermostatFanModeCC.js +21 -22
- package/build/cjs/cc/ThermostatFanModeCC.js.map +3 -3
- package/build/cjs/cc/ThermostatFanStateCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatFanStateCC.js +9 -9
- package/build/cjs/cc/ThermostatFanStateCC.js.map +3 -3
- package/build/cjs/cc/ThermostatModeCC.d.ts +6 -6
- package/build/cjs/cc/ThermostatModeCC.js +30 -31
- package/build/cjs/cc/ThermostatModeCC.js.map +3 -3
- package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +3 -4
- package/build/cjs/cc/ThermostatOperatingStateCC.js +9 -9
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +3 -3
- package/build/cjs/cc/ThermostatSetbackCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatSetbackCC.js +14 -15
- package/build/cjs/cc/ThermostatSetbackCC.js.map +3 -3
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +6 -6
- package/build/cjs/cc/ThermostatSetpointCC.js +48 -49
- package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
- package/build/cjs/cc/TimeCC.d.ts +3 -4
- package/build/cjs/cc/TimeCC.js +9 -10
- package/build/cjs/cc/TimeCC.js.map +3 -3
- package/build/cjs/cc/TimeParametersCC.d.ts +3 -4
- package/build/cjs/cc/TimeParametersCC.js +2 -2
- package/build/cjs/cc/TimeParametersCC.js.map +2 -2
- package/build/cjs/cc/TransportServiceCC.d.ts +3 -3
- package/build/cjs/cc/TransportServiceCC.js +44 -45
- package/build/cjs/cc/TransportServiceCC.js.map +3 -3
- package/build/cjs/cc/UserCodeCC.d.ts +19 -19
- package/build/cjs/cc/UserCodeCC.js +102 -103
- package/build/cjs/cc/UserCodeCC.js.map +3 -3
- package/build/cjs/cc/VersionCC.d.ts +17 -17
- package/build/cjs/cc/VersionCC.js +46 -47
- package/build/cjs/cc/VersionCC.js.map +3 -3
- package/build/cjs/cc/WakeUpCC.d.ts +6 -6
- package/build/cjs/cc/WakeUpCC.js +16 -17
- package/build/cjs/cc/WakeUpCC.js.map +3 -3
- package/build/cjs/cc/WindowCoveringCC.d.ts +3 -4
- package/build/cjs/cc/WindowCoveringCC.js +17 -18
- package/build/cjs/cc/WindowCoveringCC.js.map +3 -3
- package/build/cjs/cc/ZWavePlusCC.d.ts +8 -8
- package/build/cjs/cc/ZWavePlusCC.js +15 -16
- package/build/cjs/cc/ZWavePlusCC.js.map +3 -3
- package/build/cjs/cc/ZWaveProtocolCC.d.ts +2 -2
- package/build/cjs/cc/ZWaveProtocolCC.js +35 -35
- package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
- package/build/cjs/cc/_CCValues.generated.js +24 -26
- package/build/cjs/cc/_CCValues.generated.js.map +3 -3
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +14 -14
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/cjs/lib/API.d.ts +3 -3
- package/build/cjs/lib/API.js.map +2 -2
- package/build/cjs/lib/CommandClass.d.ts +5 -6
- package/build/cjs/lib/CommandClass.js +45 -45
- package/build/cjs/lib/CommandClass.js.map +3 -3
- package/build/cjs/lib/CommandClassDecorators.d.ts +2 -2
- package/build/cjs/lib/CommandClassDecorators.js +3 -3
- package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
- package/build/cjs/lib/Security2/Extension.d.ts +2 -2
- package/build/cjs/lib/Security2/Extension.js +17 -17
- package/build/cjs/lib/Security2/Extension.js.map +3 -3
- package/build/cjs/lib/SetValueResult.d.ts +1 -1
- package/build/cjs/lib/SetValueResult.js.map +1 -1
- package/build/cjs/lib/Values.d.ts +3 -3
- package/build/cjs/lib/Values.js +6 -6
- package/build/cjs/lib/Values.js.map +2 -2
- package/build/cjs/lib/_Types.d.ts +2 -2
- package/build/cjs/lib/_Types.js +3 -3
- package/build/cjs/lib/_Types.js.map +1 -1
- package/build/cjs/lib/serializers.d.ts +1 -1
- package/build/cjs/lib/serializers.js +5 -5
- package/build/cjs/lib/serializers.js.map +2 -2
- package/build/cjs/lib/traits.d.ts +2 -2
- package/build/cjs/lib/utils.d.ts +2 -2
- package/build/cjs/lib/utils.js +60 -60
- package/build/cjs/lib/utils.js.map +3 -3
- package/build/esm/cc/AlarmSensorCC.d.ts +7 -7
- 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/AssociationCC.d.ts +8 -9
- package/build/esm/cc/AssociationCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.js +2 -2
- package/build/esm/cc/AssociationCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.d.ts +7 -7
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.js +2 -3
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.d.ts +8 -8
- 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.d.ts +4 -4
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +2 -3
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts +4 -7
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +2 -4
- package/build/esm/cc/BatteryCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC.d.ts +5 -5
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.js +2 -3
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.js +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts +6 -6
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +2 -2
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CRC16CC.d.ts +3 -3
- package/build/esm/cc/CRC16CC.d.ts.map +1 -1
- package/build/esm/cc/CRC16CC.js +2 -2
- package/build/esm/cc/CRC16CC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts +8 -8
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.js +2 -3
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.d.ts +6 -6
- package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.js +2 -3
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/esm/cc/ClockCC.d.ts +3 -4
- package/build/esm/cc/ClockCC.d.ts.map +1 -1
- package/build/esm/cc/ClockCC.js +2 -3
- package/build/esm/cc/ClockCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC.d.ts +3 -4
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.js +2 -4
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC.d.ts +3 -3
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +2 -3
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts +2 -2
- package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts +29 -29
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.js +2 -3
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.d.ts +4 -4
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.js +2 -3
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC.d.ts +2 -3
- package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts +8 -8
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +2 -3
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +9 -10
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +2 -3
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HailCC.js +1 -1
- package/build/esm/cc/HailCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.d.ts +5 -5
- 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 +3 -3
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js +2 -2
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts +6 -6
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +2 -3
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/InclusionControllerCC.d.ts +2 -3
- package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
- package/build/esm/cc/InclusionControllerCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC.d.ts +3 -3
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.js +2 -4
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC.d.ts +3 -3
- package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.js +2 -3
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts +5 -6
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +2 -3
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC.d.ts +4 -4
- package/build/esm/cc/LockCC.d.ts.map +1 -1
- package/build/esm/cc/LockCC.js +2 -2
- package/build/esm/cc/LockCC.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts +3 -3
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.js +2 -2
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts +7 -8
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +2 -3
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC.d.ts +4 -6
- package/build/esm/cc/MeterCC.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.js +2 -4
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.d.ts +7 -8
- package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.js +2 -3
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts +11 -11
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +2 -2
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultiCommandCC.d.ts +3 -3
- package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC.js +2 -2
- package/build/esm/cc/MultiCommandCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.d.ts +4 -7
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.js +2 -4
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.js +1 -1
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts +13 -13
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +2 -3
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NoOperationCC.js +1 -1
- package/build/esm/cc/NoOperationCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts +5 -5
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +2 -2
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts +4 -5
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +2 -4
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts +3 -3
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.js +2 -3
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC._validateArgs.js +1 -1
- package/build/esm/cc/ProtectionCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts +11 -11
- 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.js +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SceneActivationCC.d.ts +5 -6
- package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.js +2 -2
- package/build/esm/cc/SceneActivationCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +5 -5
- 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.js +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts +6 -6
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +2 -3
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts +2 -3
- package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts +3 -4
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +2 -4
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts +3 -4
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +1 -2
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts +7 -7
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +2 -3
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/SupervisionCC.d.ts +4 -4
- package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
- package/build/esm/cc/SupervisionCC.js +2 -3
- package/build/esm/cc/SupervisionCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.d.ts +6 -6
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.js +2 -3
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.d.ts +3 -3
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.js +2 -2
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts +6 -6
- 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 +3 -4
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.js +2 -2
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.d.ts +3 -3
- package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.js +2 -3
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts +6 -6
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +2 -3
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC.d.ts +3 -4
- package/build/esm/cc/TimeCC.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.js +1 -2
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC.d.ts +3 -4
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.js +1 -1
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/TransportServiceCC.d.ts +3 -3
- package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
- package/build/esm/cc/TransportServiceCC.js +2 -3
- package/build/esm/cc/TransportServiceCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts +19 -19
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.js +2 -3
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/VersionCC.d.ts +17 -17
- package/build/esm/cc/VersionCC.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.js +2 -3
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC.d.ts +6 -6
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.js +2 -3
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts +3 -4
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +1 -2
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts +8 -8
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.js +2 -3
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.d.ts +2 -2
- package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js +1 -1
- 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 +2 -4
- package/build/esm/cc/_CCValues.generated.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/esm/lib/API.d.ts +3 -3
- package/build/esm/lib/API.d.ts.map +1 -1
- package/build/esm/lib/API.js.map +1 -1
- package/build/esm/lib/CommandClass.d.ts +5 -6
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js +2 -2
- package/build/esm/lib/CommandClass.js.map +1 -1
- package/build/esm/lib/CommandClassDecorators.d.ts +2 -2
- package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
- package/build/esm/lib/CommandClassDecorators.js +1 -1
- package/build/esm/lib/CommandClassDecorators.js.map +1 -1
- package/build/esm/lib/Security2/Extension.d.ts +2 -2
- package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
- package/build/esm/lib/Security2/Extension.js +2 -2
- package/build/esm/lib/Security2/Extension.js.map +1 -1
- package/build/esm/lib/SetValueResult.d.ts +1 -1
- package/build/esm/lib/SetValueResult.d.ts.map +1 -1
- package/build/esm/lib/Values.d.ts +3 -3
- package/build/esm/lib/Values.d.ts.map +1 -1
- package/build/esm/lib/Values.js +1 -1
- package/build/esm/lib/Values.js.map +1 -1
- package/build/esm/lib/_Types.d.ts +2 -2
- package/build/esm/lib/_Types.d.ts.map +1 -1
- package/build/esm/lib/_Types.js +1 -1
- package/build/esm/lib/_Types.js.map +1 -1
- package/build/esm/lib/serializers.d.ts +1 -1
- package/build/esm/lib/serializers.d.ts.map +1 -1
- package/build/esm/lib/serializers.js +1 -1
- package/build/esm/lib/serializers.js.map +1 -1
- package/build/esm/lib/traits.d.ts +2 -2
- package/build/esm/lib/traits.d.ts.map +1 -1
- package/build/esm/lib/utils.d.ts +2 -2
- package/build/esm/lib/utils.d.ts.map +1 -1
- package/build/esm/lib/utils.js +2 -2
- package/build/esm/lib/utils.js.map +1 -1
- package/package.json +6 -6
|
@@ -44,9 +44,8 @@ __export(HumidityControlSetpointCC_exports, {
|
|
|
44
44
|
});
|
|
45
45
|
module.exports = __toCommonJS(HumidityControlSetpointCC_exports);
|
|
46
46
|
var __validateArgs = __toESM(require("./HumidityControlSetpointCC._validateArgs.js"), 1);
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
var import_safe3 = require("@zwave-js/shared/safe");
|
|
47
|
+
var import_core = require("@zwave-js/core");
|
|
48
|
+
var import_shared = require("@zwave-js/shared");
|
|
50
49
|
var import_API = require("../lib/API.js");
|
|
51
50
|
var import_CommandClass = require("../lib/CommandClass.js");
|
|
52
51
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
@@ -95,7 +94,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
|
|
|
95
94
|
};
|
|
96
95
|
const { validateArgs_HumidityControlSetpointCCAPI_get, validateArgs_HumidityControlSetpointCCAPI_set, validateArgs_HumidityControlSetpointCCAPI_getCapabilities, validateArgs_HumidityControlSetpointCCAPI_getSupportedScales } = __validateArgs;
|
|
97
96
|
function getScale(scale) {
|
|
98
|
-
return (0,
|
|
97
|
+
return (0, import_core.getNamedScale)("humidity", scale) ?? (0, import_core.getUnknownScale)(scale);
|
|
99
98
|
}
|
|
100
99
|
__name(getScale, "getScale");
|
|
101
100
|
function getSetpointUnit(scale) {
|
|
@@ -103,7 +102,7 @@ function getSetpointUnit(scale) {
|
|
|
103
102
|
}
|
|
104
103
|
__name(getSetpointUnit, "getSetpointUnit");
|
|
105
104
|
let HumidityControlSetpointCCAPI = (() => {
|
|
106
|
-
let _classDecorators = [(0, import_CommandClassDecorators.API)(
|
|
105
|
+
let _classDecorators = [(0, import_CommandClassDecorators.API)(import_core.CommandClasses["Humidity Control Setpoint"])];
|
|
107
106
|
let _classDescriptor;
|
|
108
107
|
let _classExtraInitializers = [];
|
|
109
108
|
let _classThis;
|
|
@@ -152,7 +151,7 @@ let HumidityControlSetpointCCAPI = (() => {
|
|
|
152
151
|
(0, import_API.throwUnsupportedProperty)(this.ccId, property);
|
|
153
152
|
}
|
|
154
153
|
if (typeof propertyKey !== "number") {
|
|
155
|
-
throw new
|
|
154
|
+
throw new import_core.ZWaveError(`${import_core.CommandClasses[this.ccId]}: "${property}" must be further specified by a numeric property key`, import_core.ZWaveErrorCodes.Argument_Invalid);
|
|
156
155
|
}
|
|
157
156
|
if (typeof value !== "number") {
|
|
158
157
|
(0, import_API.throwWrongValueType)(this.ccId, property, "number", typeof value);
|
|
@@ -160,7 +159,7 @@ let HumidityControlSetpointCCAPI = (() => {
|
|
|
160
159
|
const scaleValueId = import_CCValues_generated.HumidityControlSetpointCCValues.setpointScale(propertyKey).endpoint(this.endpoint.index);
|
|
161
160
|
const preferredScale = this.tryGetValueDB()?.getValue(scaleValueId);
|
|
162
161
|
const result = await this.set(propertyKey, value, preferredScale ?? 0);
|
|
163
|
-
if (this.isSinglecast() && !(0,
|
|
162
|
+
if (this.isSinglecast() && !(0, import_core.supervisedCommandSucceeded)(result)) {
|
|
164
163
|
this.schedulePoll({ property, propertyKey }, value);
|
|
165
164
|
}
|
|
166
165
|
return result;
|
|
@@ -171,7 +170,7 @@ let HumidityControlSetpointCCAPI = (() => {
|
|
|
171
170
|
switch (property) {
|
|
172
171
|
case "setpoint":
|
|
173
172
|
if (typeof propertyKey !== "number") {
|
|
174
|
-
throw new
|
|
173
|
+
throw new import_core.ZWaveError(`${import_core.CommandClasses[this.ccId]}: "${property}" must be further specified by a numeric property key`, import_core.ZWaveErrorCodes.Argument_Invalid);
|
|
175
174
|
}
|
|
176
175
|
return (await this.get(propertyKey))?.value;
|
|
177
176
|
default:
|
|
@@ -214,7 +213,7 @@ let HumidityControlSetpointCCAPI = (() => {
|
|
|
214
213
|
});
|
|
215
214
|
const response = await this.host.sendCommand(cc, this.commandOptions);
|
|
216
215
|
if (response) {
|
|
217
|
-
return (0,
|
|
216
|
+
return (0, import_shared.pick)(response, [
|
|
218
217
|
"minValue",
|
|
219
218
|
"maxValue",
|
|
220
219
|
"minValueScale",
|
|
@@ -251,7 +250,7 @@ let HumidityControlSetpointCCAPI = (() => {
|
|
|
251
250
|
return HumidityControlSetpointCCAPI2 = _classThis;
|
|
252
251
|
})();
|
|
253
252
|
let HumidityControlSetpointCC = (() => {
|
|
254
|
-
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(
|
|
253
|
+
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_core.CommandClasses["Humidity Control Setpoint"]), (0, import_CommandClassDecorators.implementedVersion)(2), (0, import_CommandClassDecorators.ccValues)(import_CCValues_generated.HumidityControlSetpointCCValues)];
|
|
255
254
|
let _classDescriptor;
|
|
256
255
|
let _classExtraInitializers = [];
|
|
257
256
|
let _classThis;
|
|
@@ -272,7 +271,7 @@ let HumidityControlSetpointCC = (() => {
|
|
|
272
271
|
}
|
|
273
272
|
translatePropertyKey(ctx, property, propertyKey) {
|
|
274
273
|
if (property === "setpoint") {
|
|
275
|
-
return (0,
|
|
274
|
+
return (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, propertyKey);
|
|
276
275
|
} else {
|
|
277
276
|
return super.translatePropertyKey(ctx, property, propertyKey);
|
|
278
277
|
}
|
|
@@ -280,8 +279,8 @@ let HumidityControlSetpointCC = (() => {
|
|
|
280
279
|
async interview(ctx) {
|
|
281
280
|
const node = this.getNode(ctx);
|
|
282
281
|
const endpoint = this.getEndpoint(ctx);
|
|
283
|
-
const api = import_API.CCAPI.create(
|
|
284
|
-
priority:
|
|
282
|
+
const api = import_API.CCAPI.create(import_core.CommandClasses["Humidity Control Setpoint"], ctx, endpoint).withOptions({
|
|
283
|
+
priority: import_core.MessagePriority.NodeQuery
|
|
285
284
|
});
|
|
286
285
|
ctx.logNode(node.id, {
|
|
287
286
|
endpoint: this.endpointIndex,
|
|
@@ -297,7 +296,7 @@ let HumidityControlSetpointCC = (() => {
|
|
|
297
296
|
const resp = await api.getSupportedSetpointTypes();
|
|
298
297
|
if (resp) {
|
|
299
298
|
setpointTypes = [...resp];
|
|
300
|
-
const logMessage = "received supported setpoint types:\n" + setpointTypes.map((type) => (0,
|
|
299
|
+
const logMessage = "received supported setpoint types:\n" + setpointTypes.map((type) => (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, type)).map((name) => `\xB7 ${name}`).join("\n");
|
|
301
300
|
ctx.logNode(node.id, {
|
|
302
301
|
endpoint: this.endpointIndex,
|
|
303
302
|
message: logMessage,
|
|
@@ -312,7 +311,7 @@ let HumidityControlSetpointCC = (() => {
|
|
|
312
311
|
return;
|
|
313
312
|
}
|
|
314
313
|
for (const type of setpointTypes) {
|
|
315
|
-
const setpointName = (0,
|
|
314
|
+
const setpointName = (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, type);
|
|
316
315
|
ctx.logNode(node.id, {
|
|
317
316
|
endpoint: this.endpointIndex,
|
|
318
317
|
message: `retrieving capabilities for setpoint ${setpointName}...`,
|
|
@@ -359,12 +358,12 @@ maximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;
|
|
|
359
358
|
async refreshValues(ctx) {
|
|
360
359
|
const node = this.getNode(ctx);
|
|
361
360
|
const endpoint = this.getEndpoint(ctx);
|
|
362
|
-
const api = import_API.CCAPI.create(
|
|
363
|
-
priority:
|
|
361
|
+
const api = import_API.CCAPI.create(import_core.CommandClasses["Humidity Control Setpoint"], ctx, endpoint).withOptions({
|
|
362
|
+
priority: import_core.MessagePriority.NodeQuery
|
|
364
363
|
});
|
|
365
364
|
const setpointTypes = this.getValue(ctx, import_CCValues_generated.HumidityControlSetpointCCValues.supportedSetpointTypes) ?? [];
|
|
366
365
|
for (const type of setpointTypes) {
|
|
367
|
-
const setpointName = (0,
|
|
366
|
+
const setpointName = (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, type);
|
|
368
367
|
ctx.logNode(node.id, {
|
|
369
368
|
endpoint: this.endpointIndex,
|
|
370
369
|
message: `querying current value of setpoint ${setpointName}...`,
|
|
@@ -411,15 +410,15 @@ let HumidityControlSetpointCCSet = (() => {
|
|
|
411
410
|
this.scale = options.scale;
|
|
412
411
|
}
|
|
413
412
|
static from(_raw, _ctx) {
|
|
414
|
-
throw new
|
|
413
|
+
throw new import_core.ZWaveError(`${this.name}: deserialization not implemented`, import_core.ZWaveErrorCodes.Deserialization_NotImplemented);
|
|
415
414
|
}
|
|
416
415
|
setpointType;
|
|
417
416
|
value;
|
|
418
417
|
scale;
|
|
419
418
|
serialize(ctx) {
|
|
420
|
-
this.payload =
|
|
421
|
-
|
|
422
|
-
(0,
|
|
419
|
+
this.payload = import_shared.Bytes.concat([
|
|
420
|
+
import_shared.Bytes.from([this.setpointType & 15]),
|
|
421
|
+
(0, import_core.encodeFloatWithScale)(this.value, this.scale)
|
|
423
422
|
]);
|
|
424
423
|
return super.serialize(ctx);
|
|
425
424
|
}
|
|
@@ -428,7 +427,7 @@ let HumidityControlSetpointCCSet = (() => {
|
|
|
428
427
|
return {
|
|
429
428
|
...super.toLogEntry(ctx),
|
|
430
429
|
message: {
|
|
431
|
-
"setpoint type": (0,
|
|
430
|
+
"setpoint type": (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, this.setpointType),
|
|
432
431
|
value: `${this.value} ${scale.unit}`
|
|
433
432
|
}
|
|
434
433
|
};
|
|
@@ -463,7 +462,7 @@ let HumidityControlSetpointCCReport = (() => {
|
|
|
463
462
|
this.scale = options.scale;
|
|
464
463
|
}
|
|
465
464
|
static from(raw, ctx) {
|
|
466
|
-
(0,
|
|
465
|
+
(0, import_core.validatePayload)(raw.payload.length >= 1);
|
|
467
466
|
const type = raw.payload[0] & 15;
|
|
468
467
|
if (type === 0) {
|
|
469
468
|
return new this({
|
|
@@ -473,7 +472,7 @@ let HumidityControlSetpointCCReport = (() => {
|
|
|
473
472
|
scale: 0
|
|
474
473
|
});
|
|
475
474
|
}
|
|
476
|
-
const { value, scale } = (0,
|
|
475
|
+
const { value, scale } = (0, import_core.parseFloatWithScale)(raw.payload.subarray(1));
|
|
477
476
|
return new this({
|
|
478
477
|
nodeId: ctx.sourceNodeId,
|
|
479
478
|
type,
|
|
@@ -505,7 +504,7 @@ let HumidityControlSetpointCCReport = (() => {
|
|
|
505
504
|
return {
|
|
506
505
|
...super.toLogEntry(ctx),
|
|
507
506
|
message: {
|
|
508
|
-
"setpoint type": (0,
|
|
507
|
+
"setpoint type": (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, this.type),
|
|
509
508
|
value: `${this.value} ${scale.unit}`
|
|
510
509
|
}
|
|
511
510
|
};
|
|
@@ -542,18 +541,18 @@ let HumidityControlSetpointCCGet = (() => {
|
|
|
542
541
|
this.setpointType = options.setpointType;
|
|
543
542
|
}
|
|
544
543
|
static from(_raw, _ctx) {
|
|
545
|
-
throw new
|
|
544
|
+
throw new import_core.ZWaveError(`${this.name}: deserialization not implemented`, import_core.ZWaveErrorCodes.Deserialization_NotImplemented);
|
|
546
545
|
}
|
|
547
546
|
setpointType;
|
|
548
547
|
serialize(ctx) {
|
|
549
|
-
this.payload =
|
|
548
|
+
this.payload = import_shared.Bytes.from([this.setpointType & 15]);
|
|
550
549
|
return super.serialize(ctx);
|
|
551
550
|
}
|
|
552
551
|
toLogEntry(ctx) {
|
|
553
552
|
return {
|
|
554
553
|
...super.toLogEntry(ctx),
|
|
555
554
|
message: {
|
|
556
|
-
"setpoint type": (0,
|
|
555
|
+
"setpoint type": (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, this.setpointType)
|
|
557
556
|
}
|
|
558
557
|
};
|
|
559
558
|
}
|
|
@@ -585,8 +584,8 @@ let HumidityControlSetpointCCSupportedReport = (() => {
|
|
|
585
584
|
this.supportedSetpointTypes = options.supportedSetpointTypes;
|
|
586
585
|
}
|
|
587
586
|
static from(raw, ctx) {
|
|
588
|
-
(0,
|
|
589
|
-
const supportedSetpointTypes = (0,
|
|
587
|
+
(0, import_core.validatePayload)(raw.payload.length >= 1);
|
|
588
|
+
const supportedSetpointTypes = (0, import_core.parseBitMask)(raw.payload, import_Types.HumidityControlSetpointType["N/A"]);
|
|
590
589
|
return new this({
|
|
591
590
|
nodeId: ctx.sourceNodeId,
|
|
592
591
|
supportedSetpointTypes
|
|
@@ -598,7 +597,7 @@ let HumidityControlSetpointCCSupportedReport = (() => {
|
|
|
598
597
|
...super.toLogEntry(ctx),
|
|
599
598
|
message: {
|
|
600
599
|
"supported setpoint types": this.supportedSetpointTypes.map((t) => `
|
|
601
|
-
\xB7 ${(0,
|
|
600
|
+
\xB7 ${(0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, t)}`).join("")
|
|
602
601
|
}
|
|
603
602
|
};
|
|
604
603
|
}
|
|
@@ -653,8 +652,8 @@ let HumidityControlSetpointCCScaleSupportedReport = (() => {
|
|
|
653
652
|
this.supportedScales = options.supportedScales;
|
|
654
653
|
}
|
|
655
654
|
static from(raw, ctx) {
|
|
656
|
-
(0,
|
|
657
|
-
const supportedScales = (0,
|
|
655
|
+
(0, import_core.validatePayload)(raw.payload.length >= 1);
|
|
656
|
+
const supportedScales = (0, import_core.parseBitMask)(import_shared.Bytes.from([raw.payload[0] & 15]), 0);
|
|
658
657
|
return new this({
|
|
659
658
|
nodeId: ctx.sourceNodeId,
|
|
660
659
|
supportedScales
|
|
@@ -699,18 +698,18 @@ let HumidityControlSetpointCCScaleSupportedGet = (() => {
|
|
|
699
698
|
this.setpointType = options.setpointType;
|
|
700
699
|
}
|
|
701
700
|
static from(_raw, _ctx) {
|
|
702
|
-
throw new
|
|
701
|
+
throw new import_core.ZWaveError(`${this.name}: deserialization not implemented`, import_core.ZWaveErrorCodes.Deserialization_NotImplemented);
|
|
703
702
|
}
|
|
704
703
|
setpointType;
|
|
705
704
|
serialize(ctx) {
|
|
706
|
-
this.payload =
|
|
705
|
+
this.payload = import_shared.Bytes.from([this.setpointType & 15]);
|
|
707
706
|
return super.serialize(ctx);
|
|
708
707
|
}
|
|
709
708
|
toLogEntry(ctx) {
|
|
710
709
|
return {
|
|
711
710
|
...super.toLogEntry(ctx),
|
|
712
711
|
message: {
|
|
713
|
-
"setpoint type": (0,
|
|
712
|
+
"setpoint type": (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, this.setpointType)
|
|
714
713
|
}
|
|
715
714
|
};
|
|
716
715
|
}
|
|
@@ -746,10 +745,10 @@ let HumidityControlSetpointCCCapabilitiesReport = (() => {
|
|
|
746
745
|
this.maxValueScale = options.maxValueScale;
|
|
747
746
|
}
|
|
748
747
|
static from(raw, ctx) {
|
|
749
|
-
(0,
|
|
748
|
+
(0, import_core.validatePayload)(raw.payload.length >= 1);
|
|
750
749
|
const type = raw.payload[0] & 15;
|
|
751
|
-
const { value: minValue, scale: minValueScale, bytesRead } = (0,
|
|
752
|
-
const { value: maxValue, scale: maxValueScale } = (0,
|
|
750
|
+
const { value: minValue, scale: minValueScale, bytesRead } = (0, import_core.parseFloatWithScale)(raw.payload.subarray(1));
|
|
751
|
+
const { value: maxValue, scale: maxValueScale } = (0, import_core.parseFloatWithScale)(raw.payload.subarray(1 + bytesRead));
|
|
753
752
|
return new this({
|
|
754
753
|
nodeId: ctx.sourceNodeId,
|
|
755
754
|
type,
|
|
@@ -782,7 +781,7 @@ let HumidityControlSetpointCCCapabilitiesReport = (() => {
|
|
|
782
781
|
return {
|
|
783
782
|
...super.toLogEntry(ctx),
|
|
784
783
|
message: {
|
|
785
|
-
"setpoint type": (0,
|
|
784
|
+
"setpoint type": (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, this.type),
|
|
786
785
|
"min value": `${this.minValue} ${minValueScale.unit}`,
|
|
787
786
|
"max value": `${this.maxValue} ${maxValueScale.unit}`
|
|
788
787
|
}
|
|
@@ -816,18 +815,18 @@ let HumidityControlSetpointCCCapabilitiesGet = (() => {
|
|
|
816
815
|
this.setpointType = options.setpointType;
|
|
817
816
|
}
|
|
818
817
|
static from(_raw, _ctx) {
|
|
819
|
-
throw new
|
|
818
|
+
throw new import_core.ZWaveError(`${this.name}: deserialization not implemented`, import_core.ZWaveErrorCodes.Deserialization_NotImplemented);
|
|
820
819
|
}
|
|
821
820
|
setpointType;
|
|
822
821
|
serialize(ctx) {
|
|
823
|
-
this.payload =
|
|
822
|
+
this.payload = import_shared.Bytes.from([this.setpointType & 15]);
|
|
824
823
|
return super.serialize(ctx);
|
|
825
824
|
}
|
|
826
825
|
toLogEntry(ctx) {
|
|
827
826
|
return {
|
|
828
827
|
...super.toLogEntry(ctx),
|
|
829
828
|
message: {
|
|
830
|
-
"setpoint type": (0,
|
|
829
|
+
"setpoint type": (0, import_shared.getEnumMemberName)(import_Types.HumidityControlSetpointType, this.setpointType)
|
|
831
830
|
}
|
|
832
831
|
};
|
|
833
832
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/HumidityControlSetpointCC.ts"],
|
|
4
|
-
"sourcesContent": ["import { type CCEncodingContext, type CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype Scale,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype ValueMetadataNumeric,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeFloatWithScale,\n\tgetNamedScale,\n\tgetUnknownScale,\n\tparseBitMask,\n\tparseFloatWithScale,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { getEnumMemberName, pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\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\ttype HumidityControlSetpointCapabilities,\n\tHumidityControlSetpointCommand,\n\tHumidityControlSetpointType,\n\ttype HumidityControlSetpointValue,\n} from \"../lib/_Types.js\";\n\nexport const HumidityControlSetpointCCValues = V.defineCCValues(\n\tCommandClasses[\"Humidity Control Setpoint\"],\n\t{\n\t\t...V.staticProperty(\"supportedSetpointTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"setpoint\",\n\t\t\t\"setpoint\",\n\t\t\t(setpointType: number) => setpointType,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"setpoint\" && typeof propertyKey === \"number\",\n\t\t\t(setpointType: number) => ({\n\t\t\t\t// This is the base metadata that will be extended on the fly\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: `Setpoint (${\n\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t)\n\t\t\t\t})`,\n\t\t\t\tccSpecific: { setpointType },\n\t\t\t} as const),\n\t\t),\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"setpointScale\",\n\t\t\t\"setpointScale\",\n\t\t\t(setpointType: number) => setpointType,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"setpointScale\" && typeof propertyKey === \"number\",\n\t\t\t(setpointType: number) => ({\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: `Setpoint scale (${\n\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t)\n\t\t\t\t})`,\n\t\t\t} as const),\n\t\t),\n\t},\n);\n\nfunction getScale(scale: number): Scale {\n\treturn getNamedScale(\"humidity\", scale as any) ?? getUnknownScale(scale);\n}\nfunction getSetpointUnit(scale: number): string {\n\treturn getScale(scale).unit ?? \"\";\n}\n\n@API(CommandClasses[\"Humidity Control Setpoint\"])\nexport class HumidityControlSetpointCCAPI extends CCAPI {\n\tpublic supportsCommand(\n\t\tcmd: HumidityControlSetpointCommand,\n\t): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase HumidityControlSetpointCommand.Get:\n\t\t\tcase HumidityControlSetpointCommand.SupportedGet:\n\t\t\tcase HumidityControlSetpointCommand.CapabilitiesGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase HumidityControlSetpointCommand.Set:\n\t\t\t\treturn true; // This is mandatory\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: HumidityControlSetpointCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t\tvalue,\n\t\t) {\n\t\t\tif (property !== \"setpoint\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof propertyKey !== \"number\") {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`${\n\t\t\t\t\t\tCommandClasses[this.ccId]\n\t\t\t\t\t}: \"${property}\" must be further specified by a numeric property key`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst scaleValueId = HumidityControlSetpointCCValues.setpointScale(\n\t\t\t\tpropertyKey,\n\t\t\t).endpoint(this.endpoint.index);\n\t\t\tconst preferredScale = this.tryGetValueDB()?.getValue<number>(\n\t\t\t\tscaleValueId,\n\t\t\t);\n\n\t\t\tconst result = await this.set(\n\t\t\t\tpropertyKey,\n\t\t\t\tvalue,\n\t\t\t\tpreferredScale ?? 0,\n\t\t\t);\n\n\t\t\t// Verify the change after a delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property, propertyKey }, value);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(\n\t\t\tthis: HumidityControlSetpointCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"setpoint\":\n\t\t\t\t\tif (typeof propertyKey !== \"number\") {\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 further specified by a numeric property key`,\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\treturn (await this.get(propertyKey))?.value;\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\t@validateArgs()\n\tpublic async get(\n\t\tsetpointType: HumidityControlSetpointType,\n\t): Promise<MaybeNotKnown<HumidityControlSetpointValue>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.Get,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tHumidityControlSetpointCCReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (!response) return;\n\t\treturn response.type === HumidityControlSetpointType[\"N/A\"]\n\t\t\t// not supported\n\t\t\t? undefined\n\t\t\t// supported\n\t\t\t: {\n\t\t\t\tvalue: response.value,\n\t\t\t\tscale: response.scale,\n\t\t\t};\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\tsetpointType: HumidityControlSetpointType,\n\t\tvalue: number,\n\t\tscale: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.Set,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async getCapabilities(\n\t\tsetpointType: HumidityControlSetpointType,\n\t): Promise<MaybeNotKnown<HumidityControlSetpointCapabilities>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.CapabilitiesGet,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCCapabilitiesGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tHumidityControlSetpointCCCapabilitiesReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"minValue\",\n\t\t\t\t\"maxValue\",\n\t\t\t\t\"minValueScale\",\n\t\t\t\t\"maxValueScale\",\n\t\t\t]);\n\t\t}\n\t}\n\n\tpublic async getSupportedSetpointTypes(): Promise<\n\t\tMaybeNotKnown<readonly HumidityControlSetpointType[]>\n\t> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCSupportedGet({\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\tHumidityControlSetpointCCSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedSetpointTypes;\n\t}\n\n\t@validateArgs()\n\tpublic async getSupportedScales(\n\t\tsetpointType: HumidityControlSetpointType,\n\t): Promise<MaybeNotKnown<readonly Scale[]>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCScaleSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tHumidityControlSetpointCCScaleSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn response.supportedScales.map((scale) => getScale(scale));\n\t\t}\n\t}\n}\n\n@commandClass(CommandClasses[\"Humidity Control Setpoint\"])\n@implementedVersion(2)\n@ccValues(HumidityControlSetpointCCValues)\nexport class HumidityControlSetpointCC extends CommandClass {\n\tdeclare ccCommand: HumidityControlSetpointCommand;\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 (property === \"setpoint\") {\n\t\t\treturn getEnumMemberName(\n\t\t\t\tHumidityControlSetpointType,\n\t\t\t\tpropertyKey as any,\n\t\t\t);\n\t\t} else {\n\t\t\treturn super.translatePropertyKey(ctx, property, propertyKey);\n\t\t}\n\t}\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[\"Humidity Control Setpoint\"],\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\t// Query the supported setpoint types\n\t\tlet setpointTypes: HumidityControlSetpointType[] = [];\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"retrieving supported setpoint types...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst resp = await api.getSupportedSetpointTypes();\n\t\tif (resp) {\n\t\t\tsetpointTypes = [...resp];\n\t\t\tconst logMessage = \"received supported setpoint types:\\n\"\n\t\t\t\t+ setpointTypes\n\t\t\t\t\t.map((type) =>\n\t\t\t\t\t\tgetEnumMemberName(HumidityControlSetpointType, type)\n\t\t\t\t\t)\n\t\t\t\t\t.map((name) => `\u00B7 ${name}`)\n\t\t\t\t\t.join(\"\\n\");\n\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t} else {\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 setpoint types timed out, skipping interview...\",\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const type of setpointTypes) {\n\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\tHumidityControlSetpointType,\n\t\t\t\ttype,\n\t\t\t);\n\t\t\t// Find out the capabilities of this setpoint\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`retrieving capabilities for setpoint ${setpointName}...`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst setpointScaleSupported = await api.getSupportedScales(type);\n\t\t\tif (setpointScaleSupported) {\n\t\t\t\tconst logMessage =\n\t\t\t\t\t`received supported scales for setpoint ${setpointName}: \n${\n\t\t\t\t\t\tsetpointScaleSupported\n\t\t\t\t\t\t\t.map((t) => `\\n\u00B7 ${t.key} ${t.unit} - ${t.label}`)\n\t\t\t\t\t\t\t.join(\"\")\n\t\t\t\t\t}`;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\n\t\t\t\tconst scaleValue = HumidityControlSetpointCCValues\n\t\t\t\t\t.setpointScale(type);\n\t\t\t\tconst states: Record<number, string> = {};\n\t\t\t\tfor (const scale of setpointScaleSupported) {\n\t\t\t\t\tif (scale.unit) states[scale.key] = scale.unit;\n\t\t\t\t}\n\t\t\t\tthis.setMetadata(ctx, scaleValue, {\n\t\t\t\t\t...scaleValue.meta,\n\t\t\t\t\tstates,\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst setpointCaps = await api.getCapabilities(type);\n\t\t\tif (setpointCaps) {\n\t\t\t\tconst minValueUnit = getSetpointUnit(\n\t\t\t\t\tsetpointCaps.minValueScale,\n\t\t\t\t);\n\t\t\t\tconst maxValueUnit = getSetpointUnit(\n\t\t\t\t\tsetpointCaps.maxValueScale,\n\t\t\t\t);\n\t\t\t\tconst logMessage =\n\t\t\t\t\t`received capabilities for setpoint ${setpointName}:\nminimum value: ${setpointCaps.minValue} ${minValueUnit}\nmaximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// Query the current value for all setpoint types\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[\"Humidity Control Setpoint\"],\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 setpointTypes: HumidityControlSetpointType[] = this.getValue(\n\t\t\tctx,\n\t\t\tHumidityControlSetpointCCValues.supportedSetpointTypes,\n\t\t) ?? [];\n\n\t\t// Query each setpoint's current value\n\t\tfor (const type of setpointTypes) {\n\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\tHumidityControlSetpointType,\n\t\t\t\ttype,\n\t\t\t);\n\t\t\t// Every time, query the current value\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 current value of setpoint ${setpointName}...`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst setpoint = await api.get(type);\n\t\t\tif (setpoint) {\n\t\t\t\tconst logMessage =\n\t\t\t\t\t`received current value of setpoint ${setpointName}: ${setpoint.value} ${\n\t\t\t\t\t\tgetScale(setpoint.scale).unit ?? \"\"\n\t\t\t\t\t}`;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCSetOptions {\n\tsetpointType: HumidityControlSetpointType;\n\tvalue: number;\n\tscale: number;\n}\n\n@CCCommand(HumidityControlSetpointCommand.Set)\n@useSupervision()\nexport class HumidityControlSetpointCCSet extends HumidityControlSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t\tthis.value = options.value;\n\t\tthis.scale = options.scale;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): HumidityControlSetpointCCSet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new HumidityControlSetpointCCSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic setpointType: HumidityControlSetpointType;\n\tpublic value: number;\n\tpublic scale: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.setpointType & 0b1111]),\n\t\t\tencodeFloatWithScale(this.value, this.scale),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst scale = getScale(this.scale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t\tvalue: `${this.value} ${scale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCReportOptions {\n\ttype: HumidityControlSetpointType;\n\tscale: number;\n\tvalue: number;\n}\n\n@CCCommand(HumidityControlSetpointCommand.Report)\nexport class HumidityControlSetpointCCReport extends HumidityControlSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.type = options.type;\n\t\tthis.value = options.value;\n\t\tthis.scale = options.scale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): HumidityControlSetpointCCReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst type: HumidityControlSetpointType = raw.payload[0] & 0b1111;\n\n\t\t// Setpoint type 0 is not defined in the spec, prevent devices from using it.\n\t\tif (type === 0) {\n\t\t\t// Not supported\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t\ttype,\n\t\t\t\tvalue: 0,\n\t\t\t\tscale: 0,\n\t\t\t});\n\t\t}\n\n\t\t// parseFloatWithScale does its own validation\n\t\tconst { value, scale } = parseFloatWithScale(raw.payload.subarray(1));\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tconst scale = getScale(this.scale);\n\n\t\tconst setpointValue = HumidityControlSetpointCCValues.setpoint(\n\t\t\tthis.type,\n\t\t);\n\t\tconst existingMetadata = this.getMetadata<ValueMetadataNumeric>(\n\t\t\tctx,\n\t\t\tsetpointValue,\n\t\t);\n\n\t\t// Update the metadata when it is missing or the unit has changed\n\t\tif (existingMetadata?.unit !== scale.unit) {\n\t\t\tthis.setMetadata(ctx, setpointValue, {\n\t\t\t\t...(existingMetadata ?? setpointValue.meta),\n\t\t\t\tunit: scale.unit,\n\t\t\t});\n\t\t}\n\t\tthis.setValue(ctx, setpointValue, this.value);\n\n\t\t// Remember the device-preferred setpoint scale so it can be used in SET commands\n\t\tthis.setValue(\n\t\t\tctx,\n\t\t\tHumidityControlSetpointCCValues.setpointScale(this.type),\n\t\t\tthis.scale,\n\t\t);\n\t\treturn true;\n\t}\n\n\tpublic type: HumidityControlSetpointType;\n\tpublic scale: number;\n\tpublic value: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst scale = getScale(this.scale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.type,\n\t\t\t\t),\n\t\t\t\tvalue: `${this.value} ${scale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\nfunction testResponseForHumidityControlSetpointGet(\n\tsent: HumidityControlSetpointCCGet,\n\treceived: HumidityControlSetpointCCReport,\n) {\n\t// We expect a Humidity Control Setpoint Report that matches the requested setpoint type\n\treturn received.type === sent.setpointType;\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCGetOptions {\n\tsetpointType: HumidityControlSetpointType;\n}\n\n@CCCommand(HumidityControlSetpointCommand.Get)\n@expectedCCResponse(\n\tHumidityControlSetpointCCReport,\n\ttestResponseForHumidityControlSetpointGet,\n)\nexport class HumidityControlSetpointCCGet extends HumidityControlSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): HumidityControlSetpointCCGet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new HumidityControlSetpointCCGet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic setpointType: HumidityControlSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCSupportedReportOptions {\n\tsupportedSetpointTypes: HumidityControlSetpointType[];\n}\n\n@CCCommand(HumidityControlSetpointCommand.SupportedReport)\n@ccValueProperty(\n\t\"supportedSetpointTypes\",\n\tHumidityControlSetpointCCValues.supportedSetpointTypes,\n)\nexport class HumidityControlSetpointCCSupportedReport\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedSetpointTypes = options.supportedSetpointTypes;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): HumidityControlSetpointCCSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst supportedSetpointTypes: HumidityControlSetpointType[] =\n\t\t\tparseBitMask(\n\t\t\t\traw.payload,\n\t\t\t\tHumidityControlSetpointType[\"N/A\"],\n\t\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedSetpointTypes,\n\t\t});\n\t}\n\n\tpublic readonly supportedSetpointTypes:\n\t\treadonly HumidityControlSetpointType[];\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 setpoint types\": this.supportedSetpointTypes\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(t) =>\n\t\t\t\t\t\t\t`\\n\u00B7 ${\n\t\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\t\t\t\tt,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(HumidityControlSetpointCommand.SupportedGet)\n@expectedCCResponse(HumidityControlSetpointCCSupportedReport)\nexport class HumidityControlSetpointCCSupportedGet\n\textends HumidityControlSetpointCC\n{}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCScaleSupportedReportOptions {\n\tsupportedScales: number[];\n}\n\n@CCCommand(HumidityControlSetpointCommand.ScaleSupportedReport)\nexport class HumidityControlSetpointCCScaleSupportedReport\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<\n\t\t\tHumidityControlSetpointCCScaleSupportedReportOptions\n\t\t>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedScales = options.supportedScales;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): HumidityControlSetpointCCScaleSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst supportedScales = parseBitMask(\n\t\t\tBytes.from([raw.payload[0] & 0b1111]),\n\t\t\t0,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedScales,\n\t\t});\n\t}\n\n\tpublic readonly supportedScales: readonly number[];\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst supportedScales = this.supportedScales.map((scale) =>\n\t\t\tgetScale(scale)\n\t\t);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"scale supported\": supportedScales\n\t\t\t\t\t.map((t) => `\\n\u00B7 ${t.key} ${t.unit} - ${t.label}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCScaleSupportedGetOptions {\n\tsetpointType: HumidityControlSetpointType;\n}\n\n@CCCommand(HumidityControlSetpointCommand.ScaleSupportedGet)\n@expectedCCResponse(HumidityControlSetpointCCScaleSupportedReport)\nexport class HumidityControlSetpointCCScaleSupportedGet\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCScaleSupportedGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): HumidityControlSetpointCCScaleSupportedGet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new HumidityControlSetpointCCScaleSupportedGet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic setpointType: HumidityControlSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCCapabilitiesReportOptions {\n\ttype: HumidityControlSetpointType;\n\tminValue: number;\n\tmaxValue: number;\n\tminValueScale: number;\n\tmaxValueScale: number;\n}\n\n@CCCommand(HumidityControlSetpointCommand.CapabilitiesReport)\nexport class HumidityControlSetpointCCCapabilitiesReport\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<\n\t\t\tHumidityControlSetpointCCCapabilitiesReportOptions\n\t\t>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.type = options.type;\n\t\tthis.minValue = options.minValue;\n\t\tthis.maxValue = options.maxValue;\n\t\tthis.minValueScale = options.minValueScale;\n\t\tthis.maxValueScale = options.maxValueScale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): HumidityControlSetpointCCCapabilitiesReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst type: HumidityControlSetpointType = raw.payload[0] & 0b1111;\n\n\t\t// parseFloatWithScale does its own validation\n\t\tconst {\n\t\t\tvalue: minValue,\n\t\t\tscale: minValueScale,\n\t\t\tbytesRead,\n\t\t} = parseFloatWithScale(raw.payload.subarray(1));\n\t\tconst { value: maxValue, scale: maxValueScale } = parseFloatWithScale(\n\t\t\traw.payload.subarray(1 + bytesRead),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\tminValue,\n\t\t\tminValueScale,\n\t\t\tmaxValue,\n\t\t\tmaxValueScale,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Predefine the metadata\n\t\tconst setpointValue = HumidityControlSetpointCCValues.setpoint(\n\t\t\tthis.type,\n\t\t);\n\t\tthis.setMetadata(ctx, setpointValue, {\n\t\t\t...setpointValue.meta,\n\t\t\tmin: this.minValue,\n\t\t\tmax: this.maxValue,\n\t\t\tunit: getSetpointUnit(this.minValueScale)\n\t\t\t\t|| getSetpointUnit(this.maxValueScale),\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tpublic type: HumidityControlSetpointType;\n\tpublic minValue: number;\n\tpublic maxValue: number;\n\tpublic minValueScale: number;\n\tpublic maxValueScale: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst minValueScale = getScale(this.minValueScale);\n\t\tconst maxValueScale = getScale(this.maxValueScale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.type,\n\t\t\t\t),\n\t\t\t\t\"min value\": `${this.minValue} ${minValueScale.unit}`,\n\t\t\t\t\"max value\": `${this.maxValue} ${maxValueScale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCCapabilitiesGetOptions {\n\tsetpointType: HumidityControlSetpointType;\n}\n\n@CCCommand(HumidityControlSetpointCommand.CapabilitiesGet)\n@expectedCCResponse(HumidityControlSetpointCCCapabilitiesReport)\nexport class HumidityControlSetpointCCCapabilitiesGet\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCCapabilitiesGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): HumidityControlSetpointCCCapabilitiesGet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new HumidityControlSetpointCCCapabilitiesGet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic setpointType: HumidityControlSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype Scale,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype ValueMetadataNumeric,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeFloatWithScale,\n\tgetNamedScale,\n\tgetUnknownScale,\n\tparseBitMask,\n\tparseFloatWithScale,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\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\ttype HumidityControlSetpointCapabilities,\n\tHumidityControlSetpointCommand,\n\tHumidityControlSetpointType,\n\ttype HumidityControlSetpointValue,\n} from \"../lib/_Types.js\";\n\nexport const HumidityControlSetpointCCValues = V.defineCCValues(\n\tCommandClasses[\"Humidity Control Setpoint\"],\n\t{\n\t\t...V.staticProperty(\"supportedSetpointTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"setpoint\",\n\t\t\t\"setpoint\",\n\t\t\t(setpointType: number) => setpointType,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"setpoint\" && typeof propertyKey === \"number\",\n\t\t\t(setpointType: number) => ({\n\t\t\t\t// This is the base metadata that will be extended on the fly\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: `Setpoint (${\n\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t)\n\t\t\t\t})`,\n\t\t\t\tccSpecific: { setpointType },\n\t\t\t} as const),\n\t\t),\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"setpointScale\",\n\t\t\t\"setpointScale\",\n\t\t\t(setpointType: number) => setpointType,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"setpointScale\" && typeof propertyKey === \"number\",\n\t\t\t(setpointType: number) => ({\n\t\t\t\t...ValueMetadata.ReadOnlyUInt8,\n\t\t\t\tlabel: `Setpoint scale (${\n\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\tsetpointType,\n\t\t\t\t\t)\n\t\t\t\t})`,\n\t\t\t} as const),\n\t\t),\n\t},\n);\n\nfunction getScale(scale: number): Scale {\n\treturn getNamedScale(\"humidity\", scale as any) ?? getUnknownScale(scale);\n}\nfunction getSetpointUnit(scale: number): string {\n\treturn getScale(scale).unit ?? \"\";\n}\n\n@API(CommandClasses[\"Humidity Control Setpoint\"])\nexport class HumidityControlSetpointCCAPI extends CCAPI {\n\tpublic supportsCommand(\n\t\tcmd: HumidityControlSetpointCommand,\n\t): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase HumidityControlSetpointCommand.Get:\n\t\t\tcase HumidityControlSetpointCommand.SupportedGet:\n\t\t\tcase HumidityControlSetpointCommand.CapabilitiesGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase HumidityControlSetpointCommand.Set:\n\t\t\t\treturn true; // This is mandatory\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: HumidityControlSetpointCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t\tvalue,\n\t\t) {\n\t\t\tif (property !== \"setpoint\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof propertyKey !== \"number\") {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`${\n\t\t\t\t\t\tCommandClasses[this.ccId]\n\t\t\t\t\t}: \"${property}\" must be further specified by a numeric property key`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst scaleValueId = HumidityControlSetpointCCValues.setpointScale(\n\t\t\t\tpropertyKey,\n\t\t\t).endpoint(this.endpoint.index);\n\t\t\tconst preferredScale = this.tryGetValueDB()?.getValue<number>(\n\t\t\t\tscaleValueId,\n\t\t\t);\n\n\t\t\tconst result = await this.set(\n\t\t\t\tpropertyKey,\n\t\t\t\tvalue,\n\t\t\t\tpreferredScale ?? 0,\n\t\t\t);\n\n\t\t\t// Verify the change after a delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property, propertyKey }, value);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(\n\t\t\tthis: HumidityControlSetpointCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"setpoint\":\n\t\t\t\t\tif (typeof propertyKey !== \"number\") {\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 further specified by a numeric property key`,\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\treturn (await this.get(propertyKey))?.value;\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\t@validateArgs()\n\tpublic async get(\n\t\tsetpointType: HumidityControlSetpointType,\n\t): Promise<MaybeNotKnown<HumidityControlSetpointValue>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.Get,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tHumidityControlSetpointCCReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (!response) return;\n\t\treturn response.type === HumidityControlSetpointType[\"N/A\"]\n\t\t\t// not supported\n\t\t\t? undefined\n\t\t\t// supported\n\t\t\t: {\n\t\t\t\tvalue: response.value,\n\t\t\t\tscale: response.scale,\n\t\t\t};\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\tsetpointType: HumidityControlSetpointType,\n\t\tvalue: number,\n\t\tscale: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.Set,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\tpublic async getCapabilities(\n\t\tsetpointType: HumidityControlSetpointType,\n\t): Promise<MaybeNotKnown<HumidityControlSetpointCapabilities>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.CapabilitiesGet,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCCapabilitiesGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tHumidityControlSetpointCCCapabilitiesReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"minValue\",\n\t\t\t\t\"maxValue\",\n\t\t\t\t\"minValueScale\",\n\t\t\t\t\"maxValueScale\",\n\t\t\t]);\n\t\t}\n\t}\n\n\tpublic async getSupportedSetpointTypes(): Promise<\n\t\tMaybeNotKnown<readonly HumidityControlSetpointType[]>\n\t> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCSupportedGet({\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\tHumidityControlSetpointCCSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedSetpointTypes;\n\t}\n\n\t@validateArgs()\n\tpublic async getSupportedScales(\n\t\tsetpointType: HumidityControlSetpointType,\n\t): Promise<MaybeNotKnown<readonly Scale[]>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tHumidityControlSetpointCommand,\n\t\t\tHumidityControlSetpointCommand.SupportedGet,\n\t\t);\n\n\t\tconst cc = new HumidityControlSetpointCCScaleSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsetpointType,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tHumidityControlSetpointCCScaleSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn response.supportedScales.map((scale) => getScale(scale));\n\t\t}\n\t}\n}\n\n@commandClass(CommandClasses[\"Humidity Control Setpoint\"])\n@implementedVersion(2)\n@ccValues(HumidityControlSetpointCCValues)\nexport class HumidityControlSetpointCC extends CommandClass {\n\tdeclare ccCommand: HumidityControlSetpointCommand;\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 (property === \"setpoint\") {\n\t\t\treturn getEnumMemberName(\n\t\t\t\tHumidityControlSetpointType,\n\t\t\t\tpropertyKey as any,\n\t\t\t);\n\t\t} else {\n\t\t\treturn super.translatePropertyKey(ctx, property, propertyKey);\n\t\t}\n\t}\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[\"Humidity Control Setpoint\"],\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\t// Query the supported setpoint types\n\t\tlet setpointTypes: HumidityControlSetpointType[] = [];\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"retrieving supported setpoint types...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst resp = await api.getSupportedSetpointTypes();\n\t\tif (resp) {\n\t\t\tsetpointTypes = [...resp];\n\t\t\tconst logMessage = \"received supported setpoint types:\\n\"\n\t\t\t\t+ setpointTypes\n\t\t\t\t\t.map((type) =>\n\t\t\t\t\t\tgetEnumMemberName(HumidityControlSetpointType, type)\n\t\t\t\t\t)\n\t\t\t\t\t.map((name) => `\u00B7 ${name}`)\n\t\t\t\t\t.join(\"\\n\");\n\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t} else {\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 setpoint types timed out, skipping interview...\",\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const type of setpointTypes) {\n\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\tHumidityControlSetpointType,\n\t\t\t\ttype,\n\t\t\t);\n\t\t\t// Find out the capabilities of this setpoint\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`retrieving capabilities for setpoint ${setpointName}...`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst setpointScaleSupported = await api.getSupportedScales(type);\n\t\t\tif (setpointScaleSupported) {\n\t\t\t\tconst logMessage =\n\t\t\t\t\t`received supported scales for setpoint ${setpointName}: \n${\n\t\t\t\t\t\tsetpointScaleSupported\n\t\t\t\t\t\t\t.map((t) => `\\n\u00B7 ${t.key} ${t.unit} - ${t.label}`)\n\t\t\t\t\t\t\t.join(\"\")\n\t\t\t\t\t}`;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\n\t\t\t\tconst scaleValue = HumidityControlSetpointCCValues\n\t\t\t\t\t.setpointScale(type);\n\t\t\t\tconst states: Record<number, string> = {};\n\t\t\t\tfor (const scale of setpointScaleSupported) {\n\t\t\t\t\tif (scale.unit) states[scale.key] = scale.unit;\n\t\t\t\t}\n\t\t\t\tthis.setMetadata(ctx, scaleValue, {\n\t\t\t\t\t...scaleValue.meta,\n\t\t\t\t\tstates,\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst setpointCaps = await api.getCapabilities(type);\n\t\t\tif (setpointCaps) {\n\t\t\t\tconst minValueUnit = getSetpointUnit(\n\t\t\t\t\tsetpointCaps.minValueScale,\n\t\t\t\t);\n\t\t\t\tconst maxValueUnit = getSetpointUnit(\n\t\t\t\t\tsetpointCaps.maxValueScale,\n\t\t\t\t);\n\t\t\t\tconst logMessage =\n\t\t\t\t\t`received capabilities for setpoint ${setpointName}:\nminimum value: ${setpointCaps.minValue} ${minValueUnit}\nmaximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// Query the current value for all setpoint types\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[\"Humidity Control Setpoint\"],\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 setpointTypes: HumidityControlSetpointType[] = this.getValue(\n\t\t\tctx,\n\t\t\tHumidityControlSetpointCCValues.supportedSetpointTypes,\n\t\t) ?? [];\n\n\t\t// Query each setpoint's current value\n\t\tfor (const type of setpointTypes) {\n\t\t\tconst setpointName = getEnumMemberName(\n\t\t\t\tHumidityControlSetpointType,\n\t\t\t\ttype,\n\t\t\t);\n\t\t\t// Every time, query the current value\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 current value of setpoint ${setpointName}...`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst setpoint = await api.get(type);\n\t\t\tif (setpoint) {\n\t\t\t\tconst logMessage =\n\t\t\t\t\t`received current value of setpoint ${setpointName}: ${setpoint.value} ${\n\t\t\t\t\t\tgetScale(setpoint.scale).unit ?? \"\"\n\t\t\t\t\t}`;\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: logMessage,\n\t\t\t\t\tdirection: \"inbound\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCSetOptions {\n\tsetpointType: HumidityControlSetpointType;\n\tvalue: number;\n\tscale: number;\n}\n\n@CCCommand(HumidityControlSetpointCommand.Set)\n@useSupervision()\nexport class HumidityControlSetpointCCSet extends HumidityControlSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t\tthis.value = options.value;\n\t\tthis.scale = options.scale;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): HumidityControlSetpointCCSet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new HumidityControlSetpointCCSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic setpointType: HumidityControlSetpointType;\n\tpublic value: number;\n\tpublic scale: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.setpointType & 0b1111]),\n\t\t\tencodeFloatWithScale(this.value, this.scale),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst scale = getScale(this.scale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t\tvalue: `${this.value} ${scale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCReportOptions {\n\ttype: HumidityControlSetpointType;\n\tscale: number;\n\tvalue: number;\n}\n\n@CCCommand(HumidityControlSetpointCommand.Report)\nexport class HumidityControlSetpointCCReport extends HumidityControlSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.type = options.type;\n\t\tthis.value = options.value;\n\t\tthis.scale = options.scale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): HumidityControlSetpointCCReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst type: HumidityControlSetpointType = raw.payload[0] & 0b1111;\n\n\t\t// Setpoint type 0 is not defined in the spec, prevent devices from using it.\n\t\tif (type === 0) {\n\t\t\t// Not supported\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t\ttype,\n\t\t\t\tvalue: 0,\n\t\t\t\tscale: 0,\n\t\t\t});\n\t\t}\n\n\t\t// parseFloatWithScale does its own validation\n\t\tconst { value, scale } = parseFloatWithScale(raw.payload.subarray(1));\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\tvalue,\n\t\t\tscale,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tconst scale = getScale(this.scale);\n\n\t\tconst setpointValue = HumidityControlSetpointCCValues.setpoint(\n\t\t\tthis.type,\n\t\t);\n\t\tconst existingMetadata = this.getMetadata<ValueMetadataNumeric>(\n\t\t\tctx,\n\t\t\tsetpointValue,\n\t\t);\n\n\t\t// Update the metadata when it is missing or the unit has changed\n\t\tif (existingMetadata?.unit !== scale.unit) {\n\t\t\tthis.setMetadata(ctx, setpointValue, {\n\t\t\t\t...(existingMetadata ?? setpointValue.meta),\n\t\t\t\tunit: scale.unit,\n\t\t\t});\n\t\t}\n\t\tthis.setValue(ctx, setpointValue, this.value);\n\n\t\t// Remember the device-preferred setpoint scale so it can be used in SET commands\n\t\tthis.setValue(\n\t\t\tctx,\n\t\t\tHumidityControlSetpointCCValues.setpointScale(this.type),\n\t\t\tthis.scale,\n\t\t);\n\t\treturn true;\n\t}\n\n\tpublic type: HumidityControlSetpointType;\n\tpublic scale: number;\n\tpublic value: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst scale = getScale(this.scale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.type,\n\t\t\t\t),\n\t\t\t\tvalue: `${this.value} ${scale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\nfunction testResponseForHumidityControlSetpointGet(\n\tsent: HumidityControlSetpointCCGet,\n\treceived: HumidityControlSetpointCCReport,\n) {\n\t// We expect a Humidity Control Setpoint Report that matches the requested setpoint type\n\treturn received.type === sent.setpointType;\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCGetOptions {\n\tsetpointType: HumidityControlSetpointType;\n}\n\n@CCCommand(HumidityControlSetpointCommand.Get)\n@expectedCCResponse(\n\tHumidityControlSetpointCCReport,\n\ttestResponseForHumidityControlSetpointGet,\n)\nexport class HumidityControlSetpointCCGet extends HumidityControlSetpointCC {\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): HumidityControlSetpointCCGet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new HumidityControlSetpointCCGet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic setpointType: HumidityControlSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCSupportedReportOptions {\n\tsupportedSetpointTypes: HumidityControlSetpointType[];\n}\n\n@CCCommand(HumidityControlSetpointCommand.SupportedReport)\n@ccValueProperty(\n\t\"supportedSetpointTypes\",\n\tHumidityControlSetpointCCValues.supportedSetpointTypes,\n)\nexport class HumidityControlSetpointCCSupportedReport\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedSetpointTypes = options.supportedSetpointTypes;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): HumidityControlSetpointCCSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst supportedSetpointTypes: HumidityControlSetpointType[] =\n\t\t\tparseBitMask(\n\t\t\t\traw.payload,\n\t\t\t\tHumidityControlSetpointType[\"N/A\"],\n\t\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedSetpointTypes,\n\t\t});\n\t}\n\n\tpublic readonly supportedSetpointTypes:\n\t\treadonly HumidityControlSetpointType[];\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 setpoint types\": this.supportedSetpointTypes\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(t) =>\n\t\t\t\t\t\t\t`\\n\u00B7 ${\n\t\t\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\t\t\t\t\tt,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(HumidityControlSetpointCommand.SupportedGet)\n@expectedCCResponse(HumidityControlSetpointCCSupportedReport)\nexport class HumidityControlSetpointCCSupportedGet\n\textends HumidityControlSetpointCC\n{}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCScaleSupportedReportOptions {\n\tsupportedScales: number[];\n}\n\n@CCCommand(HumidityControlSetpointCommand.ScaleSupportedReport)\nexport class HumidityControlSetpointCCScaleSupportedReport\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<\n\t\t\tHumidityControlSetpointCCScaleSupportedReportOptions\n\t\t>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedScales = options.supportedScales;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): HumidityControlSetpointCCScaleSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst supportedScales = parseBitMask(\n\t\t\tBytes.from([raw.payload[0] & 0b1111]),\n\t\t\t0,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedScales,\n\t\t});\n\t}\n\n\tpublic readonly supportedScales: readonly number[];\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst supportedScales = this.supportedScales.map((scale) =>\n\t\t\tgetScale(scale)\n\t\t);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"scale supported\": supportedScales\n\t\t\t\t\t.map((t) => `\\n\u00B7 ${t.key} ${t.unit} - ${t.label}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCScaleSupportedGetOptions {\n\tsetpointType: HumidityControlSetpointType;\n}\n\n@CCCommand(HumidityControlSetpointCommand.ScaleSupportedGet)\n@expectedCCResponse(HumidityControlSetpointCCScaleSupportedReport)\nexport class HumidityControlSetpointCCScaleSupportedGet\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCScaleSupportedGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): HumidityControlSetpointCCScaleSupportedGet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new HumidityControlSetpointCCScaleSupportedGet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic setpointType: HumidityControlSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCCapabilitiesReportOptions {\n\ttype: HumidityControlSetpointType;\n\tminValue: number;\n\tmaxValue: number;\n\tminValueScale: number;\n\tmaxValueScale: number;\n}\n\n@CCCommand(HumidityControlSetpointCommand.CapabilitiesReport)\nexport class HumidityControlSetpointCCCapabilitiesReport\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<\n\t\t\tHumidityControlSetpointCCCapabilitiesReportOptions\n\t\t>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.type = options.type;\n\t\tthis.minValue = options.minValue;\n\t\tthis.maxValue = options.maxValue;\n\t\tthis.minValueScale = options.minValueScale;\n\t\tthis.maxValueScale = options.maxValueScale;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): HumidityControlSetpointCCCapabilitiesReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst type: HumidityControlSetpointType = raw.payload[0] & 0b1111;\n\n\t\t// parseFloatWithScale does its own validation\n\t\tconst {\n\t\t\tvalue: minValue,\n\t\t\tscale: minValueScale,\n\t\t\tbytesRead,\n\t\t} = parseFloatWithScale(raw.payload.subarray(1));\n\t\tconst { value: maxValue, scale: maxValueScale } = parseFloatWithScale(\n\t\t\traw.payload.subarray(1 + bytesRead),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttype,\n\t\t\tminValue,\n\t\t\tminValueScale,\n\t\t\tmaxValue,\n\t\t\tmaxValueScale,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Predefine the metadata\n\t\tconst setpointValue = HumidityControlSetpointCCValues.setpoint(\n\t\t\tthis.type,\n\t\t);\n\t\tthis.setMetadata(ctx, setpointValue, {\n\t\t\t...setpointValue.meta,\n\t\t\tmin: this.minValue,\n\t\t\tmax: this.maxValue,\n\t\t\tunit: getSetpointUnit(this.minValueScale)\n\t\t\t\t|| getSetpointUnit(this.maxValueScale),\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tpublic type: HumidityControlSetpointType;\n\tpublic minValue: number;\n\tpublic maxValue: number;\n\tpublic minValueScale: number;\n\tpublic maxValueScale: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst minValueScale = getScale(this.minValueScale);\n\t\tconst maxValueScale = getScale(this.maxValueScale);\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.type,\n\t\t\t\t),\n\t\t\t\t\"min value\": `${this.minValue} ${minValueScale.unit}`,\n\t\t\t\t\"max value\": `${this.maxValue} ${maxValueScale.unit}`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface HumidityControlSetpointCCCapabilitiesGetOptions {\n\tsetpointType: HumidityControlSetpointType;\n}\n\n@CCCommand(HumidityControlSetpointCommand.CapabilitiesGet)\n@expectedCCResponse(HumidityControlSetpointCCCapabilitiesReport)\nexport class HumidityControlSetpointCCCapabilitiesGet\n\textends HumidityControlSetpointCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<HumidityControlSetpointCCCapabilitiesGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.setpointType = options.setpointType;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): HumidityControlSetpointCCCapabilitiesGet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new HumidityControlSetpointCCCapabilitiesGet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic setpointType: HumidityControlSetpointType;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.setpointType & 0b1111]);\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\"setpoint type\": getEnumMemberName(\n\t\t\t\t\tHumidityControlSetpointType,\n\t\t\t\t\tthis.setpointType,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type GetValueDB, type MessageOrCCLogEntry, type WithAddress } from "@zwave-js/core";
|
|
3
|
-
import { type MaybeNotKnown } from "@zwave-js/core/safe";
|
|
1
|
+
import type { CCEncodingContext, CCParsingContext } from "@zwave-js/cc";
|
|
2
|
+
import { type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type WithAddress } from "@zwave-js/core";
|
|
4
3
|
import { Bytes } from "@zwave-js/shared";
|
|
5
4
|
import { CCAPI } from "../lib/API.js";
|
|
6
5
|
import { type CCRaw, CommandClass } from "../lib/CommandClass.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/InclusionControllerCC.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,
|
|
4
|
+
"sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\ttype WithAddress,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName } from \"@zwave-js/shared\";\nimport { CCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tcommandClass,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport {\n\tInclusionControllerCommand,\n\tInclusionControllerStatus,\n\tInclusionControllerStep,\n} from \"../lib/_Types.js\";\n\n// This CC should not be used directly from user code\n/* eslint-disable @zwave-js/ccapi-validate-args */\n\n@commandClass(CommandClasses[\"Inclusion Controller\"])\n@implementedVersion(1)\nexport class InclusionControllerCC extends CommandClass {\n\tdeclare ccCommand: InclusionControllerCommand;\n}\n\n@API(CommandClasses[\"Inclusion Controller\"])\nexport class InclusionControllerCCAPI extends CCAPI {\n\tpublic supportsCommand(\n\t\tcmd: InclusionControllerCommand,\n\t): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase InclusionControllerCommand.Initiate:\n\t\t\tcase InclusionControllerCommand.Complete:\n\t\t\t\treturn true; // This is mandatory\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t/** Instruct the target to initiate the given inclusion step for the given node */\n\tpublic async initiateStep(\n\t\tnodeId: number,\n\t\tstep: InclusionControllerStep,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tInclusionControllerCommand,\n\t\t\tInclusionControllerCommand.Initiate,\n\t\t);\n\n\t\tconst cc = new InclusionControllerCCInitiate({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tincludedNodeId: nodeId,\n\t\t\tstep,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t/** Indicate to the other node that the given inclusion step has been completed */\n\tpublic async completeStep(\n\t\tstep: InclusionControllerStep,\n\t\tstatus: InclusionControllerStatus,\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tInclusionControllerCommand,\n\t\t\tInclusionControllerCommand.Complete,\n\t\t);\n\n\t\tconst cc = new InclusionControllerCCComplete({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tstep,\n\t\t\tstatus,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n// @publicAPI\nexport interface InclusionControllerCCCompleteOptions {\n\tstep: InclusionControllerStep;\n\tstatus: InclusionControllerStatus;\n}\n\n@CCCommand(InclusionControllerCommand.Complete)\nexport class InclusionControllerCCComplete extends InclusionControllerCC {\n\tpublic constructor(\n\t\toptions: WithAddress<InclusionControllerCCCompleteOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.step = options.step;\n\t\tthis.status = options.status;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): InclusionControllerCCComplete {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst step: InclusionControllerStep = raw.payload[0];\n\n\t\tvalidatePayload.withReason(\"Invalid inclusion controller step\")(\n\t\t\tstep in InclusionControllerStep,\n\t\t);\n\t\tconst status: InclusionControllerStatus = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tstep,\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic step: InclusionControllerStep;\n\tpublic status: InclusionControllerStatus;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.step, this.status]);\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\tstep: getEnumMemberName(InclusionControllerStep, this.step),\n\t\t\t\tstatus: getEnumMemberName(\n\t\t\t\t\tInclusionControllerStatus,\n\t\t\t\t\tthis.status,\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface InclusionControllerCCInitiateOptions {\n\tincludedNodeId: number;\n\tstep: InclusionControllerStep;\n}\n\n@CCCommand(InclusionControllerCommand.Initiate)\nexport class InclusionControllerCCInitiate extends InclusionControllerCC {\n\tpublic constructor(\n\t\toptions: WithAddress<InclusionControllerCCInitiateOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.includedNodeId = options.includedNodeId;\n\t\tthis.step = options.step;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): InclusionControllerCCInitiate {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst includedNodeId = raw.payload[0];\n\t\tconst step: InclusionControllerStep = raw.payload[1];\n\n\t\tvalidatePayload.withReason(\"Invalid inclusion controller step\")(\n\t\t\tstep in InclusionControllerStep,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tincludedNodeId,\n\t\t\tstep,\n\t\t});\n\t}\n\n\tpublic includedNodeId: number;\n\tpublic step: InclusionControllerStep;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.includedNodeId, this.step]);\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\"included node id\": this.includedNodeId,\n\t\t\t\tstep: getEnumMemberName(InclusionControllerStep, this.step),\n\t\t\t},\n\t\t};\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CommandClasses, type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, type WithAddress } from "@zwave-js/core
|
|
3
|
-
import { Bytes } from "@zwave-js/shared
|
|
1
|
+
import type { CCEncodingContext, CCParsingContext } from "@zwave-js/cc";
|
|
2
|
+
import { CommandClasses, type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, type WithAddress } from "@zwave-js/core";
|
|
3
|
+
import { Bytes } from "@zwave-js/shared";
|
|
4
4
|
import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation } from "../lib/API.js";
|
|
5
5
|
import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext } from "../lib/CommandClass.js";
|
|
6
6
|
import { IndicatorCommand, type IndicatorTimeout } from "../lib/_Types.js";
|