@zwave-js/cc 14.0.0-beta.1 → 14.0.0-beta.5
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 +510 -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 +877 -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 +887 -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 +748 -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 +478 -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 +590 -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 +546 -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 +472 -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 +208 -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 +584 -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 +646 -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 +330 -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 +1265 -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 +2477 -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 +168 -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 +1366 -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 +458 -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 +329 -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 +754 -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 +1322 -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 +91 -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 +449 -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 +250 -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 +821 -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 +251 -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 +1395 -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 +2224 -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 +364 -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 +322 -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 +269 -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 +440 -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 +1355 -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 +1090 -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 +1268 -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 +234 -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 +856 -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 +928 -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 +126 -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 +504 -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 +1399 -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 +657 -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 +859 -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 +261 -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 +473 -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 +526 -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 +2043 -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 +1853 -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 +977 -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 +853 -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 +398 -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 +495 -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 +252 -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 +559 -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 +248 -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 +366 -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 +792 -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 +635 -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 +413 -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 +522 -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 +1903 -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 +962 -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 +609 -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 +924 -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 +90 -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 +362 -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 +1638 -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 +533 -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 +108 -0
- package/build/cjs/lib/CommandClassDecorators.js +181 -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.d.ts +106 -0
- package/build/cjs/lib/Security2/Extension.js +424 -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 +490 -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 +847 -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 +889 -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 +751 -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 +468 -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 +578 -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 +515 -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 +441 -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 +187 -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 +541 -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 +607 -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 +294 -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 +1274 -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 +2666 -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 +138 -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 +1372 -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 +414 -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 +289 -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 +717 -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 +1311 -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 +60 -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 +412 -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 +210 -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 +805 -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 +211 -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 +1455 -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 +2239 -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 +325 -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 +282 -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 +252 -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 +404 -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 +1409 -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 +1094 -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 +1312 -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 +206 -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 +872 -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 +935 -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 +92 -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 +464 -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 +1481 -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 +611 -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 +830 -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 +223 -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 +462 -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 +534 -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 +2065 -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 +2041 -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 +989 -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 +796 -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 +396 -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 +463 -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 +212 -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 +530 -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 +208 -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 +333 -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 +786 -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 +590 -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 +385 -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 +523 -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 +1933 -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 +971 -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 +568 -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 +905 -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 +57 -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 +328 -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 +1520 -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 +489 -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 +108 -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 +380 -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 +0 -106
- 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/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
package/build/cc/SecurityCC.js
DELETED
|
@@ -1,803 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var SecurityCC_1, SecurityCCNonceReport_1, SecurityCCCommandEncapsulation_1, SecurityCCSchemeReport_1, SecurityCCNetworkKeySet_1, SecurityCCCommandsSupportedReport_1;
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.SecurityCCCommandsSupportedGet = exports.SecurityCCCommandsSupportedReport = exports.SecurityCCNetworkKeySet = exports.SecurityCCNetworkKeyVerify = exports.SecurityCCSchemeInherit = exports.SecurityCCSchemeGet = exports.SecurityCCSchemeReport = exports.SecurityCCCommandEncapsulationNonceGet = exports.SecurityCCCommandEncapsulation = exports.SecurityCCNonceGet = exports.SecurityCCNonceReport = exports.SecurityCC = exports.SecurityCCAPI = void 0;
|
|
11
|
-
const core_1 = require("@zwave-js/core");
|
|
12
|
-
const safe_1 = require("@zwave-js/shared/safe");
|
|
13
|
-
const safe_2 = require("@zwave-js/shared/safe");
|
|
14
|
-
const async_1 = require("alcalzone-shared/async");
|
|
15
|
-
const node_crypto_1 = require("node:crypto");
|
|
16
|
-
const API_1 = require("../lib/API");
|
|
17
|
-
const CommandClass_1 = require("../lib/CommandClass");
|
|
18
|
-
const CommandClassDecorators_1 = require("../lib/CommandClassDecorators");
|
|
19
|
-
const _Types_1 = require("../lib/_Types");
|
|
20
|
-
const CRC16CC_1 = require("./CRC16CC");
|
|
21
|
-
const Security2CC_1 = require("./Security2CC");
|
|
22
|
-
const TransportServiceCC_1 = require("./TransportServiceCC");
|
|
23
|
-
// @noSetValueAPI This is an encapsulation CC
|
|
24
|
-
function getAuthenticationData(senderNonce, receiverNonce, ccCommand, sendingNodeId, receivingNodeId, encryptedPayload) {
|
|
25
|
-
return safe_1.Bytes.concat([
|
|
26
|
-
senderNonce,
|
|
27
|
-
receiverNonce,
|
|
28
|
-
safe_1.Bytes.from([
|
|
29
|
-
ccCommand,
|
|
30
|
-
sendingNodeId,
|
|
31
|
-
receivingNodeId,
|
|
32
|
-
encryptedPayload.length,
|
|
33
|
-
]),
|
|
34
|
-
encryptedPayload,
|
|
35
|
-
]);
|
|
36
|
-
}
|
|
37
|
-
function throwNoNonce(reason) {
|
|
38
|
-
let message = `Security CC requires a nonce to be sent!`;
|
|
39
|
-
if (reason)
|
|
40
|
-
message += ` Reason: ${reason}`;
|
|
41
|
-
throw new core_1.ZWaveError(message, core_1.ZWaveErrorCodes.SecurityCC_NoNonce);
|
|
42
|
-
}
|
|
43
|
-
const HALF_NONCE_SIZE = 8;
|
|
44
|
-
function assertSecurityRX(ctx) {
|
|
45
|
-
if (!ctx.ownNodeId) {
|
|
46
|
-
throw new core_1.ZWaveError(`Secure commands (S0) can only be decoded when the controller's node id is known!`, core_1.ZWaveErrorCodes.Driver_NotReady);
|
|
47
|
-
}
|
|
48
|
-
if (!ctx.securityManager) {
|
|
49
|
-
throw new core_1.ZWaveError(`Secure commands (S0) can only be decoded when the security manager is set up!`, core_1.ZWaveErrorCodes.Driver_NoSecurity);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function assertSecurityTX(ctx) {
|
|
53
|
-
if (!ctx.ownNodeId) {
|
|
54
|
-
throw new core_1.ZWaveError(`Secure commands (S0) can only be sent when the controller's node id is known!`, core_1.ZWaveErrorCodes.Driver_NotReady);
|
|
55
|
-
}
|
|
56
|
-
if (!ctx.securityManager) {
|
|
57
|
-
throw new core_1.ZWaveError(`Secure commands (S0) can only be sent when the security manager is set up!`, core_1.ZWaveErrorCodes.Driver_NoSecurity);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
// TODO: Ignore commands if received via multicast
|
|
61
|
-
// Encapsulation CCs are used internally and too frequently that we
|
|
62
|
-
// want to pay the cost of validating each call
|
|
63
|
-
/* eslint-disable @zwave-js/ccapi-validate-args */
|
|
64
|
-
let SecurityCCAPI = class SecurityCCAPI extends API_1.PhysicalCCAPI {
|
|
65
|
-
supportsCommand(_cmd) {
|
|
66
|
-
// All commands are mandatory
|
|
67
|
-
return true;
|
|
68
|
-
}
|
|
69
|
-
async sendEncapsulated(encapsulated, requestNextNonce = false) {
|
|
70
|
-
if (requestNextNonce) {
|
|
71
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.CommandEncapsulation);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.CommandEncapsulationNonceGet);
|
|
75
|
-
}
|
|
76
|
-
const cc = new (requestNextNonce
|
|
77
|
-
? SecurityCCCommandEncapsulationNonceGet
|
|
78
|
-
: SecurityCCCommandEncapsulation)({
|
|
79
|
-
nodeId: this.endpoint.nodeId,
|
|
80
|
-
encapsulated,
|
|
81
|
-
});
|
|
82
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Requests a new nonce for Security CC encapsulation which is not directly linked to a specific command.
|
|
86
|
-
*/
|
|
87
|
-
async getNonce() {
|
|
88
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.NonceGet);
|
|
89
|
-
const cc = new SecurityCCNonceGet({
|
|
90
|
-
nodeId: this.endpoint.nodeId,
|
|
91
|
-
endpointIndex: this.endpoint.index,
|
|
92
|
-
});
|
|
93
|
-
const response = await this.host.sendCommand(cc, {
|
|
94
|
-
...this.commandOptions,
|
|
95
|
-
// Only try getting a nonce once
|
|
96
|
-
maxSendAttempts: 1,
|
|
97
|
-
});
|
|
98
|
-
if (!response)
|
|
99
|
-
return;
|
|
100
|
-
const nonce = response.nonce;
|
|
101
|
-
const secMan = this.host.securityManager;
|
|
102
|
-
secMan.setNonce({
|
|
103
|
-
issuer: this.endpoint.nodeId,
|
|
104
|
-
nonceId: secMan.getNonceId(nonce),
|
|
105
|
-
}, { nonce, receiver: this.host.ownNodeId }, { free: true });
|
|
106
|
-
return nonce;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Responds to a NonceGet request. The message is sent without any retransmission etc.
|
|
110
|
-
* The return value indicates whether a nonce was successfully sent
|
|
111
|
-
*/
|
|
112
|
-
async sendNonce() {
|
|
113
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.NonceReport);
|
|
114
|
-
if (!this.host.securityManager) {
|
|
115
|
-
throw new core_1.ZWaveError(`Nonces can only be sent if secure communication is set up!`, core_1.ZWaveErrorCodes.Driver_NoSecurity);
|
|
116
|
-
}
|
|
117
|
-
const nonce = this.host.securityManager.generateNonce(this.endpoint.nodeId, HALF_NONCE_SIZE);
|
|
118
|
-
const nonceId = this.host.securityManager.getNonceId(nonce);
|
|
119
|
-
const cc = new SecurityCCNonceReport({
|
|
120
|
-
nodeId: this.endpoint.nodeId,
|
|
121
|
-
endpointIndex: this.endpoint.index,
|
|
122
|
-
nonce,
|
|
123
|
-
});
|
|
124
|
-
try {
|
|
125
|
-
await this.host.sendCommand(cc, {
|
|
126
|
-
...this.commandOptions,
|
|
127
|
-
// Seems we need these options or some nodes won't accept the nonce
|
|
128
|
-
transmitOptions: core_1.TransmitOptions.ACK
|
|
129
|
-
| core_1.TransmitOptions.AutoRoute,
|
|
130
|
-
// Only try sending a nonce once
|
|
131
|
-
maxSendAttempts: 1,
|
|
132
|
-
// Nonce requests must be handled immediately
|
|
133
|
-
priority: core_1.MessagePriority.Immediate,
|
|
134
|
-
// We don't want failures causing us to treat the node as asleep or dead
|
|
135
|
-
changeNodeStatusOnMissingACK: false,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
catch (e) {
|
|
139
|
-
if ((0, core_1.isTransmissionError)(e)) {
|
|
140
|
-
// The nonce could not be sent, invalidate it
|
|
141
|
-
this.host.securityManager.deleteNonce(nonceId);
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
// Pass other errors through
|
|
146
|
-
throw e;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
async getSecurityScheme() {
|
|
152
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.SchemeGet);
|
|
153
|
-
const cc = new SecurityCCSchemeGet({
|
|
154
|
-
nodeId: this.endpoint.nodeId,
|
|
155
|
-
endpointIndex: this.endpoint.index,
|
|
156
|
-
});
|
|
157
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
158
|
-
// There is only one scheme, so we hardcode it
|
|
159
|
-
return [0];
|
|
160
|
-
}
|
|
161
|
-
async reportSecurityScheme(encapsulated) {
|
|
162
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.SchemeReport);
|
|
163
|
-
let cc = new SecurityCCSchemeReport({
|
|
164
|
-
nodeId: this.endpoint.nodeId,
|
|
165
|
-
endpointIndex: this.endpoint.index,
|
|
166
|
-
});
|
|
167
|
-
if (encapsulated) {
|
|
168
|
-
cc = new SecurityCCCommandEncapsulation({
|
|
169
|
-
nodeId: this.endpoint.nodeId,
|
|
170
|
-
endpointIndex: this.endpoint.index,
|
|
171
|
-
encapsulated: cc,
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
175
|
-
}
|
|
176
|
-
async inheritSecurityScheme() {
|
|
177
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.SchemeInherit);
|
|
178
|
-
const cc = new SecurityCCSchemeInherit({
|
|
179
|
-
nodeId: this.endpoint.nodeId,
|
|
180
|
-
endpointIndex: this.endpoint.index,
|
|
181
|
-
});
|
|
182
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
183
|
-
// There is only one scheme, so we don't return anything here
|
|
184
|
-
}
|
|
185
|
-
async setNetworkKey(networkKey) {
|
|
186
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.NetworkKeySet);
|
|
187
|
-
const keySet = new SecurityCCNetworkKeySet({
|
|
188
|
-
nodeId: this.endpoint.nodeId,
|
|
189
|
-
endpointIndex: this.endpoint.index,
|
|
190
|
-
networkKey,
|
|
191
|
-
});
|
|
192
|
-
const cc = new SecurityCCCommandEncapsulation({
|
|
193
|
-
nodeId: this.endpoint.nodeId,
|
|
194
|
-
endpointIndex: this.endpoint.index,
|
|
195
|
-
encapsulated: keySet,
|
|
196
|
-
alternativeNetworkKey: new Uint8Array(16).fill(0),
|
|
197
|
-
});
|
|
198
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
199
|
-
}
|
|
200
|
-
async verifyNetworkKey() {
|
|
201
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.NetworkKeyVerify);
|
|
202
|
-
const cc = new SecurityCCNetworkKeyVerify({
|
|
203
|
-
nodeId: this.endpoint.nodeId,
|
|
204
|
-
endpointIndex: this.endpoint.index,
|
|
205
|
-
});
|
|
206
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
207
|
-
}
|
|
208
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
209
|
-
async getSupportedCommands() {
|
|
210
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.CommandsSupportedGet);
|
|
211
|
-
const cc = new SecurityCCCommandsSupportedGet({
|
|
212
|
-
nodeId: this.endpoint.nodeId,
|
|
213
|
-
endpointIndex: this.endpoint.index,
|
|
214
|
-
});
|
|
215
|
-
const response = await this.host.sendCommand(cc, this.commandOptions);
|
|
216
|
-
if (response) {
|
|
217
|
-
return (0, safe_2.pick)(response, ["supportedCCs", "controlledCCs"]);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
async reportSupportedCommands(supportedCCs, controlledCCs) {
|
|
221
|
-
this.assertSupportsCommand(_Types_1.SecurityCommand, _Types_1.SecurityCommand.CommandsSupportedReport);
|
|
222
|
-
const cc = new SecurityCCCommandsSupportedReport({
|
|
223
|
-
nodeId: this.endpoint.nodeId,
|
|
224
|
-
endpointIndex: this.endpoint.index,
|
|
225
|
-
supportedCCs,
|
|
226
|
-
controlledCCs,
|
|
227
|
-
reportsToFollow: 0,
|
|
228
|
-
});
|
|
229
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
230
|
-
}
|
|
231
|
-
};
|
|
232
|
-
exports.SecurityCCAPI = SecurityCCAPI;
|
|
233
|
-
exports.SecurityCCAPI = SecurityCCAPI = __decorate([
|
|
234
|
-
(0, CommandClassDecorators_1.API)(core_1.CommandClasses.Security)
|
|
235
|
-
], SecurityCCAPI);
|
|
236
|
-
let SecurityCC = SecurityCC_1 = class SecurityCC extends CommandClass_1.CommandClass {
|
|
237
|
-
async interview(ctx) {
|
|
238
|
-
const node = this.getNode(ctx);
|
|
239
|
-
const endpoint = this.getEndpoint(ctx);
|
|
240
|
-
const api = API_1.CCAPI.create(core_1.CommandClasses.Security, ctx, endpoint).withOptions({
|
|
241
|
-
priority: core_1.MessagePriority.NodeQuery,
|
|
242
|
-
});
|
|
243
|
-
ctx.logNode(node.id, {
|
|
244
|
-
message: "Querying securely supported commands (S0)...",
|
|
245
|
-
direction: "outbound",
|
|
246
|
-
});
|
|
247
|
-
let supportedCCs;
|
|
248
|
-
let controlledCCs;
|
|
249
|
-
// Try up to 3 times on the root device. We REALLY don't want a spurious timeout or collision to cause us to discard a known good security class
|
|
250
|
-
const MAX_ATTEMPTS = this.endpointIndex === 0 ? 3 : 1;
|
|
251
|
-
for (let attempts = 1; attempts <= MAX_ATTEMPTS; attempts++) {
|
|
252
|
-
const resp = await api.getSupportedCommands();
|
|
253
|
-
if (resp) {
|
|
254
|
-
supportedCCs = resp.supportedCCs;
|
|
255
|
-
controlledCCs = resp.controlledCCs;
|
|
256
|
-
break;
|
|
257
|
-
}
|
|
258
|
-
else if (attempts < MAX_ATTEMPTS) {
|
|
259
|
-
ctx.logNode(node.id, {
|
|
260
|
-
endpoint: this.endpointIndex,
|
|
261
|
-
message: `Querying securely supported commands (S0), attempt ${attempts}/${MAX_ATTEMPTS} failed. Retrying in 500ms...`,
|
|
262
|
-
level: "warn",
|
|
263
|
-
});
|
|
264
|
-
await (0, async_1.wait)(500);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
if (!supportedCCs || !controlledCCs) {
|
|
268
|
-
if (node.hasSecurityClass(core_1.SecurityClass.S0_Legacy) === true) {
|
|
269
|
-
ctx.logNode(node.id, {
|
|
270
|
-
endpoint: this.endpointIndex,
|
|
271
|
-
message: "Querying securely supported commands (S0) failed",
|
|
272
|
-
level: "warn",
|
|
273
|
-
});
|
|
274
|
-
// TODO: Abort interview?
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
// We didn't know if the node was secure and it didn't respond,
|
|
278
|
-
// assume that it doesn't have the S0 security class
|
|
279
|
-
ctx.logNode(node.id, `The node was not granted the S0 security class. Continuing interview non-securely.`);
|
|
280
|
-
node.setSecurityClass(core_1.SecurityClass.S0_Legacy, false);
|
|
281
|
-
}
|
|
282
|
-
return;
|
|
283
|
-
}
|
|
284
|
-
const logLines = [
|
|
285
|
-
"received secure commands (S0)",
|
|
286
|
-
"supported CCs:",
|
|
287
|
-
];
|
|
288
|
-
for (const cc of supportedCCs) {
|
|
289
|
-
logLines.push(`· ${(0, core_1.getCCName)(cc)}`);
|
|
290
|
-
}
|
|
291
|
-
logLines.push("controlled CCs:");
|
|
292
|
-
for (const cc of controlledCCs) {
|
|
293
|
-
logLines.push(`· ${(0, core_1.getCCName)(cc)}`);
|
|
294
|
-
}
|
|
295
|
-
ctx.logNode(node.id, {
|
|
296
|
-
message: logLines.join("\n"),
|
|
297
|
-
direction: "inbound",
|
|
298
|
-
});
|
|
299
|
-
// Remember which commands are supported securely
|
|
300
|
-
for (const cc of supportedCCs) {
|
|
301
|
-
// Basic CC has special rules for when it is considered supported
|
|
302
|
-
// Therefore we mark all other CCs as supported, but not Basic CC,
|
|
303
|
-
// for which support is determined later.
|
|
304
|
-
if (cc === core_1.CommandClasses.Basic) {
|
|
305
|
-
endpoint.addCC(cc, { secure: true });
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
308
|
-
endpoint.addCC(cc, {
|
|
309
|
-
isSupported: true,
|
|
310
|
-
secure: true,
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
for (const cc of controlledCCs) {
|
|
315
|
-
// Basic CC has special rules for when it is considered supported
|
|
316
|
-
// Therefore we mark all other CCs as supported, but not Basic CC,
|
|
317
|
-
// for which support is determined later.
|
|
318
|
-
if (cc === core_1.CommandClasses.Basic) {
|
|
319
|
-
endpoint.addCC(cc, { secure: true });
|
|
320
|
-
}
|
|
321
|
-
else {
|
|
322
|
-
endpoint.addCC(cc, {
|
|
323
|
-
isControlled: true,
|
|
324
|
-
secure: true,
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
// We know for sure that the node is included securely
|
|
329
|
-
if (node.hasSecurityClass(core_1.SecurityClass.S0_Legacy) !== true) {
|
|
330
|
-
node.setSecurityClass(core_1.SecurityClass.S0_Legacy, true);
|
|
331
|
-
ctx.logNode(node.id, `The node was granted the S0 security class`);
|
|
332
|
-
}
|
|
333
|
-
// Remember that the interview is complete
|
|
334
|
-
this.setInterviewComplete(ctx, true);
|
|
335
|
-
}
|
|
336
|
-
/** Tests if a command should be sent secure and thus requires encapsulation */
|
|
337
|
-
static requiresEncapsulation(cc) {
|
|
338
|
-
// No security flag -> no encapsulation
|
|
339
|
-
if (!(cc.encapsulationFlags & core_1.EncapsulationFlags.Security)) {
|
|
340
|
-
return false;
|
|
341
|
-
}
|
|
342
|
-
// S2, CRC16, Transport Service -> no S2 encapsulation
|
|
343
|
-
if (cc instanceof Security2CC_1.Security2CC
|
|
344
|
-
|| cc instanceof CRC16CC_1.CRC16CC
|
|
345
|
-
|| cc instanceof TransportServiceCC_1.TransportServiceCC) {
|
|
346
|
-
return false;
|
|
347
|
-
}
|
|
348
|
-
// S0: check command
|
|
349
|
-
if (cc instanceof SecurityCC_1) {
|
|
350
|
-
switch (cc.ccCommand) {
|
|
351
|
-
// Already encapsulated
|
|
352
|
-
case _Types_1.SecurityCommand.CommandEncapsulation:
|
|
353
|
-
case _Types_1.SecurityCommand.CommandEncapsulationNonceGet:
|
|
354
|
-
// Cannot be sent encapsulated:
|
|
355
|
-
case _Types_1.SecurityCommand.NonceGet:
|
|
356
|
-
case _Types_1.SecurityCommand.NonceReport:
|
|
357
|
-
case _Types_1.SecurityCommand.SchemeGet:
|
|
358
|
-
case _Types_1.SecurityCommand.SchemeReport:
|
|
359
|
-
return false;
|
|
360
|
-
default:
|
|
361
|
-
// All other commands must be encapsulated
|
|
362
|
-
return true;
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
// Everything else needs to be encapsulated if the CC is secure
|
|
366
|
-
return true;
|
|
367
|
-
}
|
|
368
|
-
/** Encapsulates a command that should be sent encrypted */
|
|
369
|
-
static encapsulate(ownNodeId, securityManager, cc) {
|
|
370
|
-
// TODO: When to return a SecurityCCCommandEncapsulationNonceGet?
|
|
371
|
-
const ret = new SecurityCCCommandEncapsulation({
|
|
372
|
-
nodeId: cc.nodeId,
|
|
373
|
-
encapsulated: cc,
|
|
374
|
-
});
|
|
375
|
-
// Copy the encapsulation flags from the encapsulated command
|
|
376
|
-
// but omit Security, since we're doing that right now
|
|
377
|
-
ret.encapsulationFlags = cc.encapsulationFlags
|
|
378
|
-
& ~core_1.EncapsulationFlags.Security;
|
|
379
|
-
return ret;
|
|
380
|
-
}
|
|
381
|
-
};
|
|
382
|
-
exports.SecurityCC = SecurityCC;
|
|
383
|
-
exports.SecurityCC = SecurityCC = SecurityCC_1 = __decorate([
|
|
384
|
-
(0, CommandClassDecorators_1.commandClass)(core_1.CommandClasses.Security),
|
|
385
|
-
(0, CommandClassDecorators_1.implementedVersion)(1)
|
|
386
|
-
], SecurityCC);
|
|
387
|
-
let SecurityCCNonceReport = SecurityCCNonceReport_1 = class SecurityCCNonceReport extends SecurityCC {
|
|
388
|
-
constructor(options) {
|
|
389
|
-
super(options);
|
|
390
|
-
if (options.nonce.length !== HALF_NONCE_SIZE) {
|
|
391
|
-
throw new core_1.ZWaveError(`Nonce must have length ${HALF_NONCE_SIZE}!`, core_1.ZWaveErrorCodes.Argument_Invalid);
|
|
392
|
-
}
|
|
393
|
-
this.nonce = options.nonce;
|
|
394
|
-
}
|
|
395
|
-
static from(raw, ctx) {
|
|
396
|
-
core_1.validatePayload.withReason("Invalid nonce length")(raw.payload.length === HALF_NONCE_SIZE);
|
|
397
|
-
return new SecurityCCNonceReport_1({
|
|
398
|
-
nodeId: ctx.sourceNodeId,
|
|
399
|
-
nonce: raw.payload,
|
|
400
|
-
});
|
|
401
|
-
}
|
|
402
|
-
nonce;
|
|
403
|
-
serialize(ctx) {
|
|
404
|
-
this.payload = safe_1.Bytes.view(this.nonce);
|
|
405
|
-
return super.serialize(ctx);
|
|
406
|
-
}
|
|
407
|
-
toLogEntry(ctx) {
|
|
408
|
-
return {
|
|
409
|
-
...super.toLogEntry(ctx),
|
|
410
|
-
message: { nonce: (0, safe_2.buffer2hex)(this.nonce) },
|
|
411
|
-
};
|
|
412
|
-
}
|
|
413
|
-
};
|
|
414
|
-
exports.SecurityCCNonceReport = SecurityCCNonceReport;
|
|
415
|
-
exports.SecurityCCNonceReport = SecurityCCNonceReport = SecurityCCNonceReport_1 = __decorate([
|
|
416
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.NonceReport)
|
|
417
|
-
], SecurityCCNonceReport);
|
|
418
|
-
let SecurityCCNonceGet = class SecurityCCNonceGet extends SecurityCC {
|
|
419
|
-
};
|
|
420
|
-
exports.SecurityCCNonceGet = SecurityCCNonceGet;
|
|
421
|
-
exports.SecurityCCNonceGet = SecurityCCNonceGet = __decorate([
|
|
422
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.NonceGet),
|
|
423
|
-
(0, CommandClassDecorators_1.expectedCCResponse)(SecurityCCNonceReport)
|
|
424
|
-
], SecurityCCNonceGet);
|
|
425
|
-
function getCCResponseForCommandEncapsulation(sent) {
|
|
426
|
-
if (sent.encapsulated.expectsCCResponse()) {
|
|
427
|
-
return SecurityCCCommandEncapsulation;
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
let SecurityCCCommandEncapsulation = SecurityCCCommandEncapsulation_1 = class SecurityCCCommandEncapsulation extends SecurityCC {
|
|
431
|
-
constructor(options) {
|
|
432
|
-
super(options);
|
|
433
|
-
if ("encapsulated" in options) {
|
|
434
|
-
this.encapsulated = options.encapsulated;
|
|
435
|
-
this.encapsulated.encapsulatingCC = this;
|
|
436
|
-
}
|
|
437
|
-
else {
|
|
438
|
-
this.decryptedCCBytes = options.decryptedCCBytes;
|
|
439
|
-
this.sequenced = options.sequenced;
|
|
440
|
-
this.secondFrame = options.secondFrame;
|
|
441
|
-
this.sequenceCounter = options.sequenceCounter;
|
|
442
|
-
}
|
|
443
|
-
this.alternativeNetworkKey = options.alternativeNetworkKey;
|
|
444
|
-
}
|
|
445
|
-
static from(raw, ctx) {
|
|
446
|
-
assertSecurityRX(ctx);
|
|
447
|
-
// HALF_NONCE_SIZE bytes iv, 1 byte frame control, at least 1 CC byte, 1 byte nonce id, 8 bytes auth code
|
|
448
|
-
(0, core_1.validatePayload)(raw.payload.length >= HALF_NONCE_SIZE + 1 + 1 + 1 + 8);
|
|
449
|
-
const iv = raw.payload.subarray(0, HALF_NONCE_SIZE);
|
|
450
|
-
const encryptedPayload = raw.payload.subarray(HALF_NONCE_SIZE, -9);
|
|
451
|
-
const nonceId = raw.payload.at(-9);
|
|
452
|
-
const authCode = raw.payload.subarray(-8);
|
|
453
|
-
// Retrieve the used nonce from the nonce store
|
|
454
|
-
const nonce = ctx.securityManager.getNonce(nonceId);
|
|
455
|
-
// Only accept the message if the nonce hasn't expired
|
|
456
|
-
if (!nonce) {
|
|
457
|
-
core_1.validatePayload.fail(`Nonce ${(0, safe_2.num2hex)(nonceId)} expired, cannot decode security encapsulated command.`);
|
|
458
|
-
}
|
|
459
|
-
// and mark the nonce as used
|
|
460
|
-
ctx.securityManager.deleteNonce(nonceId);
|
|
461
|
-
// Validate the encrypted data
|
|
462
|
-
const authData = getAuthenticationData(iv, nonce, _Types_1.SecurityCommand.CommandEncapsulation, ctx.sourceNodeId, ctx.ownNodeId, encryptedPayload);
|
|
463
|
-
const expectedAuthCode = (0, core_1.computeMAC)(authData, ctx.securityManager.authKey);
|
|
464
|
-
// Only accept messages with a correct auth code
|
|
465
|
-
core_1.validatePayload.withReason("Invalid auth code, won't accept security encapsulated command.")(authCode.equals(expectedAuthCode));
|
|
466
|
-
// Decrypt the encapsulated CC
|
|
467
|
-
const frameControlAndDecryptedCC = (0, core_1.decryptAES128OFB)(encryptedPayload, ctx.securityManager.encryptionKey, safe_1.Bytes.concat([iv, nonce]));
|
|
468
|
-
const frameControl = frameControlAndDecryptedCC[0];
|
|
469
|
-
const sequenceCounter = frameControl & 0b1111;
|
|
470
|
-
const sequenced = !!(frameControl & 0b1_0000);
|
|
471
|
-
const secondFrame = !!(frameControl & 0b10_0000);
|
|
472
|
-
const decryptedCCBytes = frameControlAndDecryptedCC
|
|
473
|
-
.subarray(1);
|
|
474
|
-
const ret = new SecurityCCCommandEncapsulation_1({
|
|
475
|
-
nodeId: ctx.sourceNodeId,
|
|
476
|
-
sequenceCounter,
|
|
477
|
-
sequenced,
|
|
478
|
-
secondFrame,
|
|
479
|
-
decryptedCCBytes,
|
|
480
|
-
});
|
|
481
|
-
ret.authData = authData;
|
|
482
|
-
ret.authCode = authCode;
|
|
483
|
-
ret.iv = iv;
|
|
484
|
-
return ret;
|
|
485
|
-
}
|
|
486
|
-
sequenced;
|
|
487
|
-
secondFrame;
|
|
488
|
-
sequenceCounter;
|
|
489
|
-
decryptedCCBytes;
|
|
490
|
-
encapsulated;
|
|
491
|
-
alternativeNetworkKey;
|
|
492
|
-
get nonceId() {
|
|
493
|
-
return this.nonce?.[0];
|
|
494
|
-
}
|
|
495
|
-
nonce;
|
|
496
|
-
// Only used testing/for debugging purposes
|
|
497
|
-
iv;
|
|
498
|
-
authData;
|
|
499
|
-
authCode;
|
|
500
|
-
ciphertext;
|
|
501
|
-
getPartialCCSessionId() {
|
|
502
|
-
if (this.sequenced) {
|
|
503
|
-
return {
|
|
504
|
-
// Treat Encapsulation and EncapsulationNonceGet as one
|
|
505
|
-
ccCommand: undefined,
|
|
506
|
-
sequence: this.sequenceCounter,
|
|
507
|
-
};
|
|
508
|
-
}
|
|
509
|
-
else {
|
|
510
|
-
return {
|
|
511
|
-
// Treat Encapsulation and EncapsulationNonceGet as one
|
|
512
|
-
ccCommand: undefined,
|
|
513
|
-
};
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
expectMoreMessages() {
|
|
517
|
-
return !!this.sequenced && !this.secondFrame;
|
|
518
|
-
}
|
|
519
|
-
mergePartialCCs(partials, ctx) {
|
|
520
|
-
// Concat the CC buffers
|
|
521
|
-
this.decryptedCCBytes = safe_1.Bytes.concat([...partials, this].map((cc) => cc.decryptedCCBytes));
|
|
522
|
-
// make sure this contains a complete CC command that's worth splitting
|
|
523
|
-
(0, core_1.validatePayload)(this.decryptedCCBytes.length >= 2);
|
|
524
|
-
// and deserialize the CC
|
|
525
|
-
this.encapsulated = CommandClass_1.CommandClass.parse(this.decryptedCCBytes, ctx);
|
|
526
|
-
this.encapsulated.encapsulatingCC = this;
|
|
527
|
-
}
|
|
528
|
-
serialize(ctx) {
|
|
529
|
-
if (!this.nonce)
|
|
530
|
-
throwNoNonce();
|
|
531
|
-
if (this.nonce.length !== HALF_NONCE_SIZE) {
|
|
532
|
-
throwNoNonce("Invalid nonce size");
|
|
533
|
-
}
|
|
534
|
-
assertSecurityTX(ctx);
|
|
535
|
-
let authKey;
|
|
536
|
-
let encryptionKey;
|
|
537
|
-
if (this.alternativeNetworkKey) {
|
|
538
|
-
authKey = (0, core_1.generateAuthKey)(this.alternativeNetworkKey);
|
|
539
|
-
encryptionKey = (0, core_1.generateEncryptionKey)(this.alternativeNetworkKey);
|
|
540
|
-
}
|
|
541
|
-
else {
|
|
542
|
-
authKey = ctx.securityManager.authKey;
|
|
543
|
-
encryptionKey = ctx.securityManager.encryptionKey;
|
|
544
|
-
}
|
|
545
|
-
const serializedCC = this.encapsulated.serialize(ctx);
|
|
546
|
-
const plaintext = safe_1.Bytes.concat([
|
|
547
|
-
safe_1.Bytes.from([0]), // TODO: frame control
|
|
548
|
-
serializedCC,
|
|
549
|
-
]);
|
|
550
|
-
// Encrypt the payload
|
|
551
|
-
const senderNonce = (0, node_crypto_1.randomBytes)(HALF_NONCE_SIZE);
|
|
552
|
-
const iv = safe_1.Bytes.concat([senderNonce, this.nonce]);
|
|
553
|
-
const ciphertext = (0, core_1.encryptAES128OFB)(plaintext, encryptionKey, iv);
|
|
554
|
-
// And generate the auth code
|
|
555
|
-
const authData = getAuthenticationData(senderNonce, this.nonce, this.ccCommand, ctx.ownNodeId, this.nodeId, ciphertext);
|
|
556
|
-
const authCode = (0, core_1.computeMAC)(authData, authKey);
|
|
557
|
-
// Remember for debugging purposes
|
|
558
|
-
this.iv = iv;
|
|
559
|
-
this.authData = authData;
|
|
560
|
-
this.authCode = authCode;
|
|
561
|
-
this.ciphertext = ciphertext;
|
|
562
|
-
this.payload = safe_1.Bytes.concat([
|
|
563
|
-
senderNonce,
|
|
564
|
-
ciphertext,
|
|
565
|
-
safe_1.Bytes.from([this.nonceId]),
|
|
566
|
-
authCode,
|
|
567
|
-
]);
|
|
568
|
-
return super.serialize(ctx);
|
|
569
|
-
}
|
|
570
|
-
computeEncapsulationOverhead() {
|
|
571
|
-
// Security CC adds 8 bytes IV, 1 byte frame control, 1 byte nonce ID, 8 bytes MAC
|
|
572
|
-
return super.computeEncapsulationOverhead() + 18;
|
|
573
|
-
}
|
|
574
|
-
toLogEntry(ctx) {
|
|
575
|
-
const message = {};
|
|
576
|
-
if (this.nonceId != undefined) {
|
|
577
|
-
message["nonce id"] = this.nonceId;
|
|
578
|
-
}
|
|
579
|
-
if (this.sequenced != undefined) {
|
|
580
|
-
message.sequenced = this.sequenced;
|
|
581
|
-
if (this.sequenced) {
|
|
582
|
-
if (this.secondFrame != undefined) {
|
|
583
|
-
message["second frame"] = this.secondFrame;
|
|
584
|
-
}
|
|
585
|
-
if (this.sequenceCounter != undefined) {
|
|
586
|
-
message["sequence counter"] = this.sequenceCounter;
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
|
-
}
|
|
590
|
-
// Log the plaintext in integration tests and development mode
|
|
591
|
-
if (process.env.NODE_ENV === "test"
|
|
592
|
-
|| process.env.NODE_ENV === "development") {
|
|
593
|
-
if (this.iv) {
|
|
594
|
-
message.IV = (0, safe_2.buffer2hex)(this.iv);
|
|
595
|
-
}
|
|
596
|
-
if (this.ciphertext) {
|
|
597
|
-
message.ciphertext = (0, safe_2.buffer2hex)(this.ciphertext);
|
|
598
|
-
}
|
|
599
|
-
else if (this.decryptedCCBytes) {
|
|
600
|
-
message.plaintext = (0, safe_2.buffer2hex)(this.decryptedCCBytes);
|
|
601
|
-
}
|
|
602
|
-
if (this.authData) {
|
|
603
|
-
message["auth data"] = (0, safe_2.buffer2hex)(this.authData);
|
|
604
|
-
}
|
|
605
|
-
if (this.authCode) {
|
|
606
|
-
message["auth code"] = (0, safe_2.buffer2hex)(this.authCode);
|
|
607
|
-
}
|
|
608
|
-
}
|
|
609
|
-
return {
|
|
610
|
-
...super.toLogEntry(ctx),
|
|
611
|
-
message,
|
|
612
|
-
};
|
|
613
|
-
}
|
|
614
|
-
};
|
|
615
|
-
exports.SecurityCCCommandEncapsulation = SecurityCCCommandEncapsulation;
|
|
616
|
-
exports.SecurityCCCommandEncapsulation = SecurityCCCommandEncapsulation = SecurityCCCommandEncapsulation_1 = __decorate([
|
|
617
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.CommandEncapsulation),
|
|
618
|
-
(0, CommandClassDecorators_1.expectedCCResponse)(getCCResponseForCommandEncapsulation, () => "checkEncapsulated")
|
|
619
|
-
], SecurityCCCommandEncapsulation);
|
|
620
|
-
// This is the same message, but with another CC command
|
|
621
|
-
let SecurityCCCommandEncapsulationNonceGet = class SecurityCCCommandEncapsulationNonceGet extends SecurityCCCommandEncapsulation {
|
|
622
|
-
};
|
|
623
|
-
exports.SecurityCCCommandEncapsulationNonceGet = SecurityCCCommandEncapsulationNonceGet;
|
|
624
|
-
exports.SecurityCCCommandEncapsulationNonceGet = SecurityCCCommandEncapsulationNonceGet = __decorate([
|
|
625
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.CommandEncapsulationNonceGet)
|
|
626
|
-
], SecurityCCCommandEncapsulationNonceGet);
|
|
627
|
-
let SecurityCCSchemeReport = SecurityCCSchemeReport_1 = class SecurityCCSchemeReport extends SecurityCC {
|
|
628
|
-
static from(raw, ctx) {
|
|
629
|
-
(0, core_1.validatePayload)(raw.payload.length >= 1);
|
|
630
|
-
// The including controller MUST NOT perform any validation of the Supported Security Schemes byte
|
|
631
|
-
return new SecurityCCSchemeReport_1({
|
|
632
|
-
nodeId: ctx.sourceNodeId,
|
|
633
|
-
});
|
|
634
|
-
}
|
|
635
|
-
serialize(ctx) {
|
|
636
|
-
// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)
|
|
637
|
-
this.payload = safe_1.Bytes.from([0]);
|
|
638
|
-
return super.serialize(ctx);
|
|
639
|
-
}
|
|
640
|
-
toLogEntry(ctx) {
|
|
641
|
-
return {
|
|
642
|
-
...super.toLogEntry(ctx),
|
|
643
|
-
// Hide the default payload line
|
|
644
|
-
message: undefined,
|
|
645
|
-
};
|
|
646
|
-
}
|
|
647
|
-
};
|
|
648
|
-
exports.SecurityCCSchemeReport = SecurityCCSchemeReport;
|
|
649
|
-
exports.SecurityCCSchemeReport = SecurityCCSchemeReport = SecurityCCSchemeReport_1 = __decorate([
|
|
650
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.SchemeReport)
|
|
651
|
-
], SecurityCCSchemeReport);
|
|
652
|
-
let SecurityCCSchemeGet = class SecurityCCSchemeGet extends SecurityCC {
|
|
653
|
-
serialize(ctx) {
|
|
654
|
-
// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)
|
|
655
|
-
this.payload = safe_1.Bytes.from([0]);
|
|
656
|
-
return super.serialize(ctx);
|
|
657
|
-
}
|
|
658
|
-
toLogEntry(ctx) {
|
|
659
|
-
return {
|
|
660
|
-
...super.toLogEntry(ctx),
|
|
661
|
-
// Hide the default payload line
|
|
662
|
-
message: undefined,
|
|
663
|
-
};
|
|
664
|
-
}
|
|
665
|
-
};
|
|
666
|
-
exports.SecurityCCSchemeGet = SecurityCCSchemeGet;
|
|
667
|
-
exports.SecurityCCSchemeGet = SecurityCCSchemeGet = __decorate([
|
|
668
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.SchemeGet),
|
|
669
|
-
(0, CommandClassDecorators_1.expectedCCResponse)(SecurityCCSchemeReport)
|
|
670
|
-
], SecurityCCSchemeGet);
|
|
671
|
-
let SecurityCCSchemeInherit = class SecurityCCSchemeInherit extends SecurityCC {
|
|
672
|
-
serialize(ctx) {
|
|
673
|
-
// Since it is unlikely that any more schemes will be added to S0, we hardcode the default scheme here (bit 0 = 0)
|
|
674
|
-
this.payload = safe_1.Bytes.from([0]);
|
|
675
|
-
return super.serialize(ctx);
|
|
676
|
-
}
|
|
677
|
-
toLogEntry(ctx) {
|
|
678
|
-
return {
|
|
679
|
-
...super.toLogEntry(ctx),
|
|
680
|
-
// Hide the default payload line
|
|
681
|
-
message: undefined,
|
|
682
|
-
};
|
|
683
|
-
}
|
|
684
|
-
};
|
|
685
|
-
exports.SecurityCCSchemeInherit = SecurityCCSchemeInherit;
|
|
686
|
-
exports.SecurityCCSchemeInherit = SecurityCCSchemeInherit = __decorate([
|
|
687
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.SchemeInherit),
|
|
688
|
-
(0, CommandClassDecorators_1.expectedCCResponse)(SecurityCCSchemeReport)
|
|
689
|
-
], SecurityCCSchemeInherit);
|
|
690
|
-
let SecurityCCNetworkKeyVerify = class SecurityCCNetworkKeyVerify extends SecurityCC {
|
|
691
|
-
};
|
|
692
|
-
exports.SecurityCCNetworkKeyVerify = SecurityCCNetworkKeyVerify;
|
|
693
|
-
exports.SecurityCCNetworkKeyVerify = SecurityCCNetworkKeyVerify = __decorate([
|
|
694
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.NetworkKeyVerify)
|
|
695
|
-
], SecurityCCNetworkKeyVerify);
|
|
696
|
-
let SecurityCCNetworkKeySet = SecurityCCNetworkKeySet_1 = class SecurityCCNetworkKeySet extends SecurityCC {
|
|
697
|
-
constructor(options) {
|
|
698
|
-
super(options);
|
|
699
|
-
if (options.networkKey.length !== 16) {
|
|
700
|
-
throw new core_1.ZWaveError(`The network key must have length 16!`, core_1.ZWaveErrorCodes.Argument_Invalid);
|
|
701
|
-
}
|
|
702
|
-
this.networkKey = options.networkKey;
|
|
703
|
-
}
|
|
704
|
-
static from(raw, ctx) {
|
|
705
|
-
(0, core_1.validatePayload)(raw.payload.length >= 16);
|
|
706
|
-
const networkKey = raw.payload.subarray(0, 16);
|
|
707
|
-
return new SecurityCCNetworkKeySet_1({
|
|
708
|
-
nodeId: ctx.sourceNodeId,
|
|
709
|
-
networkKey,
|
|
710
|
-
});
|
|
711
|
-
}
|
|
712
|
-
networkKey;
|
|
713
|
-
serialize(ctx) {
|
|
714
|
-
this.payload = safe_1.Bytes.view(this.networkKey);
|
|
715
|
-
return super.serialize(ctx);
|
|
716
|
-
}
|
|
717
|
-
toLogEntry(ctx) {
|
|
718
|
-
// The network key shouldn't be logged, so users can safely post their logs online
|
|
719
|
-
const { message, ...log } = super.toLogEntry(ctx);
|
|
720
|
-
return log;
|
|
721
|
-
}
|
|
722
|
-
};
|
|
723
|
-
exports.SecurityCCNetworkKeySet = SecurityCCNetworkKeySet;
|
|
724
|
-
exports.SecurityCCNetworkKeySet = SecurityCCNetworkKeySet = SecurityCCNetworkKeySet_1 = __decorate([
|
|
725
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.NetworkKeySet),
|
|
726
|
-
(0, CommandClassDecorators_1.expectedCCResponse)(SecurityCCNetworkKeyVerify)
|
|
727
|
-
], SecurityCCNetworkKeySet);
|
|
728
|
-
let SecurityCCCommandsSupportedReport = SecurityCCCommandsSupportedReport_1 = class SecurityCCCommandsSupportedReport extends SecurityCC {
|
|
729
|
-
constructor(options) {
|
|
730
|
-
super(options);
|
|
731
|
-
this.supportedCCs = options.supportedCCs;
|
|
732
|
-
this.controlledCCs = options.controlledCCs;
|
|
733
|
-
// TODO: properly split the CCs into multiple reports
|
|
734
|
-
this.reportsToFollow = options.reportsToFollow ?? 0;
|
|
735
|
-
}
|
|
736
|
-
static from(raw, ctx) {
|
|
737
|
-
(0, core_1.validatePayload)(raw.payload.length >= 1);
|
|
738
|
-
const reportsToFollow = raw.payload[0];
|
|
739
|
-
const list = (0, core_1.parseCCList)(raw.payload.subarray(1));
|
|
740
|
-
const supportedCCs = list.supportedCCs;
|
|
741
|
-
const controlledCCs = list.controlledCCs;
|
|
742
|
-
return new SecurityCCCommandsSupportedReport_1({
|
|
743
|
-
nodeId: ctx.sourceNodeId,
|
|
744
|
-
reportsToFollow,
|
|
745
|
-
supportedCCs,
|
|
746
|
-
controlledCCs,
|
|
747
|
-
});
|
|
748
|
-
}
|
|
749
|
-
reportsToFollow;
|
|
750
|
-
supportedCCs;
|
|
751
|
-
controlledCCs;
|
|
752
|
-
getPartialCCSessionId() {
|
|
753
|
-
// Nothing special we can distinguish sessions with
|
|
754
|
-
return {};
|
|
755
|
-
}
|
|
756
|
-
expectMoreMessages() {
|
|
757
|
-
return this.reportsToFollow > 0;
|
|
758
|
-
}
|
|
759
|
-
mergePartialCCs(partials) {
|
|
760
|
-
// Concat the lists of CCs
|
|
761
|
-
this.supportedCCs = [...partials, this]
|
|
762
|
-
.map((report) => report.supportedCCs)
|
|
763
|
-
.reduce((prev, cur) => prev.concat(...cur), []);
|
|
764
|
-
this.controlledCCs = [...partials, this]
|
|
765
|
-
.map((report) => report.controlledCCs)
|
|
766
|
-
.reduce((prev, cur) => prev.concat(...cur), []);
|
|
767
|
-
}
|
|
768
|
-
serialize(ctx) {
|
|
769
|
-
this.payload = safe_1.Bytes.concat([
|
|
770
|
-
safe_1.Bytes.from([this.reportsToFollow]),
|
|
771
|
-
(0, core_1.encodeCCList)(this.supportedCCs, this.controlledCCs),
|
|
772
|
-
]);
|
|
773
|
-
return super.serialize(ctx);
|
|
774
|
-
}
|
|
775
|
-
toLogEntry(ctx) {
|
|
776
|
-
return {
|
|
777
|
-
...super.toLogEntry(ctx),
|
|
778
|
-
message: {
|
|
779
|
-
reportsToFollow: this.reportsToFollow,
|
|
780
|
-
supportedCCs: this.supportedCCs
|
|
781
|
-
.map((cc) => (0, core_1.getCCName)(cc))
|
|
782
|
-
.map((cc) => `\n· ${cc}`)
|
|
783
|
-
.join(""),
|
|
784
|
-
controlledCCs: this.controlledCCs
|
|
785
|
-
.map((cc) => (0, core_1.getCCName)(cc))
|
|
786
|
-
.map((cc) => `\n· ${cc}`)
|
|
787
|
-
.join(""),
|
|
788
|
-
},
|
|
789
|
-
};
|
|
790
|
-
}
|
|
791
|
-
};
|
|
792
|
-
exports.SecurityCCCommandsSupportedReport = SecurityCCCommandsSupportedReport;
|
|
793
|
-
exports.SecurityCCCommandsSupportedReport = SecurityCCCommandsSupportedReport = SecurityCCCommandsSupportedReport_1 = __decorate([
|
|
794
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.CommandsSupportedReport)
|
|
795
|
-
], SecurityCCCommandsSupportedReport);
|
|
796
|
-
let SecurityCCCommandsSupportedGet = class SecurityCCCommandsSupportedGet extends SecurityCC {
|
|
797
|
-
};
|
|
798
|
-
exports.SecurityCCCommandsSupportedGet = SecurityCCCommandsSupportedGet;
|
|
799
|
-
exports.SecurityCCCommandsSupportedGet = SecurityCCCommandsSupportedGet = __decorate([
|
|
800
|
-
(0, CommandClassDecorators_1.CCCommand)(_Types_1.SecurityCommand.CommandsSupportedGet),
|
|
801
|
-
(0, CommandClassDecorators_1.expectedCCResponse)(SecurityCCCommandsSupportedReport)
|
|
802
|
-
], SecurityCCCommandsSupportedGet);
|
|
803
|
-
//# sourceMappingURL=SecurityCC.js.map
|