@zwave-js/cc 14.3.3 → 14.3.4
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 +2 -0
- package/build/cjs/cc/AlarmSensorCC._validateArgs.js +51 -0
- package/build/cjs/cc/AlarmSensorCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/AlarmSensorCC.js +48 -28
- package/build/cjs/cc/AlarmSensorCC.js.map +1 -1
- package/build/cjs/cc/AssociationCC._validateArgs.d.ts +9 -0
- package/build/cjs/cc/AssociationCC._validateArgs.js +142 -0
- package/build/cjs/cc/AssociationCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/AssociationCC.js +70 -119
- package/build/cjs/cc/AssociationCC.js.map +1 -1
- package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.d.ts +7 -0
- package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.js +116 -0
- package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/AssociationGroupInfoCC.js +68 -176
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/cjs/cc/BarrierOperatorCC._validateArgs.d.ts +5 -0
- package/build/cjs/cc/BarrierOperatorCC._validateArgs.js +90 -0
- package/build/cjs/cc/BarrierOperatorCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/BarrierOperatorCC.js +73 -60
- package/build/cjs/cc/BarrierOperatorCC.js.map +1 -1
- package/build/cjs/cc/BasicCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/BasicCC._validateArgs.js +51 -0
- package/build/cjs/cc/BasicCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/BasicCC.js +48 -28
- package/build/cjs/cc/BasicCC.js.map +1 -1
- package/build/cjs/cc/BatteryCC.js +20 -0
- package/build/cjs/cc/BatteryCC.js.map +1 -1
- package/build/cjs/cc/BinarySensorCC._validateArgs.d.ts +4 -0
- package/build/cjs/cc/BinarySensorCC._validateArgs.js +77 -0
- package/build/cjs/cc/BinarySensorCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/BinarySensorCC.js +54 -67
- package/build/cjs/cc/BinarySensorCC.js.map +1 -1
- package/build/cjs/cc/BinarySwitchCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/BinarySwitchCC._validateArgs.js +52 -0
- package/build/cjs/cc/BinarySwitchCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/BinarySwitchCC.js +46 -54
- package/build/cjs/cc/BinarySwitchCC.js.map +1 -1
- package/build/cjs/cc/CRC16CC.js +12 -0
- package/build/cjs/cc/CRC16CC.js.map +1 -1
- package/build/cjs/cc/CentralSceneCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/CentralSceneCC._validateArgs.js +51 -0
- package/build/cjs/cc/CentralSceneCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/CentralSceneCC.js +43 -21
- package/build/cjs/cc/CentralSceneCC.js.map +1 -1
- package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.d.ts +4 -0
- package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.js +77 -0
- package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ClimateControlScheduleCC.js +65 -114
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/cjs/cc/ClockCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/ClockCC._validateArgs.js +51 -0
- package/build/cjs/cc/ClockCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ClockCC.js +44 -36
- package/build/cjs/cc/ClockCC.js.map +1 -1
- package/build/cjs/cc/ColorSwitchCC._validateArgs.d.ts +5 -0
- package/build/cjs/cc/ColorSwitchCC._validateArgs.js +91 -0
- package/build/cjs/cc/ColorSwitchCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ColorSwitchCC.js +65 -346
- package/build/cjs/cc/ColorSwitchCC.js.map +1 -1
- package/build/cjs/cc/ConfigurationCC._validateArgs.d.ts +10 -0
- package/build/cjs/cc/ConfigurationCC._validateArgs.js +155 -0
- package/build/cjs/cc/ConfigurationCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ConfigurationCC.js +115 -395
- package/build/cjs/cc/ConfigurationCC.js.map +1 -1
- package/build/cjs/cc/DeviceResetLocallyCC.js +11 -0
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/cjs/cc/DoorLockCC._validateArgs.d.ts +3 -0
- package/build/cjs/cc/DoorLockCC._validateArgs.js +64 -0
- package/build/cjs/cc/DoorLockCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/DoorLockCC.js +69 -161
- package/build/cjs/cc/DoorLockCC.js.map +1 -1
- package/build/cjs/cc/DoorLockLoggingCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/DoorLockLoggingCC._validateArgs.js +51 -0
- package/build/cjs/cc/DoorLockLoggingCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/DoorLockLoggingCC.js +50 -28
- package/build/cjs/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/cjs/cc/EnergyProductionCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/EnergyProductionCC._validateArgs.js +51 -0
- package/build/cjs/cc/EnergyProductionCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/EnergyProductionCC.js +42 -20
- package/build/cjs/cc/EnergyProductionCC.js.map +1 -1
- package/build/cjs/cc/EntryControlCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/EntryControlCC._validateArgs.js +51 -0
- package/build/cjs/cc/EntryControlCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/EntryControlCC.js +49 -22
- package/build/cjs/cc/EntryControlCC.js.map +1 -1
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +5 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js +90 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +77 -310
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/cjs/cc/HailCC.js +5 -0
- package/build/cjs/cc/HailCC.js.map +1 -1
- package/build/cjs/cc/HumidityControlModeCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/HumidityControlModeCC._validateArgs.js +51 -0
- package/build/cjs/cc/HumidityControlModeCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/HumidityControlModeCC.js +50 -20
- package/build/cjs/cc/HumidityControlModeCC.js.map +1 -1
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +14 -0
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.d.ts +5 -0
- package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.js +90 -0
- package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/HumidityControlSetpointCC.js +74 -25
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/cjs/cc/InclusionControllerCC.js +14 -0
- package/build/cjs/cc/InclusionControllerCC.js.map +1 -1
- package/build/cjs/cc/IndicatorCC._validateArgs.d.ts +10 -0
- package/build/cjs/cc/IndicatorCC._validateArgs.js +155 -0
- package/build/cjs/cc/IndicatorCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/IndicatorCC.js +87 -257
- package/build/cjs/cc/IndicatorCC.js.map +1 -1
- package/build/cjs/cc/IrrigationCC._validateArgs.d.ts +11 -0
- package/build/cjs/cc/IrrigationCC._validateArgs.js +168 -0
- package/build/cjs/cc/IrrigationCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/IrrigationCC.js +110 -215
- package/build/cjs/cc/IrrigationCC.js.map +1 -1
- package/build/cjs/cc/LanguageCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/LanguageCC._validateArgs.js +51 -0
- package/build/cjs/cc/LanguageCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/LanguageCC.js +44 -35
- package/build/cjs/cc/LanguageCC.js.map +1 -1
- package/build/cjs/cc/LockCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/LockCC._validateArgs.js +51 -0
- package/build/cjs/cc/LockCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/LockCC.js +44 -21
- package/build/cjs/cc/LockCC.js.map +1 -1
- package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.d.ts +3 -0
- package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.js +64 -0
- package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ManufacturerProprietaryCC.js +37 -37
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.d.ts +3 -0
- package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.js +64 -0
- package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ManufacturerSpecificCC.js +50 -50
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/cjs/cc/MeterCC._validateArgs.d.ts +6 -0
- package/build/cjs/cc/MeterCC._validateArgs.js +103 -0
- package/build/cjs/cc/MeterCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/MeterCC.js +72 -290
- package/build/cjs/cc/MeterCC.js.map +1 -1
- package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.d.ts +6 -0
- package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.js +103 -0
- package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/MultiChannelAssociationCC.js +58 -321
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/cjs/cc/MultiChannelCC._validateArgs.d.ts +5 -0
- package/build/cjs/cc/MultiChannelCC._validateArgs.js +90 -0
- package/build/cjs/cc/MultiChannelCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/MultiChannelCC.js +89 -26
- package/build/cjs/cc/MultiChannelCC.js.map +1 -1
- package/build/cjs/cc/MultiCommandCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/MultiCommandCC._validateArgs.js +52 -0
- package/build/cjs/cc/MultiCommandCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/MultiCommandCC.js +38 -30
- package/build/cjs/cc/MultiCommandCC.js.map +1 -1
- package/build/cjs/cc/MultilevelSensorCC._validateArgs.d.ts +4 -0
- package/build/cjs/cc/MultilevelSensorCC._validateArgs.js +77 -0
- package/build/cjs/cc/MultilevelSensorCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/MultilevelSensorCC.js +62 -86
- package/build/cjs/cc/MultilevelSensorCC.js.map +1 -1
- package/build/cjs/cc/MultilevelSwitchCC._validateArgs.d.ts +3 -0
- package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js +65 -0
- package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/MultilevelSwitchCC.js +68 -185
- package/build/cjs/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/cjs/cc/NoOperationCC.js +8 -0
- package/build/cjs/cc/NoOperationCC.js.map +1 -1
- package/build/cjs/cc/NodeNamingCC._validateArgs.d.ts +3 -0
- package/build/cjs/cc/NodeNamingCC._validateArgs.js +64 -0
- package/build/cjs/cc/NodeNamingCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/NodeNamingCC.js +57 -21
- package/build/cjs/cc/NodeNamingCC.js.map +1 -1
- package/build/cjs/cc/NotificationCC._validateArgs.d.ts +5 -0
- package/build/cjs/cc/NotificationCC._validateArgs.js +90 -0
- package/build/cjs/cc/NotificationCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/NotificationCC.js +63 -125
- package/build/cjs/cc/NotificationCC.js.map +1 -1
- package/build/cjs/cc/PowerlevelCC._validateArgs.d.ts +5 -0
- package/build/cjs/cc/PowerlevelCC._validateArgs.js +90 -0
- package/build/cjs/cc/PowerlevelCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/PowerlevelCC.js +62 -154
- package/build/cjs/cc/PowerlevelCC.js.map +1 -1
- package/build/cjs/cc/ProtectionCC._validateArgs.d.ts +4 -0
- package/build/cjs/cc/ProtectionCC._validateArgs.js +78 -0
- package/build/cjs/cc/ProtectionCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ProtectionCC.js +74 -49
- package/build/cjs/cc/ProtectionCC.js.map +1 -1
- package/build/cjs/cc/SceneActivationCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/SceneActivationCC._validateArgs.js +52 -0
- package/build/cjs/cc/SceneActivationCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/SceneActivationCC.js +38 -47
- package/build/cjs/cc/SceneActivationCC.js.map +1 -1
- package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +3 -0
- package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js +65 -0
- package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +48 -63
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.d.ts +4 -0
- package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js +78 -0
- package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/SceneControllerConfigurationCC.js +51 -50
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.d.ts +9 -0
- package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.js +142 -0
- package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ScheduleEntryLockCC.js +110 -286
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/cjs/cc/Security2CC.js +86 -14
- package/build/cjs/cc/Security2CC.js.map +1 -1
- package/build/cjs/cc/SecurityCC.js +46 -0
- package/build/cjs/cc/SecurityCC.js.map +1 -1
- package/build/cjs/cc/SoundSwitchCC._validateArgs.d.ts +4 -0
- package/build/cjs/cc/SoundSwitchCC._validateArgs.js +77 -0
- package/build/cjs/cc/SoundSwitchCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/SoundSwitchCC.js +71 -41
- package/build/cjs/cc/SoundSwitchCC.js.map +1 -1
- package/build/cjs/cc/SupervisionCC.js +15 -0
- package/build/cjs/cc/SupervisionCC.js.map +1 -1
- package/build/cjs/cc/ThermostatFanModeCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/ThermostatFanModeCC._validateArgs.js +51 -0
- package/build/cjs/cc/ThermostatFanModeCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ThermostatFanModeCC.js +50 -35
- package/build/cjs/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/cjs/cc/ThermostatFanStateCC.js +14 -0
- package/build/cjs/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/cjs/cc/ThermostatModeCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/ThermostatModeCC._validateArgs.js +51 -0
- package/build/cjs/cc/ThermostatModeCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ThermostatModeCC.js +50 -47
- package/build/cjs/cc/ThermostatModeCC.js.map +1 -1
- package/build/cjs/cc/ThermostatOperatingStateCC.js +14 -0
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/cjs/cc/ThermostatSetbackCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/ThermostatSetbackCC._validateArgs.js +51 -0
- package/build/cjs/cc/ThermostatSetbackCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ThermostatSetbackCC.js +44 -45
- package/build/cjs/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/cjs/cc/ThermostatSetpointCC._validateArgs.d.ts +4 -0
- package/build/cjs/cc/ThermostatSetpointCC._validateArgs.js +77 -0
- package/build/cjs/cc/ThermostatSetpointCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ThermostatSetpointCC.js +65 -24
- package/build/cjs/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/cjs/cc/TimeCC._validateArgs.d.ts +5 -0
- package/build/cjs/cc/TimeCC._validateArgs.js +90 -0
- package/build/cjs/cc/TimeCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/TimeCC.js +65 -73
- package/build/cjs/cc/TimeCC.js.map +1 -1
- package/build/cjs/cc/TimeParametersCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/TimeParametersCC._validateArgs.js +51 -0
- package/build/cjs/cc/TimeParametersCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/TimeParametersCC.js +47 -28
- package/build/cjs/cc/TimeParametersCC.js.map +1 -1
- package/build/cjs/cc/TransportServiceCC.js +22 -0
- package/build/cjs/cc/TransportServiceCC.js.map +1 -1
- package/build/cjs/cc/UserCodeCC._validateArgs.d.ts +7 -0
- package/build/cjs/cc/UserCodeCC._validateArgs.js +116 -0
- package/build/cjs/cc/UserCodeCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/UserCodeCC.js +109 -247
- package/build/cjs/cc/UserCodeCC.js.map +1 -1
- package/build/cjs/cc/VersionCC._validateArgs.d.ts +4 -0
- package/build/cjs/cc/VersionCC._validateArgs.js +77 -0
- package/build/cjs/cc/VersionCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/VersionCC.js +69 -74
- package/build/cjs/cc/VersionCC.js.map +1 -1
- package/build/cjs/cc/WakeUpCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/WakeUpCC._validateArgs.js +51 -0
- package/build/cjs/cc/WakeUpCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/WakeUpCC.js +56 -21
- package/build/cjs/cc/WakeUpCC.js.map +1 -1
- package/build/cjs/cc/WindowCoveringCC._validateArgs.d.ts +5 -0
- package/build/cjs/cc/WindowCoveringCC._validateArgs.js +91 -0
- package/build/cjs/cc/WindowCoveringCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/WindowCoveringCC.js +74 -116
- package/build/cjs/cc/WindowCoveringCC.js.map +1 -1
- package/build/cjs/cc/ZWaveLongRangeCC.js +5 -0
- package/build/cjs/cc/ZWaveLongRangeCC.js.map +1 -1
- package/build/cjs/cc/ZWavePlusCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/ZWavePlusCC._validateArgs.js +51 -0
- package/build/cjs/cc/ZWavePlusCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/ZWavePlusCC.js +41 -61
- package/build/cjs/cc/ZWavePlusCC.js.map +1 -1
- package/build/cjs/cc/ZWaveProtocolCC.js +113 -0
- package/build/cjs/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/cjs/cc/manufacturerProprietary/Decorators.js +2 -0
- package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +1 -1
- package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +3 -0
- package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.js +64 -0
- package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.js.map +7 -0
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +54 -22
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/cjs/lib/API.js +24 -10
- package/build/cjs/lib/API.js.map +1 -1
- package/build/cjs/lib/CommandClass.js +14 -3
- package/build/cjs/lib/CommandClass.js.map +1 -1
- package/build/cjs/lib/CommandClassDecorators.js +20 -8
- package/build/cjs/lib/CommandClassDecorators.js.map +1 -1
- package/build/cjs/lib/EncapsulatingCommandClass.js +4 -0
- package/build/cjs/lib/EncapsulatingCommandClass.js.map +1 -1
- package/build/cjs/lib/NotificationEventPayload.js +2 -0
- package/build/cjs/lib/NotificationEventPayload.js.map +1 -1
- package/build/cjs/lib/Security2/Extension.js +24 -0
- package/build/cjs/lib/Security2/Extension.js.map +1 -1
- package/build/cjs/lib/SetValueResult.js +5 -0
- package/build/cjs/lib/SetValueResult.js.map +1 -1
- package/build/cjs/lib/Values.js +12 -9
- package/build/cjs/lib/Values.js.map +1 -1
- package/build/cjs/lib/_Types.js +7 -0
- package/build/cjs/lib/_Types.js.map +1 -1
- package/build/cjs/lib/serializers.js +7 -0
- package/build/cjs/lib/serializers.js.map +1 -1
- package/build/cjs/lib/utils.js +16 -4
- package/build/cjs/lib/utils.js.map +1 -1
- package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/AlarmSensorCC._validateArgs.js +12 -0
- package/build/esm/cc/AlarmSensorCC._validateArgs.js.map +1 -0
- package/build/esm/cc/AlarmSensorCC.js +17 -28
- package/build/esm/cc/AlarmSensorCC.js.map +1 -1
- package/build/esm/cc/AssociationCC._validateArgs.d.ts +9 -0
- package/build/esm/cc/AssociationCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/AssociationCC._validateArgs.js +82 -0
- package/build/esm/cc/AssociationCC._validateArgs.js.map +1 -0
- package/build/esm/cc/AssociationCC.js +38 -123
- package/build/esm/cc/AssociationCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts +7 -0
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.js +62 -0
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.js.map +1 -0
- package/build/esm/cc/AssociationGroupInfoCC.js +32 -190
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts +5 -0
- package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/BarrierOperatorCC._validateArgs.js +42 -0
- package/build/esm/cc/BarrierOperatorCC._validateArgs.js.map +1 -0
- package/build/esm/cc/BarrierOperatorCC.js +21 -50
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/BasicCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/BasicCC._validateArgs.js +12 -0
- package/build/esm/cc/BasicCC._validateArgs.js.map +1 -0
- package/build/esm/cc/BasicCC.js +15 -22
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC._validateArgs.d.ts +4 -0
- package/build/esm/cc/BinarySensorCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/BinarySensorCC._validateArgs.js +32 -0
- package/build/esm/cc/BinarySensorCC._validateArgs.js.map +1 -0
- package/build/esm/cc/BinarySensorCC.js +23 -67
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/BinarySwitchCC._validateArgs.js +13 -0
- package/build/esm/cc/BinarySwitchCC._validateArgs.js.map +1 -0
- package/build/esm/cc/BinarySwitchCC.js +15 -50
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/CentralSceneCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/CentralSceneCC._validateArgs.js +12 -0
- package/build/esm/cc/CentralSceneCC._validateArgs.js.map +1 -0
- package/build/esm/cc/CentralSceneCC.js +17 -21
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts +4 -0
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.js +32 -0
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ClimateControlScheduleCC.js +23 -117
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/esm/cc/ClockCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/ClockCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ClockCC._validateArgs.js +12 -0
- package/build/esm/cc/ClockCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ClockCC.js +17 -36
- package/build/esm/cc/ClockCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts +5 -0
- package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ColorSwitchCC._validateArgs.js +43 -0
- package/build/esm/cc/ColorSwitchCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ColorSwitchCC.js +23 -352
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC._validateArgs.d.ts +10 -0
- package/build/esm/cc/ConfigurationCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ConfigurationCC._validateArgs.js +92 -0
- package/build/esm/cc/ConfigurationCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ConfigurationCC.js +41 -410
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC._validateArgs.d.ts +3 -0
- package/build/esm/cc/DoorLockCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/DoorLockCC._validateArgs.js +22 -0
- package/build/esm/cc/DoorLockCC._validateArgs.js.map +1 -0
- package/build/esm/cc/DoorLockCC.js +20 -166
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.js +12 -0
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.js.map +1 -0
- package/build/esm/cc/DoorLockLoggingCC.js +17 -28
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/EnergyProductionCC._validateArgs.js +12 -0
- package/build/esm/cc/EnergyProductionCC._validateArgs.js.map +1 -0
- package/build/esm/cc/EnergyProductionCC.js +17 -20
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/EntryControlCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/EntryControlCC._validateArgs.js +12 -0
- package/build/esm/cc/EntryControlCC._validateArgs.js.map +1 -0
- package/build/esm/cc/EntryControlCC.js +17 -22
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +5 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js +42 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +26 -321
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/HumidityControlModeCC._validateArgs.js +12 -0
- package/build/esm/cc/HumidityControlModeCC._validateArgs.js.map +1 -0
- package/build/esm/cc/HumidityControlModeCC.js +17 -20
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts +5 -0
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.js +42 -0
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.js.map +1 -0
- package/build/esm/cc/HumidityControlSetpointCC.js +26 -25
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC._validateArgs.d.ts +10 -0
- package/build/esm/cc/IndicatorCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/IndicatorCC._validateArgs.js +92 -0
- package/build/esm/cc/IndicatorCC._validateArgs.js.map +1 -0
- package/build/esm/cc/IndicatorCC.js +41 -265
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC._validateArgs.d.ts +11 -0
- package/build/esm/cc/IrrigationCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/IrrigationCC._validateArgs.js +102 -0
- package/build/esm/cc/IrrigationCC._validateArgs.js.map +1 -0
- package/build/esm/cc/IrrigationCC.js +35 -228
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/LanguageCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/LanguageCC._validateArgs.js +12 -0
- package/build/esm/cc/LanguageCC._validateArgs.js.map +1 -0
- package/build/esm/cc/LanguageCC.js +17 -35
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/LockCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/LockCC._validateArgs.js +12 -0
- package/build/esm/cc/LockCC._validateArgs.js.map +1 -0
- package/build/esm/cc/LockCC.js +17 -21
- package/build/esm/cc/LockCC.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts +3 -0
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.js +22 -0
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ManufacturerProprietaryCC.js +17 -37
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts +3 -0
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.js +22 -0
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ManufacturerSpecificCC.js +20 -53
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC._validateArgs.d.ts +6 -0
- package/build/esm/cc/MeterCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/MeterCC._validateArgs.js +52 -0
- package/build/esm/cc/MeterCC._validateArgs.js.map +1 -0
- package/build/esm/cc/MeterCC.js +23 -293
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts +6 -0
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.js +52 -0
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.js.map +1 -0
- package/build/esm/cc/MultiChannelAssociationCC.js +29 -337
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC._validateArgs.d.ts +5 -0
- package/build/esm/cc/MultiChannelCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/MultiChannelCC._validateArgs.js +42 -0
- package/build/esm/cc/MultiChannelCC._validateArgs.js.map +1 -0
- package/build/esm/cc/MultiChannelCC.js +26 -24
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultiCommandCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/MultiCommandCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/MultiCommandCC._validateArgs.js +13 -0
- package/build/esm/cc/MultiCommandCC._validateArgs.js.map +1 -0
- package/build/esm/cc/MultiCommandCC.js +17 -30
- package/build/esm/cc/MultiCommandCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts +4 -0
- package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/MultilevelSensorCC._validateArgs.js +32 -0
- package/build/esm/cc/MultilevelSensorCC._validateArgs.js.map +1 -0
- package/build/esm/cc/MultilevelSensorCC.js +23 -86
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts +3 -0
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.js +23 -0
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.js.map +1 -0
- package/build/esm/cc/MultilevelSwitchCC.js +17 -178
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC._validateArgs.d.ts +3 -0
- package/build/esm/cc/NodeNamingCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/NodeNamingCC._validateArgs.js +22 -0
- package/build/esm/cc/NodeNamingCC._validateArgs.js.map +1 -0
- package/build/esm/cc/NodeNamingCC.js +20 -21
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC._validateArgs.d.ts +5 -0
- package/build/esm/cc/NotificationCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/NotificationCC._validateArgs.js +42 -0
- package/build/esm/cc/NotificationCC._validateArgs.js.map +1 -0
- package/build/esm/cc/NotificationCC.js +26 -123
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC._validateArgs.d.ts +5 -0
- package/build/esm/cc/PowerlevelCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/PowerlevelCC._validateArgs.js +42 -0
- package/build/esm/cc/PowerlevelCC._validateArgs.js.map +1 -0
- package/build/esm/cc/PowerlevelCC.js +26 -160
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC._validateArgs.d.ts +4 -0
- package/build/esm/cc/ProtectionCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ProtectionCC._validateArgs.js +33 -0
- package/build/esm/cc/ProtectionCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ProtectionCC.js +23 -49
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/SceneActivationCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/SceneActivationCC._validateArgs.js +13 -0
- package/build/esm/cc/SceneActivationCC._validateArgs.js.map +1 -0
- package/build/esm/cc/SceneActivationCC.js +17 -47
- package/build/esm/cc/SceneActivationCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +3 -0
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js +23 -0
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js.map +1 -0
- package/build/esm/cc/SceneActuatorConfigurationCC.js +20 -63
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts +4 -0
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js +33 -0
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js.map +1 -0
- package/build/esm/cc/SceneControllerConfigurationCC.js +23 -50
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts +9 -0
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.js +82 -0
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ScheduleEntryLockCC.js +38 -308
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts +4 -0
- package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/SoundSwitchCC._validateArgs.js +32 -0
- package/build/esm/cc/SoundSwitchCC._validateArgs.js.map +1 -0
- package/build/esm/cc/SoundSwitchCC.js +21 -39
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.js +12 -0
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ThermostatFanModeCC.js +17 -35
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ThermostatModeCC._validateArgs.js +12 -0
- package/build/esm/cc/ThermostatModeCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ThermostatModeCC.js +17 -47
- package/build/esm/cc/ThermostatModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.js +12 -0
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ThermostatSetbackCC.js +17 -45
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts +4 -0
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.js +32 -0
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ThermostatSetpointCC.js +23 -24
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC._validateArgs.d.ts +5 -0
- package/build/esm/cc/TimeCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/TimeCC._validateArgs.js +42 -0
- package/build/esm/cc/TimeCC._validateArgs.js.map +1 -0
- package/build/esm/cc/TimeCC.js +26 -77
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/TimeParametersCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/TimeParametersCC._validateArgs.js +12 -0
- package/build/esm/cc/TimeParametersCC._validateArgs.js.map +1 -0
- package/build/esm/cc/TimeParametersCC.js +17 -28
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC._validateArgs.d.ts +7 -0
- package/build/esm/cc/UserCodeCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/UserCodeCC._validateArgs.js +62 -0
- package/build/esm/cc/UserCodeCC._validateArgs.js.map +1 -0
- package/build/esm/cc/UserCodeCC.js +32 -254
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/VersionCC._validateArgs.d.ts +4 -0
- package/build/esm/cc/VersionCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/VersionCC._validateArgs.js +32 -0
- package/build/esm/cc/VersionCC._validateArgs.js.map +1 -0
- package/build/esm/cc/VersionCC.js +23 -75
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/WakeUpCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/WakeUpCC._validateArgs.js +12 -0
- package/build/esm/cc/WakeUpCC._validateArgs.js.map +1 -0
- package/build/esm/cc/WakeUpCC.js +17 -21
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts +5 -0
- package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/WindowCoveringCC._validateArgs.js +43 -0
- package/build/esm/cc/WindowCoveringCC._validateArgs.js.map +1 -0
- package/build/esm/cc/WindowCoveringCC.js +24 -110
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/ZWavePlusCC._validateArgs.js +12 -0
- package/build/esm/cc/ZWavePlusCC._validateArgs.js.map +1 -0
- package/build/esm/cc/ZWavePlusCC.js +17 -66
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +3 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts.map +1 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.js +22 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.js.map +1 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +19 -22
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/package.json +7 -7
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/UserCodeCC.ts"],
|
|
4
4
|
"sourcesContent": ["import {\n\tCommandClasses,\n\ttype EndpointId,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeBitMask,\n\tenumValuesToMetadataStates,\n\tparseBitMask,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetSupportedCCVersion,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes, isUint8Array, uint8ArrayToString } from \"@zwave-js/shared/safe\";\nimport {\n\tgetEnumMemberName,\n\tisPrintableASCII,\n\tisPrintableASCIIWithWhitespace,\n\tnum2hex,\n\tpick,\n} from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\tPhysicalCCAPI,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowMissingPropertyKey,\n\tthrowUnsupportedProperty,\n\tthrowUnsupportedPropertyKey,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n\tgetEffectiveCCVersion,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport type { NotificationEventPayload } from \"../lib/NotificationEventPayload.js\";\nimport { V } from \"../lib/Values.js\";\nimport { KeypadMode, UserCodeCommand, UserIDStatus } from \"../lib/_Types.js\";\n\nexport const UserCodeCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses[\"User Code\"], {\n\t\t...V.staticProperty(\"supportedUsers\", undefined, { internal: true }),\n\t\t...V.staticProperty(\"supportsAdminCode\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportsAdminCodeDeactivation\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t// The following two properties are only kept for compatibility with devices\n\t\t// that were interviewed before the rename to admin code\n\t\t...V.staticPropertyWithName(\n\t\t\t\"_deprecated_supportsMasterCode\",\n\t\t\t\"supportsMasterCode\",\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\tinternal: true,\n\t\t\t},\n\t\t),\n\t\t...V.staticPropertyWithName(\n\t\t\t\"_deprecated_supportsMasterCodeDeactivation\",\n\t\t\t\"supportsMasterCodeDeactivation\",\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\tinternal: true,\n\t\t\t},\n\t\t),\n\t\t...V.staticProperty(\"supportsUserCodeChecksum\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportsMultipleUserCodeReport\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportsMultipleUserCodeSet\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedUserIDStatuses\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedKeypadModes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedASCIIChars\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"userCodeChecksum\", undefined, { internal: true }),\n\n\t\t...V.staticProperty(\n\t\t\t\"keypadMode\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.ReadOnlyNumber,\n\t\t\t\tlabel: \"Keypad Mode\",\n\t\t\t} as const,\n\t\t\t{ minVersion: 2 } as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"adminCode\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.String,\n\t\t\t\tlabel: \"Admin Code\",\n\t\t\t\tminLength: 4,\n\t\t\t\tmaxLength: 10,\n\t\t\t} as const,\n\t\t\t{\n\t\t\t\tminVersion: 2,\n\t\t\t\tsecret: true,\n\t\t\t} as const,\n\t\t),\n\t}),\n\n\t...V.defineDynamicCCValues(CommandClasses[\"User Code\"], {\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"userIdStatus\",\n\t\t\t\"userIdStatus\",\n\t\t\t(userId: number) => userId,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"userIdStatus\" && typeof propertyKey === \"number\",\n\t\t\t(userId: number) => ({\n\t\t\t\t...ValueMetadata.Number,\n\t\t\t\tlabel: `User ID status (${userId})`,\n\t\t\t} as const),\n\t\t),\n\n\t\t...V.dynamicPropertyAndKeyWithName(\n\t\t\t\"userCode\",\n\t\t\t\"userCode\",\n\t\t\t(userId: number) => userId,\n\t\t\t({ property, propertyKey }) =>\n\t\t\t\tproperty === \"userCode\" && typeof propertyKey === \"number\",\n\t\t\t// The user code metadata is dynamically created\n\t\t\tundefined,\n\t\t\t{ secret: true },\n\t\t),\n\t}),\n});\n\nfunction parseExtendedUserCode(payload: Bytes): {\n\tcode: UserCode;\n\tbytesRead: number;\n} {\n\tvalidatePayload(payload.length >= 4);\n\tconst userId = payload.readUInt16BE(0);\n\tconst status: UserIDStatus = payload[2];\n\tconst codeLength = payload[3] & 0b1111;\n\tvalidatePayload(payload.length >= 4 + codeLength);\n\tconst code = payload.subarray(4, 4 + codeLength).toString(\"ascii\");\n\treturn {\n\t\tcode: {\n\t\t\tuserId,\n\t\t\tuserIdStatus: status,\n\t\t\tuserCode: code,\n\t\t},\n\t\tbytesRead: 4 + codeLength,\n\t};\n}\n\nfunction validateCode(code: string, supportedChars: string): boolean {\n\tif (code.length < 4 || code.length > 10) return false;\n\treturn [...code].every((char) => supportedChars.includes(char));\n}\n\nfunction setUserCodeMetadata(\n\tthis: UserCodeCC,\n\tctx: GetValueDB & GetSupportedCCVersion,\n\tuserId: number,\n\tuserCode?: string | Uint8Array,\n) {\n\tconst statusValue = UserCodeCCValues.userIdStatus(userId);\n\tconst codeValue = UserCodeCCValues.userCode(userId);\n\n\tconst ccVersion = getEffectiveCCVersion(ctx, this);\n\n\tconst supportedUserIDStatuses: UserIDStatus[] =\n\t\tthis.getValue(ctx, UserCodeCCValues.supportedUserIDStatuses)\n\t\t\t?? (ccVersion === 1\n\t\t\t\t? [\n\t\t\t\t\tUserIDStatus.Available,\n\t\t\t\t\tUserIDStatus.Enabled,\n\t\t\t\t\tUserIDStatus.Disabled,\n\t\t\t\t]\n\t\t\t\t: [\n\t\t\t\t\tUserIDStatus.Available,\n\t\t\t\t\tUserIDStatus.Enabled,\n\t\t\t\t\tUserIDStatus.Disabled,\n\t\t\t\t\tUserIDStatus.Messaging,\n\t\t\t\t\tUserIDStatus.PassageMode,\n\t\t\t\t]);\n\n\tthis.ensureMetadata(ctx, statusValue, {\n\t\t...statusValue.meta,\n\t\tstates: enumValuesToMetadataStates(\n\t\t\tUserIDStatus,\n\t\t\tsupportedUserIDStatuses,\n\t\t),\n\t});\n\n\tconst codeMetadata: ValueMetadata = {\n\t\t...(isUint8Array(userCode)\n\t\t\t? ValueMetadata.Buffer\n\t\t\t: ValueMetadata.String),\n\t\tminLength: 4,\n\t\tmaxLength: 10,\n\t\tlabel: `User Code (${userId})`,\n\t};\n\tif (this.getMetadata(ctx, codeValue)?.type !== codeMetadata.type) {\n\t\tthis.setMetadata(ctx, codeValue, codeMetadata);\n\t}\n}\n\nfunction persistUserCode(\n\tthis: UserCodeCC,\n\tctx: GetValueDB & GetSupportedCCVersion,\n\tuserId: number,\n\tuserIdStatus: UserIDStatus,\n\tuserCode: string | Bytes,\n) {\n\tconst statusValue = UserCodeCCValues.userIdStatus(userId);\n\tconst codeValue = UserCodeCCValues.userCode(userId);\n\n\t// Check if this code is supported\n\tif (userIdStatus === UserIDStatus.StatusNotAvailable) {\n\t\t// It is not, remove all values if any exist\n\t\tthis.removeValue(ctx, statusValue);\n\t\tthis.removeValue(ctx, codeValue);\n\t\tthis.removeMetadata(ctx, statusValue);\n\t\tthis.removeMetadata(ctx, codeValue);\n\t} else {\n\t\t// Always create metadata in case it does not exist\n\t\tsetUserCodeMetadata.call(this, ctx, userId, userCode);\n\t\tthis.setValue(ctx, statusValue, userIdStatus);\n\t\tthis.setValue(ctx, codeValue, userCode);\n\t}\n\n\treturn true;\n}\n\n/** Formats a user code in a way that's safe to print in public logs */\nexport function userCodeToLogString(userCode: string | Uint8Array): string {\n\tif (userCode.length === 0) return \"(empty)\";\n\treturn \"*\".repeat(userCode.length);\n}\n\n@API(CommandClasses[\"User Code\"])\nexport class UserCodeCCAPI extends PhysicalCCAPI {\n\tpublic supportsCommand(cmd: UserCodeCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase UserCodeCommand.Get:\n\t\t\tcase UserCodeCommand.Set:\n\t\t\tcase UserCodeCommand.UsersNumberGet:\n\t\t\t\treturn true; // This is mandatory\n\n\t\t\tcase UserCodeCommand.CapabilitiesGet:\n\t\t\tcase UserCodeCommand.KeypadModeSet:\n\t\t\tcase UserCodeCommand.KeypadModeGet:\n\t\t\tcase UserCodeCommand.ExtendedUserCodeSet:\n\t\t\tcase UserCodeCommand.ExtendedUserCodeGet:\n\t\t\t\treturn this.version >= 2;\n\n\t\t\tcase UserCodeCommand.AdminCodeSet:\n\t\t\tcase UserCodeCommand.AdminCodeGet: {\n\t\t\t\tif (this.version < 2) return false;\n\t\t\t\treturn this.tryGetValueDB()?.getValue<boolean>(\n\t\t\t\t\tUserCodeCCValues.supportsAdminCode.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tcase UserCodeCommand.UserCodeChecksumGet: {\n\t\t\t\tif (this.version < 2) return false;\n\t\t\t\treturn this.tryGetValueDB()?.getValue<boolean>(\n\t\t\t\t\tUserCodeCCValues.supportsUserCodeChecksum.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(\n\t\t\tthis: UserCodeCCAPI,\n\t\t\t{ property, propertyKey },\n\t\t\tvalue,\n\t\t) {\n\t\t\tlet result: SupervisionResult | undefined;\n\t\t\tif (property === \"keypadMode\") {\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tresult = await this.setKeypadMode(value);\n\t\t\t} else if (\n\t\t\t\tproperty === \"adminCode\"\n\t\t\t\t// Support devices that were interviewed before the rename to adminCode\n\t\t\t\t|| property === \"masterCode\"\n\t\t\t) {\n\t\t\t\tif (typeof value !== \"string\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"string\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tresult = await this.setAdminCode(value);\n\t\t\t} else if (property === \"userIdStatus\") {\n\t\t\t\tif (propertyKey == undefined) {\n\t\t\t\t\tthrowMissingPropertyKey(this.ccId, property);\n\t\t\t\t} else if (typeof propertyKey !== \"number\") {\n\t\t\t\t\tthrowUnsupportedPropertyKey(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\tpropertyKey,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (typeof value !== \"number\") {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"number\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (value === UserIDStatus.Available) {\n\t\t\t\t\t// Clear Code\n\t\t\t\t\tresult = await this.clear(propertyKey);\n\t\t\t\t} else {\n\t\t\t\t\t// We need to set the user code along with the status\n\t\t\t\t\tconst userCode = this.getValueDB().getValue<string>(\n\t\t\t\t\t\tUserCodeCCValues.userCode(propertyKey).endpoint(\n\t\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\tresult = await this.set(propertyKey, value, userCode!);\n\t\t\t\t}\n\t\t\t} else if (property === \"userCode\") {\n\t\t\t\tif (propertyKey == undefined) {\n\t\t\t\t\tthrowMissingPropertyKey(this.ccId, property);\n\t\t\t\t} else if (typeof propertyKey !== \"number\") {\n\t\t\t\t\tthrowUnsupportedPropertyKey(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\tpropertyKey,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (typeof value !== \"string\" && !isUint8Array(value)) {\n\t\t\t\t\tthrowWrongValueType(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\"string or Buffer\",\n\t\t\t\t\t\ttypeof value,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// We need to set the user id status along with the code\n\t\t\t\tlet userIdStatus = this.getValueDB().getValue<UserIDStatus>(\n\t\t\t\t\tUserCodeCCValues.userIdStatus(propertyKey).endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\tuserIdStatus === UserIDStatus.Available\n\t\t\t\t\t|| userIdStatus == undefined\n\t\t\t\t) {\n\t\t\t\t\tuserIdStatus = UserIDStatus.Enabled;\n\t\t\t\t}\n\t\t\t\tresult = await this.set(\n\t\t\t\t\tpropertyKey,\n\t\t\t\t\tuserIdStatus as any,\n\t\t\t\t\tvalue,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\n\t\t\t// Verify the change after a short delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property, propertyKey }, value, {\n\t\t\t\t\ttransition: \"fast\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: UserCodeCCAPI, { property, propertyKey }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"keypadMode\":\n\t\t\t\t\treturn this.getKeypadMode();\n\t\t\t\tcase \"adminCode\":\n\t\t\t\t\treturn this.getAdminCode();\n\t\t\t\tcase \"userIdStatus\":\n\t\t\t\tcase \"userCode\": {\n\t\t\t\t\tif (propertyKey == undefined) {\n\t\t\t\t\t\tthrowMissingPropertyKey(this.ccId, property);\n\t\t\t\t\t} else if (typeof propertyKey !== \"number\") {\n\t\t\t\t\t\tthrowUnsupportedPropertyKey(\n\t\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t\t\tproperty,\n\t\t\t\t\t\t\tpropertyKey,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn (await this.get(propertyKey))?.[property];\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic async getUsersCount(): Promise<MaybeNotKnown<number>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tUserCodeCommand,\n\t\t\tUserCodeCommand.UsersNumberGet,\n\t\t);\n\n\t\tconst cc = new UserCodeCCUsersNumberGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tUserCodeCCUsersNumberReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedUsers;\n\t}\n\n\tpublic async get(\n\t\tuserId: number,\n\t\tmultiple?: false,\n\t): Promise<MaybeNotKnown<Pick<UserCode, \"userIdStatus\" | \"userCode\">>>;\n\tpublic async get(\n\t\tuserId: number,\n\t\tmultiple: true,\n\t): Promise<\n\t\tMaybeNotKnown<{ userCodes: readonly UserCode[]; nextUserId: number }>\n\t>;\n\n\t@validateArgs()\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async get(userId: number, multiple: boolean = false) {\n\t\tif (userId > 255 || multiple) {\n\t\t\tthis.assertSupportsCommand(\n\t\t\t\tUserCodeCommand,\n\t\t\t\tUserCodeCommand.ExtendedUserCodeGet,\n\t\t\t);\n\n\t\t\tconst cc = new UserCodeCCExtendedUserCodeGet({\n\t\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t\tuserId,\n\t\t\t\treportMore: multiple,\n\t\t\t});\n\t\t\tconst response = await this.host.sendCommand<\n\t\t\t\tUserCodeCCExtendedUserCodeReport\n\t\t\t>(\n\t\t\t\tcc,\n\t\t\t\tthis.commandOptions,\n\t\t\t);\n\t\t\tif (!response) {\n\t\t\t\treturn;\n\t\t\t} else if (multiple) {\n\t\t\t\treturn pick(response, [\"userCodes\", \"nextUserId\"]);\n\t\t\t} else {\n\t\t\t\treturn pick(response.userCodes[0], [\n\t\t\t\t\t\"userIdStatus\",\n\t\t\t\t\t\"userCode\",\n\t\t\t\t]);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.assertSupportsCommand(UserCodeCommand, UserCodeCommand.Get);\n\n\t\t\tconst cc = new UserCodeCCGet({\n\t\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t\tuserId,\n\t\t\t});\n\t\t\tconst response = await this.host.sendCommand<UserCodeCCReport>(\n\t\t\t\tcc,\n\t\t\t\tthis.commandOptions,\n\t\t\t);\n\t\t\tif (response) return pick(response, [\"userIdStatus\", \"userCode\"]);\n\t\t}\n\t}\n\n\t/** Configures a single user code */\n\t@validateArgs()\n\tpublic async set(\n\t\tuserId: number,\n\t\tuserIdStatus: Exclude<\n\t\t\tUserIDStatus,\n\t\t\tUserIDStatus.Available | UserIDStatus.StatusNotAvailable\n\t\t>,\n\t\tuserCode: string | Uint8Array,\n\t): Promise<SupervisionResult | undefined> {\n\t\tif (userId > 255) {\n\t\t\treturn this.setMany([{ userId, userIdStatus, userCode }]);\n\t\t}\n\n\t\tthis.assertSupportsCommand(UserCodeCommand, UserCodeCommand.Set);\n\n\t\tconst numUsers = UserCodeCC.getSupportedUsersCached(\n\t\t\tthis.host,\n\t\t\tthis.endpoint,\n\t\t);\n\t\tif (numUsers != undefined && userId > numUsers) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The user ID must be between 0 and the number of supported users ${numUsers}.`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new UserCodeCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tuserId,\n\t\t\tuserIdStatus,\n\t\t\tuserCode,\n\t\t});\n\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t/** Configures multiple user codes */\n\t@validateArgs()\n\tpublic async setMany(\n\t\tcodes: UserCodeCCSetOptions[],\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tUserCodeCommand,\n\t\t\tUserCodeCommand.ExtendedUserCodeSet,\n\t\t);\n\n\t\tconst numUsers = UserCodeCC.getSupportedUsersCached(\n\t\t\tthis.host,\n\t\t\tthis.endpoint,\n\t\t);\n\t\tconst supportedStatuses = UserCodeCC.getSupportedUserIDStatusesCached(\n\t\t\tthis.host,\n\t\t\tthis.endpoint,\n\t\t);\n\t\tconst supportedASCIIChars = UserCodeCC.getSupportedASCIICharsCached(\n\t\t\tthis.host,\n\t\t\tthis.endpoint,\n\t\t);\n\t\tconst supportsMultipleUserCodeSet =\n\t\t\tUserCodeCC.supportsMultipleUserCodeSetCached(\n\t\t\t\tthis.host,\n\t\t\t\tthis.endpoint,\n\t\t\t) ?? false;\n\n\t\t// Validate options\n\t\tif (numUsers != undefined) {\n\t\t\tif (\n\t\t\t\tcodes.some((code) => code.userId < 0 || code.userId > numUsers)\n\t\t\t) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`All User IDs must be between 0 and the number of supported users ${numUsers}.`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tif (codes.some((code) => code.userId < 0)) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`All User IDs must be greater than 0.`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (codes.some((code) => code.userId === 0) && codes.length > 1) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`If user ID 0 is used, only one code may be set`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t} else if (\n\t\t\tcodes.some(\n\t\t\t\t(code) =>\n\t\t\t\t\tcode.userId === 0\n\t\t\t\t\t&& code.userIdStatus !== UserIDStatus.Available,\n\t\t\t)\n\t\t) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`User ID 0 may only be used to clear all user codes`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t} else if (codes.length > 1 && !supportsMultipleUserCodeSet) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The node does not support setting multiple user codes at once`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tfor (const code of codes) {\n\t\t\tif (\n\t\t\t\tsupportedStatuses != undefined\n\t\t\t\t&& !supportedStatuses.includes(code.userIdStatus)\n\t\t\t) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`The user ID status ${\n\t\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\t\tUserIDStatus,\n\t\t\t\t\t\t\tcode.userIdStatus,\n\t\t\t\t\t\t)\n\t\t\t\t\t} is not supported by the node`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t} else if (code.userIdStatus === UserIDStatus.Available) {\n\t\t\t\tcode.userCode = undefined;\n\t\t\t} else if (supportedASCIIChars) {\n\t\t\t\tconst userCodeString = typeof code.userCode === \"string\"\n\t\t\t\t\t? code.userCode\n\t\t\t\t\t: uint8ArrayToString(code.userCode);\n\t\t\t\tif (\n\t\t\t\t\t!validateCode(\n\t\t\t\t\t\tuserCodeString,\n\t\t\t\t\t\tsupportedASCIIChars,\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The user code must consist of 4 to 10 of the following characters: ${supportedASCIIChars}`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst cc = new UserCodeCCExtendedUserCodeSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tuserCodes: codes,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t/**\n\t * Clears one or all user code\n\t * @param userId The user code to clear. If none or 0 is given, all codes are cleared\n\t */\n\t@validateArgs()\n\tpublic async clear(\n\t\tuserId: number = 0,\n\t): Promise<SupervisionResult | undefined> {\n\t\tif (this.version > 1 || userId > 255) {\n\t\t\treturn this.setMany([\n\t\t\t\t{ userId, userIdStatus: UserIDStatus.Available },\n\t\t\t]);\n\t\t} else {\n\t\t\tthis.assertSupportsCommand(UserCodeCommand, UserCodeCommand.Set);\n\n\t\t\tconst numUsers = UserCodeCC.getSupportedUsersCached(\n\t\t\t\tthis.host,\n\t\t\t\tthis.endpoint,\n\t\t\t);\n\t\t\tif (numUsers != undefined && userId > numUsers) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`The user ID must be between 0 and the number of supported users ${numUsers}.`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst cc = new UserCodeCCSet({\n\t\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t\tuserId,\n\t\t\t\tuserIdStatus: UserIDStatus.Available,\n\t\t\t});\n\t\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getCapabilities() {\n\t\tthis.assertSupportsCommand(\n\t\t\tUserCodeCommand,\n\t\t\tUserCodeCommand.CapabilitiesGet,\n\t\t);\n\n\t\tconst cc = new UserCodeCCCapabilitiesGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tUserCodeCCCapabilitiesReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"supportsAdminCode\",\n\t\t\t\t\"supportsAdminCodeDeactivation\",\n\t\t\t\t\"supportsUserCodeChecksum\",\n\t\t\t\t\"supportsMultipleUserCodeReport\",\n\t\t\t\t\"supportsMultipleUserCodeSet\",\n\t\t\t\t\"supportedUserIDStatuses\",\n\t\t\t\t\"supportedKeypadModes\",\n\t\t\t\t\"supportedASCIIChars\",\n\t\t\t]);\n\t\t}\n\t}\n\n\tpublic async getKeypadMode(): Promise<MaybeNotKnown<KeypadMode>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tUserCodeCommand,\n\t\t\tUserCodeCommand.KeypadModeGet,\n\t\t);\n\n\t\tconst cc = new UserCodeCCKeypadModeGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tUserCodeCCKeypadModeReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.keypadMode;\n\t}\n\n\t@validateArgs({ strictEnums: true })\n\tpublic async setKeypadMode(\n\t\tkeypadMode: KeypadMode,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tUserCodeCommand,\n\t\t\tUserCodeCommand.KeypadModeSet,\n\t\t);\n\n\t\tconst supportedModes = UserCodeCC.getSupportedKeypadModesCached(\n\t\t\tthis.host,\n\t\t\tthis.endpoint,\n\t\t);\n\n\t\tif (!supportedModes) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The keypad mode can only be set after the interview is complete!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t} else if (!supportedModes.includes(keypadMode)) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The keypad mode ${\n\t\t\t\t\tgetEnumMemberName(\n\t\t\t\t\t\tKeypadMode,\n\t\t\t\t\t\tkeypadMode,\n\t\t\t\t\t)\n\t\t\t\t} is not supported by the node!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new UserCodeCCKeypadModeSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tkeypadMode,\n\t\t});\n\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async getAdminCode(): Promise<MaybeNotKnown<string>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tUserCodeCommand,\n\t\t\tUserCodeCommand.AdminCodeGet,\n\t\t);\n\n\t\tconst cc = new UserCodeCCAdminCodeGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tUserCodeCCAdminCodeReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.adminCode;\n\t}\n\n\t@validateArgs()\n\tpublic async setAdminCode(\n\t\tadminCode: string,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tUserCodeCommand,\n\t\t\tUserCodeCommand.AdminCodeSet,\n\t\t);\n\n\t\tconst supportedASCIIChars = UserCodeCC.getSupportedASCIICharsCached(\n\t\t\tthis.host,\n\t\t\tthis.endpoint,\n\t\t);\n\t\tif (!supportedASCIIChars) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The admin code can only be set after the interview is complete!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\t// Validate the code\n\t\tif (!adminCode) {\n\t\t\tconst supportsDeactivation = UserCodeCC\n\t\t\t\t.supportsAdminCodeDeactivationCached(\n\t\t\t\t\tthis.host,\n\t\t\t\t\tthis.endpoint,\n\t\t\t\t);\n\t\t\tif (!supportsDeactivation) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`The node does not support deactivating the admin code!`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (!validateCode(adminCode, supportedASCIIChars)) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The admin code must consist of 4 to 10 of the following characters: ${supportedASCIIChars}`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new UserCodeCCAdminCodeSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tadminCode,\n\t\t});\n\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async getUserCodeChecksum(): Promise<MaybeNotKnown<number>> {\n\t\tthis.assertSupportsCommand(\n\t\t\tUserCodeCommand,\n\t\t\tUserCodeCommand.UserCodeChecksumGet,\n\t\t);\n\n\t\tconst cc = new UserCodeCCUserCodeChecksumGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tUserCodeCCUserCodeChecksumReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.userCodeChecksum;\n\t}\n}\n\n@commandClass(CommandClasses[\"User Code\"])\n@implementedVersion(2)\n@ccValues(UserCodeCCValues)\nexport class UserCodeCC extends CommandClass {\n\tdeclare ccCommand: UserCodeCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"User Code\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\t// Query capabilities first to determine what needs to be done when refreshing\n\t\tif (api.version >= 2) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: \"querying capabilities...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tconst caps = await api.getCapabilities();\n\t\t\tif (!caps) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t\"User Code capabilities query timed out, skipping interview...\",\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"querying number of user codes...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst supportedUsers = await api.getUsersCount();\n\t\tif (supportedUsers == undefined) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t\"Querying number of user codes timed out, skipping interview...\",\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let userId = 1; userId <= supportedUsers; userId++) {\n\t\t\tsetUserCodeMetadata.call(this, ctx, userId);\n\t\t}\n\n\t\t// Synchronize user codes and settings\n\t\tif (ctx.getInterviewOptions()?.queryAllUserCodes) {\n\t\t\tawait this.refreshValues(ctx);\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"User Code\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tconst supportsAdminCode: boolean = UserCodeCC.supportsAdminCodeCached(\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t);\n\t\tconst supportsUserCodeChecksum: boolean = this.getValue(\n\t\t\tctx,\n\t\t\tUserCodeCCValues.supportsUserCodeChecksum,\n\t\t) ?? false;\n\t\tconst supportedKeypadModes: readonly KeypadMode[] =\n\t\t\tthis.getValue(ctx, UserCodeCCValues.supportedKeypadModes)\n\t\t\t\t?? [];\n\t\tconst supportedUsers: number =\n\t\t\tthis.getValue(ctx, UserCodeCCValues.supportedUsers) ?? 0;\n\t\tconst supportsMultipleUserCodeReport = !!this.getValue(\n\t\t\tctx,\n\t\t\tUserCodeCCValues.supportsMultipleUserCodeReport,\n\t\t);\n\n\t\t// Check for changed values and codes\n\t\tif (api.version >= 2) {\n\t\t\tif (supportsAdminCode) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tmessage: \"querying admin code...\",\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tawait api.getAdminCode();\n\t\t\t}\n\t\t\tif (supportedKeypadModes.length > 1) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tmessage: \"querying active keypad mode...\",\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tawait api.getKeypadMode();\n\t\t\t}\n\t\t\tconst storedUserCodeChecksum: number =\n\t\t\t\tthis.getValue(ctx, UserCodeCCValues.userCodeChecksum) ?? 0;\n\n\t\t\tlet currentUserCodeChecksum: number | undefined = 0;\n\t\t\tif (supportsUserCodeChecksum) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tmessage: \"retrieving current user code checksum...\",\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\t\t\t\tcurrentUserCodeChecksum = await api.getUserCodeChecksum();\n\t\t\t}\n\t\t\tif (\n\t\t\t\t!supportsUserCodeChecksum\n\t\t\t\t|| currentUserCodeChecksum !== storedUserCodeChecksum\n\t\t\t) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t\"checksum changed or is not supported, querying all user codes...\",\n\t\t\t\t\tdirection: \"outbound\",\n\t\t\t\t});\n\n\t\t\t\tif (supportsMultipleUserCodeReport) {\n\t\t\t\t\t// Query the user codes in bulk\n\t\t\t\t\tlet nextUserId = 1;\n\t\t\t\t\twhile (nextUserId > 0 && nextUserId <= supportedUsers) {\n\t\t\t\t\t\tconst response = await api.get(nextUserId, true);\n\t\t\t\t\t\tif (response) {\n\t\t\t\t\t\t\tnextUserId = response.nextUserId;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\t\t`Querying user code #${nextUserId} timed out, skipping the remaining interview...`,\n\t\t\t\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Query one user code at a time\n\t\t\t\t\tfor (let userId = 1; userId <= supportedUsers; userId++) {\n\t\t\t\t\t\tawait api.get(userId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// V1\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: \"querying all user codes...\",\n\t\t\t\tdirection: \"outbound\",\n\t\t\t});\n\t\t\tfor (let userId = 1; userId <= supportedUsers; userId++) {\n\t\t\t\tawait api.get(userId);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the number of supported users.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static getSupportedUsersCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): MaybeNotKnown<number> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(UserCodeCCValues.supportedUsers.endpoint(endpoint.index));\n\t}\n\n\t/**\n\t * Returns the supported keypad modes.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static getSupportedKeypadModesCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): MaybeNotKnown<KeypadMode[]> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(\n\t\t\t\tUserCodeCCValues.supportedKeypadModes.endpoint(endpoint.index),\n\t\t\t);\n\t}\n\n\t/**\n\t * Returns the supported user ID statuses.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static getSupportedUserIDStatusesCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): MaybeNotKnown<UserIDStatus[]> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(\n\t\t\t\tUserCodeCCValues.supportedUserIDStatuses.endpoint(\n\t\t\t\t\tendpoint.index,\n\t\t\t\t),\n\t\t\t);\n\t}\n\n\t/**\n\t * Returns the supported ASCII characters.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static getSupportedASCIICharsCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): MaybeNotKnown<string> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue(\n\t\t\t\tUserCodeCCValues.supportedASCIIChars.endpoint(endpoint.index),\n\t\t\t);\n\t}\n\n\t/**\n\t * Returns whether the admin code functionality is supported.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static supportsAdminCodeCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): boolean {\n\t\tconst valueDB = ctx\n\t\t\t.getValueDB(endpoint.nodeId);\n\t\treturn valueDB.getValue<boolean>(\n\t\t\tUserCodeCCValues.supportsAdminCode.endpoint(\n\t\t\t\tendpoint.index,\n\t\t\t),\n\t\t) ?? valueDB.getValue<boolean>(\n\t\t\tUserCodeCCValues._deprecated_supportsMasterCode.endpoint(\n\t\t\t\tendpoint.index,\n\t\t\t),\n\t\t) ?? false;\n\t}\n\n\t/**\n\t * Returns whether deactivating the admin code is supported.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static supportsAdminCodeDeactivationCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): boolean {\n\t\tconst valueDB = ctx\n\t\t\t.getValueDB(endpoint.nodeId);\n\t\treturn valueDB.getValue<boolean>(\n\t\t\tUserCodeCCValues.supportsAdminCodeDeactivation.endpoint(\n\t\t\t\tendpoint.index,\n\t\t\t),\n\t\t) ?? valueDB.getValue<boolean>(\n\t\t\tUserCodeCCValues._deprecated_supportsMasterCodeDeactivation\n\t\t\t\t.endpoint(\n\t\t\t\t\tendpoint.index,\n\t\t\t\t),\n\t\t) ?? false;\n\t}\n\n\t/**\n\t * Returns whether setting multiple user codes at once is supported.\n\t * This only works AFTER the interview process\n\t */\n\tpublic static supportsMultipleUserCodeSetCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t): boolean {\n\t\treturn !!ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue<boolean>(\n\t\t\t\tUserCodeCCValues.supportsMultipleUserCodeSet.endpoint(\n\t\t\t\t\tendpoint.index,\n\t\t\t\t),\n\t\t\t);\n\t}\n\n\t/**\n\t * Returns the current status of a user ID.\n\t * This only works AFTER the user IDs have been queried.\n\t */\n\tpublic static getUserIdStatusCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t\tuserId: number,\n\t): MaybeNotKnown<UserIDStatus> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue<UserIDStatus>(\n\t\t\t\tUserCodeCCValues.userIdStatus(userId).endpoint(endpoint.index),\n\t\t\t);\n\t}\n\n\t/**\n\t * Returns the current code belonging to a user ID.\n\t * This only works AFTER the user IDs have been queried.\n\t */\n\tpublic static getUserCodeCached(\n\t\tctx: GetValueDB,\n\t\tendpoint: EndpointId,\n\t\tuserId: number,\n\t): MaybeNotKnown<string | Uint8Array> {\n\t\treturn ctx\n\t\t\t.getValueDB(endpoint.nodeId)\n\t\t\t.getValue<string | Uint8Array>(\n\t\t\t\tUserCodeCCValues.userCode(userId).endpoint(endpoint.index),\n\t\t\t);\n\t}\n}\n\n// @publicAPI\nexport type UserCodeCCSetOptions =\n\t| {\n\t\tuserId: 0;\n\t\tuserIdStatus: UserIDStatus.Available;\n\t\tuserCode?: undefined;\n\t}\n\t| {\n\t\tuserId: number;\n\t\tuserIdStatus: UserIDStatus.Available;\n\t\tuserCode?: undefined;\n\t}\n\t| {\n\t\tuserId: number;\n\t\tuserIdStatus: Exclude<\n\t\t\tUserIDStatus,\n\t\t\tUserIDStatus.Available | UserIDStatus.StatusNotAvailable\n\t\t>;\n\t\tuserCode: string | Uint8Array;\n\t};\n\n@CCCommand(UserCodeCommand.Set)\n@useSupervision()\nexport class UserCodeCCSet extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.userId = options.userId;\n\t\tthis.userIdStatus = options.userIdStatus;\n\n\t\t// Validate options\n\t\tif (this.userId < 0) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`${this.constructor.name}: The user ID must be between greater than 0.`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t} else if (\n\t\t\tthis.userId === 0\n\t\t\t&& this.userIdStatus !== UserIDStatus.Available\n\t\t) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`${this.constructor.name}: User ID 0 may only be used to clear all user codes`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t} else if (this.userIdStatus === UserIDStatus.Available) {\n\t\t\tthis.userCode = \"\\0\".repeat(4);\n\t\t} else {\n\t\t\tthis.userCode = options.userCode!;\n\t\t\t// Specs say ASCII 0-9, manufacturers don't care :)\n\t\t\tif (this.userCode.length < 4 || this.userCode.length > 10) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`${this.constructor.name}: The user code must have a length of 4 to 10 ${\n\t\t\t\t\t\ttypeof this.userCode === \"string\"\n\t\t\t\t\t\t\t? \"characters\"\n\t\t\t\t\t\t\t: \"bytes\"\n\t\t\t\t\t}`,\n\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): UserCodeCCSet {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst userId = raw.payload[0];\n\t\tconst userIdStatus: UserIDStatus = raw.payload[1];\n\t\tif (userIdStatus === UserIDStatus.StatusNotAvailable) {\n\t\t\tvalidatePayload.fail(\"Invalid user ID status\");\n\t\t}\n\n\t\tif (userIdStatus === UserIDStatus.Available) {\n\t\t\treturn new this({\n\t\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t\tuserId,\n\t\t\t\tuserIdStatus,\n\t\t\t});\n\t\t}\n\n\t\tconst userCode = raw.payload.subarray(2);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tuserId,\n\t\t\tuserIdStatus,\n\t\t\tuserCode,\n\t\t});\n\t}\n\n\tpublic userId: number;\n\tpublic userIdStatus: UserIDStatus;\n\tpublic userCode: string | Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.userId, this.userIdStatus]),\n\t\t\ttypeof this.userCode === \"string\"\n\t\t\t\t? Bytes.from(this.userCode, \"ascii\")\n\t\t\t\t: this.userCode,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"user id\": this.userId,\n\t\t\t\t\"id status\": getEnumMemberName(UserIDStatus, this.userIdStatus),\n\t\t\t\t\"user code\": userCodeToLogString(this.userCode),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface UserCodeCCReportOptions {\n\tuserId: number;\n\tuserIdStatus: UserIDStatus;\n\tuserCode?: string | Bytes;\n}\n\n@CCCommand(UserCodeCommand.Report)\nexport class UserCodeCCReport extends UserCodeCC\n\timplements NotificationEventPayload\n{\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.userId = options.userId;\n\t\tthis.userIdStatus = options.userIdStatus;\n\t\tthis.userCode = options.userCode ?? \"\";\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): UserCodeCCReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst userId = raw.payload[0];\n\t\tconst userIdStatus: UserIDStatus = raw.payload[1];\n\t\tlet userCode: string | Bytes;\n\n\t\tif (\n\t\t\traw.payload.length === 2\n\t\t\t&& (userIdStatus === UserIDStatus.Available\n\t\t\t\t|| userIdStatus === UserIDStatus.StatusNotAvailable)\n\t\t) {\n\t\t\t// The user code is not set or not available and this report contains no user code\n\t\t\tuserCode = \"\";\n\t\t} else {\n\t\t\t// The specs require the user code to be at least 4 digits\n\t\t\tvalidatePayload(raw.payload.length >= 6);\n\n\t\t\tlet userCodeBuffer = raw.payload.subarray(2);\n\t\t\t// Specs say infer user code from payload length, manufacturers send zero-padded strings\n\t\t\twhile (userCodeBuffer.at(-1) === 0) {\n\t\t\t\tuserCodeBuffer = userCodeBuffer.subarray(0, -1);\n\t\t\t}\n\t\t\t// Specs say ASCII 0-9, manufacturers don't care :)\n\t\t\t// Thus we check if the code is printable using ASCII, if not keep it as a Buffer\n\t\t\tconst userCodeString = userCodeBuffer.toString(\"utf8\");\n\t\t\tif (isPrintableASCII(userCodeString)) {\n\t\t\t\tuserCode = userCodeString;\n\t\t\t} else if (isPrintableASCIIWithWhitespace(userCodeString)) {\n\t\t\t\t// Ignore leading and trailing whitespace in V1 reports if the rest is ASCII\n\t\t\t\tuserCode = userCodeString.trim();\n\t\t\t} else {\n\t\t\t\tuserCode = userCodeBuffer;\n\t\t\t}\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tuserId,\n\t\t\tuserIdStatus,\n\t\t\tuserCode,\n\t\t});\n\t}\n\n\tpublic readonly userId: number;\n\tpublic readonly userIdStatus: UserIDStatus;\n\tpublic readonly userCode: string | Bytes;\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tpersistUserCode.call(\n\t\t\tthis,\n\t\t\tctx,\n\t\t\tthis.userId,\n\t\t\tthis.userIdStatus,\n\t\t\tthis.userCode,\n\t\t);\n\t\treturn true;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tlet userCodeBuffer: Bytes;\n\t\tif (typeof this.userCode === \"string\") {\n\t\t\tuserCodeBuffer = Bytes.from(this.userCode, \"ascii\");\n\t\t} else {\n\t\t\tuserCodeBuffer = this.userCode;\n\t\t}\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.userId, this.userIdStatus]),\n\t\t\tuserCodeBuffer,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"user id\": this.userId,\n\t\t\t\t\"id status\": getEnumMemberName(UserIDStatus, this.userIdStatus),\n\t\t\t\t\"user code\": userCodeToLogString(this.userCode),\n\t\t\t},\n\t\t};\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic toNotificationEventParameters() {\n\t\treturn { userId: this.userId };\n\t}\n}\n\n// @publicAPI\nexport interface UserCodeCCGetOptions {\n\tuserId: number;\n}\n\n@CCCommand(UserCodeCommand.Get)\n@expectedCCResponse(UserCodeCCReport)\nexport class UserCodeCCGet extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.userId = options.userId;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): UserCodeCCGet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst userId = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic userId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.userId]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"user id\": this.userId },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface UserCodeCCUsersNumberReportOptions {\n\tsupportedUsers: number;\n}\n\n@CCCommand(UserCodeCommand.UsersNumberReport)\n@ccValueProperty(\"supportedUsers\", UserCodeCCValues.supportedUsers)\nexport class UserCodeCCUsersNumberReport extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCUsersNumberReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.supportedUsers = options.supportedUsers;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): UserCodeCCUsersNumberReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\n\t\tlet supportedUsers;\n\n\t\tif (raw.payload.length >= 3) {\n\t\t\t// V2+\n\t\t\tsupportedUsers = raw.payload.readUInt16BE(1);\n\t\t} else {\n\t\t\t// V1\n\t\t\tsupportedUsers = raw.payload[0];\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedUsers,\n\t\t});\n\t}\n\n\tpublic readonly supportedUsers: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = new Bytes(3);\n\t\t// If the node implements more than 255 users, this field MUST be set to 255\n\t\tthis.payload[0] = Math.min(255, this.supportedUsers);\n\t\tthis.payload.writeUInt16BE(this.supportedUsers, 1);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"supported users\": this.supportedUsers },\n\t\t};\n\t}\n}\n\n@CCCommand(UserCodeCommand.UsersNumberGet)\n@expectedCCResponse(UserCodeCCUsersNumberReport)\nexport class UserCodeCCUsersNumberGet extends UserCodeCC {}\n\n// @publicAPI\nexport interface UserCodeCCCapabilitiesReportOptions {\n\tsupportsAdminCode: boolean;\n\tsupportsAdminCodeDeactivation: boolean;\n\tsupportsUserCodeChecksum: boolean;\n\tsupportsMultipleUserCodeReport: boolean;\n\tsupportsMultipleUserCodeSet: boolean;\n\tsupportedUserIDStatuses: readonly UserIDStatus[];\n\tsupportedKeypadModes: readonly KeypadMode[];\n\tsupportedASCIIChars: string;\n}\n\n@CCCommand(UserCodeCommand.CapabilitiesReport)\n@ccValueProperty(\"supportsAdminCode\", UserCodeCCValues.supportsAdminCode)\n@ccValueProperty(\n\t\"supportsAdminCodeDeactivation\",\n\tUserCodeCCValues.supportsAdminCodeDeactivation,\n)\n@ccValueProperty(\n\t\"supportsUserCodeChecksum\",\n\tUserCodeCCValues.supportsUserCodeChecksum,\n)\n@ccValueProperty(\n\t\"supportsMultipleUserCodeReport\",\n\tUserCodeCCValues.supportsMultipleUserCodeReport,\n)\n@ccValueProperty(\n\t\"supportsMultipleUserCodeSet\",\n\tUserCodeCCValues.supportsMultipleUserCodeSet,\n)\n@ccValueProperty(\n\t\"supportedUserIDStatuses\",\n\tUserCodeCCValues.supportedUserIDStatuses,\n)\n@ccValueProperty(\"supportedKeypadModes\", UserCodeCCValues.supportedKeypadModes)\n@ccValueProperty(\"supportedASCIIChars\", UserCodeCCValues.supportedASCIIChars)\nexport class UserCodeCCCapabilitiesReport extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCCapabilitiesReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.supportsAdminCode = options.supportsAdminCode;\n\t\tthis.supportsAdminCodeDeactivation =\n\t\t\toptions.supportsAdminCodeDeactivation;\n\t\tthis.supportsUserCodeChecksum = options.supportsUserCodeChecksum;\n\t\tthis.supportsMultipleUserCodeReport =\n\t\t\toptions.supportsMultipleUserCodeReport;\n\t\tthis.supportsMultipleUserCodeSet = options.supportsMultipleUserCodeSet;\n\t\tthis.supportedUserIDStatuses = options.supportedUserIDStatuses;\n\t\tthis.supportedKeypadModes = options.supportedKeypadModes;\n\t\tthis.supportedASCIIChars = options.supportedASCIIChars;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): UserCodeCCCapabilitiesReport {\n\t\tlet offset = 0;\n\n\t\tvalidatePayload(raw.payload.length >= offset + 1);\n\t\tconst supportsAdminCode = !!(raw.payload[offset] & 0b100_00000);\n\t\tconst supportsAdminCodeDeactivation = !!(\n\t\t\traw.payload[offset] & 0b010_00000\n\t\t);\n\t\tconst statusBitMaskLength = raw.payload[offset] & 0b000_11111;\n\t\toffset += 1;\n\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= offset + statusBitMaskLength + 1,\n\t\t);\n\t\tconst supportedUserIDStatuses: UserIDStatus[] = parseBitMask(\n\t\t\traw.payload.subarray(offset, offset + statusBitMaskLength),\n\t\t\tUserIDStatus.Available,\n\t\t);\n\n\t\toffset += statusBitMaskLength;\n\t\tconst supportsUserCodeChecksum = !!(\n\t\t\traw.payload[offset] & 0b100_00000\n\t\t);\n\t\tconst supportsMultipleUserCodeReport = !!(\n\t\t\traw.payload[offset] & 0b010_00000\n\t\t);\n\t\tconst supportsMultipleUserCodeSet = !!(\n\t\t\traw.payload[offset] & 0b001_00000\n\t\t);\n\t\tconst keypadModesBitMaskLength = raw.payload[offset] & 0b000_11111;\n\t\toffset += 1;\n\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= offset + keypadModesBitMaskLength + 1,\n\t\t);\n\t\tconst supportedKeypadModes: KeypadMode[] = parseBitMask(\n\t\t\traw.payload.subarray(\n\t\t\t\toffset,\n\t\t\t\toffset + keypadModesBitMaskLength,\n\t\t\t),\n\t\t\tKeypadMode.Normal,\n\t\t);\n\n\t\toffset += keypadModesBitMaskLength;\n\n\t\tconst keysBitMaskLength = raw.payload[offset] & 0b000_11111;\n\t\toffset += 1;\n\n\t\tvalidatePayload(raw.payload.length >= offset + keysBitMaskLength);\n\t\tconst supportedASCIIChars = Bytes.from(\n\t\t\tparseBitMask(\n\t\t\t\traw.payload.subarray(offset, offset + keysBitMaskLength),\n\t\t\t\t0,\n\t\t\t),\n\t\t).toString(\"ascii\");\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportsAdminCode,\n\t\t\tsupportsAdminCodeDeactivation,\n\t\t\tsupportedUserIDStatuses,\n\t\t\tsupportsUserCodeChecksum,\n\t\t\tsupportsMultipleUserCodeReport,\n\t\t\tsupportsMultipleUserCodeSet,\n\t\t\tsupportedKeypadModes,\n\t\t\tsupportedASCIIChars,\n\t\t});\n\t}\n\n\tpublic readonly supportsAdminCode: boolean;\n\n\tpublic readonly supportsAdminCodeDeactivation: boolean;\n\n\tpublic readonly supportsUserCodeChecksum: boolean;\n\n\tpublic readonly supportsMultipleUserCodeReport: boolean;\n\n\tpublic readonly supportsMultipleUserCodeSet: boolean;\n\n\tpublic readonly supportedUserIDStatuses: readonly UserIDStatus[];\n\n\tpublic readonly supportedKeypadModes: readonly KeypadMode[];\n\n\tpublic readonly supportedASCIIChars: string;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst supportedStatusesBitmask = encodeBitMask(\n\t\t\tthis.supportedUserIDStatuses,\n\t\t\tundefined,\n\t\t\tUserIDStatus.Available,\n\t\t);\n\t\tconst controlByte1 = (this.supportsAdminCode ? 0b100_00000 : 0)\n\t\t\t| (this.supportsAdminCodeDeactivation ? 0b010_00000 : 0)\n\t\t\t| (supportedStatusesBitmask.length & 0b000_11111);\n\n\t\tconst supportedKeypadModesBitmask = encodeBitMask(\n\t\t\tthis.supportedKeypadModes,\n\t\t\tundefined,\n\t\t\tKeypadMode.Normal,\n\t\t);\n\t\tconst controlByte2 = (this.supportsUserCodeChecksum ? 0b100_00000 : 0)\n\t\t\t| (this.supportsMultipleUserCodeReport ? 0b010_00000 : 0)\n\t\t\t| (this.supportsMultipleUserCodeSet ? 0b001_00000 : 0)\n\t\t\t| (supportedKeypadModesBitmask.length & 0b000_11111);\n\n\t\tconst keysAsNumbers = [...this.supportedASCIIChars].map((char) =>\n\t\t\tchar.charCodeAt(0)\n\t\t);\n\t\tconst supportedKeysBitmask = encodeBitMask(keysAsNumbers, undefined, 0);\n\t\tconst controlByte3 = supportedKeysBitmask.length & 0b000_11111;\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([controlByte1]),\n\t\t\tsupportedStatusesBitmask,\n\t\t\tBytes.from([controlByte2]),\n\t\t\tsupportedKeypadModesBitmask,\n\t\t\tBytes.from([controlByte3]),\n\t\t\tsupportedKeysBitmask,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"supports admin code\": this.supportsAdminCode,\n\t\t\t\t\"supports admin code deactivation\":\n\t\t\t\t\tthis.supportsAdminCodeDeactivation,\n\t\t\t\t\"supports user code checksum\": this.supportsUserCodeChecksum,\n\t\t\t\t\"supports multiple codes in report\":\n\t\t\t\t\tthis.supportsMultipleUserCodeReport,\n\t\t\t\t\"supports multiple codes in set\":\n\t\t\t\t\tthis.supportsMultipleUserCodeSet,\n\t\t\t\t\"supported user id statuses\": this.supportedUserIDStatuses\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(status) =>\n\t\t\t\t\t\t\t`\\n\u00B7 ${getEnumMemberName(UserIDStatus, status)}`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\"),\n\t\t\t\t\"supported keypad modes\": this.supportedKeypadModes\n\t\t\t\t\t.map((mode) => `\\n\u00B7 ${getEnumMemberName(KeypadMode, mode)}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t\t\"supported ASCII chars\": this.supportedASCIIChars,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(UserCodeCommand.CapabilitiesGet)\n@expectedCCResponse(UserCodeCCCapabilitiesReport)\nexport class UserCodeCCCapabilitiesGet extends UserCodeCC {}\n\n// @publicAPI\nexport interface UserCodeCCKeypadModeSetOptions {\n\tkeypadMode: KeypadMode;\n}\n\n@CCCommand(UserCodeCommand.KeypadModeSet)\n@useSupervision()\nexport class UserCodeCCKeypadModeSet extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCKeypadModeSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.keypadMode = options.keypadMode;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): UserCodeCCKeypadModeSet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst keypadMode: KeypadMode = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tkeypadMode,\n\t\t});\n\t}\n\n\tpublic keypadMode: KeypadMode;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.keypadMode]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { mode: getEnumMemberName(KeypadMode, this.keypadMode) },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface UserCodeCCKeypadModeReportOptions {\n\tkeypadMode: KeypadMode;\n}\n\n@CCCommand(UserCodeCommand.KeypadModeReport)\n@ccValueProperty(\"keypadMode\", UserCodeCCValues.keypadMode)\nexport class UserCodeCCKeypadModeReport extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCKeypadModeReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.keypadMode = options.keypadMode;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): UserCodeCCKeypadModeReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst keypadMode: KeypadMode = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tkeypadMode,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Update the keypad modes metadata\n\t\tconst supportedKeypadModes: KeypadMode[] = this.getValue(\n\t\t\tctx,\n\t\t\tUserCodeCCValues.supportedKeypadModes,\n\t\t) ?? [this.keypadMode];\n\n\t\tconst keypadModeValue = UserCodeCCValues.keypadMode;\n\t\tthis.setMetadata(ctx, keypadModeValue, {\n\t\t\t...keypadModeValue.meta,\n\t\t\tstates: enumValuesToMetadataStates(\n\t\t\t\tKeypadMode,\n\t\t\t\tsupportedKeypadModes,\n\t\t\t),\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tpublic readonly keypadMode: KeypadMode;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.keypadMode]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\tkeypadMode: getEnumMemberName(KeypadMode, this.keypadMode),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(UserCodeCommand.KeypadModeGet)\n@expectedCCResponse(UserCodeCCKeypadModeReport)\nexport class UserCodeCCKeypadModeGet extends UserCodeCC {}\n\n// @publicAPI\nexport interface UserCodeCCAdminCodeSetOptions {\n\tadminCode: string;\n}\n\n@CCCommand(UserCodeCommand.AdminCodeSet)\n@useSupervision()\nexport class UserCodeCCAdminCodeSet extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCAdminCodeSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.adminCode = options.adminCode;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): UserCodeCCAdminCodeSet {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst codeLength = raw.payload[0] & 0b1111;\n\t\tvalidatePayload(raw.payload.length >= 1 + codeLength);\n\t\tconst adminCode = raw.payload\n\t\t\t.subarray(1, 1 + codeLength)\n\t\t\t.toString(\"ascii\");\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tadminCode,\n\t\t});\n\t}\n\n\tpublic adminCode: string;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.adminCode.length & 0b1111]),\n\t\t\tBytes.from(this.adminCode, \"ascii\"),\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"admin code\": userCodeToLogString(this.adminCode) },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface UserCodeCCAdminCodeReportOptions {\n\tadminCode: string;\n}\n\n@CCCommand(UserCodeCommand.AdminCodeReport)\n@ccValueProperty(\"adminCode\", UserCodeCCValues.adminCode)\nexport class UserCodeCCAdminCodeReport extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCAdminCodeReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.adminCode = options.adminCode;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): UserCodeCCAdminCodeReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst codeLength = raw.payload[0] & 0b1111;\n\t\tvalidatePayload(raw.payload.length >= 1 + codeLength);\n\t\tconst adminCode = raw.payload\n\t\t\t.subarray(1, 1 + codeLength)\n\t\t\t.toString(\"ascii\");\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tadminCode,\n\t\t});\n\t}\n\n\tpublic readonly adminCode: string;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.adminCode.length & 0b1111]),\n\t\t\tBytes.from(this.adminCode, \"ascii\"),\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"admin code\": userCodeToLogString(this.adminCode) },\n\t\t};\n\t}\n}\n\n@CCCommand(UserCodeCommand.AdminCodeGet)\n@expectedCCResponse(UserCodeCCAdminCodeReport)\nexport class UserCodeCCAdminCodeGet extends UserCodeCC {}\n\n// @publicAPI\nexport interface UserCodeCCUserCodeChecksumReportOptions {\n\tuserCodeChecksum: number;\n}\n\n@CCCommand(UserCodeCommand.UserCodeChecksumReport)\n@ccValueProperty(\"userCodeChecksum\", UserCodeCCValues.userCodeChecksum)\nexport class UserCodeCCUserCodeChecksumReport extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCUserCodeChecksumReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.userCodeChecksum = options.userCodeChecksum;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): UserCodeCCUserCodeChecksumReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst userCodeChecksum = raw.payload.readUInt16BE(0);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tuserCodeChecksum,\n\t\t});\n\t}\n\n\tpublic readonly userCodeChecksum: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = new Bytes(2);\n\t\tthis.payload.writeUInt16BE(this.userCodeChecksum, 0);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"user code checksum\": num2hex(this.userCodeChecksum) },\n\t\t};\n\t}\n}\n\n@CCCommand(UserCodeCommand.UserCodeChecksumGet)\n@expectedCCResponse(UserCodeCCUserCodeChecksumReport)\nexport class UserCodeCCUserCodeChecksumGet extends UserCodeCC {}\n\n// @publicAPI\nexport interface UserCodeCCExtendedUserCodeSetOptions {\n\tuserCodes: UserCodeCCSetOptions[];\n}\n\nexport interface UserCode {\n\tuserId: number;\n\tuserIdStatus: UserIDStatus;\n\tuserCode: string;\n}\n\n@CCCommand(UserCodeCommand.ExtendedUserCodeSet)\n@useSupervision()\nexport class UserCodeCCExtendedUserCodeSet extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCExtendedUserCodeSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.userCodes = options.userCodes;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): UserCodeCCExtendedUserCodeSet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new UserCodeCCExtendedUserCodeSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic userCodes: UserCodeCCSetOptions[];\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst userCodeBuffers = this.userCodes.map((code) => {\n\t\t\tconst ret = Bytes.concat([\n\t\t\t\tBytes.from([\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tcode.userIdStatus,\n\t\t\t\t\tcode.userCode?.length ?? 0,\n\t\t\t\t]),\n\t\t\t\tisUint8Array(code.userCode)\n\t\t\t\t\t? code.userCode\n\t\t\t\t\t: Bytes.from(code.userCode ?? \"\", \"ascii\"),\n\t\t\t]);\n\t\t\tret.writeUInt16BE(code.userId, 0);\n\t\t\treturn ret;\n\t\t});\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.userCodes.length]),\n\t\t\t...userCodeBuffers,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tfor (const { userId, userIdStatus, userCode } of this.userCodes) {\n\t\t\tmessage[`code #${userId}`] = `${\n\t\t\t\tuserCodeToLogString(\n\t\t\t\t\tuserCode ?? \"\",\n\t\t\t\t)\n\t\t\t} (status: ${getEnumMemberName(UserIDStatus, userIdStatus)})`;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface UserCodeCCExtendedUserCodeReportOptions {\n\tuserCodes: UserCode[];\n\tnextUserId: number;\n}\n\n@CCCommand(UserCodeCommand.ExtendedUserCodeReport)\nexport class UserCodeCCExtendedUserCodeReport extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCExtendedUserCodeReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.userCodes = options.userCodes;\n\t\tthis.nextUserId = options.nextUserId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): UserCodeCCExtendedUserCodeReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst numCodes = raw.payload[0];\n\t\tlet offset = 1;\n\t\tconst userCodes: UserCode[] = [];\n\t\t// parse each user code\n\t\tfor (let i = 0; i < numCodes; i++) {\n\t\t\tconst { code, bytesRead } = parseExtendedUserCode(\n\t\t\t\traw.payload.subarray(offset),\n\t\t\t);\n\t\t\tuserCodes.push(code);\n\t\t\toffset += bytesRead;\n\t\t}\n\t\tvalidatePayload(raw.payload.length >= offset + 2);\n\t\tconst nextUserId = raw.payload.readUInt16BE(offset);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tuserCodes,\n\t\t\tnextUserId,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\tfor (const { userId, userIdStatus, userCode } of this.userCodes) {\n\t\t\tpersistUserCode.call(\n\t\t\t\tthis,\n\t\t\t\tctx,\n\t\t\t\tuserId,\n\t\t\t\tuserIdStatus,\n\t\t\t\tuserCode,\n\t\t\t);\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic readonly userCodes: readonly UserCode[];\n\tpublic readonly nextUserId: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tfor (const { userId, userIdStatus, userCode } of this.userCodes) {\n\t\t\tmessage[`code #${userId}`] = `${\n\t\t\t\tuserCodeToLogString(\n\t\t\t\t\tuserCode,\n\t\t\t\t)\n\t\t\t} (status: ${getEnumMemberName(UserIDStatus, userIdStatus)})`;\n\t\t}\n\t\tmessage[\"next user id\"] = this.nextUserId;\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface UserCodeCCExtendedUserCodeGetOptions {\n\tuserId: number;\n\treportMore?: boolean;\n}\n\n@CCCommand(UserCodeCommand.ExtendedUserCodeGet)\n@expectedCCResponse(UserCodeCCExtendedUserCodeReport)\nexport class UserCodeCCExtendedUserCodeGet extends UserCodeCC {\n\tpublic constructor(\n\t\toptions: WithAddress<UserCodeCCExtendedUserCodeGetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.userId = options.userId;\n\t\tthis.reportMore = !!options.reportMore;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): UserCodeCCExtendedUserCodeGet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new UserCodeCCExtendedUserCodeGet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic userId: number;\n\tpublic reportMore: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([0, 0, this.reportMore ? 1 : 0]);\n\t\tthis.payload.writeUInt16BE(this.userId, 0);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"user id\": this.userId,\n\t\t\t\t\"report more\": this.reportMore,\n\t\t\t},\n\t\t};\n\t}\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_safe", "UserCodeCC"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function validateArgs_VersionCCAPI_sendReport(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
2
|
+
export declare function validateArgs_VersionCCAPI_getCCVersion(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
3
|
+
export declare function validateArgs_VersionCCAPI_reportCCVersion(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
4
|
+
//# sourceMappingURL=VersionCC._validateArgs.d.ts.map
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var VersionCC_validateArgs_exports = {};
|
|
31
|
+
__export(VersionCC_validateArgs_exports, {
|
|
32
|
+
validateArgs_VersionCCAPI_getCCVersion: () => validateArgs_VersionCCAPI_getCCVersion,
|
|
33
|
+
validateArgs_VersionCCAPI_reportCCVersion: () => validateArgs_VersionCCAPI_reportCCVersion,
|
|
34
|
+
validateArgs_VersionCCAPI_sendReport: () => validateArgs_VersionCCAPI_sendReport
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(VersionCC_validateArgs_exports);
|
|
37
|
+
var v = __toESM(require("@zwave-js/core/validation"), 1);
|
|
38
|
+
function validateArgs_VersionCCAPI_sendReport(options = {}) {
|
|
39
|
+
return (__decoratedMethod, { kind }) => {
|
|
40
|
+
if (kind === "method") {
|
|
41
|
+
return /* @__PURE__ */ __name(function sendReport(options2) {
|
|
42
|
+
v.assert(v.object({ kind: "parameter", name: "options" }, "VersionCCReportOptions", { "libraryType": v.enum({ kind: "property", name: "libraryType" }, "ZWaveLibraryTypes"), "protocolVersion": v.primitive({ kind: "property", name: "protocolVersion" }, "string"), "firmwareVersions": v.array({ kind: "property", name: "firmwareVersions" }, "string", v.primitive({ kind: "item", name: "firmwareVersions" }, "string")), "hardwareVersion": v.optional({ kind: "property", name: "hardwareVersion" }, v.primitive({ kind: "property", name: "hardwareVersion" }, "number")) })(options2));
|
|
43
|
+
return __decoratedMethod.call(this, options2);
|
|
44
|
+
}, "sendReport");
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
__name(validateArgs_VersionCCAPI_sendReport, "validateArgs_VersionCCAPI_sendReport");
|
|
49
|
+
function validateArgs_VersionCCAPI_getCCVersion(options = {}) {
|
|
50
|
+
return (__decoratedMethod, { kind }) => {
|
|
51
|
+
if (kind === "method") {
|
|
52
|
+
return /* @__PURE__ */ __name(function getCCVersion(requestedCC) {
|
|
53
|
+
v.assert(v.enum({ kind: "parameter", name: "requestedCC" }, "CommandClasses")(requestedCC));
|
|
54
|
+
return __decoratedMethod.call(this, requestedCC);
|
|
55
|
+
}, "getCCVersion");
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
__name(validateArgs_VersionCCAPI_getCCVersion, "validateArgs_VersionCCAPI_getCCVersion");
|
|
60
|
+
function validateArgs_VersionCCAPI_reportCCVersion(options = {}) {
|
|
61
|
+
return (__decoratedMethod, { kind }) => {
|
|
62
|
+
if (kind === "method") {
|
|
63
|
+
return /* @__PURE__ */ __name(function reportCCVersion(requestedCC) {
|
|
64
|
+
v.assert(v.enum({ kind: "parameter", name: "requestedCC" }, "CommandClasses")(requestedCC));
|
|
65
|
+
return __decoratedMethod.call(this, requestedCC);
|
|
66
|
+
}, "reportCCVersion");
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
__name(validateArgs_VersionCCAPI_reportCCVersion, "validateArgs_VersionCCAPI_reportCCVersion");
|
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
+
0 && (module.exports = {
|
|
73
|
+
validateArgs_VersionCCAPI_getCCVersion,
|
|
74
|
+
validateArgs_VersionCCAPI_reportCCVersion,
|
|
75
|
+
validateArgs_VersionCCAPI_sendReport
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=VersionCC._validateArgs.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/cc/VersionCC._validateArgs.ts"],
|
|
4
|
+
"sourcesContent": [null],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;AAAA,QAAmB;AAEb,SAAU,qCAAqC,UAAe,CAAA,GAAE;AACrE,SAAO,CAAqB,mBAAsB,EAAE,KAAI,MAA6C;AACpG,QAAI,SAAS,UAAU;AACtB,aAAO,gCAAS,WAAsBA,UAAgB;AACrD,UAAE,OACD,EAAE,OAAO,EAAE,MAAM,aAAa,MAAM,UAAS,GAAI,0BAA0B,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,MAAM,cAAa,GAAI,mBAAmB,GAAG,mBAAmB,EAAE,UAAU,EAAE,MAAM,YAAY,MAAM,kBAAiB,GAAI,QAAQ,GAAG,oBAAoB,EAAE,MAAM,EAAE,MAAM,YAAY,MAAM,mBAAkB,GAAI,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,MAAM,mBAAkB,GAAI,QAAQ,CAAC,GAAG,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,MAAM,kBAAiB,GAAI,EAAE,UAAU,EAAE,MAAM,YAAY,MAAM,kBAAiB,GAAI,QAAQ,CAAC,EAAC,CAAE,EAAEA,QAAO,CAAC;AAEtjB,eAAO,kBAAkB,KAAK,MAAMA,QAAO;MAC5C,GALO;IAMR;EACD;AACD;AAXgB;AAaV,SAAU,uCAAuC,UAAe,CAAA,GAAE;AACvE,SAAO,CAAqB,mBAAsB,EAAE,KAAI,MAA6C;AACpG,QAAI,SAAS,UAAU;AACtB,aAAO,gCAAS,aAAwB,aAAoB;AAC3D,UAAE,OACD,EAAE,KAAK,EAAE,MAAM,aAAa,MAAM,cAAa,GAAI,gBAAgB,EAAE,WAAW,CAAC;AAElF,eAAO,kBAAkB,KAAK,MAAM,WAAW;MAChD,GALO;IAMR;EACD;AACD;AAXgB;AAaV,SAAU,0CAA0C,UAAe,CAAA,GAAE;AAC1E,SAAO,CAAqB,mBAAsB,EAAE,KAAI,MAA6C;AACpG,QAAI,SAAS,UAAU;AACtB,aAAO,gCAAS,gBAA2B,aAAoB;AAC9D,UAAE,OACD,EAAE,KAAK,EAAE,MAAM,aAAa,MAAM,cAAa,GAAI,gBAAgB,EAAE,WAAW,CAAC;AAElF,eAAO,kBAAkB,KAAK,MAAM,WAAW;MAChD,GALO;IAMR;EACD;AACD;AAXgB;",
|
|
6
|
+
"names": ["options"]
|
|
7
|
+
}
|