@zwave-js/cc 15.21.0 → 15.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/cc/AlarmSensorCC.d.ts +2 -2
- 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.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.d.ts +2 -2
- package/build/cjs/cc/AssociationGroupInfoCC.js +28 -65
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
- package/build/cjs/cc/BarrierOperatorCC.d.ts +2 -2
- package/build/cjs/cc/BarrierOperatorCC.js +28 -67
- package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
- package/build/cjs/cc/BasicCC.d.ts +2 -2
- package/build/cjs/cc/BasicCC.js +15 -54
- package/build/cjs/cc/BasicCC.js.map +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 +2 -2
- package/build/cjs/cc/BatteryCC.js +15 -54
- package/build/cjs/cc/BatteryCC.js.map +2 -2
- 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.d.ts +2 -2
- package/build/cjs/cc/BinarySwitchCC.js +15 -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.js +19 -58
- package/build/cjs/cc/CentralSceneCC.js.map +1 -1
- package/build/cjs/cc/ClimateControlScheduleCC.js +25 -64
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/cjs/cc/ClockCC.d.ts +2 -2
- package/build/cjs/cc/ClockCC.js +15 -54
- package/build/cjs/cc/ClockCC.js.map +2 -2
- package/build/cjs/cc/ColorSwitchCC.d.ts +2 -2
- package/build/cjs/cc/ColorSwitchCC.js +26 -65
- package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
- package/build/cjs/cc/ConfigurationCC.d.ts +2 -2
- 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.d.ts +2 -2
- package/build/cjs/cc/DoorLockCC.js +26 -65
- package/build/cjs/cc/DoorLockCC.js.map +2 -2
- 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.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.d.ts +2 -2
- package/build/cjs/cc/EntryControlCC.js +25 -64
- package/build/cjs/cc/EntryControlCC.js.map +2 -2
- 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.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.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.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.d.ts +2 -2
- package/build/cjs/cc/IrrigationCC.js +54 -93
- package/build/cjs/cc/IrrigationCC.js.map +2 -2
- package/build/cjs/cc/LanguageCC.d.ts +2 -2
- package/build/cjs/cc/LanguageCC.js +15 -54
- package/build/cjs/cc/LanguageCC.js.map +2 -2
- 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.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.js +16 -55
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/cjs/cc/MeterCC.d.ts +2 -2
- package/build/cjs/cc/MeterCC.js +23 -62
- package/build/cjs/cc/MeterCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelAssociationCC.d.ts +2 -2
- package/build/cjs/cc/MultiChannelAssociationCC.js +26 -65
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelCC.js +34 -73
- package/build/cjs/cc/MultiChannelCC.js.map +1 -1
- package/build/cjs/cc/MultiCommandCC.js +9 -48
- package/build/cjs/cc/MultiCommandCC.js.map +1 -1
- 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.d.ts +2 -2
- package/build/cjs/cc/MultilevelSwitchCC.js +24 -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.d.ts +6 -4
- package/build/cjs/cc/NodeNamingCC.js +70 -85
- package/build/cjs/cc/NodeNamingCC.js.map +2 -2
- package/build/cjs/cc/NotificationCC.d.ts +20 -3
- package/build/cjs/cc/NotificationCC.js +141 -104
- package/build/cjs/cc/NotificationCC.js.map +2 -2
- package/build/cjs/cc/PowerlevelCC.js +22 -61
- package/build/cjs/cc/PowerlevelCC.js.map +1 -1
- package/build/cjs/cc/ProtectionCC.d.ts +2 -2
- package/build/cjs/cc/ProtectionCC.js +33 -72
- package/build/cjs/cc/ProtectionCC.js.map +2 -2
- package/build/cjs/cc/SceneActivationCC.js +9 -48
- package/build/cjs/cc/SceneActivationCC.js.map +1 -1
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +14 -53
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
- 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.js +46 -85
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/cjs/cc/Security2CC.js +33 -72
- package/build/cjs/cc/Security2CC.js.map +1 -1
- package/build/cjs/cc/SecurityCC.js +27 -66
- package/build/cjs/cc/SecurityCC.js.map +1 -1
- 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.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.d.ts +2 -2
- 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.d.ts +2 -2
- package/build/cjs/cc/ThermostatSetbackCC.js +15 -54
- package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +2 -2
- package/build/cjs/cc/ThermostatSetpointCC.js +25 -64
- package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
- package/build/cjs/cc/TimeCC.js +24 -63
- package/build/cjs/cc/TimeCC.js.map +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.d.ts +6 -4
- package/build/cjs/cc/UserCodeCC.js +89 -98
- package/build/cjs/cc/UserCodeCC.js.map +2 -2
- package/build/cjs/cc/VersionCC.js +25 -64
- package/build/cjs/cc/VersionCC.js.map +1 -1
- package/build/cjs/cc/WakeUpCC.js +21 -60
- package/build/cjs/cc/WakeUpCC.js.map +1 -1
- package/build/cjs/cc/WindowCoveringCC.d.ts +2 -2
- package/build/cjs/cc/WindowCoveringCC.js +26 -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.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 +131 -7
- 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.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/CommandClass.d.ts +6 -2
- package/build/cjs/lib/CommandClass.js +1 -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 +1 -1
- package/build/cjs/lib/Values.js.map +1 -1
- package/build/esm/cc/AlarmSensorCC.d.ts +2 -2
- 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.js +1 -34
- package/build/esm/cc/ApplicationStatusCC.js.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.d.ts +2 -2
- 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.d.ts +2 -2
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.js +3 -36
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC.d.ts +2 -2
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +3 -36
- package/build/esm/cc/BasicCC.js.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 +2 -2
- 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.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.d.ts +2 -2
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +3 -36
- package/build/esm/cc/BinarySwitchCC.js.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.js +1 -34
- package/build/esm/cc/CentralSceneCC.js.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.d.ts +2 -2
- 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.d.ts +2 -2
- 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.d.ts +2 -2
- 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.js +1 -34
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts +2 -2
- 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.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.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.d.ts +2 -2
- 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.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.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.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.js +1 -34
- package/build/esm/cc/InclusionControllerCC.js.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.d.ts +2 -2
- 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.d.ts +2 -2
- 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.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.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.js +1 -34
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC.d.ts +2 -2
- 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.d.ts +2 -2
- 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.js +1 -34
- package/build/esm/cc/MultiChannelCC.js.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.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.d.ts +2 -2
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +3 -36
- package/build/esm/cc/MultilevelSwitchCC.js.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.d.ts +6 -4
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +52 -73
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts +20 -3
- 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.js +1 -34
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts +2 -2
- 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.js +1 -34
- package/build/esm/cc/SceneActivationCC.js.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.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.js +1 -34
- package/build/esm/cc/ScheduleEntryLockCC.js.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.js +1 -34
- package/build/esm/cc/SecurityCC.js.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.js +1 -34
- package/build/esm/cc/SupervisionCC.js.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.d.ts +2 -2
- 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.d.ts +2 -2
- 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.d.ts +2 -2
- 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.js +1 -34
- package/build/esm/cc/TimeCC.js.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.js +1 -34
- package/build/esm/cc/TransportServiceCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts +6 -4
- 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.js +1 -34
- package/build/esm/cc/VersionCC.js.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.d.ts +2 -2
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +3 -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.js +1 -34
- package/build/esm/cc/ZWavePlusCC.js.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 +131 -7
- 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.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/CommandClass.d.ts +6 -2
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js +1 -1
- package/build/esm/lib/CommandClass.js.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 +1 -1
- package/build/esm/lib/Values.d.ts.map +1 -1
- package/package.json +9 -8
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src_gen/cc/TimeParametersCC.ts"],
|
|
4
4
|
"sourcesContent": ["import * as __validateArgs from \"./TimeParametersCC._validateArgs.js\";\nconst { validateArgs_TimeParametersCCAPI_set } = __validateArgs;\nimport type { GetDeviceConfig } from \"@zwave-js/config\";\nimport { CommandClasses, type ControlsCC, type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type SupervisionResult, type SupportsCC, ValueMetadata, type WithAddress, formatDate, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { TimeParametersCommand } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { TimeParametersCCValues } from \"./_CCValues.generated.js\";\nexport { TimeParametersCCValues };\n/**\n * Determines if the node expects local time instead of UTC.\n */\nfunction shouldUseLocalTime(ctx: GetDeviceConfig, endpoint: EndpointId & SupportsCC & ControlsCC): boolean {\n // GH#311 Some nodes have no way to determine the time zone offset,\n // so they need to interpret the set time as local time instead of UTC.\n //\n // This is the case when they both\n // 1. DON'T control TimeCC V1, so they cannot request the local time\n // 2. DON'T support TimeCC V2, so the controller cannot specify the timezone offset\n // Incidentally, this is also true when they don't support TimeCC at all\n // Use UTC though when the device config file explicitly requests it\n const forceUTC = !!ctx.getDeviceConfig?.(endpoint.nodeId)?.compat\n ?.useUTCInTimeParametersCC;\n if (forceUTC)\n return false;\n const ccVersion = endpoint.getCCVersion(CommandClasses.Time);\n if (ccVersion >= 1 && endpoint.controlsCC(CommandClasses.Time)) {\n return false;\n }\n if (ccVersion >= 2 && endpoint.supportsCC(CommandClasses.Time)) {\n return false;\n }\n return true;\n}\ninterface DateSegments {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n}\nfunction segmentsToDate(segments: DateSegments, local: boolean): Date {\n if (local) {\n return new Date(segments.year, segments.month - 1, segments.day, segments.hour, segments.minute, segments.second);\n }\n else {\n return new Date(Date.UTC(segments.year, segments.month - 1, segments.day, segments.hour, segments.minute, segments.second));\n }\n}\nfunction dateToSegments(date: Date, local: boolean): DateSegments {\n return {\n year: (date as any)[`get${local ? \"\" : \"UTC\"}FullYear`]() as number,\n month: ((date as any)[`get${local ? \"\" : \"UTC\"}Month`]() as number) + 1,\n day: (date as any)[`get${local ? \"\" : \"UTC\"}Date`]() as number,\n hour: (date as any)[`get${local ? \"\" : \"UTC\"}Hours`]() as number,\n minute: (date as any)[`get${local ? \"\" : \"UTC\"}Minutes`]() as number,\n second: (date as any)[`get${local ? \"\" : \"UTC\"}Seconds`]() as number,\n };\n}\n@API(CommandClasses[\"Time Parameters\"])\nexport class TimeParametersCCAPI extends CCAPI {\n public supportsCommand(cmd: TimeParametersCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case TimeParametersCommand.Get:\n return this.isSinglecast();\n case TimeParametersCommand.Set:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: TimeParametersCCAPI, { property }, value) {\n if (property !== \"dateAndTime\") {\n throwUnsupportedProperty(this.ccId, property);\n }\n if (!(value instanceof Date)) {\n throwWrongValueType(this.ccId, property, \"date\", typeof value);\n }\n return this.set(value);\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: TimeParametersCCAPI, { property }) {\n switch (property) {\n case \"dateAndTime\":\n return this.get();\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n public async get(): Promise<MaybeNotKnown<Date>> {\n this.assertSupportsCommand(TimeParametersCommand, TimeParametersCommand.Get);\n const cc = new TimeParametersCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<TimeParametersCCReport>(cc, this.commandOptions);\n return response?.dateAndTime;\n }\n @validateArgs_TimeParametersCCAPI_set()\n public async set(dateAndTime: Date): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(TimeParametersCommand, TimeParametersCommand.Set);\n const endpointToCheck = this.endpoint.virtual\n ? this.endpoint.node.physicalNodes[0].getEndpoint(this.endpoint.index)!\n : this.endpoint;\n const useLocalTime = shouldUseLocalTime(this.host, endpointToCheck);\n const cc = new TimeParametersCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n dateAndTime,\n useLocalTime,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses[\"Time Parameters\"])\n@implementedVersion(1)\n@ccValues(TimeParametersCCValues)\nexport class TimeParametersCC extends CommandClass {\n declare ccCommand: TimeParametersCommand;\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[\"Time Parameters\"], 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 // Synchronize the node's time\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"setting current time...\",\n direction: \"outbound\",\n });\n await api.set(new Date());\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n}\n// @publicAPI\nexport interface TimeParametersCCReportOptions {\n dateAndTime: Date;\n}\n@CCCommand(TimeParametersCommand.Report)\n@ccValueProperty(\"dateAndTime\", TimeParametersCCValues.dateAndTime)\nexport class TimeParametersCCReport extends TimeParametersCC {\n public constructor(options: WithAddress<TimeParametersCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.dateAndTime = options.dateAndTime;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): TimeParametersCCReport {\n validatePayload(raw.payload.length >= 7);\n const dateSegments = {\n year: raw.payload.readUInt16BE(0),\n month: raw.payload[2],\n day: raw.payload[3],\n hour: raw.payload[4],\n minute: raw.payload[5],\n second: raw.payload[6],\n };\n const dateAndTime: Date = segmentsToDate(dateSegments, \n // Assume we can use UTC and correct this assumption in persistValues\n false);\n return new this({\n nodeId: ctx.sourceNodeId,\n dateAndTime,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n // If necessary, fix the date and time before persisting it\n const local = shouldUseLocalTime(ctx, this.getEndpoint(ctx)!);\n if (local) {\n // The initial assumption was incorrect, re-interpret the time\n const segments = dateToSegments(this.dateAndTime, false);\n this.dateAndTime = segmentsToDate(segments, local);\n }\n return super.persistValues(ctx);\n }\n public dateAndTime: Date;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"date and time\": formatDate(this.dateAndTime, \"YYYY-MM-DD HH:mm:ss\"),\n },\n };\n }\n}\n@CCCommand(TimeParametersCommand.Get)\n@expectedCCResponse(TimeParametersCCReport)\nexport class TimeParametersCCGet extends TimeParametersCC {\n}\n// @publicAPI\nexport interface TimeParametersCCSetOptions {\n dateAndTime: Date;\n useLocalTime?: boolean;\n}\n@CCCommand(TimeParametersCommand.Set)\n@useSupervision()\nexport class TimeParametersCCSet extends TimeParametersCC {\n public constructor(options: WithAddress<TimeParametersCCSetOptions>) {\n super(options);\n this.dateAndTime = options.dateAndTime;\n this.useLocalTime = options.useLocalTime;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): TimeParametersCCSet {\n validatePayload(raw.payload.length >= 7);\n const dateSegments = {\n year: raw.payload.readUInt16BE(0),\n month: raw.payload[2],\n day: raw.payload[3],\n hour: raw.payload[4],\n minute: raw.payload[5],\n second: raw.payload[6],\n };\n validatePayload(dateSegments.month >= 1 && dateSegments.month <= 12, dateSegments.day >= 1 && dateSegments.day <= 31, dateSegments.hour >= 0 && dateSegments.hour <= 23, dateSegments.minute >= 0 && dateSegments.minute <= 59, dateSegments.second >= 0 && dateSegments.second <= 59);\n const dateAndTime = segmentsToDate(dateSegments, \n // Assume we can use UTC and correct this assumption in persistValues\n false);\n return new this({\n nodeId: ctx.sourceNodeId,\n dateAndTime,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n // We do not actually persist anything here, but we need access to the node\n // in order to interpret the date segments correctly\n const local = shouldUseLocalTime(ctx, this.getEndpoint(ctx)!);\n if (local) {\n // The initial assumption was incorrect, re-interpret the time\n const segments = dateToSegments(this.dateAndTime, false);\n this.dateAndTime = segmentsToDate(segments, local);\n }\n return super.persistValues(ctx);\n }\n public dateAndTime: Date;\n private useLocalTime?: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const dateSegments = dateToSegments(this.dateAndTime, !!this.useLocalTime);\n this.payload = Bytes.from([\n // 2 bytes placeholder for year\n 0,\n 0,\n dateSegments.month,\n dateSegments.day,\n dateSegments.hour,\n dateSegments.minute,\n dateSegments.second,\n ]);\n this.payload.writeUInt16BE(dateSegments.year, 0);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"date and time\": formatDate(this.dateAndTime, \"YYYY-MM-DD HH:mm:ss\"),\n },\n };\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -31,51 +31,12 @@ __export(TransportServiceCC_exports, {
|
|
|
31
31
|
isTransportServiceEncapsulation: () => isTransportServiceEncapsulation
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(TransportServiceCC_exports);
|
|
34
|
+
var import_tslib = require("tslib");
|
|
34
35
|
var import_core = require("@zwave-js/core");
|
|
35
36
|
var import_shared = require("@zwave-js/shared");
|
|
36
37
|
var import_CommandClass = require("../lib/CommandClass.js");
|
|
37
38
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
38
39
|
var import_Types = require("../lib/_Types.js");
|
|
39
|
-
var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
40
|
-
function accept(f) {
|
|
41
|
-
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
|
|
42
|
-
return f;
|
|
43
|
-
}
|
|
44
|
-
__name(accept, "accept");
|
|
45
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
46
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
47
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
48
|
-
var _, done = false;
|
|
49
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
50
|
-
var context = {};
|
|
51
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
52
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
53
|
-
context.addInitializer = function(f) {
|
|
54
|
-
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
|
|
55
|
-
extraInitializers.push(accept(f || null));
|
|
56
|
-
};
|
|
57
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
58
|
-
if (kind === "accessor") {
|
|
59
|
-
if (result === void 0) continue;
|
|
60
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
61
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
62
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
63
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
64
|
-
} else if (_ = accept(result)) {
|
|
65
|
-
if (kind === "field") initializers.unshift(_);
|
|
66
|
-
else descriptor[key] = _;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
70
|
-
done = true;
|
|
71
|
-
};
|
|
72
|
-
var __runInitializers = function(thisArg, initializers, value) {
|
|
73
|
-
var useValue = arguments.length > 2;
|
|
74
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
75
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
76
|
-
}
|
|
77
|
-
return useValue ? value : void 0;
|
|
78
|
-
};
|
|
79
40
|
const MAX_SEGMENT_SIZE = 39;
|
|
80
41
|
const RELAXED_TIMING_THRESHOLD = 2;
|
|
81
42
|
const TransportServiceTimeouts = {
|
|
@@ -107,10 +68,10 @@ let TransportServiceCC = (() => {
|
|
|
107
68
|
}
|
|
108
69
|
static {
|
|
109
70
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
110
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
71
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
111
72
|
TransportServiceCC2 = _classThis = _classDescriptor.value;
|
|
112
73
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
113
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
74
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
114
75
|
}
|
|
115
76
|
};
|
|
116
77
|
return TransportServiceCC2 = _classThis;
|
|
@@ -134,10 +95,10 @@ let TransportServiceCCFirstSegment = (() => {
|
|
|
134
95
|
}
|
|
135
96
|
static {
|
|
136
97
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
137
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
98
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
138
99
|
TransportServiceCCFirstSegment2 = _classThis = _classDescriptor.value;
|
|
139
100
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
140
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
101
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
141
102
|
}
|
|
142
103
|
constructor(options) {
|
|
143
104
|
super(options);
|
|
@@ -246,10 +207,10 @@ let TransportServiceCCSubsequentSegment = (() => {
|
|
|
246
207
|
}
|
|
247
208
|
static {
|
|
248
209
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
249
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
210
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
250
211
|
TransportServiceCCSubsequentSegment2 = _classThis = _classDescriptor.value;
|
|
251
212
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
252
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
213
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
253
214
|
}
|
|
254
215
|
constructor(options) {
|
|
255
216
|
super(options);
|
|
@@ -390,10 +351,10 @@ let TransportServiceCCSegmentRequest = (() => {
|
|
|
390
351
|
}
|
|
391
352
|
static {
|
|
392
353
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
393
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
354
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
394
355
|
TransportServiceCCSegmentRequest2 = _classThis = _classDescriptor.value;
|
|
395
356
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
396
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
357
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
397
358
|
}
|
|
398
359
|
constructor(options) {
|
|
399
360
|
super(options);
|
|
@@ -446,10 +407,10 @@ let TransportServiceCCSegmentComplete = (() => {
|
|
|
446
407
|
}
|
|
447
408
|
static {
|
|
448
409
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
449
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
410
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
450
411
|
TransportServiceCCSegmentComplete2 = _classThis = _classDescriptor.value;
|
|
451
412
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
452
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
413
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
453
414
|
}
|
|
454
415
|
constructor(options) {
|
|
455
416
|
super(options);
|
|
@@ -492,10 +453,10 @@ let TransportServiceCCSegmentWait = (() => {
|
|
|
492
453
|
}
|
|
493
454
|
static {
|
|
494
455
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
495
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
456
|
+
(0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
496
457
|
TransportServiceCCSegmentWait2 = _classThis = _classDescriptor.value;
|
|
497
458
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
498
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
459
|
+
(0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
|
|
499
460
|
}
|
|
500
461
|
constructor(options) {
|
|
501
462
|
super(options);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src_gen/cc/TransportServiceCC.ts"],
|
|
4
4
|
"sourcesContent": ["import { CRC16_CCITT, CommandClasses, type GetValueDB, type MessageOrCCLogEntry, type SinglecastCC, type WithAddress, ZWaveError, ZWaveErrorCodes, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView, buffer2hex } from \"@zwave-js/shared\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport { CCCommand, commandClass, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { TransportServiceCommand } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nexport const MAX_SEGMENT_SIZE = 39;\nexport const RELAXED_TIMING_THRESHOLD = 2;\n// TODO: Figure out how we know if communicating with R2 or R3\n/** @publicAPI */\nexport const TransportServiceTimeouts = {\n /** Waiting time before requesting a missing segment at data rate R2 */\n requestMissingSegmentR2: 800,\n /** Waiting time before requesting a missing segment at data rate R3 */\n requestMissingSegmentR3: 400,\n /** Waiting time before sending another datagram at data rate R2 */\n segmentCompleteR2: 1000,\n /** Waiting time before sending another datagram at data rate R3 */\n segmentCompleteR3: 500,\n /** Waiting time between segments when sending more than {@link RELAXED_TIMING_THRESHOLD} segments at data rate R2 */\n relaxedTimingDelayR2: 35,\n /** Waiting time between segments when sending more than {@link RELAXED_TIMING_THRESHOLD} segments at data rate R3 */\n relaxedTimingDelayR3: 15,\n};\n@commandClass(CommandClasses[\"Transport Service\"])\n@implementedVersion(2)\nexport class TransportServiceCC extends CommandClass implements SinglecastCC<TransportServiceCC> {\n declare ccCommand: TransportServiceCommand;\n declare nodeId: number;\n}\n// @publicAPI\nexport interface TransportServiceCCFirstSegmentOptions {\n datagramSize: number;\n sessionId: number;\n headerExtension?: BytesView | undefined;\n partialDatagram: BytesView;\n}\n/** @publicAPI */\nexport function isTransportServiceEncapsulation(command: CommandClass): command is TransportServiceCCFirstSegment | TransportServiceCCSubsequentSegment {\n return (command.ccId === CommandClasses[\"Transport Service\"]\n && (command.ccCommand === TransportServiceCommand.FirstSegment\n || command.ccCommand === TransportServiceCommand.SubsequentSegment));\n}\n@CCCommand(TransportServiceCommand.FirstSegment)\n// Handling expected responses is done by the RX state machine\nexport class TransportServiceCCFirstSegment extends TransportServiceCC {\n public constructor(options: WithAddress<TransportServiceCCFirstSegmentOptions>) {\n super(options);\n this.datagramSize = options.datagramSize;\n this.sessionId = options.sessionId;\n this.headerExtension = options.headerExtension;\n this.partialDatagram = options.partialDatagram;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): TransportServiceCCFirstSegment {\n // Deserialization has already split the datagram size from the ccCommand.\n // Therefore we have one more payload byte\n validatePayload(raw.payload.length >= 6); // 2 bytes dgram size, 1 byte sessid/ext, 1+ bytes payload, 2 bytes checksum\n // Verify the CRC\n const headerBuffer = Bytes.from([\n CommandClasses[\"Transport Service\"],\n TransportServiceCommand.FirstSegment | raw.payload[0],\n ]);\n const ccBuffer = raw.payload.subarray(1, -2);\n let expectedCRC = CRC16_CCITT(headerBuffer);\n expectedCRC = CRC16_CCITT(ccBuffer, expectedCRC);\n const actualCRC = raw.payload.readUInt16BE(raw.payload.length - 2);\n validatePayload(expectedCRC === actualCRC);\n const datagramSize = raw.payload.readUInt16BE(0);\n const sessionId = raw.payload[2] >>> 4;\n let payloadOffset = 3;\n // If there is a header extension, read it\n const hasHeaderExtension = !!(raw.payload[2] & 0b1000);\n let headerExtension: BytesView | undefined;\n if (hasHeaderExtension) {\n const extLength = raw.payload[3];\n headerExtension = raw.payload.subarray(4, 4 + extLength);\n payloadOffset += 1 + extLength;\n }\n const partialDatagram: BytesView = raw.payload.subarray(payloadOffset, -2);\n // A node supporting the Transport Service Command Class, version 2\n // MUST NOT send Transport Service segments with the Payload field longer than 39 bytes.\n validatePayload(partialDatagram.length <= MAX_SEGMENT_SIZE);\n return new this({\n nodeId: ctx.sourceNodeId,\n datagramSize,\n sessionId,\n headerExtension,\n partialDatagram,\n });\n }\n public datagramSize: number;\n public sessionId: number;\n public headerExtension: BytesView | undefined;\n public partialDatagram: BytesView;\n public encapsulated!: CommandClass;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n // Transport Service re-uses the lower 3 bits of the ccCommand as payload\n this.ccCommand = (this.ccCommand & 248)\n | ((this.datagramSize >>> 8) & 0b111);\n const ext = !!this.headerExtension && this.headerExtension.length >= 1;\n this.payload = Bytes.from([\n this.datagramSize & 0xff,\n ((this.sessionId & 0b1111) << 4) | (ext ? 0b1000 : 0),\n ]);\n if (ext) {\n this.payload = Bytes.concat([\n this.payload,\n [this.headerExtension!.length],\n this.headerExtension!,\n ]);\n }\n this.payload = Bytes.concat([\n this.payload,\n this.partialDatagram,\n Bytes.alloc(2, 0), // checksum\n ]);\n // Compute and save the CRC16 in the payload\n // The CC header is included in the CRC computation\n const headerBuffer = Bytes.from([this.ccId, this.ccCommand]);\n let crc = CRC16_CCITT(headerBuffer);\n crc = CRC16_CCITT(this.payload.subarray(0, -2), crc);\n // Write the checksum into the last two bytes of the payload\n this.payload.writeUInt16BE(crc, this.payload.length - 2);\n return super.serialize(ctx);\n }\n public expectMoreMessages(): boolean {\n return true; // The FirstSegment message always expects more messages\n }\n public getPartialCCSessionId(): Record<string, any> | undefined {\n // Only use the session ID to identify the session, not the CC command\n return { ccCommand: undefined, sessionId: this.sessionId };\n }\n protected computeEncapsulationOverhead(): number {\n // Transport Service CC (first segment) adds 1 byte datagram size, 1 byte Session ID/..., 2 bytes checksum and (0 OR n+1) bytes header extension\n return (super.computeEncapsulationOverhead()\n + 4\n + (this.headerExtension?.length\n ? 1 + this.headerExtension.length\n : 0));\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"session ID\": this.sessionId,\n \"datagram size\": this.datagramSize,\n \"byte range\": `0...${this.partialDatagram.length - 1}`,\n payload: buffer2hex(this.partialDatagram),\n },\n };\n }\n}\n// @publicAPI\nexport interface TransportServiceCCSubsequentSegmentOptions extends TransportServiceCCFirstSegmentOptions {\n datagramOffset: number;\n}\n@CCCommand(TransportServiceCommand.SubsequentSegment)\n// Handling expected responses is done by the RX state machine\nexport class TransportServiceCCSubsequentSegment extends TransportServiceCC {\n public constructor(options: WithAddress<TransportServiceCCSubsequentSegmentOptions>) {\n super(options);\n this.datagramSize = options.datagramSize;\n this.datagramOffset = options.datagramOffset;\n this.sessionId = options.sessionId;\n this.headerExtension = options.headerExtension;\n this.partialDatagram = options.partialDatagram;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): TransportServiceCCSubsequentSegment {\n // Deserialization has already split the datagram size from the ccCommand.\n // Therefore we have one more payload byte\n validatePayload(raw.payload.length >= 7); // 2 bytes dgram size, 1 byte sessid/ext/offset, 1 byte offset, 1+ bytes payload, 2 bytes checksum\n // Verify the CRC\n const headerBuffer = Bytes.from([\n CommandClasses[\"Transport Service\"],\n TransportServiceCommand.SubsequentSegment | raw.payload[0],\n ]);\n const ccBuffer = raw.payload.subarray(1, -2);\n let expectedCRC = CRC16_CCITT(headerBuffer);\n expectedCRC = CRC16_CCITT(ccBuffer, expectedCRC);\n const actualCRC = raw.payload.readUInt16BE(raw.payload.length - 2);\n validatePayload(expectedCRC === actualCRC);\n const datagramSize = raw.payload.readUInt16BE(0);\n const sessionId = raw.payload[2] >>> 4;\n const datagramOffset = ((raw.payload[2] & 0b111) << 8)\n + raw.payload[3];\n let payloadOffset = 4;\n // If there is a header extension, read it\n const hasHeaderExtension = !!(raw.payload[2] & 0b1000);\n let headerExtension: Bytes | undefined;\n if (hasHeaderExtension) {\n const extLength = raw.payload[4];\n headerExtension = raw.payload.subarray(5, 5 + extLength);\n payloadOffset += 1 + extLength;\n }\n const partialDatagram: Bytes = raw.payload.subarray(payloadOffset, -2);\n // A node supporting the Transport Service Command Class, version 2\n // MUST NOT send Transport Service segments with the Payload field longer than 39 bytes.\n validatePayload(partialDatagram.length <= MAX_SEGMENT_SIZE);\n return new this({\n nodeId: ctx.sourceNodeId,\n datagramSize,\n sessionId,\n datagramOffset,\n headerExtension,\n partialDatagram,\n });\n }\n public datagramSize: number;\n public datagramOffset: number;\n public sessionId: number;\n public headerExtension: BytesView | undefined;\n public partialDatagram: BytesView;\n // This can only be received\n private _encapsulated!: CommandClass;\n public get encapsulated(): CommandClass {\n return this._encapsulated;\n }\n public expectMoreMessages(session: [\n TransportServiceCCFirstSegment,\n ...TransportServiceCCSubsequentSegment[]\n ]): boolean {\n if (!(session[0] instanceof TransportServiceCCFirstSegment)) {\n // First segment is missing\n return true;\n }\n const datagramSize = session[0].datagramSize;\n const receivedBytes = Array.from<boolean>({ length: datagramSize })\n .fill(false);\n for (const segment of [...session, this]) {\n const offset = segment instanceof TransportServiceCCFirstSegment\n ? 0\n : segment.datagramOffset;\n for (let i = offset; i <= offset + segment.partialDatagram.length; i++) {\n receivedBytes[i] = true;\n }\n }\n // Expect more messages as long as we haven't received everything\n return receivedBytes.includes(false);\n }\n public getPartialCCSessionId(): Record<string, any> | undefined {\n // Only use the session ID to identify the session, not the CC command\n return { ccCommand: undefined, sessionId: this.sessionId };\n }\n public async mergePartialCCs(partials: [\n TransportServiceCCFirstSegment,\n ...TransportServiceCCSubsequentSegment[]\n ], ctx: CCParsingContext): Promise<void> {\n // Concat the CC buffers\n const datagram = new Bytes(this.datagramSize);\n for (const partial of [...partials, this]) {\n // Ensure that we don't try to write out-of-bounds\n const offset = partial instanceof TransportServiceCCFirstSegment\n ? 0\n : partial.datagramOffset;\n if (offset + partial.partialDatagram.length > datagram.length) {\n throw new ZWaveError(`The partial datagram offset and length in a segment are not compatible to the communicated datagram length`, ZWaveErrorCodes.PacketFormat_InvalidPayload);\n }\n datagram.set(partial.partialDatagram, offset);\n }\n // and deserialize the CC\n this._encapsulated = await CommandClass.parse(datagram, ctx);\n this._encapsulated.encapsulatingCC = this as any;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n // Transport Service re-uses the lower 3 bits of the ccCommand as payload\n this.ccCommand = (this.ccCommand & 248)\n | ((this.datagramSize >>> 8) & 0b111);\n const ext = !!this.headerExtension && this.headerExtension.length >= 1;\n this.payload = Bytes.from([\n this.datagramSize & 0xff,\n ((this.sessionId & 0b1111) << 4)\n | (ext ? 0b1000 : 0)\n | ((this.datagramOffset >>> 8) & 0b111),\n this.datagramOffset & 0xff,\n ]);\n if (ext) {\n this.payload = Bytes.concat([\n this.payload,\n [this.headerExtension!.length],\n this.headerExtension!,\n ]);\n }\n this.payload = Bytes.concat([\n this.payload,\n this.partialDatagram,\n Bytes.alloc(2, 0), // checksum\n ]);\n // Compute and save the CRC16 in the payload\n // The CC header is included in the CRC computation\n const headerBuffer = Bytes.from([this.ccId, this.ccCommand]);\n let crc = CRC16_CCITT(headerBuffer);\n crc = CRC16_CCITT(this.payload.subarray(0, -2), crc);\n // Write the checksum into the last two bytes of the payload\n this.payload.writeUInt16BE(crc, this.payload.length - 2);\n return super.serialize(ctx);\n }\n protected computeEncapsulationOverhead(): number {\n // Transport Service CC (first segment) adds 1 byte datagram size, 1 byte Session ID/..., 1 byte offset, 2 bytes checksum and (0 OR n+1) bytes header extension\n return (super.computeEncapsulationOverhead()\n + 5\n + (this.headerExtension?.length\n ? 1 + this.headerExtension.length\n : 0));\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"session ID\": this.sessionId,\n \"datagram size\": this.datagramSize,\n \"byte range\": `${this.datagramOffset}...${this.datagramOffset + this.partialDatagram.length - 1}`,\n payload: buffer2hex(this.partialDatagram),\n },\n };\n }\n}\n// @publicAPI\nexport interface TransportServiceCCSegmentRequestOptions {\n sessionId: number;\n datagramOffset: number;\n}\n@CCCommand(TransportServiceCommand.SegmentRequest)\n// Handling expected responses is done by the RX state machine\nexport class TransportServiceCCSegmentRequest extends TransportServiceCC {\n public constructor(options: WithAddress<TransportServiceCCSegmentRequestOptions>) {\n super(options);\n this.sessionId = options.sessionId;\n this.datagramOffset = options.datagramOffset;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): TransportServiceCCSegmentRequest {\n validatePayload(raw.payload.length >= 3);\n const sessionId = raw.payload[1] >>> 4;\n const datagramOffset = ((raw.payload[1] & 0b111) << 8)\n + raw.payload[2];\n return new this({\n nodeId: ctx.sourceNodeId,\n sessionId,\n datagramOffset,\n });\n }\n public sessionId: number;\n public datagramOffset: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n ((this.sessionId & 0b1111) << 4)\n | ((this.datagramOffset >>> 8) & 0b111),\n this.datagramOffset & 0xff,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"session ID\": this.sessionId,\n offset: this.datagramOffset,\n },\n };\n }\n}\n// @publicAPI\nexport interface TransportServiceCCSegmentCompleteOptions {\n sessionId: number;\n}\n@CCCommand(TransportServiceCommand.SegmentComplete)\nexport class TransportServiceCCSegmentComplete extends TransportServiceCC {\n public constructor(options: WithAddress<TransportServiceCCSegmentCompleteOptions>) {\n super(options);\n this.sessionId = options.sessionId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): TransportServiceCCSegmentComplete {\n validatePayload(raw.payload.length >= 2);\n const sessionId = raw.payload[1] >>> 4;\n return new this({\n nodeId: ctx.sourceNodeId,\n sessionId,\n });\n }\n public sessionId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([(this.sessionId & 0b1111) << 4]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"session ID\": this.sessionId },\n };\n }\n}\n// @publicAPI\nexport interface TransportServiceCCSegmentWaitOptions {\n pendingSegments: number;\n}\n@CCCommand(TransportServiceCommand.SegmentWait)\nexport class TransportServiceCCSegmentWait extends TransportServiceCC {\n public constructor(options: WithAddress<TransportServiceCCSegmentWaitOptions>) {\n super(options);\n this.pendingSegments = options.pendingSegments;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): TransportServiceCCSegmentWait {\n validatePayload(raw.payload.length >= 2);\n const pendingSegments = raw.payload[1];\n return new this({\n nodeId: ctx.sourceNodeId,\n pendingSegments,\n });\n }\n public pendingSegments: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.pendingSegments]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { \"pending segments\": this.pendingSegments },\n };\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, type WithAddress } from "@zwave-js/core";
|
|
1
|
+
import { type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, type ValueID, type WithAddress } from "@zwave-js/core";
|
|
2
2
|
import { Bytes, type BytesView } from "@zwave-js/shared";
|
|
3
|
-
import { POLL_VALUE, PhysicalCCAPI, type PollValueImplementation, SET_VALUE, type SetValueImplementation } from "../lib/API.js";
|
|
4
|
-
import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext } from "../lib/CommandClass.js";
|
|
3
|
+
import { POLL_VALUE, PhysicalCCAPI, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory } from "../lib/API.js";
|
|
4
|
+
import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions } from "../lib/CommandClass.js";
|
|
5
5
|
import type { NotificationEventPayload } from "../lib/NotificationEventPayload.js";
|
|
6
6
|
import { KeypadMode, UserCodeCommand, UserIDStatus } from "../lib/_Types.js";
|
|
7
7
|
import type { CCEncodingContext, CCParsingContext } from "../lib/traits.js";
|
|
@@ -12,6 +12,8 @@ export declare function userCodeToLogString(userCode: string | BytesView): strin
|
|
|
12
12
|
export declare class UserCodeCCAPI extends PhysicalCCAPI {
|
|
13
13
|
supportsCommand(cmd: UserCodeCommand): MaybeNotKnown<boolean>;
|
|
14
14
|
protected get [SET_VALUE](): SetValueImplementation;
|
|
15
|
+
protected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory;
|
|
16
|
+
isSetValueOptimistic(_valueId: ValueID): boolean;
|
|
15
17
|
protected get [POLL_VALUE](): PollValueImplementation;
|
|
16
18
|
getUsersCount(): Promise<MaybeNotKnown<number>>;
|
|
17
19
|
get(userId: number, multiple?: false): Promise<MaybeNotKnown<Pick<UserCode, "userIdStatus" | "userCode">>>;
|
|
@@ -38,7 +40,7 @@ export declare class UserCodeCCAPI extends PhysicalCCAPI {
|
|
|
38
40
|
export declare class UserCodeCC extends CommandClass {
|
|
39
41
|
ccCommand: UserCodeCommand;
|
|
40
42
|
interview(ctx: InterviewContext): Promise<void>;
|
|
41
|
-
refreshValues(ctx: RefreshValuesContext): Promise<void>;
|
|
43
|
+
refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void>;
|
|
42
44
|
/**
|
|
43
45
|
* Returns the number of supported users.
|
|
44
46
|
* This only works AFTER the interview process
|