@zwave-js/cc 14.3.10 → 15.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/cc/AlarmSensorCC.d.ts +68 -68
- package/build/cjs/cc/AlarmSensorCC.js +12 -50
- package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
- package/build/cjs/cc/AssociationCC.d.ts +72 -73
- package/build/cjs/cc/AssociationCC.js +9 -26
- package/build/cjs/cc/AssociationCC.js.map +2 -2
- package/build/cjs/cc/AssociationGroupInfoCC.d.ts +71 -71
- package/build/cjs/cc/AssociationGroupInfoCC.js +11 -22
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
- package/build/cjs/cc/BarrierOperatorCC.d.ts +66 -72
- package/build/cjs/cc/BarrierOperatorCC.js +12 -44
- package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
- package/build/cjs/cc/BasicCC.d.ts +64 -65
- package/build/cjs/cc/BasicCC.js +15 -46
- package/build/cjs/cc/BasicCC.js.map +2 -2
- package/build/cjs/cc/BatteryCC.d.ts +162 -165
- package/build/cjs/cc/BatteryCC.js +7 -84
- package/build/cjs/cc/BatteryCC.js.map +2 -2
- package/build/cjs/cc/BinarySensorCC.d.ts +36 -36
- package/build/cjs/cc/BinarySensorCC.js +9 -29
- package/build/cjs/cc/BinarySensorCC.js.map +2 -2
- package/build/cjs/cc/BinarySwitchCC.d.ts +34 -34
- package/build/cjs/cc/BinarySwitchCC.js +6 -22
- package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
- package/build/cjs/cc/CRC16CC.d.ts +4 -8
- package/build/cjs/cc/CRC16CC.js +4 -27
- package/build/cjs/cc/CRC16CC.js.map +2 -2
- package/build/cjs/cc/CentralSceneCC.d.ts +74 -74
- package/build/cjs/cc/CentralSceneCC.js +7 -30
- package/build/cjs/cc/CentralSceneCC.js.map +2 -2
- package/build/cjs/cc/ClimateControlScheduleCC.d.ts +38 -40
- package/build/cjs/cc/ClimateControlScheduleCC.js +5 -24
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +2 -2
- package/build/cjs/cc/ClockCC.d.ts +3 -3
- package/build/cjs/cc/ClockCC.js.map +2 -2
- package/build/cjs/cc/ColorSwitchCC.d.ts +117 -117
- package/build/cjs/cc/ColorSwitchCC.js +23 -75
- package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
- package/build/cjs/cc/ConfigurationCC._validateArgs.js +1 -1
- package/build/cjs/cc/ConfigurationCC._validateArgs.js.map +1 -1
- package/build/cjs/cc/ConfigurationCC.d.ts +48 -52
- package/build/cjs/cc/ConfigurationCC.js +11 -39
- package/build/cjs/cc/ConfigurationCC.js.map +2 -2
- package/build/cjs/cc/DeviceResetLocallyCC.d.ts +1 -1
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +2 -2
- package/build/cjs/cc/DoorLockCC._validateArgs.js +1 -1
- package/build/cjs/cc/DoorLockCC._validateArgs.js.map +1 -1
- package/build/cjs/cc/DoorLockCC.d.ts +362 -361
- package/build/cjs/cc/DoorLockCC.js +51 -156
- package/build/cjs/cc/DoorLockCC.js.map +2 -2
- package/build/cjs/cc/DoorLockLoggingCC.d.ts +14 -14
- package/build/cjs/cc/DoorLockLoggingCC.js +4 -8
- package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
- package/build/cjs/cc/EnergyProductionCC.d.ts +16 -16
- package/build/cjs/cc/EnergyProductionCC.js +5 -17
- package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
- package/build/cjs/cc/EntryControlCC.d.ts +71 -71
- package/build/cjs/cc/EntryControlCC.js +9 -36
- package/build/cjs/cc/EntryControlCC.js.map +2 -2
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js +26 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -1
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +101 -88
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +159 -34
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlModeCC.d.ts +31 -33
- package/build/cjs/cc/HumidityControlModeCC.js +6 -15
- package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +9 -11
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +4 -12
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlSetpointCC.d.ts +50 -50
- package/build/cjs/cc/HumidityControlSetpointCC.js +10 -28
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
- package/build/cjs/cc/InclusionControllerCC.d.ts +4 -4
- package/build/cjs/cc/InclusionControllerCC.js.map +2 -2
- package/build/cjs/cc/IndicatorCC.d.ts +119 -119
- package/build/cjs/cc/IndicatorCC.js +15 -61
- package/build/cjs/cc/IndicatorCC.js.map +2 -2
- package/build/cjs/cc/IrrigationCC.d.ts +581 -585
- package/build/cjs/cc/IrrigationCC.js +29 -233
- package/build/cjs/cc/IrrigationCC.js.map +2 -2
- package/build/cjs/cc/LanguageCC.d.ts +21 -21
- package/build/cjs/cc/LanguageCC.js +4 -15
- package/build/cjs/cc/LanguageCC.js.map +2 -2
- package/build/cjs/cc/LockCC.d.ts +9 -9
- package/build/cjs/cc/LockCC.js +4 -12
- package/build/cjs/cc/LockCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC.d.ts +67 -67
- package/build/cjs/cc/ManufacturerSpecificCC.js +5 -26
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
- package/build/cjs/cc/MeterCC.d.ts +120 -119
- package/build/cjs/cc/MeterCC.js +25 -69
- package/build/cjs/cc/MeterCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelAssociationCC.d.ts +71 -73
- package/build/cjs/cc/MultiChannelAssociationCC.js +10 -28
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelCC.d.ts +136 -146
- package/build/cjs/cc/MultiChannelCC.js +26 -118
- package/build/cjs/cc/MultiChannelCC.js.map +2 -2
- package/build/cjs/cc/MultiCommandCC.d.ts +4 -8
- package/build/cjs/cc/MultiCommandCC.js +4 -37
- package/build/cjs/cc/MultiCommandCC.js.map +2 -2
- package/build/cjs/cc/MultilevelSensorCC.d.ts +50 -49
- package/build/cjs/cc/MultilevelSensorCC.js +12 -33
- package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
- package/build/cjs/cc/MultilevelSwitchCC.d.ts +146 -146
- package/build/cjs/cc/MultilevelSwitchCC.js +13 -107
- package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
- package/build/cjs/cc/NodeNamingCC.d.ts +30 -30
- package/build/cjs/cc/NodeNamingCC.js +5 -16
- package/build/cjs/cc/NodeNamingCC.js.map +2 -2
- package/build/cjs/cc/NotificationCC.d.ts +210 -208
- package/build/cjs/cc/NotificationCC.js +41 -113
- package/build/cjs/cc/NotificationCC.js.map +2 -2
- package/build/cjs/cc/PowerlevelCC.d.ts +6 -6
- package/build/cjs/cc/PowerlevelCC.js.map +2 -2
- package/build/cjs/cc/ProtectionCC.d.ts +117 -121
- package/build/cjs/cc/ProtectionCC.js +15 -50
- package/build/cjs/cc/ProtectionCC.js.map +2 -2
- package/build/cjs/cc/SceneActivationCC.d.ts +29 -29
- package/build/cjs/cc/SceneActivationCC.js +4 -17
- package/build/cjs/cc/SceneActivationCC.js.map +2 -2
- package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +35 -35
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +9 -21
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +2 -2
- package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +36 -35
- package/build/cjs/cc/SceneControllerConfigurationCC.js +10 -22
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
- package/build/cjs/cc/ScheduleEntryLockCC.d.ts +109 -109
- package/build/cjs/cc/ScheduleEntryLockCC.js +13 -30
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
- package/build/cjs/cc/Security2CC.d.ts +15 -21
- package/build/cjs/cc/Security2CC.js +32 -347
- package/build/cjs/cc/Security2CC.js.map +3 -3
- package/build/cjs/cc/SecurityCC.d.ts +12 -19
- package/build/cjs/cc/SecurityCC.js +12 -106
- package/build/cjs/cc/SecurityCC.js.map +2 -2
- package/build/cjs/cc/SoundSwitchCC.d.ts +58 -58
- package/build/cjs/cc/SoundSwitchCC.js +11 -43
- package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
- package/build/cjs/cc/SupervisionCC.d.ts +21 -25
- package/build/cjs/cc/SupervisionCC.js +8 -38
- package/build/cjs/cc/SupervisionCC.js.map +2 -2
- package/build/cjs/cc/ThermostatFanModeCC.d.ts +37 -39
- package/build/cjs/cc/ThermostatFanModeCC.js +8 -21
- package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatFanStateCC.d.ts +9 -11
- package/build/cjs/cc/ThermostatFanStateCC.js +4 -12
- package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatModeCC.d.ts +39 -41
- package/build/cjs/cc/ThermostatModeCC.js +8 -21
- package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +9 -11
- package/build/cjs/cc/ThermostatOperatingStateCC.js +4 -12
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetbackCC.d.ts +4 -4
- package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +51 -51
- package/build/cjs/cc/ThermostatSetpointCC.js +10 -25
- package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
- package/build/cjs/cc/TimeCC.d.ts +6 -6
- package/build/cjs/cc/TimeCC.js.map +2 -2
- package/build/cjs/cc/TimeParametersCC.d.ts +9 -9
- package/build/cjs/cc/TimeParametersCC.js +4 -11
- package/build/cjs/cc/TimeParametersCC.js.map +2 -2
- package/build/cjs/cc/TransportServiceCC.d.ts +7 -12
- package/build/cjs/cc/TransportServiceCC.js +3 -20
- package/build/cjs/cc/TransportServiceCC.js.map +2 -2
- package/build/cjs/cc/UserCodeCC._validateArgs.js +1 -1
- package/build/cjs/cc/UserCodeCC._validateArgs.js.map +1 -1
- package/build/cjs/cc/UserCodeCC.d.ts +236 -236
- package/build/cjs/cc/UserCodeCC.js +33 -98
- package/build/cjs/cc/UserCodeCC.js.map +2 -2
- package/build/cjs/cc/VersionCC.d.ts +210 -212
- package/build/cjs/cc/VersionCC.js +7 -98
- package/build/cjs/cc/VersionCC.js.map +2 -2
- package/build/cjs/cc/WakeUpCC.d.ts +44 -44
- package/build/cjs/cc/WakeUpCC.js +6 -26
- package/build/cjs/cc/WakeUpCC.js.map +2 -2
- package/build/cjs/cc/WindowCoveringCC.d.ts +118 -122
- package/build/cjs/cc/WindowCoveringCC.js +16 -128
- package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
- package/build/cjs/cc/ZWavePlusCC.d.ts +74 -74
- package/build/cjs/cc/ZWavePlusCC.js +4 -25
- package/build/cjs/cc/ZWavePlusCC.js.map +2 -2
- package/build/cjs/cc/ZWaveProtocolCC.d.ts +28 -28
- package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
- package/build/cjs/cc/_CCValues.generated.d.ts +15814 -0
- package/build/cjs/cc/_CCValues.generated.js +8723 -0
- package/build/cjs/cc/_CCValues.generated.js.map +7 -0
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +4 -4
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index_browser.d.ts +9 -0
- package/build/cjs/index_browser.js +41 -1
- package/build/cjs/index_browser.js.map +2 -2
- package/build/cjs/lib/API.d.ts +7 -5
- package/build/cjs/lib/API.js +1 -1
- package/build/cjs/lib/API.js.map +2 -2
- package/build/cjs/lib/CCValueUtils.d.ts +14 -0
- package/build/cjs/lib/CCValueUtils.js +93 -0
- package/build/cjs/lib/CCValueUtils.js.map +7 -0
- package/build/cjs/lib/CommandClass.d.ts +10 -21
- package/build/cjs/lib/CommandClass.js +51 -106
- package/build/cjs/lib/CommandClass.js.map +3 -3
- package/build/cjs/lib/CommandClassDecorators.d.ts +1 -1
- package/build/cjs/lib/CommandClassDecorators.js +3 -3
- package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
- package/build/cjs/lib/Values.d.ts +7 -106
- package/build/cjs/lib/Values.js +13 -107
- package/build/cjs/lib/Values.js.map +3 -3
- package/build/cjs/lib/traits.d.ts +94 -0
- package/build/cjs/lib/traits.js +17 -0
- package/build/cjs/lib/traits.js.map +7 -0
- package/build/cjs/lib/utils.d.ts +2 -2
- package/build/cjs/lib/utils.js.map +2 -2
- package/build/esm/cc/AlarmSensorCC.d.ts +68 -68
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +2 -40
- package/build/esm/cc/AlarmSensorCC.js.map +1 -1
- package/build/esm/cc/AssociationCC.d.ts +72 -73
- package/build/esm/cc/AssociationCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.js +2 -27
- package/build/esm/cc/AssociationCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.d.ts +71 -71
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.js +2 -19
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.d.ts +66 -72
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.js +2 -37
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC.d.ts +64 -65
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +2 -34
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts +162 -165
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +3 -80
- package/build/esm/cc/BatteryCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC.d.ts +36 -36
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.js +2 -19
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts +34 -34
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +2 -19
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CRC16CC.d.ts +4 -8
- package/build/esm/cc/CRC16CC.d.ts.map +1 -1
- package/build/esm/cc/CRC16CC.js +4 -34
- package/build/esm/cc/CRC16CC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts +74 -74
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.js +2 -27
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.d.ts +38 -40
- package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.js +2 -26
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/esm/cc/ClockCC.d.ts +3 -3
- package/build/esm/cc/ClockCC.d.ts.map +1 -1
- package/build/esm/cc/ClockCC.js +0 -1
- package/build/esm/cc/ClockCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC.d.ts +117 -117
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.js +2 -58
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC._validateArgs.js +1 -1
- package/build/esm/cc/ConfigurationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ConfigurationCC.d.ts +48 -52
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +2 -40
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC._validateArgs.js +1 -1
- package/build/esm/cc/DoorLockCC._validateArgs.js.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts +362 -361
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.js +9 -129
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.d.ts +14 -14
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.js +2 -6
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC.d.ts +16 -16
- package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.js +2 -15
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts +71 -71
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +2 -29
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js +20 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +101 -88
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +160 -53
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.d.ts +31 -33
- package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.js +2 -11
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +9 -11
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js +2 -9
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts +50 -50
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +2 -23
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/InclusionControllerCC.d.ts +4 -4
- package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
- package/build/esm/cc/InclusionControllerCC.js +0 -2
- package/build/esm/cc/InclusionControllerCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC.d.ts +119 -119
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.js +2 -50
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC.d.ts +581 -585
- package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.js +3 -231
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts +21 -21
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +2 -13
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC.d.ts +9 -9
- package/build/esm/cc/LockCC.d.ts.map +1 -1
- package/build/esm/cc/LockCC.js +2 -10
- package/build/esm/cc/LockCC.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts +2 -2
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.js +0 -2
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts +67 -67
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +2 -26
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC.d.ts +120 -119
- package/build/esm/cc/MeterCC.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.js +3 -53
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.d.ts +71 -73
- package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.js +2 -30
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts +136 -146
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +10 -131
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultiCommandCC.d.ts +4 -8
- package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC.js +4 -38
- package/build/esm/cc/MultiCommandCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.d.ts +50 -49
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.js +2 -27
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts +146 -146
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +5 -105
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts +30 -30
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +2 -14
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts +210 -208
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +21 -97
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts +6 -6
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.js +0 -4
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts +117 -121
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.js +2 -39
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneActivationCC.d.ts +29 -29
- package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.js +2 -15
- package/build/esm/cc/SceneActivationCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +35 -35
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.js +2 -16
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts +36 -35
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +2 -16
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts +109 -109
- package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.js +2 -31
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts +15 -21
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +27 -475
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts +12 -19
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +13 -138
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts +58 -58
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +2 -40
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/SupervisionCC.d.ts +21 -25
- package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
- package/build/esm/cc/SupervisionCC.js +6 -41
- package/build/esm/cc/SupervisionCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.d.ts +37 -39
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.js +2 -15
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.d.ts +9 -11
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.js +2 -9
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts +39 -41
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.js +2 -17
- package/build/esm/cc/ThermostatModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts +9 -11
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.js +2 -9
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.d.ts +4 -4
- package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.js +0 -2
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts +51 -51
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +2 -22
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC.d.ts +6 -6
- package/build/esm/cc/TimeCC.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.js +0 -4
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC.d.ts +9 -9
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.js +2 -9
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/TransportServiceCC.d.ts +7 -12
- package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
- package/build/esm/cc/TransportServiceCC.js +5 -38
- package/build/esm/cc/TransportServiceCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC._validateArgs.js +1 -1
- package/build/esm/cc/UserCodeCC._validateArgs.js.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts +236 -236
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.js +2 -72
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/VersionCC.d.ts +210 -212
- package/build/esm/cc/VersionCC.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.js +2 -96
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC.d.ts +44 -44
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.js +2 -22
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts +118 -122
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +3 -108
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts +74 -74
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.js +2 -26
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.d.ts +28 -28
- package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js +0 -27
- package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/esm/cc/_CCValues.generated.d.ts +15814 -0
- package/build/esm/cc/_CCValues.generated.d.ts.map +1 -0
- package/build/esm/cc/_CCValues.generated.js +9187 -0
- package/build/esm/cc/_CCValues.generated.js.map +1 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +4 -4
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +0 -3
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index_browser.d.ts +9 -0
- package/build/esm/index_browser.d.ts.map +1 -1
- package/build/esm/index_browser.js +8 -1
- package/build/esm/index_browser.js.map +1 -1
- package/build/esm/lib/API.d.ts +7 -5
- package/build/esm/lib/API.d.ts.map +1 -1
- package/build/esm/lib/API.js +1 -1
- package/build/esm/lib/API.js.map +1 -1
- package/build/esm/lib/CCValueUtils.d.ts +14 -0
- package/build/esm/lib/CCValueUtils.d.ts.map +1 -0
- package/build/esm/lib/CCValueUtils.js +62 -0
- package/build/esm/lib/CCValueUtils.js.map +1 -0
- package/build/esm/lib/CommandClass.d.ts +10 -21
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js +8 -101
- package/build/esm/lib/CommandClass.js.map +1 -1
- package/build/esm/lib/CommandClassDecorators.d.ts +1 -1
- 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/Values.d.ts +7 -106
- package/build/esm/lib/Values.d.ts.map +1 -1
- package/build/esm/lib/Values.js +7 -104
- package/build/esm/lib/Values.js.map +1 -1
- package/build/esm/lib/traits.d.ts +94 -0
- package/build/esm/lib/traits.d.ts.map +1 -0
- package/build/esm/lib/traits.js +2 -0
- package/build/esm/lib/traits.js.map +1 -0
- 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.map +1 -1
- package/package.json +16 -14
|
@@ -1,30 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type
|
|
1
|
+
import { type CCEncodingContext, type CCParsingContext } from "@zwave-js/cc";
|
|
2
|
+
import { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, type WithAddress } from "@zwave-js/core/safe";
|
|
3
3
|
import { Bytes } from "@zwave-js/shared/safe";
|
|
4
4
|
import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation } from "../lib/API.js";
|
|
5
5
|
import { type CCRaw, CommandClass, type InterviewContext } from "../lib/CommandClass.js";
|
|
6
6
|
import { SoundSwitchCommand, type ToneId } from "../lib/_Types.js";
|
|
7
7
|
export declare const SoundSwitchCCValues: Readonly<{
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
11
|
-
property: "
|
|
8
|
+
volume: {
|
|
9
|
+
id: {
|
|
10
|
+
readonly commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
11
|
+
readonly property: "volume";
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
endpoint: (endpoint?: number) => {
|
|
14
14
|
readonly commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
15
15
|
readonly endpoint: number;
|
|
16
|
-
readonly property: "
|
|
16
|
+
readonly property: "volume";
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
19
19
|
readonly meta: {
|
|
20
|
-
readonly min:
|
|
21
|
-
readonly max:
|
|
22
|
-
readonly
|
|
20
|
+
readonly min: 0;
|
|
21
|
+
readonly max: 100;
|
|
22
|
+
readonly unit: "%";
|
|
23
|
+
readonly label: "Volume";
|
|
24
|
+
readonly allowManualEntry: true;
|
|
25
|
+
readonly states: {
|
|
26
|
+
readonly 0: "default";
|
|
27
|
+
};
|
|
23
28
|
readonly type: "number";
|
|
24
29
|
readonly readable: true;
|
|
25
30
|
readonly writeable: true;
|
|
26
31
|
};
|
|
27
|
-
|
|
32
|
+
options: {
|
|
28
33
|
readonly internal: false;
|
|
29
34
|
readonly minVersion: 1;
|
|
30
35
|
readonly secret: false;
|
|
@@ -33,27 +38,27 @@ export declare const SoundSwitchCCValues: Readonly<{
|
|
|
33
38
|
readonly autoCreate: true;
|
|
34
39
|
};
|
|
35
40
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
39
|
-
property: "
|
|
41
|
+
toneId: {
|
|
42
|
+
id: {
|
|
43
|
+
readonly commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
44
|
+
readonly property: "toneId";
|
|
40
45
|
};
|
|
41
|
-
|
|
46
|
+
endpoint: (endpoint?: number) => {
|
|
42
47
|
readonly commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
43
48
|
readonly endpoint: number;
|
|
44
|
-
readonly property: "
|
|
49
|
+
readonly property: "toneId";
|
|
45
50
|
};
|
|
46
|
-
|
|
51
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
47
52
|
readonly meta: {
|
|
53
|
+
readonly label: "Play Tone";
|
|
54
|
+
readonly valueChangeOptions: readonly ["volume"];
|
|
48
55
|
readonly min: 0;
|
|
49
|
-
readonly max:
|
|
50
|
-
readonly unit: "%";
|
|
51
|
-
readonly label: "Default volume";
|
|
56
|
+
readonly max: 255;
|
|
52
57
|
readonly type: "number";
|
|
53
58
|
readonly readable: true;
|
|
54
59
|
readonly writeable: true;
|
|
55
60
|
};
|
|
56
|
-
|
|
61
|
+
options: {
|
|
57
62
|
readonly internal: false;
|
|
58
63
|
readonly minVersion: 1;
|
|
59
64
|
readonly secret: false;
|
|
@@ -62,27 +67,27 @@ export declare const SoundSwitchCCValues: Readonly<{
|
|
|
62
67
|
readonly autoCreate: true;
|
|
63
68
|
};
|
|
64
69
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
68
|
-
property: "
|
|
70
|
+
defaultVolume: {
|
|
71
|
+
id: {
|
|
72
|
+
readonly commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
73
|
+
readonly property: "defaultVolume";
|
|
69
74
|
};
|
|
70
|
-
|
|
75
|
+
endpoint: (endpoint?: number) => {
|
|
71
76
|
readonly commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
72
77
|
readonly endpoint: number;
|
|
73
|
-
readonly property: "
|
|
78
|
+
readonly property: "defaultVolume";
|
|
74
79
|
};
|
|
75
|
-
|
|
80
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
76
81
|
readonly meta: {
|
|
77
|
-
readonly label: "Play Tone";
|
|
78
|
-
readonly valueChangeOptions: readonly ["volume"];
|
|
79
82
|
readonly min: 0;
|
|
80
|
-
readonly max:
|
|
83
|
+
readonly max: 100;
|
|
84
|
+
readonly unit: "%";
|
|
85
|
+
readonly label: "Default volume";
|
|
81
86
|
readonly type: "number";
|
|
82
87
|
readonly readable: true;
|
|
83
88
|
readonly writeable: true;
|
|
84
89
|
};
|
|
85
|
-
|
|
90
|
+
options: {
|
|
86
91
|
readonly internal: false;
|
|
87
92
|
readonly minVersion: 1;
|
|
88
93
|
readonly secret: false;
|
|
@@ -91,31 +96,26 @@ export declare const SoundSwitchCCValues: Readonly<{
|
|
|
91
96
|
readonly autoCreate: true;
|
|
92
97
|
};
|
|
93
98
|
};
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
97
|
-
property: "
|
|
99
|
+
defaultToneId: {
|
|
100
|
+
id: {
|
|
101
|
+
readonly commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
102
|
+
readonly property: "defaultToneId";
|
|
98
103
|
};
|
|
99
|
-
|
|
104
|
+
endpoint: (endpoint?: number) => {
|
|
100
105
|
readonly commandClass: (typeof CommandClasses)["Sound Switch"];
|
|
101
106
|
readonly endpoint: number;
|
|
102
|
-
readonly property: "
|
|
107
|
+
readonly property: "defaultToneId";
|
|
103
108
|
};
|
|
104
|
-
|
|
109
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
105
110
|
readonly meta: {
|
|
106
|
-
readonly min:
|
|
107
|
-
readonly max:
|
|
108
|
-
readonly
|
|
109
|
-
readonly label: "Volume";
|
|
110
|
-
readonly allowManualEntry: true;
|
|
111
|
-
readonly states: {
|
|
112
|
-
readonly 0: "default";
|
|
113
|
-
};
|
|
111
|
+
readonly min: 1;
|
|
112
|
+
readonly max: 254;
|
|
113
|
+
readonly label: "Default tone ID";
|
|
114
114
|
readonly type: "number";
|
|
115
115
|
readonly readable: true;
|
|
116
116
|
readonly writeable: true;
|
|
117
117
|
};
|
|
118
|
-
|
|
118
|
+
options: {
|
|
119
119
|
readonly internal: false;
|
|
120
120
|
readonly minVersion: 1;
|
|
121
121
|
readonly secret: false;
|
|
@@ -148,7 +148,7 @@ export declare class SoundSwitchCCTonesNumberReport extends SoundSwitchCC {
|
|
|
148
148
|
constructor(options: WithAddress<SoundSwitchCCTonesNumberReportOptions>);
|
|
149
149
|
static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCTonesNumberReport;
|
|
150
150
|
toneCount: number;
|
|
151
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
151
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
152
152
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
153
153
|
}
|
|
154
154
|
export declare class SoundSwitchCCTonesNumberGet extends SoundSwitchCC {
|
|
@@ -164,7 +164,7 @@ export declare class SoundSwitchCCToneInfoReport extends SoundSwitchCC {
|
|
|
164
164
|
readonly toneId: number;
|
|
165
165
|
readonly duration: number;
|
|
166
166
|
readonly name: string;
|
|
167
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
167
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
168
168
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
169
169
|
}
|
|
170
170
|
export interface SoundSwitchCCToneInfoGetOptions {
|
|
@@ -174,7 +174,7 @@ export declare class SoundSwitchCCToneInfoGet extends SoundSwitchCC {
|
|
|
174
174
|
constructor(options: WithAddress<SoundSwitchCCToneInfoGetOptions>);
|
|
175
175
|
static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCToneInfoGet;
|
|
176
176
|
toneId: number;
|
|
177
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
177
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
178
178
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
179
179
|
}
|
|
180
180
|
export interface SoundSwitchCCConfigurationSetOptions {
|
|
@@ -186,7 +186,7 @@ export declare class SoundSwitchCCConfigurationSet extends SoundSwitchCC {
|
|
|
186
186
|
static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCConfigurationSet;
|
|
187
187
|
defaultVolume: number;
|
|
188
188
|
defaultToneId: number;
|
|
189
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
189
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
190
190
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
191
191
|
}
|
|
192
192
|
export interface SoundSwitchCCConfigurationReportOptions {
|
|
@@ -198,7 +198,7 @@ export declare class SoundSwitchCCConfigurationReport extends SoundSwitchCC {
|
|
|
198
198
|
static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCConfigurationReport;
|
|
199
199
|
defaultVolume: number;
|
|
200
200
|
defaultToneId: number;
|
|
201
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
201
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
202
202
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
203
203
|
}
|
|
204
204
|
export declare class SoundSwitchCCConfigurationGet extends SoundSwitchCC {
|
|
@@ -212,7 +212,7 @@ export declare class SoundSwitchCCTonePlaySet extends SoundSwitchCC {
|
|
|
212
212
|
static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCTonePlaySet;
|
|
213
213
|
toneId: ToneId | number;
|
|
214
214
|
volume?: number;
|
|
215
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
215
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
216
216
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
217
217
|
}
|
|
218
218
|
export interface SoundSwitchCCTonePlayReportOptions {
|
|
@@ -224,7 +224,7 @@ export declare class SoundSwitchCCTonePlayReport extends SoundSwitchCC {
|
|
|
224
224
|
static from(raw: CCRaw, ctx: CCParsingContext): SoundSwitchCCTonePlayReport;
|
|
225
225
|
readonly toneId: ToneId | number;
|
|
226
226
|
volume?: number;
|
|
227
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
227
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
228
228
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
229
229
|
}
|
|
230
230
|
export declare class SoundSwitchCCTonePlayGet extends SoundSwitchCC {
|
|
@@ -41,7 +41,7 @@ __export(SoundSwitchCC_exports, {
|
|
|
41
41
|
SoundSwitchCCTonePlaySet: () => SoundSwitchCCTonePlaySet,
|
|
42
42
|
SoundSwitchCCTonesNumberGet: () => SoundSwitchCCTonesNumberGet,
|
|
43
43
|
SoundSwitchCCTonesNumberReport: () => SoundSwitchCCTonesNumberReport,
|
|
44
|
-
SoundSwitchCCValues: () => SoundSwitchCCValues
|
|
44
|
+
SoundSwitchCCValues: () => import_CCValues_generated.SoundSwitchCCValues
|
|
45
45
|
});
|
|
46
46
|
module.exports = __toCommonJS(SoundSwitchCC_exports);
|
|
47
47
|
var __validateArgs = __toESM(require("./SoundSwitchCC._validateArgs.js"), 1);
|
|
@@ -54,6 +54,7 @@ var import_CommandClass = require("../lib/CommandClass.js");
|
|
|
54
54
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
55
55
|
var import_Values = require("../lib/Values.js");
|
|
56
56
|
var import_Types = require("../lib/_Types.js");
|
|
57
|
+
var import_CCValues_generated = require("./_CCValues.generated.js");
|
|
57
58
|
var __runInitializers = function(thisArg, initializers, value) {
|
|
58
59
|
var useValue = arguments.length > 2;
|
|
59
60
|
for (var i = 0; i < initializers.length; i++) {
|
|
@@ -95,39 +96,6 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
|
|
|
95
96
|
done = true;
|
|
96
97
|
};
|
|
97
98
|
const { validateArgs_SoundSwitchCCAPI_getToneInfo, validateArgs_SoundSwitchCCAPI_setConfiguration, validateArgs_SoundSwitchCCAPI_play } = __validateArgs;
|
|
98
|
-
const SoundSwitchCCValues = Object.freeze({
|
|
99
|
-
...import_Values.V.defineStaticCCValues(import_safe.CommandClasses["Sound Switch"], {
|
|
100
|
-
...import_Values.V.staticProperty("volume", {
|
|
101
|
-
...import_safe.ValueMetadata.UInt8,
|
|
102
|
-
min: 0,
|
|
103
|
-
max: 100,
|
|
104
|
-
unit: "%",
|
|
105
|
-
label: "Volume",
|
|
106
|
-
allowManualEntry: true,
|
|
107
|
-
states: {
|
|
108
|
-
0: "default"
|
|
109
|
-
}
|
|
110
|
-
}),
|
|
111
|
-
...import_Values.V.staticProperty("toneId", {
|
|
112
|
-
...import_safe.ValueMetadata.UInt8,
|
|
113
|
-
label: "Play Tone",
|
|
114
|
-
valueChangeOptions: ["volume"]
|
|
115
|
-
}),
|
|
116
|
-
...import_Values.V.staticProperty("defaultVolume", {
|
|
117
|
-
...import_safe.ValueMetadata.Number,
|
|
118
|
-
min: 0,
|
|
119
|
-
max: 100,
|
|
120
|
-
unit: "%",
|
|
121
|
-
label: "Default volume"
|
|
122
|
-
}),
|
|
123
|
-
...import_Values.V.staticProperty("defaultToneId", {
|
|
124
|
-
...import_safe.ValueMetadata.Number,
|
|
125
|
-
min: 1,
|
|
126
|
-
max: 254,
|
|
127
|
-
label: "Default tone ID"
|
|
128
|
-
})
|
|
129
|
-
})
|
|
130
|
-
});
|
|
131
99
|
let SoundSwitchCCAPI = (() => {
|
|
132
100
|
let _classDecorators = [(0, import_CommandClassDecorators.API)(import_safe.CommandClasses["Sound Switch"])];
|
|
133
101
|
let _classDescriptor;
|
|
@@ -265,14 +233,14 @@ let SoundSwitchCCAPI = (() => {
|
|
|
265
233
|
if (typeof value !== "number") {
|
|
266
234
|
(0, import_API.throwWrongValueType)(this.ccId, property, "number", typeof value);
|
|
267
235
|
}
|
|
268
|
-
this.tryGetValueDB()?.setValue(SoundSwitchCCValues.volume.endpoint(this.endpoint.index), value, { source: "driver", updateTimestamp: false });
|
|
236
|
+
this.tryGetValueDB()?.setValue(import_CCValues_generated.SoundSwitchCCValues.volume.endpoint(this.endpoint.index), value, { source: "driver", updateTimestamp: false });
|
|
269
237
|
} else if (property === "toneId") {
|
|
270
238
|
if (typeof value !== "number") {
|
|
271
239
|
(0, import_API.throwWrongValueType)(this.ccId, property, "number", typeof value);
|
|
272
240
|
}
|
|
273
241
|
let result;
|
|
274
242
|
if (value > 0) {
|
|
275
|
-
const volume = options?.volume !== void 0 ? options.volume : this.tryGetValueDB()?.getValue(SoundSwitchCCValues.volume.endpoint(this.endpoint.index));
|
|
243
|
+
const volume = options?.volume !== void 0 ? options.volume : this.tryGetValueDB()?.getValue(import_CCValues_generated.SoundSwitchCCValues.volume.endpoint(this.endpoint.index));
|
|
276
244
|
result = await this.play(value, volume);
|
|
277
245
|
} else {
|
|
278
246
|
result = await this.stopPlaying();
|
|
@@ -310,7 +278,7 @@ let SoundSwitchCCAPI = (() => {
|
|
|
310
278
|
return SoundSwitchCCAPI2 = _classThis;
|
|
311
279
|
})();
|
|
312
280
|
let SoundSwitchCC = (() => {
|
|
313
|
-
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_safe.CommandClasses["Sound Switch"]), (0, import_CommandClassDecorators.implementedVersion)(2), (0, import_CommandClassDecorators.ccValues)(SoundSwitchCCValues)];
|
|
281
|
+
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_safe.CommandClasses["Sound Switch"]), (0, import_CommandClassDecorators.implementedVersion)(2), (0, import_CommandClassDecorators.ccValues)(import_CCValues_generated.SoundSwitchCCValues)];
|
|
314
282
|
let _classDescriptor;
|
|
315
283
|
let _classExtraInitializers = [];
|
|
316
284
|
let _classThis;
|
|
@@ -391,14 +359,14 @@ duration: ${info.duration} seconds`;
|
|
|
391
359
|
});
|
|
392
360
|
metadataStates[toneId] = `${info.name} (${info.duration} sec)`;
|
|
393
361
|
}
|
|
394
|
-
this.setMetadata(ctx, SoundSwitchCCValues.defaultToneId, {
|
|
395
|
-
...SoundSwitchCCValues.defaultToneId.meta,
|
|
362
|
+
this.setMetadata(ctx, import_CCValues_generated.SoundSwitchCCValues.defaultToneId, {
|
|
363
|
+
...import_CCValues_generated.SoundSwitchCCValues.defaultToneId.meta,
|
|
396
364
|
min: 1,
|
|
397
365
|
max: toneCount,
|
|
398
366
|
states: metadataStates
|
|
399
367
|
});
|
|
400
|
-
this.setMetadata(ctx, SoundSwitchCCValues.toneId, {
|
|
401
|
-
...SoundSwitchCCValues.toneId.meta,
|
|
368
|
+
this.setMetadata(ctx, import_CCValues_generated.SoundSwitchCCValues.toneId, {
|
|
369
|
+
...import_CCValues_generated.SoundSwitchCCValues.toneId.meta,
|
|
402
370
|
min: 0,
|
|
403
371
|
max: toneCount,
|
|
404
372
|
states: {
|
|
@@ -648,7 +616,7 @@ let SoundSwitchCCConfigurationSet = (() => {
|
|
|
648
616
|
return SoundSwitchCCConfigurationSet2 = _classThis;
|
|
649
617
|
})();
|
|
650
618
|
let SoundSwitchCCConfigurationReport = (() => {
|
|
651
|
-
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.SoundSwitchCommand.ConfigurationReport), (0, import_CommandClassDecorators.ccValueProperty)("defaultVolume", SoundSwitchCCValues.defaultVolume), (0, import_CommandClassDecorators.ccValueProperty)("defaultToneId", SoundSwitchCCValues.defaultToneId)];
|
|
619
|
+
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.SoundSwitchCommand.ConfigurationReport), (0, import_CommandClassDecorators.ccValueProperty)("defaultVolume", import_CCValues_generated.SoundSwitchCCValues.defaultVolume), (0, import_CommandClassDecorators.ccValueProperty)("defaultToneId", import_CCValues_generated.SoundSwitchCCValues.defaultToneId)];
|
|
652
620
|
let _classDescriptor;
|
|
653
621
|
let _classExtraInitializers = [];
|
|
654
622
|
let _classThis;
|
|
@@ -783,7 +751,7 @@ let SoundSwitchCCTonePlaySet = (() => {
|
|
|
783
751
|
return SoundSwitchCCTonePlaySet2 = _classThis;
|
|
784
752
|
})();
|
|
785
753
|
let SoundSwitchCCTonePlayReport = (() => {
|
|
786
|
-
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.SoundSwitchCommand.TonePlayReport), (0, import_CommandClassDecorators.ccValueProperty)("toneId", SoundSwitchCCValues.toneId), (0, import_CommandClassDecorators.ccValueProperty)("volume", SoundSwitchCCValues.volume)];
|
|
754
|
+
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.SoundSwitchCommand.TonePlayReport), (0, import_CommandClassDecorators.ccValueProperty)("toneId", import_CCValues_generated.SoundSwitchCCValues.toneId), (0, import_CommandClassDecorators.ccValueProperty)("volume", import_CCValues_generated.SoundSwitchCCValues.volume)];
|
|
787
755
|
let _classDescriptor;
|
|
788
756
|
let _classExtraInitializers = [];
|
|
789
757
|
let _classThis;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/SoundSwitchCC.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n\tCommandClasses,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { clamp } from \"alcalzone-shared/math\";\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\ttype CCResponsePredicate,\n\tCommandClass,\n\ttype InterviewContext,\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 { SoundSwitchCommand, type ToneId } from \"../lib/_Types.js\";\n\nexport const SoundSwitchCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses[\"Sound Switch\"], {\n\t\t...V.staticProperty(\n\t\t\t\"volume\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Volume\",\n\t\t\t\tallowManualEntry: true,\n\t\t\t\tstates: {\n\t\t\t\t\t0: \"default\",\n\t\t\t\t},\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"toneId\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Play Tone\",\n\t\t\t\tvalueChangeOptions: [\"volume\"],\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"defaultVolume\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Default volume\",\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"defaultToneId\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 254,\n\t\t\t\tlabel: \"Default tone ID\",\n\t\t\t} as const,\n\t\t),\n\t}),\n});\n\n@API(CommandClasses[\"Sound Switch\"])\nexport class SoundSwitchCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: SoundSwitchCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase SoundSwitchCommand.TonesNumberGet:\n\t\t\tcase SoundSwitchCommand.ToneInfoGet:\n\t\t\tcase SoundSwitchCommand.ConfigurationGet:\n\t\t\tcase SoundSwitchCommand.TonePlayGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase SoundSwitchCommand.ConfigurationSet:\n\t\t\tcase SoundSwitchCommand.TonePlaySet:\n\t\t\t\treturn true; // This is mandatory\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tpublic async getToneCount(): Promise<MaybeNotKnown<number>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.TonesNumberGet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCTonesNumberGet({\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\tSoundSwitchCCTonesNumberReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.toneCount;\n\t}\n\n\t@validateArgs()\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getToneInfo(toneId: number) {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.ToneInfoGet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCToneInfoGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\ttoneId,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tSoundSwitchCCToneInfoReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) return pick(response, [\"duration\", \"name\"]);\n\t}\n\n\t@validateArgs()\n\tpublic async setConfiguration(\n\t\tdefaultToneId: number,\n\t\tdefaultVolume: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.ConfigurationSet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCConfigurationSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tdefaultToneId,\n\t\t\tdefaultVolume,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getConfiguration() {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCConfigurationGet({\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\tSoundSwitchCCConfigurationReport\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, [\"defaultToneId\", \"defaultVolume\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async play(\n\t\ttoneId: number,\n\t\tvolume?: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.TonePlaySet,\n\t\t);\n\n\t\tif (toneId === 0) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Tone ID must be > 0. Use stopPlaying to stop the tone.`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new SoundSwitchCCTonePlaySet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\ttoneId,\n\t\t\tvolume,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async stopPlaying(): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.TonePlaySet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCTonePlaySet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\ttoneId: 0x00,\n\t\t\tvolume: 0x00,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getPlaying() {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.TonePlayGet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCTonePlayGet({\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\tSoundSwitchCCTonePlayReport\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, [\"toneId\", \"volume\"]);\n\t\t}\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: SoundSwitchCCAPI,\n\t\t\t{ property },\n\t\t\tvalue,\n\t\t\toptions,\n\t\t) {\n\t\t\tif (property === \"defaultToneId\") {\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.setConfiguration(\n\t\t\t\t\tvalue,\n\t\t\t\t\t0xff, /* keep current volume */\n\t\t\t\t);\n\t\t\t} else if (property === \"defaultVolume\") {\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.setConfiguration(\n\t\t\t\t\t0x00, /* keep current tone */\n\t\t\t\t\tvalue,\n\t\t\t\t);\n\t\t\t} else if (property === \"volume\") {\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Allow playing a tone by first setting the volume, then the tone ID\n\t\t\t\tthis.tryGetValueDB()?.setValue(\n\t\t\t\t\tSoundSwitchCCValues.volume.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t\tvalue,\n\t\t\t\t\t{ source: \"driver\", updateTimestamp: false },\n\t\t\t\t);\n\t\t\t} else if (property === \"toneId\") {\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet result: SupervisionResult | undefined;\n\t\t\t\tif (value > 0) {\n\t\t\t\t\t// Use provided volume or try to use the current volume if it exists\n\t\t\t\t\tconst volume = options?.volume !== undefined\n\t\t\t\t\t\t? options.volume\n\t\t\t\t\t\t: this.tryGetValueDB()?.getValue<number>(\n\t\t\t\t\t\t\tSoundSwitchCCValues.volume.endpoint(\n\t\t\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\tresult = await this.play(value, volume);\n\t\t\t\t} else {\n\t\t\t\t\tresult = await this.stopPlaying();\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tthis.isSinglecast()\n\t\t\t\t\t&& !supervisedCommandSucceeded(result)\n\t\t\t\t) {\n\t\t\t\t\t// Verify the current value after a (short) delay, unless the command was supervised and successful\n\t\t\t\t\tthis.schedulePoll({ property }, value, {\n\t\t\t\t\t\ttransition: \"fast\",\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: SoundSwitchCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"defaultToneId\":\n\t\t\t\tcase \"defaultVolume\":\n\t\t\t\t\treturn (await this.getConfiguration())?.[property];\n\n\t\t\t\tcase \"toneId\":\n\t\t\t\tcase \"volume\":\n\t\t\t\t\treturn (await this.getPlaying())?.[property];\n\n\t\t\t\tdefault:\n\t\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses[\"Sound Switch\"])\n@implementedVersion(2)\n@ccValues(SoundSwitchCCValues)\nexport class SoundSwitchCC extends CommandClass {\n\tdeclare ccCommand: SoundSwitchCommand;\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[\"Sound Switch\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"requesting tone count...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst toneCount = await api.getToneCount();\n\t\tif (toneCount != undefined) {\n\t\t\tconst logMessage = `supports ${toneCount} tones`;\n\t\t\tctx.logNode(node.id, {\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: \"Querying tone count timed out, skipping interview...\",\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"requesting current sound configuration...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst config = await api.getConfiguration();\n\t\tif (config) {\n\t\t\tconst logMessage = `received current sound configuration:\ndefault tone ID: ${config.defaultToneId}\ndefault volume: ${config.defaultVolume}`;\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tconst metadataStates: Record<number, string> = {};\n\t\tfor (let toneId = 1; toneId <= toneCount; toneId++) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: `requesting info for tone #${toneId}`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst info = await api.getToneInfo(toneId);\n\t\t\tif (!info) continue;\n\t\t\tconst logMessage = `received info for tone #${toneId}:\nname: ${info.name}\nduration: ${info.duration} seconds`;\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t\tmetadataStates[toneId] = `${info.name} (${info.duration} sec)`;\n\t\t}\n\n\t\t// Remember tone count and info on the default tone ID metadata\n\t\tthis.setMetadata(ctx, SoundSwitchCCValues.defaultToneId, {\n\t\t\t...SoundSwitchCCValues.defaultToneId.meta,\n\t\t\tmin: 1,\n\t\t\tmax: toneCount,\n\t\t\tstates: metadataStates,\n\t\t});\n\n\t\t// Remember tone count and info on the tone ID metadata\n\t\tthis.setMetadata(ctx, SoundSwitchCCValues.toneId, {\n\t\t\t...SoundSwitchCCValues.toneId.meta,\n\t\t\tmin: 0,\n\t\t\tmax: toneCount,\n\t\t\tstates: {\n\t\t\t\t0: \"off\",\n\t\t\t\t...metadataStates,\n\t\t\t\t[0xff]: \"default\",\n\t\t\t},\n\t\t});\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n}\n\n// @publicAPI\nexport interface SoundSwitchCCTonesNumberReportOptions {\n\ttoneCount: number;\n}\n\n@CCCommand(SoundSwitchCommand.TonesNumberReport)\nexport class SoundSwitchCCTonesNumberReport extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCTonesNumberReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneCount = options.toneCount;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCTonesNumberReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst toneCount = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneCount,\n\t\t});\n\t}\n\n\tpublic toneCount: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.toneCount]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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: { \"# of tones\": this.toneCount },\n\t\t};\n\t}\n}\n\n@CCCommand(SoundSwitchCommand.TonesNumberGet)\n@expectedCCResponse(SoundSwitchCCTonesNumberReport)\nexport class SoundSwitchCCTonesNumberGet extends SoundSwitchCC {}\n\n// @publicAPI\nexport interface SoundSwitchCCToneInfoReportOptions {\n\ttoneId: number;\n\tduration: number;\n\tname: string;\n}\n\n@CCCommand(SoundSwitchCommand.ToneInfoReport)\nexport class SoundSwitchCCToneInfoReport extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCToneInfoReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneId = options.toneId;\n\t\tthis.duration = options.duration;\n\t\tthis.name = options.name;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCToneInfoReport {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst toneId = raw.payload[0];\n\t\tconst duration = raw.payload.readUInt16BE(1);\n\t\tconst nameLength = raw.payload[3];\n\n\t\tvalidatePayload(raw.payload.length >= 4 + nameLength);\n\t\tconst name = raw.payload.subarray(4, 4 + nameLength).toString(\n\t\t\t\"utf8\",\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneId,\n\t\t\tduration,\n\t\t\tname,\n\t\t});\n\t}\n\n\tpublic readonly toneId: number;\n\tpublic readonly duration: number;\n\tpublic readonly name: string;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.toneId, 0, 0, this.name.length]),\n\t\t\tBytes.from(this.name, \"utf8\"),\n\t\t]);\n\t\tthis.payload.writeUInt16BE(this.duration, 1);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"tone id\": this.toneId,\n\t\t\t\tduration: `${this.duration} seconds`,\n\t\t\t\tname: this.name,\n\t\t\t},\n\t\t};\n\t}\n}\n\nconst testResponseForSoundSwitchToneInfoGet: CCResponsePredicate<\n\tSoundSwitchCCToneInfoGet,\n\tSoundSwitchCCToneInfoReport\n> = (sent, received) => {\n\treturn received.toneId === sent.toneId;\n};\n\n// @publicAPI\nexport interface SoundSwitchCCToneInfoGetOptions {\n\ttoneId: number;\n}\n\n@CCCommand(SoundSwitchCommand.ToneInfoGet)\n@expectedCCResponse(\n\tSoundSwitchCCToneInfoReport,\n\ttestResponseForSoundSwitchToneInfoGet,\n)\nexport class SoundSwitchCCToneInfoGet extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCToneInfoGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneId = options.toneId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCToneInfoGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst toneId = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneId,\n\t\t});\n\t}\n\n\tpublic toneId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.toneId]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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: { \"tone id\": this.toneId },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface SoundSwitchCCConfigurationSetOptions {\n\tdefaultVolume: number;\n\tdefaultToneId: number;\n}\n\n@CCCommand(SoundSwitchCommand.ConfigurationSet)\n@useSupervision()\nexport class SoundSwitchCCConfigurationSet extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCConfigurationSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.defaultVolume = options.defaultVolume;\n\t\tthis.defaultToneId = options.defaultToneId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCConfigurationSet {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst defaultVolume = raw.payload[0];\n\t\tconst defaultToneId = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdefaultVolume,\n\t\t\tdefaultToneId,\n\t\t});\n\t}\n\n\tpublic defaultVolume: number;\n\tpublic defaultToneId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.defaultVolume, this.defaultToneId]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"default volume\": `${this.defaultVolume} %`,\n\t\t\t\t\"default tone id\": this.defaultToneId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface SoundSwitchCCConfigurationReportOptions {\n\tdefaultVolume: number;\n\tdefaultToneId: number;\n}\n\n@CCCommand(SoundSwitchCommand.ConfigurationReport)\n@ccValueProperty(\"defaultVolume\", SoundSwitchCCValues.defaultVolume)\n@ccValueProperty(\"defaultToneId\", SoundSwitchCCValues.defaultToneId)\nexport class SoundSwitchCCConfigurationReport extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCConfigurationReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.defaultVolume = options.defaultVolume;\n\t\tthis.defaultToneId = options.defaultToneId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCConfigurationReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst defaultVolume = clamp(raw.payload[0], 0, 100);\n\t\tconst defaultToneId = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdefaultVolume,\n\t\t\tdefaultToneId,\n\t\t});\n\t}\n\n\tpublic defaultVolume: number;\n\n\tpublic defaultToneId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.defaultVolume, this.defaultToneId]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\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\"default volume\": `${this.defaultVolume} %`,\n\t\t\t\t\"default tone id\": this.defaultToneId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(SoundSwitchCommand.ConfigurationGet)\n@expectedCCResponse(SoundSwitchCCConfigurationReport)\nexport class SoundSwitchCCConfigurationGet extends SoundSwitchCC {}\n\n// @publicAPI\nexport interface SoundSwitchCCTonePlaySetOptions {\n\ttoneId: ToneId | number;\n\t// V2+\n\tvolume?: number;\n}\n\n@CCCommand(SoundSwitchCommand.TonePlaySet)\n@useSupervision()\nexport class SoundSwitchCCTonePlaySet extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCTonePlaySetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneId = options.toneId;\n\t\tthis.volume = options.volume;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCTonePlaySet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst toneId = raw.payload[0];\n\t\tlet volume: number | undefined;\n\t\tif (toneId !== 0 && raw.payload.length >= 2) {\n\t\t\tvolume = raw.payload[1];\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneId,\n\t\t\tvolume,\n\t\t});\n\t}\n\n\tpublic toneId: ToneId | number;\n\tpublic volume?: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.toneId, this.volume ?? 0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"tone id\": this.toneId,\n\t\t};\n\t\tif (this.volume != undefined) {\n\t\t\tmessage.volume = this.volume === 0 ? \"default\" : `${this.volume} %`;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface SoundSwitchCCTonePlayReportOptions {\n\ttoneId: ToneId | number;\n\t// V2+\n\tvolume?: number;\n}\n\n@CCCommand(SoundSwitchCommand.TonePlayReport)\n@ccValueProperty(\"toneId\", SoundSwitchCCValues.toneId)\n@ccValueProperty(\"volume\", SoundSwitchCCValues.volume)\nexport class SoundSwitchCCTonePlayReport extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCTonePlayReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneId = options.toneId;\n\t\tthis.volume = options.volume;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCTonePlayReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst toneId = raw.payload[0];\n\n\t\tlet volume: number | undefined;\n\t\tif (toneId !== 0 && raw.payload.length >= 2) {\n\t\t\tvolume = raw.payload[1];\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneId,\n\t\t\tvolume,\n\t\t});\n\t}\n\n\tpublic readonly toneId: ToneId | number;\n\n\tpublic volume?: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.toneId, this.volume ?? 0]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"tone id\": this.toneId,\n\t\t};\n\t\tif (this.volume != undefined) {\n\t\t\tmessage.volume = this.volume === 0 ? \"default\" : `${this.volume} %`;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(SoundSwitchCommand.TonePlayGet)\n@expectedCCResponse(SoundSwitchCCTonePlayReport)\nexport class SoundSwitchCCTonePlayGet extends SoundSwitchCC {}\n"],
|
|
5
|
-
"mappings": "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",
|
|
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 MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { clamp } from \"alcalzone-shared/math\";\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\ttype CCResponsePredicate,\n\tCommandClass,\n\ttype InterviewContext,\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 { SoundSwitchCommand, type ToneId } from \"../lib/_Types.js\";\n\nexport const SoundSwitchCCValues = V.defineCCValues(\n\tCommandClasses[\"Sound Switch\"],\n\t{\n\t\t...V.staticProperty(\n\t\t\t\"volume\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Volume\",\n\t\t\t\tallowManualEntry: true,\n\t\t\t\tstates: {\n\t\t\t\t\t0: \"default\",\n\t\t\t\t},\n\t\t\t} as const,\n\t\t),\n\t\t...V.staticProperty(\n\t\t\t\"toneId\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Play Tone\",\n\t\t\t\tvalueChangeOptions: [\"volume\"],\n\t\t\t} as const,\n\t\t),\n\t\t...V.staticProperty(\n\t\t\t\"defaultVolume\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 100,\n\t\t\t\tunit: \"%\",\n\t\t\t\tlabel: \"Default volume\",\n\t\t\t} as const,\n\t\t),\n\t\t...V.staticProperty(\n\t\t\t\"defaultToneId\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 254,\n\t\t\t\tlabel: \"Default tone ID\",\n\t\t\t} as const,\n\t\t),\n\t},\n);\n\n@API(CommandClasses[\"Sound Switch\"])\nexport class SoundSwitchCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: SoundSwitchCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase SoundSwitchCommand.TonesNumberGet:\n\t\t\tcase SoundSwitchCommand.ToneInfoGet:\n\t\t\tcase SoundSwitchCommand.ConfigurationGet:\n\t\t\tcase SoundSwitchCommand.TonePlayGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase SoundSwitchCommand.ConfigurationSet:\n\t\t\tcase SoundSwitchCommand.TonePlaySet:\n\t\t\t\treturn true; // This is mandatory\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tpublic async getToneCount(): Promise<MaybeNotKnown<number>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.TonesNumberGet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCTonesNumberGet({\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\tSoundSwitchCCTonesNumberReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.toneCount;\n\t}\n\n\t@validateArgs()\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getToneInfo(toneId: number) {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.ToneInfoGet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCToneInfoGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\ttoneId,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tSoundSwitchCCToneInfoReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) return pick(response, [\"duration\", \"name\"]);\n\t}\n\n\t@validateArgs()\n\tpublic async setConfiguration(\n\t\tdefaultToneId: number,\n\t\tdefaultVolume: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.ConfigurationSet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCConfigurationSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tdefaultToneId,\n\t\t\tdefaultVolume,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getConfiguration() {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCConfigurationGet({\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\tSoundSwitchCCConfigurationReport\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, [\"defaultToneId\", \"defaultVolume\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async play(\n\t\ttoneId: number,\n\t\tvolume?: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.TonePlaySet,\n\t\t);\n\n\t\tif (toneId === 0) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Tone ID must be > 0. Use stopPlaying to stop the tone.`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new SoundSwitchCCTonePlaySet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\ttoneId,\n\t\t\tvolume,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async stopPlaying(): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.TonePlaySet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCTonePlaySet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\ttoneId: 0x00,\n\t\t\tvolume: 0x00,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getPlaying() {\n\t\tthis.assertSupportsCommand(\n\t\t\tSoundSwitchCommand,\n\t\t\tSoundSwitchCommand.TonePlayGet,\n\t\t);\n\n\t\tconst cc = new SoundSwitchCCTonePlayGet({\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\tSoundSwitchCCTonePlayReport\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, [\"toneId\", \"volume\"]);\n\t\t}\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: SoundSwitchCCAPI,\n\t\t\t{ property },\n\t\t\tvalue,\n\t\t\toptions,\n\t\t) {\n\t\t\tif (property === \"defaultToneId\") {\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.setConfiguration(\n\t\t\t\t\tvalue,\n\t\t\t\t\t0xff, /* keep current volume */\n\t\t\t\t);\n\t\t\t} else if (property === \"defaultVolume\") {\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn this.setConfiguration(\n\t\t\t\t\t0x00, /* keep current tone */\n\t\t\t\t\tvalue,\n\t\t\t\t);\n\t\t\t} else if (property === \"volume\") {\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Allow playing a tone by first setting the volume, then the tone ID\n\t\t\t\tthis.tryGetValueDB()?.setValue(\n\t\t\t\t\tSoundSwitchCCValues.volume.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t\tvalue,\n\t\t\t\t\t{ source: \"driver\", updateTimestamp: false },\n\t\t\t\t);\n\t\t\t} else if (property === \"toneId\") {\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlet result: SupervisionResult | undefined;\n\t\t\t\tif (value > 0) {\n\t\t\t\t\t// Use provided volume or try to use the current volume if it exists\n\t\t\t\t\tconst volume = options?.volume !== undefined\n\t\t\t\t\t\t? options.volume\n\t\t\t\t\t\t: this.tryGetValueDB()?.getValue<number>(\n\t\t\t\t\t\t\tSoundSwitchCCValues.volume.endpoint(\n\t\t\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\tresult = await this.play(value, volume);\n\t\t\t\t} else {\n\t\t\t\t\tresult = await this.stopPlaying();\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tthis.isSinglecast()\n\t\t\t\t\t&& !supervisedCommandSucceeded(result)\n\t\t\t\t) {\n\t\t\t\t\t// Verify the current value after a (short) delay, unless the command was supervised and successful\n\t\t\t\t\tthis.schedulePoll({ property }, value, {\n\t\t\t\t\t\ttransition: \"fast\",\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: SoundSwitchCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"defaultToneId\":\n\t\t\t\tcase \"defaultVolume\":\n\t\t\t\t\treturn (await this.getConfiguration())?.[property];\n\n\t\t\t\tcase \"toneId\":\n\t\t\t\tcase \"volume\":\n\t\t\t\t\treturn (await this.getPlaying())?.[property];\n\n\t\t\t\tdefault:\n\t\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses[\"Sound Switch\"])\n@implementedVersion(2)\n@ccValues(SoundSwitchCCValues)\nexport class SoundSwitchCC extends CommandClass {\n\tdeclare ccCommand: SoundSwitchCommand;\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[\"Sound Switch\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"requesting tone count...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst toneCount = await api.getToneCount();\n\t\tif (toneCount != undefined) {\n\t\t\tconst logMessage = `supports ${toneCount} tones`;\n\t\t\tctx.logNode(node.id, {\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: \"Querying tone count timed out, skipping interview...\",\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"requesting current sound configuration...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst config = await api.getConfiguration();\n\t\tif (config) {\n\t\t\tconst logMessage = `received current sound configuration:\ndefault tone ID: ${config.defaultToneId}\ndefault volume: ${config.defaultVolume}`;\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tconst metadataStates: Record<number, string> = {};\n\t\tfor (let toneId = 1; toneId <= toneCount; toneId++) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: `requesting info for tone #${toneId}`,\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst info = await api.getToneInfo(toneId);\n\t\t\tif (!info) continue;\n\t\t\tconst logMessage = `received info for tone #${toneId}:\nname: ${info.name}\nduration: ${info.duration} seconds`;\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t\tmetadataStates[toneId] = `${info.name} (${info.duration} sec)`;\n\t\t}\n\n\t\t// Remember tone count and info on the default tone ID metadata\n\t\tthis.setMetadata(ctx, SoundSwitchCCValues.defaultToneId, {\n\t\t\t...SoundSwitchCCValues.defaultToneId.meta,\n\t\t\tmin: 1,\n\t\t\tmax: toneCount,\n\t\t\tstates: metadataStates,\n\t\t});\n\n\t\t// Remember tone count and info on the tone ID metadata\n\t\tthis.setMetadata(ctx, SoundSwitchCCValues.toneId, {\n\t\t\t...SoundSwitchCCValues.toneId.meta,\n\t\t\tmin: 0,\n\t\t\tmax: toneCount,\n\t\t\tstates: {\n\t\t\t\t0: \"off\",\n\t\t\t\t...metadataStates,\n\t\t\t\t[0xff]: \"default\",\n\t\t\t},\n\t\t});\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n}\n\n// @publicAPI\nexport interface SoundSwitchCCTonesNumberReportOptions {\n\ttoneCount: number;\n}\n\n@CCCommand(SoundSwitchCommand.TonesNumberReport)\nexport class SoundSwitchCCTonesNumberReport extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCTonesNumberReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneCount = options.toneCount;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCTonesNumberReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst toneCount = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneCount,\n\t\t});\n\t}\n\n\tpublic toneCount: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.toneCount]);\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: { \"# of tones\": this.toneCount },\n\t\t};\n\t}\n}\n\n@CCCommand(SoundSwitchCommand.TonesNumberGet)\n@expectedCCResponse(SoundSwitchCCTonesNumberReport)\nexport class SoundSwitchCCTonesNumberGet extends SoundSwitchCC {}\n\n// @publicAPI\nexport interface SoundSwitchCCToneInfoReportOptions {\n\ttoneId: number;\n\tduration: number;\n\tname: string;\n}\n\n@CCCommand(SoundSwitchCommand.ToneInfoReport)\nexport class SoundSwitchCCToneInfoReport extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCToneInfoReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneId = options.toneId;\n\t\tthis.duration = options.duration;\n\t\tthis.name = options.name;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCToneInfoReport {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst toneId = raw.payload[0];\n\t\tconst duration = raw.payload.readUInt16BE(1);\n\t\tconst nameLength = raw.payload[3];\n\n\t\tvalidatePayload(raw.payload.length >= 4 + nameLength);\n\t\tconst name = raw.payload.subarray(4, 4 + nameLength).toString(\n\t\t\t\"utf8\",\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneId,\n\t\t\tduration,\n\t\t\tname,\n\t\t});\n\t}\n\n\tpublic readonly toneId: number;\n\tpublic readonly duration: number;\n\tpublic readonly name: string;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.toneId, 0, 0, this.name.length]),\n\t\t\tBytes.from(this.name, \"utf8\"),\n\t\t]);\n\t\tthis.payload.writeUInt16BE(this.duration, 1);\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\"tone id\": this.toneId,\n\t\t\t\tduration: `${this.duration} seconds`,\n\t\t\t\tname: this.name,\n\t\t\t},\n\t\t};\n\t}\n}\n\nconst testResponseForSoundSwitchToneInfoGet: CCResponsePredicate<\n\tSoundSwitchCCToneInfoGet,\n\tSoundSwitchCCToneInfoReport\n> = (sent, received) => {\n\treturn received.toneId === sent.toneId;\n};\n\n// @publicAPI\nexport interface SoundSwitchCCToneInfoGetOptions {\n\ttoneId: number;\n}\n\n@CCCommand(SoundSwitchCommand.ToneInfoGet)\n@expectedCCResponse(\n\tSoundSwitchCCToneInfoReport,\n\ttestResponseForSoundSwitchToneInfoGet,\n)\nexport class SoundSwitchCCToneInfoGet extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCToneInfoGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneId = options.toneId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCToneInfoGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst toneId = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneId,\n\t\t});\n\t}\n\n\tpublic toneId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.toneId]);\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: { \"tone id\": this.toneId },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface SoundSwitchCCConfigurationSetOptions {\n\tdefaultVolume: number;\n\tdefaultToneId: number;\n}\n\n@CCCommand(SoundSwitchCommand.ConfigurationSet)\n@useSupervision()\nexport class SoundSwitchCCConfigurationSet extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCConfigurationSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.defaultVolume = options.defaultVolume;\n\t\tthis.defaultToneId = options.defaultToneId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCConfigurationSet {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst defaultVolume = raw.payload[0];\n\t\tconst defaultToneId = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdefaultVolume,\n\t\t\tdefaultToneId,\n\t\t});\n\t}\n\n\tpublic defaultVolume: number;\n\tpublic defaultToneId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.defaultVolume, this.defaultToneId]);\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\"default volume\": `${this.defaultVolume} %`,\n\t\t\t\t\"default tone id\": this.defaultToneId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface SoundSwitchCCConfigurationReportOptions {\n\tdefaultVolume: number;\n\tdefaultToneId: number;\n}\n\n@CCCommand(SoundSwitchCommand.ConfigurationReport)\n@ccValueProperty(\"defaultVolume\", SoundSwitchCCValues.defaultVolume)\n@ccValueProperty(\"defaultToneId\", SoundSwitchCCValues.defaultToneId)\nexport class SoundSwitchCCConfigurationReport extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCConfigurationReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.defaultVolume = options.defaultVolume;\n\t\tthis.defaultToneId = options.defaultToneId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCConfigurationReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst defaultVolume = clamp(raw.payload[0], 0, 100);\n\t\tconst defaultToneId = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdefaultVolume,\n\t\t\tdefaultToneId,\n\t\t});\n\t}\n\n\tpublic defaultVolume: number;\n\n\tpublic defaultToneId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.defaultVolume, this.defaultToneId]);\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\"default volume\": `${this.defaultVolume} %`,\n\t\t\t\t\"default tone id\": this.defaultToneId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(SoundSwitchCommand.ConfigurationGet)\n@expectedCCResponse(SoundSwitchCCConfigurationReport)\nexport class SoundSwitchCCConfigurationGet extends SoundSwitchCC {}\n\n// @publicAPI\nexport interface SoundSwitchCCTonePlaySetOptions {\n\ttoneId: ToneId | number;\n\t// V2+\n\tvolume?: number;\n}\n\n@CCCommand(SoundSwitchCommand.TonePlaySet)\n@useSupervision()\nexport class SoundSwitchCCTonePlaySet extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCTonePlaySetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneId = options.toneId;\n\t\tthis.volume = options.volume;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCTonePlaySet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst toneId = raw.payload[0];\n\t\tlet volume: number | undefined;\n\t\tif (toneId !== 0 && raw.payload.length >= 2) {\n\t\t\tvolume = raw.payload[1];\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneId,\n\t\t\tvolume,\n\t\t});\n\t}\n\n\tpublic toneId: ToneId | number;\n\tpublic volume?: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.toneId, this.volume ?? 0]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"tone id\": this.toneId,\n\t\t};\n\t\tif (this.volume != undefined) {\n\t\t\tmessage.volume = this.volume === 0 ? \"default\" : `${this.volume} %`;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface SoundSwitchCCTonePlayReportOptions {\n\ttoneId: ToneId | number;\n\t// V2+\n\tvolume?: number;\n}\n\n@CCCommand(SoundSwitchCommand.TonePlayReport)\n@ccValueProperty(\"toneId\", SoundSwitchCCValues.toneId)\n@ccValueProperty(\"volume\", SoundSwitchCCValues.volume)\nexport class SoundSwitchCCTonePlayReport extends SoundSwitchCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SoundSwitchCCTonePlayReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.toneId = options.toneId;\n\t\tthis.volume = options.volume;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SoundSwitchCCTonePlayReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst toneId = raw.payload[0];\n\n\t\tlet volume: number | undefined;\n\t\tif (toneId !== 0 && raw.payload.length >= 2) {\n\t\t\tvolume = raw.payload[1];\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttoneId,\n\t\t\tvolume,\n\t\t});\n\t}\n\n\tpublic readonly toneId: ToneId | number;\n\n\tpublic volume?: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.toneId, this.volume ?? 0]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"tone id\": this.toneId,\n\t\t};\n\t\tif (this.volume != undefined) {\n\t\t\tmessage.volume = this.volume === 0 ? \"default\" : `${this.volume} %`;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(SoundSwitchCommand.TonePlayGet)\n@expectedCCResponse(SoundSwitchCCTonePlayReport)\nexport class SoundSwitchCCTonePlayGet extends SoundSwitchCC {}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_safe"]
|
|
7
7
|
}
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { type CCEncodingContext, type CCParsingContext } from "@zwave-js/cc";
|
|
2
|
+
import { CommandClasses, Duration, EncapsulationFlags, type EndpointId, type GetEndpoint, type GetNode, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type NodeId, type SinglecastCC, type SupervisionResult, SupervisionStatus, type SupportsCC, type WithAddress } from "@zwave-js/core/safe";
|
|
3
3
|
import { Bytes } from "@zwave-js/shared/safe";
|
|
4
4
|
import { PhysicalCCAPI } from "../lib/API.js";
|
|
5
5
|
import { type CCRaw, CommandClass } from "../lib/CommandClass.js";
|
|
6
6
|
import { SupervisionCommand } from "../lib/_Types.js";
|
|
7
7
|
export declare const SupervisionCCValues: Readonly<{
|
|
8
8
|
ccSupported: ((ccId: CommandClasses) => {
|
|
9
|
-
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
13
|
-
};
|
|
14
|
-
readonly id: {
|
|
15
|
-
commandClass: CommandClasses.Supervision;
|
|
16
|
-
property: "ccSupported";
|
|
17
|
-
propertyKey: CommandClasses;
|
|
9
|
+
id: {
|
|
10
|
+
readonly commandClass: CommandClasses.Supervision;
|
|
11
|
+
readonly property: "ccSupported";
|
|
12
|
+
readonly propertyKey: CommandClasses;
|
|
18
13
|
};
|
|
19
|
-
|
|
14
|
+
endpoint: (_endpoint?: number) => {
|
|
20
15
|
readonly commandClass: CommandClasses.Supervision;
|
|
21
|
-
readonly endpoint:
|
|
16
|
+
readonly endpoint: 0;
|
|
22
17
|
readonly property: "ccSupported";
|
|
23
18
|
readonly propertyKey: CommandClasses;
|
|
24
19
|
};
|
|
20
|
+
readonly meta: Readonly<{
|
|
21
|
+
readonly type: "any";
|
|
22
|
+
readonly readable: true;
|
|
23
|
+
readonly writeable: true;
|
|
24
|
+
}>;
|
|
25
25
|
}) & {
|
|
26
26
|
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
27
|
-
|
|
28
|
-
readonly stateful: true;
|
|
29
|
-
readonly secret: false;
|
|
30
|
-
readonly minVersion: 1;
|
|
31
|
-
readonly autoCreate: true;
|
|
27
|
+
options: {
|
|
32
28
|
readonly internal: true;
|
|
29
|
+
readonly minVersion: 1;
|
|
30
|
+
readonly secret: false;
|
|
31
|
+
readonly stateful: true;
|
|
33
32
|
readonly supportsEndpoints: false;
|
|
33
|
+
readonly autoCreate: true;
|
|
34
34
|
};
|
|
35
35
|
};
|
|
36
36
|
}>;
|
|
@@ -82,7 +82,7 @@ export declare class SupervisionCCReport extends SupervisionCC {
|
|
|
82
82
|
readonly sessionId: number;
|
|
83
83
|
readonly status: SupervisionStatus;
|
|
84
84
|
readonly duration: Duration | undefined;
|
|
85
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
85
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
86
86
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
87
87
|
toSupervisionResult(): SupervisionResult;
|
|
88
88
|
}
|
|
@@ -93,15 +93,11 @@ export interface SupervisionCCGetOptions {
|
|
|
93
93
|
}
|
|
94
94
|
export declare class SupervisionCCGet extends SupervisionCC {
|
|
95
95
|
constructor(options: WithAddress<SupervisionCCGetOptions>);
|
|
96
|
-
|
|
97
|
-
static from(raw: CCRaw, ctx: CCParsingContext): SupervisionCCGet;
|
|
98
|
-
static fromAsync(raw: CCRaw, ctx: CCParsingContext): Promise<SupervisionCCGet>;
|
|
96
|
+
static from(raw: CCRaw, ctx: CCParsingContext): Promise<SupervisionCCGet>;
|
|
99
97
|
requestStatusUpdates: boolean;
|
|
100
98
|
sessionId: number;
|
|
101
99
|
encapsulated: CommandClass;
|
|
102
|
-
|
|
103
|
-
serialize(ctx: CCEncodingContext): Bytes;
|
|
104
|
-
serializeAsync(ctx: CCEncodingContext): Promise<Bytes>;
|
|
100
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
105
101
|
protected computeEncapsulationOverhead(): number;
|
|
106
102
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
107
103
|
}
|