@zwave-js/cc 15.21.1 → 15.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/cc/AlarmSensorCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/AlarmSensorCC.d.ts +3 -3
- package/build/cjs/cc/AlarmSensorCC.js +18 -57
- package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
- package/build/cjs/cc/ApplicationStatusCC.js +9 -48
- package/build/cjs/cc/ApplicationStatusCC.js.map +1 -1
- package/build/cjs/cc/AssociationCC._validateArgs.d.ts +8 -8
- package/build/cjs/cc/AssociationCC.d.ts +2 -2
- package/build/cjs/cc/AssociationCC.js +32 -71
- package/build/cjs/cc/AssociationCC.js.map +2 -2
- package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.d.ts +6 -6
- package/build/cjs/cc/AssociationGroupInfoCC.d.ts +3 -3
- package/build/cjs/cc/AssociationGroupInfoCC.js +28 -65
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
- package/build/cjs/cc/BarrierOperatorCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/BarrierOperatorCC.d.ts +3 -3
- package/build/cjs/cc/BarrierOperatorCC.js +30 -67
- package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
- package/build/cjs/cc/BasicCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/BasicCC.d.ts +3 -3
- package/build/cjs/cc/BasicCC.js +17 -54
- package/build/cjs/cc/BasicCC.js.map +2 -2
- package/build/cjs/cc/BasicWindowCoveringCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/BasicWindowCoveringCC.js +12 -51
- package/build/cjs/cc/BasicWindowCoveringCC.js.map +1 -1
- package/build/cjs/cc/BatteryCC.d.ts +3 -3
- package/build/cjs/cc/BatteryCC.js +15 -54
- package/build/cjs/cc/BatteryCC.js.map +2 -2
- package/build/cjs/cc/BinarySensorCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/BinarySensorCC.d.ts +2 -2
- package/build/cjs/cc/BinarySensorCC.js +19 -58
- package/build/cjs/cc/BinarySensorCC.js.map +2 -2
- package/build/cjs/cc/BinarySwitchCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/BinarySwitchCC.d.ts +2 -2
- package/build/cjs/cc/BinarySwitchCC.js +17 -54
- package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
- package/build/cjs/cc/CRC16CC.js +7 -46
- package/build/cjs/cc/CRC16CC.js.map +1 -1
- package/build/cjs/cc/CentralSceneCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/CentralSceneCC.d.ts +1 -1
- package/build/cjs/cc/CentralSceneCC.js +19 -58
- package/build/cjs/cc/CentralSceneCC.js.map +1 -1
- package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/ClimateControlScheduleCC.js +25 -64
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/cjs/cc/ClockCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ClockCC.d.ts +3 -3
- package/build/cjs/cc/ClockCC.js +15 -54
- package/build/cjs/cc/ClockCC.js.map +2 -2
- package/build/cjs/cc/ColorSwitchCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/ColorSwitchCC.d.ts +3 -3
- package/build/cjs/cc/ColorSwitchCC.js +26 -65
- package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
- package/build/cjs/cc/ConfigurationCC._validateArgs.d.ts +9 -9
- package/build/cjs/cc/ConfigurationCC.d.ts +3 -8
- package/build/cjs/cc/ConfigurationCC.js +43 -82
- package/build/cjs/cc/ConfigurationCC.js.map +2 -2
- package/build/cjs/cc/DeviceResetLocallyCC.js +7 -46
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/cjs/cc/DoorLockCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/DoorLockCC.d.ts +5 -5
- package/build/cjs/cc/DoorLockCC.js +26 -65
- package/build/cjs/cc/DoorLockCC.js.map +2 -2
- package/build/cjs/cc/DoorLockLoggingCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/DoorLockLoggingCC.d.ts +2 -2
- package/build/cjs/cc/DoorLockLoggingCC.js +17 -56
- package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
- package/build/cjs/cc/EnergyProductionCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/EnergyProductionCC.d.ts +2 -2
- package/build/cjs/cc/EnergyProductionCC.js +13 -52
- package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
- package/build/cjs/cc/EntryControlCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/EntryControlCC.d.ts +3 -3
- package/build/cjs/cc/EntryControlCC.js +25 -64
- package/build/cjs/cc/EntryControlCC.js.map +2 -2
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +6 -6
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +34 -73
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/cjs/cc/HailCC.js +3 -42
- package/build/cjs/cc/HailCC.js.map +1 -1
- package/build/cjs/cc/HumidityControlModeCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/HumidityControlModeCC.d.ts +2 -2
- package/build/cjs/cc/HumidityControlModeCC.js +19 -58
- package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +2 -2
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +11 -50
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/HumidityControlSetpointCC.d.ts +2 -2
- package/build/cjs/cc/HumidityControlSetpointCC.js +30 -69
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
- package/build/cjs/cc/InclusionControllerCC.js +9 -48
- package/build/cjs/cc/InclusionControllerCC.js.map +1 -1
- package/build/cjs/cc/IndicatorCC._validateArgs.d.ts +9 -9
- package/build/cjs/cc/IndicatorCC.d.ts +2 -2
- package/build/cjs/cc/IndicatorCC.js +31 -70
- package/build/cjs/cc/IndicatorCC.js.map +2 -2
- package/build/cjs/cc/IrrigationCC._validateArgs.d.ts +10 -10
- package/build/cjs/cc/IrrigationCC.d.ts +7 -7
- package/build/cjs/cc/IrrigationCC.js +54 -93
- package/build/cjs/cc/IrrigationCC.js.map +2 -2
- package/build/cjs/cc/LanguageCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/LanguageCC.d.ts +3 -3
- package/build/cjs/cc/LanguageCC.js +15 -54
- package/build/cjs/cc/LanguageCC.js.map +2 -2
- package/build/cjs/cc/LockCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/LockCC.d.ts +2 -2
- package/build/cjs/cc/LockCC.js +15 -54
- package/build/cjs/cc/LockCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.js +10 -49
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC.d.ts +1 -1
- package/build/cjs/cc/ManufacturerSpecificCC.js +16 -55
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/cjs/cc/MeterCC._validateArgs.d.ts +5 -5
- package/build/cjs/cc/MeterCC.d.ts +3 -3
- package/build/cjs/cc/MeterCC.js +23 -62
- package/build/cjs/cc/MeterCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.d.ts +5 -5
- package/build/cjs/cc/MultiChannelAssociationCC.d.ts +3 -3
- package/build/cjs/cc/MultiChannelAssociationCC.js +26 -65
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/MultiChannelCC.js +34 -73
- package/build/cjs/cc/MultiChannelCC.js.map +1 -1
- package/build/cjs/cc/MultiCommandCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/MultiCommandCC.js +9 -48
- package/build/cjs/cc/MultiCommandCC.js.map +1 -1
- package/build/cjs/cc/MultilevelSensorCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/MultilevelSensorCC.d.ts +2 -2
- package/build/cjs/cc/MultilevelSensorCC.js +23 -62
- package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
- package/build/cjs/cc/MultilevelSwitchCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/MultilevelSwitchCC.d.ts +3 -3
- package/build/cjs/cc/MultilevelSwitchCC.js +26 -63
- package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
- package/build/cjs/cc/NoOperationCC.js +5 -44
- package/build/cjs/cc/NoOperationCC.js.map +1 -1
- package/build/cjs/cc/NodeNamingCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/NodeNamingCC.d.ts +2 -2
- package/build/cjs/cc/NodeNamingCC.js +22 -61
- package/build/cjs/cc/NodeNamingCC.js.map +2 -2
- package/build/cjs/cc/NotificationCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/NotificationCC.d.ts +22 -5
- package/build/cjs/cc/NotificationCC.js +141 -104
- package/build/cjs/cc/NotificationCC.js.map +2 -2
- package/build/cjs/cc/PowerlevelCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/PowerlevelCC.d.ts +2 -2
- package/build/cjs/cc/PowerlevelCC.js +22 -61
- package/build/cjs/cc/PowerlevelCC.js.map +1 -1
- package/build/cjs/cc/ProtectionCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/ProtectionCC.d.ts +3 -3
- package/build/cjs/cc/ProtectionCC.js +33 -72
- package/build/cjs/cc/ProtectionCC.js.map +2 -2
- package/build/cjs/cc/SceneActivationCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/SceneActivationCC.js +9 -48
- package/build/cjs/cc/SceneActivationCC.js.map +1 -1
- package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +14 -53
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +2 -2
- package/build/cjs/cc/SceneControllerConfigurationCC.js +17 -56
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
- package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.d.ts +8 -8
- package/build/cjs/cc/ScheduleEntryLockCC.d.ts +1 -1
- package/build/cjs/cc/ScheduleEntryLockCC.js +46 -85
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/cjs/cc/Security2CC.d.ts +1 -1
- package/build/cjs/cc/Security2CC.js +33 -72
- package/build/cjs/cc/Security2CC.js.map +1 -1
- package/build/cjs/cc/SecurityCC.d.ts +1 -1
- package/build/cjs/cc/SecurityCC.js +27 -66
- package/build/cjs/cc/SecurityCC.js.map +2 -2
- package/build/cjs/cc/SoundSwitchCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/SoundSwitchCC.d.ts +2 -2
- package/build/cjs/cc/SoundSwitchCC.js +29 -68
- package/build/cjs/cc/SoundSwitchCC.js.map +1 -1
- package/build/cjs/cc/SupervisionCC.js +9 -48
- package/build/cjs/cc/SupervisionCC.js.map +1 -1
- package/build/cjs/cc/ThermostatFanModeCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ThermostatFanModeCC.d.ts +2 -2
- package/build/cjs/cc/ThermostatFanModeCC.js +19 -58
- package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatFanStateCC.d.ts +2 -2
- package/build/cjs/cc/ThermostatFanStateCC.js +11 -50
- package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatModeCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ThermostatModeCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatModeCC.js +19 -58
- package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +2 -2
- package/build/cjs/cc/ThermostatOperatingStateCC.js +11 -50
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetbackCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ThermostatSetbackCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatSetbackCC.js +15 -54
- package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetpointCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatSetpointCC.js +25 -64
- package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
- package/build/cjs/cc/TimeCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/TimeCC.d.ts +1 -1
- package/build/cjs/cc/TimeCC.js +24 -63
- package/build/cjs/cc/TimeCC.js.map +1 -1
- package/build/cjs/cc/TimeParametersCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/TimeParametersCC.js +13 -52
- package/build/cjs/cc/TimeParametersCC.js.map +1 -1
- package/build/cjs/cc/TransportServiceCC.js +13 -52
- package/build/cjs/cc/TransportServiceCC.js.map +1 -1
- package/build/cjs/cc/UserCodeCC._validateArgs.d.ts +6 -6
- package/build/cjs/cc/UserCodeCC.d.ts +7 -5
- package/build/cjs/cc/UserCodeCC.js +89 -98
- package/build/cjs/cc/UserCodeCC.js.map +2 -2
- package/build/cjs/cc/VersionCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/VersionCC.d.ts +2 -2
- package/build/cjs/cc/VersionCC.js +25 -64
- package/build/cjs/cc/VersionCC.js.map +1 -1
- package/build/cjs/cc/WakeUpCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/WakeUpCC.d.ts +1 -1
- package/build/cjs/cc/WakeUpCC.js +21 -60
- package/build/cjs/cc/WakeUpCC.js.map +1 -1
- package/build/cjs/cc/WindowCoveringCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/WindowCoveringCC.d.ts +3 -3
- package/build/cjs/cc/WindowCoveringCC.js +28 -65
- package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
- package/build/cjs/cc/ZWaveLongRangeCC.js +3 -42
- package/build/cjs/cc/ZWaveLongRangeCC.js.map +1 -1
- package/build/cjs/cc/ZWavePlusCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ZWavePlusCC.d.ts +1 -1
- package/build/cjs/cc/ZWavePlusCC.js +11 -50
- package/build/cjs/cc/ZWavePlusCC.js.map +1 -1
- package/build/cjs/cc/ZWaveProtocolCC.js +73 -112
- package/build/cjs/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/cjs/cc/_CCValues.generated.d.ts +1173 -1049
- package/build/cjs/cc/_CCValues.generated.js +68 -5
- package/build/cjs/cc/_CCValues.generated.js.map +2 -2
- package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +22 -59
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
- package/build/cjs/lib/API.d.ts +1 -0
- package/build/cjs/lib/API.js.map +2 -2
- package/build/cjs/lib/CommandClass.d.ts +6 -2
- package/build/cjs/lib/CommandClass.js +2 -1
- package/build/cjs/lib/CommandClass.js.map +2 -2
- package/build/cjs/lib/Security2/Extension.js +9 -48
- package/build/cjs/lib/Security2/Extension.js.map +1 -1
- package/build/cjs/lib/Values.d.ts +5 -5
- package/build/cjs/lib/Values.js.map +2 -2
- package/build/cjs/lib/_CCAPI.generated.d.ts +64 -64
- package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.d.ts +3 -3
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +9 -38
- package/build/esm/cc/AlarmSensorCC.js.map +1 -1
- package/build/esm/cc/ApplicationStatusCC.d.ts.map +1 -1
- package/build/esm/cc/ApplicationStatusCC.js +1 -34
- package/build/esm/cc/ApplicationStatusCC.js.map +1 -1
- package/build/esm/cc/AssociationCC._validateArgs.d.ts +8 -8
- package/build/esm/cc/AssociationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.d.ts +2 -2
- package/build/esm/cc/AssociationCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.js +3 -36
- package/build/esm/cc/AssociationCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts +6 -6
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.d.ts +3 -3
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.js +5 -36
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.d.ts +3 -3
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.js +5 -36
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/BasicCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.d.ts +3 -3
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +5 -36
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC.js +1 -34
- package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts +3 -3
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +3 -36
- package/build/esm/cc/BatteryCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/BinarySensorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.d.ts +2 -2
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.js +3 -36
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts +2 -2
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +5 -36
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CRC16CC.d.ts.map +1 -1
- package/build/esm/cc/CRC16CC.js +1 -34
- package/build/esm/cc/CRC16CC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/CentralSceneCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.js +1 -34
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.js +1 -34
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/esm/cc/ClockCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ClockCC._validateArgs.d.ts.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 +3 -36
- package/build/esm/cc/ClockCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.d.ts +3 -3
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.js +3 -36
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC._validateArgs.d.ts +9 -9
- package/build/esm/cc/ConfigurationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.d.ts +3 -8
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +3 -36
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js +1 -34
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/DoorLockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts +5 -5
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.js +3 -36
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.d.ts +2 -2
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.js +3 -36
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.d.ts +2 -2
- package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.js +3 -36
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/EntryControlCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts +3 -3
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +3 -36
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +6 -6
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1 -34
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HailCC.js +1 -34
- package/build/esm/cc/HailCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.d.ts +2 -2
- package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.js +3 -36
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +2 -2
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js +3 -36
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts +2 -2
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +3 -36
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
- package/build/esm/cc/InclusionControllerCC.js +1 -34
- package/build/esm/cc/InclusionControllerCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC._validateArgs.d.ts +9 -9
- package/build/esm/cc/IndicatorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.d.ts +2 -2
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.js +3 -36
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC._validateArgs.d.ts +10 -10
- package/build/esm/cc/IrrigationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.d.ts +7 -7
- package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.js +3 -36
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/LanguageCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts +3 -3
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +3 -36
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/LockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/LockCC.d.ts +2 -2
- package/build/esm/cc/LockCC.d.ts.map +1 -1
- package/build/esm/cc/LockCC.js +3 -36
- package/build/esm/cc/LockCC.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts.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 +3 -36
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +1 -34
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC._validateArgs.d.ts +5 -5
- package/build/esm/cc/MeterCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.d.ts +3 -3
- package/build/esm/cc/MeterCC.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.js +3 -36
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts +5 -5
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.d.ts +3 -3
- package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.js +4 -37
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/MultiChannelCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +1 -34
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultiCommandCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/MultiCommandCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC.js +1 -34
- package/build/esm/cc/MultiCommandCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.d.ts +2 -2
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.js +3 -36
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts +3 -3
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +5 -36
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NoOperationCC.d.ts.map +1 -1
- package/build/esm/cc/NoOperationCC.js +1 -34
- package/build/esm/cc/NoOperationCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/NodeNamingCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts +2 -2
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +3 -36
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/NotificationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts +22 -5
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +143 -89
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/PowerlevelCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts +2 -2
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.js +1 -34
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/ProtectionCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts +3 -3
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.js +3 -36
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.js +1 -34
- package/build/esm/cc/SceneActivationCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.js +1 -34
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts +2 -2
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +3 -36
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts +8 -8
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.js +1 -34
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts +1 -1
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +1 -34
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts +1 -1
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +2 -36
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts +2 -2
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +1 -34
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
- package/build/esm/cc/SupervisionCC.js +1 -34
- package/build/esm/cc/SupervisionCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.d.ts +2 -2
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.js +3 -36
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.d.ts +2 -2
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.js +3 -36
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts +3 -3
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.js +3 -36
- package/build/esm/cc/ThermostatModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts +2 -2
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.js +3 -36
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.d.ts +3 -3
- package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.js +3 -36
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts +3 -3
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +3 -36
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/TimeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.d.ts +1 -1
- package/build/esm/cc/TimeCC.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.js +1 -34
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/TimeParametersCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.js +1 -34
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
- package/build/esm/cc/TransportServiceCC.js +1 -34
- package/build/esm/cc/TransportServiceCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC._validateArgs.d.ts +6 -6
- package/build/esm/cc/UserCodeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts +7 -5
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.js +55 -48
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/VersionCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/VersionCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.d.ts +2 -2
- package/build/esm/cc/VersionCC.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.js +1 -34
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/WakeUpCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.d.ts +1 -1
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.js +1 -34
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts +3 -3
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +5 -36
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWaveLongRangeCC.js +1 -34
- package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.js +1 -34
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js +1 -34
- package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/esm/cc/_CCValues.generated.d.ts +1173 -1049
- package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
- package/build/esm/cc/_CCValues.generated.js +71 -4
- package/build/esm/cc/_CCValues.generated.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +7 -38
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/esm/lib/API.d.ts +1 -0
- package/build/esm/lib/API.d.ts.map +1 -1
- package/build/esm/lib/API.js.map +1 -1
- package/build/esm/lib/CommandClass.d.ts +6 -2
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js +4 -2
- package/build/esm/lib/CommandClass.js.map +1 -1
- package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
- package/build/esm/lib/Security2/Extension.js +1 -34
- package/build/esm/lib/Security2/Extension.js.map +1 -1
- package/build/esm/lib/Values.d.ts +5 -5
- package/build/esm/lib/Values.d.ts.map +1 -1
- package/build/esm/lib/Values.js +4 -1
- package/build/esm/lib/Values.js.map +1 -1
- package/build/esm/lib/_CCAPI.generated.d.ts +64 -64
- package/build/esm/lib/_CCAPI.generated.d.ts.map +1 -1
- package/build/esm/lib/serializers.js.map +1 -1
- package/package.json +17 -15
|
@@ -42,6 +42,7 @@ __export(IndicatorCC_exports, {
|
|
|
42
42
|
shouldExposeIndicatorValue: () => shouldExposeIndicatorValue
|
|
43
43
|
});
|
|
44
44
|
module.exports = __toCommonJS(IndicatorCC_exports);
|
|
45
|
+
var import_tslib = require("tslib");
|
|
45
46
|
var __validateArgs = __toESM(require("./IndicatorCC._validateArgs.js"), 1);
|
|
46
47
|
var import_core = require("@zwave-js/core");
|
|
47
48
|
var import_shared = require("@zwave-js/shared");
|
|
@@ -52,46 +53,6 @@ var import_CommandClass = require("../lib/CommandClass.js");
|
|
|
52
53
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
53
54
|
var import_Types = require("../lib/_Types.js");
|
|
54
55
|
var import_CCValues_generated = require("./_CCValues.generated.js");
|
|
55
|
-
var __runInitializers = function(thisArg, initializers, value) {
|
|
56
|
-
var useValue = arguments.length > 2;
|
|
57
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
58
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
59
|
-
}
|
|
60
|
-
return useValue ? value : void 0;
|
|
61
|
-
};
|
|
62
|
-
var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
63
|
-
function accept(f) {
|
|
64
|
-
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
|
|
65
|
-
return f;
|
|
66
|
-
}
|
|
67
|
-
__name(accept, "accept");
|
|
68
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
69
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
70
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
71
|
-
var _, done = false;
|
|
72
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
73
|
-
var context = {};
|
|
74
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
75
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
76
|
-
context.addInitializer = function(f) {
|
|
77
|
-
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
|
|
78
|
-
extraInitializers.push(accept(f || null));
|
|
79
|
-
};
|
|
80
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
81
|
-
if (kind === "accessor") {
|
|
82
|
-
if (result === void 0) continue;
|
|
83
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
84
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
85
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
86
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
87
|
-
} else if (_ = accept(result)) {
|
|
88
|
-
if (kind === "field") initializers.unshift(_);
|
|
89
|
-
else descriptor[key] = _;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
93
|
-
done = true;
|
|
94
|
-
};
|
|
95
56
|
const { validateArgs_IndicatorCCAPI_get, validateArgs_IndicatorCCAPI_set, validateArgs_IndicatorCCAPI_sendReport, validateArgs_IndicatorCCAPI_getSupported, validateArgs_IndicatorCCAPI_reportSupported, validateArgs_IndicatorCCAPI_reportDescription, validateArgs_IndicatorCCAPI_setTimeout, validateArgs_IndicatorCCAPI_getTimeout, validateArgs_IndicatorCCAPI_getDescription } = __validateArgs;
|
|
96
57
|
function isManufacturerDefinedIndicator(indicatorId) {
|
|
97
58
|
return indicatorId >= 128 && indicatorId <= 159;
|
|
@@ -244,19 +205,19 @@ let IndicatorCCAPI = (() => {
|
|
|
244
205
|
_setTimeout_decorators = [validateArgs_IndicatorCCAPI_setTimeout()];
|
|
245
206
|
_getTimeout_decorators = [validateArgs_IndicatorCCAPI_getTimeout()];
|
|
246
207
|
_getDescription_decorators = [validateArgs_IndicatorCCAPI_getDescription()];
|
|
247
|
-
__esDecorate(this, null, _get_decorators, { kind: "method", name: "get", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "get" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.get, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
248
|
-
__esDecorate(this, null, _set_decorators, { kind: "method", name: "set", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "set" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.set, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
249
|
-
__esDecorate(this, null, _sendReport_decorators, { kind: "method", name: "sendReport", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "sendReport" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.sendReport, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
250
|
-
__esDecorate(this, null, _getSupported_decorators, { kind: "method", name: "getSupported", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getSupported" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getSupported, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
251
|
-
__esDecorate(this, null, _reportSupported_decorators, { kind: "method", name: "reportSupported", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "reportSupported" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.reportSupported, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
252
|
-
__esDecorate(this, null, _reportDescription_decorators, { kind: "method", name: "reportDescription", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "reportDescription" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.reportDescription, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
253
|
-
__esDecorate(this, null, _setTimeout_decorators, { kind: "method", name: "setTimeout", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "setTimeout" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.setTimeout, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
254
|
-
__esDecorate(this, null, _getTimeout_decorators, { kind: "method", name: "getTimeout", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getTimeout" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getTimeout, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
255
|
-
__esDecorate(this, null, _getDescription_decorators, { kind: "method", name: "getDescription", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getDescription" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getDescription, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
256
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
208
|
+
(0, import_tslib.__esDecorate)(this, null, _get_decorators, { kind: "method", name: "get", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "get" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.get, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
209
|
+
(0, import_tslib.__esDecorate)(this, null, _set_decorators, { kind: "method", name: "set", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "set" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.set, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
210
|
+
(0, import_tslib.__esDecorate)(this, null, _sendReport_decorators, { kind: "method", name: "sendReport", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "sendReport" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.sendReport, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
211
|
+
(0, import_tslib.__esDecorate)(this, null, _getSupported_decorators, { kind: "method", name: "getSupported", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getSupported" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getSupported, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
212
|
+
(0, import_tslib.__esDecorate)(this, null, _reportSupported_decorators, { kind: "method", name: "reportSupported", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "reportSupported" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.reportSupported, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
213
|
+
(0, import_tslib.__esDecorate)(this, null, _reportDescription_decorators, { kind: "method", name: "reportDescription", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "reportDescription" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.reportDescription, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
214
|
+
(0, import_tslib.__esDecorate)(this, null, _setTimeout_decorators, { kind: "method", name: "setTimeout", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "setTimeout" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.setTimeout, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
215
|
+
(0, import_tslib.__esDecorate)(this, null, _getTimeout_decorators, { kind: "method", name: "getTimeout", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getTimeout" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getTimeout, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
216
|
+
(0, import_tslib.__esDecorate)(this, null, _getDescription_decorators, { kind: "method", name: "getDescription", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getDescription" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getDescription, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
217
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
257
218
|
IndicatorCCAPI2 = _classThis = _classDescriptor.value;
|
|
258
219
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
259
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
220
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
260
221
|
}
|
|
261
222
|
supportsCommand(cmd) {
|
|
262
223
|
switch (cmd) {
|
|
@@ -529,7 +490,7 @@ let IndicatorCCAPI = (() => {
|
|
|
529
490
|
}
|
|
530
491
|
constructor() {
|
|
531
492
|
super(...arguments);
|
|
532
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
493
|
+
(0, import_tslib.__runInitializers)(this, _instanceExtraInitializers);
|
|
533
494
|
}
|
|
534
495
|
};
|
|
535
496
|
return IndicatorCCAPI2 = _classThis;
|
|
@@ -549,10 +510,10 @@ let IndicatorCC = (() => {
|
|
|
549
510
|
}
|
|
550
511
|
static {
|
|
551
512
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
552
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
513
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
553
514
|
IndicatorCC2 = _classThis = _classDescriptor.value;
|
|
554
515
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
555
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
516
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
556
517
|
}
|
|
557
518
|
async interview(ctx) {
|
|
558
519
|
const node = this.getNode(ctx);
|
|
@@ -612,11 +573,11 @@ let IndicatorCC = (() => {
|
|
|
612
573
|
await this.refreshValues(ctx);
|
|
613
574
|
this.setInterviewComplete(ctx, true);
|
|
614
575
|
}
|
|
615
|
-
async refreshValues(ctx) {
|
|
576
|
+
async refreshValues(ctx, options) {
|
|
616
577
|
const node = this.getNode(ctx);
|
|
617
578
|
const endpoint = this.getEndpoint(ctx);
|
|
618
579
|
const api = import_API.CCAPI.create(import_core.CommandClasses.Indicator, ctx, endpoint).withOptions({
|
|
619
|
-
priority: import_core.MessagePriority.NodeQuery
|
|
580
|
+
priority: options?.priority ?? import_core.MessagePriority.NodeQuery
|
|
620
581
|
});
|
|
621
582
|
if (api.version === 1) {
|
|
622
583
|
ctx.logNode(node.id, {
|
|
@@ -690,10 +651,10 @@ let IndicatorCCSet = (() => {
|
|
|
690
651
|
}
|
|
691
652
|
static {
|
|
692
653
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
693
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
654
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
694
655
|
IndicatorCCSet2 = _classThis = _classDescriptor.value;
|
|
695
656
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
696
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
657
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
697
658
|
}
|
|
698
659
|
constructor(options) {
|
|
699
660
|
super(options);
|
|
@@ -782,10 +743,10 @@ let IndicatorCCReport = (() => {
|
|
|
782
743
|
}
|
|
783
744
|
static {
|
|
784
745
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
785
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
746
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
786
747
|
IndicatorCCReport2 = _classThis = _classDescriptor.value;
|
|
787
748
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
788
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
749
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
789
750
|
}
|
|
790
751
|
constructor(options) {
|
|
791
752
|
super(options);
|
|
@@ -951,10 +912,10 @@ let IndicatorCCGet = (() => {
|
|
|
951
912
|
}
|
|
952
913
|
static {
|
|
953
914
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
954
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
915
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
955
916
|
IndicatorCCGet2 = _classThis = _classDescriptor.value;
|
|
956
917
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
957
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
918
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
958
919
|
}
|
|
959
920
|
constructor(options) {
|
|
960
921
|
super(options);
|
|
@@ -1003,10 +964,10 @@ let IndicatorCCSupportedReport = (() => {
|
|
|
1003
964
|
}
|
|
1004
965
|
static {
|
|
1005
966
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
1006
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
967
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
1007
968
|
IndicatorCCSupportedReport2 = _classThis = _classDescriptor.value;
|
|
1008
969
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
1009
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
970
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
1010
971
|
}
|
|
1011
972
|
constructor(options) {
|
|
1012
973
|
super(options);
|
|
@@ -1088,10 +1049,10 @@ let IndicatorCCSupportedGet = (() => {
|
|
|
1088
1049
|
}
|
|
1089
1050
|
static {
|
|
1090
1051
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
1091
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
1052
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
1092
1053
|
IndicatorCCSupportedGet2 = _classThis = _classDescriptor.value;
|
|
1093
1054
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
1094
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
1055
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
1095
1056
|
}
|
|
1096
1057
|
constructor(options) {
|
|
1097
1058
|
super(options);
|
|
@@ -1136,10 +1097,10 @@ let IndicatorCCDescriptionReport = (() => {
|
|
|
1136
1097
|
}
|
|
1137
1098
|
static {
|
|
1138
1099
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
1139
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
1100
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
1140
1101
|
IndicatorCCDescriptionReport2 = _classThis = _classDescriptor.value;
|
|
1141
1102
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
1142
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
1103
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
1143
1104
|
}
|
|
1144
1105
|
constructor(options) {
|
|
1145
1106
|
super(options);
|
|
@@ -1207,10 +1168,10 @@ let IndicatorCCDescriptionGet = (() => {
|
|
|
1207
1168
|
}
|
|
1208
1169
|
static {
|
|
1209
1170
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
1210
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
1171
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
1211
1172
|
IndicatorCCDescriptionGet2 = _classThis = _classDescriptor.value;
|
|
1212
1173
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
1213
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
1174
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
1214
1175
|
}
|
|
1215
1176
|
constructor(options) {
|
|
1216
1177
|
super(options);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src_gen/cc/IndicatorCC.ts"],
|
|
4
|
-
"sourcesContent": ["import * as __validateArgs from \"./IndicatorCC._validateArgs.js\";\nconst { validateArgs_IndicatorCCAPI_get, validateArgs_IndicatorCCAPI_set, validateArgs_IndicatorCCAPI_sendReport, validateArgs_IndicatorCCAPI_getSupported, validateArgs_IndicatorCCAPI_reportSupported, validateArgs_IndicatorCCAPI_reportDescription, validateArgs_IndicatorCCAPI_setTimeout, validateArgs_IndicatorCCAPI_getTimeout, validateArgs_IndicatorCCAPI_getDescription } = __validateArgs;\nimport { CommandClasses, type EndpointId, type GetValueDB, Indicator, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, type ValueID, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, encodeBitMask, getIndicatorProperty, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, num2hex } from \"@zwave-js/shared\";\nimport { clamp, roundTo } from \"alcalzone-shared/math\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { IndicatorCommand, type IndicatorTimeout } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nfunction isManufacturerDefinedIndicator(indicatorId: number): boolean {\n return indicatorId >= 0x80 && indicatorId <= 0x9f;\n}\nconst timeoutStringRegex = /^(?:(?<hoursStr>\\d+)h)?(?:(?<minutesStr>\\d+)m)?(?:(?<secondsStr>\\d+(?:\\.\\d+)?)s)?$/i;\nconst MAX_INDICATOR_OBJECTS = 31;\nfunction parseIndicatorTimeoutString(text: string): IndicatorTimeout | undefined {\n if (!text.length)\n return undefined;\n // Try to parse the numeric parts from a timeout\n const match = timeoutStringRegex.exec(text);\n if (!match)\n return undefined;\n const { hoursStr, minutesStr, secondsStr } = match.groups!;\n if (!hoursStr && !minutesStr && !secondsStr)\n return undefined;\n const ret: IndicatorTimeout = {};\n if (hoursStr) {\n ret.hours = clamp(parseInt(hoursStr, 10), 0, 255);\n }\n if (minutesStr) {\n ret.minutes = clamp(parseInt(minutesStr, 10), 0, 255);\n }\n if (secondsStr) {\n ret.seconds = clamp(roundTo(parseFloat(secondsStr), 2), 0, 59.99);\n }\n return ret;\n}\nfunction groupByIndicatorId(values: IndicatorObject[]): Map<number, IndicatorObject[]> {\n const ret = new Map();\n for (const value of values) {\n if (!ret.has(value.indicatorId)) {\n ret.set(value.indicatorId, []);\n }\n ret.get(value.indicatorId)!.push(value);\n }\n return ret;\n}\nfunction indicatorObjectsToTimeout(values: IndicatorObject[]): IndicatorTimeout | undefined {\n const timeoutValues = values.filter((v) => [0x0a, 0x06, 0x07, 0x08].includes(v.propertyId));\n if (!timeoutValues.length)\n return undefined;\n const hours = (timeoutValues.find((v) => v.propertyId === 0x0a)?.value\n ?? 0) as number;\n const minutes = (timeoutValues.find((v) => v.propertyId === 0x06)?.value\n ?? 0) as number;\n const seconds = clamp((timeoutValues.find((v) => v.propertyId === 0x07)\n ?.value as number) ?? 0, 0, 59)\n + clamp((timeoutValues.find((v) => v.propertyId === 0x08)\n ?.value as number) ?? 0, 0, 99)\n / 100;\n return {\n hours,\n minutes,\n seconds,\n };\n}\nimport { IndicatorCCValues } from \"./_CCValues.generated.js\";\nexport { IndicatorCCValues };\n/**\n * Looks up the configured metadata for the given indicator and property\n */\nfunction getIndicatorMetadata(indicatorId: Indicator, propertyId: number, overrideIndicatorLabel?: string): ValueMetadata {\n const label = getIndicatorLabel(indicatorId, propertyId, overrideIndicatorLabel);\n const prop = getIndicatorProperty(propertyId);\n const baseMetadata = IndicatorCCValues.valueV2(indicatorId, propertyId).meta;\n if (!prop) {\n return {\n ...baseMetadata,\n ...ValueMetadata.UInt8,\n label,\n };\n }\n else {\n if (prop.type === \"boolean\") {\n return {\n ...baseMetadata,\n ...ValueMetadata.Boolean,\n label,\n description: prop.description,\n readable: !prop.readonly,\n };\n }\n else {\n // UInt8\n return {\n ...baseMetadata,\n ...ValueMetadata.UInt8,\n label,\n description: prop.description,\n min: prop.min,\n max: prop.max,\n readable: !prop.readonly,\n };\n }\n }\n}\nfunction getIndicatorName(indicatorId: number | undefined): string {\n if (indicatorId) {\n return getEnumMemberName(Indicator, indicatorId);\n }\n else {\n return \"Default\";\n }\n}\n/** Returns a user-friendly label for an indicator */\nfunction getIndicatorLabel(indicatorId: number, propertyId: number, overrideIndicatorLabel?: string, overridePropertyLabel?: string): string {\n const defaultName = overrideIndicatorLabel || getIndicatorName(indicatorId);\n // Without a defined property, we cannot suggest a better label\n const prop = getIndicatorProperty(propertyId);\n if (!prop)\n return defaultName;\n // For indicators that correspond to an LCD or buttons,\n // the indicator enum names are enough\n if (indicatorId >= Indicator[\"LCD backlight\"]\n && indicatorId <= Indicator[\"Button 12 indication\"]\n && (propertyId === 0x01 /* Multilevel */\n || propertyId === 0x02 /* Binary */\n || overridePropertyLabel) // custom property label\n ) {\n let ret: string = (Indicator as any)[indicatorId];\n // Append the overridden property label if it exists\n if (overridePropertyLabel) {\n ret += ` - ${overridePropertyLabel}`;\n }\n return ret;\n }\n // Default to the current behavior of <indicator name> - <property label>\n return `${defaultName} - ${overridePropertyLabel || prop.label}`;\n}\nexport function shouldExposeIndicatorValue(indicatorId: number, propertyId: number): boolean {\n // Many possible indicator values are not suitable to be exposed as CC values,\n // usually because they need to be set in groups.\n // Indicator properties that should be exposed are marked as such\n const prop = getIndicatorProperty(propertyId);\n if (prop && !prop.exposeAsValue) {\n return false;\n }\n // Unless we know better, expose anyways\n return true;\n}\n@API(CommandClasses.Indicator)\nexport class IndicatorCCAPI extends CCAPI {\n public supportsCommand(cmd: IndicatorCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case IndicatorCommand.Get:\n case IndicatorCommand.Report:\n return this.isSinglecast();\n case IndicatorCommand.Set:\n return true; // This is mandatory\n case IndicatorCommand.SupportedGet:\n case IndicatorCommand.SupportedReport:\n return this.version >= 2 && this.isSinglecast();\n case IndicatorCommand.DescriptionGet:\n case IndicatorCommand.DescriptionReport:\n return this.version >= 4 && this.isSinglecast();\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: IndicatorCCAPI, { property, propertyKey }, value) {\n const valueId: ValueID = {\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property,\n propertyKey,\n };\n if (property === \"value\") {\n // V1 value\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.set(value);\n }\n else if (IndicatorCCValues.valueV2.is(valueId)) {\n const indicatorId = property as number;\n const propertyId = propertyKey as number;\n const expectedType = getIndicatorMetadata(indicatorId, propertyId).type as \"number\" | \"boolean\";\n // V2+ value\n if (typeof value !== expectedType) {\n throwWrongValueType(this.ccId, property, expectedType, typeof value);\n }\n return this.set([\n {\n indicatorId,\n propertyId,\n value: value as any,\n },\n ]);\n }\n else if (IndicatorCCValues.timeout.is(valueId)) {\n const indicatorId = property as number;\n if (typeof value !== \"string\") {\n throwWrongValueType(this.ccId, property, \"string\", typeof value);\n }\n return this.setTimeout(indicatorId, value);\n }\n else if (IndicatorCCValues.identify.is(valueId)) {\n if (typeof value !== \"boolean\") {\n throwWrongValueType(this.ccId, property, \"boolean\", typeof value);\n }\n return this.identify();\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: IndicatorCCAPI, { property }) {\n if (property === \"value\")\n return this.get();\n if (typeof property === \"number\") {\n return this.get(property);\n }\n throwUnsupportedProperty(this.ccId, property);\n };\n }\n @validateArgs_IndicatorCCAPI_get()\n public async get(indicatorId?: number): Promise<MaybeNotKnown<number | IndicatorObject[]>> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Get);\n const cc = new IndicatorCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCReport>(cc, this.commandOptions);\n if (!response)\n return;\n if (response.values)\n return response.values;\n return response.indicator0Value!;\n }\n @validateArgs_IndicatorCCAPI_set()\n public async set(value: number | IndicatorObject[]): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Set);\n if (this.version === 1 && typeof value !== \"number\") {\n throw new ZWaveError(`Node ${this.endpoint\n .nodeId as number} only supports IndicatorCC V1 which requires a single value to be set`, ZWaveErrorCodes.Argument_Invalid);\n }\n else if (this.version >= 2\n && isArray(value)\n && value.length > MAX_INDICATOR_OBJECTS) {\n throw new ZWaveError(`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`, ZWaveErrorCodes.Argument_Invalid);\n }\n const cc = new IndicatorCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...(typeof value === \"number\" ? { value } : { values: value }),\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_sendReport()\n public async sendReport(options: IndicatorCCReportOptions): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Report);\n const cc = new IndicatorCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_getSupported()\n public async getSupported(indicatorId: number): Promise<{\n indicatorId?: number;\n supportedProperties: readonly number[];\n nextIndicatorId: number;\n } | undefined> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.SupportedGet);\n const cc = new IndicatorCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCSupportedReport>(cc, this.commandOptions);\n if (response) {\n return {\n // Include the actual indicator ID if 0x00 was requested\n ...(indicatorId === 0x00\n ? { indicatorId: response.indicatorId }\n : undefined),\n supportedProperties: response.supportedProperties,\n nextIndicatorId: response.nextIndicatorId,\n };\n }\n }\n @validateArgs_IndicatorCCAPI_reportSupported()\n public async reportSupported(indicatorId: number, supportedProperties: readonly number[], nextIndicatorId: number): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.SupportedReport);\n const cc = new IndicatorCCSupportedReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n supportedProperties,\n nextIndicatorId,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_reportDescription()\n public async reportDescription(indicatorId: number, description: string): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.DescriptionReport);\n const cc = new IndicatorCCDescriptionReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n description,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Instructs the node to identify itself. Available starting with V3 of this CC.\n */\n public async identify(): Promise<SupervisionResult | undefined> {\n if (this.version < 3) {\n throw new ZWaveError(`The identify command is only supported in Indicator CC version 3 and above`, ZWaveErrorCodes.CC_NotSupported);\n }\n return this.set([\n {\n indicatorId: 0x50,\n propertyId: 0x03,\n value: 0x08,\n },\n {\n indicatorId: 0x50,\n propertyId: 0x04,\n value: 0x03,\n },\n {\n indicatorId: 0x50,\n propertyId: 0x05,\n value: 0x06,\n },\n ]);\n }\n /**\n * Set a timeout for a given indicator ID after which the indicator will be turned off.\n * @param timeout The timeout in one of the supported forms:\n * \t- a timeout string in the form `12h18m17.59s`. All parts (hours, minutes, seconds, hundredths) are optional, but must be specified in this order. An empty string will be treated like `undefined`.\n * \t- an object specifying the timeout parts. An empty object will be treated like `undefined`.\n * \t- `undefined` to disable the timeout.\n */\n @validateArgs_IndicatorCCAPI_setTimeout()\n public async setTimeout(indicatorId: number, timeout: IndicatorTimeout | string | undefined): Promise<SupervisionResult | undefined> {\n this.assertPhysicalEndpoint(this.endpoint);\n if (this.version < 3) {\n throw new ZWaveError(`The setTimeout command is only supported in Indicator CC version 3 and above`, ZWaveErrorCodes.CC_NotSupported);\n }\n if (typeof timeout === \"string\") {\n if (timeout === \"\") {\n timeout = undefined;\n }\n else {\n const parsed = parseIndicatorTimeoutString(timeout);\n if (!parsed) {\n throw new ZWaveError(`The timeout string \"${timeout}\" is not valid`, ZWaveErrorCodes.Argument_Invalid);\n }\n timeout = parsed;\n }\n }\n const supportedPropertyIDs = IndicatorCC.getSupportedPropertyIDsCached(this.host, this.endpoint, indicatorId);\n const objects: IndicatorObject[] = [];\n if (timeout) {\n const hours = timeout.hours ?? 0;\n const minutes = timeout.minutes ?? 0;\n const seconds = Math.floor(timeout.seconds ?? 0);\n const hundredths = Math.round(((timeout.seconds ?? 0) % 1) * 100);\n if (hours) {\n if (!supportedPropertyIDs?.includes(0x0a)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in hours`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x0a,\n value: hours,\n });\n }\n if (minutes) {\n if (!supportedPropertyIDs?.includes(0x06)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in minutes`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x06,\n value: minutes,\n });\n }\n if (seconds) {\n if (!supportedPropertyIDs?.includes(0x07)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in seconds`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x07,\n value: seconds,\n });\n }\n if (hundredths) {\n if (!supportedPropertyIDs?.includes(0x08)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in 1/100 seconds`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x08,\n value: hundredths,\n });\n }\n }\n if (!objects.length) {\n objects.push(...(supportedPropertyIDs ?? []).map((p) => ({\n indicatorId,\n propertyId: p,\n value: 0,\n })));\n }\n return this.set(objects);\n }\n /**\n * Returns the timeout after which the given indicator will be turned off.\n */\n @validateArgs_IndicatorCCAPI_getTimeout()\n public async getTimeout(indicatorId: number): Promise<MaybeNotKnown<IndicatorTimeout>> {\n const values = await this.get(indicatorId);\n if (!isArray(values))\n return;\n return indicatorObjectsToTimeout(values);\n }\n @validateArgs_IndicatorCCAPI_getDescription()\n public async getDescription(indicatorId: number): Promise<MaybeNotKnown<string>> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.DescriptionGet);\n const cc = new IndicatorCCDescriptionGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCDescriptionReport>(cc, this.commandOptions);\n return response?.description;\n }\n}\n@commandClass(CommandClasses.Indicator)\n@implementedVersion(4)\n@ccValues(IndicatorCCValues)\nexport class IndicatorCC extends CommandClass {\n declare ccCommand: IndicatorCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Indicator, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n if (api.version > 1) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"scanning supported indicator IDs...\",\n direction: \"outbound\",\n });\n // Query ID 0 to get the first supported ID\n let curId = 0x00;\n const supportedIndicatorIds: number[] = [];\n do {\n const supportedResponse = await api.getSupported(curId);\n if (!supportedResponse) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Time out while scanning supported indicator IDs, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n if (supportedResponse.supportedProperties.length > 0) {\n supportedIndicatorIds.push(supportedResponse.indicatorId ?? curId);\n }\n curId = supportedResponse.nextIndicatorId;\n } while (curId !== 0x00);\n // The IDs are not stored by the report CCs so store them here once we have all of them\n this.setValue(ctx, IndicatorCCValues.supportedIndicatorIds, supportedIndicatorIds);\n const logMessage = `supported indicator IDs: ${supportedIndicatorIds.join(\", \")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n if (api.version >= 4) {\n const manufacturerDefinedIndicatorIds = supportedIndicatorIds\n .filter((id) => isManufacturerDefinedIndicator(id));\n if (manufacturerDefinedIndicatorIds.length > 0) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"retrieving description for manufacturer-defined indicator IDs...\",\n direction: \"outbound\",\n });\n for (const id of manufacturerDefinedIndicatorIds) {\n await api.getDescription(id);\n }\n }\n }\n }\n // Query current values\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Indicator, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n if (api.version === 1) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting current indicator value...\",\n direction: \"outbound\",\n });\n await api.get();\n }\n else {\n const supportedIndicatorIds: number[] = this.getValue(ctx, IndicatorCCValues.supportedIndicatorIds) ?? [];\n for (const indicatorId of supportedIndicatorIds) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `requesting current indicator value (id = ${num2hex(indicatorId)})...`,\n direction: \"outbound\",\n });\n await api.get(indicatorId);\n }\n }\n }\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n if (property === \"value\") {\n // CC version 1 only has a single value that doesn't need to be translated\n return undefined;\n }\n else if (typeof property === \"number\"\n && typeof propertyKey === \"number\") {\n // The indicator property is our property key\n const prop = getIndicatorProperty(propertyKey);\n if (prop)\n return prop.label;\n }\n else if (typeof property === \"number\"\n && propertyKey === \"timeout\") {\n return \"Timeout\";\n }\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n public translateProperty(ctx: GetValueDB, property: string | number, propertyKey?: string | number): string {\n if (typeof property === \"number\") {\n if (typeof propertyKey === \"number\" || propertyKey === \"timeout\") {\n // The indicator corresponds to our property\n if (property in Indicator)\n return Indicator[property];\n }\n }\n return super.translateProperty(ctx, property, propertyKey);\n }\n protected supportsV2Indicators(ctx: GetValueDB): boolean {\n // First test if there are any indicator ids defined\n const supportedIndicatorIds = this.getValue<number[]>(ctx, IndicatorCCValues.supportedIndicatorIds);\n if (!supportedIndicatorIds?.length)\n return false;\n // Then test if there are any property ids defined\n return supportedIndicatorIds.some((indicatorId) => !!this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(indicatorId))?.length);\n }\n protected getManufacturerDefinedIndicatorLabel(ctx: GetValueDB, indicatorId: number): string | undefined {\n if (isManufacturerDefinedIndicator(indicatorId)) {\n return this.getValue(ctx, IndicatorCCValues.indicatorDescription(indicatorId));\n }\n }\n public static getSupportedPropertyIDsCached(ctx: GetValueDB, endpoint: EndpointId, indicatorId: number): MaybeNotKnown<number[]> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(IndicatorCCValues.supportedPropertyIDs(indicatorId).endpoint(endpoint.index));\n }\n}\n// @publicAPI\nexport interface IndicatorObject {\n indicatorId: number;\n propertyId: number;\n value: number | boolean;\n}\n// @publicAPI\nexport type IndicatorCCSetOptions = {\n value: number;\n} | {\n values: IndicatorObject[];\n};\n@CCCommand(IndicatorCommand.Set)\n@useSupervision()\nexport class IndicatorCCSet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSetOptions>) {\n super(options);\n if (\"value\" in options) {\n this.indicator0Value = options.value;\n }\n else {\n this.values = options.values;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSet {\n validatePayload(raw.payload.length >= 1);\n const objCount = raw.payload.length >= 2\n ? raw.payload[1] & 0b11111\n : 0;\n if (objCount === 0) {\n const indicator0Value = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n value: indicator0Value,\n });\n }\n validatePayload(raw.payload.length >= 2 + 3 * objCount);\n const values: IndicatorObject[] = [];\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n const value: IndicatorObject = {\n indicatorId: raw.payload[offset],\n propertyId: raw.payload[offset + 1],\n value: raw.payload[offset + 2],\n };\n values.push(value);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n values,\n });\n }\n public indicator0Value: number | undefined;\n public values: IndicatorObject[] | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.values != undefined) {\n // V2+\n this.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n // Byte 0 is the legacy value\n const objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n this.payload[1] = objCount;\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n this.payload[offset] = this.values[i].indicatorId;\n this.payload[offset + 1] = this.values[i].propertyId;\n const value = this.values[i].value;\n this.payload[offset + 2] = value === true\n ? 0xff\n : value === false\n ? 0x00\n : value;\n }\n }\n else {\n // V1\n this.payload = Bytes.from([this.indicator0Value ?? 0]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.indicator0Value != undefined) {\n message[\"indicator 0 value\"] = this.indicator0Value;\n }\n if (this.values != undefined) {\n message.values = this.values\n .map((v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`)\n .join(\"\");\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport type IndicatorCCReportOptions = {\n value: number;\n} | {\n values: IndicatorObject[];\n};\n@CCCommand(IndicatorCommand.Report)\nexport class IndicatorCCReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCReportOptions>) {\n super(options);\n if (\"value\" in options) {\n this.indicator0Value = options.value;\n }\n else if (\"values\" in options) {\n if (options.values.length > MAX_INDICATOR_OBJECTS) {\n throw new ZWaveError(`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.values = options.values;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCReport {\n validatePayload(raw.payload.length >= 1);\n const objCount = raw.payload.length >= 2\n ? raw.payload[1] & 0b11111\n : 0;\n if (objCount === 0) {\n const indicator0Value = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n value: indicator0Value,\n });\n }\n validatePayload(raw.payload.length >= 2 + 3 * objCount);\n const values: IndicatorObject[] = [];\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n const value: IndicatorObject = {\n indicatorId: raw.payload[offset],\n propertyId: raw.payload[offset + 1],\n value: raw.payload[offset + 2],\n };\n values.push(value);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n values,\n });\n // TODO: Think if we want this:\n // // If not all Property IDs are included in the command for the actual Indicator ID,\n // // a controlling node MUST assume non-specified Property IDs values to be 0x00.\n // const indicatorId = this.values[0].indicatorId;\n // const supportedIndicatorProperties =\n // \tvalueDB.getValue<number[]>(\n // \t\tgetSupportedPropertyIDsValueID(\n // \t\t\tthis.endpointIndex,\n // \t\t\tindicatorId,\n // \t\t),\n // \t) ?? [];\n // // Find out which ones are missing\n // const missingIndicatorProperties = supportedIndicatorProperties.filter(\n // \tprop =>\n // \t\t!this.values!.find(({ propertyId }) => prop === propertyId),\n // );\n // // And assume they are 0 (false)\n // for (const missing of missingIndicatorProperties) {\n // \tthis.setIndicatorValue({\n // \t\tindicatorId,\n // \t\tpropertyId: missing,\n // \t\tvalue: 0,\n // \t});\n // }\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.indicator0Value != undefined) {\n if (!this.supportsV2Indicators(ctx)) {\n // Publish the value\n const valueV1 = IndicatorCCValues.valueV1;\n this.setMetadata(ctx, valueV1);\n this.setValue(ctx, valueV1, this.indicator0Value);\n }\n else {\n if (this.isSinglecast()) {\n // Don't!\n ctx.logNode(this.nodeId, {\n message: `ignoring V1 indicator report because the node supports V2 indicators`,\n direction: \"none\",\n endpoint: this.endpointIndex,\n });\n }\n }\n }\n else if (this.values) {\n // Store the simple values first\n for (const value of this.values) {\n this.setIndicatorValue(ctx, value);\n }\n // Then group values into the convenience properties\n const groupedValues = groupByIndicatorId(this.values);\n for (const [indicatorId, values] of groupedValues) {\n // Some devices report all properties it supports in every report,\n // even if it does not support all properties for the given indicator ID.\n // To avoid confusion, we need to filter out the unsupported properties\n const supportedPropertyIDs = this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(indicatorId)) ?? [];\n const filteredValues = values.filter((v) => supportedPropertyIDs.includes(v.propertyId));\n const overrideIndicatorLabel = this\n .getManufacturerDefinedIndicatorLabel(ctx, indicatorId);\n // ... timeout\n const timeout = indicatorObjectsToTimeout(filteredValues);\n if (timeout) {\n let timeoutString = \"\";\n if (timeout?.hours)\n timeoutString += `${timeout.hours}h`;\n if (timeout?.minutes) {\n timeoutString += `${timeout.minutes}m`;\n }\n if (timeout?.seconds) {\n timeoutString += `${timeout.seconds}s`;\n }\n const timeoutValue = IndicatorCCValues.timeout(indicatorId);\n const metadata: ValueMetadata = {\n ...timeoutValue.meta,\n label: getIndicatorLabel(indicatorId, 0x06, // This is actually ignored, but pass a valid ID for clarity\n overrideIndicatorLabel, \"Timeout\"),\n };\n this.setMetadata(ctx, timeoutValue, metadata);\n this.setValue(ctx, timeoutValue, timeoutString);\n }\n }\n }\n return true;\n }\n public readonly indicator0Value: number | undefined;\n public readonly values: IndicatorObject[] | undefined;\n private setIndicatorValue(ctx: GetValueDB, value: IndicatorObject): void {\n // Manufacturer-defined indicators may need a custom label\n const overrideIndicatorLabel = this\n .getManufacturerDefinedIndicatorLabel(ctx, value.indicatorId);\n const metadata = getIndicatorMetadata(value.indicatorId, value.propertyId, overrideIndicatorLabel);\n // Some values need to be converted\n if (metadata.type === \"boolean\") {\n value.value = !!value.value;\n }\n // Only expose the value if it should be user-facing\n if (value.indicatorId === Indicator[\"Node Identify\"]) {\n return;\n }\n const prop = getIndicatorProperty(value.propertyId);\n if (!prop?.exposeAsValue)\n return;\n // And only if it is actually supported and not just reported by accident\n const supportedPropertyIDs = this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(value.indicatorId)) ?? [];\n if (!supportedPropertyIDs.includes(value.propertyId))\n return;\n // Publish the value\n const valueV2 = IndicatorCCValues.valueV2(value.indicatorId, value.propertyId);\n this.setMetadata(ctx, valueV2, metadata);\n this.setValue(ctx, valueV2, value.value);\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.values != undefined) {\n // V2+\n this.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n // Byte 0 is the legacy value\n const objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n this.payload[1] = objCount;\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n this.payload[offset] = this.values[i].indicatorId;\n this.payload[offset + 1] = this.values[i].propertyId;\n const value = this.values[i].value;\n this.payload[offset + 2] = value === true\n ? 0xff\n : value === false\n ? 0x00\n : value;\n }\n }\n else {\n // V1\n this.payload = Bytes.from([this.indicator0Value ?? 0]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.indicator0Value != undefined) {\n message[\"indicator 0 value\"] = this.indicator0Value;\n }\n if (this.values != undefined) {\n message.values = this.values\n .map((v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`)\n .join(\"\");\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCGetOptions {\n indicatorId?: number;\n}\n@CCCommand(IndicatorCommand.Get)\n@expectedCCResponse(IndicatorCCReport)\nexport class IndicatorCCGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCGet {\n let indicatorId: number | undefined;\n if (raw.payload.length > 0) {\n indicatorId = raw.payload[0];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.indicatorId != undefined) {\n this.payload = Bytes.from([this.indicatorId]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCSupportedReportOptions {\n indicatorId: number;\n nextIndicatorId: number;\n supportedProperties: readonly number[];\n}\n@CCCommand(IndicatorCommand.SupportedReport)\nexport class IndicatorCCSupportedReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSupportedReportOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n this.nextIndicatorId = options.nextIndicatorId;\n this.supportedProperties = options.supportedProperties;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSupportedReport {\n validatePayload(raw.payload.length >= 3);\n const indicatorId = raw.payload[0];\n const nextIndicatorId = raw.payload[1];\n const bitMaskLength = raw.payload[2] & 0b11111;\n let supportedProperties: readonly number[];\n if (bitMaskLength === 0) {\n supportedProperties = [];\n }\n else {\n validatePayload(raw.payload.length >= 3 + bitMaskLength);\n // The bit mask starts at 0, but bit 0 is not used\n supportedProperties = parseBitMask(raw.payload.subarray(3, 3 + bitMaskLength), 0).filter((v) => v !== 0);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n nextIndicatorId,\n supportedProperties,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.indicatorId !== 0x00) {\n // Remember which property IDs are supported\n this.setValue(ctx, IndicatorCCValues.supportedPropertyIDs(this.indicatorId), this.supportedProperties);\n }\n return true;\n }\n public readonly indicatorId: number;\n public readonly nextIndicatorId: number;\n public readonly supportedProperties: readonly number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const bitmask = this.supportedProperties.length > 0\n ? encodeBitMask(this.supportedProperties, undefined, 0)\n : new Bytes();\n this.payload = Bytes.concat([\n [\n this.indicatorId,\n this.nextIndicatorId,\n bitmask.length,\n ],\n bitmask,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n \"supported properties\": this.supportedProperties\n .map((id) => getIndicatorProperty(id)?.label\n ?? `Unknown (${num2hex(id)})`)\n .join(\", \"),\n \"next indicator\": getIndicatorName(this.nextIndicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCSupportedGetOptions {\n indicatorId: number;\n}\nfunction testResponseForIndicatorSupportedGet(sent: IndicatorCCSupportedGet, received: IndicatorCCSupportedReport) {\n return sent.indicatorId === 0 || received.indicatorId === sent.indicatorId;\n}\n@CCCommand(IndicatorCommand.SupportedGet)\n@expectedCCResponse(IndicatorCCSupportedReport, testResponseForIndicatorSupportedGet)\nexport class IndicatorCCSupportedGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSupportedGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSupportedGet {\n validatePayload(raw.payload.length >= 1);\n const indicatorId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.indicatorId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCDescriptionReportOptions {\n indicatorId: number;\n description: string;\n}\n@CCCommand(IndicatorCommand.DescriptionReport)\nexport class IndicatorCCDescriptionReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCDescriptionReportOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n this.description = options.description;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCDescriptionReport {\n validatePayload(raw.payload.length >= 2);\n const indicatorId = raw.payload[0];\n const descrptionLength = raw.payload[1];\n validatePayload(raw.payload.length >= 2 + descrptionLength);\n const description: string = raw.payload\n .subarray(2, 2 + descrptionLength)\n .toString(\"utf8\");\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n description,\n });\n }\n public indicatorId: number;\n public description: string;\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.description) {\n this.setValue(ctx, IndicatorCCValues.indicatorDescription(this.indicatorId), this.description);\n }\n return true;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const description = Bytes.from(this.description, \"utf8\");\n this.payload = Bytes.concat([\n [this.indicatorId, description.length],\n description,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"indicator ID\": this.indicatorId,\n description: this.description || \"(none)\",\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCDescriptionGetOptions {\n indicatorId: number;\n}\nfunction testResponseForIndicatorDescriptionGet(sent: IndicatorCCDescriptionGet, received: IndicatorCCDescriptionReport) {\n return received.indicatorId === sent.indicatorId;\n}\n@CCCommand(IndicatorCommand.DescriptionGet)\n@expectedCCResponse(IndicatorCCDescriptionReport, testResponseForIndicatorDescriptionGet)\nexport class IndicatorCCDescriptionGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCDescriptionGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCDescriptionGet {\n validatePayload(raw.payload.length >= 1);\n const indicatorId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.indicatorId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"indicator ID\": this.indicatorId,\n },\n };\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import * as __validateArgs from \"./IndicatorCC._validateArgs.js\";\nconst { validateArgs_IndicatorCCAPI_get, validateArgs_IndicatorCCAPI_set, validateArgs_IndicatorCCAPI_sendReport, validateArgs_IndicatorCCAPI_getSupported, validateArgs_IndicatorCCAPI_reportSupported, validateArgs_IndicatorCCAPI_reportDescription, validateArgs_IndicatorCCAPI_setTimeout, validateArgs_IndicatorCCAPI_getTimeout, validateArgs_IndicatorCCAPI_getDescription } = __validateArgs;\nimport { CommandClasses, type EndpointId, type GetValueDB, Indicator, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, type ValueID, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, encodeBitMask, getIndicatorProperty, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, num2hex } from \"@zwave-js/shared\";\nimport { clamp, roundTo } from \"alcalzone-shared/math\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { IndicatorCommand, type IndicatorTimeout } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nfunction isManufacturerDefinedIndicator(indicatorId: number): boolean {\n return indicatorId >= 0x80 && indicatorId <= 0x9f;\n}\nconst timeoutStringRegex = /^(?:(?<hoursStr>\\d+)h)?(?:(?<minutesStr>\\d+)m)?(?:(?<secondsStr>\\d+(?:\\.\\d+)?)s)?$/i;\nconst MAX_INDICATOR_OBJECTS = 31;\nfunction parseIndicatorTimeoutString(text: string): IndicatorTimeout | undefined {\n if (!text.length)\n return undefined;\n // Try to parse the numeric parts from a timeout\n const match = timeoutStringRegex.exec(text);\n if (!match)\n return undefined;\n const { hoursStr, minutesStr, secondsStr } = match.groups!;\n if (!hoursStr && !minutesStr && !secondsStr)\n return undefined;\n const ret: IndicatorTimeout = {};\n if (hoursStr) {\n ret.hours = clamp(parseInt(hoursStr, 10), 0, 255);\n }\n if (minutesStr) {\n ret.minutes = clamp(parseInt(minutesStr, 10), 0, 255);\n }\n if (secondsStr) {\n ret.seconds = clamp(roundTo(parseFloat(secondsStr), 2), 0, 59.99);\n }\n return ret;\n}\nfunction groupByIndicatorId(values: IndicatorObject[]): Map<number, IndicatorObject[]> {\n const ret = new Map();\n for (const value of values) {\n if (!ret.has(value.indicatorId)) {\n ret.set(value.indicatorId, []);\n }\n ret.get(value.indicatorId)!.push(value);\n }\n return ret;\n}\nfunction indicatorObjectsToTimeout(values: IndicatorObject[]): IndicatorTimeout | undefined {\n const timeoutValues = values.filter((v) => [0x0a, 0x06, 0x07, 0x08].includes(v.propertyId));\n if (!timeoutValues.length)\n return undefined;\n const hours = (timeoutValues.find((v) => v.propertyId === 0x0a)?.value\n ?? 0) as number;\n const minutes = (timeoutValues.find((v) => v.propertyId === 0x06)?.value\n ?? 0) as number;\n const seconds = clamp((timeoutValues.find((v) => v.propertyId === 0x07)\n ?.value as number) ?? 0, 0, 59)\n + clamp((timeoutValues.find((v) => v.propertyId === 0x08)\n ?.value as number) ?? 0, 0, 99)\n / 100;\n return {\n hours,\n minutes,\n seconds,\n };\n}\nimport { IndicatorCCValues } from \"./_CCValues.generated.js\";\nexport { IndicatorCCValues };\n/**\n * Looks up the configured metadata for the given indicator and property\n */\nfunction getIndicatorMetadata(indicatorId: Indicator, propertyId: number, overrideIndicatorLabel?: string): ValueMetadata {\n const label = getIndicatorLabel(indicatorId, propertyId, overrideIndicatorLabel);\n const prop = getIndicatorProperty(propertyId);\n const baseMetadata = IndicatorCCValues.valueV2(indicatorId, propertyId).meta;\n if (!prop) {\n return {\n ...baseMetadata,\n ...ValueMetadata.UInt8,\n label,\n };\n }\n else {\n if (prop.type === \"boolean\") {\n return {\n ...baseMetadata,\n ...ValueMetadata.Boolean,\n label,\n description: prop.description,\n readable: !prop.readonly,\n };\n }\n else {\n // UInt8\n return {\n ...baseMetadata,\n ...ValueMetadata.UInt8,\n label,\n description: prop.description,\n min: prop.min,\n max: prop.max,\n readable: !prop.readonly,\n };\n }\n }\n}\nfunction getIndicatorName(indicatorId: number | undefined): string {\n if (indicatorId) {\n return getEnumMemberName(Indicator, indicatorId);\n }\n else {\n return \"Default\";\n }\n}\n/** Returns a user-friendly label for an indicator */\nfunction getIndicatorLabel(indicatorId: number, propertyId: number, overrideIndicatorLabel?: string, overridePropertyLabel?: string): string {\n const defaultName = overrideIndicatorLabel || getIndicatorName(indicatorId);\n // Without a defined property, we cannot suggest a better label\n const prop = getIndicatorProperty(propertyId);\n if (!prop)\n return defaultName;\n // For indicators that correspond to an LCD or buttons,\n // the indicator enum names are enough\n if (indicatorId >= Indicator[\"LCD backlight\"]\n && indicatorId <= Indicator[\"Button 12 indication\"]\n && (propertyId === 0x01 /* Multilevel */\n || propertyId === 0x02 /* Binary */\n || overridePropertyLabel) // custom property label\n ) {\n let ret: string = (Indicator as any)[indicatorId];\n // Append the overridden property label if it exists\n if (overridePropertyLabel) {\n ret += ` - ${overridePropertyLabel}`;\n }\n return ret;\n }\n // Default to the current behavior of <indicator name> - <property label>\n return `${defaultName} - ${overridePropertyLabel || prop.label}`;\n}\nexport function shouldExposeIndicatorValue(indicatorId: number, propertyId: number): boolean {\n // Many possible indicator values are not suitable to be exposed as CC values,\n // usually because they need to be set in groups.\n // Indicator properties that should be exposed are marked as such\n const prop = getIndicatorProperty(propertyId);\n if (prop && !prop.exposeAsValue) {\n return false;\n }\n // Unless we know better, expose anyways\n return true;\n}\n@API(CommandClasses.Indicator)\nexport class IndicatorCCAPI extends CCAPI {\n public supportsCommand(cmd: IndicatorCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case IndicatorCommand.Get:\n case IndicatorCommand.Report:\n return this.isSinglecast();\n case IndicatorCommand.Set:\n return true; // This is mandatory\n case IndicatorCommand.SupportedGet:\n case IndicatorCommand.SupportedReport:\n return this.version >= 2 && this.isSinglecast();\n case IndicatorCommand.DescriptionGet:\n case IndicatorCommand.DescriptionReport:\n return this.version >= 4 && this.isSinglecast();\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: IndicatorCCAPI, { property, propertyKey }, value) {\n const valueId: ValueID = {\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property,\n propertyKey,\n };\n if (property === \"value\") {\n // V1 value\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.set(value);\n }\n else if (IndicatorCCValues.valueV2.is(valueId)) {\n const indicatorId = property as number;\n const propertyId = propertyKey as number;\n const expectedType = getIndicatorMetadata(indicatorId, propertyId).type as \"number\" | \"boolean\";\n // V2+ value\n if (typeof value !== expectedType) {\n throwWrongValueType(this.ccId, property, expectedType, typeof value);\n }\n return this.set([\n {\n indicatorId,\n propertyId,\n value: value as any,\n },\n ]);\n }\n else if (IndicatorCCValues.timeout.is(valueId)) {\n const indicatorId = property as number;\n if (typeof value !== \"string\") {\n throwWrongValueType(this.ccId, property, \"string\", typeof value);\n }\n return this.setTimeout(indicatorId, value);\n }\n else if (IndicatorCCValues.identify.is(valueId)) {\n if (typeof value !== \"boolean\") {\n throwWrongValueType(this.ccId, property, \"boolean\", typeof value);\n }\n return this.identify();\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: IndicatorCCAPI, { property }) {\n if (property === \"value\")\n return this.get();\n if (typeof property === \"number\") {\n return this.get(property);\n }\n throwUnsupportedProperty(this.ccId, property);\n };\n }\n @validateArgs_IndicatorCCAPI_get()\n public async get(indicatorId?: number): Promise<MaybeNotKnown<number | IndicatorObject[]>> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Get);\n const cc = new IndicatorCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCReport>(cc, this.commandOptions);\n if (!response)\n return;\n if (response.values)\n return response.values;\n return response.indicator0Value!;\n }\n @validateArgs_IndicatorCCAPI_set()\n public async set(value: number | IndicatorObject[]): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Set);\n if (this.version === 1 && typeof value !== \"number\") {\n throw new ZWaveError(`Node ${this.endpoint\n .nodeId as number} only supports IndicatorCC V1 which requires a single value to be set`, ZWaveErrorCodes.Argument_Invalid);\n }\n else if (this.version >= 2\n && isArray(value)\n && value.length > MAX_INDICATOR_OBJECTS) {\n throw new ZWaveError(`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`, ZWaveErrorCodes.Argument_Invalid);\n }\n const cc = new IndicatorCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...(typeof value === \"number\" ? { value } : { values: value }),\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_sendReport()\n public async sendReport(options: IndicatorCCReportOptions): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Report);\n const cc = new IndicatorCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_getSupported()\n public async getSupported(indicatorId: number): Promise<{\n indicatorId?: number;\n supportedProperties: readonly number[];\n nextIndicatorId: number;\n } | undefined> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.SupportedGet);\n const cc = new IndicatorCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCSupportedReport>(cc, this.commandOptions);\n if (response) {\n return {\n // Include the actual indicator ID if 0x00 was requested\n ...(indicatorId === 0x00\n ? { indicatorId: response.indicatorId }\n : undefined),\n supportedProperties: response.supportedProperties,\n nextIndicatorId: response.nextIndicatorId,\n };\n }\n }\n @validateArgs_IndicatorCCAPI_reportSupported()\n public async reportSupported(indicatorId: number, supportedProperties: readonly number[], nextIndicatorId: number): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.SupportedReport);\n const cc = new IndicatorCCSupportedReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n supportedProperties,\n nextIndicatorId,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_reportDescription()\n public async reportDescription(indicatorId: number, description: string): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.DescriptionReport);\n const cc = new IndicatorCCDescriptionReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n description,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Instructs the node to identify itself. Available starting with V3 of this CC.\n */\n public async identify(): Promise<SupervisionResult | undefined> {\n if (this.version < 3) {\n throw new ZWaveError(`The identify command is only supported in Indicator CC version 3 and above`, ZWaveErrorCodes.CC_NotSupported);\n }\n return this.set([\n {\n indicatorId: 0x50,\n propertyId: 0x03,\n value: 0x08,\n },\n {\n indicatorId: 0x50,\n propertyId: 0x04,\n value: 0x03,\n },\n {\n indicatorId: 0x50,\n propertyId: 0x05,\n value: 0x06,\n },\n ]);\n }\n /**\n * Set a timeout for a given indicator ID after which the indicator will be turned off.\n * @param timeout The timeout in one of the supported forms:\n * \t- a timeout string in the form `12h18m17.59s`. All parts (hours, minutes, seconds, hundredths) are optional, but must be specified in this order. An empty string will be treated like `undefined`.\n * \t- an object specifying the timeout parts. An empty object will be treated like `undefined`.\n * \t- `undefined` to disable the timeout.\n */\n @validateArgs_IndicatorCCAPI_setTimeout()\n public async setTimeout(indicatorId: number, timeout: IndicatorTimeout | string | undefined): Promise<SupervisionResult | undefined> {\n this.assertPhysicalEndpoint(this.endpoint);\n if (this.version < 3) {\n throw new ZWaveError(`The setTimeout command is only supported in Indicator CC version 3 and above`, ZWaveErrorCodes.CC_NotSupported);\n }\n if (typeof timeout === \"string\") {\n if (timeout === \"\") {\n timeout = undefined;\n }\n else {\n const parsed = parseIndicatorTimeoutString(timeout);\n if (!parsed) {\n throw new ZWaveError(`The timeout string \"${timeout}\" is not valid`, ZWaveErrorCodes.Argument_Invalid);\n }\n timeout = parsed;\n }\n }\n const supportedPropertyIDs = IndicatorCC.getSupportedPropertyIDsCached(this.host, this.endpoint, indicatorId);\n const objects: IndicatorObject[] = [];\n if (timeout) {\n const hours = timeout.hours ?? 0;\n const minutes = timeout.minutes ?? 0;\n const seconds = Math.floor(timeout.seconds ?? 0);\n const hundredths = Math.round(((timeout.seconds ?? 0) % 1) * 100);\n if (hours) {\n if (!supportedPropertyIDs?.includes(0x0a)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in hours`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x0a,\n value: hours,\n });\n }\n if (minutes) {\n if (!supportedPropertyIDs?.includes(0x06)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in minutes`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x06,\n value: minutes,\n });\n }\n if (seconds) {\n if (!supportedPropertyIDs?.includes(0x07)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in seconds`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x07,\n value: seconds,\n });\n }\n if (hundredths) {\n if (!supportedPropertyIDs?.includes(0x08)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in 1/100 seconds`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x08,\n value: hundredths,\n });\n }\n }\n if (!objects.length) {\n objects.push(...(supportedPropertyIDs ?? []).map((p) => ({\n indicatorId,\n propertyId: p,\n value: 0,\n })));\n }\n return this.set(objects);\n }\n /**\n * Returns the timeout after which the given indicator will be turned off.\n */\n @validateArgs_IndicatorCCAPI_getTimeout()\n public async getTimeout(indicatorId: number): Promise<MaybeNotKnown<IndicatorTimeout>> {\n const values = await this.get(indicatorId);\n if (!isArray(values))\n return;\n return indicatorObjectsToTimeout(values);\n }\n @validateArgs_IndicatorCCAPI_getDescription()\n public async getDescription(indicatorId: number): Promise<MaybeNotKnown<string>> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.DescriptionGet);\n const cc = new IndicatorCCDescriptionGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCDescriptionReport>(cc, this.commandOptions);\n return response?.description;\n }\n}\n@commandClass(CommandClasses.Indicator)\n@implementedVersion(4)\n@ccValues(IndicatorCCValues)\nexport class IndicatorCC extends CommandClass {\n declare ccCommand: IndicatorCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Indicator, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n if (api.version > 1) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"scanning supported indicator IDs...\",\n direction: \"outbound\",\n });\n // Query ID 0 to get the first supported ID\n let curId = 0x00;\n const supportedIndicatorIds: number[] = [];\n do {\n const supportedResponse = await api.getSupported(curId);\n if (!supportedResponse) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Time out while scanning supported indicator IDs, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n if (supportedResponse.supportedProperties.length > 0) {\n supportedIndicatorIds.push(supportedResponse.indicatorId ?? curId);\n }\n curId = supportedResponse.nextIndicatorId;\n } while (curId !== 0x00);\n // The IDs are not stored by the report CCs so store them here once we have all of them\n this.setValue(ctx, IndicatorCCValues.supportedIndicatorIds, supportedIndicatorIds);\n const logMessage = `supported indicator IDs: ${supportedIndicatorIds.join(\", \")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n if (api.version >= 4) {\n const manufacturerDefinedIndicatorIds = supportedIndicatorIds\n .filter((id) => isManufacturerDefinedIndicator(id));\n if (manufacturerDefinedIndicatorIds.length > 0) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"retrieving description for manufacturer-defined indicator IDs...\",\n direction: \"outbound\",\n });\n for (const id of manufacturerDefinedIndicatorIds) {\n await api.getDescription(id);\n }\n }\n }\n }\n // Query current values\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Indicator, ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n if (api.version === 1) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting current indicator value...\",\n direction: \"outbound\",\n });\n await api.get();\n }\n else {\n const supportedIndicatorIds: number[] = this.getValue(ctx, IndicatorCCValues.supportedIndicatorIds) ?? [];\n for (const indicatorId of supportedIndicatorIds) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `requesting current indicator value (id = ${num2hex(indicatorId)})...`,\n direction: \"outbound\",\n });\n await api.get(indicatorId);\n }\n }\n }\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n if (property === \"value\") {\n // CC version 1 only has a single value that doesn't need to be translated\n return undefined;\n }\n else if (typeof property === \"number\"\n && typeof propertyKey === \"number\") {\n // The indicator property is our property key\n const prop = getIndicatorProperty(propertyKey);\n if (prop)\n return prop.label;\n }\n else if (typeof property === \"number\"\n && propertyKey === \"timeout\") {\n return \"Timeout\";\n }\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n public translateProperty(ctx: GetValueDB, property: string | number, propertyKey?: string | number): string {\n if (typeof property === \"number\") {\n if (typeof propertyKey === \"number\" || propertyKey === \"timeout\") {\n // The indicator corresponds to our property\n if (property in Indicator)\n return Indicator[property];\n }\n }\n return super.translateProperty(ctx, property, propertyKey);\n }\n protected supportsV2Indicators(ctx: GetValueDB): boolean {\n // First test if there are any indicator ids defined\n const supportedIndicatorIds = this.getValue<number[]>(ctx, IndicatorCCValues.supportedIndicatorIds);\n if (!supportedIndicatorIds?.length)\n return false;\n // Then test if there are any property ids defined\n return supportedIndicatorIds.some((indicatorId) => !!this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(indicatorId))?.length);\n }\n protected getManufacturerDefinedIndicatorLabel(ctx: GetValueDB, indicatorId: number): string | undefined {\n if (isManufacturerDefinedIndicator(indicatorId)) {\n return this.getValue(ctx, IndicatorCCValues.indicatorDescription(indicatorId));\n }\n }\n public static getSupportedPropertyIDsCached(ctx: GetValueDB, endpoint: EndpointId, indicatorId: number): MaybeNotKnown<number[]> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(IndicatorCCValues.supportedPropertyIDs(indicatorId).endpoint(endpoint.index));\n }\n}\n// @publicAPI\nexport interface IndicatorObject {\n indicatorId: number;\n propertyId: number;\n value: number | boolean;\n}\n// @publicAPI\nexport type IndicatorCCSetOptions = {\n value: number;\n} | {\n values: IndicatorObject[];\n};\n@CCCommand(IndicatorCommand.Set)\n@useSupervision()\nexport class IndicatorCCSet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSetOptions>) {\n super(options);\n if (\"value\" in options) {\n this.indicator0Value = options.value;\n }\n else {\n this.values = options.values;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSet {\n validatePayload(raw.payload.length >= 1);\n const objCount = raw.payload.length >= 2\n ? raw.payload[1] & 0b11111\n : 0;\n if (objCount === 0) {\n const indicator0Value = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n value: indicator0Value,\n });\n }\n validatePayload(raw.payload.length >= 2 + 3 * objCount);\n const values: IndicatorObject[] = [];\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n const value: IndicatorObject = {\n indicatorId: raw.payload[offset],\n propertyId: raw.payload[offset + 1],\n value: raw.payload[offset + 2],\n };\n values.push(value);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n values,\n });\n }\n public indicator0Value: number | undefined;\n public values: IndicatorObject[] | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.values != undefined) {\n // V2+\n this.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n // Byte 0 is the legacy value\n const objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n this.payload[1] = objCount;\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n this.payload[offset] = this.values[i].indicatorId;\n this.payload[offset + 1] = this.values[i].propertyId;\n const value = this.values[i].value;\n this.payload[offset + 2] = value === true\n ? 0xff\n : value === false\n ? 0x00\n : value;\n }\n }\n else {\n // V1\n this.payload = Bytes.from([this.indicator0Value ?? 0]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.indicator0Value != undefined) {\n message[\"indicator 0 value\"] = this.indicator0Value;\n }\n if (this.values != undefined) {\n message.values = this.values\n .map((v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`)\n .join(\"\");\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport type IndicatorCCReportOptions = {\n value: number;\n} | {\n values: IndicatorObject[];\n};\n@CCCommand(IndicatorCommand.Report)\nexport class IndicatorCCReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCReportOptions>) {\n super(options);\n if (\"value\" in options) {\n this.indicator0Value = options.value;\n }\n else if (\"values\" in options) {\n if (options.values.length > MAX_INDICATOR_OBJECTS) {\n throw new ZWaveError(`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.values = options.values;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCReport {\n validatePayload(raw.payload.length >= 1);\n const objCount = raw.payload.length >= 2\n ? raw.payload[1] & 0b11111\n : 0;\n if (objCount === 0) {\n const indicator0Value = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n value: indicator0Value,\n });\n }\n validatePayload(raw.payload.length >= 2 + 3 * objCount);\n const values: IndicatorObject[] = [];\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n const value: IndicatorObject = {\n indicatorId: raw.payload[offset],\n propertyId: raw.payload[offset + 1],\n value: raw.payload[offset + 2],\n };\n values.push(value);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n values,\n });\n // TODO: Think if we want this:\n // // If not all Property IDs are included in the command for the actual Indicator ID,\n // // a controlling node MUST assume non-specified Property IDs values to be 0x00.\n // const indicatorId = this.values[0].indicatorId;\n // const supportedIndicatorProperties =\n // \tvalueDB.getValue<number[]>(\n // \t\tgetSupportedPropertyIDsValueID(\n // \t\t\tthis.endpointIndex,\n // \t\t\tindicatorId,\n // \t\t),\n // \t) ?? [];\n // // Find out which ones are missing\n // const missingIndicatorProperties = supportedIndicatorProperties.filter(\n // \tprop =>\n // \t\t!this.values!.find(({ propertyId }) => prop === propertyId),\n // );\n // // And assume they are 0 (false)\n // for (const missing of missingIndicatorProperties) {\n // \tthis.setIndicatorValue({\n // \t\tindicatorId,\n // \t\tpropertyId: missing,\n // \t\tvalue: 0,\n // \t});\n // }\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.indicator0Value != undefined) {\n if (!this.supportsV2Indicators(ctx)) {\n // Publish the value\n const valueV1 = IndicatorCCValues.valueV1;\n this.setMetadata(ctx, valueV1);\n this.setValue(ctx, valueV1, this.indicator0Value);\n }\n else {\n if (this.isSinglecast()) {\n // Don't!\n ctx.logNode(this.nodeId, {\n message: `ignoring V1 indicator report because the node supports V2 indicators`,\n direction: \"none\",\n endpoint: this.endpointIndex,\n });\n }\n }\n }\n else if (this.values) {\n // Store the simple values first\n for (const value of this.values) {\n this.setIndicatorValue(ctx, value);\n }\n // Then group values into the convenience properties\n const groupedValues = groupByIndicatorId(this.values);\n for (const [indicatorId, values] of groupedValues) {\n // Some devices report all properties it supports in every report,\n // even if it does not support all properties for the given indicator ID.\n // To avoid confusion, we need to filter out the unsupported properties\n const supportedPropertyIDs = this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(indicatorId)) ?? [];\n const filteredValues = values.filter((v) => supportedPropertyIDs.includes(v.propertyId));\n const overrideIndicatorLabel = this\n .getManufacturerDefinedIndicatorLabel(ctx, indicatorId);\n // ... timeout\n const timeout = indicatorObjectsToTimeout(filteredValues);\n if (timeout) {\n let timeoutString = \"\";\n if (timeout?.hours)\n timeoutString += `${timeout.hours}h`;\n if (timeout?.minutes) {\n timeoutString += `${timeout.minutes}m`;\n }\n if (timeout?.seconds) {\n timeoutString += `${timeout.seconds}s`;\n }\n const timeoutValue = IndicatorCCValues.timeout(indicatorId);\n const metadata: ValueMetadata = {\n ...timeoutValue.meta,\n label: getIndicatorLabel(indicatorId, 0x06, // This is actually ignored, but pass a valid ID for clarity\n overrideIndicatorLabel, \"Timeout\"),\n };\n this.setMetadata(ctx, timeoutValue, metadata);\n this.setValue(ctx, timeoutValue, timeoutString);\n }\n }\n }\n return true;\n }\n public readonly indicator0Value: number | undefined;\n public readonly values: IndicatorObject[] | undefined;\n private setIndicatorValue(ctx: GetValueDB, value: IndicatorObject): void {\n // Manufacturer-defined indicators may need a custom label\n const overrideIndicatorLabel = this\n .getManufacturerDefinedIndicatorLabel(ctx, value.indicatorId);\n const metadata = getIndicatorMetadata(value.indicatorId, value.propertyId, overrideIndicatorLabel);\n // Some values need to be converted\n if (metadata.type === \"boolean\") {\n value.value = !!value.value;\n }\n // Only expose the value if it should be user-facing\n if (value.indicatorId === Indicator[\"Node Identify\"]) {\n return;\n }\n const prop = getIndicatorProperty(value.propertyId);\n if (!prop?.exposeAsValue)\n return;\n // And only if it is actually supported and not just reported by accident\n const supportedPropertyIDs = this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(value.indicatorId)) ?? [];\n if (!supportedPropertyIDs.includes(value.propertyId))\n return;\n // Publish the value\n const valueV2 = IndicatorCCValues.valueV2(value.indicatorId, value.propertyId);\n this.setMetadata(ctx, valueV2, metadata);\n this.setValue(ctx, valueV2, value.value);\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.values != undefined) {\n // V2+\n this.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n // Byte 0 is the legacy value\n const objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n this.payload[1] = objCount;\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n this.payload[offset] = this.values[i].indicatorId;\n this.payload[offset + 1] = this.values[i].propertyId;\n const value = this.values[i].value;\n this.payload[offset + 2] = value === true\n ? 0xff\n : value === false\n ? 0x00\n : value;\n }\n }\n else {\n // V1\n this.payload = Bytes.from([this.indicator0Value ?? 0]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.indicator0Value != undefined) {\n message[\"indicator 0 value\"] = this.indicator0Value;\n }\n if (this.values != undefined) {\n message.values = this.values\n .map((v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`)\n .join(\"\");\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCGetOptions {\n indicatorId?: number;\n}\n@CCCommand(IndicatorCommand.Get)\n@expectedCCResponse(IndicatorCCReport)\nexport class IndicatorCCGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCGet {\n let indicatorId: number | undefined;\n if (raw.payload.length > 0) {\n indicatorId = raw.payload[0];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.indicatorId != undefined) {\n this.payload = Bytes.from([this.indicatorId]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCSupportedReportOptions {\n indicatorId: number;\n nextIndicatorId: number;\n supportedProperties: readonly number[];\n}\n@CCCommand(IndicatorCommand.SupportedReport)\nexport class IndicatorCCSupportedReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSupportedReportOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n this.nextIndicatorId = options.nextIndicatorId;\n this.supportedProperties = options.supportedProperties;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSupportedReport {\n validatePayload(raw.payload.length >= 3);\n const indicatorId = raw.payload[0];\n const nextIndicatorId = raw.payload[1];\n const bitMaskLength = raw.payload[2] & 0b11111;\n let supportedProperties: readonly number[];\n if (bitMaskLength === 0) {\n supportedProperties = [];\n }\n else {\n validatePayload(raw.payload.length >= 3 + bitMaskLength);\n // The bit mask starts at 0, but bit 0 is not used\n supportedProperties = parseBitMask(raw.payload.subarray(3, 3 + bitMaskLength), 0).filter((v) => v !== 0);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n nextIndicatorId,\n supportedProperties,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.indicatorId !== 0x00) {\n // Remember which property IDs are supported\n this.setValue(ctx, IndicatorCCValues.supportedPropertyIDs(this.indicatorId), this.supportedProperties);\n }\n return true;\n }\n public readonly indicatorId: number;\n public readonly nextIndicatorId: number;\n public readonly supportedProperties: readonly number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const bitmask = this.supportedProperties.length > 0\n ? encodeBitMask(this.supportedProperties, undefined, 0)\n : new Bytes();\n this.payload = Bytes.concat([\n [\n this.indicatorId,\n this.nextIndicatorId,\n bitmask.length,\n ],\n bitmask,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n \"supported properties\": this.supportedProperties\n .map((id) => getIndicatorProperty(id)?.label\n ?? `Unknown (${num2hex(id)})`)\n .join(\", \"),\n \"next indicator\": getIndicatorName(this.nextIndicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCSupportedGetOptions {\n indicatorId: number;\n}\nfunction testResponseForIndicatorSupportedGet(sent: IndicatorCCSupportedGet, received: IndicatorCCSupportedReport) {\n return sent.indicatorId === 0 || received.indicatorId === sent.indicatorId;\n}\n@CCCommand(IndicatorCommand.SupportedGet)\n@expectedCCResponse(IndicatorCCSupportedReport, testResponseForIndicatorSupportedGet)\nexport class IndicatorCCSupportedGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSupportedGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSupportedGet {\n validatePayload(raw.payload.length >= 1);\n const indicatorId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.indicatorId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCDescriptionReportOptions {\n indicatorId: number;\n description: string;\n}\n@CCCommand(IndicatorCommand.DescriptionReport)\nexport class IndicatorCCDescriptionReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCDescriptionReportOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n this.description = options.description;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCDescriptionReport {\n validatePayload(raw.payload.length >= 2);\n const indicatorId = raw.payload[0];\n const descrptionLength = raw.payload[1];\n validatePayload(raw.payload.length >= 2 + descrptionLength);\n const description: string = raw.payload\n .subarray(2, 2 + descrptionLength)\n .toString(\"utf8\");\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n description,\n });\n }\n public indicatorId: number;\n public description: string;\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.description) {\n this.setValue(ctx, IndicatorCCValues.indicatorDescription(this.indicatorId), this.description);\n }\n return true;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const description = Bytes.from(this.description, \"utf8\");\n this.payload = Bytes.concat([\n [this.indicatorId, description.length],\n description,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"indicator ID\": this.indicatorId,\n description: this.description || \"(none)\",\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCDescriptionGetOptions {\n indicatorId: number;\n}\nfunction testResponseForIndicatorDescriptionGet(sent: IndicatorCCDescriptionGet, received: IndicatorCCDescriptionReport) {\n return received.indicatorId === sent.indicatorId;\n}\n@CCCommand(IndicatorCommand.DescriptionGet)\n@expectedCCResponse(IndicatorCCDescriptionReport, testResponseForIndicatorDescriptionGet)\nexport class IndicatorCCDescriptionGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCDescriptionGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCDescriptionGet {\n validatePayload(raw.payload.length >= 1);\n const indicatorId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.indicatorId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"indicator ID\": this.indicatorId,\n },\n };\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAAgC;AAEhC,kBAAwU;AACxU,oBAAkD;AAClD,kBAA+B;AAC/B,wBAAwB;AACxB,iBAAwJ;AACxJ,0BAAkJ;AAClJ,oCAAgH;AAEhH,mBAAwD;AA0DxD,gCAAkC;AAnElC,MAAM,EAAE,iCAAiC,iCAAiC,wCAAwC,0CAA0C,6CAA6C,+CAA+C,wCAAwC,wCAAwC,2CAA0C,IAAK;AAWvX,SAAS,+BAA+B,aAAmB;AACvD,SAAO,eAAe,OAAQ,eAAe;AACjD;AAFS;AAGT,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB;AAC9B,SAAS,4BAA4B,MAAY;AAC7C,MAAI,CAAC,KAAK;AACN,WAAO;AAEX,QAAM,QAAQ,mBAAmB,KAAK,IAAI;AAC1C,MAAI,CAAC;AACD,WAAO;AACX,QAAM,EAAE,UAAU,YAAY,WAAU,IAAK,MAAM;AACnD,MAAI,CAAC,YAAY,CAAC,cAAc,CAAC;AAC7B,WAAO;AACX,QAAM,MAAwB,CAAA;AAC9B,MAAI,UAAU;AACV,QAAI,YAAQ,mBAAM,SAAS,UAAU,EAAE,GAAG,GAAG,GAAG;EACpD;AACA,MAAI,YAAY;AACZ,QAAI,cAAU,mBAAM,SAAS,YAAY,EAAE,GAAG,GAAG,GAAG;EACxD;AACA,MAAI,YAAY;AACZ,QAAI,cAAU,uBAAM,qBAAQ,WAAW,UAAU,GAAG,CAAC,GAAG,GAAG,KAAK;EACpE;AACA,SAAO;AACX;AArBS;AAsBT,SAAS,mBAAmB,QAAyB;AACjD,QAAM,MAAM,oBAAI,IAAG;AACnB,aAAW,SAAS,QAAQ;AACxB,QAAI,CAAC,IAAI,IAAI,MAAM,WAAW,GAAG;AAC7B,UAAI,IAAI,MAAM,aAAa,CAAA,CAAE;IACjC;AACA,QAAI,IAAI,MAAM,WAAW,EAAG,KAAK,KAAK;EAC1C;AACA,SAAO;AACX;AATS;AAUT,SAAS,0BAA0B,QAAyB;AACxD,QAAM,gBAAgB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAM,GAAM,GAAM,CAAI,EAAE,SAAS,EAAE,UAAU,CAAC;AAC1F,MAAI,CAAC,cAAc;AACf,WAAO;AACX,QAAM,QAAS,cAAc,KAAK,CAAC,MAAM,EAAE,eAAe,EAAI,GAAG,SAC1D;AACP,QAAM,UAAW,cAAc,KAAK,CAAC,MAAM,EAAE,eAAe,CAAI,GAAG,SAC5D;AACP,QAAM,cAAU,mBAAO,cAAc,KAAK,CAAC,MAAM,EAAE,eAAe,CAAI,GAChE,SAAoB,GAAG,GAAG,EAAE,QAC5B,mBAAO,cAAc,KAAK,CAAC,MAAM,EAAE,eAAe,CAAI,GAClD,SAAoB,GAAG,GAAG,EAAE,IAC5B;AACV,SAAO;IACH;IACA;IACA;;AAER;AAlBS;AAwBT,SAAS,qBAAqB,aAAwB,YAAoB,wBAA+B;AACrG,QAAM,QAAQ,kBAAkB,aAAa,YAAY,sBAAsB;AAC/E,QAAM,WAAO,kCAAqB,UAAU;AAC5C,QAAM,eAAe,4CAAkB,QAAQ,aAAa,UAAU,EAAE;AACxE,MAAI,CAAC,MAAM;AACP,WAAO;MACH,GAAG;MACH,GAAG,0BAAc;MACjB;;EAER,OACK;AACD,QAAI,KAAK,SAAS,WAAW;AACzB,aAAO;QACH,GAAG;QACH,GAAG,0BAAc;QACjB;QACA,aAAa,KAAK;QAClB,UAAU,CAAC,KAAK;;IAExB,OACK;AAED,aAAO;QACH,GAAG;QACH,GAAG,0BAAc;QACjB;QACA,aAAa,KAAK;QAClB,KAAK,KAAK;QACV,KAAK,KAAK;QACV,UAAU,CAAC,KAAK;;IAExB;EACJ;AACJ;AAlCS;AAmCT,SAAS,iBAAiB,aAA+B;AACrD,MAAI,aAAa;AACb,eAAO,iCAAkB,uBAAW,WAAW;EACnD,OACK;AACD,WAAO;EACX;AACJ;AAPS;AAST,SAAS,kBAAkB,aAAqB,YAAoB,wBAAiC,uBAA8B;AAC/H,QAAM,cAAc,0BAA0B,iBAAiB,WAAW;AAE1E,QAAM,WAAO,kCAAqB,UAAU;AAC5C,MAAI,CAAC;AACD,WAAO;AAGX,MAAI,eAAe,sBAAU,eAAe,KACrC,eAAe,sBAAU,sBAAsB,MAC9C,eAAe,KACZ,eAAe,KACf,wBACT;AACE,QAAI,MAAe,sBAAkB,WAAW;AAEhD,QAAI,uBAAuB;AACvB,aAAO,MAAM,qBAAqB;IACtC;AACA,WAAO;EACX;AAEA,SAAO,GAAG,WAAW,MAAM,yBAAyB,KAAK,KAAK;AAClE;AAvBS;AAwBH,SAAU,2BAA2B,aAAqB,YAAkB;AAI9E,QAAM,WAAO,kCAAqB,UAAU;AAC5C,MAAI,QAAQ,CAAC,KAAK,eAAe;AAC7B,WAAO;EACX;AAEA,SAAO;AACX;AAVgB;IAYH,kBAAc,MAAA;8BAD1B,mCAAI,2BAAe,SAAS,CAAC;;;;oBACM;;;;;;;;;;;sCAAA,YAAK;WAAA;;;;;;;;yBA4EpC,gCAA+B,CAAE;yBAejC,gCAA+B,CAAE;gCAmBjC,uCAAsC,CAAE;kCAUxC,yCAAwC,CAAE;qCAwB1C,4CAA2C,CAAE;uCAY7C,8CAA6C,CAAE;gCA2C/C,uCAAsC,CAAE;gCA8ExC,uCAAsC,CAAE;oCAOxC,2CAA0C,CAAE;AA/M7C,qCAAA,MAAA,MAAA,iBAAA,EAAA,MAAA,UAAA,MAAA,OAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,SAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,KAAb,OAAgB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAehB,qCAAA,MAAA,MAAA,iBAAA,EAAA,MAAA,UAAA,MAAA,OAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,SAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,KAAb,OAAgB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAmBhB,qCAAA,MAAA,MAAA,wBAAA,EAAA,MAAA,UAAA,MAAA,cAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,gBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,YAAb,OAAuB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAUvB,qCAAA,MAAA,MAAA,0BAAA,EAAA,MAAA,UAAA,MAAA,gBAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,kBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,cAAb,OAAyB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAwBzB,qCAAA,MAAA,MAAA,6BAAA,EAAA,MAAA,UAAA,MAAA,mBAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,qBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,iBAAb,OAA4B,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAY5B,qCAAA,MAAA,MAAA,+BAAA,EAAA,MAAA,UAAA,MAAA,qBAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,uBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,mBAAb,OAA8B,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AA2C9B,qCAAA,MAAA,MAAA,wBAAA,EAAA,MAAA,UAAA,MAAA,cAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,gBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,YAAb,OAAuB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AA8EvB,qCAAA,MAAA,MAAA,wBAAA,EAAA,MAAA,UAAA,MAAA,cAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,gBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,YAAb,OAAuB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAOvB,qCAAA,MAAA,MAAA,4BAAA,EAAA,MAAA,UAAA,MAAA,kBAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,oBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,gBAAb,OAA2B,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AA7R/B,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACF,gBAAgB,KAAqB;AACxC,cAAQ,KAAK;QACT,KAAK,8BAAiB;QACtB,KAAK,8BAAiB;AAClB,iBAAO,KAAK,aAAY;QAC5B,KAAK,8BAAiB;AAClB,iBAAO;;QACX,KAAK,8BAAiB;QACtB,KAAK,8BAAiB;AAClB,iBAAO,KAAK,WAAW,KAAK,KAAK,aAAY;QACjD,KAAK,8BAAiB;QACtB,KAAK,8BAAiB;AAClB,iBAAO,KAAK,WAAW,KAAK,KAAK,aAAY;MACrD;AACA,aAAO,MAAM,gBAAgB,GAAG;IACpC;IACA,KAAwB,oBAAS,IAAC;AAC9B,aAAO,eAAsC,EAAE,UAAU,YAAW,GAAI,OAAK;AACzE,cAAM,UAAmB;UACrB,cAAc,KAAK;UACnB,UAAU,KAAK,SAAS;UACxB;UACA;;AAEJ,YAAI,aAAa,SAAS;AAEtB,cAAI,OAAO,UAAU,UAAU;AAC3B,gDAAoB,KAAK,MAAM,UAAU,UAAU,OAAO,KAAK;UACnE;AACA,iBAAO,KAAK,IAAI,KAAK;QACzB,WACS,4CAAkB,QAAQ,GAAG,OAAO,GAAG;AAC5C,gBAAM,cAAc;AACpB,gBAAM,aAAa;AACnB,gBAAM,eAAe,qBAAqB,aAAa,UAAU,EAAE;AAEnE,cAAI,OAAO,UAAU,cAAc;AAC/B,gDAAoB,KAAK,MAAM,UAAU,cAAc,OAAO,KAAK;UACvE;AACA,iBAAO,KAAK,IAAI;YACZ;cACI;cACA;cACA;;WAEP;QACL,WACS,4CAAkB,QAAQ,GAAG,OAAO,GAAG;AAC5C,gBAAM,cAAc;AACpB,cAAI,OAAO,UAAU,UAAU;AAC3B,gDAAoB,KAAK,MAAM,UAAU,UAAU,OAAO,KAAK;UACnE;AACA,iBAAO,KAAK,WAAW,aAAa,KAAK;QAC7C,WACS,4CAAkB,SAAS,GAAG,OAAO,GAAG;AAC7C,cAAI,OAAO,UAAU,WAAW;AAC5B,gDAAoB,KAAK,MAAM,UAAU,WAAW,OAAO,KAAK;UACpE;AACA,iBAAO,KAAK,SAAQ;QACxB,OACK;AACD,mDAAyB,KAAK,MAAM,QAAQ;QAChD;MACJ;IACJ;IACA,KAAe,qBAAU,IAAC;AACtB,aAAO,eAAsC,EAAE,SAAQ,GAAE;AACrD,YAAI,aAAa;AACb,iBAAO,KAAK,IAAG;AACnB,YAAI,OAAO,aAAa,UAAU;AAC9B,iBAAO,KAAK,IAAI,QAAQ;QAC5B;AACA,iDAAyB,KAAK,MAAM,QAAQ;MAChD;IACJ;IAEO,MAAM,IAAI,aAAoB;AACjC,WAAK,sBAAsB,+BAAkB,8BAAiB,GAAG;AACjE,YAAM,KAAK,IAAI,eAAe;QAC1B,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;OACH;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAA+B,IAAI,KAAK,cAAc;AACvF,UAAI,CAAC;AACD;AACJ,UAAI,SAAS;AACT,eAAO,SAAS;AACpB,aAAO,SAAS;IACpB;IAEO,MAAM,IAAI,OAAiC;AAC9C,WAAK,sBAAsB,+BAAkB,8BAAiB,GAAG;AACjE,UAAI,KAAK,YAAY,KAAK,OAAO,UAAU,UAAU;AACjD,cAAM,IAAI,uBAAW,QAAQ,KAAK,SAC7B,MAAgB,yEAAyE,4BAAgB,gBAAgB;MAClI,WACS,KAAK,WAAW,SAClB,2BAAQ,KAAK,KACb,MAAM,SAAS,uBAAuB;AACzC,cAAM,IAAI,uBAAW,QAAQ,qBAAqB,2CAA2C,4BAAgB,gBAAgB;MACjI;AACA,YAAM,KAAK,IAAI,eAAe;QAC1B,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B,GAAI,OAAO,UAAU,WAAW,EAAE,MAAK,IAAK,EAAE,QAAQ,MAAK;OAC9D;AACD,aAAO,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACxD;IAEO,MAAM,WAAW,SAAiC;AACrD,WAAK,sBAAsB,+BAAkB,8BAAiB,MAAM;AACpE,YAAM,KAAK,IAAI,kBAAkB;QAC7B,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B,GAAG;OACN;AACD,YAAM,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACvD;IAEO,MAAM,aAAa,aAAmB;AAKzC,WAAK,sBAAsB,+BAAkB,8BAAiB,YAAY;AAC1E,YAAM,KAAK,IAAI,wBAAwB;QACnC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;OACH;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAAwC,IAAI,KAAK,cAAc;AAChG,UAAI,UAAU;AACV,eAAO;;UAEH,GAAI,gBAAgB,IACd,EAAE,aAAa,SAAS,YAAW,IACnC;UACN,qBAAqB,SAAS;UAC9B,iBAAiB,SAAS;;MAElC;IACJ;IAEO,MAAM,gBAAgB,aAAqB,qBAAwC,iBAAuB;AAC7G,WAAK,sBAAsB,+BAAkB,8BAAiB,eAAe;AAC7E,YAAM,KAAK,IAAI,2BAA2B;QACtC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;QACA;QACA;OACH;AACD,YAAM,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACvD;IAEO,MAAM,kBAAkB,aAAqB,aAAmB;AACnE,WAAK,sBAAsB,+BAAkB,8BAAiB,iBAAiB;AAC/E,YAAM,KAAK,IAAI,6BAA6B;QACxC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;QACA;OACH;AACD,YAAM,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACvD;;;;IAIO,MAAM,WAAQ;AACjB,UAAI,KAAK,UAAU,GAAG;AAClB,cAAM,IAAI,uBAAW,8EAA8E,4BAAgB,eAAe;MACtI;AACA,aAAO,KAAK,IAAI;QACZ;UACI,aAAa;UACb,YAAY;UACZ,OAAO;;QAEX;UACI,aAAa;UACb,YAAY;UACZ,OAAO;;QAEX;UACI,aAAa;UACb,YAAY;UACZ,OAAO;;OAEd;IACL;;;;;;;;IASO,MAAM,WAAW,aAAqB,SAA8C;AACvF,WAAK,uBAAuB,KAAK,QAAQ;AACzC,UAAI,KAAK,UAAU,GAAG;AAClB,cAAM,IAAI,uBAAW,gFAAgF,4BAAgB,eAAe;MACxI;AACA,UAAI,OAAO,YAAY,UAAU;AAC7B,YAAI,YAAY,IAAI;AAChB,oBAAU;QACd,OACK;AACD,gBAAM,SAAS,4BAA4B,OAAO;AAClD,cAAI,CAAC,QAAQ;AACT,kBAAM,IAAI,uBAAW,uBAAuB,OAAO,kBAAkB,4BAAgB,gBAAgB;UACzG;AACA,oBAAU;QACd;MACJ;AACA,YAAM,uBAAuB,YAAY,8BAA8B,KAAK,MAAM,KAAK,UAAU,WAAW;AAC5G,YAAM,UAA6B,CAAA;AACnC,UAAI,SAAS;AACT,cAAM,QAAQ,QAAQ,SAAS;AAC/B,cAAM,UAAU,QAAQ,WAAW;AACnC,cAAM,UAAU,KAAK,MAAM,QAAQ,WAAW,CAAC;AAC/C,cAAM,aAAa,KAAK,OAAQ,QAAQ,WAAW,KAAK,IAAK,GAAG;AAChE,YAAI,OAAO;AACP,cAAI,CAAC,sBAAsB,SAAS,EAAI,GAAG;AACvC,kBAAM,IAAI,uBAAW,iBAAiB,WAAW,kDAAkD,4BAAgB,gBAAgB;UACvI;AACA,kBAAQ,KAAK;YACT;YACA,YAAY;YACZ,OAAO;WACV;QACL;AACA,YAAI,SAAS;AACT,cAAI,CAAC,sBAAsB,SAAS,CAAI,GAAG;AACvC,kBAAM,IAAI,uBAAW,iBAAiB,WAAW,oDAAoD,4BAAgB,gBAAgB;UACzI;AACA,kBAAQ,KAAK;YACT;YACA,YAAY;YACZ,OAAO;WACV;QACL;AACA,YAAI,SAAS;AACT,cAAI,CAAC,sBAAsB,SAAS,CAAI,GAAG;AACvC,kBAAM,IAAI,uBAAW,iBAAiB,WAAW,oDAAoD,4BAAgB,gBAAgB;UACzI;AACA,kBAAQ,KAAK;YACT;YACA,YAAY;YACZ,OAAO;WACV;QACL;AACA,YAAI,YAAY;AACZ,cAAI,CAAC,sBAAsB,SAAS,CAAI,GAAG;AACvC,kBAAM,IAAI,uBAAW,iBAAiB,WAAW,0DAA0D,4BAAgB,gBAAgB;UAC/I;AACA,kBAAQ,KAAK;YACT;YACA,YAAY;YACZ,OAAO;WACV;QACL;MACJ;AACA,UAAI,CAAC,QAAQ,QAAQ;AACjB,gBAAQ,KAAK,IAAI,wBAAwB,CAAA,GAAI,IAAI,CAAC,OAAO;UACrD;UACA,YAAY;UACZ,OAAO;UACT,CAAC;MACP;AACA,aAAO,KAAK,IAAI,OAAO;IAC3B;;;;IAKO,MAAM,WAAW,aAAmB;AACvC,YAAM,SAAS,MAAM,KAAK,IAAI,WAAW;AACzC,UAAI,KAAC,2BAAQ,MAAM;AACf;AACJ,aAAO,0BAA0B,MAAM;IAC3C;IAEO,MAAM,eAAe,aAAmB;AAC3C,WAAK,sBAAsB,+BAAkB,8BAAiB,cAAc;AAC5E,YAAM,KAAK,IAAI,0BAA0B;QACrC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;OACH;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAA0C,IAAI,KAAK,cAAc;AAClG,aAAO,UAAU;IACrB;;;AAtSS,0CAAA,MAAA,0BAAA;;;;;IA2SA,eAAW,MAAA;8BAHvB,4CAAa,2BAAe,SAAS,OACrC,kDAAmB,CAAC,OACpB,wCAAS,2CAAiB,CAAC;;;;oBACK;mCAAA,YAAY;WAAA;;;;;;;;AAA7C,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IAEF,MAAM,UAAU,KAAqB;AACxC,YAAM,OAAO,KAAK,QAAQ,GAAG;AAC7B,YAAM,WAAW,KAAK,YAAY,GAAG;AACrC,YAAM,MAAM,iBAAM,OAAO,2BAAe,WAAW,KAAK,QAAQ,EAAE,YAAY;QAC1E,UAAU,4BAAgB;OAC7B;AACD,UAAI,QAAQ,KAAK,IAAI;QACjB,UAAU,KAAK;QACf,SAAS,gBAAgB,KAAK,MAAM;QACpC,WAAW;OACd;AACD,UAAI,IAAI,UAAU,GAAG;AACjB,YAAI,QAAQ,KAAK,IAAI;UACjB,UAAU,KAAK;UACf,SAAS;UACT,WAAW;SACd;AAED,YAAI,QAAQ;AACZ,cAAM,wBAAkC,CAAA;AACxC,WAAG;AACC,gBAAM,oBAAoB,MAAM,IAAI,aAAa,KAAK;AACtD,cAAI,CAAC,mBAAmB;AACpB,gBAAI,QAAQ,KAAK,IAAI;cACjB,UAAU,KAAK;cACf,SAAS;cACT,OAAO;aACV;AACD;UACJ;AACA,cAAI,kBAAkB,oBAAoB,SAAS,GAAG;AAClD,kCAAsB,KAAK,kBAAkB,eAAe,KAAK;UACrE;AACA,kBAAQ,kBAAkB;QAC9B,SAAS,UAAU;AAEnB,aAAK,SAAS,KAAK,4CAAkB,uBAAuB,qBAAqB;AACjF,cAAM,aAAa,4BAA4B,sBAAsB,KAAK,IAAI,CAAC;AAC/E,YAAI,QAAQ,KAAK,IAAI;UACjB,UAAU,KAAK;UACf,SAAS;UACT,WAAW;SACd;AACD,YAAI,IAAI,WAAW,GAAG;AAClB,gBAAM,kCAAkC,sBACnC,OAAO,CAAC,OAAO,+BAA+B,EAAE,CAAC;AACtD,cAAI,gCAAgC,SAAS,GAAG;AAC5C,gBAAI,QAAQ,KAAK,IAAI;cACjB,UAAU,KAAK;cACf,SAAS;cACT,WAAW;aACd;AACD,uBAAW,MAAM,iCAAiC;AAC9C,oBAAM,IAAI,eAAe,EAAE;YAC/B;UACJ;QACJ;MACJ;AAEA,YAAM,KAAK,cAAc,GAAG;AAE5B,WAAK,qBAAqB,KAAK,IAAI;IACvC;IACO,MAAM,cAAc,KAA2B,SAA8B;AAChF,YAAM,OAAO,KAAK,QAAQ,GAAG;AAC7B,YAAM,WAAW,KAAK,YAAY,GAAG;AACrC,YAAM,MAAM,iBAAM,OAAO,2BAAe,WAAW,KAAK,QAAQ,EAAE,YAAY;QAC1E,UAAU,SAAS,YAAY,4BAAgB;OAClD;AACD,UAAI,IAAI,YAAY,GAAG;AACnB,YAAI,QAAQ,KAAK,IAAI;UACjB,UAAU,KAAK;UACf,SAAS;UACT,WAAW;SACd;AACD,cAAM,IAAI,IAAG;MACjB,OACK;AACD,cAAM,wBAAkC,KAAK,SAAS,KAAK,4CAAkB,qBAAqB,KAAK,CAAA;AACvG,mBAAW,eAAe,uBAAuB;AAC7C,cAAI,QAAQ,KAAK,IAAI;YACjB,UAAU,KAAK;YACf,SAAS,gDAA4C,uBAAQ,WAAW,CAAC;YACzE,WAAW;WACd;AACD,gBAAM,IAAI,IAAI,WAAW;QAC7B;MACJ;IACJ;IACO,qBAAqB,KAAiB,UAA2B,aAA4B;AAChG,UAAI,aAAa,SAAS;AAEtB,eAAO;MACX,WACS,OAAO,aAAa,YACtB,OAAO,gBAAgB,UAAU;AAEpC,cAAM,WAAO,kCAAqB,WAAW;AAC7C,YAAI;AACA,iBAAO,KAAK;MACpB,WACS,OAAO,aAAa,YACtB,gBAAgB,WAAW;AAC9B,eAAO;MACX;AACA,aAAO,MAAM,qBAAqB,KAAK,UAAU,WAAW;IAChE;IACO,kBAAkB,KAAiB,UAA2B,aAA6B;AAC9F,UAAI,OAAO,aAAa,UAAU;AAC9B,YAAI,OAAO,gBAAgB,YAAY,gBAAgB,WAAW;AAE9D,cAAI,YAAY;AACZ,mBAAO,sBAAU,QAAQ;QACjC;MACJ;AACA,aAAO,MAAM,kBAAkB,KAAK,UAAU,WAAW;IAC7D;IACU,qBAAqB,KAAe;AAE1C,YAAM,wBAAwB,KAAK,SAAmB,KAAK,4CAAkB,qBAAqB;AAClG,UAAI,CAAC,uBAAuB;AACxB,eAAO;AAEX,aAAO,sBAAsB,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,SAAmB,KAAK,4CAAkB,qBAAqB,WAAW,CAAC,GAAG,MAAM;IAClJ;IACU,qCAAqC,KAAiB,aAAmB;AAC/E,UAAI,+BAA+B,WAAW,GAAG;AAC7C,eAAO,KAAK,SAAS,KAAK,4CAAkB,qBAAqB,WAAW,CAAC;MACjF;IACJ;IACO,OAAO,8BAA8B,KAAiB,UAAsB,aAAmB;AAClG,aAAO,IACF,WAAW,SAAS,MAAM,EAC1B,SAAS,4CAAkB,qBAAqB,WAAW,EAAE,SAAS,SAAS,KAAK,CAAC;IAC9F;;;;IAgBS,kBAAc,MAAA;8BAF1B,yCAAU,8BAAiB,GAAG,OAC9B,8CAAc,CAAE;;;;oBACmB;sCAAA,YAAW;WAAA;;;;;;;;AAA/C,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA2C;AAC1D,YAAM,OAAO;AACb,UAAI,WAAW,SAAS;AACpB,aAAK,kBAAkB,QAAQ;MACnC,OACK;AACD,aAAK,SAAS,QAAQ;MAC1B;IACJ;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,WAAW,IAAI,QAAQ,UAAU,IACjC,IAAI,QAAQ,CAAC,IAAI,KACjB;AACN,UAAI,aAAa,GAAG;AAChB,cAAM,kBAAkB,IAAI,QAAQ,CAAC;AACrC,eAAO,IAAI,KAAK;UACZ,QAAQ,IAAI;UACZ,OAAO;SACV;MACL;AACA,uCAAgB,IAAI,QAAQ,UAAU,IAAI,IAAI,QAAQ;AACtD,YAAM,SAA4B,CAAA;AAClC,eAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,cAAM,SAAS,IAAI,IAAI;AACvB,cAAM,QAAyB;UAC3B,aAAa,IAAI,QAAQ,MAAM;UAC/B,YAAY,IAAI,QAAQ,SAAS,CAAC;UAClC,OAAO,IAAI,QAAQ,SAAS,CAAC;;AAEjC,eAAO,KAAK,KAAK;MACrB;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,UAAI,KAAK,UAAU,QAAW;AAE1B,aAAK,UAAU,oBAAM,MAAM,IAAI,IAAI,KAAK,OAAO,QAAQ,CAAC;AAExD,cAAM,WAAW,KAAK,OAAO,SAAS;AACtC,aAAK,QAAQ,CAAC,IAAI;AAClB,iBAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,gBAAM,SAAS,IAAI,IAAI;AACvB,eAAK,QAAQ,MAAM,IAAI,KAAK,OAAO,CAAC,EAAE;AACtC,eAAK,QAAQ,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAC1C,gBAAM,QAAQ,KAAK,OAAO,CAAC,EAAE;AAC7B,eAAK,QAAQ,SAAS,CAAC,IAAI,UAAU,OAC/B,MACA,UAAU,QACN,IACA;QACd;MACJ,OACK;AAED,aAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,mBAAmB,CAAC,CAAC;MACzD;AACA,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,YAAM,UAAyB,CAAA;AAC/B,UAAI,KAAK,mBAAmB,QAAW;AACnC,gBAAQ,mBAAmB,IAAI,KAAK;MACxC;AACA,UAAI,KAAK,UAAU,QAAW;AAC1B,gBAAQ,SAAS,KAAK,OACjB,IAAI,CAAC,MAAM;oBACX,EAAE,WAAW;iBACb,EAAE,UAAU;iBACZ,EAAE,KAAK,EAAE,EACT,KAAK,EAAE;MAChB;AACA,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB;;IAER;;;;IASS,qBAAiB,MAAA;8BAD7B,yCAAU,8BAAiB,MAAM,CAAC;;;;oBACI;yCAAA,YAAW;WAAA;;;;;;;;AAAlD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA8C;AAC7D,YAAM,OAAO;AACb,UAAI,WAAW,SAAS;AACpB,aAAK,kBAAkB,QAAQ;MACnC,WACS,YAAY,SAAS;AAC1B,YAAI,QAAQ,OAAO,SAAS,uBAAuB;AAC/C,gBAAM,IAAI,uBAAW,QAAQ,qBAAqB,2CAA2C,4BAAgB,gBAAgB;QACjI;AACA,aAAK,SAAS,QAAQ;MAC1B;IACJ;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,WAAW,IAAI,QAAQ,UAAU,IACjC,IAAI,QAAQ,CAAC,IAAI,KACjB;AACN,UAAI,aAAa,GAAG;AAChB,cAAM,kBAAkB,IAAI,QAAQ,CAAC;AACrC,eAAO,IAAI,KAAK;UACZ,QAAQ,IAAI;UACZ,OAAO;SACV;MACL;AACA,uCAAgB,IAAI,QAAQ,UAAU,IAAI,IAAI,QAAQ;AACtD,YAAM,SAA4B,CAAA;AAClC,eAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,cAAM,SAAS,IAAI,IAAI;AACvB,cAAM,QAAyB;UAC3B,aAAa,IAAI,QAAQ,MAAM;UAC/B,YAAY,IAAI,QAAQ,SAAS,CAAC;UAClC,OAAO,IAAI,QAAQ,SAAS,CAAC;;AAEjC,eAAO,KAAK,KAAK;MACrB;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IAyBL;IACO,cAAc,KAAyB;AAC1C,UAAI,CAAC,MAAM,cAAc,GAAG;AACxB,eAAO;AACX,UAAI,KAAK,mBAAmB,QAAW;AACnC,YAAI,CAAC,KAAK,qBAAqB,GAAG,GAAG;AAEjC,gBAAM,UAAU,4CAAkB;AAClC,eAAK,YAAY,KAAK,OAAO;AAC7B,eAAK,SAAS,KAAK,SAAS,KAAK,eAAe;QACpD,OACK;AACD,cAAI,KAAK,aAAY,GAAI;AAErB,gBAAI,QAAQ,KAAK,QAAQ;cACrB,SAAS;cACT,WAAW;cACX,UAAU,KAAK;aAClB;UACL;QACJ;MACJ,WACS,KAAK,QAAQ;AAElB,mBAAW,SAAS,KAAK,QAAQ;AAC7B,eAAK,kBAAkB,KAAK,KAAK;QACrC;AAEA,cAAM,gBAAgB,mBAAmB,KAAK,MAAM;AACpD,mBAAW,CAAC,aAAa,MAAM,KAAK,eAAe;AAI/C,gBAAM,uBAAuB,KAAK,SAAmB,KAAK,4CAAkB,qBAAqB,WAAW,CAAC,KAAK,CAAA;AAClH,gBAAM,iBAAiB,OAAO,OAAO,CAAC,MAAM,qBAAqB,SAAS,EAAE,UAAU,CAAC;AACvF,gBAAM,yBAAyB,KAC1B,qCAAqC,KAAK,WAAW;AAE1D,gBAAM,UAAU,0BAA0B,cAAc;AACxD,cAAI,SAAS;AACT,gBAAI,gBAAgB;AACpB,gBAAI,SAAS;AACT,+BAAiB,GAAG,QAAQ,KAAK;AACrC,gBAAI,SAAS,SAAS;AAClB,+BAAiB,GAAG,QAAQ,OAAO;YACvC;AACA,gBAAI,SAAS,SAAS;AAClB,+BAAiB,GAAG,QAAQ,OAAO;YACvC;AACA,kBAAM,eAAe,4CAAkB,QAAQ,WAAW;AAC1D,kBAAM,WAA0B;cAC5B,GAAG,aAAa;cAChB,OAAO;gBAAkB;gBAAa;;gBACtC;gBAAwB;cAAS;;AAErC,iBAAK,YAAY,KAAK,cAAc,QAAQ;AAC5C,iBAAK,SAAS,KAAK,cAAc,aAAa;UAClD;QACJ;MACJ;AACA,aAAO;IACX;IACgB;IACA;IACR,kBAAkB,KAAiB,OAAsB;AAE7D,YAAM,yBAAyB,KAC1B,qCAAqC,KAAK,MAAM,WAAW;AAChE,YAAM,WAAW,qBAAqB,MAAM,aAAa,MAAM,YAAY,sBAAsB;AAEjG,UAAI,SAAS,SAAS,WAAW;AAC7B,cAAM,QAAQ,CAAC,CAAC,MAAM;MAC1B;AAEA,UAAI,MAAM,gBAAgB,sBAAU,eAAe,GAAG;AAClD;MACJ;AACA,YAAM,WAAO,kCAAqB,MAAM,UAAU;AAClD,UAAI,CAAC,MAAM;AACP;AAEJ,YAAM,uBAAuB,KAAK,SAAmB,KAAK,4CAAkB,qBAAqB,MAAM,WAAW,CAAC,KAAK,CAAA;AACxH,UAAI,CAAC,qBAAqB,SAAS,MAAM,UAAU;AAC/C;AAEJ,YAAM,UAAU,4CAAkB,QAAQ,MAAM,aAAa,MAAM,UAAU;AAC7E,WAAK,YAAY,KAAK,SAAS,QAAQ;AACvC,WAAK,SAAS,KAAK,SAAS,MAAM,KAAK;IAC3C;IACO,UAAU,KAAsB;AACnC,UAAI,KAAK,UAAU,QAAW;AAE1B,aAAK,UAAU,oBAAM,MAAM,IAAI,IAAI,KAAK,OAAO,QAAQ,CAAC;AAExD,cAAM,WAAW,KAAK,OAAO,SAAS;AACtC,aAAK,QAAQ,CAAC,IAAI;AAClB,iBAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,gBAAM,SAAS,IAAI,IAAI;AACvB,eAAK,QAAQ,MAAM,IAAI,KAAK,OAAO,CAAC,EAAE;AACtC,eAAK,QAAQ,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAC1C,gBAAM,QAAQ,KAAK,OAAO,CAAC,EAAE;AAC7B,eAAK,QAAQ,SAAS,CAAC,IAAI,UAAU,OAC/B,MACA,UAAU,QACN,IACA;QACd;MACJ,OACK;AAED,aAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,mBAAmB,CAAC,CAAC;MACzD;AACA,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,YAAM,UAAyB,CAAA;AAC/B,UAAI,KAAK,mBAAmB,QAAW;AACnC,gBAAQ,mBAAmB,IAAI,KAAK;MACxC;AACA,UAAI,KAAK,UAAU,QAAW;AAC1B,gBAAQ,SAAS,KAAK,OACjB,IAAI,CAAC,MAAM;oBACX,EAAE,WAAW;iBACb,EAAE,UAAU;iBACZ,EAAE,KAAK,EAAE,EACT,KAAK,EAAE;MAChB;AACA,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB;;IAER;;;;IAQS,kBAAc,MAAA;8BAF1B,yCAAU,8BAAiB,GAAG,OAC9B,kDAAmB,iBAAiB,CAAC;;;;oBACF;sCAAA,YAAW;WAAA;;;;;;;;AAA/C,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA2C;AAC1D,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,UAAI;AACJ,UAAI,IAAI,QAAQ,SAAS,GAAG;AACxB,sBAAc,IAAI,QAAQ,CAAC;MAC/B;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,UAAI,KAAK,eAAe,QAAW;AAC/B,aAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,CAAC;MAChD;AACA,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,WAAW,iBAAiB,KAAK,WAAW;;;IAGxD;;;;IASS,8BAA0B,MAAA;8BADtC,yCAAU,8BAAiB,eAAe,CAAC;;;;oBACI;kDAAA,YAAW;WAAA;;;;;;;;AAA3D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAuD;AACtE,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;AAC3B,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,sBAAsB,QAAQ;IACvC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,cAAc,IAAI,QAAQ,CAAC;AACjC,YAAM,kBAAkB,IAAI,QAAQ,CAAC;AACrC,YAAM,gBAAgB,IAAI,QAAQ,CAAC,IAAI;AACvC,UAAI;AACJ,UAAI,kBAAkB,GAAG;AACrB,8BAAsB,CAAA;MAC1B,OACK;AACD,yCAAgB,IAAI,QAAQ,UAAU,IAAI,aAAa;AAEvD,kCAAsB,0BAAa,IAAI,QAAQ,SAAS,GAAG,IAAI,aAAa,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,MAAM,CAAC;MAC3G;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;QACA;OACH;IACL;IACO,cAAc,KAAyB;AAC1C,UAAI,CAAC,MAAM,cAAc,GAAG;AACxB,eAAO;AACX,UAAI,KAAK,gBAAgB,GAAM;AAE3B,aAAK,SAAS,KAAK,4CAAkB,qBAAqB,KAAK,WAAW,GAAG,KAAK,mBAAmB;MACzG;AACA,aAAO;IACX;IACgB;IACA;IACA;IACT,UAAU,KAAsB;AACnC,YAAM,UAAU,KAAK,oBAAoB,SAAS,QAC5C,2BAAc,KAAK,qBAAqB,QAAW,CAAC,IACpD,IAAI,oBAAK;AACf,WAAK,UAAU,oBAAM,OAAO;QACxB;UACI,KAAK;UACL,KAAK;UACL,QAAQ;;QAEZ;OACH;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,WAAW,iBAAiB,KAAK,WAAW;UAC5C,wBAAwB,KAAK,oBACxB,IAAI,CAAC,WAAO,kCAAqB,EAAE,GAAG,SACpC,gBAAY,uBAAQ,EAAE,CAAC,GAAG,EAC5B,KAAK,IAAI;UACd,kBAAkB,iBAAiB,KAAK,eAAe;;;IAGnE;;;;AAMJ,SAAS,qCAAqC,MAA+B,UAAoC;AAC7G,SAAO,KAAK,gBAAgB,KAAK,SAAS,gBAAgB,KAAK;AACnE;AAFS;IAKI,2BAAuB,MAAA;8BAFnC,yCAAU,8BAAiB,YAAY,OACvC,kDAAmB,4BAA4B,oCAAoC,CAAC;;;;oBACxC;+CAAA,YAAW;WAAA;;;;;;;;AAAxD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAoD;AACnE,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,cAAc,IAAI,QAAQ,CAAC;AACjC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,CAAC;AAC5C,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,WAAW,iBAAiB,KAAK,WAAW;;;IAGxD;;;;IAQS,gCAA4B,MAAA;8BADxC,yCAAU,8BAAiB,iBAAiB,CAAC;;;;oBACI;oDAAA,YAAW;WAAA;;;;;;;;AAA7D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAyD;AACxE,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;AAC3B,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,cAAc,IAAI,QAAQ,CAAC;AACjC,YAAM,mBAAmB,IAAI,QAAQ,CAAC;AACtC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,gBAAgB;AAC1D,YAAM,cAAsB,IAAI,QAC3B,SAAS,GAAG,IAAI,gBAAgB,EAChC,SAAS,MAAM;AACpB,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,cAAc,KAAyB;AAC1C,UAAI,CAAC,MAAM,cAAc,GAAG;AACxB,eAAO;AACX,UAAI,KAAK,aAAa;AAClB,aAAK,SAAS,KAAK,4CAAkB,qBAAqB,KAAK,WAAW,GAAG,KAAK,WAAW;MACjG;AACA,aAAO;IACX;IACO,UAAU,KAAsB;AACnC,YAAM,cAAc,oBAAM,KAAK,KAAK,aAAa,MAAM;AACvD,WAAK,UAAU,oBAAM,OAAO;QACxB,CAAC,KAAK,aAAa,YAAY,MAAM;QACrC;OACH;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,gBAAgB,KAAK;UACrB,aAAa,KAAK,eAAe;;;IAG7C;;;;AAMJ,SAAS,uCAAuC,MAAiC,UAAsC;AACnH,SAAO,SAAS,gBAAgB,KAAK;AACzC;AAFS;IAKI,6BAAyB,MAAA;8BAFrC,yCAAU,8BAAiB,cAAc,OACzC,kDAAmB,8BAA8B,sCAAsC,CAAC;;;;oBAC1C;iDAAA,YAAW;WAAA;;;;;;;;AAA1D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAsD;AACrE,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,cAAc,IAAI,QAAQ,CAAC;AACjC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,CAAC;AAC5C,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,gBAAgB,KAAK;;;IAGjC;;;;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export declare function validateArgs_IrrigationCCAPI_setSystemConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
2
|
-
export declare function validateArgs_IrrigationCCAPI_getValveInfo(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
3
|
-
export declare function validateArgs_IrrigationCCAPI_setValveConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
4
|
-
export declare function validateArgs_IrrigationCCAPI_getValveConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
5
|
-
export declare function validateArgs_IrrigationCCAPI_runValve(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
6
|
-
export declare function validateArgs_IrrigationCCAPI_shutoffValve(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
7
|
-
export declare function validateArgs_IrrigationCCAPI_setValveTable(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
8
|
-
export declare function validateArgs_IrrigationCCAPI_getValveTable(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
9
|
-
export declare function validateArgs_IrrigationCCAPI_runTables(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
10
|
-
export declare function validateArgs_IrrigationCCAPI_shutoffSystem(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
1
|
+
export declare function validateArgs_IrrigationCCAPI_setSystemConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
2
|
+
export declare function validateArgs_IrrigationCCAPI_getValveInfo(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
3
|
+
export declare function validateArgs_IrrigationCCAPI_setValveConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
4
|
+
export declare function validateArgs_IrrigationCCAPI_getValveConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
5
|
+
export declare function validateArgs_IrrigationCCAPI_runValve(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
6
|
+
export declare function validateArgs_IrrigationCCAPI_shutoffValve(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
7
|
+
export declare function validateArgs_IrrigationCCAPI_setValveTable(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
8
|
+
export declare function validateArgs_IrrigationCCAPI_getValveTable(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
9
|
+
export declare function validateArgs_IrrigationCCAPI_runTables(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
10
|
+
export declare function validateArgs_IrrigationCCAPI_shutoffSystem(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
11
11
|
//# sourceMappingURL=IrrigationCC._validateArgs.d.ts.map
|