@zwave-js/cc 15.1.0 → 15.1.2
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 +7 -7
- package/build/cjs/cc/AlarmSensorCC.js +22 -23
- package/build/cjs/cc/AlarmSensorCC.js.map +3 -3
- package/build/cjs/cc/AssociationCC.d.ts +8 -9
- package/build/cjs/cc/AssociationCC.js +29 -29
- package/build/cjs/cc/AssociationCC.js.map +3 -3
- package/build/cjs/cc/AssociationGroupInfoCC.d.ts +7 -7
- package/build/cjs/cc/AssociationGroupInfoCC.js +31 -32
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +3 -3
- package/build/cjs/cc/BarrierOperatorCC.d.ts +8 -8
- package/build/cjs/cc/BarrierOperatorCC.js +35 -36
- package/build/cjs/cc/BarrierOperatorCC.js.map +3 -3
- package/build/cjs/cc/BasicCC.d.ts +4 -4
- package/build/cjs/cc/BasicCC.js +23 -24
- package/build/cjs/cc/BasicCC.js.map +3 -3
- package/build/cjs/cc/BatteryCC.d.ts +6 -8
- package/build/cjs/cc/BatteryCC.js +24 -28
- package/build/cjs/cc/BatteryCC.js.map +3 -3
- package/build/cjs/cc/BinarySensorCC.d.ts +5 -5
- package/build/cjs/cc/BinarySensorCC.js +20 -21
- package/build/cjs/cc/BinarySensorCC.js.map +3 -3
- package/build/cjs/cc/BinarySwitchCC._validateArgs.js +2 -2
- package/build/cjs/cc/BinarySwitchCC.d.ts +6 -6
- package/build/cjs/cc/BinarySwitchCC.js +26 -26
- package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
- package/build/cjs/cc/CRC16CC.d.ts +3 -3
- package/build/cjs/cc/CRC16CC.js +15 -15
- package/build/cjs/cc/CRC16CC.js.map +3 -3
- package/build/cjs/cc/CentralSceneCC.d.ts +8 -8
- package/build/cjs/cc/CentralSceneCC.js +23 -24
- package/build/cjs/cc/CentralSceneCC.js.map +3 -3
- package/build/cjs/cc/ClimateControlScheduleCC.d.ts +6 -6
- package/build/cjs/cc/ClimateControlScheduleCC.js +19 -20
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +3 -3
- package/build/cjs/cc/ClockCC.d.ts +3 -4
- package/build/cjs/cc/ClockCC.js +13 -14
- package/build/cjs/cc/ClockCC.js.map +3 -3
- package/build/cjs/cc/ColorSwitchCC.d.ts +3 -4
- package/build/cjs/cc/ColorSwitchCC.js +22 -24
- package/build/cjs/cc/ColorSwitchCC.js.map +3 -3
- package/build/cjs/cc/ConfigurationCC.d.ts +3 -3
- package/build/cjs/cc/ConfigurationCC.js +114 -115
- package/build/cjs/cc/ConfigurationCC.js.map +3 -3
- package/build/cjs/cc/DeviceResetLocallyCC.d.ts +2 -2
- package/build/cjs/cc/DeviceResetLocallyCC.js +5 -5
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/cjs/cc/DoorLockCC.d.ts +29 -29
- package/build/cjs/cc/DoorLockCC.js +39 -40
- package/build/cjs/cc/DoorLockCC.js.map +3 -3
- package/build/cjs/cc/DoorLockLoggingCC.d.ts +4 -4
- package/build/cjs/cc/DoorLockLoggingCC.js +13 -14
- package/build/cjs/cc/DoorLockLoggingCC.js.map +3 -3
- package/build/cjs/cc/EnergyProductionCC.d.ts +2 -3
- package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
- package/build/cjs/cc/EntryControlCC.d.ts +8 -8
- package/build/cjs/cc/EntryControlCC.js +41 -42
- package/build/cjs/cc/EntryControlCC.js.map +3 -3
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +9 -10
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +52 -53
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +3 -3
- package/build/cjs/cc/HailCC.js +2 -2
- package/build/cjs/cc/HailCC.js.map +1 -1
- package/build/cjs/cc/HumidityControlModeCC.d.ts +5 -5
- package/build/cjs/cc/HumidityControlModeCC.js +20 -21
- package/build/cjs/cc/HumidityControlModeCC.js.map +3 -3
- package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +3 -3
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +9 -9
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +3 -3
- package/build/cjs/cc/HumidityControlSetpointCC.d.ts +6 -6
- package/build/cjs/cc/HumidityControlSetpointCC.js +43 -44
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +3 -3
- package/build/cjs/cc/InclusionControllerCC.d.ts +2 -3
- package/build/cjs/cc/InclusionControllerCC.js.map +2 -2
- package/build/cjs/cc/IndicatorCC.d.ts +3 -3
- package/build/cjs/cc/IndicatorCC.js +50 -52
- package/build/cjs/cc/IndicatorCC.js.map +3 -3
- package/build/cjs/cc/IrrigationCC.d.ts +3 -3
- package/build/cjs/cc/IrrigationCC.js +74 -75
- package/build/cjs/cc/IrrigationCC.js.map +3 -3
- package/build/cjs/cc/LanguageCC.d.ts +5 -6
- package/build/cjs/cc/LanguageCC.js +14 -15
- package/build/cjs/cc/LanguageCC.js.map +3 -3
- package/build/cjs/cc/LockCC.d.ts +4 -4
- package/build/cjs/cc/LockCC.js +10 -10
- package/build/cjs/cc/LockCC.js.map +3 -3
- package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +4 -3
- package/build/cjs/cc/ManufacturerProprietaryCC.js +14 -12
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +3 -3
- package/build/cjs/cc/ManufacturerSpecificCC.d.ts +7 -8
- package/build/cjs/cc/ManufacturerSpecificCC.js +20 -21
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +3 -3
- package/build/cjs/cc/MeterCC.d.ts +4 -6
- package/build/cjs/cc/MeterCC.js +52 -54
- package/build/cjs/cc/MeterCC.js.map +3 -3
- package/build/cjs/cc/MultiChannelAssociationCC.d.ts +7 -8
- package/build/cjs/cc/MultiChannelAssociationCC.js +34 -35
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +3 -3
- package/build/cjs/cc/MultiChannelCC.d.ts +13 -12
- package/build/cjs/cc/MultiChannelCC.js +104 -56
- package/build/cjs/cc/MultiChannelCC.js.map +3 -3
- package/build/cjs/cc/MultiCommandCC.d.ts +3 -3
- package/build/cjs/cc/MultiCommandCC.js +13 -13
- package/build/cjs/cc/MultiCommandCC.js.map +3 -3
- package/build/cjs/cc/MultilevelSensorCC.d.ts +4 -7
- package/build/cjs/cc/MultilevelSensorCC.js +26 -28
- package/build/cjs/cc/MultilevelSensorCC.js.map +3 -3
- package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js +3 -3
- package/build/cjs/cc/MultilevelSwitchCC.d.ts +13 -13
- package/build/cjs/cc/MultilevelSwitchCC.js +36 -37
- package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
- package/build/cjs/cc/NoOperationCC.js +4 -4
- package/build/cjs/cc/NoOperationCC.js.map +1 -1
- package/build/cjs/cc/NodeNamingCC.d.ts +5 -5
- package/build/cjs/cc/NodeNamingCC.js +20 -20
- package/build/cjs/cc/NodeNamingCC.js.map +3 -3
- package/build/cjs/cc/NotificationCC.d.ts +4 -5
- package/build/cjs/cc/NotificationCC.js +66 -68
- package/build/cjs/cc/NotificationCC.js.map +3 -3
- package/build/cjs/cc/PowerlevelCC.d.ts +3 -3
- package/build/cjs/cc/PowerlevelCC.js +25 -26
- package/build/cjs/cc/PowerlevelCC.js.map +3 -3
- package/build/cjs/cc/ProtectionCC._validateArgs.js +2 -2
- package/build/cjs/cc/ProtectionCC.d.ts +11 -11
- package/build/cjs/cc/ProtectionCC.js +35 -36
- package/build/cjs/cc/ProtectionCC.js.map +3 -3
- package/build/cjs/cc/SceneActivationCC._validateArgs.js +2 -2
- package/build/cjs/cc/SceneActivationCC.d.ts +5 -6
- package/build/cjs/cc/SceneActivationCC.js +10 -10
- package/build/cjs/cc/SceneActivationCC.js.map +3 -3
- package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js +2 -2
- package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +5 -5
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +19 -20
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +3 -3
- package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js +2 -2
- package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +6 -6
- package/build/cjs/cc/SceneControllerConfigurationCC.js +25 -26
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +3 -3
- package/build/cjs/cc/ScheduleEntryLockCC.d.ts +2 -3
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
- package/build/cjs/cc/Security2CC.d.ts +3 -4
- package/build/cjs/cc/Security2CC.js +60 -62
- package/build/cjs/cc/Security2CC.js.map +3 -3
- package/build/cjs/cc/SecurityCC.d.ts +3 -4
- package/build/cjs/cc/SecurityCC.js +25 -26
- package/build/cjs/cc/SecurityCC.js.map +3 -3
- package/build/cjs/cc/SoundSwitchCC.d.ts +7 -7
- package/build/cjs/cc/SoundSwitchCC.js +28 -29
- package/build/cjs/cc/SoundSwitchCC.js.map +3 -3
- package/build/cjs/cc/SupervisionCC.d.ts +4 -4
- package/build/cjs/cc/SupervisionCC.js +28 -29
- package/build/cjs/cc/SupervisionCC.js.map +3 -3
- package/build/cjs/cc/ThermostatFanModeCC.d.ts +6 -6
- package/build/cjs/cc/ThermostatFanModeCC.js +21 -22
- package/build/cjs/cc/ThermostatFanModeCC.js.map +3 -3
- package/build/cjs/cc/ThermostatFanStateCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatFanStateCC.js +9 -9
- package/build/cjs/cc/ThermostatFanStateCC.js.map +3 -3
- package/build/cjs/cc/ThermostatModeCC.d.ts +6 -6
- package/build/cjs/cc/ThermostatModeCC.js +30 -31
- package/build/cjs/cc/ThermostatModeCC.js.map +3 -3
- package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +3 -4
- package/build/cjs/cc/ThermostatOperatingStateCC.js +9 -9
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +3 -3
- package/build/cjs/cc/ThermostatSetbackCC.d.ts +3 -3
- package/build/cjs/cc/ThermostatSetbackCC.js +14 -15
- package/build/cjs/cc/ThermostatSetbackCC.js.map +3 -3
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +6 -6
- package/build/cjs/cc/ThermostatSetpointCC.js +48 -49
- package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
- package/build/cjs/cc/TimeCC.d.ts +3 -4
- package/build/cjs/cc/TimeCC.js +9 -10
- package/build/cjs/cc/TimeCC.js.map +3 -3
- package/build/cjs/cc/TimeParametersCC.d.ts +3 -4
- package/build/cjs/cc/TimeParametersCC.js +2 -2
- package/build/cjs/cc/TimeParametersCC.js.map +2 -2
- package/build/cjs/cc/TransportServiceCC.d.ts +3 -3
- package/build/cjs/cc/TransportServiceCC.js +44 -45
- package/build/cjs/cc/TransportServiceCC.js.map +3 -3
- package/build/cjs/cc/UserCodeCC.d.ts +19 -19
- package/build/cjs/cc/UserCodeCC.js +102 -103
- package/build/cjs/cc/UserCodeCC.js.map +3 -3
- package/build/cjs/cc/VersionCC.d.ts +17 -17
- package/build/cjs/cc/VersionCC.js +46 -47
- package/build/cjs/cc/VersionCC.js.map +3 -3
- package/build/cjs/cc/WakeUpCC.d.ts +6 -6
- package/build/cjs/cc/WakeUpCC.js +16 -17
- package/build/cjs/cc/WakeUpCC.js.map +3 -3
- package/build/cjs/cc/WindowCoveringCC.d.ts +3 -4
- package/build/cjs/cc/WindowCoveringCC.js +17 -18
- package/build/cjs/cc/WindowCoveringCC.js.map +3 -3
- package/build/cjs/cc/ZWavePlusCC.d.ts +8 -8
- package/build/cjs/cc/ZWavePlusCC.js +15 -16
- package/build/cjs/cc/ZWavePlusCC.js.map +3 -3
- package/build/cjs/cc/ZWaveProtocolCC.d.ts +2 -2
- package/build/cjs/cc/ZWaveProtocolCC.js +35 -35
- package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
- package/build/cjs/cc/_CCValues.generated.d.ts +2 -0
- package/build/cjs/cc/_CCValues.generated.js +28 -27
- package/build/cjs/cc/_CCValues.generated.js.map +3 -3
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +14 -14
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/cjs/lib/API.d.ts +3 -3
- package/build/cjs/lib/API.js.map +2 -2
- package/build/cjs/lib/CommandClass.d.ts +5 -6
- package/build/cjs/lib/CommandClass.js +45 -45
- package/build/cjs/lib/CommandClass.js.map +3 -3
- package/build/cjs/lib/CommandClassDecorators.d.ts +2 -2
- package/build/cjs/lib/CommandClassDecorators.js +3 -3
- package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
- package/build/cjs/lib/Security2/Extension.d.ts +2 -2
- package/build/cjs/lib/Security2/Extension.js +17 -17
- package/build/cjs/lib/Security2/Extension.js.map +3 -3
- package/build/cjs/lib/SetValueResult.d.ts +1 -1
- package/build/cjs/lib/SetValueResult.js.map +1 -1
- package/build/cjs/lib/Values.d.ts +3 -3
- package/build/cjs/lib/Values.js +6 -6
- package/build/cjs/lib/Values.js.map +2 -2
- package/build/cjs/lib/_Types.d.ts +2 -2
- package/build/cjs/lib/_Types.js +3 -3
- package/build/cjs/lib/_Types.js.map +1 -1
- package/build/cjs/lib/serializers.d.ts +1 -1
- package/build/cjs/lib/serializers.js +5 -5
- package/build/cjs/lib/serializers.js.map +2 -2
- package/build/cjs/lib/traits.d.ts +2 -2
- package/build/cjs/lib/utils.d.ts +2 -2
- package/build/cjs/lib/utils.js +60 -60
- package/build/cjs/lib/utils.js.map +3 -3
- package/build/esm/cc/AlarmSensorCC.d.ts +7 -7
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +2 -3
- package/build/esm/cc/AlarmSensorCC.js.map +1 -1
- package/build/esm/cc/AssociationCC.d.ts +8 -9
- package/build/esm/cc/AssociationCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.js +2 -2
- package/build/esm/cc/AssociationCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.d.ts +7 -7
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.js +2 -3
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.d.ts +8 -8
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.js +2 -3
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC.d.ts +4 -4
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +2 -3
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts +6 -8
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +13 -15
- package/build/esm/cc/BatteryCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC.d.ts +5 -5
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.js +2 -3
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.js +1 -1
- package/build/esm/cc/BinarySwitchCC._validateArgs.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts +6 -6
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +2 -2
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CRC16CC.d.ts +3 -3
- package/build/esm/cc/CRC16CC.d.ts.map +1 -1
- package/build/esm/cc/CRC16CC.js +2 -2
- package/build/esm/cc/CRC16CC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts +8 -8
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.js +2 -3
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.d.ts +6 -6
- package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.js +2 -3
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/esm/cc/ClockCC.d.ts +3 -4
- package/build/esm/cc/ClockCC.d.ts.map +1 -1
- package/build/esm/cc/ClockCC.js +2 -3
- package/build/esm/cc/ClockCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC.d.ts +3 -4
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.js +2 -4
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC.d.ts +3 -3
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +2 -3
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts +2 -2
- package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts +29 -29
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.js +2 -3
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.d.ts +4 -4
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.js +2 -3
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC.d.ts +2 -3
- package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts +8 -8
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +2 -3
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +9 -10
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +2 -3
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HailCC.js +1 -1
- package/build/esm/cc/HailCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.d.ts +5 -5
- package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.js +2 -3
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +3 -3
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js +2 -2
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts +6 -6
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +2 -3
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/InclusionControllerCC.d.ts +2 -3
- package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
- package/build/esm/cc/InclusionControllerCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC.d.ts +3 -3
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.js +2 -4
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC.d.ts +3 -3
- package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.js +2 -3
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts +5 -6
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +2 -3
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC.d.ts +4 -4
- package/build/esm/cc/LockCC.d.ts.map +1 -1
- package/build/esm/cc/LockCC.js +2 -2
- package/build/esm/cc/LockCC.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts +4 -3
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.js +5 -3
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts +7 -8
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +2 -3
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC.d.ts +4 -6
- package/build/esm/cc/MeterCC.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.js +2 -4
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.d.ts +7 -8
- package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.js +2 -3
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts +13 -12
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +65 -16
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultiCommandCC.d.ts +3 -3
- package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
- package/build/esm/cc/MultiCommandCC.js +2 -2
- package/build/esm/cc/MultiCommandCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.d.ts +4 -7
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.js +2 -4
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.js +1 -1
- package/build/esm/cc/MultilevelSwitchCC._validateArgs.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts +13 -13
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +2 -3
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NoOperationCC.js +1 -1
- package/build/esm/cc/NoOperationCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts +5 -5
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +2 -2
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts +4 -5
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +2 -4
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts +3 -3
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/esm/cc/PowerlevelCC.js +2 -3
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC._validateArgs.js +1 -1
- package/build/esm/cc/ProtectionCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts +11 -11
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.js +2 -3
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.js +1 -1
- package/build/esm/cc/SceneActivationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SceneActivationCC.d.ts +5 -6
- package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.js +2 -2
- package/build/esm/cc/SceneActivationCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +5 -5
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.js +2 -3
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts +6 -6
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +2 -3
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts +2 -3
- package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts +3 -4
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +2 -4
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts +3 -4
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +1 -2
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts +7 -7
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +2 -3
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/SupervisionCC.d.ts +4 -4
- package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
- package/build/esm/cc/SupervisionCC.js +2 -3
- package/build/esm/cc/SupervisionCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.d.ts +6 -6
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.js +2 -3
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.d.ts +3 -3
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.js +2 -2
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts +6 -6
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.js +2 -3
- package/build/esm/cc/ThermostatModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts +3 -4
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.js +2 -2
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.d.ts +3 -3
- package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.js +2 -3
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts +6 -6
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +2 -3
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC.d.ts +3 -4
- package/build/esm/cc/TimeCC.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.js +1 -2
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC.d.ts +3 -4
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.js +1 -1
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/TransportServiceCC.d.ts +3 -3
- package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
- package/build/esm/cc/TransportServiceCC.js +2 -3
- package/build/esm/cc/TransportServiceCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts +19 -19
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.js +2 -3
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/VersionCC.d.ts +17 -17
- package/build/esm/cc/VersionCC.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.js +2 -3
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC.d.ts +6 -6
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.js +2 -3
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts +3 -4
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +1 -2
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts +8 -8
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.js +2 -3
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.d.ts +2 -2
- package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/esm/cc/_CCValues.generated.d.ts +2 -0
- package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
- package/build/esm/cc/_CCValues.generated.js +5 -4
- package/build/esm/cc/_CCValues.generated.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/esm/lib/API.d.ts +3 -3
- package/build/esm/lib/API.d.ts.map +1 -1
- package/build/esm/lib/API.js.map +1 -1
- package/build/esm/lib/CommandClass.d.ts +5 -6
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js +2 -2
- package/build/esm/lib/CommandClass.js.map +1 -1
- package/build/esm/lib/CommandClassDecorators.d.ts +2 -2
- 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/Security2/Extension.d.ts +2 -2
- package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
- package/build/esm/lib/Security2/Extension.js +2 -2
- package/build/esm/lib/Security2/Extension.js.map +1 -1
- package/build/esm/lib/SetValueResult.d.ts +1 -1
- package/build/esm/lib/SetValueResult.d.ts.map +1 -1
- package/build/esm/lib/Values.d.ts +3 -3
- package/build/esm/lib/Values.d.ts.map +1 -1
- package/build/esm/lib/Values.js +1 -1
- package/build/esm/lib/Values.js.map +1 -1
- package/build/esm/lib/_Types.d.ts +2 -2
- package/build/esm/lib/_Types.d.ts.map +1 -1
- package/build/esm/lib/_Types.js +1 -1
- package/build/esm/lib/_Types.js.map +1 -1
- package/build/esm/lib/serializers.d.ts +1 -1
- package/build/esm/lib/serializers.d.ts.map +1 -1
- package/build/esm/lib/serializers.js +1 -1
- package/build/esm/lib/serializers.js.map +1 -1
- package/build/esm/lib/traits.d.ts +2 -2
- package/build/esm/lib/traits.d.ts.map +1 -1
- 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 +2 -2
- package/build/esm/lib/utils.js.map +1 -1
- package/package.json +6 -6
|
@@ -38,9 +38,8 @@ __export(LanguageCC_exports, {
|
|
|
38
38
|
});
|
|
39
39
|
module.exports = __toCommonJS(LanguageCC_exports);
|
|
40
40
|
var __validateArgs = __toESM(require("./LanguageCC._validateArgs.js"), 1);
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var import_safe3 = require("@zwave-js/shared/safe");
|
|
41
|
+
var import_core = require("@zwave-js/core");
|
|
42
|
+
var import_shared = require("@zwave-js/shared");
|
|
44
43
|
var import_API = require("../lib/API.js");
|
|
45
44
|
var import_CommandClass = require("../lib/CommandClass.js");
|
|
46
45
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
@@ -89,7 +88,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
|
|
|
89
88
|
};
|
|
90
89
|
const { validateArgs_LanguageCCAPI_set } = __validateArgs;
|
|
91
90
|
let LanguageCCAPI = (() => {
|
|
92
|
-
let _classDecorators = [(0, import_CommandClassDecorators.API)(
|
|
91
|
+
let _classDecorators = [(0, import_CommandClassDecorators.API)(import_core.CommandClasses.Language)];
|
|
93
92
|
let _classDescriptor;
|
|
94
93
|
let _classExtraInitializers = [];
|
|
95
94
|
let _classThis;
|
|
@@ -130,7 +129,7 @@ let LanguageCCAPI = (() => {
|
|
|
130
129
|
});
|
|
131
130
|
const response = await this.host.sendCommand(cc, this.commandOptions);
|
|
132
131
|
if (response) {
|
|
133
|
-
return (0,
|
|
132
|
+
return (0, import_shared.pick)(response, ["language", "country"]);
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
135
|
async set(language, country) {
|
|
@@ -151,7 +150,7 @@ let LanguageCCAPI = (() => {
|
|
|
151
150
|
return LanguageCCAPI2 = _classThis;
|
|
152
151
|
})();
|
|
153
152
|
let LanguageCC = (() => {
|
|
154
|
-
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(
|
|
153
|
+
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_core.CommandClasses.Language), (0, import_CommandClassDecorators.implementedVersion)(1), (0, import_CommandClassDecorators.ccValues)(import_CCValues_generated.LanguageCCValues)];
|
|
155
154
|
let _classDescriptor;
|
|
156
155
|
let _classExtraInitializers = [];
|
|
157
156
|
let _classThis;
|
|
@@ -183,8 +182,8 @@ let LanguageCC = (() => {
|
|
|
183
182
|
async refreshValues(ctx) {
|
|
184
183
|
const node = this.getNode(ctx);
|
|
185
184
|
const endpoint = this.getEndpoint(ctx);
|
|
186
|
-
const api = import_API.CCAPI.create(
|
|
187
|
-
priority:
|
|
185
|
+
const api = import_API.CCAPI.create(import_core.CommandClasses.Language, ctx, endpoint).withOptions({
|
|
186
|
+
priority: import_core.MessagePriority.NodeQuery
|
|
188
187
|
});
|
|
189
188
|
ctx.logNode(node.id, {
|
|
190
189
|
message: "requesting language setting...",
|
|
@@ -229,7 +228,7 @@ let LanguageCCSet = (() => {
|
|
|
229
228
|
this._country = options.country;
|
|
230
229
|
}
|
|
231
230
|
static from(_raw, _ctx) {
|
|
232
|
-
throw new
|
|
231
|
+
throw new import_core.ZWaveError(`${this.name}: deserialization not implemented`, import_core.ZWaveErrorCodes.Deserialization_NotImplemented);
|
|
233
232
|
}
|
|
234
233
|
_language;
|
|
235
234
|
get language() {
|
|
@@ -237,7 +236,7 @@ let LanguageCCSet = (() => {
|
|
|
237
236
|
}
|
|
238
237
|
set language(value) {
|
|
239
238
|
if (value.length !== 3 || value.toLowerCase() !== value) {
|
|
240
|
-
throw new
|
|
239
|
+
throw new import_core.ZWaveError("language must be a 3 digit (lowercase) code according to ISO 639-2", import_core.ZWaveErrorCodes.Argument_Invalid);
|
|
241
240
|
}
|
|
242
241
|
this._language = value;
|
|
243
242
|
}
|
|
@@ -247,16 +246,16 @@ let LanguageCCSet = (() => {
|
|
|
247
246
|
}
|
|
248
247
|
set country(value) {
|
|
249
248
|
if (typeof value === "string" && (value.length !== 2 || value.toUpperCase() !== value)) {
|
|
250
|
-
throw new
|
|
249
|
+
throw new import_core.ZWaveError("country must be a 2 digit (uppercase) code according to ISO 3166-1", import_core.ZWaveErrorCodes.Argument_Invalid);
|
|
251
250
|
}
|
|
252
251
|
this._country = value;
|
|
253
252
|
}
|
|
254
253
|
serialize(ctx) {
|
|
255
|
-
this.payload =
|
|
254
|
+
this.payload = import_shared.Bytes.from(this._language, "ascii");
|
|
256
255
|
if (this._country) {
|
|
257
|
-
this.payload =
|
|
256
|
+
this.payload = import_shared.Bytes.concat([
|
|
258
257
|
this.payload,
|
|
259
|
-
|
|
258
|
+
import_shared.Bytes.from(this._country, "ascii")
|
|
260
259
|
]);
|
|
261
260
|
}
|
|
262
261
|
return super.serialize(ctx);
|
|
@@ -300,7 +299,7 @@ let LanguageCCReport = (() => {
|
|
|
300
299
|
this.country = options.country;
|
|
301
300
|
}
|
|
302
301
|
static from(raw, ctx) {
|
|
303
|
-
(0,
|
|
302
|
+
(0, import_core.validatePayload)(raw.payload.length >= 3);
|
|
304
303
|
const language = raw.payload.subarray(0, 3).toString("ascii");
|
|
305
304
|
let country;
|
|
306
305
|
if (raw.payload.length >= 5) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/LanguageCC.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["import type { CCEncodingContext, 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\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes, pick } from \"@zwave-js/shared\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { CCAPI } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\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 { LanguageCommand } from \"../lib/_Types.js\";\n\nexport const LanguageCCValues = V.defineCCValues(CommandClasses.Language, {\n\t...V.staticProperty(\n\t\t\"language\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Language code\",\n\t\t} as const,\n\t),\n\t...V.staticProperty(\n\t\t\"country\",\n\t\t{\n\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\tlabel: \"Country code\",\n\t\t} as const,\n\t),\n});\n\n// @noSetValueAPI It doesn't make sense\n\n@API(CommandClasses.Language)\nexport class LanguageCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: LanguageCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase LanguageCommand.Get:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase LanguageCommand.Set:\n\t\t\t\treturn true; // This is mandatory\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 get() {\n\t\tthis.assertSupportsCommand(LanguageCommand, LanguageCommand.Get);\n\n\t\tconst cc = new LanguageCCGet({\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<LanguageCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"language\", \"country\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\tlanguage: string,\n\t\tcountry?: string,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(LanguageCommand, LanguageCommand.Set);\n\n\t\tconst cc = new LanguageCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tlanguage,\n\t\t\tcountry,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses.Language)\n@implementedVersion(1)\n@ccValues(LanguageCCValues)\nexport class LanguageCC extends CommandClass {\n\tdeclare ccCommand: LanguageCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\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\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.Language,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"requesting language setting...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst resp = await api.get();\n\t\tif (resp) {\n\t\t\tconst { language, country } = resp;\n\t\t\tconst logMessage = `received current language setting: ${language}${\n\t\t\t\tcountry != undefined ? `-${country}` : \"\"\n\t\t\t}`;\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface LanguageCCSetOptions {\n\tlanguage: string;\n\tcountry?: string;\n}\n\n@CCCommand(LanguageCommand.Set)\n@useSupervision()\nexport class LanguageCCSet extends LanguageCC {\n\tpublic constructor(\n\t\toptions: WithAddress<LanguageCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\t// Populate properties from options object\n\t\tthis._language = options.language;\n\t\tthis._country = options.country;\n\t}\n\n\tpublic static from(_raw: CCRaw, _ctx: CCParsingContext): LanguageCCSet {\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 LanguageCCSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tprivate _language: string;\n\tpublic get language(): string {\n\t\treturn this._language;\n\t}\n\tpublic set language(value: string) {\n\t\tif (value.length !== 3 || value.toLowerCase() !== value) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t\"language must be a 3 digit (lowercase) code according to ISO 639-2\",\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis._language = value;\n\t}\n\n\tprivate _country: MaybeNotKnown<string>;\n\tpublic get country(): MaybeNotKnown<string> {\n\t\treturn this._country;\n\t}\n\tpublic set country(value: MaybeNotKnown<string>) {\n\t\tif (\n\t\t\ttypeof value === \"string\"\n\t\t\t&& (value.length !== 2 || value.toUpperCase() !== value)\n\t\t) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t\"country must be a 2 digit (uppercase) code according to ISO 3166-1\",\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis._country = value;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from(this._language, \"ascii\");\n\t\tif (this._country) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tBytes.from(this._country, \"ascii\"),\n\t\t\t]);\n\t\t}\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = { language: this.language };\n\t\tif (this._country != undefined) {\n\t\t\tmessage.country = this._country;\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 LanguageCCReportOptions {\n\tlanguage: string;\n\tcountry: MaybeNotKnown<string>;\n}\n\n@CCCommand(LanguageCommand.Report)\n@ccValueProperty(\"language\", LanguageCCValues.language)\n@ccValueProperty(\"country\", LanguageCCValues.country)\nexport class LanguageCCReport extends LanguageCC {\n\tpublic constructor(\n\t\toptions: WithAddress<LanguageCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.language = options.language;\n\t\tthis.country = options.country;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): LanguageCCReport {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst language = raw.payload.subarray(0, 3).toString(\"ascii\");\n\t\tlet country: MaybeNotKnown<string>;\n\t\tif (raw.payload.length >= 5) {\n\t\t\tcountry = raw.payload.subarray(3, 5).toString(\"ascii\");\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tlanguage,\n\t\t\tcountry,\n\t\t});\n\t}\n\n\tpublic readonly language: string;\n\n\tpublic readonly country: MaybeNotKnown<string>;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = { language: this.language };\n\t\tif (this.country != undefined) {\n\t\t\tmessage.country = this.country;\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@CCCommand(LanguageCommand.Get)\n@expectedCCResponse(LanguageCCReport)\nexport class LanguageCCGet extends LanguageCC {}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/build/cjs/cc/LockCC.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, type WithAddress } from "@zwave-js/core
|
|
3
|
-
import { Bytes } from "@zwave-js/shared
|
|
1
|
+
import type { CCEncodingContext, CCParsingContext } from "@zwave-js/cc";
|
|
2
|
+
import { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, type WithAddress } from "@zwave-js/core";
|
|
3
|
+
import { Bytes } from "@zwave-js/shared";
|
|
4
4
|
import { POLL_VALUE, PhysicalCCAPI, type PollValueImplementation, SET_VALUE, type SetValueImplementation } from "../lib/API.js";
|
|
5
5
|
import { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext } from "../lib/CommandClass.js";
|
|
6
6
|
import { LockCommand } from "../lib/_Types.js";
|
|
@@ -15,7 +15,7 @@ export declare const LockCCValues: Readonly<{
|
|
|
15
15
|
readonly endpoint: number;
|
|
16
16
|
readonly property: "locked";
|
|
17
17
|
};
|
|
18
|
-
is: (valueId: import("@zwave-js/core
|
|
18
|
+
is: (valueId: import("@zwave-js/core").ValueID) => boolean;
|
|
19
19
|
readonly meta: {
|
|
20
20
|
readonly label: "Locked";
|
|
21
21
|
readonly description: "Whether the lock is locked";
|
package/build/cjs/cc/LockCC.js
CHANGED
|
@@ -38,8 +38,8 @@ __export(LockCC_exports, {
|
|
|
38
38
|
});
|
|
39
39
|
module.exports = __toCommonJS(LockCC_exports);
|
|
40
40
|
var __validateArgs = __toESM(require("./LockCC._validateArgs.js"), 1);
|
|
41
|
-
var
|
|
42
|
-
var
|
|
41
|
+
var import_core = require("@zwave-js/core");
|
|
42
|
+
var import_shared = require("@zwave-js/shared");
|
|
43
43
|
var import_API = require("../lib/API.js");
|
|
44
44
|
var import_CommandClass = require("../lib/CommandClass.js");
|
|
45
45
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
@@ -88,7 +88,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
|
|
|
88
88
|
};
|
|
89
89
|
const { validateArgs_LockCCAPI_set } = __validateArgs;
|
|
90
90
|
let LockCCAPI = (() => {
|
|
91
|
-
let _classDecorators = [(0, import_CommandClassDecorators.API)(
|
|
91
|
+
let _classDecorators = [(0, import_CommandClassDecorators.API)(import_core.CommandClasses.Lock)];
|
|
92
92
|
let _classDescriptor;
|
|
93
93
|
let _classExtraInitializers = [];
|
|
94
94
|
let _classThis;
|
|
@@ -149,7 +149,7 @@ let LockCCAPI = (() => {
|
|
|
149
149
|
(0, import_API.throwWrongValueType)(this.ccId, property, "boolean", typeof value);
|
|
150
150
|
}
|
|
151
151
|
const result = await this.set(value);
|
|
152
|
-
if (!(0,
|
|
152
|
+
if (!(0, import_core.supervisedCommandSucceeded)(result)) {
|
|
153
153
|
this.schedulePoll({ property }, value);
|
|
154
154
|
}
|
|
155
155
|
return result;
|
|
@@ -170,7 +170,7 @@ let LockCCAPI = (() => {
|
|
|
170
170
|
return LockCCAPI2 = _classThis;
|
|
171
171
|
})();
|
|
172
172
|
let LockCC = (() => {
|
|
173
|
-
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(
|
|
173
|
+
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_core.CommandClasses.Lock), (0, import_CommandClassDecorators.implementedVersion)(1), (0, import_CommandClassDecorators.ccValues)(import_CCValues_generated.LockCCValues)];
|
|
174
174
|
let _classDescriptor;
|
|
175
175
|
let _classExtraInitializers = [];
|
|
176
176
|
let _classThis;
|
|
@@ -202,8 +202,8 @@ let LockCC = (() => {
|
|
|
202
202
|
async refreshValues(ctx) {
|
|
203
203
|
const node = this.getNode(ctx);
|
|
204
204
|
const endpoint = this.getEndpoint(ctx);
|
|
205
|
-
const api = import_API.CCAPI.create(
|
|
206
|
-
priority:
|
|
205
|
+
const api = import_API.CCAPI.create(import_core.CommandClasses.Lock, ctx, endpoint).withOptions({
|
|
206
|
+
priority: import_core.MessagePriority.NodeQuery
|
|
207
207
|
});
|
|
208
208
|
ctx.logNode(node.id, {
|
|
209
209
|
message: "requesting current lock state...",
|
|
@@ -244,11 +244,11 @@ let LockCCSet = (() => {
|
|
|
244
244
|
this.locked = options.locked;
|
|
245
245
|
}
|
|
246
246
|
static from(_raw, _ctx) {
|
|
247
|
-
throw new
|
|
247
|
+
throw new import_core.ZWaveError(`${this.name}: deserialization not implemented`, import_core.ZWaveErrorCodes.Deserialization_NotImplemented);
|
|
248
248
|
}
|
|
249
249
|
locked;
|
|
250
250
|
serialize(ctx) {
|
|
251
|
-
this.payload =
|
|
251
|
+
this.payload = import_shared.Bytes.from([this.locked ? 1 : 0]);
|
|
252
252
|
return super.serialize(ctx);
|
|
253
253
|
}
|
|
254
254
|
toLogEntry(ctx) {
|
|
@@ -285,7 +285,7 @@ let LockCCReport = (() => {
|
|
|
285
285
|
this.locked = options.locked;
|
|
286
286
|
}
|
|
287
287
|
static from(raw, ctx) {
|
|
288
|
-
(0,
|
|
288
|
+
(0, import_core.validatePayload)(raw.payload.length >= 1);
|
|
289
289
|
const locked = raw.payload[0] === 1;
|
|
290
290
|
return new this({
|
|
291
291
|
nodeId: ctx.sourceNodeId,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/LockCC.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kBAaO;AACP,
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\tMessagePriority,\n\ttype SupervisionResult,\n\tValueMetadata,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tsupervisedCommandSucceeded,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes } from \"@zwave-js/shared\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport {\n\tCCAPI,\n\tPOLL_VALUE,\n\tPhysicalCCAPI,\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 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 { LockCommand } from \"../lib/_Types.js\";\n\nexport const LockCCValues = V.defineCCValues(CommandClasses.Lock, {\n\t...V.staticProperty(\n\t\t\"locked\",\n\t\t{\n\t\t\t...ValueMetadata.Boolean,\n\t\t\tlabel: \"Locked\",\n\t\t\tdescription: \"Whether the lock is locked\",\n\t\t} as const,\n\t),\n});\n\n@API(CommandClasses.Lock)\nexport class LockCCAPI extends PhysicalCCAPI {\n\tpublic supportsCommand(cmd: LockCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase LockCommand.Get:\n\t\t\tcase LockCommand.Set:\n\t\t\t\treturn true; // This is mandatory\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\tpublic async get(): Promise<MaybeNotKnown<boolean>> {\n\t\tthis.assertSupportsCommand(LockCommand, LockCommand.Get);\n\n\t\tconst cc = new LockCCGet({\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<LockCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\treturn response?.locked;\n\t}\n\n\t/**\n\t * Locks or unlocks the lock\n\t * @param locked Whether the lock should be locked\n\t */\n\t@validateArgs()\n\tpublic async set(locked: boolean): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(LockCommand, LockCommand.Set);\n\n\t\tconst cc = new LockCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tlocked,\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: LockCCAPI, { property }, value) {\n\t\t\tif (property !== \"locked\") {\n\t\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t\t}\n\t\t\tif (typeof value !== \"boolean\") {\n\t\t\t\tthrowWrongValueType(\n\t\t\t\t\tthis.ccId,\n\t\t\t\t\tproperty,\n\t\t\t\t\t\"boolean\",\n\t\t\t\t\ttypeof value,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst result = await this.set(value);\n\n\t\t\t// Verify the current value after a delay, unless the command was supervised and successful\n\t\t\tif (!supervisedCommandSucceeded(result)) {\n\t\t\t\tthis.schedulePoll({ property }, value);\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: LockCCAPI, { property }) {\n\t\t\tif (property === \"locked\") return this.get();\n\t\t\tthrowUnsupportedProperty(this.ccId, property);\n\t\t};\n\t}\n}\n\n@commandClass(CommandClasses.Lock)\n@implementedVersion(1)\n@ccValues(LockCCValues)\nexport class LockCC extends CommandClass {\n\tdeclare ccCommand: LockCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\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\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.Lock,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"requesting current lock state...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst locked = await api.get();\n\t\tconst logMessage = `the lock is ${locked ? \"locked\" : \"unlocked\"}`;\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: logMessage,\n\t\t\tdirection: \"inbound\",\n\t\t});\n\t}\n}\n\n// @publicAPI\nexport interface LockCCSetOptions {\n\tlocked: boolean;\n}\n\n@CCCommand(LockCommand.Set)\n@useSupervision()\nexport class LockCCSet extends LockCC {\n\tpublic constructor(\n\t\toptions: WithAddress<LockCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.locked = options.locked;\n\t}\n\n\tpublic static from(_raw: CCRaw, _ctx: CCParsingContext): LockCCSet {\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 LockCCSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tpublic locked: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.locked ? 1 : 0]);\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: { locked: this.locked },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface LockCCReportOptions {\n\tlocked: boolean;\n}\n\n@CCCommand(LockCommand.Report)\n@ccValueProperty(\"locked\", LockCCValues.locked)\nexport class LockCCReport extends LockCC {\n\tpublic constructor(\n\t\toptions: WithAddress<LockCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\t// TODO: Check implementation:\n\t\tthis.locked = options.locked;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): LockCCReport {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst locked = raw.payload[0] === 1;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tlocked,\n\t\t});\n\t}\n\n\tpublic readonly locked: boolean;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { locked: this.locked },\n\t\t};\n\t}\n}\n\n@CCCommand(LockCommand.Get)\n@expectedCCResponse(LockCCReport)\nexport class LockCCGet extends LockCC {}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type WithAddress } from "@zwave-js/core
|
|
3
|
-
import { Bytes } from "@zwave-js/shared
|
|
1
|
+
import type { CCEncodingContext, CCParsingContext } from "@zwave-js/cc";
|
|
2
|
+
import { type WithAddress } from "@zwave-js/core";
|
|
3
|
+
import { Bytes } from "@zwave-js/shared";
|
|
4
4
|
import { CCAPI, type CCAPIEndpoint, type CCAPIHost } from "../lib/API.js";
|
|
5
5
|
import { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext } from "../lib/CommandClass.js";
|
|
6
6
|
export type ManufacturerProprietaryCCConstructor<T extends typeof ManufacturerProprietaryCC = typeof ManufacturerProprietaryCC> = T & {
|
|
@@ -17,6 +17,7 @@ export declare class ManufacturerProprietaryCCAPI extends CCAPI {
|
|
|
17
17
|
export interface ManufacturerProprietaryCCOptions {
|
|
18
18
|
manufacturerId?: number;
|
|
19
19
|
unspecifiedExpectsResponse?: boolean;
|
|
20
|
+
payload?: Uint8Array;
|
|
20
21
|
}
|
|
21
22
|
export declare class ManufacturerProprietaryCC extends CommandClass {
|
|
22
23
|
ccCommand: undefined;
|
|
@@ -34,8 +34,8 @@ __export(ManufacturerProprietaryCC_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(ManufacturerProprietaryCC_exports);
|
|
36
36
|
var __validateArgs = __toESM(require("./ManufacturerProprietaryCC._validateArgs.js"), 1);
|
|
37
|
-
var
|
|
38
|
-
var
|
|
37
|
+
var import_core = require("@zwave-js/core");
|
|
38
|
+
var import_shared = require("@zwave-js/shared");
|
|
39
39
|
var import_API = require("../lib/API.js");
|
|
40
40
|
var import_CommandClass = require("../lib/CommandClass.js");
|
|
41
41
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
@@ -83,7 +83,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
|
|
|
83
83
|
};
|
|
84
84
|
const { validateArgs_ManufacturerProprietaryCCAPI_sendData, validateArgs_ManufacturerProprietaryCCAPI_sendAndReceiveData } = __validateArgs;
|
|
85
85
|
let ManufacturerProprietaryCCAPI = (() => {
|
|
86
|
-
let _classDecorators = [(0, import_CommandClassDecorators.API)(
|
|
86
|
+
let _classDecorators = [(0, import_CommandClassDecorators.API)(import_core.CommandClasses["Manufacturer Proprietary"])];
|
|
87
87
|
let _classDescriptor;
|
|
88
88
|
let _classExtraInitializers = [];
|
|
89
89
|
let _classThis;
|
|
@@ -126,7 +126,7 @@ let ManufacturerProprietaryCCAPI = (() => {
|
|
|
126
126
|
endpointIndex: this.endpoint.index,
|
|
127
127
|
manufacturerId
|
|
128
128
|
});
|
|
129
|
-
cc.payload = data ?
|
|
129
|
+
cc.payload = data ? import_shared.Bytes.view(data) : new import_shared.Bytes();
|
|
130
130
|
await this.host.sendCommand(cc, this.commandOptions);
|
|
131
131
|
}
|
|
132
132
|
async sendAndReceiveData(manufacturerId, data) {
|
|
@@ -136,7 +136,7 @@ let ManufacturerProprietaryCCAPI = (() => {
|
|
|
136
136
|
manufacturerId,
|
|
137
137
|
unspecifiedExpectsResponse: true
|
|
138
138
|
});
|
|
139
|
-
cc.payload = data ?
|
|
139
|
+
cc.payload = data ? import_shared.Bytes.view(data) : new import_shared.Bytes();
|
|
140
140
|
const response = await this.host.sendCommand(cc, this.commandOptions);
|
|
141
141
|
if (response) {
|
|
142
142
|
return {
|
|
@@ -157,7 +157,7 @@ function testResponseForManufacturerProprietaryRequest(sent, received) {
|
|
|
157
157
|
}
|
|
158
158
|
__name(testResponseForManufacturerProprietaryRequest, "testResponseForManufacturerProprietaryRequest");
|
|
159
159
|
let ManufacturerProprietaryCC = (() => {
|
|
160
|
-
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(
|
|
160
|
+
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_core.CommandClasses["Manufacturer Proprietary"]), (0, import_CommandClassDecorators.implementedVersion)(1), (0, import_CommandClassDecorators.expectedCCResponse)(getReponseForManufacturerProprietary, testResponseForManufacturerProprietaryRequest)];
|
|
161
161
|
let _classDescriptor;
|
|
162
162
|
let _classExtraInitializers = [];
|
|
163
163
|
let _classThis;
|
|
@@ -182,15 +182,17 @@ let ManufacturerProprietaryCC = (() => {
|
|
|
182
182
|
this.unspecifiedExpectsResponse = options.unspecifiedExpectsResponse;
|
|
183
183
|
}
|
|
184
184
|
static from(raw, ctx) {
|
|
185
|
-
(0,
|
|
185
|
+
(0, import_core.validatePayload)(raw.payload.length >= 1);
|
|
186
186
|
const manufacturerId = raw.payload.readUInt16BE(0);
|
|
187
187
|
const PCConstructor = (0, import_Decorators.getManufacturerProprietaryCCConstructor)(manufacturerId);
|
|
188
|
+
const payload = raw.payload.subarray(2);
|
|
188
189
|
if (PCConstructor) {
|
|
189
|
-
return PCConstructor.from(raw.withPayload(
|
|
190
|
+
return PCConstructor.from(raw.withPayload(payload), ctx);
|
|
190
191
|
}
|
|
191
192
|
return new ManufacturerProprietaryCC2({
|
|
192
193
|
nodeId: ctx.sourceNodeId,
|
|
193
|
-
manufacturerId
|
|
194
|
+
manufacturerId,
|
|
195
|
+
payload
|
|
194
196
|
});
|
|
195
197
|
}
|
|
196
198
|
manufacturerId;
|
|
@@ -202,15 +204,15 @@ let ManufacturerProprietaryCC = (() => {
|
|
|
202
204
|
unspecifiedExpectsResponse;
|
|
203
205
|
getManufacturerIdOrThrow() {
|
|
204
206
|
if (this.manufacturerId == void 0) {
|
|
205
|
-
throw new
|
|
207
|
+
throw new import_core.ZWaveError(`To use an instance of ManufacturerProprietaryCC, the manufacturer ID must be stored in the value DB`, import_core.ZWaveErrorCodes.ManufacturerProprietaryCC_NoManufacturerId);
|
|
206
208
|
}
|
|
207
209
|
return this.manufacturerId;
|
|
208
210
|
}
|
|
209
211
|
serialize(ctx) {
|
|
210
212
|
const manufacturerId = this.getManufacturerIdOrThrow();
|
|
211
213
|
this.ccCommand = manufacturerId >>> 8 & 255;
|
|
212
|
-
this.payload =
|
|
213
|
-
|
|
214
|
+
this.payload = import_shared.Bytes.concat([
|
|
215
|
+
import_shared.Bytes.from([
|
|
214
216
|
// 2nd byte of manufacturerId
|
|
215
217
|
manufacturerId & 255
|
|
216
218
|
]),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/ManufacturerProprietaryCC.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kBAMO;AACP,
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCommandClasses,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes } from \"@zwave-js/shared\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { CCAPI, type CCAPIEndpoint, type CCAPIHost } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { ManufacturerSpecificCCValues } from \"./ManufacturerSpecificCC.js\";\nimport {\n\tgetManufacturerId,\n\tgetManufacturerProprietaryAPI,\n\tgetManufacturerProprietaryCCConstructor,\n} from \"./manufacturerProprietary/Decorators.js\";\n\nexport type ManufacturerProprietaryCCConstructor<\n\tT extends typeof ManufacturerProprietaryCC =\n\t\ttypeof ManufacturerProprietaryCC,\n> = T & {\n\t// I don't like the any, but we need it to support half-implemented CCs (e.g. report classes)\n\tnew (options: any): InstanceType<T>;\n};\n\n@API(CommandClasses[\"Manufacturer Proprietary\"])\nexport class ManufacturerProprietaryCCAPI extends CCAPI {\n\tpublic constructor(\n\t\thost: CCAPIHost,\n\t\tendpoint: CCAPIEndpoint,\n\t) {\n\t\tsuper(host, endpoint);\n\n\t\t// Read the manufacturer ID from Manufacturer Specific CC\n\t\tconst manufacturerId = this.getValueDB().getValue<number>(\n\t\t\tManufacturerSpecificCCValues.manufacturerId.id,\n\t\t);\n\t\t// If possible, try to defer to a specific subclass of this API\n\t\tif (manufacturerId != undefined) {\n\t\t\tconst SpecificAPIConstructor = getManufacturerProprietaryAPI(\n\t\t\t\tmanufacturerId,\n\t\t\t);\n\t\t\tif (\n\t\t\t\tSpecificAPIConstructor != undefined\n\t\t\t\t&& new.target !== SpecificAPIConstructor\n\t\t\t) {\n\t\t\t\treturn new SpecificAPIConstructor(host, endpoint);\n\t\t\t}\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async sendData(\n\t\tmanufacturerId: number,\n\t\tdata?: Uint8Array,\n\t): Promise<void> {\n\t\tconst cc = new ManufacturerProprietaryCC({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tmanufacturerId,\n\t\t});\n\t\tcc.payload = data ? Bytes.view(data) : new Bytes();\n\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n\n\t@validateArgs()\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async sendAndReceiveData(manufacturerId: number, data?: Uint8Array) {\n\t\tconst cc = new ManufacturerProprietaryCC({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tmanufacturerId,\n\t\t\tunspecifiedExpectsResponse: true,\n\t\t});\n\t\tcc.payload = data ? Bytes.view(data) : new Bytes();\n\n\t\tconst response = await this.host.sendCommand<\n\t\t\tManufacturerProprietaryCC\n\t\t>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn {\n\t\t\t\tmanufacturerId: response.manufacturerId,\n\t\t\t\tdata: response.payload,\n\t\t\t};\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface ManufacturerProprietaryCCOptions {\n\tmanufacturerId?: number;\n\tunspecifiedExpectsResponse?: boolean;\n\t// Needed to support unknown proprietary commands\n\tpayload?: Uint8Array;\n}\n\nfunction getReponseForManufacturerProprietary(cc: ManufacturerProprietaryCC) {\n\treturn cc.unspecifiedExpectsResponse\n\t\t? ManufacturerProprietaryCC\n\t\t: undefined;\n}\n\nfunction testResponseForManufacturerProprietaryRequest(\n\tsent: ManufacturerProprietaryCC,\n\treceived: ManufacturerProprietaryCC,\n): boolean {\n\t// We expect a Manufacturer Proprietary response that has the same manufacturer ID as the request\n\treturn sent.manufacturerId === received.manufacturerId;\n}\n\n@commandClass(CommandClasses[\"Manufacturer Proprietary\"])\n@implementedVersion(1)\n@expectedCCResponse(\n\tgetReponseForManufacturerProprietary,\n\ttestResponseForManufacturerProprietaryRequest,\n)\nexport class ManufacturerProprietaryCC extends CommandClass {\n\tdeclare ccCommand: undefined;\n\n\tpublic constructor(\n\t\toptions: WithAddress<ManufacturerProprietaryCCOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.manufacturerId = options.manufacturerId\n\t\t\t?? getManufacturerId(this);\n\t\tthis.unspecifiedExpectsResponse = options.unspecifiedExpectsResponse;\n\n\t\t// To use this CC, a manufacturer ID must exist in the value DB\n\t\t// If it doesn't, the interview procedure will throw.\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ManufacturerProprietaryCC {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst manufacturerId = raw.payload.readUInt16BE(0);\n\t\t// Try to parse the proprietary command\n\t\tconst PCConstructor = getManufacturerProprietaryCCConstructor(\n\t\t\tmanufacturerId,\n\t\t);\n\t\tconst payload = raw.payload.subarray(2);\n\t\tif (PCConstructor) {\n\t\t\treturn PCConstructor.from(\n\t\t\t\traw.withPayload(payload),\n\t\t\t\tctx,\n\t\t\t);\n\t\t}\n\n\t\treturn new ManufacturerProprietaryCC({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tmanufacturerId,\n\t\t\tpayload,\n\t\t});\n\t}\n\n\tpublic manufacturerId?: number;\n\n\t/**\n\t * @internal\n\t * This is used to indicate that an unspecified Manufacturer Proprietary CC instance expects a response.\n\t * Subclasses should roll their own `@expectedCCResponse` instead.\n\t */\n\tpublic readonly unspecifiedExpectsResponse?: boolean;\n\n\tprivate getManufacturerIdOrThrow(): number {\n\t\tif (this.manufacturerId == undefined) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`To use an instance of ManufacturerProprietaryCC, the manufacturer ID must be stored in the value DB`,\n\t\t\t\tZWaveErrorCodes.ManufacturerProprietaryCC_NoManufacturerId,\n\t\t\t);\n\t\t}\n\t\treturn this.manufacturerId;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst manufacturerId = this.getManufacturerIdOrThrow();\n\t\t// ManufacturerProprietaryCC has no CC command, so the first byte\n\t\t// is stored in ccCommand\n\t\t(this.ccCommand as unknown as number) = (manufacturerId >>> 8) & 0xff;\n\t\t// The 2nd byte is in the payload\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([\n\t\t\t\t// 2nd byte of manufacturerId\n\t\t\t\tmanufacturerId & 0xff,\n\t\t\t]),\n\t\t\tthis.payload,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic createSpecificInstance(): ManufacturerProprietaryCC | undefined {\n\t\t// Try to defer to the correct subclass\n\t\tif (this.manufacturerId != undefined) {\n\t\t\tconst PCConstructor = getManufacturerProprietaryCCConstructor(\n\t\t\t\tthis.manufacturerId,\n\t\t\t);\n\t\t\tif (PCConstructor) {\n\t\t\t\treturn new PCConstructor({\n\t\t\t\t\tnodeId: this.nodeId,\n\t\t\t\t\tendpoint: this.endpointIndex,\n\t\t\t\t});\n\t\t\t}\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\n\t\t// Read the manufacturer ID from Manufacturer Specific CC\n\t\tthis.manufacturerId = this.getValue(\n\t\t\tctx,\n\t\t\tManufacturerSpecificCCValues.manufacturerId,\n\t\t)!;\n\t\tconst pcInstance = this.createSpecificInstance();\n\t\tif (pcInstance) {\n\t\t\tawait pcInstance.interview(ctx);\n\t\t} else {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage:\n\t\t\t\t\t`${this.constructor.name}: skipping interview refresh because the matching proprietary CC is not implemented...`,\n\t\t\t\tdirection: \"none\",\n\t\t\t});\n\t\t}\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\n\t\tif (this.manufacturerId == undefined) {\n\t\t\t// Read the manufacturer ID from Manufacturer Specific CC\n\t\t\tthis.manufacturerId = this.getValue(\n\t\t\t\tctx,\n\t\t\t\tManufacturerSpecificCCValues.manufacturerId,\n\t\t\t)!;\n\t\t}\n\t\tconst pcInstance = this.createSpecificInstance();\n\t\tif (pcInstance) {\n\t\t\tawait pcInstance.refreshValues(ctx);\n\t\t} else {\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage:\n\t\t\t\t\t`${this.constructor.name}: skipping value refresh because the matching proprietary CC is not implemented...`,\n\t\t\t\tdirection: \"none\",\n\t\t\t});\n\t\t}\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["ManufacturerProprietaryCC"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type
|
|
3
|
-
import {
|
|
4
|
-
import { Bytes } from "@zwave-js/shared/safe";
|
|
1
|
+
import type { CCEncodingContext, CCParsingContext } from "@zwave-js/cc";
|
|
2
|
+
import { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type WithAddress } from "@zwave-js/core";
|
|
3
|
+
import { Bytes } from "@zwave-js/shared";
|
|
5
4
|
import { PhysicalCCAPI } from "../lib/API.js";
|
|
6
5
|
import { type CCRaw, CommandClass, type InterviewContext } from "../lib/CommandClass.js";
|
|
7
6
|
import { DeviceIdType, ManufacturerSpecificCommand } from "../lib/_Types.js";
|
|
@@ -16,7 +15,7 @@ export declare const ManufacturerSpecificCCValues: Readonly<{
|
|
|
16
15
|
readonly endpoint: 0;
|
|
17
16
|
readonly property: "manufacturerId";
|
|
18
17
|
};
|
|
19
|
-
is: (valueId: import("@zwave-js/core
|
|
18
|
+
is: (valueId: import("@zwave-js/core").ValueID) => boolean;
|
|
20
19
|
readonly meta: {
|
|
21
20
|
readonly label: "Manufacturer ID";
|
|
22
21
|
readonly writeable: false;
|
|
@@ -44,7 +43,7 @@ export declare const ManufacturerSpecificCCValues: Readonly<{
|
|
|
44
43
|
readonly endpoint: 0;
|
|
45
44
|
readonly property: "productType";
|
|
46
45
|
};
|
|
47
|
-
is: (valueId: import("@zwave-js/core
|
|
46
|
+
is: (valueId: import("@zwave-js/core").ValueID) => boolean;
|
|
48
47
|
readonly meta: {
|
|
49
48
|
readonly label: "Product type";
|
|
50
49
|
readonly writeable: false;
|
|
@@ -72,7 +71,7 @@ export declare const ManufacturerSpecificCCValues: Readonly<{
|
|
|
72
71
|
readonly endpoint: 0;
|
|
73
72
|
readonly property: "productId";
|
|
74
73
|
};
|
|
75
|
-
is: (valueId: import("@zwave-js/core
|
|
74
|
+
is: (valueId: import("@zwave-js/core").ValueID) => boolean;
|
|
76
75
|
readonly meta: {
|
|
77
76
|
readonly label: "Product ID";
|
|
78
77
|
readonly writeable: false;
|
|
@@ -109,7 +108,7 @@ export declare const ManufacturerSpecificCCValues: Readonly<{
|
|
|
109
108
|
readonly readable: true;
|
|
110
109
|
};
|
|
111
110
|
}) & {
|
|
112
|
-
is: (valueId: import("@zwave-js/core
|
|
111
|
+
is: (valueId: import("@zwave-js/core").ValueID) => boolean;
|
|
113
112
|
options: {
|
|
114
113
|
readonly internal: false;
|
|
115
114
|
readonly minVersion: 2;
|