@zwave-js/cc 14.0.0-beta.4 → 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/cc/AlarmSensorCC.js +381 -266
- package/build/cjs/cc/AlarmSensorCC.js.map +3 -3
- package/build/cjs/cc/AssociationCC.js +669 -503
- package/build/cjs/cc/AssociationCC.js.map +3 -3
- package/build/cjs/cc/AssociationGroupInfoCC.js +633 -492
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +3 -3
- package/build/cjs/cc/BarrierOperatorCC.js +595 -429
- package/build/cjs/cc/BarrierOperatorCC.js.map +3 -3
- package/build/cjs/cc/BasicCC.js +354 -260
- package/build/cjs/cc/BasicCC.js.map +3 -3
- package/build/cjs/cc/BatteryCC.js +427 -345
- package/build/cjs/cc/BatteryCC.js.map +3 -3
- package/build/cjs/cc/BinarySensorCC.js +391 -276
- package/build/cjs/cc/BinarySensorCC.js.map +3 -3
- package/build/cjs/cc/BinarySwitchCC.js +347 -253
- package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
- package/build/cjs/cc/CRC16CC.js +160 -85
- package/build/cjs/cc/CRC16CC.js.map +3 -3
- package/build/cjs/cc/CentralSceneCC.js +459 -324
- package/build/cjs/cc/CentralSceneCC.js.map +3 -3
- package/build/cjs/cc/ClimateControlScheduleCC.js +459 -293
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +3 -3
- package/build/cjs/cc/ClockCC.js +254 -150
- package/build/cjs/cc/ClockCC.js.map +3 -3
- package/build/cjs/cc/ColorSwitchCC.js +758 -610
- package/build/cjs/cc/ColorSwitchCC.js.map +3 -3
- package/build/cjs/cc/ConfigurationCC.js +1700 -1453
- package/build/cjs/cc/ConfigurationCC.js.map +3 -3
- package/build/cjs/cc/DeviceResetLocallyCC.js +125 -49
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +3 -3
- package/build/cjs/cc/DoorLockCC.js +904 -777
- package/build/cjs/cc/DoorLockCC.js.map +3 -3
- package/build/cjs/cc/DoorLockLoggingCC.js +321 -206
- package/build/cjs/cc/DoorLockLoggingCC.js.map +3 -3
- package/build/cjs/cc/EnergyProductionCC.js +249 -160
- package/build/cjs/cc/EnergyProductionCC.js.map +3 -3
- package/build/cjs/cc/EntryControlCC.js +619 -458
- package/build/cjs/cc/EntryControlCC.js.map +3 -3
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +898 -698
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +3 -3
- package/build/cjs/cc/HailCC.js +57 -11
- package/build/cjs/cc/HailCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlModeCC.js +359 -233
- package/build/cjs/cc/HumidityControlModeCC.js.map +3 -3
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +189 -103
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +3 -3
- package/build/cjs/cc/HumidityControlSetpointCC.js +682 -495
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +3 -3
- package/build/cjs/cc/InclusionControllerCC.js +205 -114
- package/build/cjs/cc/InclusionControllerCC.js.map +3 -3
- package/build/cjs/cc/IndicatorCC.js +897 -736
- package/build/cjs/cc/IndicatorCC.js.map +3 -3
- package/build/cjs/cc/IrrigationCC.js +1651 -1405
- package/build/cjs/cc/IrrigationCC.js.map +3 -3
- package/build/cjs/cc/LanguageCC.js +268 -171
- package/build/cjs/cc/LanguageCC.js.map +3 -3
- package/build/cjs/cc/LockCC.js +254 -154
- package/build/cjs/cc/LockCC.js.map +3 -3
- package/build/cjs/cc/ManufacturerProprietaryCC.js +189 -129
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC.js +319 -213
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +3 -3
- package/build/cjs/cc/MeterCC.js +827 -707
- package/build/cjs/cc/MeterCC.js.map +3 -3
- package/build/cjs/cc/MultiChannelAssociationCC.js +612 -478
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +3 -3
- package/build/cjs/cc/MultiChannelCC.js +1037 -819
- package/build/cjs/cc/MultiChannelCC.js.map +3 -3
- package/build/cjs/cc/MultiCommandCC.js +172 -97
- package/build/cjs/cc/MultiCommandCC.js.map +3 -3
- package/build/cjs/cc/MultilevelSensorCC.js +589 -449
- package/build/cjs/cc/MultilevelSensorCC.js.map +3 -3
- package/build/cjs/cc/MultilevelSwitchCC.js +587 -439
- package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
- package/build/cjs/cc/NoOperationCC.js +89 -27
- package/build/cjs/cc/NoOperationCC.js.map +2 -2
- package/build/cjs/cc/NodeNamingCC.js +417 -277
- package/build/cjs/cc/NodeNamingCC.js.map +3 -3
- package/build/cjs/cc/NotificationCC.js +972 -818
- package/build/cjs/cc/NotificationCC.js.map +3 -3
- package/build/cjs/cc/PowerlevelCC.js +450 -303
- package/build/cjs/cc/PowerlevelCC.js.map +3 -3
- package/build/cjs/cc/ProtectionCC.js +686 -494
- package/build/cjs/cc/ProtectionCC.js.map +3 -3
- package/build/cjs/cc/SceneActivationCC.js +165 -97
- package/build/cjs/cc/SceneActivationCC.js.map +3 -3
- package/build/cjs/cc/SceneActuatorConfigurationCC.js +346 -243
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +3 -3
- package/build/cjs/cc/SceneControllerConfigurationCC.js +401 -298
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +3 -3
- package/build/cjs/cc/ScheduleEntryLockCC.js +1552 -1272
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +3 -3
- package/build/cjs/cc/Security2CC.js +1483 -1219
- package/build/cjs/cc/Security2CC.js.map +3 -3
- package/build/cjs/cc/SecurityCC.js +839 -619
- package/build/cjs/cc/SecurityCC.js.map +3 -3
- package/build/cjs/cc/SoundSwitchCC.js +707 -515
- package/build/cjs/cc/SoundSwitchCC.js.map +3 -3
- package/build/cjs/cc/SupervisionCC.js +327 -237
- package/build/cjs/cc/SupervisionCC.js.map +3 -3
- package/build/cjs/cc/ThermostatFanModeCC.js +386 -263
- package/build/cjs/cc/ThermostatFanModeCC.js.map +3 -3
- package/build/cjs/cc/ThermostatFanStateCC.js +192 -106
- package/build/cjs/cc/ThermostatFanStateCC.js.map +3 -3
- package/build/cjs/cc/ThermostatModeCC.js +425 -302
- package/build/cjs/cc/ThermostatModeCC.js.map +3 -3
- package/build/cjs/cc/ThermostatOperatingStateCC.js +188 -102
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +3 -3
- package/build/cjs/cc/ThermostatSetbackCC.js +277 -173
- package/build/cjs/cc/ThermostatSetbackCC.js.map +3 -3
- package/build/cjs/cc/ThermostatSetpointCC.js +645 -491
- package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
- package/build/cjs/cc/TimeCC.js +515 -353
- package/build/cjs/cc/TimeCC.js.map +3 -3
- package/build/cjs/cc/TimeParametersCC.js +302 -202
- package/build/cjs/cc/TimeParametersCC.js.map +3 -3
- package/build/cjs/cc/TransportServiceCC.js +433 -315
- package/build/cjs/cc/TransportServiceCC.js.map +3 -3
- package/build/cjs/cc/UserCodeCC.js +1385 -1102
- package/build/cjs/cc/UserCodeCC.js.map +3 -3
- package/build/cjs/cc/VersionCC.js +696 -562
- package/build/cjs/cc/VersionCC.js.map +3 -3
- package/build/cjs/cc/WakeUpCC.js +499 -346
- package/build/cjs/cc/WakeUpCC.js.map +3 -3
- package/build/cjs/cc/WindowCoveringCC.js +626 -478
- package/build/cjs/cc/WindowCoveringCC.js.map +3 -3
- package/build/cjs/cc/ZWaveLongRangeCC.js +57 -10
- package/build/cjs/cc/ZWaveLongRangeCC.js.map +2 -2
- package/build/cjs/cc/ZWavePlusCC.js +233 -159
- package/build/cjs/cc/ZWavePlusCC.js.map +3 -3
- package/build/cjs/cc/ZWaveProtocolCC.js +1515 -948
- package/build/cjs/cc/ZWaveProtocolCC.js.map +3 -3
- package/build/cjs/cc/manufacturerProprietary/Decorators.d.ts +4 -4
- package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +1 -1
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +395 -274
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +3 -3
- package/build/cjs/lib/CommandClassDecorators.d.ts +11 -15
- package/build/cjs/lib/CommandClassDecorators.js +19 -20
- package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
- package/build/cjs/lib/Security2/Extension.d.ts +1 -1
- package/build/cjs/lib/Security2/Extension.js +217 -126
- package/build/cjs/lib/Security2/Extension.js.map +3 -3
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +389 -291
- package/build/esm/cc/AlarmSensorCC.js.map +1 -1
- package/build/esm/cc/AssociationCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationCC.js +678 -537
- package/build/esm/cc/AssociationCC.js.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/esm/cc/AssociationGroupInfoCC.js +659 -539
- package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/esm/cc/BarrierOperatorCC.js +634 -493
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +380 -302
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +449 -384
- package/build/esm/cc/BatteryCC.js.map +1 -1
- package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySensorCC.js +395 -297
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +353 -274
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CRC16CC.js +162 -98
- package/build/esm/cc/CRC16CC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.js +465 -351
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
- package/build/esm/cc/ClimateControlScheduleCC.js +454 -313
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/esm/cc/ClockCC.js +248 -159
- package/build/esm/cc/ClockCC.js.map +1 -1
- package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/ColorSwitchCC.js +802 -677
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +1899 -1687
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js +124 -59
- package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.js +951 -849
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.js +316 -218
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC.js +240 -164
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +629 -493
- package/build/esm/cc/EntryControlCC.js.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js +938 -769
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HailCC.js +51 -12
- package/build/esm/cc/HailCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.js +357 -250
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js +182 -109
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +706 -546
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/InclusionControllerCC.js +197 -119
- package/build/esm/cc/InclusionControllerCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC.js +973 -835
- package/build/esm/cc/IndicatorCC.js.map +1 -1
- package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
- package/build/esm/cc/IrrigationCC.js +1697 -1496
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +266 -184
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC.d.ts.map +1 -1
- package/build/esm/cc/LockCC.js +247 -162
- package/build/esm/cc/LockCC.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.js +192 -141
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +312 -223
- package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/esm/cc/MeterCC.d.ts.map +1 -1
- package/build/esm/cc/MeterCC.js +896 -795
- package/build/esm/cc/MeterCC.js.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelAssociationCC.js +631 -518
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +1106 -921
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultiCommandCC.js +166 -102
- package/build/esm/cc/MultiCommandCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.js +616 -497
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +621 -496
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NoOperationCC.js +82 -29
- package/build/esm/cc/NoOperationCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +413 -294
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +1097 -966
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC.js +437 -311
- package/build/esm/cc/PowerlevelCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.js +704 -543
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActivationCC.js +157 -100
- package/build/esm/cc/SceneActivationCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.js +357 -269
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +434 -346
- package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
- package/build/esm/cc/ScheduleEntryLockCC.js +1596 -1357
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.js +1633 -1406
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.js +876 -687
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +689 -526
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/SupervisionCC.js +349 -272
- package/build/esm/cc/SupervisionCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.js +388 -284
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.js +184 -111
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.js +435 -331
- package/build/esm/cc/ThermostatModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatOperatingStateCC.js +180 -107
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.js +274 -185
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +674 -543
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC.js +499 -360
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.js +296 -211
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/TransportServiceCC.js +464 -363
- package/build/esm/cc/TransportServiceCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.js +1443 -1205
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/VersionCC.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.js +744 -635
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.js +494 -364
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +655 -530
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWaveLongRangeCC.js +51 -11
- package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.js +223 -162
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js +1443 -953
- package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +4 -4
- package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +390 -286
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/esm/lib/CommandClassDecorators.d.ts +11 -15
- package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
- package/build/esm/lib/CommandClassDecorators.js +24 -24
- package/build/esm/lib/CommandClassDecorators.js.map +1 -1
- package/build/esm/lib/Security2/Extension.d.ts +1 -1
- package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
- package/build/esm/lib/Security2/Extension.js +207 -123
- package/build/esm/lib/Security2/Extension.js.map +1 -1
- package/package.json +6 -6
|
@@ -29,13 +29,45 @@ var import_API = require("../lib/API.js");
|
|
|
29
29
|
var import_CommandClass = require("../lib/CommandClass.js");
|
|
30
30
|
var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
|
|
31
31
|
var import_Types = require("../lib/_Types.js");
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
33
|
+
function accept(f) {
|
|
34
|
+
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
|
|
35
|
+
return f;
|
|
36
|
+
}
|
|
37
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
38
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
39
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
40
|
+
var _, done = false;
|
|
41
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
42
|
+
var context = {};
|
|
43
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
44
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
45
|
+
context.addInitializer = function(f) {
|
|
46
|
+
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
|
|
47
|
+
extraInitializers.push(accept(f || null));
|
|
48
|
+
};
|
|
49
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
50
|
+
if (kind === "accessor") {
|
|
51
|
+
if (result === void 0) continue;
|
|
52
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
53
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
54
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
55
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
56
|
+
} else if (_ = accept(result)) {
|
|
57
|
+
if (kind === "field") initializers.unshift(_);
|
|
58
|
+
else descriptor[key] = _;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
62
|
+
done = true;
|
|
63
|
+
};
|
|
64
|
+
var __runInitializers = function(thisArg, initializers, value) {
|
|
65
|
+
var useValue = arguments.length > 2;
|
|
66
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
67
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
68
|
+
}
|
|
69
|
+
return useValue ? value : void 0;
|
|
37
70
|
};
|
|
38
|
-
var MultiCommandCCCommandEncapsulation_1;
|
|
39
71
|
function __assertType(argName, typeName, boundHasError) {
|
|
40
72
|
const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
|
|
41
73
|
if (boundHasError()) {
|
|
@@ -58,98 +90,141 @@ const __assertType__sa__2_ea_2 = ($o) => {
|
|
|
58
90
|
}
|
|
59
91
|
return sa__2_ea_2($o);
|
|
60
92
|
};
|
|
61
|
-
let MultiCommandCCAPI =
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
encapsulated: commands
|
|
71
|
-
});
|
|
72
|
-
cc.endpointIndex = this.endpoint.index;
|
|
73
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
MultiCommandCCAPI = __decorate([
|
|
77
|
-
(0, import_CommandClassDecorators.API)(import_safe.CommandClasses["Multi Command"])
|
|
78
|
-
], MultiCommandCCAPI);
|
|
79
|
-
let MultiCommandCC = class MultiCommandCC2 extends import_CommandClass.CommandClass {
|
|
80
|
-
/** Tests if a command targets a specific endpoint and thus requires encapsulation */
|
|
81
|
-
static requiresEncapsulation(cc) {
|
|
82
|
-
return cc.endpointIndex !== 0 && !(cc instanceof MultiCommandCCCommandEncapsulation);
|
|
83
|
-
}
|
|
84
|
-
static encapsulate(CCs) {
|
|
85
|
-
const ret = new MultiCommandCCCommandEncapsulation({
|
|
86
|
-
nodeId: CCs[0].nodeId,
|
|
87
|
-
encapsulated: CCs
|
|
88
|
-
});
|
|
89
|
-
for (const flag of [
|
|
90
|
-
import_safe.EncapsulationFlags.Supervision,
|
|
91
|
-
import_safe.EncapsulationFlags.Security,
|
|
92
|
-
import_safe.EncapsulationFlags.CRC16
|
|
93
|
-
]) {
|
|
94
|
-
ret.toggleEncapsulationFlag(flag, CCs.some((cc) => cc.encapsulationFlags & flag));
|
|
95
|
-
}
|
|
96
|
-
return ret;
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
MultiCommandCC = __decorate([
|
|
100
|
-
(0, import_CommandClassDecorators.commandClass)(import_safe.CommandClasses["Multi Command"]),
|
|
101
|
-
(0, import_CommandClassDecorators.implementedVersion)(1)
|
|
102
|
-
], MultiCommandCC);
|
|
103
|
-
let MultiCommandCCCommandEncapsulation = MultiCommandCCCommandEncapsulation_1 = class MultiCommandCCCommandEncapsulation2 extends MultiCommandCC {
|
|
104
|
-
constructor(options) {
|
|
105
|
-
super(options);
|
|
106
|
-
this.encapsulated = options.encapsulated;
|
|
107
|
-
for (const cc of options.encapsulated) {
|
|
108
|
-
cc.encapsulatingCC = this;
|
|
109
|
-
cc.endpointIndex = this.endpointIndex;
|
|
93
|
+
let MultiCommandCCAPI = (() => {
|
|
94
|
+
let _classDecorators = [(0, import_CommandClassDecorators.API)(import_safe.CommandClasses["Multi Command"])];
|
|
95
|
+
let _classDescriptor;
|
|
96
|
+
let _classExtraInitializers = [];
|
|
97
|
+
let _classThis;
|
|
98
|
+
let _classSuper = import_API.CCAPI;
|
|
99
|
+
var MultiCommandCCAPI2 = class extends _classSuper {
|
|
100
|
+
static {
|
|
101
|
+
_classThis = this;
|
|
110
102
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
103
|
+
static {
|
|
104
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
105
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
106
|
+
MultiCommandCCAPI2 = _classThis = _classDescriptor.value;
|
|
107
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
108
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
109
|
+
}
|
|
110
|
+
supportsCommand(_cmd) {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
async send(commands) {
|
|
114
|
+
__assertType("commands", void 0, __assertType__sa__2_ea_2.bind(void 0, commands));
|
|
115
|
+
this.assertSupportsCommand(import_Types.MultiCommandCommand, import_Types.MultiCommandCommand.CommandEncapsulation);
|
|
116
|
+
const cc = new MultiCommandCCCommandEncapsulation({
|
|
117
|
+
nodeId: this.endpoint.nodeId,
|
|
118
|
+
encapsulated: commands
|
|
119
|
+
});
|
|
120
|
+
cc.endpointIndex = this.endpoint.index;
|
|
121
|
+
await this.host.sendCommand(cc, this.commandOptions);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
return MultiCommandCCAPI2 = _classThis;
|
|
125
|
+
})();
|
|
126
|
+
let MultiCommandCC = (() => {
|
|
127
|
+
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_safe.CommandClasses["Multi Command"]), (0, import_CommandClassDecorators.implementedVersion)(1)];
|
|
128
|
+
let _classDescriptor;
|
|
129
|
+
let _classExtraInitializers = [];
|
|
130
|
+
let _classThis;
|
|
131
|
+
let _classSuper = import_CommandClass.CommandClass;
|
|
132
|
+
var MultiCommandCC2 = class extends _classSuper {
|
|
133
|
+
static {
|
|
134
|
+
_classThis = this;
|
|
135
|
+
}
|
|
136
|
+
static {
|
|
137
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
138
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
139
|
+
MultiCommandCC2 = _classThis = _classDescriptor.value;
|
|
140
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
141
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
142
|
+
}
|
|
143
|
+
/** Tests if a command targets a specific endpoint and thus requires encapsulation */
|
|
144
|
+
static requiresEncapsulation(cc) {
|
|
145
|
+
return cc.endpointIndex !== 0 && !(cc instanceof MultiCommandCCCommandEncapsulation);
|
|
146
|
+
}
|
|
147
|
+
static encapsulate(CCs) {
|
|
148
|
+
const ret = new MultiCommandCCCommandEncapsulation({
|
|
149
|
+
nodeId: CCs[0].nodeId,
|
|
150
|
+
encapsulated: CCs
|
|
151
|
+
});
|
|
152
|
+
for (const flag of [
|
|
153
|
+
import_safe.EncapsulationFlags.Supervision,
|
|
154
|
+
import_safe.EncapsulationFlags.Security,
|
|
155
|
+
import_safe.EncapsulationFlags.CRC16
|
|
156
|
+
]) {
|
|
157
|
+
ret.toggleEncapsulationFlag(flag, CCs.some((cc) => cc.encapsulationFlags & flag));
|
|
158
|
+
}
|
|
159
|
+
return ret;
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
return MultiCommandCC2 = _classThis;
|
|
163
|
+
})();
|
|
164
|
+
let MultiCommandCCCommandEncapsulation = (() => {
|
|
165
|
+
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.MultiCommandCommand.CommandEncapsulation)];
|
|
166
|
+
let _classDescriptor;
|
|
167
|
+
let _classExtraInitializers = [];
|
|
168
|
+
let _classThis;
|
|
169
|
+
let _classSuper = MultiCommandCC;
|
|
170
|
+
var MultiCommandCCCommandEncapsulation2 = class extends _classSuper {
|
|
171
|
+
static {
|
|
172
|
+
_classThis = this;
|
|
173
|
+
}
|
|
174
|
+
static {
|
|
175
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
176
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
177
|
+
MultiCommandCCCommandEncapsulation2 = _classThis = _classDescriptor.value;
|
|
178
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
179
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
180
|
+
}
|
|
181
|
+
constructor(options) {
|
|
182
|
+
super(options);
|
|
183
|
+
this.encapsulated = options.encapsulated;
|
|
184
|
+
for (const cc of options.encapsulated) {
|
|
185
|
+
cc.encapsulatingCC = this;
|
|
186
|
+
cc.endpointIndex = this.endpointIndex;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
static from(raw, ctx) {
|
|
190
|
+
(0, import_safe.validatePayload)(raw.payload.length >= 1);
|
|
191
|
+
const numCommands = raw.payload[0];
|
|
192
|
+
const encapsulated = [];
|
|
193
|
+
let offset = 1;
|
|
194
|
+
for (let i = 0; i < numCommands; i++) {
|
|
195
|
+
(0, import_safe.validatePayload)(raw.payload.length >= offset + 1);
|
|
196
|
+
const cmdLength = raw.payload[offset];
|
|
197
|
+
(0, import_safe.validatePayload)(raw.payload.length >= offset + 1 + cmdLength);
|
|
198
|
+
encapsulated.push(import_CommandClass.CommandClass.parse(raw.payload.subarray(offset + 1, offset + 1 + cmdLength), ctx));
|
|
199
|
+
offset += 1 + cmdLength;
|
|
200
|
+
}
|
|
201
|
+
return new this({
|
|
202
|
+
nodeId: ctx.sourceNodeId,
|
|
203
|
+
encapsulated
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
encapsulated;
|
|
207
|
+
serialize(ctx) {
|
|
208
|
+
const buffers = [];
|
|
209
|
+
buffers.push(import_safe2.Bytes.from([this.encapsulated.length]));
|
|
210
|
+
for (const cmd of this.encapsulated) {
|
|
211
|
+
const cmdBuffer = cmd.serialize(ctx);
|
|
212
|
+
buffers.push(import_safe2.Bytes.from([cmdBuffer.length]));
|
|
213
|
+
buffers.push(cmdBuffer);
|
|
214
|
+
}
|
|
215
|
+
this.payload = import_safe2.Bytes.concat(buffers);
|
|
216
|
+
return super.serialize(ctx);
|
|
217
|
+
}
|
|
218
|
+
toLogEntry(ctx) {
|
|
219
|
+
return {
|
|
220
|
+
...super.toLogEntry(ctx),
|
|
221
|
+
// Hide the default payload line
|
|
222
|
+
message: void 0
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
return MultiCommandCCCommandEncapsulation2 = _classThis;
|
|
227
|
+
})();
|
|
153
228
|
// Annotate the CommonJS export names for ESM import in node:
|
|
154
229
|
0 && (module.exports = {
|
|
155
230
|
MultiCommandCC,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/cc/MultiCommandCC.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n\tCommandClasses,\n\tEncapsulationFlags,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\ttype WithAddress,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { CCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tcommandClass,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { MultiCommandCommand } from \"../lib/_Types.js\";\n\n// TODO: Handle this command when received\n\n// @noSetValueAPI This CC has no set-type commands\n// @noInterview This CC only has a single encapsulation command\n\n@API(CommandClasses[\"Multi Command\"])\nexport class MultiCommandCCAPI extends CCAPI {\n\tpublic supportsCommand(_cmd: MultiCommandCommand): MaybeNotKnown<boolean> {\n\t\t// switch (cmd) {\n\t\t// \tcase MultiCommandCommand.CommandEncapsulation:\n\t\treturn true; // This is mandatory\n\t\t// }\n\t\t// return super.supportsCommand(cmd);\n\t}\n\n\t@validateArgs()\n\tpublic async send(commands: CommandClass[]): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tMultiCommandCommand,\n\t\t\tMultiCommandCommand.CommandEncapsulation,\n\t\t);\n\n\t\t// FIXME: This should not be on the API but rather on the applHost level\n\t\tconst cc = new MultiCommandCCCommandEncapsulation({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tencapsulated: commands,\n\t\t});\n\t\tcc.endpointIndex = this.endpoint.index;\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses[\"Multi Command\"])\n@implementedVersion(1)\nexport class MultiCommandCC extends CommandClass {\n\tdeclare ccCommand: MultiCommandCommand;\n\n\t/** Tests if a command targets a specific endpoint and thus requires encapsulation */\n\tpublic static requiresEncapsulation(cc: CommandClass): boolean {\n\t\treturn (\n\t\t\tcc.endpointIndex !== 0\n\t\t\t&& !(cc instanceof MultiCommandCCCommandEncapsulation)\n\t\t);\n\t}\n\n\tpublic static encapsulate(\n\t\tCCs: CommandClass[],\n\t): MultiCommandCCCommandEncapsulation {\n\t\tconst ret = new MultiCommandCCCommandEncapsulation({\n\t\t\tnodeId: CCs[0].nodeId,\n\t\t\tencapsulated: CCs,\n\t\t});\n\n\t\t// Copy the \"sum\" of the encapsulation flags from the encapsulated CCs\n\t\tfor (\n\t\t\tconst flag of [\n\t\t\t\tEncapsulationFlags.Supervision,\n\t\t\t\tEncapsulationFlags.Security,\n\t\t\t\tEncapsulationFlags.CRC16,\n\t\t\t] as const\n\t\t) {\n\t\t\tret.toggleEncapsulationFlag(\n\t\t\t\tflag,\n\t\t\t\tCCs.some((cc) => cc.encapsulationFlags & flag),\n\t\t\t);\n\t\t}\n\n\t\treturn ret;\n\t}\n}\n\n// @publicAPI\nexport interface MultiCommandCCCommandEncapsulationOptions {\n\tencapsulated: CommandClass[];\n}\n\n@CCCommand(MultiCommandCommand.CommandEncapsulation)\n// When sending commands encapsulated in this CC, responses to GET-type commands likely won't be encapsulated\nexport class MultiCommandCCCommandEncapsulation extends MultiCommandCC {\n\tpublic constructor(\n\t\toptions: WithAddress<MultiCommandCCCommandEncapsulationOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.encapsulated = options.encapsulated;\n\t\tfor (const cc of options.encapsulated) {\n\t\t\tcc.encapsulatingCC = this as any;\n\t\t\t// Multi Command CC is inside Multi Channel CC, so the endpoint must be copied\n\t\t\tcc.endpointIndex = this.endpointIndex;\n\t\t}\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): MultiCommandCCCommandEncapsulation {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst numCommands = raw.payload[0];\n\t\tconst encapsulated: CommandClass[] = [];\n\t\tlet offset = 1;\n\t\tfor (let i = 0; i < numCommands; i++) {\n\t\t\tvalidatePayload(raw.payload.length >= offset + 1);\n\t\t\tconst cmdLength = raw.payload[offset];\n\t\t\tvalidatePayload(raw.payload.length >= offset + 1 + cmdLength);\n\t\t\tencapsulated.push(\n\t\t\t\tCommandClass.parse(\n\t\t\t\t\traw.payload.subarray(\n\t\t\t\t\t\toffset + 1,\n\t\t\t\t\t\toffset + 1 + cmdLength,\n\t\t\t\t\t),\n\t\t\t\t\tctx,\n\t\t\t\t),\n\t\t\t);\n\t\t\toffset += 1 + cmdLength;\n\t\t}\n\n\t\treturn new
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAOO;AAMP,IAAAA,eAAsB;AAEtB,iBAAsB;AACtB,0BAAyC;AACzC,oCAKO;AACP,mBAAoC
|
|
6
|
-
"names": ["import_safe"
|
|
4
|
+
"sourcesContent": ["import {\n\tCommandClasses,\n\tEncapsulationFlags,\n\ttype MaybeNotKnown,\n\ttype MessageOrCCLogEntry,\n\ttype WithAddress,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { CCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tcommandClass,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { MultiCommandCommand } from \"../lib/_Types.js\";\n\n// TODO: Handle this command when received\n\n// @noSetValueAPI This CC has no set-type commands\n// @noInterview This CC only has a single encapsulation command\n\n@API(CommandClasses[\"Multi Command\"])\nexport class MultiCommandCCAPI extends CCAPI {\n\tpublic supportsCommand(_cmd: MultiCommandCommand): MaybeNotKnown<boolean> {\n\t\t// switch (cmd) {\n\t\t// \tcase MultiCommandCommand.CommandEncapsulation:\n\t\treturn true; // This is mandatory\n\t\t// }\n\t\t// return super.supportsCommand(cmd);\n\t}\n\n\t@validateArgs()\n\tpublic async send(commands: CommandClass[]): Promise<void> {\n\t\tthis.assertSupportsCommand(\n\t\t\tMultiCommandCommand,\n\t\t\tMultiCommandCommand.CommandEncapsulation,\n\t\t);\n\n\t\t// FIXME: This should not be on the API but rather on the applHost level\n\t\tconst cc = new MultiCommandCCCommandEncapsulation({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tencapsulated: commands,\n\t\t});\n\t\tcc.endpointIndex = this.endpoint.index;\n\t\tawait this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses[\"Multi Command\"])\n@implementedVersion(1)\nexport class MultiCommandCC extends CommandClass {\n\tdeclare ccCommand: MultiCommandCommand;\n\n\t/** Tests if a command targets a specific endpoint and thus requires encapsulation */\n\tpublic static requiresEncapsulation(cc: CommandClass): boolean {\n\t\treturn (\n\t\t\tcc.endpointIndex !== 0\n\t\t\t&& !(cc instanceof MultiCommandCCCommandEncapsulation)\n\t\t);\n\t}\n\n\tpublic static encapsulate(\n\t\tCCs: CommandClass[],\n\t): MultiCommandCCCommandEncapsulation {\n\t\tconst ret = new MultiCommandCCCommandEncapsulation({\n\t\t\tnodeId: CCs[0].nodeId,\n\t\t\tencapsulated: CCs,\n\t\t});\n\n\t\t// Copy the \"sum\" of the encapsulation flags from the encapsulated CCs\n\t\tfor (\n\t\t\tconst flag of [\n\t\t\t\tEncapsulationFlags.Supervision,\n\t\t\t\tEncapsulationFlags.Security,\n\t\t\t\tEncapsulationFlags.CRC16,\n\t\t\t] as const\n\t\t) {\n\t\t\tret.toggleEncapsulationFlag(\n\t\t\t\tflag,\n\t\t\t\tCCs.some((cc) => cc.encapsulationFlags & flag),\n\t\t\t);\n\t\t}\n\n\t\treturn ret;\n\t}\n}\n\n// @publicAPI\nexport interface MultiCommandCCCommandEncapsulationOptions {\n\tencapsulated: CommandClass[];\n}\n\n@CCCommand(MultiCommandCommand.CommandEncapsulation)\n// When sending commands encapsulated in this CC, responses to GET-type commands likely won't be encapsulated\nexport class MultiCommandCCCommandEncapsulation extends MultiCommandCC {\n\tpublic constructor(\n\t\toptions: WithAddress<MultiCommandCCCommandEncapsulationOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.encapsulated = options.encapsulated;\n\t\tfor (const cc of options.encapsulated) {\n\t\t\tcc.encapsulatingCC = this as any;\n\t\t\t// Multi Command CC is inside Multi Channel CC, so the endpoint must be copied\n\t\t\tcc.endpointIndex = this.endpointIndex;\n\t\t}\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): MultiCommandCCCommandEncapsulation {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst numCommands = raw.payload[0];\n\t\tconst encapsulated: CommandClass[] = [];\n\t\tlet offset = 1;\n\t\tfor (let i = 0; i < numCommands; i++) {\n\t\t\tvalidatePayload(raw.payload.length >= offset + 1);\n\t\t\tconst cmdLength = raw.payload[offset];\n\t\t\tvalidatePayload(raw.payload.length >= offset + 1 + cmdLength);\n\t\t\tencapsulated.push(\n\t\t\t\tCommandClass.parse(\n\t\t\t\t\traw.payload.subarray(\n\t\t\t\t\t\toffset + 1,\n\t\t\t\t\t\toffset + 1 + cmdLength,\n\t\t\t\t\t),\n\t\t\t\t\tctx,\n\t\t\t\t),\n\t\t\t);\n\t\t\toffset += 1 + cmdLength;\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tencapsulated,\n\t\t});\n\t}\n\n\tpublic encapsulated: CommandClass[];\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tconst buffers: Bytes[] = [];\n\t\tbuffers.push(Bytes.from([this.encapsulated.length]));\n\t\tfor (const cmd of this.encapsulated) {\n\t\t\tconst cmdBuffer = cmd.serialize(ctx);\n\t\t\tbuffers.push(Bytes.from([cmdBuffer.length]));\n\t\t\tbuffers.push(cmdBuffer);\n\t\t}\n\t\tthis.payload = Bytes.concat(buffers);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\t// Hide the default payload line\n\t\t\tmessage: undefined,\n\t\t};\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_safe"]
|
|
7
7
|
}
|