@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/SecurityCC.ts"],
|
|
4
4
|
"sourcesContent": ["import {\n\tCommandClasses,\n\tEncapsulationFlags,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\tSecurityClass,\n\ttype SecurityManager,\n\tTransmitOptions,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tcomputeMACAsync,\n\tcomputeMACSync,\n\tdecryptAES128OFBAsync,\n\tdecryptAES128OFBSync,\n\tencodeCCList,\n\tencryptAES128OFBAsync,\n\tencryptAES128OFBSync,\n\tgenerateAuthKeyAsync,\n\tgenerateAuthKeySync,\n\tgenerateEncryptionKeyAsync,\n\tgenerateEncryptionKeySync,\n\tgetCCName,\n\tisTransmissionError,\n\tparseCCList,\n\trandomBytes,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { type MaybeNotKnown } from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex, num2hex, pick } from \"@zwave-js/shared/safe\";\nimport { wait } from \"alcalzone-shared/async\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { SecurityCommand } from \"../lib/_Types.js\";\nimport { CRC16CC } from \"./CRC16CC.js\";\nimport { Security2CC } from \"./Security2CC.js\";\nimport { TransportServiceCC } from \"./TransportServiceCC.js\";\n\n// @noSetValueAPI This is an encapsulation CC\n\nfunction getAuthenticationData(\n\tsenderNonce: Uint8Array,\n\treceiverNonce: Uint8Array,\n\tccCommand: SecurityCommand,\n\tsendingNodeId: number,\n\treceivingNodeId: number,\n\tencryptedPayload: Uint8Array,\n): Uint8Array {\n\treturn Bytes.concat([\n\t\tsenderNonce,\n\t\treceiverNonce,\n\t\tBytes.from([\n\t\t\tccCommand,\n\t\t\tsendingNodeId,\n\t\t\treceivingNodeId,\n\t\t\tencryptedPayload.length,\n\t\t]),\n\t\tencryptedPayload,\n\t]);\n}\n\nfunction throwNoNonce(reason?: string): never {\n\tlet message = `Security CC requires a nonce to be sent!`;\n\tif (reason) message += ` Reason: ${reason}`;\n\tthrow new ZWaveError(message, ZWaveErrorCodes.SecurityCC_NoNonce);\n}\n\nconst HALF_NONCE_SIZE = 8;\n\nfunction assertSecurityRX(\n\tctx: CCParsingContext,\n): asserts ctx is CCParsingContext & { securityManager: SecurityManager } {\n\tif (!ctx.ownNodeId) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be decoded when the controller's node id is known!`,\n\t\t\tZWaveErrorCodes.Driver_NotReady,\n\t\t);\n\t}\n\n\tif (!ctx.securityManager) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be decoded when the security manager is set up!`,\n\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t);\n\t}\n}\n\nfunction assertSecurityTX(\n\tctx: CCEncodingContext,\n): asserts ctx is CCEncodingContext & { securityManager: SecurityManager } {\n\tif (!ctx.ownNodeId) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be sent when the controller's node id is known!`,\n\t\t\tZWaveErrorCodes.Driver_NotReady,\n\t\t);\n\t}\n\n\tif (!ctx.securityManager) {\n\t\tthrow new ZWaveError(\n\t\t\t`Secure commands (S0) can only be sent when the security manager is set up!`,\n\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t);\n\t}\n}\n\n// TODO: Ignore commands if received via multicast\n\n// Encapsulation CCs are used internally and too frequently that we\n// want to pay the cost of validating each call\n/* eslint-disable @zwave-js/ccapi-validate-args */\n\n@API(CommandClasses.Security)\nexport class SecurityCCAPI extends PhysicalCCAPI {\n\tpublic supportsCommand(_cmd: SecurityCommand): MaybeNotKnown<boolean> {\n\t\t// All commands are mandatory\n\t\treturn true;\n\t}\n\n\tpublic async sendEncapsulated(\n\t\tencapsulated: CommandClass,\n\t\trequestNextNonce: boolean = false,\n\t): Promise<void> {\n\t\tif (requestNextNonce) {\n\t\t\tthis.assertSupportsCommand(\n\t\t\t\tSecurityCommand,\n\t\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\t);\n\t\t} else {\n\t\t\tthis.assertSupportsCommand(\n\t\t\t\tSecurityCommand,\n\t\t\t\tSecurityCommand.CommandEncapsulationNonceGet,\n\t\t\t);\n\t\t}\n\n\t\tconst cc = new (\n\t\t\trequestNextNonce\n\t\t\t\t? SecurityCCCommandEncapsulationNonceGet\n\t\t\t\t: SecurityCCCommandEncapsulation\n\t\t)({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tencapsulated,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t/**\n\t * Requests a new nonce for Security CC encapsulation which is not directly linked to a specific command.\n\t */\n\tpublic async getNonce(): Promise<Uint8Array | undefined> {\n\t\tthis.assertSupportsCommand(SecurityCommand, SecurityCommand.NonceGet);\n\n\t\tconst cc = new SecurityCCNonceGet({\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<SecurityCCNonceReport>(\n\t\t\tcc,\n\t\t\t{\n\t\t\t\t...this.commandOptions,\n\t\t\t\t// Only try getting a nonce once\n\t\t\t\tmaxSendAttempts: 1,\n\t\t\t},\n\t\t);\n\t\tif (!response) return;\n\n\t\tconst nonce = response.nonce;\n\t\tconst secMan = this.host.securityManager!;\n\t\tsecMan.setNonce(\n\t\t\t{\n\t\t\t\tissuer: this.endpoint.nodeId,\n\t\t\t\tnonceId: secMan.getNonceId(nonce),\n\t\t\t},\n\t\t\t{ nonce, receiver: this.host.ownNodeId },\n\t\t\t{ free: true },\n\t\t);\n\t\treturn nonce;\n\t}\n\n\t/**\n\t * Responds to a NonceGet request. The message is sent without any retransmission etc.\n\t * The return value indicates whether a nonce was successfully sent\n\t */\n\tpublic async sendNonce(): Promise<boolean> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NonceReport,\n\t\t);\n\n\t\tif (!this.host.securityManager) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Nonces can only be sent if secure communication is set up!`,\n\t\t\t\tZWaveErrorCodes.Driver_NoSecurity,\n\t\t\t);\n\t\t}\n\n\t\tconst nonce = this.host.securityManager.generateNonce(\n\t\t\tthis.endpoint.nodeId,\n\t\t\tHALF_NONCE_SIZE,\n\t\t);\n\t\tconst nonceId = this.host.securityManager.getNonceId(nonce);\n\n\t\tconst cc = new SecurityCCNonceReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tnonce,\n\t\t});\n\n\t\ttry {\n\t\t\tawait this.host.sendCommand(cc, {\n\t\t\t\t...this.commandOptions,\n\t\t\t\t// Seems we need these options or some nodes won't accept the nonce\n\t\t\t\ttransmitOptions: TransmitOptions.ACK\n\t\t\t\t\t| TransmitOptions.AutoRoute,\n\t\t\t\t// Only try sending a nonce once\n\t\t\t\tmaxSendAttempts: 1,\n\t\t\t\t// Nonce requests must be handled immediately\n\t\t\t\tpriority: MessagePriority.Immediate,\n\t\t\t\t// We don't want failures causing us to treat the node as asleep or dead\n\t\t\t\tchangeNodeStatusOnMissingACK: false,\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tif (isTransmissionError(e)) {\n\t\t\t\t// The nonce could not be sent, invalidate it\n\t\t\t\tthis.host.securityManager.deleteNonce(nonceId);\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\t// Pass other errors through\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic async getSecurityScheme(): Promise<[0]> {\n\t\tthis.assertSupportsCommand(SecurityCommand, SecurityCommand.SchemeGet);\n\n\t\tconst cc = new SecurityCCSchemeGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t\t// There is only one scheme, so we hardcode it\n\t\treturn [0];\n\t}\n\n\tpublic async reportSecurityScheme(encapsulated: boolean): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.SchemeReport,\n\t\t);\n\n\t\tlet cc: CommandClass = new SecurityCCSchemeReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tif (encapsulated) {\n\t\t\tcc = new SecurityCCCommandEncapsulation({\n\t\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\t\tendpointIndex: this.endpoint.index,\n\t\t\t\tencapsulated: cc,\n\t\t\t});\n\t\t}\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async inheritSecurityScheme(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.SchemeInherit,\n\t\t);\n\n\t\tconst cc = new SecurityCCSchemeInherit({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t\t// There is only one scheme, so we don't return anything here\n\t}\n\n\tpublic async setNetworkKey(networkKey: Uint8Array): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NetworkKeySet,\n\t\t);\n\n\t\tconst keySet = new SecurityCCNetworkKeySet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tnetworkKey,\n\t\t});\n\t\tconst cc = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tencapsulated: keySet,\n\t\t\talternativeNetworkKey: new Uint8Array(16).fill(0),\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tpublic async verifyNetworkKey(): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.NetworkKeyVerify,\n\t\t);\n\n\t\tconst cc = new SecurityCCNetworkKeyVerify({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupportedCommands() {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.CommandsSupportedGet,\n\t\t);\n\n\t\tconst cc = new SecurityCCCommandsSupportedGet({\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\tSecurityCCCommandsSupportedReport\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, [\"supportedCCs\", \"controlledCCs\"]);\n\t\t}\n\t}\n\n\tpublic async reportSupportedCommands(\n\t\tsupportedCCs: CommandClasses[],\n\t\tcontrolledCCs: CommandClasses[],\n\t): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tSecurityCommand,\n\t\t\tSecurityCommand.CommandsSupportedReport,\n\t\t);\n\n\t\tconst cc = new SecurityCCCommandsSupportedReport({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tsupportedCCs,\n\t\t\tcontrolledCCs,\n\t\t\treportsToFollow: 0,\n\t\t});\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses.Security)\n@implementedVersion(1)\nexport class SecurityCC extends CommandClass {\n\tdeclare ccCommand: SecurityCommand;\n\t// Force singlecast for the Security CC\n\tdeclare nodeId: number;\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.Security,\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\tmessage: \"Querying securely supported commands (S0)...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tlet supportedCCs: CommandClasses[] | undefined;\n\t\tlet controlledCCs: CommandClasses[] | undefined;\n\n\t\t// Try up to 3 times on the root device. We REALLY don't want a spurious timeout or collision to cause us to discard a known good security class\n\t\tconst MAX_ATTEMPTS = this.endpointIndex === 0 ? 3 : 1;\n\t\tfor (let attempts = 1; attempts <= MAX_ATTEMPTS; attempts++) {\n\t\t\tconst resp = await api.getSupportedCommands();\n\t\t\tif (resp) {\n\t\t\t\tsupportedCCs = resp.supportedCCs;\n\t\t\t\tcontrolledCCs = resp.controlledCCs;\n\t\t\t\tbreak;\n\t\t\t} else if (attempts < MAX_ATTEMPTS) {\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`Querying securely supported commands (S0), attempt ${attempts}/${MAX_ATTEMPTS} failed. Retrying in 500ms...`,\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\tawait wait(500);\n\t\t\t}\n\t\t}\n\n\t\tif (!supportedCCs || !controlledCCs) {\n\t\t\tif (node.hasSecurityClass(SecurityClass.S0_Legacy) === true) {\n\t\t\t\tctx.logNode(node.id, {\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t\tmessage: \"Querying securely supported commands (S0) failed\",\n\t\t\t\t\tlevel: \"warn\",\n\t\t\t\t});\n\t\t\t\t// TODO: Abort interview?\n\t\t\t} else {\n\t\t\t\t// We didn't know if the node was secure and it didn't respond,\n\t\t\t\t// assume that it doesn't have the S0 security class\n\t\t\t\tctx.logNode(\n\t\t\t\t\tnode.id,\n\t\t\t\t\t`The node was not granted the S0 security class. Continuing interview non-securely.`,\n\t\t\t\t);\n\t\t\t\tnode.setSecurityClass(SecurityClass.S0_Legacy, false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst logLines: string[] = [\n\t\t\t\"received secure commands (S0)\",\n\t\t\t\"supported CCs:\",\n\t\t];\n\t\tfor (const cc of supportedCCs) {\n\t\t\tlogLines.push(`\u00B7 ${getCCName(cc)}`);\n\t\t}\n\t\tlogLines.push(\"controlled CCs:\");\n\t\tfor (const cc of controlledCCs) {\n\t\t\tlogLines.push(`\u00B7 ${getCCName(cc)}`);\n\t\t}\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: logLines.join(\"\\n\"),\n\t\t\tdirection: \"inbound\",\n\t\t});\n\n\t\t// Remember which commands are supported securely\n\t\tfor (const cc of supportedCCs) {\n\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t// for which support is determined later.\n\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\tendpoint.addCC(cc, { secure: true });\n\t\t\t} else {\n\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\tisSupported: true,\n\t\t\t\t\tsecure: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tfor (const cc of controlledCCs) {\n\t\t\t// Basic CC has special rules for when it is considered supported\n\t\t\t// Therefore we mark all other CCs as supported, but not Basic CC,\n\t\t\t// for which support is determined later.\n\t\t\tif (cc === CommandClasses.Basic) {\n\t\t\t\tendpoint.addCC(cc, { secure: true });\n\t\t\t} else {\n\t\t\t\tendpoint.addCC(cc, {\n\t\t\t\t\tisControlled: true,\n\t\t\t\t\tsecure: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t// We know for sure that the node is included securely\n\t\tif (node.hasSecurityClass(SecurityClass.S0_Legacy) !== true) {\n\t\t\tnode.setSecurityClass(SecurityClass.S0_Legacy, true);\n\t\t\tctx.logNode(\n\t\t\t\tnode.id,\n\t\t\t\t`The node was granted the S0 security class`,\n\t\t\t);\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\t/** Tests if a command should be sent secure and thus requires encapsulation */\n\tpublic static requiresEncapsulation(cc: CommandClass): boolean {\n\t\t// No security flag -> no encapsulation\n\t\tif (!(cc.encapsulationFlags & EncapsulationFlags.Security)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// S2, CRC16, Transport Service -> no S2 encapsulation\n\t\tif (\n\t\t\tcc instanceof Security2CC\n\t\t\t|| cc instanceof CRC16CC\n\t\t\t|| cc instanceof TransportServiceCC\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// S0: check command\n\t\tif (cc instanceof SecurityCC) {\n\t\t\tswitch (cc.ccCommand) {\n\t\t\t\t// Already encapsulated\n\t\t\t\tcase SecurityCommand.CommandEncapsulation:\n\t\t\t\tcase SecurityCommand.CommandEncapsulationNonceGet:\n\t\t\t\t// Cannot be sent encapsulated:\n\t\t\t\tcase SecurityCommand.NonceGet:\n\t\t\t\tcase SecurityCommand.NonceReport:\n\t\t\t\tcase SecurityCommand.SchemeGet:\n\t\t\t\tcase SecurityCommand.SchemeReport:\n\t\t\t\t\treturn false;\n\n\t\t\t\tdefault:\n\t\t\t\t\t// All other commands must be encapsulated\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Everything else needs to be encapsulated if the CC is secure\n\t\treturn true;\n\t}\n\n\t/** Encapsulates a command that should be sent encrypted */\n\tpublic static encapsulate(\n\t\townNodeId: number,\n\t\tsecurityManager: SecurityManager,\n\t\tcc: CommandClass,\n\t): SecurityCCCommandEncapsulation {\n\t\t// TODO: When to return a SecurityCCCommandEncapsulationNonceGet?\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: cc.nodeId,\n\t\t\tencapsulated: cc,\n\t\t});\n\n\t\t// Copy the encapsulation flags from the encapsulated command\n\t\t// but omit Security, since we're doing that right now\n\t\tret.encapsulationFlags = cc.encapsulationFlags\n\t\t\t& ~EncapsulationFlags.Security;\n\n\t\treturn ret;\n\t}\n}\n\ninterface SecurityCCNonceReportOptions {\n\tnonce: Uint8Array;\n}\n\n@CCCommand(SecurityCommand.NonceReport)\nexport class SecurityCCNonceReport extends SecurityCC {\n\tconstructor(\n\t\toptions: WithAddress<SecurityCCNonceReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`Nonce must have length ${HALF_NONCE_SIZE}!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.nonce = options.nonce;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCNonceReport {\n\t\tvalidatePayload.withReason(\"Invalid nonce length\")(\n\t\t\traw.payload.length === HALF_NONCE_SIZE,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnonce: raw.payload,\n\t\t});\n\t}\n\n\tpublic nonce: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.view(this.nonce);\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: { nonce: buffer2hex(this.nonce) },\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.NonceGet)\n@expectedCCResponse(SecurityCCNonceReport)\nexport class SecurityCCNonceGet extends SecurityCC {}\n\n// @publicAPI\nexport type SecurityCCCommandEncapsulationOptions =\n\t& {\n\t\talternativeNetworkKey?: Uint8Array;\n\t}\n\t& ({\n\t\tencapsulated: CommandClass;\n\t} | {\n\t\tdecryptedCCBytes: Uint8Array;\n\t\tsequenced: boolean;\n\t\tsecondFrame: boolean;\n\t\tsequenceCounter: number;\n\t});\n\nfunction getCCResponseForCommandEncapsulation(\n\tsent: SecurityCCCommandEncapsulation,\n) {\n\tif (sent.encapsulated.expectsCCResponse()) {\n\t\treturn SecurityCCCommandEncapsulation;\n\t}\n}\n\n@CCCommand(SecurityCommand.CommandEncapsulation)\n@expectedCCResponse(\n\tgetCCResponseForCommandEncapsulation,\n\t() => \"checkEncapsulated\",\n)\nexport class SecurityCCCommandEncapsulation extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCCommandEncapsulationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tif (\"encapsulated\" in options) {\n\t\t\tthis.encapsulated = options.encapsulated;\n\t\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t\t} else {\n\t\t\tthis.decryptedCCBytes = options.decryptedCCBytes;\n\t\t\tthis.sequenced = options.sequenced;\n\t\t\tthis.secondFrame = options.secondFrame;\n\t\t\tthis.sequenceCounter = options.sequenceCounter;\n\t\t}\n\t\tthis.alternativeNetworkKey = options.alternativeNetworkKey;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCCommandEncapsulation {\n\t\tassertSecurityRX(ctx);\n\n\t\t// HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8,\n\t\t);\n\t\tconst iv = raw.payload.subarray(0, HALF_NONCE_SIZE);\n\t\tconst encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);\n\t\tconst nonceId = raw.payload.at(-9)!;\n\t\tconst authCode = raw.payload.subarray(-8);\n\n\t\t// Retrieve the used nonce from the nonce store\n\t\tconst nonce = ctx.securityManager.getNonce(nonceId);\n\t\t// Only accept the message if the nonce hasn't expired\n\t\tif (!nonce) {\n\t\t\tvalidatePayload.fail(\n\t\t\t\t`Nonce ${\n\t\t\t\t\tnum2hex(\n\t\t\t\t\t\tnonceId,\n\t\t\t\t\t)\n\t\t\t\t} expired, cannot decode security encapsulated command.`,\n\t\t\t);\n\t\t}\n\t\t// and mark the nonce as used\n\t\tctx.securityManager.deleteNonce(nonceId);\n\n\t\t// Validate the encrypted data\n\t\tconst authData = getAuthenticationData(\n\t\t\tiv,\n\t\t\tnonce,\n\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\tctx.sourceNodeId,\n\t\t\tctx.ownNodeId,\n\t\t\tencryptedPayload,\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst expectedAuthCode = computeMACSync(\n\t\t\tauthData,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tctx.securityManager.authKey,\n\t\t);\n\t\t// Only accept messages with a correct auth code\n\t\tvalidatePayload.withReason(\n\t\t\t\"Invalid auth code, won't accept security encapsulated command.\",\n\t\t)(authCode.equals(expectedAuthCode));\n\n\t\t// Decrypt the encapsulated CC\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst frameControlAndDecryptedCC = decryptAES128OFBSync(\n\t\t\tencryptedPayload,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tctx.securityManager.encryptionKey,\n\t\t\tBytes.concat([iv, nonce]),\n\t\t);\n\t\tconst frameControl = frameControlAndDecryptedCC[0];\n\t\tconst sequenceCounter = frameControl & 0b1111;\n\t\tconst sequenced = !!(frameControl & 0b1_0000);\n\t\tconst secondFrame = !!(frameControl & 0b10_0000);\n\t\tconst decryptedCCBytes: Uint8Array | undefined =\n\t\t\tframeControlAndDecryptedCC\n\t\t\t\t.subarray(1);\n\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceCounter,\n\t\t\tsequenced,\n\t\t\tsecondFrame,\n\t\t\tdecryptedCCBytes,\n\t\t});\n\n\t\tret.authData = authData;\n\t\tret.authCode = authCode;\n\t\tret.iv = iv;\n\n\t\treturn ret;\n\t}\n\n\tpublic static async fromAsync(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): Promise<SecurityCCCommandEncapsulation> {\n\t\tassertSecurityRX(ctx);\n\n\t\t// HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code\n\t\tvalidatePayload(\n\t\t\traw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8,\n\t\t);\n\t\tconst iv = raw.payload.subarray(0, HALF_NONCE_SIZE);\n\t\tconst encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);\n\t\tconst nonceId = raw.payload.at(-9)!;\n\t\tconst authCode = raw.payload.subarray(-8);\n\n\t\t// Retrieve the used nonce from the nonce store\n\t\tconst nonce = ctx.securityManager.getNonce(nonceId);\n\t\t// Only accept the message if the nonce hasn't expired\n\t\tif (!nonce) {\n\t\t\tvalidatePayload.fail(\n\t\t\t\t`Nonce ${\n\t\t\t\t\tnum2hex(\n\t\t\t\t\t\tnonceId,\n\t\t\t\t\t)\n\t\t\t\t} expired, cannot decode security encapsulated command.`,\n\t\t\t);\n\t\t}\n\t\t// and mark the nonce as used\n\t\tctx.securityManager.deleteNonce(nonceId);\n\n\t\t// Validate the encrypted data\n\t\tconst authData = getAuthenticationData(\n\t\t\tiv,\n\t\t\tnonce,\n\t\t\tSecurityCommand.CommandEncapsulation,\n\t\t\tctx.sourceNodeId,\n\t\t\tctx.ownNodeId,\n\t\t\tencryptedPayload,\n\t\t);\n\t\tconst expectedAuthCode = await computeMACAsync(\n\t\t\tauthData,\n\t\t\tawait ctx.securityManager.getAuthKey(),\n\t\t);\n\t\t// Only accept messages with a correct auth code\n\t\tvalidatePayload.withReason(\n\t\t\t\"Invalid auth code, won't accept security encapsulated command.\",\n\t\t)(authCode.equals(expectedAuthCode));\n\n\t\t// Decrypt the encapsulated CC\n\t\tconst frameControlAndDecryptedCC = await decryptAES128OFBAsync(\n\t\t\tencryptedPayload,\n\t\t\tawait ctx.securityManager.getEncryptionKey(),\n\t\t\tBytes.concat([iv, nonce]),\n\t\t);\n\t\tconst frameControl = frameControlAndDecryptedCC[0];\n\t\tconst sequenceCounter = frameControl & 0b1111;\n\t\tconst sequenced = !!(frameControl & 0b1_0000);\n\t\tconst secondFrame = !!(frameControl & 0b10_0000);\n\t\tconst decryptedCCBytes: Uint8Array | undefined =\n\t\t\tframeControlAndDecryptedCC\n\t\t\t\t.subarray(1);\n\n\t\tconst ret = new SecurityCCCommandEncapsulation({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceCounter,\n\t\t\tsequenced,\n\t\t\tsecondFrame,\n\t\t\tdecryptedCCBytes,\n\t\t});\n\n\t\tret.authData = authData;\n\t\tret.authCode = authCode;\n\t\tret.iv = iv;\n\n\t\treturn ret;\n\t}\n\n\tprivate sequenced: boolean | undefined;\n\tprivate secondFrame: boolean | undefined;\n\tprivate sequenceCounter: number | undefined;\n\n\tprivate decryptedCCBytes: Uint8Array | undefined;\n\tpublic encapsulated!: CommandClass;\n\n\tprivate alternativeNetworkKey?: Uint8Array;\n\n\tpublic get nonceId(): number | undefined {\n\t\treturn this.nonce?.[0];\n\t}\n\tpublic nonce: Uint8Array | undefined;\n\n\t// Only used testing/for debugging purposes\n\tprivate iv?: Uint8Array;\n\tprivate authData?: Uint8Array;\n\tprivate authCode?: Uint8Array;\n\tprivate ciphertext?: Uint8Array;\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\tif (this.sequenced) {\n\t\t\treturn {\n\t\t\t\t// Treat Encapsulation and EncapsulationNonceGet as one\n\t\t\t\tccCommand: undefined,\n\t\t\t\tsequence: this.sequenceCounter,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\t// Treat Encapsulation and EncapsulationNonceGet as one\n\t\t\t\tccCommand: undefined,\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn !!this.sequenced && !this.secondFrame;\n\t}\n\n\t/** @deprecated Use {@link mergePartialCCsAsync} instead */\n\tpublic mergePartialCCs(\n\t\tpartials: SecurityCCCommandEncapsulation[],\n\t\tctx: CCParsingContext,\n\t): void {\n\t\t// Concat the CC buffers\n\t\tthis.decryptedCCBytes = Bytes.concat(\n\t\t\t[...partials, this].map((cc) => cc.decryptedCCBytes!),\n\t\t);\n\t\t// make sure this contains a complete CC command that's worth splitting\n\t\tvalidatePayload(this.decryptedCCBytes.length >= 2);\n\t\t// and deserialize the CC\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tthis.encapsulated = CommandClass.parse(this.decryptedCCBytes, ctx);\n\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t}\n\n\tpublic async mergePartialCCsAsync(\n\t\tpartials: SecurityCCCommandEncapsulation[],\n\t\tctx: CCParsingContext,\n\t): Promise<void> {\n\t\t// Concat the CC buffers\n\t\tthis.decryptedCCBytes = Bytes.concat(\n\t\t\t[...partials, this].map((cc) => cc.decryptedCCBytes!),\n\t\t);\n\t\t// make sure this contains a complete CC command that's worth splitting\n\t\tvalidatePayload(this.decryptedCCBytes.length >= 2);\n\t\t// and deserialize the CC\n\t\tthis.encapsulated = await CommandClass.parseAsync(\n\t\t\tthis.decryptedCCBytes,\n\t\t\tctx,\n\t\t);\n\t\tthis.encapsulated.encapsulatingCC = this as any;\n\t}\n\n\t/** @deprecated Use {@link serializeAsync} instead */\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tif (!this.nonce) throwNoNonce();\n\t\tif (this.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrowNoNonce(\"Invalid nonce size\");\n\t\t}\n\t\tassertSecurityTX(ctx);\n\n\t\tlet authKey: Uint8Array;\n\t\tlet encryptionKey: Uint8Array;\n\t\tif (this.alternativeNetworkKey) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tauthKey = generateAuthKeySync(this.alternativeNetworkKey);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tencryptionKey = generateEncryptionKeySync(\n\t\t\t\tthis.alternativeNetworkKey,\n\t\t\t);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tauthKey = ctx.securityManager.authKey;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\t\tencryptionKey = ctx.securityManager.encryptionKey;\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst serializedCC = this.encapsulated.serialize(ctx);\n\t\tconst plaintext = Bytes.concat([\n\t\t\tBytes.from([0]), // TODO: frame control\n\t\t\tserializedCC,\n\t\t]);\n\t\t// Encrypt the payload\n\t\tconst senderNonce = randomBytes(HALF_NONCE_SIZE);\n\t\tconst iv = Bytes.concat([senderNonce, this.nonce]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst ciphertext = encryptAES128OFBSync(plaintext, encryptionKey, iv);\n\t\t// And generate the auth code\n\t\tconst authData = getAuthenticationData(\n\t\t\tsenderNonce,\n\t\t\tthis.nonce,\n\t\t\tthis.ccCommand,\n\t\t\tctx.ownNodeId,\n\t\t\tthis.nodeId,\n\t\t\tciphertext,\n\t\t);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tconst authCode = computeMACSync(authData, authKey);\n\n\t\t// Remember for debugging purposes\n\t\tthis.iv = iv;\n\t\tthis.authData = authData;\n\t\tthis.authCode = authCode;\n\t\tthis.ciphertext = ciphertext;\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tsenderNonce,\n\t\t\tciphertext,\n\t\t\tBytes.from([this.nonceId!]),\n\t\t\tauthCode,\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 async serializeAsync(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tif (!this.nonce) throwNoNonce();\n\t\tif (this.nonce.length !== HALF_NONCE_SIZE) {\n\t\t\tthrowNoNonce(\"Invalid nonce size\");\n\t\t}\n\t\tassertSecurityTX(ctx);\n\n\t\tlet authKey: Uint8Array;\n\t\tlet encryptionKey: Uint8Array;\n\t\tif (this.alternativeNetworkKey) {\n\t\t\tauthKey = await generateAuthKeyAsync(this.alternativeNetworkKey);\n\t\t\tencryptionKey = await generateEncryptionKeyAsync(\n\t\t\t\tthis.alternativeNetworkKey,\n\t\t\t);\n\t\t} else {\n\t\t\tauthKey = await ctx.securityManager.getAuthKey();\n\t\t\tencryptionKey = await ctx.securityManager.getEncryptionKey();\n\t\t}\n\n\t\tconst serializedCC = await this.encapsulated.serializeAsync(ctx);\n\t\tconst plaintext = Bytes.concat([\n\t\t\tBytes.from([0]), // TODO: frame control\n\t\t\tserializedCC,\n\t\t]);\n\t\t// Encrypt the payload\n\t\tconst senderNonce = randomBytes(HALF_NONCE_SIZE);\n\t\tconst iv = Bytes.concat([senderNonce, this.nonce]);\n\t\tconst ciphertext = await encryptAES128OFBAsync(\n\t\t\tplaintext,\n\t\t\tencryptionKey,\n\t\t\tiv,\n\t\t);\n\t\t// And generate the auth code\n\t\tconst authData = getAuthenticationData(\n\t\t\tsenderNonce,\n\t\t\tthis.nonce,\n\t\t\tthis.ccCommand,\n\t\t\tctx.ownNodeId,\n\t\t\tthis.nodeId,\n\t\t\tciphertext,\n\t\t);\n\t\tconst authCode = await computeMACAsync(authData, authKey);\n\n\t\t// Remember for debugging purposes\n\t\tthis.iv = iv;\n\t\tthis.authData = authData;\n\t\tthis.authCode = authCode;\n\t\tthis.ciphertext = ciphertext;\n\n\t\tthis.payload = Bytes.concat([\n\t\t\tsenderNonce,\n\t\t\tciphertext,\n\t\t\tBytes.from([this.nonceId!]),\n\t\t\tauthCode,\n\t\t]);\n\t\treturn super.serializeAsync(ctx);\n\t}\n\n\tprotected computeEncapsulationOverhead(): number {\n\t\t// Security CC adds 8 bytes IV, 1 byte frame control, 1 byte nonce ID, 8 bytes MAC\n\t\treturn super.computeEncapsulationOverhead() + 18;\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {};\n\t\tif (this.nonceId != undefined) {\n\t\t\tmessage[\"nonce id\"] = this.nonceId;\n\t\t}\n\t\tif (this.sequenced != undefined) {\n\t\t\tmessage.sequenced = this.sequenced;\n\t\t\tif (this.sequenced) {\n\t\t\t\tif (this.secondFrame != undefined) {\n\t\t\t\t\tmessage[\"second frame\"] = this.secondFrame;\n\t\t\t\t}\n\t\t\t\tif (this.sequenceCounter != undefined) {\n\t\t\t\t\tmessage[\"sequence counter\"] = this.sequenceCounter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Log the plaintext in integration tests and development mode\n\t\tif (\n\t\t\tprocess.env.NODE_ENV === \"test\"\n\t\t\t|| process.env.NODE_ENV === \"development\"\n\t\t) {\n\t\t\tif (this.iv) {\n\t\t\t\tmessage.IV = buffer2hex(this.iv);\n\t\t\t}\n\t\t\tif (this.ciphertext) {\n\t\t\t\tmessage.ciphertext = buffer2hex(this.ciphertext);\n\t\t\t} else if (this.decryptedCCBytes) {\n\t\t\t\tmessage.plaintext = buffer2hex(this.decryptedCCBytes);\n\t\t\t}\n\t\t\tif (this.authData) {\n\t\t\t\tmessage[\"auth data\"] = buffer2hex(this.authData);\n\t\t\t}\n\t\t\tif (this.authCode) {\n\t\t\t\tmessage[\"auth code\"] = buffer2hex(this.authCode);\n\t\t\t}\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// This is the same message, but with another CC command\n@CCCommand(SecurityCommand.CommandEncapsulationNonceGet)\nexport class SecurityCCCommandEncapsulationNonceGet\n\textends SecurityCCCommandEncapsulation\n{}\n\n@CCCommand(SecurityCommand.SchemeReport)\nexport class SecurityCCSchemeReport extends SecurityCC {\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCSchemeReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\t// The including controller MUST NOT perform any validation of the Supported Security Schemes byte\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t});\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([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\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.SchemeGet)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeGet extends SecurityCC {\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([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\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.SchemeInherit)\n@expectedCCResponse(SecurityCCSchemeReport)\nexport class SecurityCCSchemeInherit extends SecurityCC {\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)\n\t\tthis.payload = Bytes.from([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\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.NetworkKeyVerify)\nexport class SecurityCCNetworkKeyVerify extends SecurityCC {}\n\n// @publicAPI\nexport interface SecurityCCNetworkKeySetOptions {\n\tnetworkKey: Uint8Array;\n}\n\n@CCCommand(SecurityCommand.NetworkKeySet)\n@expectedCCResponse(SecurityCCNetworkKeyVerify)\nexport class SecurityCCNetworkKeySet extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCNetworkKeySetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.networkKey.length !== 16) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`The network key must have length 16!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.networkKey = options.networkKey;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCNetworkKeySet {\n\t\tvalidatePayload(raw.payload.length >= 16);\n\t\tconst networkKey: Uint8Array = raw.payload.subarray(0, 16);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnetworkKey,\n\t\t});\n\t}\n\n\tpublic networkKey: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.view(this.networkKey);\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\t// The network key shouldn't be logged, so users can safely post their logs online\n\t\tconst { message, ...log } = super.toLogEntry(ctx);\n\t\treturn log;\n\t}\n}\n\n// @publicAPI\nexport interface SecurityCCCommandsSupportedReportOptions {\n\treportsToFollow?: number;\n\tsupportedCCs: CommandClasses[];\n\tcontrolledCCs: CommandClasses[];\n}\n\n@CCCommand(SecurityCommand.CommandsSupportedReport)\nexport class SecurityCCCommandsSupportedReport extends SecurityCC {\n\tpublic constructor(\n\t\toptions: WithAddress<SecurityCCCommandsSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.supportedCCs = options.supportedCCs;\n\t\tthis.controlledCCs = options.controlledCCs;\n\t\t// TODO: properly split the CCs into multiple reports\n\t\tthis.reportsToFollow = options.reportsToFollow ?? 0;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): SecurityCCCommandsSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst reportsToFollow = raw.payload[0];\n\t\tconst list = parseCCList(raw.payload.subarray(1));\n\t\tconst supportedCCs: CommandClasses[] = list.supportedCCs;\n\t\tconst controlledCCs: CommandClasses[] = list.controlledCCs;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\treportsToFollow,\n\t\t\tsupportedCCs,\n\t\t\tcontrolledCCs,\n\t\t});\n\t}\n\n\tpublic reportsToFollow: number;\n\tpublic supportedCCs: CommandClasses[];\n\tpublic controlledCCs: CommandClasses[];\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\t// Nothing special we can distinguish sessions with\n\t\treturn {};\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn this.reportsToFollow > 0;\n\t}\n\n\t/** @deprecated Use {@link mergePartialCCsAsync} instead */\n\tpublic mergePartialCCs(\n\t\tpartials: SecurityCCCommandsSupportedReport[],\n\t): void {\n\t\t// Concat the lists of CCs\n\t\tthis.supportedCCs = [...partials, this]\n\t\t\t.map((report) => report.supportedCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\tthis.controlledCCs = [...partials, this]\n\t\t\t.map((report) => report.controlledCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t}\n\n\tpublic mergePartialCCsAsync(\n\t\tpartials: SecurityCCCommandsSupportedReport[],\n\t): Promise<void> {\n\t\t// Concat the lists of CCs\n\t\tthis.supportedCCs = [...partials, this]\n\t\t\t.map((report) => report.supportedCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\tthis.controlledCCs = [...partials, this]\n\t\t\t.map((report) => report.controlledCCs)\n\t\t\t.reduce((prev, cur) => prev.concat(...cur), []);\n\t\treturn Promise.resolve();\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.reportsToFollow]),\n\t\t\tencodeCCList(this.supportedCCs, this.controlledCCs),\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\treportsToFollow: this.reportsToFollow,\n\t\t\t\tsupportedCCs: this.supportedCCs\n\t\t\t\t\t.map((cc) => getCCName(cc))\n\t\t\t\t\t.map((cc) => `\\n\u00B7 ${cc}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t\tcontrolledCCs: this.controlledCCs\n\t\t\t\t\t.map((cc) => getCCName(cc))\n\t\t\t\t\t.map((cc) => `\\n\u00B7 ${cc}`)\n\t\t\t\t\t.join(\"\"),\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(SecurityCommand.CommandsSupportedGet)\n@expectedCCResponse(SecurityCCCommandsSupportedReport)\nexport class SecurityCCCommandsSupportedGet extends SecurityCC {}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_safe", "SecurityCC", "SecurityCCCommandEncapsulation"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function validateArgs_SoundSwitchCCAPI_getToneInfo(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
2
|
+
export declare function validateArgs_SoundSwitchCCAPI_setConfiguration(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
3
|
+
export declare function validateArgs_SoundSwitchCCAPI_play(options?: any): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
4
|
+
//# sourceMappingURL=SoundSwitchCC._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 SoundSwitchCC_validateArgs_exports = {};
|
|
31
|
+
__export(SoundSwitchCC_validateArgs_exports, {
|
|
32
|
+
validateArgs_SoundSwitchCCAPI_getToneInfo: () => validateArgs_SoundSwitchCCAPI_getToneInfo,
|
|
33
|
+
validateArgs_SoundSwitchCCAPI_play: () => validateArgs_SoundSwitchCCAPI_play,
|
|
34
|
+
validateArgs_SoundSwitchCCAPI_setConfiguration: () => validateArgs_SoundSwitchCCAPI_setConfiguration
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(SoundSwitchCC_validateArgs_exports);
|
|
37
|
+
var v = __toESM(require("@zwave-js/core/validation"), 1);
|
|
38
|
+
function validateArgs_SoundSwitchCCAPI_getToneInfo(options = {}) {
|
|
39
|
+
return (__decoratedMethod, { kind }) => {
|
|
40
|
+
if (kind === "method") {
|
|
41
|
+
return /* @__PURE__ */ __name(function getToneInfo(toneId) {
|
|
42
|
+
v.assert(v.primitive({ kind: "parameter", name: "toneId" }, "number")(toneId));
|
|
43
|
+
return __decoratedMethod.call(this, toneId);
|
|
44
|
+
}, "getToneInfo");
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
__name(validateArgs_SoundSwitchCCAPI_getToneInfo, "validateArgs_SoundSwitchCCAPI_getToneInfo");
|
|
49
|
+
function validateArgs_SoundSwitchCCAPI_setConfiguration(options = {}) {
|
|
50
|
+
return (__decoratedMethod, { kind }) => {
|
|
51
|
+
if (kind === "method") {
|
|
52
|
+
return /* @__PURE__ */ __name(function setConfiguration(defaultToneId, defaultVolume) {
|
|
53
|
+
v.assert(v.primitive({ kind: "parameter", name: "defaultToneId" }, "number")(defaultToneId), v.primitive({ kind: "parameter", name: "defaultVolume" }, "number")(defaultVolume));
|
|
54
|
+
return __decoratedMethod.call(this, defaultToneId, defaultVolume);
|
|
55
|
+
}, "setConfiguration");
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
__name(validateArgs_SoundSwitchCCAPI_setConfiguration, "validateArgs_SoundSwitchCCAPI_setConfiguration");
|
|
60
|
+
function validateArgs_SoundSwitchCCAPI_play(options = {}) {
|
|
61
|
+
return (__decoratedMethod, { kind }) => {
|
|
62
|
+
if (kind === "method") {
|
|
63
|
+
return /* @__PURE__ */ __name(function play(toneId, volume) {
|
|
64
|
+
v.assert(v.primitive({ kind: "parameter", name: "toneId" }, "number")(toneId), v.optional({ kind: "parameter", name: "volume" }, v.primitive({ kind: "parameter", name: "volume" }, "number"))(volume));
|
|
65
|
+
return __decoratedMethod.call(this, toneId, volume);
|
|
66
|
+
}, "play");
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
__name(validateArgs_SoundSwitchCCAPI_play, "validateArgs_SoundSwitchCCAPI_play");
|
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
+
0 && (module.exports = {
|
|
73
|
+
validateArgs_SoundSwitchCCAPI_getToneInfo,
|
|
74
|
+
validateArgs_SoundSwitchCCAPI_play,
|
|
75
|
+
validateArgs_SoundSwitchCCAPI_setConfiguration
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=SoundSwitchCC._validateArgs.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/cc/SoundSwitchCC._validateArgs.ts"],
|
|
4
|
+
"sourcesContent": [null],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;AAAA,QAAmB;AAEb,SAAU,0CAA0C,UAAe,CAAA,GAAE;AAC1E,SAAO,CAAqB,mBAAsB,EAAE,KAAI,MAA6C;AACpG,QAAI,SAAS,UAAU;AACtB,aAAO,gCAAS,YAAuB,QAAe;AACrD,UAAE,OACD,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,SAAQ,GAAI,QAAQ,EAAE,MAAM,CAAC;AAErE,eAAO,kBAAkB,KAAK,MAAM,MAAM;MAC3C,GALO;IAMR;EACD;AACD;AAXgB;AAaV,SAAU,+CAA+C,UAAe,CAAA,GAAE;AAC/E,SAAO,CAAqB,mBAAsB,EAAE,KAAI,MAA6C;AACpG,QAAI,SAAS,UAAU;AACtB,aAAO,gCAAS,iBAA4B,eAAwB,eAAsB;AACzF,UAAE,OACD,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,gBAAe,GAAI,QAAQ,EAAE,aAAa,GAEjF,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,gBAAe,GAAI,QAAQ,EAAE,aAAa,CAAC;AAEnF,eAAO,kBAAkB,KAAK,MAAM,eAAe,aAAa;MACjE,GAPO;IAQR;EACD;AACD;AAbgB;AAeV,SAAU,mCAAmC,UAAe,CAAA,GAAE;AACnE,SAAO,CAAqB,mBAAsB,EAAE,KAAI,MAA6C;AACpG,QAAI,SAAS,UAAU;AACtB,aAAO,gCAAS,KAAgB,QAAiB,QAAe;AAC/D,UAAE,OACD,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,SAAQ,GAAI,QAAQ,EAAE,MAAM,GAEnE,EAAE,SAAS,EAAE,MAAM,aAAa,MAAM,SAAQ,GAAI,EAAE,UAAU,EAAE,MAAM,aAAa,MAAM,SAAQ,GAAI,QAAQ,CAAC,EAAE,MAAM,CAAC;AAExH,eAAO,kBAAkB,KAAK,MAAM,QAAQ,MAAM;MACnD,GAPO;IAQR;EACD;AACD;AAbgB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
9
|
var __export = (target, all) => {
|
|
7
10
|
for (var name in all)
|
|
8
11
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -15,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
18
|
}
|
|
16
19
|
return to;
|
|
17
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
|
+
));
|
|
18
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
30
|
var SoundSwitchCC_exports = {};
|
|
20
31
|
__export(SoundSwitchCC_exports, {
|
|
@@ -33,6 +44,7 @@ __export(SoundSwitchCC_exports, {
|
|
|
33
44
|
SoundSwitchCCValues: () => SoundSwitchCCValues
|
|
34
45
|
});
|
|
35
46
|
module.exports = __toCommonJS(SoundSwitchCC_exports);
|
|
47
|
+
var __validateArgs = __toESM(require("./SoundSwitchCC._validateArgs.js"), 1);
|
|
36
48
|
var import_safe = require("@zwave-js/core/safe");
|
|
37
49
|
var import_safe2 = require("@zwave-js/shared/safe");
|
|
38
50
|
var import_safe3 = require("@zwave-js/shared/safe");
|
|
@@ -42,11 +54,19 @@ var import_CommandClass = require("../lib/CommandClass.js");
|
|
|
42
54
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
43
55
|
var import_Values = require("../lib/Values.js");
|
|
44
56
|
var import_Types = require("../lib/_Types.js");
|
|
57
|
+
var __runInitializers = function(thisArg, initializers, value) {
|
|
58
|
+
var useValue = arguments.length > 2;
|
|
59
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
60
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
61
|
+
}
|
|
62
|
+
return useValue ? value : void 0;
|
|
63
|
+
};
|
|
45
64
|
var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
46
65
|
function accept(f) {
|
|
47
66
|
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
|
|
48
67
|
return f;
|
|
49
68
|
}
|
|
69
|
+
__name(accept, "accept");
|
|
50
70
|
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
51
71
|
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
52
72
|
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
@@ -74,39 +94,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
|
|
|
74
94
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
75
95
|
done = true;
|
|
76
96
|
};
|
|
77
|
-
|
|
78
|
-
var useValue = arguments.length > 2;
|
|
79
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
80
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
81
|
-
}
|
|
82
|
-
return useValue ? value : void 0;
|
|
83
|
-
};
|
|
84
|
-
function __assertType(argName, typeName, boundHasError) {
|
|
85
|
-
const { ZWaveError: ZWaveError2, ZWaveErrorCodes: ZWaveErrorCodes2 } = require("@zwave-js/core");
|
|
86
|
-
if (boundHasError()) {
|
|
87
|
-
throw new ZWaveError2(typeName ? `${argName} is not a ${typeName}` : `${argName} has the wrong type`, ZWaveErrorCodes2.Argument_Invalid);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
const __assertType__number = ($o) => {
|
|
91
|
-
function _number($o2) {
|
|
92
|
-
return typeof $o2 !== "number" ? {} : null;
|
|
93
|
-
}
|
|
94
|
-
return _number($o);
|
|
95
|
-
};
|
|
96
|
-
const __assertType__optional_number = ($o) => {
|
|
97
|
-
function _number($o2) {
|
|
98
|
-
return typeof $o2 !== "number" ? {} : null;
|
|
99
|
-
}
|
|
100
|
-
function optional__number($o2) {
|
|
101
|
-
if ($o2 !== void 0) {
|
|
102
|
-
const error = _number($o2);
|
|
103
|
-
if (error)
|
|
104
|
-
return error;
|
|
105
|
-
}
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
return optional__number($o);
|
|
109
|
-
};
|
|
97
|
+
const { validateArgs_SoundSwitchCCAPI_getToneInfo, validateArgs_SoundSwitchCCAPI_setConfiguration, validateArgs_SoundSwitchCCAPI_play } = __validateArgs;
|
|
110
98
|
const SoundSwitchCCValues = Object.freeze({
|
|
111
99
|
...import_Values.V.defineStaticCCValues(import_safe.CommandClasses["Sound Switch"], {
|
|
112
100
|
...import_Values.V.staticProperty("volume", {
|
|
@@ -146,12 +134,22 @@ let SoundSwitchCCAPI = (() => {
|
|
|
146
134
|
let _classExtraInitializers = [];
|
|
147
135
|
let _classThis;
|
|
148
136
|
let _classSuper = import_API.CCAPI;
|
|
137
|
+
let _instanceExtraInitializers = [];
|
|
138
|
+
let _getToneInfo_decorators;
|
|
139
|
+
let _setConfiguration_decorators;
|
|
140
|
+
let _play_decorators;
|
|
149
141
|
var SoundSwitchCCAPI2 = class extends _classSuper {
|
|
142
|
+
static {
|
|
143
|
+
__name(this, "SoundSwitchCCAPI");
|
|
144
|
+
}
|
|
150
145
|
static {
|
|
151
146
|
_classThis = this;
|
|
152
147
|
}
|
|
153
148
|
static {
|
|
154
149
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
150
|
+
__esDecorate(this, null, _getToneInfo_decorators, { kind: "method", name: "getToneInfo", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getToneInfo" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getToneInfo, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
151
|
+
__esDecorate(this, null, _setConfiguration_decorators, { kind: "method", name: "setConfiguration", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "setConfiguration" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.setConfiguration, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
152
|
+
__esDecorate(this, null, _play_decorators, { kind: "method", name: "play", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "play" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.play, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
155
153
|
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
156
154
|
SoundSwitchCCAPI2 = _classThis = _classDescriptor.value;
|
|
157
155
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -180,7 +178,6 @@ let SoundSwitchCCAPI = (() => {
|
|
|
180
178
|
return response?.toneCount;
|
|
181
179
|
}
|
|
182
180
|
async getToneInfo(toneId) {
|
|
183
|
-
__assertType("toneId", "number", __assertType__number.bind(void 0, toneId));
|
|
184
181
|
this.assertSupportsCommand(import_Types.SoundSwitchCommand, import_Types.SoundSwitchCommand.ToneInfoGet);
|
|
185
182
|
const cc = new SoundSwitchCCToneInfoGet({
|
|
186
183
|
nodeId: this.endpoint.nodeId,
|
|
@@ -192,8 +189,6 @@ let SoundSwitchCCAPI = (() => {
|
|
|
192
189
|
return (0, import_safe3.pick)(response, ["duration", "name"]);
|
|
193
190
|
}
|
|
194
191
|
async setConfiguration(defaultToneId, defaultVolume) {
|
|
195
|
-
__assertType("defaultToneId", "number", __assertType__number.bind(void 0, defaultToneId));
|
|
196
|
-
__assertType("defaultVolume", "number", __assertType__number.bind(void 0, defaultVolume));
|
|
197
192
|
this.assertSupportsCommand(import_Types.SoundSwitchCommand, import_Types.SoundSwitchCommand.ConfigurationSet);
|
|
198
193
|
const cc = new SoundSwitchCCConfigurationSet({
|
|
199
194
|
nodeId: this.endpoint.nodeId,
|
|
@@ -216,8 +211,6 @@ let SoundSwitchCCAPI = (() => {
|
|
|
216
211
|
}
|
|
217
212
|
}
|
|
218
213
|
async play(toneId, volume) {
|
|
219
|
-
__assertType("toneId", "number", __assertType__number.bind(void 0, toneId));
|
|
220
|
-
__assertType("volume", "(optional) number", __assertType__optional_number.bind(void 0, volume));
|
|
221
214
|
this.assertSupportsCommand(import_Types.SoundSwitchCommand, import_Types.SoundSwitchCommand.TonePlaySet);
|
|
222
215
|
if (toneId === 0) {
|
|
223
216
|
throw new import_safe.ZWaveError(`Tone ID must be > 0. Use stopPlaying to stop the tone.`, import_safe.ZWaveErrorCodes.Argument_Invalid);
|
|
@@ -252,7 +245,7 @@ let SoundSwitchCCAPI = (() => {
|
|
|
252
245
|
return (0, import_safe3.pick)(response, ["toneId", "volume"]);
|
|
253
246
|
}
|
|
254
247
|
}
|
|
255
|
-
get [import_API.SET_VALUE]() {
|
|
248
|
+
get [(_getToneInfo_decorators = [validateArgs_SoundSwitchCCAPI_getToneInfo()], _setConfiguration_decorators = [validateArgs_SoundSwitchCCAPI_setConfiguration()], _play_decorators = [validateArgs_SoundSwitchCCAPI_play()], import_API.SET_VALUE)]() {
|
|
256
249
|
return async function({ property }, value, options) {
|
|
257
250
|
if (property === "defaultToneId") {
|
|
258
251
|
if (typeof value !== "number") {
|
|
@@ -309,6 +302,10 @@ let SoundSwitchCCAPI = (() => {
|
|
|
309
302
|
}
|
|
310
303
|
};
|
|
311
304
|
}
|
|
305
|
+
constructor() {
|
|
306
|
+
super(...arguments);
|
|
307
|
+
__runInitializers(this, _instanceExtraInitializers);
|
|
308
|
+
}
|
|
312
309
|
};
|
|
313
310
|
return SoundSwitchCCAPI2 = _classThis;
|
|
314
311
|
})();
|
|
@@ -319,6 +316,9 @@ let SoundSwitchCC = (() => {
|
|
|
319
316
|
let _classThis;
|
|
320
317
|
let _classSuper = import_CommandClass.CommandClass;
|
|
321
318
|
var SoundSwitchCC2 = class extends _classSuper {
|
|
319
|
+
static {
|
|
320
|
+
__name(this, "SoundSwitchCC");
|
|
321
|
+
}
|
|
322
322
|
static {
|
|
323
323
|
_classThis = this;
|
|
324
324
|
}
|
|
@@ -419,6 +419,9 @@ let SoundSwitchCCTonesNumberReport = (() => {
|
|
|
419
419
|
let _classThis;
|
|
420
420
|
let _classSuper = SoundSwitchCC;
|
|
421
421
|
var SoundSwitchCCTonesNumberReport2 = class extends _classSuper {
|
|
422
|
+
static {
|
|
423
|
+
__name(this, "SoundSwitchCCTonesNumberReport");
|
|
424
|
+
}
|
|
422
425
|
static {
|
|
423
426
|
_classThis = this;
|
|
424
427
|
}
|
|
@@ -462,6 +465,9 @@ let SoundSwitchCCTonesNumberGet = (() => {
|
|
|
462
465
|
let _classThis;
|
|
463
466
|
let _classSuper = SoundSwitchCC;
|
|
464
467
|
var SoundSwitchCCTonesNumberGet2 = class extends _classSuper {
|
|
468
|
+
static {
|
|
469
|
+
__name(this, "SoundSwitchCCTonesNumberGet");
|
|
470
|
+
}
|
|
465
471
|
static {
|
|
466
472
|
_classThis = this;
|
|
467
473
|
}
|
|
@@ -482,6 +488,9 @@ let SoundSwitchCCToneInfoReport = (() => {
|
|
|
482
488
|
let _classThis;
|
|
483
489
|
let _classSuper = SoundSwitchCC;
|
|
484
490
|
var SoundSwitchCCToneInfoReport2 = class extends _classSuper {
|
|
491
|
+
static {
|
|
492
|
+
__name(this, "SoundSwitchCCToneInfoReport");
|
|
493
|
+
}
|
|
485
494
|
static {
|
|
486
495
|
_classThis = this;
|
|
487
496
|
}
|
|
@@ -536,9 +545,9 @@ let SoundSwitchCCToneInfoReport = (() => {
|
|
|
536
545
|
};
|
|
537
546
|
return SoundSwitchCCToneInfoReport2 = _classThis;
|
|
538
547
|
})();
|
|
539
|
-
const testResponseForSoundSwitchToneInfoGet = (sent, received) => {
|
|
548
|
+
const testResponseForSoundSwitchToneInfoGet = /* @__PURE__ */ __name((sent, received) => {
|
|
540
549
|
return received.toneId === sent.toneId;
|
|
541
|
-
};
|
|
550
|
+
}, "testResponseForSoundSwitchToneInfoGet");
|
|
542
551
|
let SoundSwitchCCToneInfoGet = (() => {
|
|
543
552
|
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.SoundSwitchCommand.ToneInfoGet), (0, import_CommandClassDecorators.expectedCCResponse)(SoundSwitchCCToneInfoReport, testResponseForSoundSwitchToneInfoGet)];
|
|
544
553
|
let _classDescriptor;
|
|
@@ -546,6 +555,9 @@ let SoundSwitchCCToneInfoGet = (() => {
|
|
|
546
555
|
let _classThis;
|
|
547
556
|
let _classSuper = SoundSwitchCC;
|
|
548
557
|
var SoundSwitchCCToneInfoGet2 = class extends _classSuper {
|
|
558
|
+
static {
|
|
559
|
+
__name(this, "SoundSwitchCCToneInfoGet");
|
|
560
|
+
}
|
|
549
561
|
static {
|
|
550
562
|
_classThis = this;
|
|
551
563
|
}
|
|
@@ -589,6 +601,9 @@ let SoundSwitchCCConfigurationSet = (() => {
|
|
|
589
601
|
let _classThis;
|
|
590
602
|
let _classSuper = SoundSwitchCC;
|
|
591
603
|
var SoundSwitchCCConfigurationSet2 = class extends _classSuper {
|
|
604
|
+
static {
|
|
605
|
+
__name(this, "SoundSwitchCCConfigurationSet");
|
|
606
|
+
}
|
|
592
607
|
static {
|
|
593
608
|
_classThis = this;
|
|
594
609
|
}
|
|
@@ -639,6 +654,9 @@ let SoundSwitchCCConfigurationReport = (() => {
|
|
|
639
654
|
let _classThis;
|
|
640
655
|
let _classSuper = SoundSwitchCC;
|
|
641
656
|
var SoundSwitchCCConfigurationReport2 = class extends _classSuper {
|
|
657
|
+
static {
|
|
658
|
+
__name(this, "SoundSwitchCCConfigurationReport");
|
|
659
|
+
}
|
|
642
660
|
static {
|
|
643
661
|
_classThis = this;
|
|
644
662
|
}
|
|
@@ -689,6 +707,9 @@ let SoundSwitchCCConfigurationGet = (() => {
|
|
|
689
707
|
let _classThis;
|
|
690
708
|
let _classSuper = SoundSwitchCC;
|
|
691
709
|
var SoundSwitchCCConfigurationGet2 = class extends _classSuper {
|
|
710
|
+
static {
|
|
711
|
+
__name(this, "SoundSwitchCCConfigurationGet");
|
|
712
|
+
}
|
|
692
713
|
static {
|
|
693
714
|
_classThis = this;
|
|
694
715
|
}
|
|
@@ -709,6 +730,9 @@ let SoundSwitchCCTonePlaySet = (() => {
|
|
|
709
730
|
let _classThis;
|
|
710
731
|
let _classSuper = SoundSwitchCC;
|
|
711
732
|
var SoundSwitchCCTonePlaySet2 = class extends _classSuper {
|
|
733
|
+
static {
|
|
734
|
+
__name(this, "SoundSwitchCCTonePlaySet");
|
|
735
|
+
}
|
|
712
736
|
static {
|
|
713
737
|
_classThis = this;
|
|
714
738
|
}
|
|
@@ -765,6 +789,9 @@ let SoundSwitchCCTonePlayReport = (() => {
|
|
|
765
789
|
let _classThis;
|
|
766
790
|
let _classSuper = SoundSwitchCC;
|
|
767
791
|
var SoundSwitchCCTonePlayReport2 = class extends _classSuper {
|
|
792
|
+
static {
|
|
793
|
+
__name(this, "SoundSwitchCCTonePlayReport");
|
|
794
|
+
}
|
|
768
795
|
static {
|
|
769
796
|
_classThis = this;
|
|
770
797
|
}
|
|
@@ -821,6 +848,9 @@ let SoundSwitchCCTonePlayGet = (() => {
|
|
|
821
848
|
let _classThis;
|
|
822
849
|
let _classSuper = SoundSwitchCC;
|
|
823
850
|
var SoundSwitchCCTonePlayGet2 = class extends _classSuper {
|
|
851
|
+
static {
|
|
852
|
+
__name(this, "SoundSwitchCCTonePlayGet");
|
|
853
|
+
}
|
|
824
854
|
static {
|
|
825
855
|
_classThis = this;
|
|
826
856
|
}
|