@zwave-js/cc 14.3.10 → 15.0.0-beta.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.d.ts +68 -68
- package/build/cjs/cc/AlarmSensorCC.js +12 -50
- package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
- package/build/cjs/cc/AssociationCC.d.ts +72 -73
- package/build/cjs/cc/AssociationCC.js +9 -26
- package/build/cjs/cc/AssociationCC.js.map +2 -2
- package/build/cjs/cc/AssociationGroupInfoCC.d.ts +71 -71
- package/build/cjs/cc/AssociationGroupInfoCC.js +11 -22
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
- package/build/cjs/cc/BarrierOperatorCC.d.ts +66 -72
- package/build/cjs/cc/BarrierOperatorCC.js +12 -44
- package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
- package/build/cjs/cc/BasicCC.d.ts +64 -65
- package/build/cjs/cc/BasicCC.js +15 -46
- package/build/cjs/cc/BasicCC.js.map +2 -2
- package/build/cjs/cc/BatteryCC.d.ts +162 -165
- package/build/cjs/cc/BatteryCC.js +7 -84
- package/build/cjs/cc/BatteryCC.js.map +2 -2
- package/build/cjs/cc/BinarySensorCC.d.ts +36 -36
- package/build/cjs/cc/BinarySensorCC.js +9 -29
- package/build/cjs/cc/BinarySensorCC.js.map +2 -2
- package/build/cjs/cc/BinarySwitchCC.d.ts +34 -34
- package/build/cjs/cc/BinarySwitchCC.js +6 -22
- package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
- package/build/cjs/cc/CRC16CC.d.ts +4 -8
- package/build/cjs/cc/CRC16CC.js +4 -27
- package/build/cjs/cc/CRC16CC.js.map +2 -2
- package/build/cjs/cc/CentralSceneCC.d.ts +74 -74
- package/build/cjs/cc/CentralSceneCC.js +7 -30
- package/build/cjs/cc/CentralSceneCC.js.map +2 -2
- package/build/cjs/cc/ClimateControlScheduleCC.d.ts +38 -40
- package/build/cjs/cc/ClimateControlScheduleCC.js +5 -24
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +2 -2
- package/build/cjs/cc/ClockCC.d.ts +3 -3
- package/build/cjs/cc/ClockCC.js.map +2 -2
- package/build/cjs/cc/ColorSwitchCC.d.ts +117 -117
- package/build/cjs/cc/ColorSwitchCC.js +23 -75
- package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
- package/build/cjs/cc/ConfigurationCC._validateArgs.js +1 -1
- package/build/cjs/cc/ConfigurationCC._validateArgs.js.map +1 -1
- package/build/cjs/cc/ConfigurationCC.d.ts +48 -52
- package/build/cjs/cc/ConfigurationCC.js +11 -39
- package/build/cjs/cc/ConfigurationCC.js.map +2 -2
- package/build/cjs/cc/DeviceResetLocallyCC.d.ts +1 -1
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +2 -2
- package/build/cjs/cc/DoorLockCC._validateArgs.js +1 -1
- package/build/cjs/cc/DoorLockCC._validateArgs.js.map +1 -1
- package/build/cjs/cc/DoorLockCC.d.ts +362 -361
- package/build/cjs/cc/DoorLockCC.js +51 -156
- package/build/cjs/cc/DoorLockCC.js.map +2 -2
- package/build/cjs/cc/DoorLockLoggingCC.d.ts +14 -14
- package/build/cjs/cc/DoorLockLoggingCC.js +4 -8
- package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
- package/build/cjs/cc/EnergyProductionCC.d.ts +16 -16
- package/build/cjs/cc/EnergyProductionCC.js +5 -17
- package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
- package/build/cjs/cc/EntryControlCC.d.ts +71 -71
- package/build/cjs/cc/EntryControlCC.js +9 -36
- package/build/cjs/cc/EntryControlCC.js.map +2 -2
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +2 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js +26 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -1
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +101 -88
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +159 -34
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlModeCC.d.ts +31 -33
- package/build/cjs/cc/HumidityControlModeCC.js +6 -15
- package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +9 -11
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +4 -12
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlSetpointCC.d.ts +50 -50
- package/build/cjs/cc/HumidityControlSetpointCC.js +10 -28
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
- package/build/cjs/cc/InclusionControllerCC.d.ts +4 -4
- package/build/cjs/cc/InclusionControllerCC.js.map +2 -2
- package/build/cjs/cc/IndicatorCC.d.ts +119 -119
- package/build/cjs/cc/IndicatorCC.js +15 -61
- package/build/cjs/cc/IndicatorCC.js.map +2 -2
- package/build/cjs/cc/IrrigationCC.d.ts +581 -585
- package/build/cjs/cc/IrrigationCC.js +29 -233
- package/build/cjs/cc/IrrigationCC.js.map +2 -2
- package/build/cjs/cc/LanguageCC.d.ts +21 -21
- package/build/cjs/cc/LanguageCC.js +4 -15
- package/build/cjs/cc/LanguageCC.js.map +2 -2
- package/build/cjs/cc/LockCC.d.ts +9 -9
- package/build/cjs/cc/LockCC.js +4 -12
- package/build/cjs/cc/LockCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC.d.ts +67 -67
- package/build/cjs/cc/ManufacturerSpecificCC.js +5 -26
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
- package/build/cjs/cc/MeterCC.d.ts +120 -119
- package/build/cjs/cc/MeterCC.js +25 -69
- package/build/cjs/cc/MeterCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelAssociationCC.d.ts +71 -73
- package/build/cjs/cc/MultiChannelAssociationCC.js +10 -28
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelCC.d.ts +136 -146
- package/build/cjs/cc/MultiChannelCC.js +26 -118
- package/build/cjs/cc/MultiChannelCC.js.map +2 -2
- package/build/cjs/cc/MultiCommandCC.d.ts +4 -8
- package/build/cjs/cc/MultiCommandCC.js +4 -37
- package/build/cjs/cc/MultiCommandCC.js.map +2 -2
- package/build/cjs/cc/MultilevelSensorCC.d.ts +50 -49
- package/build/cjs/cc/MultilevelSensorCC.js +12 -33
- package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
- package/build/cjs/cc/MultilevelSwitchCC.d.ts +146 -146
- package/build/cjs/cc/MultilevelSwitchCC.js +13 -107
- package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
- package/build/cjs/cc/NodeNamingCC.d.ts +30 -30
- package/build/cjs/cc/NodeNamingCC.js +5 -16
- package/build/cjs/cc/NodeNamingCC.js.map +2 -2
- package/build/cjs/cc/NotificationCC.d.ts +210 -208
- package/build/cjs/cc/NotificationCC.js +41 -113
- package/build/cjs/cc/NotificationCC.js.map +2 -2
- package/build/cjs/cc/PowerlevelCC.d.ts +6 -6
- package/build/cjs/cc/PowerlevelCC.js.map +2 -2
- package/build/cjs/cc/ProtectionCC.d.ts +117 -121
- package/build/cjs/cc/ProtectionCC.js +15 -50
- package/build/cjs/cc/ProtectionCC.js.map +2 -2
- package/build/cjs/cc/SceneActivationCC.d.ts +29 -29
- package/build/cjs/cc/SceneActivationCC.js +4 -17
- package/build/cjs/cc/SceneActivationCC.js.map +2 -2
- package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +35 -35
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +9 -21
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +2 -2
- package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +36 -35
- package/build/cjs/cc/SceneControllerConfigurationCC.js +10 -22
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
- package/build/cjs/cc/ScheduleEntryLockCC.d.ts +109 -109
- package/build/cjs/cc/ScheduleEntryLockCC.js +13 -30
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
- package/build/cjs/cc/Security2CC.d.ts +15 -21
- package/build/cjs/cc/Security2CC.js +32 -347
- package/build/cjs/cc/Security2CC.js.map +3 -3
- package/build/cjs/cc/SecurityCC.d.ts +12 -19
- package/build/cjs/cc/SecurityCC.js +12 -106
- package/build/cjs/cc/SecurityCC.js.map +2 -2
- package/build/cjs/cc/SoundSwitchCC.d.ts +58 -58
- package/build/cjs/cc/SoundSwitchCC.js +11 -43
- package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
- package/build/cjs/cc/SupervisionCC.d.ts +21 -25
- package/build/cjs/cc/SupervisionCC.js +8 -38
- package/build/cjs/cc/SupervisionCC.js.map +2 -2
- package/build/cjs/cc/ThermostatFanModeCC.d.ts +37 -39
- package/build/cjs/cc/ThermostatFanModeCC.js +8 -21
- package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatFanStateCC.d.ts +9 -11
- package/build/cjs/cc/ThermostatFanStateCC.js +4 -12
- package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatModeCC.d.ts +39 -41
- package/build/cjs/cc/ThermostatModeCC.js +8 -21
- package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +9 -11
- package/build/cjs/cc/ThermostatOperatingStateCC.js +4 -12
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetbackCC.d.ts +4 -4
- package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +51 -51
- package/build/cjs/cc/ThermostatSetpointCC.js +10 -25
- package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
- package/build/cjs/cc/TimeCC.d.ts +6 -6
- package/build/cjs/cc/TimeCC.js.map +2 -2
- package/build/cjs/cc/TimeParametersCC.d.ts +9 -9
- package/build/cjs/cc/TimeParametersCC.js +4 -11
- package/build/cjs/cc/TimeParametersCC.js.map +2 -2
- package/build/cjs/cc/TransportServiceCC.d.ts +7 -12
- package/build/cjs/cc/TransportServiceCC.js +3 -20
- package/build/cjs/cc/TransportServiceCC.js.map +2 -2
- package/build/cjs/cc/UserCodeCC._validateArgs.js +1 -1
- package/build/cjs/cc/UserCodeCC._validateArgs.js.map +1 -1
- package/build/cjs/cc/UserCodeCC.d.ts +236 -236
- package/build/cjs/cc/UserCodeCC.js +33 -98
- package/build/cjs/cc/UserCodeCC.js.map +2 -2
- package/build/cjs/cc/VersionCC.d.ts +210 -212
- package/build/cjs/cc/VersionCC.js +7 -98
- package/build/cjs/cc/VersionCC.js.map +2 -2
- package/build/cjs/cc/WakeUpCC.d.ts +44 -44
- package/build/cjs/cc/WakeUpCC.js +6 -26
- package/build/cjs/cc/WakeUpCC.js.map +2 -2
- package/build/cjs/cc/WindowCoveringCC.d.ts +118 -122
- package/build/cjs/cc/WindowCoveringCC.js +16 -128
- package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
- package/build/cjs/cc/ZWavePlusCC.d.ts +74 -74
- package/build/cjs/cc/ZWavePlusCC.js +4 -25
- package/build/cjs/cc/ZWavePlusCC.js.map +2 -2
- package/build/cjs/cc/ZWaveProtocolCC.d.ts +28 -28
- package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
- package/build/cjs/cc/_CCValues.generated.d.ts +15814 -0
- package/build/cjs/cc/_CCValues.generated.js +8723 -0
- package/build/cjs/cc/_CCValues.generated.js.map +7 -0
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +4 -4
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index_browser.d.ts +9 -0
- package/build/cjs/index_browser.js +41 -1
- package/build/cjs/index_browser.js.map +2 -2
- package/build/cjs/lib/API.d.ts +7 -5
- package/build/cjs/lib/API.js +1 -1
- package/build/cjs/lib/API.js.map +2 -2
- package/build/cjs/lib/CCValueUtils.d.ts +14 -0
- package/build/cjs/lib/CCValueUtils.js +93 -0
- package/build/cjs/lib/CCValueUtils.js.map +7 -0
- package/build/cjs/lib/CommandClass.d.ts +10 -21
- package/build/cjs/lib/CommandClass.js +51 -106
- package/build/cjs/lib/CommandClass.js.map +3 -3
- package/build/cjs/lib/CommandClassDecorators.d.ts +1 -1
- package/build/cjs/lib/CommandClassDecorators.js +3 -3
- package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
- package/build/cjs/lib/Values.d.ts +7 -106
- package/build/cjs/lib/Values.js +13 -107
- package/build/cjs/lib/Values.js.map +3 -3
- package/build/cjs/lib/traits.d.ts +94 -0
- package/build/cjs/lib/traits.js +17 -0
- package/build/cjs/lib/traits.js.map +7 -0
- package/build/cjs/lib/utils.d.ts +2 -2
- package/build/cjs/lib/utils.js.map +2 -2
- package/build/esm/cc/AlarmSensorCC.d.ts +68 -68
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +2 -40
- package/build/esm/cc/AlarmSensorCC.js.map +1 -1
- package/build/esm/cc/AssociationCC.d.ts +72 -73
- package/build/esm/cc/AssociationCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.js +2 -27
- package/build/esm/cc/AssociationCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.d.ts +71 -71
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.js +2 -19
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.d.ts +66 -72
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.js +2 -37
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC.d.ts +64 -65
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +2 -34
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts +162 -165
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +3 -80
- package/build/esm/cc/BatteryCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC.d.ts +36 -36
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.js +2 -19
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts +34 -34
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +2 -19
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CRC16CC.d.ts +4 -8
- package/build/esm/cc/CRC16CC.d.ts.map +1 -1
- package/build/esm/cc/CRC16CC.js +4 -34
- package/build/esm/cc/CRC16CC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts +74 -74
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.js +2 -27
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.d.ts +38 -40
- package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.js +2 -26
- package/build/esm/cc/ClimateControlScheduleCC.js.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 +0 -1
- package/build/esm/cc/ClockCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC.d.ts +117 -117
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.js +2 -58
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC._validateArgs.js +1 -1
- package/build/esm/cc/ConfigurationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ConfigurationCC.d.ts +48 -52
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +2 -40
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC._validateArgs.js +1 -1
- package/build/esm/cc/DoorLockCC._validateArgs.js.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts +362 -361
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.js +9 -129
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.d.ts +14 -14
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.js +2 -6
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC.d.ts +16 -16
- package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.js +2 -15
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts +71 -71
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +2 -29
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +2 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js +20 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +101 -88
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +160 -53
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.d.ts +31 -33
- package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.js +2 -11
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +9 -11
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js +2 -9
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts +50 -50
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +2 -23
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/InclusionControllerCC.d.ts +4 -4
- package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
- package/build/esm/cc/InclusionControllerCC.js +0 -2
- package/build/esm/cc/InclusionControllerCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC.d.ts +119 -119
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.js +2 -50
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC.d.ts +581 -585
- package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.js +3 -231
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts +21 -21
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +2 -13
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC.d.ts +9 -9
- package/build/esm/cc/LockCC.d.ts.map +1 -1
- package/build/esm/cc/LockCC.js +2 -10
- 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 +0 -2
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts +67 -67
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +2 -26
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC.d.ts +120 -119
- package/build/esm/cc/MeterCC.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.js +3 -53
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.d.ts +71 -73
- package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.js +2 -30
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts +136 -146
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +10 -131
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultiCommandCC.d.ts +4 -8
- package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC.js +4 -38
- package/build/esm/cc/MultiCommandCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.d.ts +50 -49
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.js +2 -27
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts +146 -146
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +5 -105
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts +30 -30
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +2 -14
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts +210 -208
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +21 -97
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts +6 -6
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.js +0 -4
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts +117 -121
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.js +2 -39
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneActivationCC.d.ts +29 -29
- package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.js +2 -15
- package/build/esm/cc/SceneActivationCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +35 -35
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.js +2 -16
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts +36 -35
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +2 -16
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts +109 -109
- package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.js +2 -31
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts +15 -21
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +27 -475
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts +12 -19
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +13 -138
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts +58 -58
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +2 -40
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/SupervisionCC.d.ts +21 -25
- package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
- package/build/esm/cc/SupervisionCC.js +6 -41
- package/build/esm/cc/SupervisionCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.d.ts +37 -39
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.js +2 -15
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.d.ts +9 -11
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.js +2 -9
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts +39 -41
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.js +2 -17
- package/build/esm/cc/ThermostatModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts +9 -11
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.js +2 -9
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.d.ts +4 -4
- package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.js +0 -2
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts +51 -51
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +2 -22
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC.d.ts +6 -6
- package/build/esm/cc/TimeCC.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.js +0 -4
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC.d.ts +9 -9
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.js +2 -9
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/TransportServiceCC.d.ts +7 -12
- package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
- package/build/esm/cc/TransportServiceCC.js +5 -38
- package/build/esm/cc/TransportServiceCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC._validateArgs.js +1 -1
- package/build/esm/cc/UserCodeCC._validateArgs.js.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts +236 -236
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.js +2 -72
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/VersionCC.d.ts +210 -212
- package/build/esm/cc/VersionCC.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.js +2 -96
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC.d.ts +44 -44
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.js +2 -22
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts +118 -122
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +3 -108
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts +74 -74
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.js +2 -26
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.d.ts +28 -28
- package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js +0 -27
- package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/esm/cc/_CCValues.generated.d.ts +15814 -0
- package/build/esm/cc/_CCValues.generated.d.ts.map +1 -0
- package/build/esm/cc/_CCValues.generated.js +9187 -0
- package/build/esm/cc/_CCValues.generated.js.map +1 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +4 -4
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +0 -3
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index_browser.d.ts +9 -0
- package/build/esm/index_browser.d.ts.map +1 -1
- package/build/esm/index_browser.js +8 -1
- package/build/esm/index_browser.js.map +1 -1
- package/build/esm/lib/API.d.ts +7 -5
- package/build/esm/lib/API.d.ts.map +1 -1
- package/build/esm/lib/API.js +1 -1
- package/build/esm/lib/API.js.map +1 -1
- package/build/esm/lib/CCValueUtils.d.ts +14 -0
- package/build/esm/lib/CCValueUtils.d.ts.map +1 -0
- package/build/esm/lib/CCValueUtils.js +62 -0
- package/build/esm/lib/CCValueUtils.js.map +1 -0
- package/build/esm/lib/CommandClass.d.ts +10 -21
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js +8 -101
- package/build/esm/lib/CommandClass.js.map +1 -1
- package/build/esm/lib/CommandClassDecorators.d.ts +1 -1
- package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
- package/build/esm/lib/CommandClassDecorators.js +1 -1
- package/build/esm/lib/CommandClassDecorators.js.map +1 -1
- package/build/esm/lib/Values.d.ts +7 -106
- package/build/esm/lib/Values.d.ts.map +1 -1
- package/build/esm/lib/Values.js +7 -104
- package/build/esm/lib/Values.js.map +1 -1
- package/build/esm/lib/traits.d.ts +94 -0
- package/build/esm/lib/traits.d.ts.map +1 -0
- package/build/esm/lib/traits.js +2 -0
- package/build/esm/lib/traits.js.map +1 -0
- package/build/esm/lib/utils.d.ts +2 -2
- package/build/esm/lib/utils.d.ts.map +1 -1
- package/build/esm/lib/utils.js.map +1 -1
- package/package.json +16 -14
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/EntryControlCC.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n\tCommandClasses,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tgetCCName,\n\tparseBitMask,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex, pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport {\n\tEntryControlCommand,\n\tEntryControlDataTypes,\n\tEntryControlEventTypes,\n} from \"../lib/_Types.js\";\nimport * as ccUtils from \"../lib/utils.js\";\n\nexport const EntryControlCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses[\"Entry Control\"], {\n\t\t...V.staticProperty(\n\t\t\t\"keyCacheSize\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache size\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Number of character that must be stored before sending\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 32,\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"keyCacheTimeout\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache timeout\",\n\t\t\t\tunit: \"seconds\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"How long the key cache must wait for additional characters\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 10,\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\"supportedDataTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedEventTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedKeys\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t}),\n});\n\n@API(CommandClasses[\"Entry Control\"])\nexport class EntryControlCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: EntryControlCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase EntryControlCommand.KeySupportedGet:\n\t\t\tcase EntryControlCommand.EventSupportedGet:\n\t\t\tcase EntryControlCommand.ConfigurationGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase EntryControlCommand.ConfigurationSet:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupportedKeys() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.KeySupportedGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCKeySupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCKeySupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedKeys;\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getEventCapabilities() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.EventSupportedGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCEventSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCEventSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"supportedDataTypes\",\n\t\t\t\t\"supportedEventTypes\",\n\t\t\t\t\"minKeyCacheSize\",\n\t\t\t\t\"maxKeyCacheSize\",\n\t\t\t\t\"minKeyCacheTimeout\",\n\t\t\t\t\"maxKeyCacheTimeout\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getConfiguration() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCConfigurationGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCConfigurationReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"keyCacheSize\", \"keyCacheTimeout\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async setConfiguration(\n\t\tkeyCacheSize: number,\n\t\tkeyCacheTimeout: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCConfigurationSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tkeyCacheSize,\n\t\t\tkeyCacheTimeout,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(this: EntryControlCCAPI, { property }, value) {\n\t\t\tif (property !== \"keyCacheSize\" && property !== \"keyCacheTimeout\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet keyCacheSize = value;\n\t\t\tlet keyCacheTimeout = 2;\n\t\t\tif (property === \"keyCacheTimeout\") {\n\t\t\t\tkeyCacheTimeout = value;\n\n\t\t\t\tconst oldKeyCacheSize = this.tryGetValueDB()?.getValue<number>(\n\t\t\t\t\tEntryControlCCValues.keyCacheSize.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tif (oldKeyCacheSize == undefined) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The \"keyCacheTimeout\" property cannot be changed before the key cache size is known!`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tkeyCacheSize = oldKeyCacheSize;\n\t\t\t}\n\t\t\tconst result = await this.setConfiguration(\n\t\t\t\tkeyCacheSize,\n\t\t\t\tkeyCacheTimeout,\n\t\t\t);\n\n\t\t\t// Verify the change after a short delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property }, value, { transition: \"fast\" });\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: EntryControlCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"keyCacheSize\":\n\t\t\t\tcase \"keyCacheTimeout\":\n\t\t\t\t\treturn (await this.getConfiguration())?.[property];\n\t\t\t}\n\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses[\"Entry Control\"])\n@implementedVersion(1)\n@ccValues(EntryControlCCValues)\nexport class EntryControlCC extends CommandClass {\n\tdeclare ccCommand: EntryControlCommand;\n\n\tpublic determineRequiredCCInterviews(): readonly CommandClasses[] {\n\t\treturn [\n\t\t\t...super.determineRequiredCCInterviews(),\n\t\t\tCommandClasses.Association,\n\t\t\tCommandClasses[\"Multi Channel Association\"],\n\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t];\n\t}\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Entry Control\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\t// If one Association group issues Entry Control notifications,\n\t\t// we must associate ourselves with that channel\n\t\ttry {\n\t\t\tawait ccUtils.assignLifelineIssueingCommand(\n\t\t\t\tctx,\n\t\t\t\tendpoint,\n\t\t\t\tthis.ccId,\n\t\t\t\tEntryControlCommand.Notification,\n\t\t\t);\n\t\t} catch {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: endpoint.index,\n\t\t\t\tmessage: `Configuring associations to receive ${\n\t\t\t\t\tgetCCName(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t)\n\t\t\t\t} commands failed!`,\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control supported keys...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst supportedKeys = await api.getSupportedKeys();\n\t\tif (supportedKeys) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t`received entry control supported keys: ${supportedKeys.toString()}`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control supported events...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst eventCapabilities = await api.getEventCapabilities();\n\t\tif (eventCapabilities) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `received entry control supported keys:\ndata types: ${\n\t\t\t\t\teventCapabilities.supportedDataTypes\n\t\t\t\t\t\t.map((e) => EntryControlDataTypes[e])\n\t\t\t\t\t\t.toString()\n\t\t\t\t}\nevent types: ${\n\t\t\t\t\teventCapabilities.supportedEventTypes\n\t\t\t\t\t\t.map((e) => EntryControlEventTypes[e])\n\t\t\t\t\t\t.toString()\n\t\t\t\t}\nmin key cache size: ${eventCapabilities.minKeyCacheSize}\nmax key cache size: ${eventCapabilities.maxKeyCacheSize}\nmin key cache timeout: ${eventCapabilities.minKeyCacheTimeout} seconds\nmax key cache timeout: ${eventCapabilities.maxKeyCacheTimeout} seconds`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Entry Control\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control configuration...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst conf = await api.getConfiguration();\n\t\tif (conf) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `received entry control configuration:\nkey cache size: ${conf.keyCacheSize}\nkey cache timeout: ${conf.keyCacheTimeout} seconds`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface EntryControlCCNotificationOptions {\n\tsequenceNumber: number;\n\tdataType: EntryControlDataTypes;\n\teventType: EntryControlEventTypes;\n\teventData?: string | Bytes;\n}\n\n@CCCommand(EntryControlCommand.Notification)\nexport class EntryControlCCNotification extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCNotificationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.dataType = options.dataType;\n\t\tthis.eventType = options.eventType;\n\t\tthis.eventData = options.eventData;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCNotification {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tlet dataType: EntryControlDataTypes = raw.payload[1] & 0b11;\n\t\tconst eventType: EntryControlEventTypes = raw.payload[2];\n\t\tconst eventDataLength = raw.payload[3];\n\t\tvalidatePayload(eventDataLength >= 0 && eventDataLength <= 32);\n\t\tconst offset = 4;\n\t\tvalidatePayload(raw.payload.length >= offset + eventDataLength);\n\t\tlet eventData: string | Bytes | undefined;\n\t\tif (eventDataLength > 0) {\n\t\t\t// We shouldn't need to check this, since the specs are pretty clear which format to expect.\n\t\t\t// But as always - manufacturers don't care and send ASCII data with 0 bytes...\n\n\t\t\t// We also need to disable the strict validation for some devices to make them work\n\t\t\tconst noStrictValidation = !!ctx.getDeviceConfig?.(\n\t\t\t\tctx.sourceNodeId,\n\t\t\t)?.compat?.disableStrictEntryControlDataValidation;\n\n\t\t\teventData = Bytes.from(\n\t\t\t\traw.payload.subarray(offset, offset + eventDataLength),\n\t\t\t);\n\t\t\tswitch (dataType) {\n\t\t\t\tcase EntryControlDataTypes.Raw:\n\t\t\t\t\t// RAW 1 to 32 bytes of arbitrary binary data\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(\n\t\t\t\t\t\t\teventDataLength >= 1 && eventDataLength <= 32,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EntryControlDataTypes.ASCII:\n\t\t\t\t\t// ASCII 1 to 32 ASCII encoded characters. ASCII codes MUST be in the value range 0x00-0xF7.\n\t\t\t\t\t// The string MUST be padded with the value 0xFF to fit 16 byte blocks when sent in a notification.\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(\n\t\t\t\t\t\t\teventDataLength === 16 || eventDataLength === 32,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Trim 0xff padding bytes\n\t\t\t\t\tlet paddingStart = eventDataLength;\n\t\t\t\t\twhile (\n\t\t\t\t\t\tpaddingStart > 0\n\t\t\t\t\t\t&& eventData[paddingStart - 1] === 0xff\n\t\t\t\t\t) {\n\t\t\t\t\t\tpaddingStart--;\n\t\t\t\t\t}\n\t\t\t\t\teventData = eventData.subarray(0, paddingStart).toString(\n\t\t\t\t\t\t\"ascii\",\n\t\t\t\t\t);\n\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(/^[\\u0000-\\u007f]+$/.test(eventData));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EntryControlDataTypes.MD5:\n\t\t\t\t\t// MD5 16 byte binary data encoded as a MD5 hash value.\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(eventDataLength === 16);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else {\n\t\t\tdataType = EntryControlDataTypes.None;\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\tdataType,\n\t\t\teventType,\n\t\t\teventData,\n\t\t});\n\t}\n\n\tpublic readonly sequenceNumber: number;\n\tpublic readonly dataType: EntryControlDataTypes;\n\tpublic readonly eventType: EntryControlEventTypes;\n\tpublic readonly eventData?: Uint8Array | string;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"sequence number\": this.sequenceNumber,\n\t\t\t\"data type\": this.dataType,\n\t\t\t\"event type\": this.eventType,\n\t\t};\n\t\tif (this.eventData) {\n\t\t\tswitch (this.eventType) {\n\t\t\t\tcase EntryControlEventTypes.CachedKeys:\n\t\t\t\tcase EntryControlEventTypes.Enter:\n\t\t\t\t\t// The event data is likely the user's PIN code, hide it from logs\n\t\t\t\t\tmessage[\"event data\"] = \"*\".repeat(this.eventData.length);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tmessage[\"event data\"] = typeof this.eventData === \"string\"\n\t\t\t\t\t\t? this.eventData\n\t\t\t\t\t\t: buffer2hex(this.eventData);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface EntryControlCCKeySupportedReportOptions {\n\tsupportedKeys: number[];\n}\n\n@CCCommand(EntryControlCommand.KeySupportedReport)\n@ccValueProperty(\"supportedKeys\", EntryControlCCValues.supportedKeys)\nexport class EntryControlCCKeySupportedReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCKeySupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedKeys = options.supportedKeys;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCKeySupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst length = raw.payload[0];\n\t\tvalidatePayload(raw.payload.length >= 1 + length);\n\t\tconst supportedKeys = parseBitMask(\n\t\t\traw.payload.subarray(1, 1 + length),\n\t\t\t0,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedKeys,\n\t\t});\n\t}\n\n\tpublic readonly supportedKeys: readonly number[];\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"supported keys\": this.supportedKeys.toString() },\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.KeySupportedGet)\n@expectedCCResponse(EntryControlCCKeySupportedReport)\nexport class EntryControlCCKeySupportedGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCEventSupportedReportOptions {\n\tsupportedDataTypes: EntryControlDataTypes[];\n\tsupportedEventTypes: EntryControlEventTypes[];\n\tminKeyCacheSize: number;\n\tmaxKeyCacheSize: number;\n\tminKeyCacheTimeout: number;\n\tmaxKeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.EventSupportedReport)\n@ccValueProperty(\"supportedDataTypes\", EntryControlCCValues.supportedDataTypes)\n@ccValueProperty(\n\t\"supportedEventTypes\",\n\tEntryControlCCValues.supportedEventTypes,\n)\nexport class EntryControlCCEventSupportedReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCEventSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedDataTypes = options.supportedDataTypes;\n\t\tthis.supportedEventTypes = options.supportedEventTypes;\n\t\tthis.minKeyCacheSize = options.minKeyCacheSize;\n\t\tthis.maxKeyCacheSize = options.maxKeyCacheSize;\n\t\tthis.minKeyCacheTimeout = options.minKeyCacheTimeout;\n\t\tthis.maxKeyCacheTimeout = options.maxKeyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCEventSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst dataTypeLength = raw.payload[0] & 0b11;\n\t\tlet offset = 1;\n\t\tvalidatePayload(raw.payload.length >= offset + dataTypeLength);\n\t\tconst supportedDataTypes: EntryControlDataTypes[] = parseBitMask(\n\t\t\traw.payload.subarray(offset, offset + dataTypeLength),\n\t\t\tEntryControlDataTypes.None,\n\t\t);\n\t\toffset += dataTypeLength;\n\t\tvalidatePayload(raw.payload.length >= offset + 1);\n\t\tconst eventTypeLength = raw.payload[offset] & 0b11111;\n\t\toffset += 1;\n\t\tvalidatePayload(raw.payload.length >= offset + eventTypeLength);\n\t\tconst supportedEventTypes: EntryControlEventTypes[] = parseBitMask(\n\t\t\traw.payload.subarray(offset, offset + eventTypeLength),\n\t\t\tEntryControlEventTypes.Caching,\n\t\t);\n\t\toffset += eventTypeLength;\n\t\tvalidatePayload(raw.payload.length >= offset + 4);\n\t\tconst minKeyCacheSize = raw.payload[offset];\n\t\tvalidatePayload(\n\t\t\tminKeyCacheSize >= 1 && minKeyCacheSize <= 32,\n\t\t);\n\t\tconst maxKeyCacheSize = raw.payload[offset + 1];\n\t\tvalidatePayload(\n\t\t\tmaxKeyCacheSize >= minKeyCacheSize\n\t\t\t\t&& maxKeyCacheSize <= 32,\n\t\t);\n\t\tconst minKeyCacheTimeout = raw.payload[offset + 2];\n\t\tconst maxKeyCacheTimeout = raw.payload[offset + 3];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedDataTypes,\n\t\t\tsupportedEventTypes,\n\t\t\tminKeyCacheSize,\n\t\t\tmaxKeyCacheSize,\n\t\t\tminKeyCacheTimeout,\n\t\t\tmaxKeyCacheTimeout,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Store min/max cache size and timeout as metadata\n\t\tconst keyCacheSizeValue = EntryControlCCValues.keyCacheSize;\n\t\tthis.setMetadata(ctx, keyCacheSizeValue, {\n\t\t\t...keyCacheSizeValue.meta,\n\t\t\tmin: this.minKeyCacheSize,\n\t\t\tmax: this.maxKeyCacheSize,\n\t\t});\n\n\t\tconst keyCacheTimeoutValue = EntryControlCCValues.keyCacheTimeout;\n\t\tthis.setMetadata(ctx, keyCacheTimeoutValue, {\n\t\t\t...keyCacheTimeoutValue.meta,\n\t\t\tmin: this.minKeyCacheTimeout,\n\t\t\tmax: this.maxKeyCacheTimeout,\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tpublic readonly supportedDataTypes: readonly EntryControlDataTypes[];\n\n\tpublic readonly supportedEventTypes: readonly EntryControlEventTypes[];\n\n\tpublic readonly minKeyCacheSize: number;\n\tpublic readonly maxKeyCacheSize: number;\n\tpublic readonly minKeyCacheTimeout: number;\n\tpublic readonly maxKeyCacheTimeout: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"supported data types\": this.supportedDataTypes\n\t\t\t\t\t.map((dt) => EntryControlDataTypes[dt])\n\t\t\t\t\t.toString(),\n\t\t\t\t\"supported event types\": this.supportedEventTypes\n\t\t\t\t\t.map((et) => EntryControlEventTypes[et])\n\t\t\t\t\t.toString(),\n\t\t\t\t\"min key cache size\": this.minKeyCacheSize,\n\t\t\t\t\"max key cache size\": this.maxKeyCacheSize,\n\t\t\t\t\"min key cache timeout\": this.minKeyCacheTimeout,\n\t\t\t\t\"max key cache timeout\": this.maxKeyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.EventSupportedGet)\n@expectedCCResponse(EntryControlCCEventSupportedReport)\nexport class EntryControlCCEventSupportedGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCConfigurationReportOptions {\n\tkeyCacheSize: number;\n\tkeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.ConfigurationReport)\n@ccValueProperty(\"keyCacheSize\", EntryControlCCValues.keyCacheSize)\n@ccValueProperty(\"keyCacheTimeout\", EntryControlCCValues.keyCacheTimeout)\nexport class EntryControlCCConfigurationReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCConfigurationReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.keyCacheSize = options.keyCacheSize;\n\t\tthis.keyCacheTimeout = options.keyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCConfigurationReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst keyCacheSize = raw.payload[0];\n\t\tvalidatePayload(keyCacheSize >= 1 && keyCacheSize <= 32);\n\t\tconst keyCacheTimeout = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tkeyCacheSize,\n\t\t\tkeyCacheTimeout,\n\t\t});\n\t}\n\n\tpublic readonly keyCacheSize: number;\n\n\tpublic readonly keyCacheTimeout: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"key cache size\": this.keyCacheSize,\n\t\t\t\t\"key cache timeout\": this.keyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.ConfigurationGet)\n@expectedCCResponse(EntryControlCCConfigurationReport)\nexport class EntryControlCCConfigurationGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCConfigurationSetOptions {\n\tkeyCacheSize: number;\n\tkeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.ConfigurationSet)\n@useSupervision()\nexport class EntryControlCCConfigurationSet extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCConfigurationSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.keyCacheSize = options.keyCacheSize;\n\t\tthis.keyCacheTimeout = options.keyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): EntryControlCCConfigurationSet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new EntryControlCCConfigurationSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic readonly keyCacheSize: number;\n\tpublic readonly keyCacheTimeout: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.keyCacheSize, this.keyCacheTimeout]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"key cache size\": this.keyCacheSize,\n\t\t\t\t\"key cache timeout\": this.keyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { type CCEncodingContext, type CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype MessageRecord,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tgetCCName,\n\tparseBitMask,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex, pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\ttype PollValueImplementation,\n\tSET_VALUE,\n\ttype SetValueImplementation,\n\tthrowUnsupportedProperty,\n\tthrowWrongValueType,\n} from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype PersistValuesContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport {\n\tEntryControlCommand,\n\tEntryControlDataTypes,\n\tEntryControlEventTypes,\n} from \"../lib/_Types.js\";\nimport * as ccUtils from \"../lib/utils.js\";\n\nexport const EntryControlCCValues = V.defineCCValues(\n\tCommandClasses[\"Entry Control\"],\n\t{\n\t\t...V.staticProperty(\n\t\t\t\"keyCacheSize\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache size\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Number of character that must be stored before sending\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 32,\n\t\t\t} as const,\n\t\t),\n\t\t...V.staticProperty(\n\t\t\t\"keyCacheTimeout\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.UInt8,\n\t\t\t\tlabel: \"Key cache timeout\",\n\t\t\t\tunit: \"seconds\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"How long the key cache must wait for additional characters\",\n\t\t\t\tmin: 1,\n\t\t\t\tmax: 10,\n\t\t\t} as const,\n\t\t),\n\t\t...V.staticProperty(\"supportedDataTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedEventTypes\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t\t...V.staticProperty(\"supportedKeys\", undefined, {\n\t\t\tinternal: true,\n\t\t}),\n\t},\n);\n\n@API(CommandClasses[\"Entry Control\"])\nexport class EntryControlCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: EntryControlCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase EntryControlCommand.KeySupportedGet:\n\t\t\tcase EntryControlCommand.EventSupportedGet:\n\t\t\tcase EntryControlCommand.ConfigurationGet:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase EntryControlCommand.ConfigurationSet:\n\t\t\t\treturn true;\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getSupportedKeys() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.KeySupportedGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCKeySupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCKeySupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.supportedKeys;\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getEventCapabilities() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.EventSupportedGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCEventSupportedGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCEventSupportedReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\n\t\t\t\t\"supportedDataTypes\",\n\t\t\t\t\"supportedEventTypes\",\n\t\t\t\t\"minKeyCacheSize\",\n\t\t\t\t\"maxKeyCacheSize\",\n\t\t\t\t\"minKeyCacheTimeout\",\n\t\t\t\t\"maxKeyCacheTimeout\",\n\t\t\t]);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async getConfiguration() {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCConfigurationGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<\n\t\t\tEntryControlCCConfigurationReport\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"keyCacheSize\", \"keyCacheTimeout\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async setConfiguration(\n\t\tkeyCacheSize: number,\n\t\tkeyCacheTimeout: number,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(\n\t\t\tEntryControlCommand,\n\t\t\tEntryControlCommand.ConfigurationGet,\n\t\t);\n\n\t\tconst cc = new EntryControlCCConfigurationSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tkeyCacheSize,\n\t\t\tkeyCacheTimeout,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\tprotected override get [SET_VALUE](): SetValueImplementation {\n\t\treturn async function(this: EntryControlCCAPI, { property }, value) {\n\t\t\tif (property !== \"keyCacheSize\" && property !== \"keyCacheTimeout\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof value !== \"number\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"number\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet keyCacheSize = value;\n\t\t\tlet keyCacheTimeout = 2;\n\t\t\tif (property === \"keyCacheTimeout\") {\n\t\t\t\tkeyCacheTimeout = value;\n\n\t\t\t\tconst oldKeyCacheSize = this.tryGetValueDB()?.getValue<number>(\n\t\t\t\t\tEntryControlCCValues.keyCacheSize.endpoint(\n\t\t\t\t\t\tthis.endpoint.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tif (oldKeyCacheSize == undefined) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t`The \"keyCacheTimeout\" property cannot be changed before the key cache size is known!`,\n\t\t\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tkeyCacheSize = oldKeyCacheSize;\n\t\t\t}\n\t\t\tconst result = await this.setConfiguration(\n\t\t\t\tkeyCacheSize,\n\t\t\t\tkeyCacheTimeout,\n\t\t\t);\n\n\t\t\t// Verify the change after a short delay, unless the command was supervised and successful\n\t\t\tif (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property }, value, { transition: \"fast\" });\n\t\t\t}\n\n\t\t\treturn result;\n\t\t};\n\t}\n\n\tprotected get [POLL_VALUE](): PollValueImplementation {\n\t\treturn async function(this: EntryControlCCAPI, { property }) {\n\t\t\tswitch (property) {\n\t\t\t\tcase \"keyCacheSize\":\n\t\t\t\tcase \"keyCacheTimeout\":\n\t\t\t\t\treturn (await this.getConfiguration())?.[property];\n\t\t\t}\n\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses[\"Entry Control\"])\n@implementedVersion(1)\n@ccValues(EntryControlCCValues)\nexport class EntryControlCC extends CommandClass {\n\tdeclare ccCommand: EntryControlCommand;\n\n\tpublic determineRequiredCCInterviews(): readonly CommandClasses[] {\n\t\treturn [\n\t\t\t...super.determineRequiredCCInterviews(),\n\t\t\tCommandClasses.Association,\n\t\t\tCommandClasses[\"Multi Channel Association\"],\n\t\t\tCommandClasses[\"Association Group Information\"],\n\t\t];\n\t}\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Entry Control\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\t// If one Association group issues Entry Control notifications,\n\t\t// we must associate ourselves with that channel\n\t\ttry {\n\t\t\tawait ccUtils.assignLifelineIssueingCommand(\n\t\t\t\tctx,\n\t\t\t\tendpoint,\n\t\t\t\tthis.ccId,\n\t\t\t\tEntryControlCommand.Notification,\n\t\t\t);\n\t\t} catch {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: endpoint.index,\n\t\t\t\tmessage: `Configuring associations to receive ${\n\t\t\t\t\tgetCCName(\n\t\t\t\t\t\tthis.ccId,\n\t\t\t\t\t)\n\t\t\t\t} commands failed!`,\n\t\t\t\tlevel: \"warn\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control supported keys...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst supportedKeys = await api.getSupportedKeys();\n\t\tif (supportedKeys) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage:\n\t\t\t\t\t`received entry control supported keys: ${supportedKeys.toString()}`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control supported events...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst eventCapabilities = await api.getEventCapabilities();\n\t\tif (eventCapabilities) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `received entry control supported keys:\ndata types: ${\n\t\t\t\t\teventCapabilities.supportedDataTypes\n\t\t\t\t\t\t.map((e) => EntryControlDataTypes[e])\n\t\t\t\t\t\t.toString()\n\t\t\t\t}\nevent types: ${\n\t\t\t\t\teventCapabilities.supportedEventTypes\n\t\t\t\t\t\t.map((e) => EntryControlEventTypes[e])\n\t\t\t\t\t\t.toString()\n\t\t\t\t}\nmin key cache size: ${eventCapabilities.minKeyCacheSize}\nmax key cache size: ${eventCapabilities.maxKeyCacheSize}\nmin key cache timeout: ${eventCapabilities.minKeyCacheTimeout} seconds\nmax key cache timeout: ${eventCapabilities.maxKeyCacheTimeout} seconds`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses[\"Entry Control\"],\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: \"requesting entry control configuration...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\n\t\tconst conf = await api.getConfiguration();\n\t\tif (conf) {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\tmessage: `received entry control configuration:\nkey cache size: ${conf.keyCacheSize}\nkey cache timeout: ${conf.keyCacheTimeout} seconds`,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface EntryControlCCNotificationOptions {\n\tsequenceNumber: number;\n\tdataType: EntryControlDataTypes;\n\teventType: EntryControlEventTypes;\n\teventData?: string | Bytes;\n}\n\n@CCCommand(EntryControlCommand.Notification)\nexport class EntryControlCCNotification extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCNotificationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.dataType = options.dataType;\n\t\tthis.eventType = options.eventType;\n\t\tthis.eventData = options.eventData;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCNotification {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tlet dataType: EntryControlDataTypes = raw.payload[1] & 0b11;\n\t\tconst eventType: EntryControlEventTypes = raw.payload[2];\n\t\tconst eventDataLength = raw.payload[3];\n\t\tvalidatePayload(eventDataLength >= 0 && eventDataLength <= 32);\n\t\tconst offset = 4;\n\t\tvalidatePayload(raw.payload.length >= offset + eventDataLength);\n\t\tlet eventData: string | Bytes | undefined;\n\t\tif (eventDataLength > 0) {\n\t\t\t// We shouldn't need to check this, since the specs are pretty clear which format to expect.\n\t\t\t// But as always - manufacturers don't care and send ASCII data with 0 bytes...\n\n\t\t\t// We also need to disable the strict validation for some devices to make them work\n\t\t\tconst noStrictValidation = !!ctx.getDeviceConfig?.(\n\t\t\t\tctx.sourceNodeId,\n\t\t\t)?.compat?.disableStrictEntryControlDataValidation;\n\n\t\t\teventData = Bytes.from(\n\t\t\t\traw.payload.subarray(offset, offset + eventDataLength),\n\t\t\t);\n\t\t\tswitch (dataType) {\n\t\t\t\tcase EntryControlDataTypes.Raw:\n\t\t\t\t\t// RAW 1 to 32 bytes of arbitrary binary data\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(\n\t\t\t\t\t\t\teventDataLength >= 1 && eventDataLength <= 32,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EntryControlDataTypes.ASCII:\n\t\t\t\t\t// ASCII 1 to 32 ASCII encoded characters. ASCII codes MUST be in the value range 0x00-0xF7.\n\t\t\t\t\t// The string MUST be padded with the value 0xFF to fit 16 byte blocks when sent in a notification.\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(\n\t\t\t\t\t\t\teventDataLength === 16 || eventDataLength === 32,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Trim 0xff padding bytes\n\t\t\t\t\tlet paddingStart = eventDataLength;\n\t\t\t\t\twhile (\n\t\t\t\t\t\tpaddingStart > 0\n\t\t\t\t\t\t&& eventData[paddingStart - 1] === 0xff\n\t\t\t\t\t) {\n\t\t\t\t\t\tpaddingStart--;\n\t\t\t\t\t}\n\t\t\t\t\teventData = eventData.subarray(0, paddingStart).toString(\n\t\t\t\t\t\t\"ascii\",\n\t\t\t\t\t);\n\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(/^[\\u0000-\\u007f]+$/.test(eventData));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EntryControlDataTypes.MD5:\n\t\t\t\t\t// MD5 16 byte binary data encoded as a MD5 hash value.\n\t\t\t\t\tif (!noStrictValidation) {\n\t\t\t\t\t\tvalidatePayload(eventDataLength === 16);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else {\n\t\t\tdataType = EntryControlDataTypes.None;\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\tdataType,\n\t\t\teventType,\n\t\t\teventData,\n\t\t});\n\t}\n\n\tpublic readonly sequenceNumber: number;\n\tpublic readonly dataType: EntryControlDataTypes;\n\tpublic readonly eventType: EntryControlEventTypes;\n\tpublic readonly eventData?: Uint8Array | string;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = {\n\t\t\t\"sequence number\": this.sequenceNumber,\n\t\t\t\"data type\": this.dataType,\n\t\t\t\"event type\": this.eventType,\n\t\t};\n\t\tif (this.eventData) {\n\t\t\tswitch (this.eventType) {\n\t\t\t\tcase EntryControlEventTypes.CachedKeys:\n\t\t\t\tcase EntryControlEventTypes.Enter:\n\t\t\t\t\t// The event data is likely the user's PIN code, hide it from logs\n\t\t\t\t\tmessage[\"event data\"] = \"*\".repeat(this.eventData.length);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tmessage[\"event data\"] = typeof this.eventData === \"string\"\n\t\t\t\t\t\t? this.eventData\n\t\t\t\t\t\t: buffer2hex(this.eventData);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface EntryControlCCKeySupportedReportOptions {\n\tsupportedKeys: number[];\n}\n\n@CCCommand(EntryControlCommand.KeySupportedReport)\n@ccValueProperty(\"supportedKeys\", EntryControlCCValues.supportedKeys)\nexport class EntryControlCCKeySupportedReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCKeySupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedKeys = options.supportedKeys;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCKeySupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst length = raw.payload[0];\n\t\tvalidatePayload(raw.payload.length >= 1 + length);\n\t\tconst supportedKeys = parseBitMask(\n\t\t\traw.payload.subarray(1, 1 + length),\n\t\t\t0,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedKeys,\n\t\t});\n\t}\n\n\tpublic readonly supportedKeys: readonly number[];\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"supported keys\": this.supportedKeys.toString() },\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.KeySupportedGet)\n@expectedCCResponse(EntryControlCCKeySupportedReport)\nexport class EntryControlCCKeySupportedGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCEventSupportedReportOptions {\n\tsupportedDataTypes: EntryControlDataTypes[];\n\tsupportedEventTypes: EntryControlEventTypes[];\n\tminKeyCacheSize: number;\n\tmaxKeyCacheSize: number;\n\tminKeyCacheTimeout: number;\n\tmaxKeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.EventSupportedReport)\n@ccValueProperty(\"supportedDataTypes\", EntryControlCCValues.supportedDataTypes)\n@ccValueProperty(\n\t\"supportedEventTypes\",\n\tEntryControlCCValues.supportedEventTypes,\n)\nexport class EntryControlCCEventSupportedReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCEventSupportedReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.supportedDataTypes = options.supportedDataTypes;\n\t\tthis.supportedEventTypes = options.supportedEventTypes;\n\t\tthis.minKeyCacheSize = options.minKeyCacheSize;\n\t\tthis.maxKeyCacheSize = options.maxKeyCacheSize;\n\t\tthis.minKeyCacheTimeout = options.minKeyCacheTimeout;\n\t\tthis.maxKeyCacheTimeout = options.maxKeyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCEventSupportedReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst dataTypeLength = raw.payload[0] & 0b11;\n\t\tlet offset = 1;\n\t\tvalidatePayload(raw.payload.length >= offset + dataTypeLength);\n\t\tconst supportedDataTypes: EntryControlDataTypes[] = parseBitMask(\n\t\t\traw.payload.subarray(offset, offset + dataTypeLength),\n\t\t\tEntryControlDataTypes.None,\n\t\t);\n\t\toffset += dataTypeLength;\n\t\tvalidatePayload(raw.payload.length >= offset + 1);\n\t\tconst eventTypeLength = raw.payload[offset] & 0b11111;\n\t\toffset += 1;\n\t\tvalidatePayload(raw.payload.length >= offset + eventTypeLength);\n\t\tconst supportedEventTypes: EntryControlEventTypes[] = parseBitMask(\n\t\t\traw.payload.subarray(offset, offset + eventTypeLength),\n\t\t\tEntryControlEventTypes.Caching,\n\t\t);\n\t\toffset += eventTypeLength;\n\t\tvalidatePayload(raw.payload.length >= offset + 4);\n\t\tconst minKeyCacheSize = raw.payload[offset];\n\t\tvalidatePayload(\n\t\t\tminKeyCacheSize >= 1 && minKeyCacheSize <= 32,\n\t\t);\n\t\tconst maxKeyCacheSize = raw.payload[offset + 1];\n\t\tvalidatePayload(\n\t\t\tmaxKeyCacheSize >= minKeyCacheSize\n\t\t\t\t&& maxKeyCacheSize <= 32,\n\t\t);\n\t\tconst minKeyCacheTimeout = raw.payload[offset + 2];\n\t\tconst maxKeyCacheTimeout = raw.payload[offset + 3];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportedDataTypes,\n\t\t\tsupportedEventTypes,\n\t\t\tminKeyCacheSize,\n\t\t\tmaxKeyCacheSize,\n\t\t\tminKeyCacheTimeout,\n\t\t\tmaxKeyCacheTimeout,\n\t\t});\n\t}\n\n\tpublic persistValues(ctx: PersistValuesContext): boolean {\n\t\tif (!super.persistValues(ctx)) return false;\n\n\t\t// Store min/max cache size and timeout as metadata\n\t\tconst keyCacheSizeValue = EntryControlCCValues.keyCacheSize;\n\t\tthis.setMetadata(ctx, keyCacheSizeValue, {\n\t\t\t...keyCacheSizeValue.meta,\n\t\t\tmin: this.minKeyCacheSize,\n\t\t\tmax: this.maxKeyCacheSize,\n\t\t});\n\n\t\tconst keyCacheTimeoutValue = EntryControlCCValues.keyCacheTimeout;\n\t\tthis.setMetadata(ctx, keyCacheTimeoutValue, {\n\t\t\t...keyCacheTimeoutValue.meta,\n\t\t\tmin: this.minKeyCacheTimeout,\n\t\t\tmax: this.maxKeyCacheTimeout,\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tpublic readonly supportedDataTypes: readonly EntryControlDataTypes[];\n\n\tpublic readonly supportedEventTypes: readonly EntryControlEventTypes[];\n\n\tpublic readonly minKeyCacheSize: number;\n\tpublic readonly maxKeyCacheSize: number;\n\tpublic readonly minKeyCacheTimeout: number;\n\tpublic readonly maxKeyCacheTimeout: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"supported data types\": this.supportedDataTypes\n\t\t\t\t\t.map((dt) => EntryControlDataTypes[dt])\n\t\t\t\t\t.toString(),\n\t\t\t\t\"supported event types\": this.supportedEventTypes\n\t\t\t\t\t.map((et) => EntryControlEventTypes[et])\n\t\t\t\t\t.toString(),\n\t\t\t\t\"min key cache size\": this.minKeyCacheSize,\n\t\t\t\t\"max key cache size\": this.maxKeyCacheSize,\n\t\t\t\t\"min key cache timeout\": this.minKeyCacheTimeout,\n\t\t\t\t\"max key cache timeout\": this.maxKeyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.EventSupportedGet)\n@expectedCCResponse(EntryControlCCEventSupportedReport)\nexport class EntryControlCCEventSupportedGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCConfigurationReportOptions {\n\tkeyCacheSize: number;\n\tkeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.ConfigurationReport)\n@ccValueProperty(\"keyCacheSize\", EntryControlCCValues.keyCacheSize)\n@ccValueProperty(\"keyCacheTimeout\", EntryControlCCValues.keyCacheTimeout)\nexport class EntryControlCCConfigurationReport extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCConfigurationReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.keyCacheSize = options.keyCacheSize;\n\t\tthis.keyCacheTimeout = options.keyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): EntryControlCCConfigurationReport {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst keyCacheSize = raw.payload[0];\n\t\tvalidatePayload(keyCacheSize >= 1 && keyCacheSize <= 32);\n\t\tconst keyCacheTimeout = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tkeyCacheSize,\n\t\t\tkeyCacheTimeout,\n\t\t});\n\t}\n\n\tpublic readonly keyCacheSize: number;\n\n\tpublic readonly keyCacheTimeout: number;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"key cache size\": this.keyCacheSize,\n\t\t\t\t\"key cache timeout\": this.keyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n\n@CCCommand(EntryControlCommand.ConfigurationGet)\n@expectedCCResponse(EntryControlCCConfigurationReport)\nexport class EntryControlCCConfigurationGet extends EntryControlCC {}\n\n// @publicAPI\nexport interface EntryControlCCConfigurationSetOptions {\n\tkeyCacheSize: number;\n\tkeyCacheTimeout: number;\n}\n\n@CCCommand(EntryControlCommand.ConfigurationSet)\n@useSupervision()\nexport class EntryControlCCConfigurationSet extends EntryControlCC {\n\tpublic constructor(\n\t\toptions: WithAddress<EntryControlCCConfigurationSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.keyCacheSize = options.keyCacheSize;\n\t\tthis.keyCacheTimeout = options.keyCacheTimeout;\n\t}\n\n\tpublic static from(\n\t\t_raw: CCRaw,\n\t\t_ctx: CCParsingContext,\n\t): EntryControlCCConfigurationSet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new EntryControlCCConfigurationSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic readonly keyCacheSize: number;\n\tpublic readonly keyCacheTimeout: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.keyCacheSize, this.keyCacheTimeout]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"key cache size\": this.keyCacheSize,\n\t\t\t\t\"key cache timeout\": this.keyCacheTimeout,\n\t\t\t},\n\t\t};\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_safe"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export declare function validateArgs_FirmwareUpdateMetaDataCCAPI_reportMetaData(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
2
2
|
export declare function validateArgs_FirmwareUpdateMetaDataCCAPI_requestUpdate(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
3
|
+
export declare function validateArgs_FirmwareUpdateMetaDataCCAPI_respondToUpdateRequest(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
4
|
+
export declare function validateArgs_FirmwareUpdateMetaDataCCAPI_respondToDownloadRequest(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
3
5
|
export declare function validateArgs_FirmwareUpdateMetaDataCCAPI_sendFirmwareFragment(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
4
6
|
export declare function validateArgs_FirmwareUpdateMetaDataCCAPI_activateFirmware(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
|
|
5
7
|
//# sourceMappingURL=FirmwareUpdateMetaDataCC._validateArgs.d.ts.map
|
|
@@ -32,6 +32,8 @@ __export(FirmwareUpdateMetaDataCC_validateArgs_exports, {
|
|
|
32
32
|
validateArgs_FirmwareUpdateMetaDataCCAPI_activateFirmware: () => validateArgs_FirmwareUpdateMetaDataCCAPI_activateFirmware,
|
|
33
33
|
validateArgs_FirmwareUpdateMetaDataCCAPI_reportMetaData: () => validateArgs_FirmwareUpdateMetaDataCCAPI_reportMetaData,
|
|
34
34
|
validateArgs_FirmwareUpdateMetaDataCCAPI_requestUpdate: () => validateArgs_FirmwareUpdateMetaDataCCAPI_requestUpdate,
|
|
35
|
+
validateArgs_FirmwareUpdateMetaDataCCAPI_respondToDownloadRequest: () => validateArgs_FirmwareUpdateMetaDataCCAPI_respondToDownloadRequest,
|
|
36
|
+
validateArgs_FirmwareUpdateMetaDataCCAPI_respondToUpdateRequest: () => validateArgs_FirmwareUpdateMetaDataCCAPI_respondToUpdateRequest,
|
|
35
37
|
validateArgs_FirmwareUpdateMetaDataCCAPI_sendFirmwareFragment: () => validateArgs_FirmwareUpdateMetaDataCCAPI_sendFirmwareFragment
|
|
36
38
|
});
|
|
37
39
|
module.exports = __toCommonJS(FirmwareUpdateMetaDataCC_validateArgs_exports);
|
|
@@ -58,6 +60,28 @@ function validateArgs_FirmwareUpdateMetaDataCCAPI_requestUpdate() {
|
|
|
58
60
|
};
|
|
59
61
|
}
|
|
60
62
|
__name(validateArgs_FirmwareUpdateMetaDataCCAPI_requestUpdate, "validateArgs_FirmwareUpdateMetaDataCCAPI_requestUpdate");
|
|
63
|
+
function validateArgs_FirmwareUpdateMetaDataCCAPI_respondToUpdateRequest() {
|
|
64
|
+
return (__decoratedMethod, { kind }) => {
|
|
65
|
+
if (kind === "method") {
|
|
66
|
+
return /* @__PURE__ */ __name(function respondToUpdateRequest(options) {
|
|
67
|
+
v.assert(v.object({ kind: "parameter", name: "options" }, "FirmwareUpdateMetaDataCCRequestReportOptions", { "status": v.enum({ kind: "property", name: "status" }, "FirmwareUpdateRequestStatus"), "resume": v.optional({ kind: "property", name: "resume" }, v.primitive({ kind: "property", name: "resume" }, "boolean")), "nonSecureTransfer": v.optional({ kind: "property", name: "nonSecureTransfer" }, v.primitive({ kind: "property", name: "nonSecureTransfer" }, "boolean")) })(options));
|
|
68
|
+
return __decoratedMethod.call(this, options);
|
|
69
|
+
}, "respondToUpdateRequest");
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
__name(validateArgs_FirmwareUpdateMetaDataCCAPI_respondToUpdateRequest, "validateArgs_FirmwareUpdateMetaDataCCAPI_respondToUpdateRequest");
|
|
74
|
+
function validateArgs_FirmwareUpdateMetaDataCCAPI_respondToDownloadRequest() {
|
|
75
|
+
return (__decoratedMethod, { kind }) => {
|
|
76
|
+
if (kind === "method") {
|
|
77
|
+
return /* @__PURE__ */ __name(function respondToDownloadRequest(options) {
|
|
78
|
+
v.assert(v.object({ kind: "parameter", name: "options" }, "FirmwareUpdateMetaDataCCPrepareReportOptions", { "status": v.enum({ kind: "property", name: "status" }, "FirmwareDownloadStatus"), "checksum": v.primitive({ kind: "property", name: "checksum" }, "number") })(options));
|
|
79
|
+
return __decoratedMethod.call(this, options);
|
|
80
|
+
}, "respondToDownloadRequest");
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
__name(validateArgs_FirmwareUpdateMetaDataCCAPI_respondToDownloadRequest, "validateArgs_FirmwareUpdateMetaDataCCAPI_respondToDownloadRequest");
|
|
61
85
|
function validateArgs_FirmwareUpdateMetaDataCCAPI_sendFirmwareFragment() {
|
|
62
86
|
return (__decoratedMethod, { kind }) => {
|
|
63
87
|
if (kind === "method") {
|
|
@@ -85,6 +109,8 @@ __name(validateArgs_FirmwareUpdateMetaDataCCAPI_activateFirmware, "validateArgs_
|
|
|
85
109
|
validateArgs_FirmwareUpdateMetaDataCCAPI_activateFirmware,
|
|
86
110
|
validateArgs_FirmwareUpdateMetaDataCCAPI_reportMetaData,
|
|
87
111
|
validateArgs_FirmwareUpdateMetaDataCCAPI_requestUpdate,
|
|
112
|
+
validateArgs_FirmwareUpdateMetaDataCCAPI_respondToDownloadRequest,
|
|
113
|
+
validateArgs_FirmwareUpdateMetaDataCCAPI_respondToUpdateRequest,
|
|
88
114
|
validateArgs_FirmwareUpdateMetaDataCCAPI_sendFirmwareFragment
|
|
89
115
|
});
|
|
90
116
|
//# sourceMappingURL=FirmwareUpdateMetaDataCC._validateArgs.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/FirmwareUpdateMetaDataCC._validateArgs.ts"],
|
|
4
4
|
"sourcesContent": [null],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,159 +1,159 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type
|
|
1
|
+
import { type CCEncodingContext, type CCParsingContext } from "@zwave-js/cc";
|
|
2
|
+
import { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type WithAddress } from "@zwave-js/core/safe";
|
|
3
3
|
import { Bytes } from "@zwave-js/shared/safe";
|
|
4
4
|
import { type AllOrNone } from "@zwave-js/shared/safe";
|
|
5
5
|
import { PhysicalCCAPI } from "../lib/API.js";
|
|
6
6
|
import { type CCRaw, CommandClass, type InterviewContext } from "../lib/CommandClass.js";
|
|
7
7
|
import { FirmwareDownloadStatus, FirmwareUpdateActivationStatus, type FirmwareUpdateMetaData, FirmwareUpdateMetaDataCommand, FirmwareUpdateRequestStatus, FirmwareUpdateStatus } from "../lib/_Types.js";
|
|
8
8
|
export declare const FirmwareUpdateMetaDataCCValues: Readonly<{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
12
|
-
property: "
|
|
9
|
+
supportsActivation: {
|
|
10
|
+
id: {
|
|
11
|
+
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
12
|
+
readonly property: "supportsActivation";
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
endpoint: (endpoint?: number) => {
|
|
15
15
|
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
16
16
|
readonly endpoint: number;
|
|
17
|
-
readonly property: "
|
|
17
|
+
readonly property: "supportsActivation";
|
|
18
18
|
};
|
|
19
|
-
|
|
20
|
-
readonly meta: {
|
|
19
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
20
|
+
readonly meta: Readonly<{
|
|
21
21
|
readonly type: "any";
|
|
22
22
|
readonly readable: true;
|
|
23
23
|
readonly writeable: true;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
readonly
|
|
27
|
-
readonly secret: false;
|
|
24
|
+
}>;
|
|
25
|
+
options: {
|
|
26
|
+
readonly internal: true;
|
|
28
27
|
readonly minVersion: 1;
|
|
28
|
+
readonly secret: false;
|
|
29
|
+
readonly stateful: true;
|
|
29
30
|
readonly supportsEndpoints: true;
|
|
30
31
|
readonly autoCreate: true;
|
|
31
|
-
readonly internal: true;
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
37
|
-
property: "
|
|
34
|
+
firmwareUpgradable: {
|
|
35
|
+
id: {
|
|
36
|
+
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
37
|
+
readonly property: "firmwareUpgradable";
|
|
38
38
|
};
|
|
39
|
-
|
|
39
|
+
endpoint: (endpoint?: number) => {
|
|
40
40
|
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
41
41
|
readonly endpoint: number;
|
|
42
|
-
readonly property: "
|
|
42
|
+
readonly property: "firmwareUpgradable";
|
|
43
43
|
};
|
|
44
|
-
|
|
45
|
-
readonly meta: {
|
|
44
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
45
|
+
readonly meta: Readonly<{
|
|
46
46
|
readonly type: "any";
|
|
47
47
|
readonly readable: true;
|
|
48
48
|
readonly writeable: true;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
readonly
|
|
52
|
-
readonly secret: false;
|
|
49
|
+
}>;
|
|
50
|
+
options: {
|
|
51
|
+
readonly internal: true;
|
|
53
52
|
readonly minVersion: 1;
|
|
53
|
+
readonly secret: false;
|
|
54
|
+
readonly stateful: true;
|
|
54
55
|
readonly supportsEndpoints: true;
|
|
55
56
|
readonly autoCreate: true;
|
|
56
|
-
readonly internal: true;
|
|
57
57
|
};
|
|
58
58
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
62
|
-
property: "
|
|
59
|
+
additionalFirmwareIDs: {
|
|
60
|
+
id: {
|
|
61
|
+
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
62
|
+
readonly property: "additionalFirmwareIDs";
|
|
63
63
|
};
|
|
64
|
-
|
|
64
|
+
endpoint: (endpoint?: number) => {
|
|
65
65
|
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
66
66
|
readonly endpoint: number;
|
|
67
|
-
readonly property: "
|
|
67
|
+
readonly property: "additionalFirmwareIDs";
|
|
68
68
|
};
|
|
69
|
-
|
|
70
|
-
readonly meta: {
|
|
69
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
70
|
+
readonly meta: Readonly<{
|
|
71
71
|
readonly type: "any";
|
|
72
72
|
readonly readable: true;
|
|
73
73
|
readonly writeable: true;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
readonly
|
|
77
|
-
readonly secret: false;
|
|
74
|
+
}>;
|
|
75
|
+
options: {
|
|
76
|
+
readonly internal: true;
|
|
78
77
|
readonly minVersion: 1;
|
|
78
|
+
readonly secret: false;
|
|
79
|
+
readonly stateful: true;
|
|
79
80
|
readonly supportsEndpoints: true;
|
|
80
81
|
readonly autoCreate: true;
|
|
81
|
-
readonly internal: true;
|
|
82
82
|
};
|
|
83
83
|
};
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
87
|
-
property: "
|
|
84
|
+
continuesToFunction: {
|
|
85
|
+
id: {
|
|
86
|
+
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
87
|
+
readonly property: "continuesToFunction";
|
|
88
88
|
};
|
|
89
|
-
|
|
89
|
+
endpoint: (endpoint?: number) => {
|
|
90
90
|
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
91
91
|
readonly endpoint: number;
|
|
92
|
-
readonly property: "
|
|
92
|
+
readonly property: "continuesToFunction";
|
|
93
93
|
};
|
|
94
|
-
|
|
95
|
-
readonly meta: {
|
|
94
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
95
|
+
readonly meta: Readonly<{
|
|
96
96
|
readonly type: "any";
|
|
97
97
|
readonly readable: true;
|
|
98
98
|
readonly writeable: true;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
readonly
|
|
102
|
-
readonly secret: false;
|
|
99
|
+
}>;
|
|
100
|
+
options: {
|
|
101
|
+
readonly internal: true;
|
|
103
102
|
readonly minVersion: 1;
|
|
103
|
+
readonly secret: false;
|
|
104
|
+
readonly stateful: true;
|
|
104
105
|
readonly supportsEndpoints: true;
|
|
105
106
|
readonly autoCreate: true;
|
|
106
|
-
readonly internal: true;
|
|
107
107
|
};
|
|
108
108
|
};
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
112
|
-
property: "
|
|
109
|
+
supportsResuming: {
|
|
110
|
+
id: {
|
|
111
|
+
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
112
|
+
readonly property: "supportsResuming";
|
|
113
113
|
};
|
|
114
|
-
|
|
114
|
+
endpoint: (endpoint?: number) => {
|
|
115
115
|
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
116
116
|
readonly endpoint: number;
|
|
117
|
-
readonly property: "
|
|
117
|
+
readonly property: "supportsResuming";
|
|
118
118
|
};
|
|
119
|
-
|
|
120
|
-
readonly meta: {
|
|
119
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
120
|
+
readonly meta: Readonly<{
|
|
121
121
|
readonly type: "any";
|
|
122
122
|
readonly readable: true;
|
|
123
123
|
readonly writeable: true;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
readonly
|
|
127
|
-
readonly secret: false;
|
|
124
|
+
}>;
|
|
125
|
+
options: {
|
|
126
|
+
readonly internal: true;
|
|
128
127
|
readonly minVersion: 1;
|
|
128
|
+
readonly secret: false;
|
|
129
|
+
readonly stateful: true;
|
|
129
130
|
readonly supportsEndpoints: true;
|
|
130
131
|
readonly autoCreate: true;
|
|
131
|
-
readonly internal: true;
|
|
132
132
|
};
|
|
133
133
|
};
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
137
|
-
property: "
|
|
134
|
+
supportsNonSecureTransfer: {
|
|
135
|
+
id: {
|
|
136
|
+
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
137
|
+
readonly property: "supportsNonSecureTransfer";
|
|
138
138
|
};
|
|
139
|
-
|
|
139
|
+
endpoint: (endpoint?: number) => {
|
|
140
140
|
readonly commandClass: (typeof CommandClasses)["Firmware Update Meta Data"];
|
|
141
141
|
readonly endpoint: number;
|
|
142
|
-
readonly property: "
|
|
142
|
+
readonly property: "supportsNonSecureTransfer";
|
|
143
143
|
};
|
|
144
|
-
|
|
145
|
-
readonly meta: {
|
|
144
|
+
is: (valueId: import("@zwave-js/core/safe").ValueID) => boolean;
|
|
145
|
+
readonly meta: Readonly<{
|
|
146
146
|
readonly type: "any";
|
|
147
147
|
readonly readable: true;
|
|
148
148
|
readonly writeable: true;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
readonly
|
|
152
|
-
readonly secret: false;
|
|
149
|
+
}>;
|
|
150
|
+
options: {
|
|
151
|
+
readonly internal: true;
|
|
153
152
|
readonly minVersion: 1;
|
|
153
|
+
readonly secret: false;
|
|
154
|
+
readonly stateful: true;
|
|
154
155
|
readonly supportsEndpoints: true;
|
|
155
156
|
readonly autoCreate: true;
|
|
156
|
-
readonly internal: true;
|
|
157
157
|
};
|
|
158
158
|
};
|
|
159
159
|
}>;
|
|
@@ -170,6 +170,14 @@ export declare class FirmwareUpdateMetaDataCCAPI extends PhysicalCCAPI {
|
|
|
170
170
|
* should wait manually.
|
|
171
171
|
*/
|
|
172
172
|
requestUpdate(options: FirmwareUpdateMetaDataCCRequestGetOptions): Promise<FirmwareUpdateMetaDataCCRequestReport | undefined>;
|
|
173
|
+
/**
|
|
174
|
+
* Responds to a firmware update request
|
|
175
|
+
*/
|
|
176
|
+
respondToUpdateRequest(options: FirmwareUpdateMetaDataCCRequestReportOptions): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* Responds to a firmware download request
|
|
179
|
+
*/
|
|
180
|
+
respondToDownloadRequest(options: FirmwareUpdateMetaDataCCPrepareReportOptions): Promise<void>;
|
|
173
181
|
/**
|
|
174
182
|
* Sends a fragment of the new firmware to the device
|
|
175
183
|
*/
|
|
@@ -209,7 +217,7 @@ export declare class FirmwareUpdateMetaDataCCMetaDataReport extends FirmwareUpda
|
|
|
209
217
|
readonly supportsActivation: MaybeNotKnown<boolean>;
|
|
210
218
|
readonly supportsResuming?: MaybeNotKnown<boolean>;
|
|
211
219
|
readonly supportsNonSecureTransfer?: MaybeNotKnown<boolean>;
|
|
212
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
220
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
213
221
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
214
222
|
}
|
|
215
223
|
export declare class FirmwareUpdateMetaDataCCMetaDataGet extends FirmwareUpdateMetaDataCC {
|
|
@@ -225,6 +233,7 @@ export declare class FirmwareUpdateMetaDataCCRequestReport extends FirmwareUpdat
|
|
|
225
233
|
readonly status: FirmwareUpdateRequestStatus;
|
|
226
234
|
resume?: boolean;
|
|
227
235
|
nonSecureTransfer?: boolean;
|
|
236
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
228
237
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
229
238
|
}
|
|
230
239
|
export type FirmwareUpdateMetaDataCCRequestGetOptions = {
|
|
@@ -241,7 +250,7 @@ export type FirmwareUpdateMetaDataCCRequestGetOptions = {
|
|
|
241
250
|
}>;
|
|
242
251
|
export declare class FirmwareUpdateMetaDataCCRequestGet extends FirmwareUpdateMetaDataCC {
|
|
243
252
|
constructor(options: WithAddress<FirmwareUpdateMetaDataCCRequestGetOptions>);
|
|
244
|
-
static from(
|
|
253
|
+
static from(raw: CCRaw, ctx: CCParsingContext): FirmwareUpdateMetaDataCCRequestGet;
|
|
245
254
|
manufacturerId: number;
|
|
246
255
|
firmwareId: number;
|
|
247
256
|
checksum: number;
|
|
@@ -251,7 +260,7 @@ export declare class FirmwareUpdateMetaDataCCRequestGet extends FirmwareUpdateMe
|
|
|
251
260
|
hardwareVersion?: number;
|
|
252
261
|
resume?: boolean;
|
|
253
262
|
nonSecureTransfer?: boolean;
|
|
254
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
263
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
255
264
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
256
265
|
}
|
|
257
266
|
export interface FirmwareUpdateMetaDataCCGetOptions {
|
|
@@ -263,6 +272,7 @@ export declare class FirmwareUpdateMetaDataCCGet extends FirmwareUpdateMetaDataC
|
|
|
263
272
|
static from(raw: CCRaw, ctx: CCParsingContext): FirmwareUpdateMetaDataCCGet;
|
|
264
273
|
readonly numReports: number;
|
|
265
274
|
readonly reportNumber: number;
|
|
275
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
266
276
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
267
277
|
}
|
|
268
278
|
export interface FirmwareUpdateMetaDataCCReportOptions {
|
|
@@ -276,7 +286,7 @@ export declare class FirmwareUpdateMetaDataCCReport extends FirmwareUpdateMetaDa
|
|
|
276
286
|
isLast: boolean;
|
|
277
287
|
reportNumber: number;
|
|
278
288
|
firmwareData: Uint8Array;
|
|
279
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
289
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
280
290
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
281
291
|
}
|
|
282
292
|
export interface FirmwareUpdateMetaDataCCStatusReportOptions {
|
|
@@ -289,6 +299,7 @@ export declare class FirmwareUpdateMetaDataCCStatusReport extends FirmwareUpdate
|
|
|
289
299
|
readonly status: FirmwareUpdateStatus;
|
|
290
300
|
/** The wait time in seconds before the node becomes available for communication after the update */
|
|
291
301
|
readonly waitTime?: number;
|
|
302
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
292
303
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
293
304
|
}
|
|
294
305
|
export interface FirmwareUpdateMetaDataCCActivationReportOptions {
|
|
@@ -308,6 +319,7 @@ export declare class FirmwareUpdateMetaDataCCActivationReport extends FirmwareUp
|
|
|
308
319
|
readonly firmwareTarget: number;
|
|
309
320
|
readonly activationStatus: FirmwareUpdateActivationStatus;
|
|
310
321
|
readonly hardwareVersion?: number;
|
|
322
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
311
323
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
312
324
|
}
|
|
313
325
|
export interface FirmwareUpdateMetaDataCCActivationSetOptions {
|
|
@@ -319,13 +331,13 @@ export interface FirmwareUpdateMetaDataCCActivationSetOptions {
|
|
|
319
331
|
}
|
|
320
332
|
export declare class FirmwareUpdateMetaDataCCActivationSet extends FirmwareUpdateMetaDataCC {
|
|
321
333
|
constructor(options: WithAddress<FirmwareUpdateMetaDataCCActivationSetOptions>);
|
|
322
|
-
static from(
|
|
334
|
+
static from(raw: CCRaw, ctx: CCParsingContext): FirmwareUpdateMetaDataCCActivationSet;
|
|
323
335
|
manufacturerId: number;
|
|
324
336
|
firmwareId: number;
|
|
325
337
|
checksum: number;
|
|
326
338
|
firmwareTarget: number;
|
|
327
339
|
hardwareVersion?: number;
|
|
328
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
340
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
329
341
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
330
342
|
}
|
|
331
343
|
export interface FirmwareUpdateMetaDataCCPrepareReportOptions {
|
|
@@ -337,6 +349,7 @@ export declare class FirmwareUpdateMetaDataCCPrepareReport extends FirmwareUpdat
|
|
|
337
349
|
static from(raw: CCRaw, ctx: CCParsingContext): FirmwareUpdateMetaDataCCPrepareReport;
|
|
338
350
|
readonly status: FirmwareDownloadStatus;
|
|
339
351
|
readonly checksum: number;
|
|
352
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
340
353
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
341
354
|
}
|
|
342
355
|
export interface FirmwareUpdateMetaDataCCPrepareGetOptions {
|
|
@@ -348,13 +361,13 @@ export interface FirmwareUpdateMetaDataCCPrepareGetOptions {
|
|
|
348
361
|
}
|
|
349
362
|
export declare class FirmwareUpdateMetaDataCCPrepareGet extends FirmwareUpdateMetaDataCC {
|
|
350
363
|
constructor(options: WithAddress<FirmwareUpdateMetaDataCCPrepareGetOptions>);
|
|
351
|
-
static from(
|
|
364
|
+
static from(raw: CCRaw, ctx: CCParsingContext): FirmwareUpdateMetaDataCCPrepareGet;
|
|
352
365
|
manufacturerId: number;
|
|
353
366
|
firmwareId: number;
|
|
354
367
|
firmwareTarget: number;
|
|
355
368
|
fragmentSize: number;
|
|
356
369
|
hardwareVersion: number;
|
|
357
|
-
serialize(ctx: CCEncodingContext): Bytes
|
|
370
|
+
serialize(ctx: CCEncodingContext): Promise<Bytes>;
|
|
358
371
|
toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
|
|
359
372
|
}
|
|
360
373
|
//# sourceMappingURL=FirmwareUpdateMetaDataCC.d.ts.map
|