@zwave-js/cc 15.21.1 → 15.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/cc/AlarmSensorCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/AlarmSensorCC.d.ts +3 -3
- package/build/cjs/cc/AlarmSensorCC.js +18 -57
- package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
- package/build/cjs/cc/ApplicationStatusCC.js +9 -48
- package/build/cjs/cc/ApplicationStatusCC.js.map +1 -1
- package/build/cjs/cc/AssociationCC._validateArgs.d.ts +8 -8
- package/build/cjs/cc/AssociationCC.d.ts +2 -2
- package/build/cjs/cc/AssociationCC.js +32 -71
- package/build/cjs/cc/AssociationCC.js.map +2 -2
- package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.d.ts +6 -6
- package/build/cjs/cc/AssociationGroupInfoCC.d.ts +3 -3
- package/build/cjs/cc/AssociationGroupInfoCC.js +28 -65
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
- package/build/cjs/cc/BarrierOperatorCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/BarrierOperatorCC.d.ts +3 -3
- package/build/cjs/cc/BarrierOperatorCC.js +30 -67
- package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
- package/build/cjs/cc/BasicCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/BasicCC.d.ts +3 -3
- package/build/cjs/cc/BasicCC.js +17 -54
- package/build/cjs/cc/BasicCC.js.map +2 -2
- package/build/cjs/cc/BasicWindowCoveringCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/BasicWindowCoveringCC.js +12 -51
- package/build/cjs/cc/BasicWindowCoveringCC.js.map +1 -1
- package/build/cjs/cc/BatteryCC.d.ts +3 -3
- package/build/cjs/cc/BatteryCC.js +15 -54
- package/build/cjs/cc/BatteryCC.js.map +2 -2
- package/build/cjs/cc/BinarySensorCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/BinarySensorCC.d.ts +2 -2
- package/build/cjs/cc/BinarySensorCC.js +19 -58
- package/build/cjs/cc/BinarySensorCC.js.map +2 -2
- package/build/cjs/cc/BinarySwitchCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/BinarySwitchCC.d.ts +2 -2
- package/build/cjs/cc/BinarySwitchCC.js +17 -54
- package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
- package/build/cjs/cc/CRC16CC.js +7 -46
- package/build/cjs/cc/CRC16CC.js.map +1 -1
- package/build/cjs/cc/CentralSceneCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/CentralSceneCC.d.ts +1 -1
- package/build/cjs/cc/CentralSceneCC.js +19 -58
- package/build/cjs/cc/CentralSceneCC.js.map +1 -1
- package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/ClimateControlScheduleCC.js +25 -64
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/cjs/cc/ClockCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ClockCC.d.ts +3 -3
- package/build/cjs/cc/ClockCC.js +15 -54
- package/build/cjs/cc/ClockCC.js.map +2 -2
- package/build/cjs/cc/ColorSwitchCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/ColorSwitchCC.d.ts +3 -3
- package/build/cjs/cc/ColorSwitchCC.js +26 -65
- package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
- package/build/cjs/cc/ConfigurationCC._validateArgs.d.ts +9 -9
- package/build/cjs/cc/ConfigurationCC.d.ts +3 -8
- package/build/cjs/cc/ConfigurationCC.js +43 -82
- package/build/cjs/cc/ConfigurationCC.js.map +2 -2
- package/build/cjs/cc/DeviceResetLocallyCC.js +7 -46
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/cjs/cc/DoorLockCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/DoorLockCC.d.ts +5 -5
- package/build/cjs/cc/DoorLockCC.js +26 -65
- package/build/cjs/cc/DoorLockCC.js.map +2 -2
- package/build/cjs/cc/DoorLockLoggingCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/DoorLockLoggingCC.d.ts +2 -2
- package/build/cjs/cc/DoorLockLoggingCC.js +17 -56
- package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
- package/build/cjs/cc/EnergyProductionCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/EnergyProductionCC.d.ts +2 -2
- package/build/cjs/cc/EnergyProductionCC.js +13 -52
- package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
- package/build/cjs/cc/EntryControlCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/EntryControlCC.d.ts +3 -3
- package/build/cjs/cc/EntryControlCC.js +25 -64
- package/build/cjs/cc/EntryControlCC.js.map +2 -2
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +6 -6
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +34 -73
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/cjs/cc/HailCC.js +3 -42
- package/build/cjs/cc/HailCC.js.map +1 -1
- package/build/cjs/cc/HumidityControlModeCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/HumidityControlModeCC.d.ts +2 -2
- package/build/cjs/cc/HumidityControlModeCC.js +19 -58
- package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +2 -2
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +11 -50
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/HumidityControlSetpointCC.d.ts +2 -2
- package/build/cjs/cc/HumidityControlSetpointCC.js +30 -69
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
- package/build/cjs/cc/InclusionControllerCC.js +9 -48
- package/build/cjs/cc/InclusionControllerCC.js.map +1 -1
- package/build/cjs/cc/IndicatorCC._validateArgs.d.ts +9 -9
- package/build/cjs/cc/IndicatorCC.d.ts +2 -2
- package/build/cjs/cc/IndicatorCC.js +31 -70
- package/build/cjs/cc/IndicatorCC.js.map +2 -2
- package/build/cjs/cc/IrrigationCC._validateArgs.d.ts +10 -10
- package/build/cjs/cc/IrrigationCC.d.ts +7 -7
- package/build/cjs/cc/IrrigationCC.js +54 -93
- package/build/cjs/cc/IrrigationCC.js.map +2 -2
- package/build/cjs/cc/LanguageCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/LanguageCC.d.ts +3 -3
- package/build/cjs/cc/LanguageCC.js +15 -54
- package/build/cjs/cc/LanguageCC.js.map +2 -2
- package/build/cjs/cc/LockCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/LockCC.d.ts +2 -2
- package/build/cjs/cc/LockCC.js +15 -54
- package/build/cjs/cc/LockCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.js +10 -49
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC.d.ts +1 -1
- package/build/cjs/cc/ManufacturerSpecificCC.js +16 -55
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/cjs/cc/MeterCC._validateArgs.d.ts +5 -5
- package/build/cjs/cc/MeterCC.d.ts +3 -3
- package/build/cjs/cc/MeterCC.js +23 -62
- package/build/cjs/cc/MeterCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.d.ts +5 -5
- package/build/cjs/cc/MultiChannelAssociationCC.d.ts +3 -3
- package/build/cjs/cc/MultiChannelAssociationCC.js +26 -65
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/MultiChannelCC.js +34 -73
- package/build/cjs/cc/MultiChannelCC.js.map +1 -1
- package/build/cjs/cc/MultiCommandCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/MultiCommandCC.js +9 -48
- package/build/cjs/cc/MultiCommandCC.js.map +1 -1
- package/build/cjs/cc/MultilevelSensorCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/MultilevelSensorCC.d.ts +2 -2
- package/build/cjs/cc/MultilevelSensorCC.js +23 -62
- package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
- package/build/cjs/cc/MultilevelSwitchCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/MultilevelSwitchCC.d.ts +3 -3
- package/build/cjs/cc/MultilevelSwitchCC.js +26 -63
- package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
- package/build/cjs/cc/NoOperationCC.js +5 -44
- package/build/cjs/cc/NoOperationCC.js.map +1 -1
- package/build/cjs/cc/NodeNamingCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/NodeNamingCC.d.ts +2 -2
- package/build/cjs/cc/NodeNamingCC.js +22 -61
- package/build/cjs/cc/NodeNamingCC.js.map +2 -2
- package/build/cjs/cc/NotificationCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/NotificationCC.d.ts +22 -5
- package/build/cjs/cc/NotificationCC.js +141 -104
- package/build/cjs/cc/NotificationCC.js.map +2 -2
- package/build/cjs/cc/PowerlevelCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/PowerlevelCC.d.ts +2 -2
- package/build/cjs/cc/PowerlevelCC.js +22 -61
- package/build/cjs/cc/PowerlevelCC.js.map +1 -1
- package/build/cjs/cc/ProtectionCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/ProtectionCC.d.ts +3 -3
- package/build/cjs/cc/ProtectionCC.js +33 -72
- package/build/cjs/cc/ProtectionCC.js.map +2 -2
- package/build/cjs/cc/SceneActivationCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/SceneActivationCC.js +9 -48
- package/build/cjs/cc/SceneActivationCC.js.map +1 -1
- package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +14 -53
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +2 -2
- package/build/cjs/cc/SceneControllerConfigurationCC.js +17 -56
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
- package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.d.ts +8 -8
- package/build/cjs/cc/ScheduleEntryLockCC.d.ts +1 -1
- package/build/cjs/cc/ScheduleEntryLockCC.js +46 -85
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/cjs/cc/Security2CC.d.ts +1 -1
- package/build/cjs/cc/Security2CC.js +33 -72
- package/build/cjs/cc/Security2CC.js.map +1 -1
- package/build/cjs/cc/SecurityCC.d.ts +1 -1
- package/build/cjs/cc/SecurityCC.js +27 -66
- package/build/cjs/cc/SecurityCC.js.map +2 -2
- package/build/cjs/cc/SoundSwitchCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/SoundSwitchCC.d.ts +2 -2
- package/build/cjs/cc/SoundSwitchCC.js +29 -68
- package/build/cjs/cc/SoundSwitchCC.js.map +1 -1
- package/build/cjs/cc/SupervisionCC.js +9 -48
- package/build/cjs/cc/SupervisionCC.js.map +1 -1
- package/build/cjs/cc/ThermostatFanModeCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ThermostatFanModeCC.d.ts +2 -2
- package/build/cjs/cc/ThermostatFanModeCC.js +19 -58
- package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatFanStateCC.d.ts +2 -2
- package/build/cjs/cc/ThermostatFanStateCC.js +11 -50
- package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatModeCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ThermostatModeCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatModeCC.js +19 -58
- package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +2 -2
- package/build/cjs/cc/ThermostatOperatingStateCC.js +11 -50
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetbackCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ThermostatSetbackCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatSetbackCC.js +15 -54
- package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetpointCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatSetpointCC.js +25 -64
- package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
- package/build/cjs/cc/TimeCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/TimeCC.d.ts +1 -1
- package/build/cjs/cc/TimeCC.js +24 -63
- package/build/cjs/cc/TimeCC.js.map +1 -1
- package/build/cjs/cc/TimeParametersCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/TimeParametersCC.js +13 -52
- package/build/cjs/cc/TimeParametersCC.js.map +1 -1
- package/build/cjs/cc/TransportServiceCC.js +13 -52
- package/build/cjs/cc/TransportServiceCC.js.map +1 -1
- package/build/cjs/cc/UserCodeCC._validateArgs.d.ts +6 -6
- package/build/cjs/cc/UserCodeCC.d.ts +7 -5
- package/build/cjs/cc/UserCodeCC.js +89 -98
- package/build/cjs/cc/UserCodeCC.js.map +2 -2
- package/build/cjs/cc/VersionCC._validateArgs.d.ts +3 -3
- package/build/cjs/cc/VersionCC.d.ts +2 -2
- package/build/cjs/cc/VersionCC.js +25 -64
- package/build/cjs/cc/VersionCC.js.map +1 -1
- package/build/cjs/cc/WakeUpCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/WakeUpCC.d.ts +1 -1
- package/build/cjs/cc/WakeUpCC.js +21 -60
- package/build/cjs/cc/WakeUpCC.js.map +1 -1
- package/build/cjs/cc/WindowCoveringCC._validateArgs.d.ts +4 -4
- package/build/cjs/cc/WindowCoveringCC.d.ts +3 -3
- package/build/cjs/cc/WindowCoveringCC.js +28 -65
- package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
- package/build/cjs/cc/ZWaveLongRangeCC.js +3 -42
- package/build/cjs/cc/ZWaveLongRangeCC.js.map +1 -1
- package/build/cjs/cc/ZWavePlusCC._validateArgs.d.ts +1 -1
- package/build/cjs/cc/ZWavePlusCC.d.ts +1 -1
- package/build/cjs/cc/ZWavePlusCC.js +11 -50
- package/build/cjs/cc/ZWavePlusCC.js.map +1 -1
- package/build/cjs/cc/ZWaveProtocolCC.js +73 -112
- package/build/cjs/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/cjs/cc/_CCValues.generated.d.ts +1173 -1049
- package/build/cjs/cc/_CCValues.generated.js +68 -5
- package/build/cjs/cc/_CCValues.generated.js.map +2 -2
- package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +2 -2
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +22 -59
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
- package/build/cjs/lib/API.d.ts +1 -0
- package/build/cjs/lib/API.js.map +2 -2
- package/build/cjs/lib/CommandClass.d.ts +6 -2
- package/build/cjs/lib/CommandClass.js +2 -1
- package/build/cjs/lib/CommandClass.js.map +2 -2
- package/build/cjs/lib/Security2/Extension.js +9 -48
- package/build/cjs/lib/Security2/Extension.js.map +1 -1
- package/build/cjs/lib/Values.d.ts +5 -5
- package/build/cjs/lib/Values.js.map +2 -2
- package/build/cjs/lib/_CCAPI.generated.d.ts +64 -64
- package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.d.ts +3 -3
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +9 -38
- package/build/esm/cc/AlarmSensorCC.js.map +1 -1
- package/build/esm/cc/ApplicationStatusCC.d.ts.map +1 -1
- package/build/esm/cc/ApplicationStatusCC.js +1 -34
- package/build/esm/cc/ApplicationStatusCC.js.map +1 -1
- package/build/esm/cc/AssociationCC._validateArgs.d.ts +8 -8
- package/build/esm/cc/AssociationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.d.ts +2 -2
- package/build/esm/cc/AssociationCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.js +3 -36
- package/build/esm/cc/AssociationCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts +6 -6
- package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.d.ts +3 -3
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.js +5 -36
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.d.ts +3 -3
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.js +5 -36
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/BasicCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.d.ts +3 -3
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +5 -36
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC.js +1 -34
- package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts +3 -3
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +3 -36
- package/build/esm/cc/BatteryCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/BinarySensorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.d.ts +2 -2
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.js +3 -36
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts +2 -2
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +5 -36
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CRC16CC.d.ts.map +1 -1
- package/build/esm/cc/CRC16CC.js +1 -34
- package/build/esm/cc/CRC16CC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/CentralSceneCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.js +1 -34
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.js +1 -34
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/esm/cc/ClockCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ClockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ClockCC.d.ts +3 -3
- package/build/esm/cc/ClockCC.d.ts.map +1 -1
- package/build/esm/cc/ClockCC.js +3 -36
- package/build/esm/cc/ClockCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.d.ts +3 -3
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.js +3 -36
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC._validateArgs.d.ts +9 -9
- package/build/esm/cc/ConfigurationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.d.ts +3 -8
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +3 -36
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js +1 -34
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/DoorLockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts +5 -5
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.js +3 -36
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.d.ts +2 -2
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.js +3 -36
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.d.ts +2 -2
- package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.js +3 -36
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/EntryControlCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts +3 -3
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +3 -36
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +6 -6
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1 -34
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HailCC.js +1 -34
- package/build/esm/cc/HailCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.d.ts +2 -2
- package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.js +3 -36
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +2 -2
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js +3 -36
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts +2 -2
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +3 -36
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
- package/build/esm/cc/InclusionControllerCC.js +1 -34
- package/build/esm/cc/InclusionControllerCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC._validateArgs.d.ts +9 -9
- package/build/esm/cc/IndicatorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.d.ts +2 -2
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.js +3 -36
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC._validateArgs.d.ts +10 -10
- package/build/esm/cc/IrrigationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.d.ts +7 -7
- package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.js +3 -36
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/LanguageCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts +3 -3
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +3 -36
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/LockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/LockCC.d.ts +2 -2
- package/build/esm/cc/LockCC.d.ts.map +1 -1
- package/build/esm/cc/LockCC.js +3 -36
- package/build/esm/cc/LockCC.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts +2 -2
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.js +3 -36
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +1 -34
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC._validateArgs.d.ts +5 -5
- package/build/esm/cc/MeterCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.d.ts +3 -3
- package/build/esm/cc/MeterCC.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.js +3 -36
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts +5 -5
- package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.d.ts +3 -3
- package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.js +4 -37
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/MultiChannelCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +1 -34
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultiCommandCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/MultiCommandCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC.js +1 -34
- package/build/esm/cc/MultiCommandCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.d.ts +2 -2
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.js +3 -36
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts +3 -3
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +5 -36
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NoOperationCC.d.ts.map +1 -1
- package/build/esm/cc/NoOperationCC.js +1 -34
- package/build/esm/cc/NoOperationCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/NodeNamingCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts +2 -2
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +3 -36
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/NotificationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts +22 -5
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +143 -89
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/PowerlevelCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts +2 -2
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.js +1 -34
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/ProtectionCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts +3 -3
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.js +3 -36
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.js +1 -34
- package/build/esm/cc/SceneActivationCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.js +1 -34
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts +2 -2
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +3 -36
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts +8 -8
- package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.js +1 -34
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts +1 -1
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +1 -34
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts +1 -1
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +2 -36
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts +2 -2
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +1 -34
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
- package/build/esm/cc/SupervisionCC.js +1 -34
- package/build/esm/cc/SupervisionCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.d.ts +2 -2
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.js +3 -36
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.d.ts +2 -2
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.js +3 -36
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts +3 -3
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.js +3 -36
- package/build/esm/cc/ThermostatModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts +2 -2
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.js +3 -36
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.d.ts +3 -3
- package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.js +3 -36
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts +3 -3
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +3 -36
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/TimeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.d.ts +1 -1
- package/build/esm/cc/TimeCC.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.js +1 -34
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/TimeParametersCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.js +1 -34
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
- package/build/esm/cc/TransportServiceCC.js +1 -34
- package/build/esm/cc/TransportServiceCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC._validateArgs.d.ts +6 -6
- package/build/esm/cc/UserCodeCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts +7 -5
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.js +55 -48
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/VersionCC._validateArgs.d.ts +3 -3
- package/build/esm/cc/VersionCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.d.ts +2 -2
- package/build/esm/cc/VersionCC.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.js +1 -34
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/WakeUpCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.d.ts +1 -1
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.js +1 -34
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts +4 -4
- package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts +3 -3
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +5 -36
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWaveLongRangeCC.js +1 -34
- package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts +1 -1
- package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.js +1 -34
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js +1 -34
- package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/esm/cc/_CCValues.generated.d.ts +1173 -1049
- package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
- package/build/esm/cc/_CCValues.generated.js +71 -4
- package/build/esm/cc/_CCValues.generated.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +2 -2
- package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +7 -38
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/esm/lib/API.d.ts +1 -0
- package/build/esm/lib/API.d.ts.map +1 -1
- package/build/esm/lib/API.js.map +1 -1
- package/build/esm/lib/CommandClass.d.ts +6 -2
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js +4 -2
- package/build/esm/lib/CommandClass.js.map +1 -1
- package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
- package/build/esm/lib/Security2/Extension.js +1 -34
- package/build/esm/lib/Security2/Extension.js.map +1 -1
- package/build/esm/lib/Values.d.ts +5 -5
- package/build/esm/lib/Values.d.ts.map +1 -1
- package/build/esm/lib/Values.js +4 -1
- package/build/esm/lib/Values.js.map +1 -1
- package/build/esm/lib/_CCAPI.generated.d.ts +64 -64
- package/build/esm/lib/_CCAPI.generated.d.ts.map +1 -1
- package/build/esm/lib/serializers.js.map +1 -1
- package/package.json +17 -15
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src_gen/cc/DoorLockCC.ts"],
|
|
4
|
-
"sourcesContent": ["import * as __validateArgs from \"./DoorLockCC._validateArgs.js\";\nconst { validateArgs_DoorLockCCAPI_set, validateArgs_DoorLockCCAPI_setConfiguration } = __validateArgs;\nimport { CommandClasses, Duration, type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, enumValuesToMetadataStates, parseBitMask, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport { CCAPI, POLL_VALUE, PhysicalCCAPI, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type DoorHandleStatus, DoorLockCommand, DoorLockMode, DoorLockOperationType, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { DoorLockCCValues } from \"./_CCValues.generated.js\";\nexport { DoorLockCCValues };\nexport function shouldAutoCreateLatchStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.latchSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateBoltStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.boltSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateDoorStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.doorSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateTwistAssistConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.twistAssistSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateBlockToBlockConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateAutoRelockConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.autoRelockSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateHoldAndReleaseConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index));\n}\nconst configurationSetParameters = [\n \"operationType\",\n \"outsideHandlesCanOpenDoorConfiguration\",\n \"insideHandlesCanOpenDoorConfiguration\",\n \"lockTimeoutConfiguration\",\n \"autoRelockTime\",\n \"holdAndReleaseTime\",\n \"twistAssist\",\n \"blockToBlock\",\n] as const;\n@API(CommandClasses[\"Door Lock\"])\nexport class DoorLockCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: DoorLockCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case DoorLockCommand.OperationSet:\n case DoorLockCommand.OperationGet:\n case DoorLockCommand.ConfigurationSet:\n case DoorLockCommand.ConfigurationGet:\n return true; // This is mandatory\n case DoorLockCommand.CapabilitiesGet:\n return this.version >= 4;\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: DoorLockCCAPI, { property }, value) {\n if (property === \"targetMode\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n const result = await this.set(value);\n // Verify the current value after a delay, unless the command was supervised and successful\n if (supervisedCommandSucceeded(result)) {\n this.getValueDB().setValue(DoorLockCCValues.currentMode.endpoint(this.endpoint.index), value);\n }\n else {\n this.schedulePoll({ property }, value);\n }\n return result;\n }\n else if (typeof property === \"string\"\n && configurationSetParameters.includes(property as any)) {\n // checking every type here would create a LOT of duplicate code, so we don't\n // ConfigurationSet expects all parameters --> read the others from cache\n const config = {\n [property]: value,\n } as DoorLockCCConfigurationSetOptions;\n for (const param of configurationSetParameters) {\n if (param !== property) {\n (config as any)[param] = this.tryGetValueDB()?.getValue({\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property: param,\n });\n }\n }\n // Fix insideHandlesCanOpenDoorConfiguration is not iterable\n const allTrue: DoorHandleStatus = [true, true, true, true];\n if (!config.insideHandlesCanOpenDoorConfiguration) {\n config.insideHandlesCanOpenDoorConfiguration = allTrue;\n }\n if (!config.outsideHandlesCanOpenDoorConfiguration) {\n config.outsideHandlesCanOpenDoorConfiguration = allTrue;\n }\n const result = await this.setConfiguration(config);\n // Verify the current value after a delay, unless the command was supervised and successful\n if (!supervisedCommandSucceeded(result)) {\n this.schedulePoll({ property }, value);\n }\n return result;\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: DoorLockCCAPI, { property }) {\n switch (property) {\n case \"currentMode\":\n case \"targetMode\":\n case \"duration\":\n case \"outsideHandlesCanOpenDoor\":\n case \"insideHandlesCanOpenDoor\":\n case \"latchStatus\":\n case \"boltStatus\":\n case \"doorStatus\":\n case \"lockTimeout\":\n return (await this.get())?.[property];\n case \"operationType\":\n case \"outsideHandlesCanOpenDoorConfiguration\":\n case \"insideHandlesCanOpenDoorConfiguration\":\n case \"lockTimeoutConfiguration\":\n case \"autoRelockTime\":\n case \"holdAndReleaseTime\":\n case \"twistAssist\":\n case \"blockToBlock\":\n return (await this.getConfiguration())?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getCapabilities() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.CapabilitiesGet);\n const cc = new DoorLockCCCapabilitiesGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCCapabilitiesReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"autoRelockSupported\",\n \"blockToBlockSupported\",\n \"boltSupported\",\n \"doorSupported\",\n \"holdAndReleaseSupported\",\n \"latchSupported\",\n \"twistAssistSupported\",\n \"supportedDoorLockModes\",\n \"supportedInsideHandles\",\n \"supportedOperationTypes\",\n \"supportedOutsideHandles\",\n ]);\n }\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.OperationGet);\n const cc = new DoorLockCCOperationGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCOperationReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"currentMode\",\n \"targetMode\",\n \"duration\",\n \"outsideHandlesCanOpenDoor\",\n \"insideHandlesCanOpenDoor\",\n \"latchStatus\",\n \"boltStatus\",\n \"doorStatus\",\n \"lockTimeout\",\n ]);\n }\n }\n @validateArgs_DoorLockCCAPI_set()\n public async set(mode: DoorLockMode): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.OperationSet);\n const cc = new DoorLockCCOperationSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n mode,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_DoorLockCCAPI_setConfiguration()\n public async setConfiguration(configuration: DoorLockCCConfigurationSetOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.ConfigurationSet);\n const cc = new DoorLockCCConfigurationSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...configuration,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getConfiguration() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.ConfigurationGet);\n const cc = new DoorLockCCConfigurationGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCConfigurationReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"operationType\",\n \"outsideHandlesCanOpenDoorConfiguration\",\n \"insideHandlesCanOpenDoorConfiguration\",\n \"lockTimeoutConfiguration\",\n \"autoRelockTime\",\n \"holdAndReleaseTime\",\n \"twistAssist\",\n \"blockToBlock\",\n ]);\n }\n }\n}\n@commandClass(CommandClasses[\"Door Lock\"])\n@implementedVersion(4)\n@ccValues(DoorLockCCValues)\nexport class DoorLockCC extends CommandClass {\n declare ccCommand: DoorLockCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Door Lock\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // We need to do some queries after a potential timeout\n // In this case, do now mark this CC as interviewed completely\n let hadCriticalTimeout = false;\n // By default, assume all status sensors to be supported\n let doorSupported = true;\n let boltSupported = true;\n let latchSupported = true;\n if (api.version >= 4) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting lock capabilities...\",\n direction: \"outbound\",\n });\n const resp = await api.getCapabilities();\n if (resp) {\n const logMessage = `received lock capabilities:\nsupported operation types: ${resp.supportedOperationTypes\n .map((t) => getEnumMemberName(DoorLockOperationType, t))\n .join(\", \")}\nsupported door lock modes: ${resp.supportedDoorLockModes\n .map((t) => getEnumMemberName(DoorLockMode, t))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\")}\nsupported outside handles: ${resp.supportedOutsideHandles\n .map(String)\n .join(\", \")}\nsupported inside handles: ${resp.supportedInsideHandles.map(String).join(\", \")}\nsupports door status: ${resp.doorSupported}\nsupports bolt status: ${resp.boltSupported}\nsupports latch status: ${resp.latchSupported}\nsupports auto-relock: ${resp.autoRelockSupported}\nsupports hold-and-release: ${resp.holdAndReleaseSupported}\nsupports twist assist: ${resp.twistAssistSupported}\nsupports block to block: ${resp.blockToBlockSupported}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n doorSupported = resp.doorSupported;\n boltSupported = resp.boltSupported;\n latchSupported = resp.latchSupported;\n // Update metadata of settable states\n const targetModeValue = DoorLockCCValues.targetMode;\n this.setMetadata(ctx, targetModeValue, {\n ...targetModeValue.meta,\n states: enumValuesToMetadataStates(DoorLockMode, resp.supportedDoorLockModes),\n });\n const operationTypeValue = DoorLockCCValues.operationType;\n this.setMetadata(ctx, operationTypeValue, {\n ...operationTypeValue.meta,\n states: enumValuesToMetadataStates(DoorLockOperationType, resp.supportedOperationTypes),\n });\n }\n else {\n hadCriticalTimeout = true;\n }\n }\n if (!hadCriticalTimeout) {\n // Save support information for the status values\n const doorStatusValue = DoorLockCCValues.doorStatus;\n if (doorSupported)\n this.setMetadata(ctx, doorStatusValue);\n this.setValue(ctx, DoorLockCCValues.doorSupported, doorSupported);\n const latchStatusValue = DoorLockCCValues.latchStatus;\n if (latchSupported)\n this.setMetadata(ctx, latchStatusValue);\n this.setValue(ctx, DoorLockCCValues.latchSupported, latchSupported);\n const boltStatusValue = DoorLockCCValues.boltStatus;\n if (boltSupported)\n this.setMetadata(ctx, boltStatusValue);\n this.setValue(ctx, DoorLockCCValues.boltSupported, boltSupported);\n }\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n if (!hadCriticalTimeout)\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Door Lock\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting lock configuration...\",\n direction: \"outbound\",\n });\n const config = await api.getConfiguration();\n if (config) {\n let logMessage = `received lock configuration:\noperation type: ${getEnumMemberName(DoorLockOperationType, config.operationType)}`;\n if (config.operationType === DoorLockOperationType.Timed) {\n logMessage += `\nlock timeout: ${config.lockTimeoutConfiguration} seconds\n`;\n }\n logMessage += `\noutside handles can open door: ${config.outsideHandlesCanOpenDoorConfiguration\n .map(String)\n .join(\", \")}\ninside handles can open door: ${config.insideHandlesCanOpenDoorConfiguration\n .map(String)\n .join(\", \")}`;\n if (api.version >= 4) {\n logMessage += `\nauto-relock time ${config.autoRelockTime ?? \"-\"} seconds\nhold-and-release time ${config.holdAndReleaseTime ?? \"-\"} seconds\ntwist assist ${!!config.twistAssist}\nblock to block ${!!config.blockToBlock}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting current lock status...\",\n direction: \"outbound\",\n });\n const status = await api.get();\n if (status) {\n let logMessage = `received lock status:\ncurrent mode: ${getEnumMemberName(DoorLockMode, status.currentMode)}`;\n if (status.targetMode != undefined) {\n logMessage += `\ntarget mode: ${getEnumMemberName(DoorLockMode, status.targetMode)}\nremaining duration: ${status.duration?.toString() ?? \"undefined\"}`;\n }\n if (status.lockTimeout != undefined) {\n logMessage += `\nlock timeout: ${status.lockTimeout} seconds`;\n }\n if (status.doorStatus != undefined) {\n logMessage += `\ndoor status: ${status.doorStatus}`;\n }\n if (status.boltStatus != undefined) {\n logMessage += `\nbolt status: ${status.boltStatus}`;\n }\n if (status.latchStatus != undefined) {\n logMessage += `\nlatch status: ${status.latchStatus}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n /**\n * Returns whether the node supports auto relock.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsAutoRelockCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.autoRelockSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports hold and release.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsHoldAndReleaseCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports twist assist.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsTwistAssistCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.twistAssistSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports block to block.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsBlockToBlockCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index));\n }\n /**\n * Returns the supported outside handles.\n * This only works AFTER the node has been interviewed.\n */\n public static getSupportedOutsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.supportedOutsideHandles.endpoint(endpoint.index));\n }\n /**\n * Returns the supported inside handles.\n * This only works AFTER the node has been interviewed.\n */\n public static getSupportedInsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.supportedInsideHandles.endpoint(endpoint.index));\n }\n}\n// @publicAPI\nexport interface DoorLockCCOperationSetOptions {\n mode: DoorLockMode;\n}\n@CCCommand(DoorLockCommand.OperationSet)\n@useSupervision()\nexport class DoorLockCCOperationSet extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCOperationSetOptions>) {\n super(options);\n if (options.mode === DoorLockMode.Unknown) {\n throw new ZWaveError(`Unknown is not a valid door lock target state!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.mode = options.mode;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): DoorLockCCOperationSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new DoorLockCCOperationSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public mode: DoorLockMode;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.mode]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"target mode\": getEnumMemberName(DoorLockMode, this.mode),\n },\n };\n }\n}\n// @publicAPI\nexport interface DoorLockCCOperationReportOptions {\n currentMode: DoorLockMode;\n outsideHandlesCanOpenDoor: DoorHandleStatus;\n insideHandlesCanOpenDoor: DoorHandleStatus;\n doorStatus?: \"closed\" | \"open\";\n boltStatus?: \"unlocked\" | \"locked\";\n latchStatus?: \"closed\" | \"open\";\n lockTimeout?: number;\n targetMode?: DoorLockMode;\n duration?: Duration;\n}\n@CCCommand(DoorLockCommand.OperationReport)\n@ccValueProperty(\"currentMode\", DoorLockCCValues.currentMode)\n@ccValueProperty(\"targetMode\", DoorLockCCValues.targetMode)\n@ccValueProperty(\"duration\", DoorLockCCValues.duration)\n@ccValueProperty(\"outsideHandlesCanOpenDoor\", DoorLockCCValues.outsideHandlesCanOpenDoor)\n@ccValueProperty(\"insideHandlesCanOpenDoor\", DoorLockCCValues.insideHandlesCanOpenDoor)\n@ccValueProperty(\"lockTimeout\", DoorLockCCValues.lockTimeout)\nexport class DoorLockCCOperationReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCOperationReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.currentMode = options.currentMode;\n this.outsideHandlesCanOpenDoor = options.outsideHandlesCanOpenDoor;\n this.insideHandlesCanOpenDoor = options.insideHandlesCanOpenDoor;\n this.doorStatus = options.doorStatus;\n this.boltStatus = options.boltStatus;\n this.latchStatus = options.latchStatus;\n this.lockTimeout = options.lockTimeout;\n this.targetMode = options.targetMode;\n this.duration = options.duration;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCOperationReport {\n validatePayload(raw.payload.length >= 5);\n const currentMode: DoorLockMode = raw.payload[0];\n const outsideHandlesCanOpenDoor: DoorHandleStatus = [\n !!(raw.payload[1] & 16),\n !!(raw.payload[1] & 32),\n !!(raw.payload[1] & 64),\n !!(raw.payload[1] & 128),\n ];\n const insideHandlesCanOpenDoor: DoorHandleStatus = [\n !!(raw.payload[1] & 0b0001),\n !!(raw.payload[1] & 0b0010),\n !!(raw.payload[1] & 0b0100),\n !!(raw.payload[1] & 0b1000),\n ];\n const doorStatus: \"closed\" | \"open\" | undefined = !!(raw.payload[2] & 0b1)\n ? \"closed\"\n : \"open\";\n const boltStatus: \"unlocked\" | \"locked\" | undefined = !!(raw.payload[2] & 0b10) ? \"unlocked\" : \"locked\";\n const latchStatus: \"closed\" | \"open\" | undefined = !!(raw.payload[2] & 0b100)\n ? \"closed\"\n : \"open\";\n // Ignore invalid timeout values\n const lockTimeoutMinutes = raw.payload[3];\n const lockTimeoutSeconds = raw.payload[4];\n let lockTimeout: number | undefined;\n if (lockTimeoutMinutes <= 253 && lockTimeoutSeconds <= 59) {\n lockTimeout = lockTimeoutSeconds + lockTimeoutMinutes * 60;\n }\n let targetMode: DoorLockMode | undefined;\n let duration: Duration | undefined;\n if (raw.payload.length >= 7) {\n targetMode = raw.payload[5];\n duration = Duration.parseReport(raw.payload[6]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n currentMode,\n outsideHandlesCanOpenDoor,\n insideHandlesCanOpenDoor,\n doorStatus,\n boltStatus,\n latchStatus,\n lockTimeout,\n targetMode,\n duration,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Only store the door/bolt/latch status if the lock supports it\n const supportsDoorStatus = !!this.getValue(ctx, DoorLockCCValues.doorSupported);\n if (supportsDoorStatus) {\n this.setValue(ctx, DoorLockCCValues.doorStatus, this.doorStatus);\n }\n const supportsBoltStatus = !!this.getValue(ctx, DoorLockCCValues.boltSupported);\n if (supportsBoltStatus) {\n this.setValue(ctx, DoorLockCCValues.boltStatus, this.boltStatus);\n }\n const supportsLatchStatus = !!this.getValue(ctx, DoorLockCCValues.latchSupported);\n if (supportsLatchStatus) {\n this.setValue(ctx, DoorLockCCValues.latchStatus, this.latchStatus);\n }\n return true;\n }\n public readonly currentMode: DoorLockMode;\n public readonly targetMode?: DoorLockMode;\n public readonly duration?: Duration;\n public readonly outsideHandlesCanOpenDoor: DoorHandleStatus;\n public readonly insideHandlesCanOpenDoor: DoorHandleStatus;\n public readonly latchStatus?: \"open\" | \"closed\";\n public readonly boltStatus?: \"locked\" | \"unlocked\";\n public readonly doorStatus?: \"open\" | \"closed\";\n public readonly lockTimeout?: number; // in seconds\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"current mode\": getEnumMemberName(DoorLockMode, this.currentMode),\n \"active outside handles\": this.outsideHandlesCanOpenDoor.join(\", \"),\n \"active inside handles\": this.insideHandlesCanOpenDoor.join(\", \"),\n };\n if (this.latchStatus != undefined) {\n message[\"latch status\"] = this.latchStatus;\n }\n if (this.boltStatus != undefined) {\n message[\"bolt status\"] = this.boltStatus;\n }\n if (this.doorStatus != undefined) {\n message[\"door status\"] = this.doorStatus;\n }\n if (this.targetMode != undefined) {\n message[\"target mode\"] = getEnumMemberName(DoorLockMode, this.targetMode);\n }\n if (this.duration != undefined) {\n message[\"remaining duration\"] = this.duration.toString();\n }\n if (this.lockTimeout != undefined) {\n message[\"lock timeout\"] = `${this.lockTimeout} seconds`;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(DoorLockCommand.OperationGet)\n@expectedCCResponse(DoorLockCCOperationReport)\nexport class DoorLockCCOperationGet extends DoorLockCC {\n}\n// @publicAPI\nexport interface DoorLockCCConfigurationReportOptions {\n operationType: DoorLockOperationType;\n outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n lockTimeoutConfiguration?: number;\n autoRelockTime?: number;\n holdAndReleaseTime?: number;\n twistAssist?: boolean;\n blockToBlock?: boolean;\n}\n@CCCommand(DoorLockCommand.ConfigurationReport)\n@ccValueProperty(\"operationType\", DoorLockCCValues.operationType)\n@ccValueProperty(\"outsideHandlesCanOpenDoorConfiguration\", DoorLockCCValues.outsideHandlesCanOpenDoorConfiguration)\n@ccValueProperty(\"insideHandlesCanOpenDoorConfiguration\", DoorLockCCValues.insideHandlesCanOpenDoorConfiguration)\n@ccValueProperty(\"lockTimeoutConfiguration\", DoorLockCCValues.lockTimeoutConfiguration)\nexport class DoorLockCCConfigurationReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCConfigurationReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.operationType = options.operationType;\n this.outsideHandlesCanOpenDoorConfiguration =\n options.outsideHandlesCanOpenDoorConfiguration;\n this.insideHandlesCanOpenDoorConfiguration =\n options.insideHandlesCanOpenDoorConfiguration;\n this.lockTimeoutConfiguration = options.lockTimeoutConfiguration;\n this.autoRelockTime = options.autoRelockTime;\n this.holdAndReleaseTime = options.holdAndReleaseTime;\n this.twistAssist = options.twistAssist;\n this.blockToBlock = options.blockToBlock;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCConfigurationReport {\n validatePayload(raw.payload.length >= 4);\n const operationType: DoorLockOperationType = raw.payload[0];\n const outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus = [\n !!(raw.payload[1] & 16),\n !!(raw.payload[1] & 32),\n !!(raw.payload[1] & 64),\n !!(raw.payload[1] & 128),\n ];\n const insideHandlesCanOpenDoorConfiguration: DoorHandleStatus = [\n !!(raw.payload[1] & 0b0001),\n !!(raw.payload[1] & 0b0010),\n !!(raw.payload[1] & 0b0100),\n !!(raw.payload[1] & 0b1000),\n ];\n let lockTimeoutConfiguration: number | undefined;\n if (operationType === DoorLockOperationType.Timed) {\n const lockTimeoutMinutes = raw.payload[2];\n const lockTimeoutSeconds = raw.payload[3];\n if (lockTimeoutMinutes <= 0xfd && lockTimeoutSeconds <= 59) {\n lockTimeoutConfiguration = lockTimeoutSeconds\n + lockTimeoutMinutes * 60;\n }\n }\n let autoRelockTime: number | undefined;\n let holdAndReleaseTime: number | undefined;\n let twistAssist: boolean | undefined;\n let blockToBlock: boolean | undefined;\n if (raw.payload.length >= 5) {\n autoRelockTime = raw.payload.readUInt16BE(4);\n holdAndReleaseTime = raw.payload.readUInt16BE(6);\n const flags = raw.payload[8];\n twistAssist = !!(flags & 0b1);\n blockToBlock = !!(flags & 0b10);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n operationType,\n outsideHandlesCanOpenDoorConfiguration,\n insideHandlesCanOpenDoorConfiguration,\n lockTimeoutConfiguration,\n autoRelockTime,\n holdAndReleaseTime,\n twistAssist,\n blockToBlock,\n });\n }\n public readonly operationType: DoorLockOperationType;\n public readonly outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public readonly insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public readonly lockTimeoutConfiguration?: number;\n // These are not always supported and have to be persisted manually\n // to avoid unsupported values being exposed to the user\n public readonly autoRelockTime?: number;\n public readonly holdAndReleaseTime?: number;\n public readonly twistAssist?: boolean;\n public readonly blockToBlock?: boolean;\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Only store the autoRelockTime etc. params if the lock supports it\n const supportsAutoRelock = !!this.getValue(ctx, DoorLockCCValues.autoRelockSupported);\n if (supportsAutoRelock) {\n this.setValue(ctx, DoorLockCCValues.autoRelockTime, this.autoRelockTime);\n }\n const supportsHoldAndRelease = !!this.getValue(ctx, DoorLockCCValues.holdAndReleaseSupported);\n if (supportsHoldAndRelease) {\n this.setValue(ctx, DoorLockCCValues.holdAndReleaseTime, this.holdAndReleaseTime);\n }\n const supportsTwistAssist = !!this.getValue(ctx, DoorLockCCValues.twistAssistSupported);\n if (supportsTwistAssist) {\n this.setValue(ctx, DoorLockCCValues.twistAssist, this.twistAssist);\n }\n const supportsBlockToBlock = !!this.getValue(ctx, DoorLockCCValues.blockToBlockSupported);\n if (supportsBlockToBlock) {\n this.setValue(ctx, DoorLockCCValues.blockToBlock, this.blockToBlock);\n }\n return true;\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"operation type\": getEnumMemberName(DoorLockOperationType, this.operationType),\n \"outside handle configuration\": this\n .outsideHandlesCanOpenDoorConfiguration.join(\", \"),\n \"inside handle configuration\": this\n .insideHandlesCanOpenDoorConfiguration.join(\", \"),\n };\n if (this.lockTimeoutConfiguration != undefined) {\n message[\"timed mode duration\"] = `${this.lockTimeoutConfiguration} seconds`;\n }\n if (this.autoRelockTime != undefined) {\n message[\"auto-relock time\"] = `${this.autoRelockTime} seconds`;\n }\n if (this.holdAndReleaseTime != undefined) {\n message[\"hold-and-release time\"] = `${this.holdAndReleaseTime} seconds`;\n }\n if (this.twistAssist != undefined) {\n message[\"twist assist enabled\"] = this.twistAssist;\n }\n if (this.blockToBlock != undefined) {\n message[\"block-to-block enabled\"] = this.blockToBlock;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(DoorLockCommand.ConfigurationGet)\n@expectedCCResponse(DoorLockCCConfigurationReport)\nexport class DoorLockCCConfigurationGet extends DoorLockCC {\n}\n// @publicAPI\nexport type DoorLockCCConfigurationSetOptions = ({\n operationType: DoorLockOperationType.Timed;\n lockTimeoutConfiguration: number;\n} | {\n operationType: DoorLockOperationType.Constant;\n lockTimeoutConfiguration?: undefined;\n}) & {\n outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n // V4+\n autoRelockTime?: number;\n holdAndReleaseTime?: number;\n twistAssist?: boolean;\n blockToBlock?: boolean;\n};\n@CCCommand(DoorLockCommand.ConfigurationSet)\n@useSupervision()\nexport class DoorLockCCConfigurationSet extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCConfigurationSetOptions>) {\n super(options);\n this.operationType = options.operationType;\n this.outsideHandlesCanOpenDoorConfiguration =\n options.outsideHandlesCanOpenDoorConfiguration;\n this.insideHandlesCanOpenDoorConfiguration =\n options.insideHandlesCanOpenDoorConfiguration;\n this.lockTimeoutConfiguration = options.lockTimeoutConfiguration;\n this.autoRelockTime = options.autoRelockTime;\n this.holdAndReleaseTime = options.holdAndReleaseTime;\n this.twistAssist = options.twistAssist;\n this.blockToBlock = options.blockToBlock;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): DoorLockCCConfigurationSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new DoorLockCCConfigurationSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public operationType: DoorLockOperationType;\n public outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public lockTimeoutConfiguration?: number;\n public autoRelockTime?: number;\n public holdAndReleaseTime?: number;\n public twistAssist?: boolean;\n public blockToBlock?: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const insideHandles = isArray(this.insideHandlesCanOpenDoorConfiguration)\n ? this.insideHandlesCanOpenDoorConfiguration\n : [];\n const outsideHandles = isArray(this.outsideHandlesCanOpenDoorConfiguration)\n ? this.outsideHandlesCanOpenDoorConfiguration\n : [];\n const handles = [...insideHandles, ...outsideHandles]\n .map((val, i) => (val ? 1 << i : 0))\n .reduce((acc, cur) => acc | cur, 0);\n let lockTimeoutMinutes: number;\n let lockTimeoutSeconds: number;\n if (this.operationType === DoorLockOperationType.Constant) {\n lockTimeoutMinutes = lockTimeoutSeconds = 0xfe;\n }\n else {\n lockTimeoutMinutes = Math.floor(this.lockTimeoutConfiguration! / 60);\n lockTimeoutSeconds = this.lockTimeoutConfiguration! % 60;\n }\n const flags = (this.twistAssist ? 0b1 : 0)\n | (this.blockToBlock ? 0b10 : 0);\n this.payload = Bytes.from([\n this.operationType,\n handles,\n lockTimeoutMinutes,\n lockTimeoutSeconds,\n // placeholder for auto relock time\n 0,\n 0,\n // placeholder for hold and release time\n 0,\n 0,\n flags,\n ]);\n this.payload.writeUInt16BE((this.autoRelockTime ?? 0) & 0xffff, 4);\n this.payload.writeUInt16BE((this.holdAndReleaseTime ?? 0) & 0xffff, 6);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const insideHandles = isArray(this.insideHandlesCanOpenDoorConfiguration)\n ? this.insideHandlesCanOpenDoorConfiguration\n : [];\n const outsideHandles = isArray(this.outsideHandlesCanOpenDoorConfiguration)\n ? this.outsideHandlesCanOpenDoorConfiguration\n : [];\n const message: MessageRecord = {\n \"operation type\": getEnumMemberName(DoorLockOperationType, this.operationType),\n \"outside handle configuration\": outsideHandles.join(\", \"),\n \"inside handle configuration\": insideHandles.join(\", \"),\n };\n if (this.lockTimeoutConfiguration != undefined) {\n message[\"timed mode duration\"] = `${this.lockTimeoutConfiguration} seconds`;\n }\n if (this.autoRelockTime != undefined) {\n message[\"auto-relock time\"] = `${this.autoRelockTime} seconds`;\n }\n if (this.holdAndReleaseTime != undefined) {\n message[\"hold-and-release time\"] = `${this.holdAndReleaseTime} seconds`;\n }\n if (this.twistAssist != undefined) {\n message[\"enable twist assist\"] = this.twistAssist;\n }\n if (this.blockToBlock != undefined) {\n message[\"enable block-to-block\"] = this.blockToBlock;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface DoorLockCCCapabilitiesReportOptions {\n supportedOperationTypes: DoorLockOperationType[];\n supportedDoorLockModes: DoorLockMode[];\n supportedOutsideHandles: DoorHandleStatus;\n supportedInsideHandles: DoorHandleStatus;\n doorSupported: boolean;\n boltSupported: boolean;\n latchSupported: boolean;\n blockToBlockSupported: boolean;\n twistAssistSupported: boolean;\n holdAndReleaseSupported: boolean;\n autoRelockSupported: boolean;\n}\n@CCCommand(DoorLockCommand.CapabilitiesReport)\n@ccValueProperty(\"supportedOutsideHandles\", DoorLockCCValues.supportedOutsideHandles)\n@ccValueProperty(\"supportedInsideHandles\", DoorLockCCValues.supportedInsideHandles)\n@ccValueProperty(\"autoRelockSupported\", DoorLockCCValues.autoRelockSupported)\n@ccValueProperty(\"holdAndReleaseSupported\", DoorLockCCValues.holdAndReleaseSupported)\n@ccValueProperty(\"twistAssistSupported\", DoorLockCCValues.twistAssistSupported)\n@ccValueProperty(\"blockToBlockSupported\", DoorLockCCValues.blockToBlockSupported)\nexport class DoorLockCCCapabilitiesReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCCapabilitiesReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedOperationTypes = options.supportedOperationTypes;\n this.supportedDoorLockModes = options.supportedDoorLockModes;\n this.supportedOutsideHandles = options.supportedOutsideHandles;\n this.supportedInsideHandles = options.supportedInsideHandles;\n this.doorSupported = options.doorSupported;\n this.boltSupported = options.boltSupported;\n this.latchSupported = options.latchSupported;\n this.blockToBlockSupported = options.blockToBlockSupported;\n this.twistAssistSupported = options.twistAssistSupported;\n this.holdAndReleaseSupported = options.holdAndReleaseSupported;\n this.autoRelockSupported = options.autoRelockSupported;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCCapabilitiesReport {\n // parse variable length operation type bit mask\n validatePayload(raw.payload.length >= 1);\n const bitMaskLength = raw.payload[0] & 0b11111;\n let offset = 1;\n validatePayload(raw.payload.length >= offset + bitMaskLength + 1);\n const supportedOperationTypes: DoorLockOperationType[] = parseBitMask(raw.payload.subarray(offset, offset + bitMaskLength), \n // bit 0 is reserved, bitmask starts at 1\n 0);\n offset += bitMaskLength;\n // parse variable length door lock mode list\n const listLength = raw.payload[offset];\n offset += 1;\n validatePayload(raw.payload.length >= offset + listLength + 3);\n const supportedDoorLockModes: DoorLockMode[] = [\n ...raw.payload.subarray(offset, offset + listLength),\n ];\n offset += listLength;\n const supportedOutsideHandles: DoorHandleStatus = [\n !!(raw.payload[offset] & 16),\n !!(raw.payload[offset] & 32),\n !!(raw.payload[offset] & 64),\n !!(raw.payload[offset] & 128),\n ];\n const supportedInsideHandles: DoorHandleStatus = [\n !!(raw.payload[offset] & 0b0001),\n !!(raw.payload[offset] & 0b0010),\n !!(raw.payload[offset] & 0b0100),\n !!(raw.payload[offset] & 0b1000),\n ];\n const doorSupported = !!(raw.payload[offset + 1] & 0b1);\n const boltSupported = !!(raw.payload[offset + 1] & 0b10);\n const latchSupported = !!(raw.payload[offset + 1] & 0b100);\n const blockToBlockSupported = !!(raw.payload[offset + 2] & 0b1);\n const twistAssistSupported = !!(raw.payload[offset + 2] & 0b10);\n const holdAndReleaseSupported = !!(raw.payload[offset + 2] & 0b100);\n const autoRelockSupported = !!(raw.payload[offset + 2] & 0b1000);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedOperationTypes,\n supportedDoorLockModes,\n supportedOutsideHandles,\n supportedInsideHandles,\n doorSupported,\n boltSupported,\n latchSupported,\n blockToBlockSupported,\n twistAssistSupported,\n holdAndReleaseSupported,\n autoRelockSupported,\n });\n }\n public readonly supportedOperationTypes: readonly DoorLockOperationType[];\n public readonly supportedDoorLockModes: readonly DoorLockMode[];\n public readonly supportedOutsideHandles: DoorHandleStatus;\n public readonly supportedInsideHandles: DoorHandleStatus;\n // These 3 are not automatically persisted because in CC version 3\n // we have to assume them to be supported. In v4 we can query this.\n public readonly latchSupported: boolean;\n public readonly boltSupported: boolean;\n public readonly doorSupported: boolean;\n public readonly autoRelockSupported: boolean;\n public readonly holdAndReleaseSupported: boolean;\n public readonly twistAssistSupported: boolean;\n public readonly blockToBlockSupported: boolean;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n door: this.doorSupported,\n bolt: this.boltSupported,\n latch: this.latchSupported,\n \"block-to-block feature\": this.blockToBlockSupported,\n \"twist assist feature\": this.twistAssistSupported,\n \"hold-and-release feature\": this.holdAndReleaseSupported,\n \"auto-relock feature\": this.autoRelockSupported,\n \"operation types\": this.supportedOperationTypes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(DoorLockOperationType, t)}`)\n .join(\"\"),\n \"door lock modes\": this.supportedDoorLockModes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(DoorLockMode, t)}`)\n .join(\"\"),\n \"outside handles\": this.supportedOutsideHandles.join(\", \"),\n \"inside handles\": this.supportedInsideHandles.join(\", \"),\n },\n };\n }\n}\n@CCCommand(DoorLockCommand.CapabilitiesGet)\n@expectedCCResponse(DoorLockCCCapabilitiesReport)\nexport class DoorLockCCCapabilitiesGet extends DoorLockCC {\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import * as __validateArgs from \"./DoorLockCC._validateArgs.js\";\nconst { validateArgs_DoorLockCCAPI_set, validateArgs_DoorLockCCAPI_setConfiguration } = __validateArgs;\nimport { CommandClasses, Duration, type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, enumValuesToMetadataStates, parseBitMask, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport { CCAPI, POLL_VALUE, PhysicalCCAPI, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type DoorHandleStatus, DoorLockCommand, DoorLockMode, DoorLockOperationType, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { DoorLockCCValues } from \"./_CCValues.generated.js\";\nexport { DoorLockCCValues };\nexport function shouldAutoCreateLatchStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.latchSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateBoltStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.boltSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateDoorStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.doorSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateTwistAssistConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.twistAssistSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateBlockToBlockConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateAutoRelockConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.autoRelockSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateHoldAndReleaseConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index));\n}\nconst configurationSetParameters = [\n \"operationType\",\n \"outsideHandlesCanOpenDoorConfiguration\",\n \"insideHandlesCanOpenDoorConfiguration\",\n \"lockTimeoutConfiguration\",\n \"autoRelockTime\",\n \"holdAndReleaseTime\",\n \"twistAssist\",\n \"blockToBlock\",\n] as const;\n@API(CommandClasses[\"Door Lock\"])\nexport class DoorLockCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: DoorLockCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case DoorLockCommand.OperationSet:\n case DoorLockCommand.OperationGet:\n case DoorLockCommand.ConfigurationSet:\n case DoorLockCommand.ConfigurationGet:\n return true; // This is mandatory\n case DoorLockCommand.CapabilitiesGet:\n return this.version >= 4;\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: DoorLockCCAPI, { property }, value) {\n if (property === \"targetMode\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n const result = await this.set(value);\n // Verify the current value after a delay, unless the command was supervised and successful\n if (supervisedCommandSucceeded(result)) {\n this.getValueDB().setValue(DoorLockCCValues.currentMode.endpoint(this.endpoint.index), value);\n }\n else {\n this.schedulePoll({ property }, value);\n }\n return result;\n }\n else if (typeof property === \"string\"\n && configurationSetParameters.includes(property as any)) {\n // checking every type here would create a LOT of duplicate code, so we don't\n // ConfigurationSet expects all parameters --> read the others from cache\n const config = {\n [property]: value,\n } as DoorLockCCConfigurationSetOptions;\n for (const param of configurationSetParameters) {\n if (param !== property) {\n (config as any)[param] = this.tryGetValueDB()?.getValue({\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property: param,\n });\n }\n }\n // Fix insideHandlesCanOpenDoorConfiguration is not iterable\n const allTrue: DoorHandleStatus = [true, true, true, true];\n if (!config.insideHandlesCanOpenDoorConfiguration) {\n config.insideHandlesCanOpenDoorConfiguration = allTrue;\n }\n if (!config.outsideHandlesCanOpenDoorConfiguration) {\n config.outsideHandlesCanOpenDoorConfiguration = allTrue;\n }\n const result = await this.setConfiguration(config);\n // Verify the current value after a delay, unless the command was supervised and successful\n if (!supervisedCommandSucceeded(result)) {\n this.schedulePoll({ property }, value);\n }\n return result;\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: DoorLockCCAPI, { property }) {\n switch (property) {\n case \"currentMode\":\n case \"targetMode\":\n case \"duration\":\n case \"outsideHandlesCanOpenDoor\":\n case \"insideHandlesCanOpenDoor\":\n case \"latchStatus\":\n case \"boltStatus\":\n case \"doorStatus\":\n case \"lockTimeout\":\n return (await this.get())?.[property];\n case \"operationType\":\n case \"outsideHandlesCanOpenDoorConfiguration\":\n case \"insideHandlesCanOpenDoorConfiguration\":\n case \"lockTimeoutConfiguration\":\n case \"autoRelockTime\":\n case \"holdAndReleaseTime\":\n case \"twistAssist\":\n case \"blockToBlock\":\n return (await this.getConfiguration())?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getCapabilities() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.CapabilitiesGet);\n const cc = new DoorLockCCCapabilitiesGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCCapabilitiesReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"autoRelockSupported\",\n \"blockToBlockSupported\",\n \"boltSupported\",\n \"doorSupported\",\n \"holdAndReleaseSupported\",\n \"latchSupported\",\n \"twistAssistSupported\",\n \"supportedDoorLockModes\",\n \"supportedInsideHandles\",\n \"supportedOperationTypes\",\n \"supportedOutsideHandles\",\n ]);\n }\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.OperationGet);\n const cc = new DoorLockCCOperationGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCOperationReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"currentMode\",\n \"targetMode\",\n \"duration\",\n \"outsideHandlesCanOpenDoor\",\n \"insideHandlesCanOpenDoor\",\n \"latchStatus\",\n \"boltStatus\",\n \"doorStatus\",\n \"lockTimeout\",\n ]);\n }\n }\n @validateArgs_DoorLockCCAPI_set()\n public async set(mode: DoorLockMode): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.OperationSet);\n const cc = new DoorLockCCOperationSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n mode,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_DoorLockCCAPI_setConfiguration()\n public async setConfiguration(configuration: DoorLockCCConfigurationSetOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.ConfigurationSet);\n const cc = new DoorLockCCConfigurationSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...configuration,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getConfiguration() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.ConfigurationGet);\n const cc = new DoorLockCCConfigurationGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCConfigurationReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"operationType\",\n \"outsideHandlesCanOpenDoorConfiguration\",\n \"insideHandlesCanOpenDoorConfiguration\",\n \"lockTimeoutConfiguration\",\n \"autoRelockTime\",\n \"holdAndReleaseTime\",\n \"twistAssist\",\n \"blockToBlock\",\n ]);\n }\n }\n}\n@commandClass(CommandClasses[\"Door Lock\"])\n@implementedVersion(4)\n@ccValues(DoorLockCCValues)\nexport class DoorLockCC extends CommandClass {\n declare ccCommand: DoorLockCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Door Lock\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // We need to do some queries after a potential timeout\n // In this case, do now mark this CC as interviewed completely\n let hadCriticalTimeout = false;\n // By default, assume all status sensors to be supported\n let doorSupported = true;\n let boltSupported = true;\n let latchSupported = true;\n if (api.version >= 4) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting lock capabilities...\",\n direction: \"outbound\",\n });\n const resp = await api.getCapabilities();\n if (resp) {\n const logMessage = `received lock capabilities:\nsupported operation types: ${resp.supportedOperationTypes\n .map((t) => getEnumMemberName(DoorLockOperationType, t))\n .join(\", \")}\nsupported door lock modes: ${resp.supportedDoorLockModes\n .map((t) => getEnumMemberName(DoorLockMode, t))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\")}\nsupported outside handles: ${resp.supportedOutsideHandles\n .map(String)\n .join(\", \")}\nsupported inside handles: ${resp.supportedInsideHandles.map(String).join(\", \")}\nsupports door status: ${resp.doorSupported}\nsupports bolt status: ${resp.boltSupported}\nsupports latch status: ${resp.latchSupported}\nsupports auto-relock: ${resp.autoRelockSupported}\nsupports hold-and-release: ${resp.holdAndReleaseSupported}\nsupports twist assist: ${resp.twistAssistSupported}\nsupports block to block: ${resp.blockToBlockSupported}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n doorSupported = resp.doorSupported;\n boltSupported = resp.boltSupported;\n latchSupported = resp.latchSupported;\n // Update metadata of settable states\n const targetModeValue = DoorLockCCValues.targetMode;\n this.setMetadata(ctx, targetModeValue, {\n ...targetModeValue.meta,\n states: enumValuesToMetadataStates(DoorLockMode, resp.supportedDoorLockModes),\n });\n const operationTypeValue = DoorLockCCValues.operationType;\n this.setMetadata(ctx, operationTypeValue, {\n ...operationTypeValue.meta,\n states: enumValuesToMetadataStates(DoorLockOperationType, resp.supportedOperationTypes),\n });\n }\n else {\n hadCriticalTimeout = true;\n }\n }\n if (!hadCriticalTimeout) {\n // Save support information for the status values\n const doorStatusValue = DoorLockCCValues.doorStatus;\n if (doorSupported)\n this.setMetadata(ctx, doorStatusValue);\n this.setValue(ctx, DoorLockCCValues.doorSupported, doorSupported);\n const latchStatusValue = DoorLockCCValues.latchStatus;\n if (latchSupported)\n this.setMetadata(ctx, latchStatusValue);\n this.setValue(ctx, DoorLockCCValues.latchSupported, latchSupported);\n const boltStatusValue = DoorLockCCValues.boltStatus;\n if (boltSupported)\n this.setMetadata(ctx, boltStatusValue);\n this.setValue(ctx, DoorLockCCValues.boltSupported, boltSupported);\n }\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n if (!hadCriticalTimeout)\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Door Lock\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting lock configuration...\",\n direction: \"outbound\",\n });\n const config = await api.getConfiguration();\n if (config) {\n let logMessage = `received lock configuration:\noperation type: ${getEnumMemberName(DoorLockOperationType, config.operationType)}`;\n if (config.operationType === DoorLockOperationType.Timed) {\n logMessage += `\nlock timeout: ${config.lockTimeoutConfiguration} seconds\n`;\n }\n logMessage += `\noutside handles can open door: ${config.outsideHandlesCanOpenDoorConfiguration\n .map(String)\n .join(\", \")}\ninside handles can open door: ${config.insideHandlesCanOpenDoorConfiguration\n .map(String)\n .join(\", \")}`;\n if (api.version >= 4) {\n logMessage += `\nauto-relock time ${config.autoRelockTime ?? \"-\"} seconds\nhold-and-release time ${config.holdAndReleaseTime ?? \"-\"} seconds\ntwist assist ${!!config.twistAssist}\nblock to block ${!!config.blockToBlock}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting current lock status...\",\n direction: \"outbound\",\n });\n const status = await api.get();\n if (status) {\n let logMessage = `received lock status:\ncurrent mode: ${getEnumMemberName(DoorLockMode, status.currentMode)}`;\n if (status.targetMode != undefined) {\n logMessage += `\ntarget mode: ${getEnumMemberName(DoorLockMode, status.targetMode)}\nremaining duration: ${status.duration?.toString() ?? \"undefined\"}`;\n }\n if (status.lockTimeout != undefined) {\n logMessage += `\nlock timeout: ${status.lockTimeout} seconds`;\n }\n if (status.doorStatus != undefined) {\n logMessage += `\ndoor status: ${status.doorStatus}`;\n }\n if (status.boltStatus != undefined) {\n logMessage += `\nbolt status: ${status.boltStatus}`;\n }\n if (status.latchStatus != undefined) {\n logMessage += `\nlatch status: ${status.latchStatus}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n /**\n * Returns whether the node supports auto relock.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsAutoRelockCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.autoRelockSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports hold and release.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsHoldAndReleaseCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports twist assist.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsTwistAssistCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.twistAssistSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports block to block.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsBlockToBlockCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index));\n }\n /**\n * Returns the supported outside handles.\n * This only works AFTER the node has been interviewed.\n */\n public static getSupportedOutsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.supportedOutsideHandles.endpoint(endpoint.index));\n }\n /**\n * Returns the supported inside handles.\n * This only works AFTER the node has been interviewed.\n */\n public static getSupportedInsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.supportedInsideHandles.endpoint(endpoint.index));\n }\n}\n// @publicAPI\nexport interface DoorLockCCOperationSetOptions {\n mode: DoorLockMode;\n}\n@CCCommand(DoorLockCommand.OperationSet)\n@useSupervision()\nexport class DoorLockCCOperationSet extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCOperationSetOptions>) {\n super(options);\n if (options.mode === DoorLockMode.Unknown) {\n throw new ZWaveError(`Unknown is not a valid door lock target state!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.mode = options.mode;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): DoorLockCCOperationSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new DoorLockCCOperationSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public mode: DoorLockMode;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.mode]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"target mode\": getEnumMemberName(DoorLockMode, this.mode),\n },\n };\n }\n}\n// @publicAPI\nexport interface DoorLockCCOperationReportOptions {\n currentMode: DoorLockMode;\n outsideHandlesCanOpenDoor: DoorHandleStatus;\n insideHandlesCanOpenDoor: DoorHandleStatus;\n doorStatus?: \"closed\" | \"open\";\n boltStatus?: \"unlocked\" | \"locked\";\n latchStatus?: \"closed\" | \"open\";\n lockTimeout?: number;\n targetMode?: DoorLockMode;\n duration?: Duration;\n}\n@CCCommand(DoorLockCommand.OperationReport)\n@ccValueProperty(\"currentMode\", DoorLockCCValues.currentMode)\n@ccValueProperty(\"targetMode\", DoorLockCCValues.targetMode)\n@ccValueProperty(\"duration\", DoorLockCCValues.duration)\n@ccValueProperty(\"outsideHandlesCanOpenDoor\", DoorLockCCValues.outsideHandlesCanOpenDoor)\n@ccValueProperty(\"insideHandlesCanOpenDoor\", DoorLockCCValues.insideHandlesCanOpenDoor)\n@ccValueProperty(\"lockTimeout\", DoorLockCCValues.lockTimeout)\nexport class DoorLockCCOperationReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCOperationReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.currentMode = options.currentMode;\n this.outsideHandlesCanOpenDoor = options.outsideHandlesCanOpenDoor;\n this.insideHandlesCanOpenDoor = options.insideHandlesCanOpenDoor;\n this.doorStatus = options.doorStatus;\n this.boltStatus = options.boltStatus;\n this.latchStatus = options.latchStatus;\n this.lockTimeout = options.lockTimeout;\n this.targetMode = options.targetMode;\n this.duration = options.duration;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCOperationReport {\n validatePayload(raw.payload.length >= 5);\n const currentMode: DoorLockMode = raw.payload[0];\n const outsideHandlesCanOpenDoor: DoorHandleStatus = [\n !!(raw.payload[1] & 16),\n !!(raw.payload[1] & 32),\n !!(raw.payload[1] & 64),\n !!(raw.payload[1] & 128),\n ];\n const insideHandlesCanOpenDoor: DoorHandleStatus = [\n !!(raw.payload[1] & 0b0001),\n !!(raw.payload[1] & 0b0010),\n !!(raw.payload[1] & 0b0100),\n !!(raw.payload[1] & 0b1000),\n ];\n const doorStatus: \"closed\" | \"open\" | undefined = !!(raw.payload[2] & 0b1)\n ? \"closed\"\n : \"open\";\n const boltStatus: \"unlocked\" | \"locked\" | undefined = !!(raw.payload[2] & 0b10) ? \"unlocked\" : \"locked\";\n const latchStatus: \"closed\" | \"open\" | undefined = !!(raw.payload[2] & 0b100)\n ? \"closed\"\n : \"open\";\n // Ignore invalid timeout values\n const lockTimeoutMinutes = raw.payload[3];\n const lockTimeoutSeconds = raw.payload[4];\n let lockTimeout: number | undefined;\n if (lockTimeoutMinutes <= 253 && lockTimeoutSeconds <= 59) {\n lockTimeout = lockTimeoutSeconds + lockTimeoutMinutes * 60;\n }\n let targetMode: DoorLockMode | undefined;\n let duration: Duration | undefined;\n if (raw.payload.length >= 7) {\n targetMode = raw.payload[5];\n duration = Duration.parseReport(raw.payload[6]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n currentMode,\n outsideHandlesCanOpenDoor,\n insideHandlesCanOpenDoor,\n doorStatus,\n boltStatus,\n latchStatus,\n lockTimeout,\n targetMode,\n duration,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Only store the door/bolt/latch status if the lock supports it\n const supportsDoorStatus = !!this.getValue(ctx, DoorLockCCValues.doorSupported);\n if (supportsDoorStatus) {\n this.setValue(ctx, DoorLockCCValues.doorStatus, this.doorStatus);\n }\n const supportsBoltStatus = !!this.getValue(ctx, DoorLockCCValues.boltSupported);\n if (supportsBoltStatus) {\n this.setValue(ctx, DoorLockCCValues.boltStatus, this.boltStatus);\n }\n const supportsLatchStatus = !!this.getValue(ctx, DoorLockCCValues.latchSupported);\n if (supportsLatchStatus) {\n this.setValue(ctx, DoorLockCCValues.latchStatus, this.latchStatus);\n }\n return true;\n }\n public readonly currentMode: DoorLockMode;\n public readonly targetMode?: DoorLockMode;\n public readonly duration?: Duration;\n public readonly outsideHandlesCanOpenDoor: DoorHandleStatus;\n public readonly insideHandlesCanOpenDoor: DoorHandleStatus;\n public readonly latchStatus?: \"open\" | \"closed\";\n public readonly boltStatus?: \"locked\" | \"unlocked\";\n public readonly doorStatus?: \"open\" | \"closed\";\n public readonly lockTimeout?: number; // in seconds\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"current mode\": getEnumMemberName(DoorLockMode, this.currentMode),\n \"active outside handles\": this.outsideHandlesCanOpenDoor.join(\", \"),\n \"active inside handles\": this.insideHandlesCanOpenDoor.join(\", \"),\n };\n if (this.latchStatus != undefined) {\n message[\"latch status\"] = this.latchStatus;\n }\n if (this.boltStatus != undefined) {\n message[\"bolt status\"] = this.boltStatus;\n }\n if (this.doorStatus != undefined) {\n message[\"door status\"] = this.doorStatus;\n }\n if (this.targetMode != undefined) {\n message[\"target mode\"] = getEnumMemberName(DoorLockMode, this.targetMode);\n }\n if (this.duration != undefined) {\n message[\"remaining duration\"] = this.duration.toString();\n }\n if (this.lockTimeout != undefined) {\n message[\"lock timeout\"] = `${this.lockTimeout} seconds`;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(DoorLockCommand.OperationGet)\n@expectedCCResponse(DoorLockCCOperationReport)\nexport class DoorLockCCOperationGet extends DoorLockCC {\n}\n// @publicAPI\nexport interface DoorLockCCConfigurationReportOptions {\n operationType: DoorLockOperationType;\n outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n lockTimeoutConfiguration?: number;\n autoRelockTime?: number;\n holdAndReleaseTime?: number;\n twistAssist?: boolean;\n blockToBlock?: boolean;\n}\n@CCCommand(DoorLockCommand.ConfigurationReport)\n@ccValueProperty(\"operationType\", DoorLockCCValues.operationType)\n@ccValueProperty(\"outsideHandlesCanOpenDoorConfiguration\", DoorLockCCValues.outsideHandlesCanOpenDoorConfiguration)\n@ccValueProperty(\"insideHandlesCanOpenDoorConfiguration\", DoorLockCCValues.insideHandlesCanOpenDoorConfiguration)\n@ccValueProperty(\"lockTimeoutConfiguration\", DoorLockCCValues.lockTimeoutConfiguration)\nexport class DoorLockCCConfigurationReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCConfigurationReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.operationType = options.operationType;\n this.outsideHandlesCanOpenDoorConfiguration =\n options.outsideHandlesCanOpenDoorConfiguration;\n this.insideHandlesCanOpenDoorConfiguration =\n options.insideHandlesCanOpenDoorConfiguration;\n this.lockTimeoutConfiguration = options.lockTimeoutConfiguration;\n this.autoRelockTime = options.autoRelockTime;\n this.holdAndReleaseTime = options.holdAndReleaseTime;\n this.twistAssist = options.twistAssist;\n this.blockToBlock = options.blockToBlock;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCConfigurationReport {\n validatePayload(raw.payload.length >= 4);\n const operationType: DoorLockOperationType = raw.payload[0];\n const outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus = [\n !!(raw.payload[1] & 16),\n !!(raw.payload[1] & 32),\n !!(raw.payload[1] & 64),\n !!(raw.payload[1] & 128),\n ];\n const insideHandlesCanOpenDoorConfiguration: DoorHandleStatus = [\n !!(raw.payload[1] & 0b0001),\n !!(raw.payload[1] & 0b0010),\n !!(raw.payload[1] & 0b0100),\n !!(raw.payload[1] & 0b1000),\n ];\n let lockTimeoutConfiguration: number | undefined;\n if (operationType === DoorLockOperationType.Timed) {\n const lockTimeoutMinutes = raw.payload[2];\n const lockTimeoutSeconds = raw.payload[3];\n if (lockTimeoutMinutes <= 0xfd && lockTimeoutSeconds <= 59) {\n lockTimeoutConfiguration = lockTimeoutSeconds\n + lockTimeoutMinutes * 60;\n }\n }\n let autoRelockTime: number | undefined;\n let holdAndReleaseTime: number | undefined;\n let twistAssist: boolean | undefined;\n let blockToBlock: boolean | undefined;\n if (raw.payload.length >= 5) {\n autoRelockTime = raw.payload.readUInt16BE(4);\n holdAndReleaseTime = raw.payload.readUInt16BE(6);\n const flags = raw.payload[8];\n twistAssist = !!(flags & 0b1);\n blockToBlock = !!(flags & 0b10);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n operationType,\n outsideHandlesCanOpenDoorConfiguration,\n insideHandlesCanOpenDoorConfiguration,\n lockTimeoutConfiguration,\n autoRelockTime,\n holdAndReleaseTime,\n twistAssist,\n blockToBlock,\n });\n }\n public readonly operationType: DoorLockOperationType;\n public readonly outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public readonly insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public readonly lockTimeoutConfiguration?: number;\n // These are not always supported and have to be persisted manually\n // to avoid unsupported values being exposed to the user\n public readonly autoRelockTime?: number;\n public readonly holdAndReleaseTime?: number;\n public readonly twistAssist?: boolean;\n public readonly blockToBlock?: boolean;\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Only store the autoRelockTime etc. params if the lock supports it\n const supportsAutoRelock = !!this.getValue(ctx, DoorLockCCValues.autoRelockSupported);\n if (supportsAutoRelock) {\n this.setValue(ctx, DoorLockCCValues.autoRelockTime, this.autoRelockTime);\n }\n const supportsHoldAndRelease = !!this.getValue(ctx, DoorLockCCValues.holdAndReleaseSupported);\n if (supportsHoldAndRelease) {\n this.setValue(ctx, DoorLockCCValues.holdAndReleaseTime, this.holdAndReleaseTime);\n }\n const supportsTwistAssist = !!this.getValue(ctx, DoorLockCCValues.twistAssistSupported);\n if (supportsTwistAssist) {\n this.setValue(ctx, DoorLockCCValues.twistAssist, this.twistAssist);\n }\n const supportsBlockToBlock = !!this.getValue(ctx, DoorLockCCValues.blockToBlockSupported);\n if (supportsBlockToBlock) {\n this.setValue(ctx, DoorLockCCValues.blockToBlock, this.blockToBlock);\n }\n return true;\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"operation type\": getEnumMemberName(DoorLockOperationType, this.operationType),\n \"outside handle configuration\": this\n .outsideHandlesCanOpenDoorConfiguration.join(\", \"),\n \"inside handle configuration\": this\n .insideHandlesCanOpenDoorConfiguration.join(\", \"),\n };\n if (this.lockTimeoutConfiguration != undefined) {\n message[\"timed mode duration\"] = `${this.lockTimeoutConfiguration} seconds`;\n }\n if (this.autoRelockTime != undefined) {\n message[\"auto-relock time\"] = `${this.autoRelockTime} seconds`;\n }\n if (this.holdAndReleaseTime != undefined) {\n message[\"hold-and-release time\"] = `${this.holdAndReleaseTime} seconds`;\n }\n if (this.twistAssist != undefined) {\n message[\"twist assist enabled\"] = this.twistAssist;\n }\n if (this.blockToBlock != undefined) {\n message[\"block-to-block enabled\"] = this.blockToBlock;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(DoorLockCommand.ConfigurationGet)\n@expectedCCResponse(DoorLockCCConfigurationReport)\nexport class DoorLockCCConfigurationGet extends DoorLockCC {\n}\n// @publicAPI\nexport type DoorLockCCConfigurationSetOptions = ({\n operationType: DoorLockOperationType.Timed;\n lockTimeoutConfiguration: number;\n} | {\n operationType: DoorLockOperationType.Constant;\n lockTimeoutConfiguration?: undefined;\n}) & {\n outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n // V4+\n autoRelockTime?: number;\n holdAndReleaseTime?: number;\n twistAssist?: boolean;\n blockToBlock?: boolean;\n};\n@CCCommand(DoorLockCommand.ConfigurationSet)\n@useSupervision()\nexport class DoorLockCCConfigurationSet extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCConfigurationSetOptions>) {\n super(options);\n this.operationType = options.operationType;\n this.outsideHandlesCanOpenDoorConfiguration =\n options.outsideHandlesCanOpenDoorConfiguration;\n this.insideHandlesCanOpenDoorConfiguration =\n options.insideHandlesCanOpenDoorConfiguration;\n this.lockTimeoutConfiguration = options.lockTimeoutConfiguration;\n this.autoRelockTime = options.autoRelockTime;\n this.holdAndReleaseTime = options.holdAndReleaseTime;\n this.twistAssist = options.twistAssist;\n this.blockToBlock = options.blockToBlock;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): DoorLockCCConfigurationSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new DoorLockCCConfigurationSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public operationType: DoorLockOperationType;\n public outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public lockTimeoutConfiguration?: number;\n public autoRelockTime?: number;\n public holdAndReleaseTime?: number;\n public twistAssist?: boolean;\n public blockToBlock?: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const insideHandles = isArray(this.insideHandlesCanOpenDoorConfiguration)\n ? this.insideHandlesCanOpenDoorConfiguration\n : [];\n const outsideHandles = isArray(this.outsideHandlesCanOpenDoorConfiguration)\n ? this.outsideHandlesCanOpenDoorConfiguration\n : [];\n const handles = [...insideHandles, ...outsideHandles]\n .map((val, i) => (val ? 1 << i : 0))\n .reduce((acc, cur) => acc | cur, 0);\n let lockTimeoutMinutes: number;\n let lockTimeoutSeconds: number;\n if (this.operationType === DoorLockOperationType.Constant) {\n lockTimeoutMinutes = lockTimeoutSeconds = 0xfe;\n }\n else {\n lockTimeoutMinutes = Math.floor(this.lockTimeoutConfiguration! / 60);\n lockTimeoutSeconds = this.lockTimeoutConfiguration! % 60;\n }\n const flags = (this.twistAssist ? 0b1 : 0)\n | (this.blockToBlock ? 0b10 : 0);\n this.payload = Bytes.from([\n this.operationType,\n handles,\n lockTimeoutMinutes,\n lockTimeoutSeconds,\n // placeholder for auto relock time\n 0,\n 0,\n // placeholder for hold and release time\n 0,\n 0,\n flags,\n ]);\n this.payload.writeUInt16BE((this.autoRelockTime ?? 0) & 0xffff, 4);\n this.payload.writeUInt16BE((this.holdAndReleaseTime ?? 0) & 0xffff, 6);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const insideHandles = isArray(this.insideHandlesCanOpenDoorConfiguration)\n ? this.insideHandlesCanOpenDoorConfiguration\n : [];\n const outsideHandles = isArray(this.outsideHandlesCanOpenDoorConfiguration)\n ? this.outsideHandlesCanOpenDoorConfiguration\n : [];\n const message: MessageRecord = {\n \"operation type\": getEnumMemberName(DoorLockOperationType, this.operationType),\n \"outside handle configuration\": outsideHandles.join(\", \"),\n \"inside handle configuration\": insideHandles.join(\", \"),\n };\n if (this.lockTimeoutConfiguration != undefined) {\n message[\"timed mode duration\"] = `${this.lockTimeoutConfiguration} seconds`;\n }\n if (this.autoRelockTime != undefined) {\n message[\"auto-relock time\"] = `${this.autoRelockTime} seconds`;\n }\n if (this.holdAndReleaseTime != undefined) {\n message[\"hold-and-release time\"] = `${this.holdAndReleaseTime} seconds`;\n }\n if (this.twistAssist != undefined) {\n message[\"enable twist assist\"] = this.twistAssist;\n }\n if (this.blockToBlock != undefined) {\n message[\"enable block-to-block\"] = this.blockToBlock;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface DoorLockCCCapabilitiesReportOptions {\n supportedOperationTypes: DoorLockOperationType[];\n supportedDoorLockModes: DoorLockMode[];\n supportedOutsideHandles: DoorHandleStatus;\n supportedInsideHandles: DoorHandleStatus;\n doorSupported: boolean;\n boltSupported: boolean;\n latchSupported: boolean;\n blockToBlockSupported: boolean;\n twistAssistSupported: boolean;\n holdAndReleaseSupported: boolean;\n autoRelockSupported: boolean;\n}\n@CCCommand(DoorLockCommand.CapabilitiesReport)\n@ccValueProperty(\"supportedOutsideHandles\", DoorLockCCValues.supportedOutsideHandles)\n@ccValueProperty(\"supportedInsideHandles\", DoorLockCCValues.supportedInsideHandles)\n@ccValueProperty(\"autoRelockSupported\", DoorLockCCValues.autoRelockSupported)\n@ccValueProperty(\"holdAndReleaseSupported\", DoorLockCCValues.holdAndReleaseSupported)\n@ccValueProperty(\"twistAssistSupported\", DoorLockCCValues.twistAssistSupported)\n@ccValueProperty(\"blockToBlockSupported\", DoorLockCCValues.blockToBlockSupported)\nexport class DoorLockCCCapabilitiesReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCCapabilitiesReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedOperationTypes = options.supportedOperationTypes;\n this.supportedDoorLockModes = options.supportedDoorLockModes;\n this.supportedOutsideHandles = options.supportedOutsideHandles;\n this.supportedInsideHandles = options.supportedInsideHandles;\n this.doorSupported = options.doorSupported;\n this.boltSupported = options.boltSupported;\n this.latchSupported = options.latchSupported;\n this.blockToBlockSupported = options.blockToBlockSupported;\n this.twistAssistSupported = options.twistAssistSupported;\n this.holdAndReleaseSupported = options.holdAndReleaseSupported;\n this.autoRelockSupported = options.autoRelockSupported;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCCapabilitiesReport {\n // parse variable length operation type bit mask\n validatePayload(raw.payload.length >= 1);\n const bitMaskLength = raw.payload[0] & 0b11111;\n let offset = 1;\n validatePayload(raw.payload.length >= offset + bitMaskLength + 1);\n const supportedOperationTypes: DoorLockOperationType[] = parseBitMask(raw.payload.subarray(offset, offset + bitMaskLength), \n // bit 0 is reserved, bitmask starts at 1\n 0);\n offset += bitMaskLength;\n // parse variable length door lock mode list\n const listLength = raw.payload[offset];\n offset += 1;\n validatePayload(raw.payload.length >= offset + listLength + 3);\n const supportedDoorLockModes: DoorLockMode[] = [\n ...raw.payload.subarray(offset, offset + listLength),\n ];\n offset += listLength;\n const supportedOutsideHandles: DoorHandleStatus = [\n !!(raw.payload[offset] & 16),\n !!(raw.payload[offset] & 32),\n !!(raw.payload[offset] & 64),\n !!(raw.payload[offset] & 128),\n ];\n const supportedInsideHandles: DoorHandleStatus = [\n !!(raw.payload[offset] & 0b0001),\n !!(raw.payload[offset] & 0b0010),\n !!(raw.payload[offset] & 0b0100),\n !!(raw.payload[offset] & 0b1000),\n ];\n const doorSupported = !!(raw.payload[offset + 1] & 0b1);\n const boltSupported = !!(raw.payload[offset + 1] & 0b10);\n const latchSupported = !!(raw.payload[offset + 1] & 0b100);\n const blockToBlockSupported = !!(raw.payload[offset + 2] & 0b1);\n const twistAssistSupported = !!(raw.payload[offset + 2] & 0b10);\n const holdAndReleaseSupported = !!(raw.payload[offset + 2] & 0b100);\n const autoRelockSupported = !!(raw.payload[offset + 2] & 0b1000);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedOperationTypes,\n supportedDoorLockModes,\n supportedOutsideHandles,\n supportedInsideHandles,\n doorSupported,\n boltSupported,\n latchSupported,\n blockToBlockSupported,\n twistAssistSupported,\n holdAndReleaseSupported,\n autoRelockSupported,\n });\n }\n public readonly supportedOperationTypes: readonly DoorLockOperationType[];\n public readonly supportedDoorLockModes: readonly DoorLockMode[];\n public readonly supportedOutsideHandles: DoorHandleStatus;\n public readonly supportedInsideHandles: DoorHandleStatus;\n // These 3 are not automatically persisted because in CC version 3\n // we have to assume them to be supported. In v4 we can query this.\n public readonly latchSupported: boolean;\n public readonly boltSupported: boolean;\n public readonly doorSupported: boolean;\n public readonly autoRelockSupported: boolean;\n public readonly holdAndReleaseSupported: boolean;\n public readonly twistAssistSupported: boolean;\n public readonly blockToBlockSupported: boolean;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n door: this.doorSupported,\n bolt: this.boltSupported,\n latch: this.latchSupported,\n \"block-to-block feature\": this.blockToBlockSupported,\n \"twist assist feature\": this.twistAssistSupported,\n \"hold-and-release feature\": this.holdAndReleaseSupported,\n \"auto-relock feature\": this.autoRelockSupported,\n \"operation types\": this.supportedOperationTypes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(DoorLockOperationType, t)}`)\n .join(\"\"),\n \"door lock modes\": this.supportedDoorLockModes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(DoorLockMode, t)}`)\n .join(\"\"),\n \"outside handles\": this.supportedOutsideHandles.join(\", \"),\n \"inside handles\": this.supportedInsideHandles.join(\", \"),\n },\n };\n }\n}\n@CCCommand(DoorLockCommand.CapabilitiesGet)\n@expectedCCResponse(DoorLockCCCapabilitiesReport)\nexport class DoorLockCCCapabilitiesGet extends DoorLockCC {\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function validateArgs_DoorLockLoggingCCAPI_getRecord(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) =>
|
|
1
|
+
export declare function validateArgs_DoorLockLoggingCCAPI_getRecord(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
|
|
2
2
|
//# sourceMappingURL=DoorLockLoggingCC._validateArgs.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type WithAddress } from "@zwave-js/core";
|
|
2
2
|
import { Bytes } from "@zwave-js/shared";
|
|
3
3
|
import { PhysicalCCAPI } from "../lib/API.js";
|
|
4
|
-
import { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext } from "../lib/CommandClass.js";
|
|
4
|
+
import { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, type RefreshValuesOptions } from "../lib/CommandClass.js";
|
|
5
5
|
import { DoorLockLoggingCommand, type DoorLockLoggingRecord } from "../lib/_Types.js";
|
|
6
6
|
import type { CCEncodingContext, CCParsingContext } from "../lib/traits.js";
|
|
7
7
|
import { DoorLockLoggingCCValues } from "./_CCValues.generated.js";
|
|
@@ -15,7 +15,7 @@ export declare class DoorLockLoggingCCAPI extends PhysicalCCAPI {
|
|
|
15
15
|
export declare class DoorLockLoggingCC extends CommandClass {
|
|
16
16
|
ccCommand: DoorLockLoggingCommand;
|
|
17
17
|
interview(ctx: InterviewContext): Promise<void>;
|
|
18
|
-
refreshValues(ctx: RefreshValuesContext): Promise<void>;
|
|
18
|
+
refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void>;
|
|
19
19
|
}
|
|
20
20
|
export interface DoorLockLoggingCCRecordsSupportedReportOptions {
|
|
21
21
|
recordsCount: number;
|
|
@@ -38,6 +38,7 @@ __export(DoorLockLoggingCC_exports, {
|
|
|
38
38
|
DoorLockLoggingCCValues: () => import_CCValues_generated.DoorLockLoggingCCValues
|
|
39
39
|
});
|
|
40
40
|
module.exports = __toCommonJS(DoorLockLoggingCC_exports);
|
|
41
|
+
var import_tslib = require("tslib");
|
|
41
42
|
var __validateArgs = __toESM(require("./DoorLockLoggingCC._validateArgs.js"), 1);
|
|
42
43
|
var import_core = require("@zwave-js/core");
|
|
43
44
|
var import_shared = require("@zwave-js/shared");
|
|
@@ -47,46 +48,6 @@ var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
|
47
48
|
var import_Types = require("../lib/_Types.js");
|
|
48
49
|
var import_UserCodeCC = require("./UserCodeCC.js");
|
|
49
50
|
var import_CCValues_generated = require("./_CCValues.generated.js");
|
|
50
|
-
var __runInitializers = function(thisArg, initializers, value) {
|
|
51
|
-
var useValue = arguments.length > 2;
|
|
52
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
53
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
54
|
-
}
|
|
55
|
-
return useValue ? value : void 0;
|
|
56
|
-
};
|
|
57
|
-
var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
58
|
-
function accept(f) {
|
|
59
|
-
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
|
|
60
|
-
return f;
|
|
61
|
-
}
|
|
62
|
-
__name(accept, "accept");
|
|
63
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
64
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
65
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
66
|
-
var _, done = false;
|
|
67
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
68
|
-
var context = {};
|
|
69
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
70
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
71
|
-
context.addInitializer = function(f) {
|
|
72
|
-
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
|
|
73
|
-
extraInitializers.push(accept(f || null));
|
|
74
|
-
};
|
|
75
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
76
|
-
if (kind === "accessor") {
|
|
77
|
-
if (result === void 0) continue;
|
|
78
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
79
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
80
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
81
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
82
|
-
} else if (_ = accept(result)) {
|
|
83
|
-
if (kind === "field") initializers.unshift(_);
|
|
84
|
-
else descriptor[key] = _;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
88
|
-
done = true;
|
|
89
|
-
};
|
|
90
51
|
const { validateArgs_DoorLockLoggingCCAPI_getRecord } = __validateArgs;
|
|
91
52
|
function segmentsToDate(segments) {
|
|
92
53
|
return new Date(
|
|
@@ -153,11 +114,11 @@ let DoorLockLoggingCCAPI = (() => {
|
|
|
153
114
|
static {
|
|
154
115
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
155
116
|
_getRecord_decorators = [validateArgs_DoorLockLoggingCCAPI_getRecord()];
|
|
156
|
-
__esDecorate(this, null, _getRecord_decorators, { kind: "method", name: "getRecord", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getRecord" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getRecord, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
157
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
117
|
+
(0, import_tslib.__esDecorate)(this, null, _getRecord_decorators, { kind: "method", name: "getRecord", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getRecord" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getRecord, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
118
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
158
119
|
DoorLockLoggingCCAPI2 = _classThis = _classDescriptor.value;
|
|
159
120
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
160
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
121
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
161
122
|
}
|
|
162
123
|
supportsCommand(cmd) {
|
|
163
124
|
switch (cmd) {
|
|
@@ -191,7 +152,7 @@ let DoorLockLoggingCCAPI = (() => {
|
|
|
191
152
|
}
|
|
192
153
|
constructor() {
|
|
193
154
|
super(...arguments);
|
|
194
|
-
__runInitializers(this, _instanceExtraInitializers);
|
|
155
|
+
(0, import_tslib.__runInitializers)(this, _instanceExtraInitializers);
|
|
195
156
|
}
|
|
196
157
|
};
|
|
197
158
|
return DoorLockLoggingCCAPI2 = _classThis;
|
|
@@ -211,10 +172,10 @@ let DoorLockLoggingCC = (() => {
|
|
|
211
172
|
}
|
|
212
173
|
static {
|
|
213
174
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
214
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
175
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
215
176
|
DoorLockLoggingCC2 = _classThis = _classDescriptor.value;
|
|
216
177
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
217
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
178
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
218
179
|
}
|
|
219
180
|
async interview(ctx) {
|
|
220
181
|
const node = this.getNode(ctx);
|
|
@@ -226,11 +187,11 @@ let DoorLockLoggingCC = (() => {
|
|
|
226
187
|
await this.refreshValues(ctx);
|
|
227
188
|
this.setInterviewComplete(ctx, true);
|
|
228
189
|
}
|
|
229
|
-
async refreshValues(ctx) {
|
|
190
|
+
async refreshValues(ctx, options) {
|
|
230
191
|
const node = this.getNode(ctx);
|
|
231
192
|
const endpoint = this.getEndpoint(ctx);
|
|
232
193
|
const api = import_API.CCAPI.create(import_core.CommandClasses["Door Lock Logging"], ctx, endpoint).withOptions({
|
|
233
|
-
priority: import_core.MessagePriority.NodeQuery
|
|
194
|
+
priority: options?.priority ?? import_core.MessagePriority.NodeQuery
|
|
234
195
|
});
|
|
235
196
|
ctx.logNode(node.id, {
|
|
236
197
|
endpoint: this.endpointIndex,
|
|
@@ -271,10 +232,10 @@ let DoorLockLoggingCCRecordsSupportedReport = (() => {
|
|
|
271
232
|
}
|
|
272
233
|
static {
|
|
273
234
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
274
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
235
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
275
236
|
DoorLockLoggingCCRecordsSupportedReport2 = _classThis = _classDescriptor.value;
|
|
276
237
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
277
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
238
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
278
239
|
}
|
|
279
240
|
constructor(options) {
|
|
280
241
|
super(options);
|
|
@@ -319,10 +280,10 @@ let DoorLockLoggingCCRecordsSupportedGet = (() => {
|
|
|
319
280
|
}
|
|
320
281
|
static {
|
|
321
282
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
322
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
283
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
323
284
|
DoorLockLoggingCCRecordsSupportedGet2 = _classThis = _classDescriptor.value;
|
|
324
285
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
325
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
286
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
326
287
|
}
|
|
327
288
|
};
|
|
328
289
|
return DoorLockLoggingCCRecordsSupportedGet2 = _classThis;
|
|
@@ -342,10 +303,10 @@ let DoorLockLoggingCCRecordReport = (() => {
|
|
|
342
303
|
}
|
|
343
304
|
static {
|
|
344
305
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
345
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
306
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
346
307
|
DoorLockLoggingCCRecordReport2 = _classThis = _classDescriptor.value;
|
|
347
308
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
348
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
309
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
349
310
|
}
|
|
350
311
|
constructor(options) {
|
|
351
312
|
super(options);
|
|
@@ -435,10 +396,10 @@ let DoorLockLoggingCCRecordGet = (() => {
|
|
|
435
396
|
}
|
|
436
397
|
static {
|
|
437
398
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
438
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
399
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
439
400
|
DoorLockLoggingCCRecordGet2 = _classThis = _classDescriptor.value;
|
|
440
401
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
441
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
402
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
442
403
|
}
|
|
443
404
|
constructor(options) {
|
|
444
405
|
super(options);
|