@zwave-js/cc 14.0.0-beta.1 → 14.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/cc/AlarmSensorCC.d.ts +194 -0
- package/build/cjs/cc/AlarmSensorCC.js +395 -0
- package/build/cjs/cc/AlarmSensorCC.js.map +7 -0
- package/build/cjs/cc/AssociationCC.d.ts +253 -0
- package/build/cjs/cc/AssociationCC.js +711 -0
- package/build/cjs/cc/AssociationCC.js.map +7 -0
- package/build/cjs/cc/AssociationGroupInfoCC.d.ts +230 -0
- package/build/cjs/cc/AssociationGroupInfoCC.js +746 -0
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +7 -0
- package/build/cjs/cc/BarrierOperatorCC.d.ts +243 -0
- package/build/cjs/cc/BarrierOperatorCC.js +582 -0
- package/build/cjs/cc/BarrierOperatorCC.js.map +7 -0
- package/build/cjs/cc/BasicCC.d.ts +191 -0
- package/build/cjs/cc/BasicCC.js +384 -0
- package/build/cjs/cc/BasicCC.js.map +7 -0
- package/build/cjs/cc/BatteryCC.d.ts +406 -0
- package/build/cjs/cc/BatteryCC.js +508 -0
- package/build/cjs/cc/BatteryCC.js.map +7 -0
- package/build/cjs/cc/BinarySensorCC.d.ts +122 -0
- package/build/cjs/cc/BinarySensorCC.js +431 -0
- package/build/cjs/cc/BinarySensorCC.js.map +7 -0
- package/build/cjs/cc/BinarySwitchCC.d.ts +139 -0
- package/build/cjs/cc/BinarySwitchCC.js +378 -0
- package/build/cjs/cc/BinarySwitchCC.js.map +7 -0
- package/build/cjs/cc/CRC16CC.d.ts +29 -0
- package/build/cjs/cc/CRC16CC.js +133 -0
- package/build/cjs/cc/CRC16CC.js.map +7 -0
- package/build/cjs/cc/CentralSceneCC.d.ts +210 -0
- package/build/cjs/cc/CentralSceneCC.js +449 -0
- package/build/cjs/cc/CentralSceneCC.js.map +7 -0
- package/build/cjs/cc/ClimateControlScheduleCC.d.ts +177 -0
- package/build/cjs/cc/ClimateControlScheduleCC.js +480 -0
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +7 -0
- package/build/cjs/cc/ClockCC.d.ts +47 -0
- package/build/cjs/cc/ClockCC.js +226 -0
- package/build/cjs/cc/ClockCC.js.map +7 -0
- package/build/cjs/cc/ColorSwitchCC.d.ts +339 -0
- package/build/cjs/cc/ColorSwitchCC.js +1117 -0
- package/build/cjs/cc/ColorSwitchCC.js.map +7 -0
- package/build/cjs/cc/ConfigurationCC.d.ts +396 -0
- package/build/cjs/cc/ConfigurationCC.js +2230 -0
- package/build/cjs/cc/ConfigurationCC.js.map +7 -0
- package/build/cjs/cc/DeviceResetLocallyCC.d.ts +17 -0
- package/build/cjs/cc/DeviceResetLocallyCC.js +92 -0
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +7 -0
- package/build/cjs/cc/DoorLockCC.d.ts +837 -0
- package/build/cjs/cc/DoorLockCC.js +1239 -0
- package/build/cjs/cc/DoorLockCC.js.map +7 -0
- package/build/cjs/cc/DoorLockLoggingCC.d.ts +77 -0
- package/build/cjs/cc/DoorLockLoggingCC.js +343 -0
- package/build/cjs/cc/DoorLockLoggingCC.js.map +7 -0
- package/build/cjs/cc/EnergyProductionCC.d.ts +77 -0
- package/build/cjs/cc/EnergyProductionCC.js +240 -0
- package/build/cjs/cc/EnergyProductionCC.js.map +7 -0
- package/build/cjs/cc/EntryControlCC.d.ts +231 -0
- package/build/cjs/cc/EntryControlCC.js +593 -0
- package/build/cjs/cc/EntryControlCC.js.map +7 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +359 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +1122 -0
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +7 -0
- package/build/cjs/cc/HailCC.d.ts +6 -0
- package/build/cjs/cc/HailCC.js +45 -0
- package/build/cjs/cc/HailCC.js.map +7 -0
- package/build/cjs/cc/HumidityControlModeCC.d.ts +111 -0
- package/build/cjs/cc/HumidityControlModeCC.js +323 -0
- package/build/cjs/cc/HumidityControlModeCC.js.map +7 -0
- package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +60 -0
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +164 -0
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +7 -0
- package/build/cjs/cc/HumidityControlSetpointCC.d.ts +209 -0
- package/build/cjs/cc/HumidityControlSetpointCC.js +634 -0
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +7 -0
- package/build/cjs/cc/InclusionControllerCC.d.ts +42 -0
- package/build/cjs/cc/InclusionControllerCC.js +160 -0
- package/build/cjs/cc/InclusionControllerCC.js.map +7 -0
- package/build/cjs/cc/IndicatorCC.d.ts +338 -0
- package/build/cjs/cc/IndicatorCC.js +1234 -0
- package/build/cjs/cc/IndicatorCC.js.map +7 -0
- package/build/cjs/cc/IrrigationCC.d.ts +1496 -0
- package/build/cjs/cc/IrrigationCC.js +1978 -0
- package/build/cjs/cc/IrrigationCC.js.map +7 -0
- package/build/cjs/cc/LanguageCC.d.ts +101 -0
- package/build/cjs/cc/LanguageCC.js +267 -0
- package/build/cjs/cc/LanguageCC.js.map +7 -0
- package/build/cjs/cc/LockCC.d.ts +73 -0
- package/build/cjs/cc/LockCC.js +222 -0
- package/build/cjs/cc/LockCC.js.map +7 -0
- package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +32 -0
- package/build/cjs/cc/ManufacturerProprietaryCC.js +209 -0
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +7 -0
- package/build/cjs/cc/ManufacturerSpecificCC.d.ts +171 -0
- package/build/cjs/cc/ManufacturerSpecificCC.js +334 -0
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +7 -0
- package/build/cjs/cc/MeterCC.d.ts +318 -0
- package/build/cjs/cc/MeterCC.js +1235 -0
- package/build/cjs/cc/MeterCC.js.map +7 -0
- package/build/cjs/cc/MultiChannelAssociationCC.d.ts +241 -0
- package/build/cjs/cc/MultiChannelAssociationCC.js +956 -0
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +7 -0
- package/build/cjs/cc/MultiChannelCC.d.ts +394 -0
- package/build/cjs/cc/MultiChannelCC.js +1050 -0
- package/build/cjs/cc/MultiChannelCC.js.map +7 -0
- package/build/cjs/cc/MultiCommandCC.d.ts +27 -0
- package/build/cjs/cc/MultiCommandCC.js +159 -0
- package/build/cjs/cc/MultiCommandCC.js.map +7 -0
- package/build/cjs/cc/MultilevelSensorCC.d.ts +185 -0
- package/build/cjs/cc/MultilevelSensorCC.js +716 -0
- package/build/cjs/cc/MultilevelSensorCC.js.map +7 -0
- package/build/cjs/cc/MultilevelSwitchCC.d.ts +357 -0
- package/build/cjs/cc/MultilevelSwitchCC.js +780 -0
- package/build/cjs/cc/MultilevelSwitchCC.js.map +7 -0
- package/build/cjs/cc/NoOperationCC.d.ts +9 -0
- package/build/cjs/cc/NoOperationCC.js +64 -0
- package/build/cjs/cc/NoOperationCC.js.map +7 -0
- package/build/cjs/cc/NodeNamingCC.d.ts +118 -0
- package/build/cjs/cc/NodeNamingCC.js +364 -0
- package/build/cjs/cc/NodeNamingCC.js.map +7 -0
- package/build/cjs/cc/NotificationCC.d.ts +479 -0
- package/build/cjs/cc/NotificationCC.js +1245 -0
- package/build/cjs/cc/NotificationCC.js.map +7 -0
- package/build/cjs/cc/PowerlevelCC.d.ts +82 -0
- package/build/cjs/cc/PowerlevelCC.js +510 -0
- package/build/cjs/cc/PowerlevelCC.js.map +7 -0
- package/build/cjs/cc/ProtectionCC.d.ts +325 -0
- package/build/cjs/cc/ProtectionCC.js +667 -0
- package/build/cjs/cc/ProtectionCC.js.map +7 -0
- package/build/cjs/cc/SceneActivationCC.d.ts +89 -0
- package/build/cjs/cc/SceneActivationCC.js +193 -0
- package/build/cjs/cc/SceneActivationCC.js.map +7 -0
- package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +120 -0
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +370 -0
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +7 -0
- package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +129 -0
- package/build/cjs/cc/SceneControllerConfigurationCC.js +423 -0
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +7 -0
- package/build/cjs/cc/ScheduleEntryLockCC.d.ts +434 -0
- package/build/cjs/cc/ScheduleEntryLockCC.js +1763 -0
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +7 -0
- package/build/cjs/cc/Security2CC.d.ts +251 -0
- package/build/cjs/cc/Security2CC.js +1589 -0
- package/build/cjs/cc/Security2CC.js.map +7 -0
- package/build/cjs/cc/SecurityCC.d.ts +128 -0
- package/build/cjs/cc/SecurityCC.js +757 -0
- package/build/cjs/cc/SecurityCC.js.map +7 -0
- package/build/cjs/cc/SoundSwitchCC.d.ts +232 -0
- package/build/cjs/cc/SoundSwitchCC.js +661 -0
- package/build/cjs/cc/SoundSwitchCC.js.map +7 -0
- package/build/cjs/cc/SupervisionCC.d.ts +104 -0
- package/build/cjs/cc/SupervisionCC.js +308 -0
- package/build/cjs/cc/SupervisionCC.js.map +7 -0
- package/build/cjs/cc/ThermostatFanModeCC.d.ts +141 -0
- package/build/cjs/cc/ThermostatFanModeCC.js +372 -0
- package/build/cjs/cc/ThermostatFanModeCC.js.map +7 -0
- package/build/cjs/cc/ThermostatFanStateCC.d.ts +60 -0
- package/build/cjs/cc/ThermostatFanStateCC.js +166 -0
- package/build/cjs/cc/ThermostatFanStateCC.js.map +7 -0
- package/build/cjs/cc/ThermostatModeCC.d.ts +150 -0
- package/build/cjs/cc/ThermostatModeCC.js +436 -0
- package/build/cjs/cc/ThermostatModeCC.js.map +7 -0
- package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +61 -0
- package/build/cjs/cc/ThermostatOperatingStateCC.js +162 -0
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +7 -0
- package/build/cjs/cc/ThermostatSetbackCC.d.ts +46 -0
- package/build/cjs/cc/ThermostatSetbackCC.js +262 -0
- package/build/cjs/cc/ThermostatSetbackCC.js.map +7 -0
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +197 -0
- package/build/cjs/cc/ThermostatSetpointCC.js +638 -0
- package/build/cjs/cc/ThermostatSetpointCC.js.map +7 -0
- package/build/cjs/cc/TimeCC.d.ts +88 -0
- package/build/cjs/cc/TimeCC.js +473 -0
- package/build/cjs/cc/TimeCC.js.map +7 -0
- package/build/cjs/cc/TimeParametersCC.d.ts +72 -0
- package/build/cjs/cc/TimeParametersCC.js +313 -0
- package/build/cjs/cc/TimeParametersCC.js.map +7 -0
- package/build/cjs/cc/TransportServiceCC.d.ts +107 -0
- package/build/cjs/cc/TransportServiceCC.js +404 -0
- package/build/cjs/cc/TransportServiceCC.js.map +7 -0
- package/build/cjs/cc/UserCodeCC.d.ts +683 -0
- package/build/cjs/cc/UserCodeCC.js +1620 -0
- package/build/cjs/cc/UserCodeCC.js.map +7 -0
- package/build/cjs/cc/VersionCC.d.ts +469 -0
- package/build/cjs/cc/VersionCC.js +828 -0
- package/build/cjs/cc/VersionCC.js.map +7 -0
- package/build/cjs/cc/WakeUpCC.d.ts +150 -0
- package/build/cjs/cc/WakeUpCC.js +456 -0
- package/build/cjs/cc/WakeUpCC.js.map +7 -0
- package/build/cjs/cc/WindowCoveringCC.d.ts +315 -0
- package/build/cjs/cc/WindowCoveringCC.js +776 -0
- package/build/cjs/cc/WindowCoveringCC.js.map +7 -0
- package/build/cjs/cc/ZWaveLongRangeCC.d.ts +4 -0
- package/build/cjs/cc/ZWaveLongRangeCC.js +43 -0
- package/build/cjs/cc/ZWaveLongRangeCC.js.map +7 -0
- package/build/cjs/cc/ZWavePlusCC.d.ts +163 -0
- package/build/cjs/cc/ZWavePlusCC.js +288 -0
- package/build/cjs/cc/ZWavePlusCC.js.map +7 -0
- package/build/cjs/cc/ZWaveProtocolCC.d.ts +344 -0
- package/build/cjs/cc/ZWaveProtocolCC.js +1071 -0
- package/build/cjs/cc/ZWaveProtocolCC.js.map +7 -0
- package/build/cjs/cc/index.d.ts +132 -0
- package/build/cjs/cc/index.js +1180 -0
- package/build/cjs/cc/index.js.map +7 -0
- package/build/cjs/cc/manufacturerProprietary/Decorators.d.ts +64 -0
- package/build/cjs/cc/manufacturerProprietary/Decorators.js +76 -0
- package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +7 -0
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +79 -0
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +412 -0
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +7 -0
- package/build/cjs/index.d.ts +15 -0
- package/build/cjs/index.js +77 -0
- package/build/cjs/index.js.map +7 -0
- package/build/cjs/index_safe.d.ts +3 -0
- package/build/cjs/index_safe.js +25 -0
- package/build/cjs/index_safe.js.map +7 -0
- package/build/cjs/lib/API.d.ts +271 -0
- package/build/cjs/lib/API.js +413 -0
- package/build/cjs/lib/API.js.map +7 -0
- package/build/cjs/lib/CommandClass.d.ts +234 -0
- package/build/cjs/lib/CommandClass.js +692 -0
- package/build/cjs/lib/CommandClass.js.map +7 -0
- package/build/cjs/lib/CommandClassDecorators.d.ts +112 -0
- package/build/cjs/lib/CommandClassDecorators.js +182 -0
- package/build/cjs/lib/CommandClassDecorators.js.map +7 -0
- package/build/cjs/lib/EncapsulatingCommandClass.d.ts +22 -0
- package/build/cjs/lib/EncapsulatingCommandClass.js +71 -0
- package/build/cjs/lib/EncapsulatingCommandClass.js.map +7 -0
- package/build/cjs/lib/ICommandClassContainer.js +17 -0
- package/build/cjs/lib/ICommandClassContainer.js.map +7 -0
- package/build/cjs/lib/NotificationEventPayload.d.ts +10 -0
- package/build/cjs/lib/NotificationEventPayload.js +31 -0
- package/build/cjs/lib/NotificationEventPayload.js.map +7 -0
- package/build/cjs/lib/Security2/Extension.js +333 -0
- package/build/cjs/lib/Security2/Extension.js.map +7 -0
- package/build/cjs/lib/Security2/shared.js +69 -0
- package/build/cjs/lib/Security2/shared.js.map +7 -0
- package/build/cjs/lib/SetValueResult.js +65 -0
- package/build/cjs/lib/SetValueResult.js.map +7 -0
- package/build/cjs/lib/Values.d.ts +223 -0
- package/build/cjs/lib/Values.js +191 -0
- package/build/cjs/lib/Values.js.map +7 -0
- package/build/cjs/lib/_Types.js +1676 -0
- package/build/cjs/lib/_Types.js.map +7 -0
- package/build/cjs/lib/serializers.d.ts +34 -0
- package/build/cjs/lib/serializers.js +110 -0
- package/build/cjs/lib/serializers.js.map +7 -0
- package/build/cjs/lib/utils.d.ts +17 -0
- package/build/cjs/lib/utils.js +678 -0
- package/build/cjs/lib/utils.js.map +7 -0
- package/build/cjs/package.json +3 -0
- package/build/esm/cc/AlarmSensorCC.d.ts +194 -0
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -0
- package/build/esm/cc/AlarmSensorCC.js +392 -0
- package/build/esm/cc/AlarmSensorCC.js.map +1 -0
- package/build/esm/cc/AssociationCC.d.ts +253 -0
- package/build/esm/cc/AssociationCC.d.ts.map +1 -0
- package/build/esm/cc/AssociationCC.js +706 -0
- package/build/esm/cc/AssociationCC.js.map +1 -0
- package/build/esm/cc/AssociationGroupInfoCC.d.ts +230 -0
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -0
- package/build/esm/cc/AssociationGroupInfoCC.js +769 -0
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -0
- package/build/esm/cc/BarrierOperatorCC.d.ts +243 -0
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -0
- package/build/esm/cc/BarrierOperatorCC.js +610 -0
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -0
- package/build/esm/cc/BasicCC.d.ts +191 -0
- package/build/esm/cc/BasicCC.d.ts.map +1 -0
- package/build/esm/cc/BasicCC.js +390 -0
- package/build/esm/cc/BasicCC.js.map +1 -0
- package/build/esm/cc/BatteryCC.d.ts +406 -0
- package/build/esm/cc/BatteryCC.d.ts.map +1 -0
- package/build/esm/cc/BatteryCC.js +513 -0
- package/build/esm/cc/BatteryCC.js.map +1 -0
- package/build/esm/cc/BinarySensorCC.d.ts +122 -0
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -0
- package/build/esm/cc/BinarySensorCC.js +417 -0
- package/build/esm/cc/BinarySensorCC.js.map +1 -0
- package/build/esm/cc/BinarySwitchCC.d.ts +139 -0
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -0
- package/build/esm/cc/BinarySwitchCC.js +362 -0
- package/build/esm/cc/BinarySwitchCC.js.map +1 -0
- package/build/esm/cc/CRC16CC.d.ts +29 -0
- package/build/esm/cc/CRC16CC.d.ts.map +1 -0
- package/build/esm/cc/CRC16CC.js +123 -0
- package/build/esm/cc/CRC16CC.js.map +1 -0
- package/build/esm/cc/CentralSceneCC.d.ts +210 -0
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -0
- package/build/esm/cc/CentralSceneCC.js +427 -0
- package/build/esm/cc/CentralSceneCC.js.map +1 -0
- package/build/esm/cc/ClimateControlScheduleCC.d.ts +177 -0
- package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -0
- package/build/esm/cc/ClimateControlScheduleCC.js +466 -0
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -0
- package/build/esm/cc/ClockCC.d.ts +47 -0
- package/build/esm/cc/ClockCC.d.ts.map +1 -0
- package/build/esm/cc/ClockCC.js +205 -0
- package/build/esm/cc/ClockCC.js.map +1 -0
- package/build/esm/cc/ColorSwitchCC.d.ts +339 -0
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -0
- package/build/esm/cc/ColorSwitchCC.js +1149 -0
- package/build/esm/cc/ColorSwitchCC.js.map +1 -0
- package/build/esm/cc/ConfigurationCC.d.ts +396 -0
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -0
- package/build/esm/cc/ConfigurationCC.js +2454 -0
- package/build/esm/cc/ConfigurationCC.js.map +1 -0
- package/build/esm/cc/DeviceResetLocallyCC.d.ts +17 -0
- package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -0
- package/build/esm/cc/DeviceResetLocallyCC.js +73 -0
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -0
- package/build/esm/cc/DoorLockCC.d.ts +837 -0
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -0
- package/build/esm/cc/DoorLockCC.js +1270 -0
- package/build/esm/cc/DoorLockCC.js.map +1 -0
- package/build/esm/cc/DoorLockLoggingCC.d.ts +77 -0
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -0
- package/build/esm/cc/DoorLockLoggingCC.js +316 -0
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -0
- package/build/esm/cc/EnergyProductionCC.d.ts +77 -0
- package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -0
- package/build/esm/cc/EnergyProductionCC.js +213 -0
- package/build/esm/cc/EnergyProductionCC.js.map +1 -0
- package/build/esm/cc/EntryControlCC.d.ts +231 -0
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -0
- package/build/esm/cc/EntryControlCC.js +581 -0
- package/build/esm/cc/EntryControlCC.js.map +1 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +359 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1142 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -0
- package/build/esm/cc/HailCC.d.ts +6 -0
- package/build/esm/cc/HailCC.d.ts.map +1 -0
- package/build/esm/cc/HailCC.js +21 -0
- package/build/esm/cc/HailCC.js.map +1 -0
- package/build/esm/cc/HumidityControlModeCC.d.ts +111 -0
- package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -0
- package/build/esm/cc/HumidityControlModeCC.js +305 -0
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -0
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +60 -0
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -0
- package/build/esm/cc/HumidityControlOperatingStateCC.js +137 -0
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -0
- package/build/esm/cc/HumidityControlSetpointCC.d.ts +209 -0
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -0
- package/build/esm/cc/HumidityControlSetpointCC.js +645 -0
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -0
- package/build/esm/cc/InclusionControllerCC.d.ts +42 -0
- package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -0
- package/build/esm/cc/InclusionControllerCC.js +133 -0
- package/build/esm/cc/InclusionControllerCC.js.map +1 -0
- package/build/esm/cc/IndicatorCC.d.ts +338 -0
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -0
- package/build/esm/cc/IndicatorCC.js +1317 -0
- package/build/esm/cc/IndicatorCC.js.map +1 -0
- package/build/esm/cc/IrrigationCC.d.ts +1496 -0
- package/build/esm/cc/IrrigationCC.d.ts.map +1 -0
- package/build/esm/cc/IrrigationCC.js +2038 -0
- package/build/esm/cc/IrrigationCC.js.map +1 -0
- package/build/esm/cc/LanguageCC.d.ts +101 -0
- package/build/esm/cc/LanguageCC.d.ts.map +1 -0
- package/build/esm/cc/LanguageCC.js +243 -0
- package/build/esm/cc/LanguageCC.js.map +1 -0
- package/build/esm/cc/LockCC.d.ts +73 -0
- package/build/esm/cc/LockCC.d.ts.map +1 -0
- package/build/esm/cc/LockCC.js +197 -0
- package/build/esm/cc/LockCC.js.map +1 -0
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts +32 -0
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -0
- package/build/esm/cc/ManufacturerProprietaryCC.js +201 -0
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -0
- package/build/esm/cc/ManufacturerSpecificCC.d.ts +171 -0
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -0
- package/build/esm/cc/ManufacturerSpecificCC.js +315 -0
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -0
- package/build/esm/cc/MeterCC.d.ts +318 -0
- package/build/esm/cc/MeterCC.d.ts.map +1 -0
- package/build/esm/cc/MeterCC.js +1308 -0
- package/build/esm/cc/MeterCC.js.map +1 -0
- package/build/esm/cc/MultiChannelAssociationCC.d.ts +241 -0
- package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -0
- package/build/esm/cc/MultiChannelAssociationCC.js +981 -0
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -0
- package/build/esm/cc/MultiChannelCC.d.ts +394 -0
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -0
- package/build/esm/cc/MultiChannelCC.js +1127 -0
- package/build/esm/cc/MultiChannelCC.js.map +1 -0
- package/build/esm/cc/MultiCommandCC.d.ts +27 -0
- package/build/esm/cc/MultiCommandCC.d.ts.map +1 -0
- package/build/esm/cc/MultiCommandCC.js +142 -0
- package/build/esm/cc/MultiCommandCC.js.map +1 -0
- package/build/esm/cc/MultilevelSensorCC.d.ts +185 -0
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -0
- package/build/esm/cc/MultilevelSensorCC.js +753 -0
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -0
- package/build/esm/cc/MultilevelSwitchCC.d.ts +357 -0
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -0
- package/build/esm/cc/MultilevelSwitchCC.js +810 -0
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -0
- package/build/esm/cc/NoOperationCC.d.ts +9 -0
- package/build/esm/cc/NoOperationCC.d.ts.map +1 -0
- package/build/esm/cc/NoOperationCC.js +39 -0
- package/build/esm/cc/NoOperationCC.js.map +1 -0
- package/build/esm/cc/NodeNamingCC.d.ts +118 -0
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -0
- package/build/esm/cc/NodeNamingCC.js +345 -0
- package/build/esm/cc/NodeNamingCC.js.map +1 -0
- package/build/esm/cc/NotificationCC.d.ts +479 -0
- package/build/esm/cc/NotificationCC.d.ts.map +1 -0
- package/build/esm/cc/NotificationCC.js +1350 -0
- package/build/esm/cc/NotificationCC.js.map +1 -0
- package/build/esm/cc/PowerlevelCC.d.ts +82 -0
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -0
- package/build/esm/cc/PowerlevelCC.js +485 -0
- package/build/esm/cc/PowerlevelCC.js.map +1 -0
- package/build/esm/cc/ProtectionCC.d.ts +325 -0
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -0
- package/build/esm/cc/ProtectionCC.js +669 -0
- package/build/esm/cc/ProtectionCC.js.map +1 -0
- package/build/esm/cc/SceneActivationCC.d.ts +89 -0
- package/build/esm/cc/SceneActivationCC.d.ts.map +1 -0
- package/build/esm/cc/SceneActivationCC.js +166 -0
- package/build/esm/cc/SceneActivationCC.js.map +1 -0
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +120 -0
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -0
- package/build/esm/cc/SceneActuatorConfigurationCC.js +374 -0
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -0
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts +129 -0
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -0
- package/build/esm/cc/SceneControllerConfigurationCC.js +446 -0
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -0
- package/build/esm/cc/ScheduleEntryLockCC.d.ts +434 -0
- package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -0
- package/build/esm/cc/ScheduleEntryLockCC.js +1826 -0
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -0
- package/build/esm/cc/Security2CC.d.ts +251 -0
- package/build/esm/cc/Security2CC.d.ts.map +1 -0
- package/build/esm/cc/Security2CC.js +1814 -0
- package/build/esm/cc/Security2CC.js.map +1 -0
- package/build/esm/cc/SecurityCC.d.ts +128 -0
- package/build/esm/cc/SecurityCC.d.ts.map +1 -0
- package/build/esm/cc/SecurityCC.js +800 -0
- package/build/esm/cc/SecurityCC.js.map +1 -0
- package/build/esm/cc/SoundSwitchCC.d.ts +232 -0
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -0
- package/build/esm/cc/SoundSwitchCC.js +633 -0
- package/build/esm/cc/SoundSwitchCC.js.map +1 -0
- package/build/esm/cc/SupervisionCC.d.ts +104 -0
- package/build/esm/cc/SupervisionCC.d.ts.map +1 -0
- package/build/esm/cc/SupervisionCC.js +319 -0
- package/build/esm/cc/SupervisionCC.js.map +1 -0
- package/build/esm/cc/ThermostatFanModeCC.d.ts +141 -0
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -0
- package/build/esm/cc/ThermostatFanModeCC.js +359 -0
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -0
- package/build/esm/cc/ThermostatFanStateCC.d.ts +60 -0
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -0
- package/build/esm/cc/ThermostatFanStateCC.js +139 -0
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -0
- package/build/esm/cc/ThermostatModeCC.d.ts +150 -0
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -0
- package/build/esm/cc/ThermostatModeCC.js +426 -0
- package/build/esm/cc/ThermostatModeCC.js.map +1 -0
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts +61 -0
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -0
- package/build/esm/cc/ThermostatOperatingStateCC.js +135 -0
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -0
- package/build/esm/cc/ThermostatSetbackCC.d.ts +46 -0
- package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -0
- package/build/esm/cc/ThermostatSetbackCC.js +244 -0
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -0
- package/build/esm/cc/ThermostatSetpointCC.d.ts +197 -0
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -0
- package/build/esm/cc/ThermostatSetpointCC.js +655 -0
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -0
- package/build/esm/cc/TimeCC.d.ts +88 -0
- package/build/esm/cc/TimeCC.d.ts.map +1 -0
- package/build/esm/cc/TimeCC.js +451 -0
- package/build/esm/cc/TimeCC.js.map +1 -0
- package/build/esm/cc/TimeParametersCC.d.ts +72 -0
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -0
- package/build/esm/cc/TimeParametersCC.js +300 -0
- package/build/esm/cc/TimeParametersCC.js.map +1 -0
- package/build/esm/cc/TransportServiceCC.d.ts +107 -0
- package/build/esm/cc/TransportServiceCC.d.ts.map +1 -0
- package/build/esm/cc/TransportServiceCC.js +422 -0
- package/build/esm/cc/TransportServiceCC.js.map +1 -0
- package/build/esm/cc/UserCodeCC.d.ts +683 -0
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -0
- package/build/esm/cc/UserCodeCC.js +1695 -0
- package/build/esm/cc/UserCodeCC.js.map +1 -0
- package/build/esm/cc/VersionCC.d.ts +469 -0
- package/build/esm/cc/VersionCC.d.ts.map +1 -0
- package/build/esm/cc/VersionCC.js +862 -0
- package/build/esm/cc/VersionCC.js.map +1 -0
- package/build/esm/cc/WakeUpCC.d.ts +150 -0
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -0
- package/build/esm/cc/WakeUpCC.js +438 -0
- package/build/esm/cc/WakeUpCC.js.map +1 -0
- package/build/esm/cc/WindowCoveringCC.d.ts +315 -0
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -0
- package/build/esm/cc/WindowCoveringCC.js +780 -0
- package/build/esm/cc/WindowCoveringCC.js.map +1 -0
- package/build/esm/cc/ZWaveLongRangeCC.d.ts +4 -0
- package/build/esm/cc/ZWaveLongRangeCC.d.ts.map +1 -0
- package/build/esm/cc/ZWaveLongRangeCC.js +17 -0
- package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -0
- package/build/esm/cc/ZWavePlusCC.d.ts +163 -0
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -0
- package/build/esm/cc/ZWavePlusCC.js +267 -0
- package/build/esm/cc/ZWavePlusCC.js.map +1 -0
- package/build/esm/cc/ZWaveProtocolCC.d.ts +344 -0
- package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -0
- package/build/esm/cc/ZWaveProtocolCC.js +1030 -0
- package/build/esm/cc/ZWaveProtocolCC.js.map +1 -0
- package/build/esm/cc/index.d.ts +132 -0
- package/build/esm/cc/index.d.ts.map +1 -0
- package/build/esm/cc/index.js +71 -0
- package/build/esm/cc/index.js.map +1 -0
- package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +64 -0
- package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -0
- package/build/esm/cc/manufacturerProprietary/Decorators.js +79 -0
- package/build/esm/cc/manufacturerProprietary/Decorators.js.map +1 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +79 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +385 -0
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -0
- package/build/esm/index.d.ts +15 -0
- package/build/esm/index.d.ts.map +1 -0
- package/build/esm/index.js +14 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/index_safe.d.ts +3 -0
- package/build/esm/index_safe.d.ts.map +1 -0
- package/build/esm/index_safe.js +4 -0
- package/build/esm/index_safe.js.map +1 -0
- package/build/esm/lib/API.d.ts +271 -0
- package/build/esm/lib/API.d.ts.map +1 -0
- package/build/esm/lib/API.js +448 -0
- package/build/esm/lib/API.js.map +1 -0
- package/build/esm/lib/CommandClass.d.ts +234 -0
- package/build/esm/lib/CommandClass.d.ts.map +1 -0
- package/build/esm/lib/CommandClass.js +781 -0
- package/build/esm/lib/CommandClass.js.map +1 -0
- package/build/esm/lib/CommandClassDecorators.d.ts +112 -0
- package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -0
- package/build/esm/lib/CommandClassDecorators.js +229 -0
- package/build/esm/lib/CommandClassDecorators.js.map +1 -0
- package/build/esm/lib/EncapsulatingCommandClass.d.ts +22 -0
- package/build/esm/lib/EncapsulatingCommandClass.d.ts.map +1 -0
- package/build/esm/lib/EncapsulatingCommandClass.js +56 -0
- package/build/esm/lib/EncapsulatingCommandClass.js.map +1 -0
- package/build/esm/lib/ICommandClassContainer.d.ts +2 -0
- package/build/esm/lib/ICommandClassContainer.d.ts.map +1 -0
- package/build/esm/lib/ICommandClassContainer.js +2 -0
- package/build/esm/lib/ICommandClassContainer.js.map +1 -0
- package/build/esm/lib/NotificationEventPayload.d.ts +10 -0
- package/build/esm/lib/NotificationEventPayload.d.ts.map +1 -0
- package/build/esm/lib/NotificationEventPayload.js +7 -0
- package/build/esm/lib/NotificationEventPayload.js.map +1 -0
- package/build/esm/lib/Security2/Extension.d.ts +106 -0
- package/build/esm/lib/Security2/Extension.d.ts.map +1 -0
- package/build/esm/lib/Security2/Extension.js +296 -0
- package/build/esm/lib/Security2/Extension.js.map +1 -0
- package/build/esm/lib/Security2/shared.d.ts +37 -0
- package/build/esm/lib/Security2/shared.d.ts.map +1 -0
- package/build/esm/lib/Security2/shared.js +40 -0
- package/build/esm/lib/Security2/shared.js.map +1 -0
- package/build/esm/lib/SetValueResult.d.ts +55 -0
- package/build/esm/lib/SetValueResult.d.ts.map +1 -0
- package/build/esm/lib/SetValueResult.js +53 -0
- package/build/esm/lib/SetValueResult.js.map +1 -0
- package/build/esm/lib/Values.d.ts +223 -0
- package/build/esm/lib/Values.d.ts.map +1 -0
- package/build/esm/lib/Values.js +169 -0
- package/build/esm/lib/Values.js.map +1 -0
- package/build/esm/lib/_Types.d.ts +1461 -0
- package/build/esm/lib/_Types.d.ts.map +1 -0
- package/build/esm/lib/_Types.js +1432 -0
- package/build/esm/lib/_Types.js.map +1 -0
- package/build/esm/lib/serializers.d.ts +34 -0
- package/build/esm/lib/serializers.d.ts.map +1 -0
- package/build/esm/lib/serializers.js +98 -0
- package/build/esm/lib/serializers.js.map +1 -0
- package/build/esm/lib/utils.d.ts +17 -0
- package/build/esm/lib/utils.d.ts.map +1 -0
- package/build/esm/lib/utils.js +847 -0
- package/build/esm/lib/utils.js.map +1 -0
- package/build/esm/package.json +3 -0
- package/package.json +28 -23
- package/build/cc/AlarmSensorCC.d.ts +0 -194
- package/build/cc/AlarmSensorCC.d.ts.map +0 -1
- package/build/cc/AlarmSensorCC.js +0 -395
- package/build/cc/AlarmSensorCC.js.map +0 -1
- package/build/cc/AssociationCC.d.ts +0 -253
- package/build/cc/AssociationCC.d.ts.map +0 -1
- package/build/cc/AssociationCC.js +0 -732
- package/build/cc/AssociationCC.js.map +0 -1
- package/build/cc/AssociationGroupInfoCC.d.ts +0 -230
- package/build/cc/AssociationGroupInfoCC.d.ts.map +0 -1
- package/build/cc/AssociationGroupInfoCC.js +0 -772
- package/build/cc/AssociationGroupInfoCC.js.map +0 -1
- package/build/cc/BarrierOperatorCC.d.ts +0 -243
- package/build/cc/BarrierOperatorCC.d.ts.map +0 -1
- package/build/cc/BarrierOperatorCC.js +0 -613
- package/build/cc/BarrierOperatorCC.js.map +0 -1
- package/build/cc/BasicCC.d.ts +0 -191
- package/build/cc/BasicCC.d.ts.map +0 -1
- package/build/cc/BasicCC.js +0 -393
- package/build/cc/BasicCC.js.map +0 -1
- package/build/cc/BatteryCC.d.ts +0 -406
- package/build/cc/BatteryCC.d.ts.map +0 -1
- package/build/cc/BatteryCC.js +0 -516
- package/build/cc/BatteryCC.js.map +0 -1
- package/build/cc/BinarySensorCC.d.ts +0 -122
- package/build/cc/BinarySensorCC.d.ts.map +0 -1
- package/build/cc/BinarySensorCC.js +0 -420
- package/build/cc/BinarySensorCC.js.map +0 -1
- package/build/cc/BinarySwitchCC.d.ts +0 -139
- package/build/cc/BinarySwitchCC.d.ts.map +0 -1
- package/build/cc/BinarySwitchCC.js +0 -365
- package/build/cc/BinarySwitchCC.js.map +0 -1
- package/build/cc/CRC16CC.d.ts +0 -29
- package/build/cc/CRC16CC.d.ts.map +0 -1
- package/build/cc/CRC16CC.js +0 -126
- package/build/cc/CRC16CC.js.map +0 -1
- package/build/cc/CentralSceneCC.d.ts +0 -210
- package/build/cc/CentralSceneCC.d.ts.map +0 -1
- package/build/cc/CentralSceneCC.js +0 -453
- package/build/cc/CentralSceneCC.js.map +0 -1
- package/build/cc/ClimateControlScheduleCC.d.ts +0 -177
- package/build/cc/ClimateControlScheduleCC.d.ts.map +0 -1
- package/build/cc/ClimateControlScheduleCC.js +0 -469
- package/build/cc/ClimateControlScheduleCC.js.map +0 -1
- package/build/cc/ClockCC.d.ts +0 -47
- package/build/cc/ClockCC.d.ts.map +0 -1
- package/build/cc/ClockCC.js +0 -208
- package/build/cc/ClockCC.js.map +0 -1
- package/build/cc/ColorSwitchCC.d.ts +0 -339
- package/build/cc/ColorSwitchCC.d.ts.map +0 -1
- package/build/cc/ColorSwitchCC.js +0 -1152
- package/build/cc/ColorSwitchCC.js.map +0 -1
- package/build/cc/ConfigurationCC.d.ts +0 -396
- package/build/cc/ConfigurationCC.d.ts.map +0 -1
- package/build/cc/ConfigurationCC.js +0 -2458
- package/build/cc/ConfigurationCC.js.map +0 -1
- package/build/cc/DeviceResetLocallyCC.d.ts +0 -17
- package/build/cc/DeviceResetLocallyCC.d.ts.map +0 -1
- package/build/cc/DeviceResetLocallyCC.js +0 -76
- package/build/cc/DeviceResetLocallyCC.js.map +0 -1
- package/build/cc/DoorLockCC.d.ts +0 -837
- package/build/cc/DoorLockCC.d.ts.map +0 -1
- package/build/cc/DoorLockCC.js +0 -1273
- package/build/cc/DoorLockCC.js.map +0 -1
- package/build/cc/DoorLockLoggingCC.d.ts +0 -77
- package/build/cc/DoorLockLoggingCC.d.ts.map +0 -1
- package/build/cc/DoorLockLoggingCC.js +0 -319
- package/build/cc/DoorLockLoggingCC.js.map +0 -1
- package/build/cc/EnergyProductionCC.d.ts +0 -77
- package/build/cc/EnergyProductionCC.d.ts.map +0 -1
- package/build/cc/EnergyProductionCC.js +0 -216
- package/build/cc/EnergyProductionCC.js.map +0 -1
- package/build/cc/EntryControlCC.d.ts +0 -231
- package/build/cc/EntryControlCC.d.ts.map +0 -1
- package/build/cc/EntryControlCC.js +0 -607
- package/build/cc/EntryControlCC.js.map +0 -1
- package/build/cc/FirmwareUpdateMetaDataCC.d.ts +0 -359
- package/build/cc/FirmwareUpdateMetaDataCC.d.ts.map +0 -1
- package/build/cc/FirmwareUpdateMetaDataCC.js +0 -1145
- package/build/cc/FirmwareUpdateMetaDataCC.js.map +0 -1
- package/build/cc/HailCC.d.ts +0 -6
- package/build/cc/HailCC.d.ts.map +0 -1
- package/build/cc/HailCC.js +0 -24
- package/build/cc/HailCC.js.map +0 -1
- package/build/cc/HumidityControlModeCC.d.ts +0 -111
- package/build/cc/HumidityControlModeCC.d.ts.map +0 -1
- package/build/cc/HumidityControlModeCC.js +0 -308
- package/build/cc/HumidityControlModeCC.js.map +0 -1
- package/build/cc/HumidityControlOperatingStateCC.d.ts +0 -60
- package/build/cc/HumidityControlOperatingStateCC.d.ts.map +0 -1
- package/build/cc/HumidityControlOperatingStateCC.js +0 -140
- package/build/cc/HumidityControlOperatingStateCC.js.map +0 -1
- package/build/cc/HumidityControlSetpointCC.d.ts +0 -209
- package/build/cc/HumidityControlSetpointCC.d.ts.map +0 -1
- package/build/cc/HumidityControlSetpointCC.js +0 -648
- package/build/cc/HumidityControlSetpointCC.js.map +0 -1
- package/build/cc/InclusionControllerCC.d.ts +0 -42
- package/build/cc/InclusionControllerCC.d.ts.map +0 -1
- package/build/cc/InclusionControllerCC.js +0 -136
- package/build/cc/InclusionControllerCC.js.map +0 -1
- package/build/cc/IndicatorCC.d.ts +0 -338
- package/build/cc/IndicatorCC.d.ts.map +0 -1
- package/build/cc/IndicatorCC.js +0 -1320
- package/build/cc/IndicatorCC.js.map +0 -1
- package/build/cc/IrrigationCC.d.ts +0 -1496
- package/build/cc/IrrigationCC.d.ts.map +0 -1
- package/build/cc/IrrigationCC.js +0 -2041
- package/build/cc/IrrigationCC.js.map +0 -1
- package/build/cc/LanguageCC.d.ts +0 -101
- package/build/cc/LanguageCC.d.ts.map +0 -1
- package/build/cc/LanguageCC.js +0 -246
- package/build/cc/LanguageCC.js.map +0 -1
- package/build/cc/LockCC.d.ts +0 -73
- package/build/cc/LockCC.d.ts.map +0 -1
- package/build/cc/LockCC.js +0 -200
- package/build/cc/LockCC.js.map +0 -1
- package/build/cc/ManufacturerProprietaryCC.d.ts +0 -32
- package/build/cc/ManufacturerProprietaryCC.d.ts.map +0 -1
- package/build/cc/ManufacturerProprietaryCC.js +0 -204
- package/build/cc/ManufacturerProprietaryCC.js.map +0 -1
- package/build/cc/ManufacturerSpecificCC.d.ts +0 -171
- package/build/cc/ManufacturerSpecificCC.d.ts.map +0 -1
- package/build/cc/ManufacturerSpecificCC.js +0 -318
- package/build/cc/ManufacturerSpecificCC.js.map +0 -1
- package/build/cc/MeterCC.d.ts +0 -318
- package/build/cc/MeterCC.d.ts.map +0 -1
- package/build/cc/MeterCC.js +0 -1312
- package/build/cc/MeterCC.js.map +0 -1
- package/build/cc/MultiChannelAssociationCC.d.ts +0 -241
- package/build/cc/MultiChannelAssociationCC.d.ts.map +0 -1
- package/build/cc/MultiChannelAssociationCC.js +0 -1007
- package/build/cc/MultiChannelAssociationCC.js.map +0 -1
- package/build/cc/MultiChannelCC.d.ts +0 -394
- package/build/cc/MultiChannelCC.d.ts.map +0 -1
- package/build/cc/MultiChannelCC.js +0 -1130
- package/build/cc/MultiChannelCC.js.map +0 -1
- package/build/cc/MultiCommandCC.d.ts +0 -27
- package/build/cc/MultiCommandCC.d.ts.map +0 -1
- package/build/cc/MultiCommandCC.js +0 -145
- package/build/cc/MultiCommandCC.js.map +0 -1
- package/build/cc/MultilevelSensorCC.d.ts +0 -185
- package/build/cc/MultilevelSensorCC.d.ts.map +0 -1
- package/build/cc/MultilevelSensorCC.js +0 -756
- package/build/cc/MultilevelSensorCC.js.map +0 -1
- package/build/cc/MultilevelSwitchCC.d.ts +0 -357
- package/build/cc/MultilevelSwitchCC.d.ts.map +0 -1
- package/build/cc/MultilevelSwitchCC.js +0 -813
- package/build/cc/MultilevelSwitchCC.js.map +0 -1
- package/build/cc/NoOperationCC.d.ts +0 -9
- package/build/cc/NoOperationCC.d.ts.map +0 -1
- package/build/cc/NoOperationCC.js +0 -42
- package/build/cc/NoOperationCC.js.map +0 -1
- package/build/cc/NodeNamingCC.d.ts +0 -118
- package/build/cc/NodeNamingCC.d.ts.map +0 -1
- package/build/cc/NodeNamingCC.js +0 -348
- package/build/cc/NodeNamingCC.js.map +0 -1
- package/build/cc/NotificationCC.d.ts +0 -479
- package/build/cc/NotificationCC.d.ts.map +0 -1
- package/build/cc/NotificationCC.js +0 -1379
- package/build/cc/NotificationCC.js.map +0 -1
- package/build/cc/PowerlevelCC.d.ts +0 -82
- package/build/cc/PowerlevelCC.d.ts.map +0 -1
- package/build/cc/PowerlevelCC.js +0 -488
- package/build/cc/PowerlevelCC.js.map +0 -1
- package/build/cc/ProtectionCC.d.ts +0 -325
- package/build/cc/ProtectionCC.d.ts.map +0 -1
- package/build/cc/ProtectionCC.js +0 -672
- package/build/cc/ProtectionCC.js.map +0 -1
- package/build/cc/SceneActivationCC.d.ts +0 -89
- package/build/cc/SceneActivationCC.d.ts.map +0 -1
- package/build/cc/SceneActivationCC.js +0 -169
- package/build/cc/SceneActivationCC.js.map +0 -1
- package/build/cc/SceneActuatorConfigurationCC.d.ts +0 -120
- package/build/cc/SceneActuatorConfigurationCC.d.ts.map +0 -1
- package/build/cc/SceneActuatorConfigurationCC.js +0 -377
- package/build/cc/SceneActuatorConfigurationCC.js.map +0 -1
- package/build/cc/SceneControllerConfigurationCC.d.ts +0 -129
- package/build/cc/SceneControllerConfigurationCC.d.ts.map +0 -1
- package/build/cc/SceneControllerConfigurationCC.js +0 -449
- package/build/cc/SceneControllerConfigurationCC.js.map +0 -1
- package/build/cc/ScheduleEntryLockCC.d.ts +0 -434
- package/build/cc/ScheduleEntryLockCC.d.ts.map +0 -1
- package/build/cc/ScheduleEntryLockCC.js +0 -1829
- package/build/cc/ScheduleEntryLockCC.js.map +0 -1
- package/build/cc/Security2CC.d.ts +0 -251
- package/build/cc/Security2CC.d.ts.map +0 -1
- package/build/cc/Security2CC.js +0 -1817
- package/build/cc/Security2CC.js.map +0 -1
- package/build/cc/SecurityCC.d.ts +0 -128
- package/build/cc/SecurityCC.d.ts.map +0 -1
- package/build/cc/SecurityCC.js +0 -803
- package/build/cc/SecurityCC.js.map +0 -1
- package/build/cc/SoundSwitchCC.d.ts +0 -232
- package/build/cc/SoundSwitchCC.d.ts.map +0 -1
- package/build/cc/SoundSwitchCC.js +0 -636
- package/build/cc/SoundSwitchCC.js.map +0 -1
- package/build/cc/SupervisionCC.d.ts +0 -104
- package/build/cc/SupervisionCC.d.ts.map +0 -1
- package/build/cc/SupervisionCC.js +0 -322
- package/build/cc/SupervisionCC.js.map +0 -1
- package/build/cc/ThermostatFanModeCC.d.ts +0 -141
- package/build/cc/ThermostatFanModeCC.d.ts.map +0 -1
- package/build/cc/ThermostatFanModeCC.js +0 -362
- package/build/cc/ThermostatFanModeCC.js.map +0 -1
- package/build/cc/ThermostatFanStateCC.d.ts +0 -60
- package/build/cc/ThermostatFanStateCC.d.ts.map +0 -1
- package/build/cc/ThermostatFanStateCC.js +0 -142
- package/build/cc/ThermostatFanStateCC.js.map +0 -1
- package/build/cc/ThermostatModeCC.d.ts +0 -150
- package/build/cc/ThermostatModeCC.d.ts.map +0 -1
- package/build/cc/ThermostatModeCC.js +0 -429
- package/build/cc/ThermostatModeCC.js.map +0 -1
- package/build/cc/ThermostatOperatingStateCC.d.ts +0 -61
- package/build/cc/ThermostatOperatingStateCC.d.ts.map +0 -1
- package/build/cc/ThermostatOperatingStateCC.js +0 -138
- package/build/cc/ThermostatOperatingStateCC.js.map +0 -1
- package/build/cc/ThermostatSetbackCC.d.ts +0 -46
- package/build/cc/ThermostatSetbackCC.d.ts.map +0 -1
- package/build/cc/ThermostatSetbackCC.js +0 -247
- package/build/cc/ThermostatSetbackCC.js.map +0 -1
- package/build/cc/ThermostatSetpointCC.d.ts +0 -197
- package/build/cc/ThermostatSetpointCC.d.ts.map +0 -1
- package/build/cc/ThermostatSetpointCC.js +0 -658
- package/build/cc/ThermostatSetpointCC.js.map +0 -1
- package/build/cc/TimeCC.d.ts +0 -88
- package/build/cc/TimeCC.d.ts.map +0 -1
- package/build/cc/TimeCC.js +0 -454
- package/build/cc/TimeCC.js.map +0 -1
- package/build/cc/TimeParametersCC.d.ts +0 -72
- package/build/cc/TimeParametersCC.d.ts.map +0 -1
- package/build/cc/TimeParametersCC.js +0 -303
- package/build/cc/TimeParametersCC.js.map +0 -1
- package/build/cc/TransportServiceCC.d.ts +0 -107
- package/build/cc/TransportServiceCC.d.ts.map +0 -1
- package/build/cc/TransportServiceCC.js +0 -426
- package/build/cc/TransportServiceCC.js.map +0 -1
- package/build/cc/UserCodeCC.d.ts +0 -683
- package/build/cc/UserCodeCC.d.ts.map +0 -1
- package/build/cc/UserCodeCC.js +0 -1699
- package/build/cc/UserCodeCC.js.map +0 -1
- package/build/cc/VersionCC.d.ts +0 -469
- package/build/cc/VersionCC.d.ts.map +0 -1
- package/build/cc/VersionCC.js +0 -865
- package/build/cc/VersionCC.js.map +0 -1
- package/build/cc/WakeUpCC.d.ts +0 -150
- package/build/cc/WakeUpCC.d.ts.map +0 -1
- package/build/cc/WakeUpCC.js +0 -441
- package/build/cc/WakeUpCC.js.map +0 -1
- package/build/cc/WindowCoveringCC.d.ts +0 -315
- package/build/cc/WindowCoveringCC.d.ts.map +0 -1
- package/build/cc/WindowCoveringCC.js +0 -783
- package/build/cc/WindowCoveringCC.js.map +0 -1
- package/build/cc/ZWaveLongRangeCC.d.ts +0 -4
- package/build/cc/ZWaveLongRangeCC.d.ts.map +0 -1
- package/build/cc/ZWaveLongRangeCC.js +0 -20
- package/build/cc/ZWaveLongRangeCC.js.map +0 -1
- package/build/cc/ZWavePlusCC.d.ts +0 -163
- package/build/cc/ZWavePlusCC.d.ts.map +0 -1
- package/build/cc/ZWavePlusCC.js +0 -270
- package/build/cc/ZWavePlusCC.js.map +0 -1
- package/build/cc/ZWaveProtocolCC.d.ts +0 -344
- package/build/cc/ZWaveProtocolCC.d.ts.map +0 -1
- package/build/cc/ZWaveProtocolCC.js +0 -1033
- package/build/cc/ZWaveProtocolCC.js.map +0 -1
- package/build/cc/index.d.ts +0 -132
- package/build/cc/index.d.ts.map +0 -1
- package/build/cc/index.js +0 -627
- package/build/cc/index.js.map +0 -1
- package/build/cc/manufacturerProprietary/Decorators.d.ts +0 -64
- package/build/cc/manufacturerProprietary/Decorators.d.ts.map +0 -1
- package/build/cc/manufacturerProprietary/Decorators.js +0 -83
- package/build/cc/manufacturerProprietary/Decorators.js.map +0 -1
- package/build/cc/manufacturerProprietary/FibaroCC.d.ts +0 -79
- package/build/cc/manufacturerProprietary/FibaroCC.d.ts.map +0 -1
- package/build/cc/manufacturerProprietary/FibaroCC.js +0 -392
- package/build/cc/manufacturerProprietary/FibaroCC.js.map +0 -1
- package/build/index.d.ts +0 -15
- package/build/index.d.ts.map +0 -1
- package/build/index.js +0 -52
- package/build/index.js.map +0 -1
- package/build/index_safe.d.ts +0 -3
- package/build/index_safe.d.ts.map +0 -1
- package/build/index_safe.js +0 -20
- package/build/index_safe.js.map +0 -1
- package/build/lib/API.d.ts +0 -271
- package/build/lib/API.d.ts.map +0 -1
- package/build/lib/API.js +0 -458
- package/build/lib/API.js.map +0 -1
- package/build/lib/CommandClass.d.ts +0 -234
- package/build/lib/CommandClass.d.ts.map +0 -1
- package/build/lib/CommandClass.js +0 -788
- package/build/lib/CommandClass.js.map +0 -1
- package/build/lib/CommandClassDecorators.d.ts +0 -112
- package/build/lib/CommandClassDecorators.d.ts.map +0 -1
- package/build/lib/CommandClassDecorators.js +0 -243
- package/build/lib/CommandClassDecorators.js.map +0 -1
- package/build/lib/EncapsulatingCommandClass.d.ts +0 -22
- package/build/lib/EncapsulatingCommandClass.d.ts.map +0 -1
- package/build/lib/EncapsulatingCommandClass.js +0 -61
- package/build/lib/EncapsulatingCommandClass.js.map +0 -1
- package/build/lib/ICommandClassContainer.d.ts.map +0 -1
- package/build/lib/ICommandClassContainer.js +0 -3
- package/build/lib/ICommandClassContainer.js.map +0 -1
- package/build/lib/NotificationEventPayload.d.ts +0 -10
- package/build/lib/NotificationEventPayload.d.ts.map +0 -1
- package/build/lib/NotificationEventPayload.js +0 -10
- package/build/lib/NotificationEventPayload.js.map +0 -1
- package/build/lib/Security2/Extension.d.ts.map +0 -1
- package/build/lib/Security2/Extension.js +0 -303
- package/build/lib/Security2/Extension.js.map +0 -1
- package/build/lib/Security2/shared.d.ts.map +0 -1
- package/build/lib/Security2/shared.js +0 -43
- package/build/lib/Security2/shared.js.map +0 -1
- package/build/lib/SetValueResult.d.ts.map +0 -1
- package/build/lib/SetValueResult.js +0 -60
- package/build/lib/SetValueResult.js.map +0 -1
- package/build/lib/Values.d.ts +0 -223
- package/build/lib/Values.d.ts.map +0 -1
- package/build/lib/Values.js +0 -172
- package/build/lib/Values.js.map +0 -1
- package/build/lib/_Types.d.ts.map +0 -1
- package/build/lib/_Types.js +0 -1443
- package/build/lib/_Types.js.map +0 -1
- package/build/lib/serializers.d.ts +0 -34
- package/build/lib/serializers.d.ts.map +0 -1
- package/build/lib/serializers.js +0 -107
- package/build/lib/serializers.js.map +0 -1
- package/build/lib/utils.d.ts +0 -17
- package/build/lib/utils.d.ts.map +0 -1
- package/build/lib/utils.js +0 -860
- package/build/lib/utils.js.map +0 -1
- /package/build/{lib → cjs/lib}/ICommandClassContainer.d.ts +0 -0
- /package/build/{lib → cjs/lib}/Security2/Extension.d.ts +0 -0
- /package/build/{lib → cjs/lib}/Security2/shared.d.ts +0 -0
- /package/build/{lib → cjs/lib}/SetValueResult.d.ts +0 -0
- /package/build/{lib → cjs/lib}/_Types.d.ts +0 -0
|
@@ -0,0 +1,781 @@
|
|
|
1
|
+
import { CommandClasses, EncapsulationFlags, NODE_ID_BROADCAST, NODE_ID_BROADCAST_LR, ZWaveError, ZWaveErrorCodes, getCCName, isZWaveError, parseCCId, valueIdToString, } from "@zwave-js/core";
|
|
2
|
+
import { Bytes, buffer2hex, getEnumMemberName, num2hex, staticExtends, } from "@zwave-js/shared";
|
|
3
|
+
import { isArray } from "alcalzone-shared/typeguards/index.js";
|
|
4
|
+
import { getCCCommand, getCCCommandConstructor, getCCConstructor, getCCResponsePredicate, getCCValueProperties, getCCValues, getCommandClass, getExpectedCCResponse, getImplementedVersion, } from "./CommandClassDecorators.js";
|
|
5
|
+
import { isEncapsulatingCommandClass, isMultiEncapsulatingCommandClass, } from "./EncapsulatingCommandClass.js";
|
|
6
|
+
import { defaultCCValueOptions, } from "./Values.js";
|
|
7
|
+
export function getEffectiveCCVersion(ctx, cc, defaultVersion) {
|
|
8
|
+
// For multicast and broadcast CCs, just use the highest implemented version to serialize
|
|
9
|
+
// Older nodes will ignore the additional fields
|
|
10
|
+
if (typeof cc.nodeId !== "number"
|
|
11
|
+
|| cc.nodeId === NODE_ID_BROADCAST
|
|
12
|
+
|| cc.nodeId === NODE_ID_BROADCAST_LR) {
|
|
13
|
+
return getImplementedVersion(cc.ccId);
|
|
14
|
+
}
|
|
15
|
+
// For singlecast CCs, set the CC version as high as possible
|
|
16
|
+
return ctx.getSupportedCCVersion(cc.ccId, cc.nodeId, cc.endpointIndex)
|
|
17
|
+
|| (defaultVersion ?? getImplementedVersion(cc.ccId));
|
|
18
|
+
}
|
|
19
|
+
export class CCRaw {
|
|
20
|
+
ccId;
|
|
21
|
+
ccCommand;
|
|
22
|
+
payload;
|
|
23
|
+
constructor(ccId, ccCommand, payload) {
|
|
24
|
+
this.ccId = ccId;
|
|
25
|
+
this.ccCommand = ccCommand;
|
|
26
|
+
this.payload = payload;
|
|
27
|
+
}
|
|
28
|
+
static parse(data) {
|
|
29
|
+
const { ccId, bytesRead: ccIdLength } = parseCCId(data);
|
|
30
|
+
// There are so few exceptions that we can handle them here manually
|
|
31
|
+
if (ccId === CommandClasses["No Operation"]) {
|
|
32
|
+
return new CCRaw(ccId, undefined, new Bytes());
|
|
33
|
+
}
|
|
34
|
+
let ccCommand = data[ccIdLength];
|
|
35
|
+
let payload = Bytes.view(data.subarray(ccIdLength + 1));
|
|
36
|
+
if (ccId === CommandClasses["Transport Service"]) {
|
|
37
|
+
// Transport Service only uses the higher 5 bits for the command
|
|
38
|
+
// and re-uses the lower 3 bits of the ccCommand as payload
|
|
39
|
+
payload = Bytes.concat([
|
|
40
|
+
Bytes.from([ccCommand & 0b111]),
|
|
41
|
+
payload,
|
|
42
|
+
]);
|
|
43
|
+
ccCommand = ccCommand & 0b11111_000;
|
|
44
|
+
}
|
|
45
|
+
else if (ccId === CommandClasses["Manufacturer Proprietary"]) {
|
|
46
|
+
// ManufacturerProprietaryCC has no CC command, so the first
|
|
47
|
+
// payload byte is stored in ccCommand.
|
|
48
|
+
payload = Bytes.concat([
|
|
49
|
+
Bytes.from([ccCommand]),
|
|
50
|
+
payload,
|
|
51
|
+
]);
|
|
52
|
+
ccCommand = undefined;
|
|
53
|
+
}
|
|
54
|
+
return new CCRaw(ccId, ccCommand, payload);
|
|
55
|
+
}
|
|
56
|
+
withPayload(payload) {
|
|
57
|
+
return new CCRaw(this.ccId, this.ccCommand, payload);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// @publicAPI
|
|
61
|
+
export class CommandClass {
|
|
62
|
+
// empty constructor to parse messages
|
|
63
|
+
constructor(options) {
|
|
64
|
+
const { nodeId, endpointIndex = 0, ccId = getCommandClass(this), ccCommand = getCCCommand(this), payload = new Uint8Array(), } = options;
|
|
65
|
+
this.nodeId = nodeId;
|
|
66
|
+
this.endpointIndex = endpointIndex;
|
|
67
|
+
this.ccId = ccId;
|
|
68
|
+
this.ccCommand = ccCommand;
|
|
69
|
+
this.payload = Bytes.view(payload);
|
|
70
|
+
}
|
|
71
|
+
static parse(data, ctx) {
|
|
72
|
+
const raw = CCRaw.parse(data);
|
|
73
|
+
// Find the correct subclass constructor to invoke
|
|
74
|
+
const CCConstructor = getCCConstructor(raw.ccId);
|
|
75
|
+
if (!CCConstructor) {
|
|
76
|
+
// None -> fall back to the default constructor
|
|
77
|
+
return CommandClass.from(raw, ctx);
|
|
78
|
+
}
|
|
79
|
+
let CommandConstructor;
|
|
80
|
+
if (raw.ccCommand != undefined) {
|
|
81
|
+
CommandConstructor = getCCCommandConstructor(raw.ccId, raw.ccCommand);
|
|
82
|
+
}
|
|
83
|
+
// Not every CC has a constructor for its commands. In that case,
|
|
84
|
+
// call the CC constructor directly
|
|
85
|
+
try {
|
|
86
|
+
return (CommandConstructor ?? CCConstructor).from(raw, ctx);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
// Indicate invalid payloads with a special CC type
|
|
90
|
+
if (isZWaveError(e)
|
|
91
|
+
&& e.code === ZWaveErrorCodes.PacketFormat_InvalidPayload) {
|
|
92
|
+
const ccName = CommandConstructor?.name
|
|
93
|
+
?? `${getCCName(raw.ccId)} CC`;
|
|
94
|
+
// Preserve why the command was invalid
|
|
95
|
+
let reason;
|
|
96
|
+
if (typeof e.context === "string"
|
|
97
|
+
|| (typeof e.context === "number"
|
|
98
|
+
&& ZWaveErrorCodes[e.context] != undefined)) {
|
|
99
|
+
reason = e.context;
|
|
100
|
+
}
|
|
101
|
+
const ret = new InvalidCC({
|
|
102
|
+
nodeId: ctx.sourceNodeId,
|
|
103
|
+
ccId: raw.ccId,
|
|
104
|
+
ccCommand: raw.ccCommand,
|
|
105
|
+
ccName,
|
|
106
|
+
reason,
|
|
107
|
+
});
|
|
108
|
+
return ret;
|
|
109
|
+
}
|
|
110
|
+
throw e;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
static from(raw, ctx) {
|
|
114
|
+
return new this({
|
|
115
|
+
nodeId: ctx.sourceNodeId,
|
|
116
|
+
ccId: raw.ccId,
|
|
117
|
+
ccCommand: raw.ccCommand,
|
|
118
|
+
payload: raw.payload,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/** This CC's identifier */
|
|
122
|
+
ccId;
|
|
123
|
+
ccCommand;
|
|
124
|
+
get ccName() {
|
|
125
|
+
return getCCName(this.ccId);
|
|
126
|
+
}
|
|
127
|
+
/** The ID of the target node(s) */
|
|
128
|
+
nodeId;
|
|
129
|
+
payload;
|
|
130
|
+
/** Which endpoint of the node this CC belongs to. 0 for the root device. */
|
|
131
|
+
endpointIndex;
|
|
132
|
+
/**
|
|
133
|
+
* Which encapsulation CCs this CC is/was/should be encapsulated with.
|
|
134
|
+
*
|
|
135
|
+
* Don't use this directly, this is used internally.
|
|
136
|
+
*/
|
|
137
|
+
encapsulationFlags = EncapsulationFlags.None;
|
|
138
|
+
/** Activates or deactivates the given encapsulation flag(s) */
|
|
139
|
+
toggleEncapsulationFlag(flag, active) {
|
|
140
|
+
if (active) {
|
|
141
|
+
this.encapsulationFlags |= flag;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
this.encapsulationFlags &= ~flag;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/** Contains a reference to the encapsulating CC if this CC is encapsulated */
|
|
148
|
+
encapsulatingCC;
|
|
149
|
+
/** The type of Z-Wave frame this CC was sent with */
|
|
150
|
+
frameType;
|
|
151
|
+
/** Returns true if this CC is an extended CC (0xF100..0xFFFF) */
|
|
152
|
+
isExtended() {
|
|
153
|
+
return this.ccId >= 0xf100;
|
|
154
|
+
}
|
|
155
|
+
/** Whether the interview for this CC was previously completed */
|
|
156
|
+
isInterviewComplete(host) {
|
|
157
|
+
return !!this.getValueDB(host).getValue({
|
|
158
|
+
commandClass: this.ccId,
|
|
159
|
+
endpoint: this.endpointIndex,
|
|
160
|
+
property: "interviewComplete",
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
/** Marks the interview for this CC as complete or not */
|
|
164
|
+
setInterviewComplete(host, complete) {
|
|
165
|
+
this.getValueDB(host).setValue({
|
|
166
|
+
commandClass: this.ccId,
|
|
167
|
+
endpoint: this.endpointIndex,
|
|
168
|
+
property: "interviewComplete",
|
|
169
|
+
}, complete);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Serializes this CommandClass to be embedded in a message payload or another CC
|
|
173
|
+
*/
|
|
174
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
175
|
+
serialize(ctx) {
|
|
176
|
+
// NoOp CCs have no command and no payload
|
|
177
|
+
if (this.ccId === CommandClasses["No Operation"]) {
|
|
178
|
+
return Bytes.from([this.ccId]);
|
|
179
|
+
}
|
|
180
|
+
else if (this.ccCommand == undefined) {
|
|
181
|
+
throw new ZWaveError("Cannot serialize a Command Class without a command", ZWaveErrorCodes.CC_Invalid);
|
|
182
|
+
}
|
|
183
|
+
const payloadLength = this.payload.length;
|
|
184
|
+
const ccIdLength = this.isExtended() ? 2 : 1;
|
|
185
|
+
const data = new Bytes(ccIdLength + 1 + payloadLength);
|
|
186
|
+
data.writeUIntBE(this.ccId, 0, ccIdLength);
|
|
187
|
+
data[ccIdLength] = this.ccCommand;
|
|
188
|
+
if (payloadLength > 0 /* implies payload != undefined */) {
|
|
189
|
+
data.set(this.payload, 1 + ccIdLength);
|
|
190
|
+
}
|
|
191
|
+
return data;
|
|
192
|
+
}
|
|
193
|
+
prepareRetransmission() {
|
|
194
|
+
// Do nothing by default
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Create an instance of the given CC without checking whether it is supported.
|
|
198
|
+
* If the CC is implemented, this returns an instance of the given CC which is linked to the given endpoint.
|
|
199
|
+
*
|
|
200
|
+
* **INTERNAL:** Applications should not use this directly.
|
|
201
|
+
*/
|
|
202
|
+
static createInstanceUnchecked(endpoint, cc) {
|
|
203
|
+
const Constructor = typeof cc === "number" ? getCCConstructor(cc) : cc;
|
|
204
|
+
if (Constructor) {
|
|
205
|
+
return new Constructor({
|
|
206
|
+
nodeId: endpoint.nodeId,
|
|
207
|
+
endpointIndex: endpoint.index,
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/** Generates a representation of this CC for the log */
|
|
212
|
+
toLogEntry(_ctx) {
|
|
213
|
+
let tag = this.constructor.name;
|
|
214
|
+
const message = {};
|
|
215
|
+
if (this.constructor === CommandClass) {
|
|
216
|
+
tag = `${getEnumMemberName(CommandClasses, this.ccId)} CC (not implemented)`;
|
|
217
|
+
if (this.ccCommand != undefined) {
|
|
218
|
+
message.command = num2hex(this.ccCommand);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
if (this.payload.length > 0) {
|
|
222
|
+
message.payload = buffer2hex(this.payload);
|
|
223
|
+
}
|
|
224
|
+
return {
|
|
225
|
+
tags: [tag],
|
|
226
|
+
message,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
/** Generates the JSON representation of this CC */
|
|
230
|
+
toJSON() {
|
|
231
|
+
return this.toJSONInternal();
|
|
232
|
+
}
|
|
233
|
+
toJSONInternal() {
|
|
234
|
+
const ret = {
|
|
235
|
+
nodeId: this.nodeId,
|
|
236
|
+
ccId: CommandClasses[this.ccId] || num2hex(this.ccId),
|
|
237
|
+
};
|
|
238
|
+
if (this.ccCommand != undefined) {
|
|
239
|
+
ret.ccCommand = num2hex(this.ccCommand);
|
|
240
|
+
}
|
|
241
|
+
if (this.payload.length > 0) {
|
|
242
|
+
ret.payload = buffer2hex(this.payload);
|
|
243
|
+
}
|
|
244
|
+
return ret;
|
|
245
|
+
}
|
|
246
|
+
throwMissingCriticalInterviewResponse() {
|
|
247
|
+
throw new ZWaveError(`The node did not respond to a critical interview query in time.`, ZWaveErrorCodes.Controller_NodeTimeout);
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Performs the interview procedure for this CC according to SDS14223
|
|
251
|
+
*/
|
|
252
|
+
async interview(_ctx) {
|
|
253
|
+
// This needs to be overwritten per command class. In the default implementation, don't do anything
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Refreshes all dynamic values of this CC
|
|
257
|
+
*/
|
|
258
|
+
async refreshValues(_ctx) {
|
|
259
|
+
// This needs to be overwritten per command class. In the default implementation, don't do anything
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Checks if the CC values need to be manually refreshed.
|
|
263
|
+
* This should be called regularly and when sleeping nodes wake up
|
|
264
|
+
*/
|
|
265
|
+
shouldRefreshValues(_ctx) {
|
|
266
|
+
// This needs to be overwritten per command class.
|
|
267
|
+
// In the default implementation, don't require a refresh
|
|
268
|
+
return false;
|
|
269
|
+
}
|
|
270
|
+
/** Determines which CC interviews must be performed before this CC can be interviewed */
|
|
271
|
+
determineRequiredCCInterviews() {
|
|
272
|
+
// By default, all CCs require the VersionCC interview
|
|
273
|
+
// There are two exceptions to this rule:
|
|
274
|
+
// * ManufacturerSpecific must be interviewed first
|
|
275
|
+
// * VersionCC itself must be done after that
|
|
276
|
+
// These exceptions are defined in the overrides of this method of each corresponding CC
|
|
277
|
+
return [CommandClasses.Version];
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Whether the endpoint interview may be skipped by a CC. Can be overwritten by a subclass.
|
|
281
|
+
*/
|
|
282
|
+
skipEndpointInterview() {
|
|
283
|
+
// By default no interview may be skipped
|
|
284
|
+
return false;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Maps a BasicCC value to a more specific CC implementation. Returns true if the value was mapped, false otherwise.
|
|
288
|
+
* @param _value The value of the received BasicCC
|
|
289
|
+
*/
|
|
290
|
+
setMappedBasicValue(_ctx, _value) {
|
|
291
|
+
// By default, don't map
|
|
292
|
+
return false;
|
|
293
|
+
}
|
|
294
|
+
isSinglecast() {
|
|
295
|
+
return (
|
|
296
|
+
// received
|
|
297
|
+
this.frameType === "singlecast"
|
|
298
|
+
// transmitted
|
|
299
|
+
|| (this.frameType == undefined
|
|
300
|
+
&& typeof this.nodeId === "number"
|
|
301
|
+
&& this.nodeId !== NODE_ID_BROADCAST
|
|
302
|
+
&& this.nodeId !== NODE_ID_BROADCAST_LR));
|
|
303
|
+
}
|
|
304
|
+
isMulticast() {
|
|
305
|
+
return (
|
|
306
|
+
// received
|
|
307
|
+
this.frameType === "multicast"
|
|
308
|
+
// transmitted
|
|
309
|
+
|| (this.frameType == undefined && isArray(this.nodeId)));
|
|
310
|
+
}
|
|
311
|
+
isBroadcast() {
|
|
312
|
+
return (
|
|
313
|
+
// received
|
|
314
|
+
this.frameType === "broadcast"
|
|
315
|
+
// transmitted
|
|
316
|
+
|| (this.frameType == undefined
|
|
317
|
+
&& (this.nodeId === NODE_ID_BROADCAST
|
|
318
|
+
|| this.nodeId === NODE_ID_BROADCAST_LR)));
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Returns the node this CC is linked to. Throws if the controller is not yet ready.
|
|
322
|
+
*/
|
|
323
|
+
getNode(ctx) {
|
|
324
|
+
if (this.isSinglecast()) {
|
|
325
|
+
return ctx.getNode(this.nodeId);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* @internal
|
|
330
|
+
* Returns the node this CC is linked to (or undefined if the node doesn't exist)
|
|
331
|
+
*/
|
|
332
|
+
tryGetNode(ctx) {
|
|
333
|
+
try {
|
|
334
|
+
return this.getNode(ctx);
|
|
335
|
+
}
|
|
336
|
+
catch (e) {
|
|
337
|
+
// This was expected
|
|
338
|
+
if (isZWaveError(e) && e.code === ZWaveErrorCodes.Driver_NotReady) {
|
|
339
|
+
return undefined;
|
|
340
|
+
}
|
|
341
|
+
// Something else happened
|
|
342
|
+
throw e;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
getEndpoint(ctx) {
|
|
346
|
+
return this.getNode(ctx)?.getEndpoint(this.endpointIndex);
|
|
347
|
+
}
|
|
348
|
+
/** Returns the value DB for this CC's node */
|
|
349
|
+
getValueDB(ctx) {
|
|
350
|
+
if (this.isSinglecast()) {
|
|
351
|
+
try {
|
|
352
|
+
return ctx.getValueDB(this.nodeId);
|
|
353
|
+
}
|
|
354
|
+
catch {
|
|
355
|
+
throw new ZWaveError("The node for this CC does not exist or the driver is not ready yet", ZWaveErrorCodes.Driver_NotReady);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
throw new ZWaveError("Cannot retrieve the value DB for non-singlecast CCs", ZWaveErrorCodes.CC_NoNodeID);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Ensures that the metadata for the given CC value exists in the Value DB or creates it if it does not.
|
|
362
|
+
* The endpoint index of the current CC instance is automatically taken into account.
|
|
363
|
+
* @param meta Will be used in place of the predefined metadata when given
|
|
364
|
+
*/
|
|
365
|
+
ensureMetadata(ctx, ccValue, meta) {
|
|
366
|
+
const valueDB = this.getValueDB(ctx);
|
|
367
|
+
const valueId = ccValue.endpoint(this.endpointIndex);
|
|
368
|
+
if (!valueDB.hasMetadata(valueId)) {
|
|
369
|
+
valueDB.setMetadata(valueId, meta ?? ccValue.meta);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Removes the metadata for the given CC value from the value DB.
|
|
374
|
+
* The endpoint index of the current CC instance is automatically taken into account.
|
|
375
|
+
*/
|
|
376
|
+
removeMetadata(ctx, ccValue) {
|
|
377
|
+
const valueDB = this.getValueDB(ctx);
|
|
378
|
+
const valueId = ccValue.endpoint(this.endpointIndex);
|
|
379
|
+
valueDB.setMetadata(valueId, undefined);
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Writes the metadata for the given CC value into the Value DB.
|
|
383
|
+
* The endpoint index of the current CC instance is automatically taken into account.
|
|
384
|
+
* @param meta Will be used in place of the predefined metadata when given
|
|
385
|
+
*/
|
|
386
|
+
setMetadata(ctx, ccValue, meta) {
|
|
387
|
+
const valueDB = this.getValueDB(ctx);
|
|
388
|
+
const valueId = ccValue.endpoint(this.endpointIndex);
|
|
389
|
+
valueDB.setMetadata(valueId, meta ?? ccValue.meta);
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Reads the metadata for the given CC value from the Value DB.
|
|
393
|
+
* The endpoint index of the current CC instance is automatically taken into account.
|
|
394
|
+
*/
|
|
395
|
+
getMetadata(ctx, ccValue) {
|
|
396
|
+
const valueDB = this.getValueDB(ctx);
|
|
397
|
+
const valueId = ccValue.endpoint(this.endpointIndex);
|
|
398
|
+
return valueDB.getMetadata(valueId);
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Stores the given value under the value ID for the given CC value in the value DB.
|
|
402
|
+
* The endpoint index of the current CC instance is automatically taken into account.
|
|
403
|
+
*/
|
|
404
|
+
setValue(ctx, ccValue, value) {
|
|
405
|
+
const valueDB = this.getValueDB(ctx);
|
|
406
|
+
const valueId = ccValue.endpoint(this.endpointIndex);
|
|
407
|
+
valueDB.setValue(valueId, value);
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Removes the value for the given CC value from the value DB.
|
|
411
|
+
* The endpoint index of the current CC instance is automatically taken into account.
|
|
412
|
+
*/
|
|
413
|
+
removeValue(ctx, ccValue) {
|
|
414
|
+
const valueDB = this.getValueDB(ctx);
|
|
415
|
+
const valueId = ccValue.endpoint(this.endpointIndex);
|
|
416
|
+
valueDB.removeValue(valueId);
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Reads the value stored for the value ID of the given CC value from the value DB.
|
|
420
|
+
* The endpoint index of the current CC instance is automatically taken into account.
|
|
421
|
+
*/
|
|
422
|
+
getValue(ctx, ccValue) {
|
|
423
|
+
const valueDB = this.getValueDB(ctx);
|
|
424
|
+
const valueId = ccValue.endpoint(this.endpointIndex);
|
|
425
|
+
return valueDB.getValue(valueId);
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Reads when the value stored for the value ID of the given CC value was last updated in the value DB.
|
|
429
|
+
* The endpoint index of the current CC instance is automatically taken into account.
|
|
430
|
+
*/
|
|
431
|
+
getValueTimestamp(ctx, ccValue) {
|
|
432
|
+
const valueDB = this.getValueDB(ctx);
|
|
433
|
+
const valueId = ccValue.endpoint(this.endpointIndex);
|
|
434
|
+
return valueDB.getTimestamp(valueId);
|
|
435
|
+
}
|
|
436
|
+
/** Returns the CC value definition for the current CC which matches the given value ID */
|
|
437
|
+
getCCValue(valueId) {
|
|
438
|
+
const ccValues = getCCValues(this);
|
|
439
|
+
if (!ccValues)
|
|
440
|
+
return;
|
|
441
|
+
for (const value of Object.values(ccValues)) {
|
|
442
|
+
if (value?.is(valueId)) {
|
|
443
|
+
return value;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
getAllCCValues() {
|
|
448
|
+
return Object.values(getCCValues(this) ?? {});
|
|
449
|
+
}
|
|
450
|
+
getCCValueForValueId(properties) {
|
|
451
|
+
return this.getAllCCValues().find((value) => value.is({
|
|
452
|
+
commandClass: this.ccId,
|
|
453
|
+
...properties,
|
|
454
|
+
}));
|
|
455
|
+
}
|
|
456
|
+
shouldAutoCreateValue(ctx, value) {
|
|
457
|
+
return (value.options.autoCreate === true
|
|
458
|
+
|| (typeof value.options.autoCreate === "function"
|
|
459
|
+
&& value.options.autoCreate(ctx, {
|
|
460
|
+
virtual: false,
|
|
461
|
+
nodeId: this.nodeId,
|
|
462
|
+
index: this.endpointIndex,
|
|
463
|
+
})));
|
|
464
|
+
}
|
|
465
|
+
/** Returns a list of all value names that are defined for this CommandClass */
|
|
466
|
+
getDefinedValueIDs(ctx, includeInternal = false) {
|
|
467
|
+
// In order to compare value ids, we need them to be strings
|
|
468
|
+
const ret = new Map();
|
|
469
|
+
const addValueId = (property, propertyKey) => {
|
|
470
|
+
const valueId = {
|
|
471
|
+
commandClass: this.ccId,
|
|
472
|
+
endpoint: this.endpointIndex,
|
|
473
|
+
property,
|
|
474
|
+
propertyKey,
|
|
475
|
+
};
|
|
476
|
+
const dbKey = valueIdToString(valueId);
|
|
477
|
+
if (!ret.has(dbKey))
|
|
478
|
+
ret.set(dbKey, valueId);
|
|
479
|
+
};
|
|
480
|
+
// Return all value IDs for this CC...
|
|
481
|
+
const valueDB = this.getValueDB(ctx);
|
|
482
|
+
// ...which either have metadata or a value
|
|
483
|
+
const existingValueIds = [
|
|
484
|
+
...valueDB.getValues(this.ccId),
|
|
485
|
+
...valueDB.getAllMetadata(this.ccId),
|
|
486
|
+
];
|
|
487
|
+
// To determine which value IDs to expose, we need to know the CC version
|
|
488
|
+
// that we're doing this for
|
|
489
|
+
const supportedVersion = typeof this.nodeId === "number"
|
|
490
|
+
&& this.nodeId !== NODE_ID_BROADCAST
|
|
491
|
+
&& this.nodeId !== NODE_ID_BROADCAST_LR
|
|
492
|
+
// On singlecast CCs, use the version the node reported support for,
|
|
493
|
+
? ctx.getSupportedCCVersion(this.ccId, this.nodeId, this.endpointIndex)
|
|
494
|
+
// on multicast/broadcast, use the highest version we implement
|
|
495
|
+
: getImplementedVersion(this.ccId);
|
|
496
|
+
// ...or which are statically defined using @ccValues(...)
|
|
497
|
+
for (const value of Object.values(getCCValues(this) ?? {})) {
|
|
498
|
+
// Skip dynamic CC values - they need a specific subclass instance to be evaluated
|
|
499
|
+
if (!value || typeof value === "function")
|
|
500
|
+
continue;
|
|
501
|
+
// Skip those values that are only supported in higher versions of the CC
|
|
502
|
+
if (value.options.minVersion != undefined
|
|
503
|
+
&& value.options.minVersion > supportedVersion) {
|
|
504
|
+
continue;
|
|
505
|
+
}
|
|
506
|
+
// Skip internal values
|
|
507
|
+
if (value.options.internal && !includeInternal)
|
|
508
|
+
continue;
|
|
509
|
+
// And determine if this value should be automatically "created"
|
|
510
|
+
if (!this.shouldAutoCreateValue(ctx, value))
|
|
511
|
+
continue;
|
|
512
|
+
existingValueIds.push(value.endpoint(this.endpointIndex));
|
|
513
|
+
}
|
|
514
|
+
// TODO: this is a bit awkward for the statically defined ones
|
|
515
|
+
const ccValues = this.getAllCCValues();
|
|
516
|
+
for (const valueId of existingValueIds) {
|
|
517
|
+
// ...belonging to the current endpoint
|
|
518
|
+
if ((valueId.endpoint ?? 0) !== this.endpointIndex)
|
|
519
|
+
continue;
|
|
520
|
+
// Hard-coded: interviewComplete is always internal
|
|
521
|
+
if (valueId.property === "interviewComplete")
|
|
522
|
+
continue;
|
|
523
|
+
// ... which don't have a CC value definition
|
|
524
|
+
// ... or one that does not mark the value ID as internal
|
|
525
|
+
const ccValue = ccValues.find((value) => value.is(valueId));
|
|
526
|
+
if (!ccValue || !ccValue.options.internal || includeInternal) {
|
|
527
|
+
addValueId(valueId.property, valueId.propertyKey);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
return [...ret.values()];
|
|
531
|
+
}
|
|
532
|
+
/** Determines if the given value is an internal value */
|
|
533
|
+
isInternalValue(properties) {
|
|
534
|
+
// Hard-coded: interviewComplete is always internal
|
|
535
|
+
if (properties.property === "interviewComplete")
|
|
536
|
+
return true;
|
|
537
|
+
const ccValue = this.getCCValueForValueId(properties);
|
|
538
|
+
return ccValue?.options.internal ?? defaultCCValueOptions.internal;
|
|
539
|
+
}
|
|
540
|
+
/** Determines if the given value is an secret value */
|
|
541
|
+
isSecretValue(properties) {
|
|
542
|
+
const ccValue = this.getCCValueForValueId(properties);
|
|
543
|
+
return ccValue?.options.secret ?? defaultCCValueOptions.secret;
|
|
544
|
+
}
|
|
545
|
+
/** Determines if the given value should be persisted or represents an event */
|
|
546
|
+
isStatefulValue(properties) {
|
|
547
|
+
const ccValue = this.getCCValueForValueId(properties);
|
|
548
|
+
return ccValue?.options.stateful ?? defaultCCValueOptions.stateful;
|
|
549
|
+
}
|
|
550
|
+
/**
|
|
551
|
+
* Persists all values for this CC instance into the value DB which are annotated with @ccValue.
|
|
552
|
+
* Returns `true` if the process succeeded, `false` if the value DB cannot be accessed.
|
|
553
|
+
*/
|
|
554
|
+
persistValues(ctx) {
|
|
555
|
+
let valueDB;
|
|
556
|
+
try {
|
|
557
|
+
valueDB = this.getValueDB(ctx);
|
|
558
|
+
}
|
|
559
|
+
catch {
|
|
560
|
+
return false;
|
|
561
|
+
}
|
|
562
|
+
// To determine which value IDs to expose, we need to know the CC version
|
|
563
|
+
// that we're doing this for
|
|
564
|
+
const supportedVersion = ctx.getSupportedCCVersion(this.ccId,
|
|
565
|
+
// Values are only persisted for singlecast, so we know nodeId is a number
|
|
566
|
+
this.nodeId, this.endpointIndex) || 1;
|
|
567
|
+
// Get all properties of this CC which are annotated with a @ccValue decorator and store them.
|
|
568
|
+
for (const [prop, _value] of getCCValueProperties(this)) {
|
|
569
|
+
// Evaluate dynamic CC values first
|
|
570
|
+
const value = typeof _value === "function" ? _value(this) : _value;
|
|
571
|
+
// Skip those values that are only supported in higher versions of the CC
|
|
572
|
+
if (value.options.minVersion != undefined
|
|
573
|
+
&& value.options.minVersion > supportedVersion) {
|
|
574
|
+
continue;
|
|
575
|
+
}
|
|
576
|
+
const valueId = value.endpoint(this.endpointIndex);
|
|
577
|
+
const sourceValue = this[prop];
|
|
578
|
+
// Metadata gets created for non-internal values...
|
|
579
|
+
const createMetadata = !value.options.internal
|
|
580
|
+
// ... but only if the value is included in the report we are persisting
|
|
581
|
+
&& (sourceValue != undefined
|
|
582
|
+
// ... or if we know which CC version the node supports
|
|
583
|
+
// and the value may be automatically created
|
|
584
|
+
|| (supportedVersion >= value.options.minVersion
|
|
585
|
+
&& this.shouldAutoCreateValue(ctx, value)));
|
|
586
|
+
if (createMetadata && !valueDB.hasMetadata(valueId)) {
|
|
587
|
+
valueDB.setMetadata(valueId, value.meta);
|
|
588
|
+
}
|
|
589
|
+
// The value only gets written if it is not undefined. null is a valid value!
|
|
590
|
+
if (sourceValue === undefined)
|
|
591
|
+
continue;
|
|
592
|
+
valueDB.setValue(valueId, sourceValue, {
|
|
593
|
+
stateful: value.options.stateful,
|
|
594
|
+
});
|
|
595
|
+
}
|
|
596
|
+
return true;
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* When a CC supports to be split into multiple partial CCs, this can be used to identify the
|
|
600
|
+
* session the partial CCs belong to.
|
|
601
|
+
* If a CC expects `mergePartialCCs` to be always called, you should return an empty object here.
|
|
602
|
+
*/
|
|
603
|
+
getPartialCCSessionId() {
|
|
604
|
+
return undefined; // Only select CCs support to be split
|
|
605
|
+
}
|
|
606
|
+
/**
|
|
607
|
+
* When a CC supports to be split into multiple partial CCs, this indicates that the last report hasn't been received yet.
|
|
608
|
+
* @param _session The previously received set of messages received in this partial CC session
|
|
609
|
+
*/
|
|
610
|
+
expectMoreMessages(_session) {
|
|
611
|
+
return false; // By default, all CCs are monolithic
|
|
612
|
+
}
|
|
613
|
+
/** Include previously received partial responses into a final CC */
|
|
614
|
+
mergePartialCCs(_partials, _ctx) {
|
|
615
|
+
// This is highly CC dependent
|
|
616
|
+
// Overwrite this in derived classes, by default do nothing
|
|
617
|
+
}
|
|
618
|
+
/** Tests whether this CC expects at least one command in return */
|
|
619
|
+
expectsCCResponse() {
|
|
620
|
+
let expected = getExpectedCCResponse(this);
|
|
621
|
+
// Evaluate dynamic CC responses
|
|
622
|
+
if (typeof expected === "function"
|
|
623
|
+
&& !staticExtends(expected, CommandClass)) {
|
|
624
|
+
expected = expected(this);
|
|
625
|
+
}
|
|
626
|
+
if (expected === undefined)
|
|
627
|
+
return false;
|
|
628
|
+
if (isArray(expected)) {
|
|
629
|
+
return expected.every((cc) => staticExtends(cc, CommandClass));
|
|
630
|
+
}
|
|
631
|
+
else {
|
|
632
|
+
return staticExtends(expected, CommandClass);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
isExpectedCCResponse(received) {
|
|
636
|
+
if (received.nodeId !== this.nodeId)
|
|
637
|
+
return false;
|
|
638
|
+
let expected = getExpectedCCResponse(this);
|
|
639
|
+
// Evaluate dynamic CC responses
|
|
640
|
+
if (typeof expected === "function"
|
|
641
|
+
&& !staticExtends(expected, CommandClass)) {
|
|
642
|
+
expected = expected(this);
|
|
643
|
+
}
|
|
644
|
+
if (expected == undefined) {
|
|
645
|
+
// Fallback, should not happen if the expected response is defined correctly
|
|
646
|
+
return false;
|
|
647
|
+
}
|
|
648
|
+
else if (isArray(expected)
|
|
649
|
+
&& expected.every((cc) => staticExtends(cc, CommandClass))) {
|
|
650
|
+
// The CC always expects a response from the given list, check if the received
|
|
651
|
+
// message is in that list
|
|
652
|
+
if (expected.every((base) => !(received instanceof base))) {
|
|
653
|
+
return false;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
else if (staticExtends(expected, CommandClass)) {
|
|
657
|
+
// The CC always expects the same single response, check if this is the one
|
|
658
|
+
if (!(received instanceof expected))
|
|
659
|
+
return false;
|
|
660
|
+
}
|
|
661
|
+
// If the CC wants to test the response, let it
|
|
662
|
+
const predicate = getCCResponsePredicate(this);
|
|
663
|
+
const ret = predicate?.(this, received) ?? true;
|
|
664
|
+
if (ret === "checkEncapsulated") {
|
|
665
|
+
if (isEncapsulatingCommandClass(this)
|
|
666
|
+
&& isEncapsulatingCommandClass(received)) {
|
|
667
|
+
return this.encapsulated.isExpectedCCResponse(received.encapsulated);
|
|
668
|
+
}
|
|
669
|
+
else {
|
|
670
|
+
// Fallback, should not happen if the expected response is defined correctly
|
|
671
|
+
return false;
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
return ret;
|
|
675
|
+
}
|
|
676
|
+
/**
|
|
677
|
+
* Translates a property identifier into a speaking name for use in an external API
|
|
678
|
+
* @param property The property identifier that should be translated
|
|
679
|
+
* @param _propertyKey The (optional) property key the translated name may depend on
|
|
680
|
+
*/
|
|
681
|
+
translateProperty(_ctx, property, _propertyKey) {
|
|
682
|
+
// Overwrite this in derived classes, by default just return the property key
|
|
683
|
+
return property.toString();
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* Translates a property key into a speaking name for use in an external API
|
|
687
|
+
* @param _property The property the key in question belongs to
|
|
688
|
+
* @param propertyKey The property key for which the speaking name should be retrieved
|
|
689
|
+
*/
|
|
690
|
+
translatePropertyKey(_ctx, _property, propertyKey) {
|
|
691
|
+
// Overwrite this in derived classes, by default just return the property key
|
|
692
|
+
return propertyKey.toString();
|
|
693
|
+
}
|
|
694
|
+
/** Returns the number of bytes that are added to the payload by this CC */
|
|
695
|
+
computeEncapsulationOverhead() {
|
|
696
|
+
// Default is ccId (+ ccCommand):
|
|
697
|
+
return (this.isExtended() ? 2 : 1) + 1;
|
|
698
|
+
}
|
|
699
|
+
/** Computes the maximum net payload size that can be transmitted inside this CC */
|
|
700
|
+
getMaxPayloadLength(baseLength) {
|
|
701
|
+
let ret = baseLength;
|
|
702
|
+
let cur = this;
|
|
703
|
+
while (cur) {
|
|
704
|
+
ret -= cur.computeEncapsulationOverhead();
|
|
705
|
+
cur = isEncapsulatingCommandClass(cur)
|
|
706
|
+
? cur.encapsulated
|
|
707
|
+
: undefined;
|
|
708
|
+
}
|
|
709
|
+
return ret;
|
|
710
|
+
}
|
|
711
|
+
/** Checks whether this CC is encapsulated with one that has the given CC id and (optionally) CC Command */
|
|
712
|
+
isEncapsulatedWith(ccId, ccCommand) {
|
|
713
|
+
let cc = this;
|
|
714
|
+
// Check whether there was a S0 encapsulation
|
|
715
|
+
while (cc.encapsulatingCC) {
|
|
716
|
+
cc = cc.encapsulatingCC;
|
|
717
|
+
if (cc.ccId === ccId
|
|
718
|
+
&& (ccCommand === undefined || cc.ccCommand === ccCommand)) {
|
|
719
|
+
return true;
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
return false;
|
|
723
|
+
}
|
|
724
|
+
/** Traverses the encapsulation stack of this CC outwards and returns the one that has the given CC id and (optionally) CC Command if that exists. */
|
|
725
|
+
getEncapsulatingCC(ccId, ccCommand) {
|
|
726
|
+
let cc = this;
|
|
727
|
+
while (cc.encapsulatingCC) {
|
|
728
|
+
cc = cc.encapsulatingCC;
|
|
729
|
+
if (cc.ccId === ccId
|
|
730
|
+
&& (ccCommand === undefined || cc.ccCommand === ccCommand)) {
|
|
731
|
+
return cc;
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
/** Traverses the encapsulation stack of this CC inwards and returns the one that has the given CC id and (optionally) CC Command if that exists. */
|
|
736
|
+
getEncapsulatedCC(ccId, ccCommand) {
|
|
737
|
+
const predicate = (cc) => cc.ccId === ccId
|
|
738
|
+
&& (ccCommand === undefined || cc.ccCommand === ccCommand);
|
|
739
|
+
if (isEncapsulatingCommandClass(this)) {
|
|
740
|
+
if (predicate(this.encapsulated))
|
|
741
|
+
return this.encapsulated;
|
|
742
|
+
return this.encapsulated.getEncapsulatedCC(ccId, ccCommand);
|
|
743
|
+
}
|
|
744
|
+
else if (isMultiEncapsulatingCommandClass(this)) {
|
|
745
|
+
for (const encapsulated of this.encapsulated) {
|
|
746
|
+
if (predicate(encapsulated))
|
|
747
|
+
return encapsulated;
|
|
748
|
+
const ret = encapsulated.getEncapsulatedCC(ccId, ccCommand);
|
|
749
|
+
if (ret)
|
|
750
|
+
return ret;
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
export class InvalidCC extends CommandClass {
|
|
756
|
+
constructor(options) {
|
|
757
|
+
super(options);
|
|
758
|
+
this._ccName = options.ccName;
|
|
759
|
+
// Numeric reasons are used internally to communicate problems with a CC
|
|
760
|
+
// without ignoring them entirely
|
|
761
|
+
this.reason = options.reason;
|
|
762
|
+
}
|
|
763
|
+
_ccName;
|
|
764
|
+
get ccName() {
|
|
765
|
+
return this._ccName;
|
|
766
|
+
}
|
|
767
|
+
reason;
|
|
768
|
+
toLogEntry(_ctx) {
|
|
769
|
+
return {
|
|
770
|
+
tags: [this.ccName, "INVALID"],
|
|
771
|
+
message: this.reason != undefined
|
|
772
|
+
? {
|
|
773
|
+
error: typeof this.reason === "string"
|
|
774
|
+
? this.reason
|
|
775
|
+
: getEnumMemberName(ZWaveErrorCodes, this.reason),
|
|
776
|
+
}
|
|
777
|
+
: undefined,
|
|
778
|
+
};
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
//# sourceMappingURL=CommandClass.js.map
|