@zwave-js/cc 14.0.0-beta.4 → 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.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
|
@@ -49,13 +49,45 @@ var import_Values = require("../lib/Values.js");
|
|
|
49
49
|
var import_Types = require("../lib/_Types.js");
|
|
50
50
|
var ccUtils = __toESM(require("../lib/utils.js"), 1);
|
|
51
51
|
var import_AssociationCC = require("./AssociationCC.js");
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
53
|
+
function accept(f) {
|
|
54
|
+
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
|
|
55
|
+
return f;
|
|
56
|
+
}
|
|
57
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
58
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
59
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
60
|
+
var _, done = false;
|
|
61
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
62
|
+
var context = {};
|
|
63
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
64
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
65
|
+
context.addInitializer = function(f) {
|
|
66
|
+
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
|
|
67
|
+
extraInitializers.push(accept(f || null));
|
|
68
|
+
};
|
|
69
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
70
|
+
if (kind === "accessor") {
|
|
71
|
+
if (result === void 0) continue;
|
|
72
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
73
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
74
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
75
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
76
|
+
} else if (_ = accept(result)) {
|
|
77
|
+
if (kind === "field") initializers.unshift(_);
|
|
78
|
+
else descriptor[key] = _;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
82
|
+
done = true;
|
|
83
|
+
};
|
|
84
|
+
var __runInitializers = function(thisArg, initializers, value) {
|
|
85
|
+
var useValue = arguments.length > 2;
|
|
86
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
87
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
88
|
+
}
|
|
89
|
+
return useValue ? value : void 0;
|
|
57
90
|
};
|
|
58
|
-
var MultiChannelAssociationCCSet_1, MultiChannelAssociationCCRemove_1, MultiChannelAssociationCCReport_1, MultiChannelAssociationCCGet_1, MultiChannelAssociationCCSupportedGroupingsReport_1;
|
|
59
91
|
function __assertType(argName, typeName, boundHasError) {
|
|
60
92
|
const { ZWaveError: ZWaveError2, ZWaveErrorCodes: ZWaveErrorCodes2 } = require("@zwave-js/core");
|
|
61
93
|
if (boundHasError()) {
|
|
@@ -432,515 +464,617 @@ function deserializeMultiChannelAssociationDestination(data) {
|
|
|
432
464
|
}
|
|
433
465
|
return { nodeIds, endpoints };
|
|
434
466
|
}
|
|
435
|
-
let MultiChannelAssociationCCAPI =
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
async reportGroupCount(groupCount) {
|
|
462
|
-
__assertType("groupCount", "number", __assertType__number.bind(void 0, groupCount));
|
|
463
|
-
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.SupportedGroupingsReport);
|
|
464
|
-
const cc = new MultiChannelAssociationCCSupportedGroupingsReport({
|
|
465
|
-
nodeId: this.endpoint.nodeId,
|
|
466
|
-
endpointIndex: this.endpoint.index,
|
|
467
|
-
groupCount
|
|
468
|
-
});
|
|
469
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
470
|
-
}
|
|
471
|
-
/**
|
|
472
|
-
* Returns information about an association group.
|
|
473
|
-
*/
|
|
474
|
-
async getGroup(groupId) {
|
|
475
|
-
__assertType("groupId", "number", __assertType__number.bind(void 0, groupId));
|
|
476
|
-
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.Get);
|
|
477
|
-
const cc = new MultiChannelAssociationCCGet({
|
|
478
|
-
nodeId: this.endpoint.nodeId,
|
|
479
|
-
endpointIndex: this.endpoint.index,
|
|
480
|
-
groupId
|
|
481
|
-
});
|
|
482
|
-
const response = await this.host.sendCommand(cc, this.commandOptions);
|
|
483
|
-
if (response) {
|
|
484
|
-
return (0, import_safe3.pick)(response, ["maxNodes", "nodeIds", "endpoints"]);
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
async sendReport(options) {
|
|
488
|
-
__assertType("options", "MultiChannelAssociationCCReportOptions", __assertType__MultiChannelAssociationCCReportOptions.bind(void 0, options));
|
|
489
|
-
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.Report);
|
|
490
|
-
const cc = new MultiChannelAssociationCCReport({
|
|
491
|
-
nodeId: this.endpoint.nodeId,
|
|
492
|
-
endpointIndex: this.endpoint.index,
|
|
493
|
-
...options
|
|
494
|
-
});
|
|
495
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
496
|
-
}
|
|
497
|
-
/**
|
|
498
|
-
* Adds new nodes or endpoints to an association group
|
|
499
|
-
*/
|
|
500
|
-
async addDestinations(options) {
|
|
501
|
-
__assertType("options", "MultiChannelAssociationCCSetOptions", __assertType__MultiChannelAssociationCCSetOptions.bind(void 0, options));
|
|
502
|
-
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.Set);
|
|
503
|
-
const cc = new MultiChannelAssociationCCSet({
|
|
504
|
-
nodeId: this.endpoint.nodeId,
|
|
505
|
-
endpointIndex: this.endpoint.index,
|
|
506
|
-
...options
|
|
507
|
-
});
|
|
508
|
-
return this.host.sendCommand(cc, this.commandOptions);
|
|
509
|
-
}
|
|
510
|
-
/**
|
|
511
|
-
* Removes nodes or endpoints from an association group
|
|
512
|
-
*/
|
|
513
|
-
async removeDestinations(options) {
|
|
514
|
-
__assertType("options", "MultiChannelAssociationCCRemoveOptions", __assertType__MultiChannelAssociationCCRemoveOptions.bind(void 0, options));
|
|
515
|
-
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.Remove);
|
|
516
|
-
if (!options.groupId && this.version === 1) {
|
|
517
|
-
const currentDestinations = MultiChannelAssociationCC.getAllDestinationsCached(this.host, this.endpoint);
|
|
518
|
-
for (const [group, destinations] of currentDestinations) {
|
|
519
|
-
const cc = new MultiChannelAssociationCCRemove({
|
|
520
|
-
nodeId: this.endpoint.nodeId,
|
|
521
|
-
endpointIndex: this.endpoint.index,
|
|
522
|
-
groupId: group,
|
|
523
|
-
nodeIds: destinations.filter((d) => d.endpoint != void 0).map((d) => d.nodeId),
|
|
524
|
-
endpoints: destinations.filter((d) => d.endpoint != void 0)
|
|
525
|
-
});
|
|
526
|
-
await this.host.sendCommand(cc, this.commandOptions);
|
|
467
|
+
let MultiChannelAssociationCCAPI = (() => {
|
|
468
|
+
let _classDecorators = [(0, import_CommandClassDecorators.API)(import_safe.CommandClasses["Multi Channel Association"])];
|
|
469
|
+
let _classDescriptor;
|
|
470
|
+
let _classExtraInitializers = [];
|
|
471
|
+
let _classThis;
|
|
472
|
+
let _classSuper = import_API.PhysicalCCAPI;
|
|
473
|
+
var MultiChannelAssociationCCAPI2 = class extends _classSuper {
|
|
474
|
+
static {
|
|
475
|
+
_classThis = this;
|
|
476
|
+
}
|
|
477
|
+
static {
|
|
478
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
479
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
480
|
+
MultiChannelAssociationCCAPI2 = _classThis = _classDescriptor.value;
|
|
481
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
482
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
483
|
+
}
|
|
484
|
+
supportsCommand(cmd) {
|
|
485
|
+
switch (cmd) {
|
|
486
|
+
case import_Types.MultiChannelAssociationCommand.Get:
|
|
487
|
+
case import_Types.MultiChannelAssociationCommand.Set:
|
|
488
|
+
case import_Types.MultiChannelAssociationCommand.Report:
|
|
489
|
+
case import_Types.MultiChannelAssociationCommand.Remove:
|
|
490
|
+
case import_Types.MultiChannelAssociationCommand.SupportedGroupingsGet:
|
|
491
|
+
case import_Types.MultiChannelAssociationCommand.SupportedGroupingsReport:
|
|
492
|
+
return true;
|
|
527
493
|
}
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
494
|
+
return super.supportsCommand(cmd);
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* Returns the number of association groups a node supports.
|
|
498
|
+
* Association groups are consecutive, starting at 1.
|
|
499
|
+
*/
|
|
500
|
+
async getGroupCount() {
|
|
501
|
+
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.SupportedGroupingsGet);
|
|
502
|
+
const cc = new MultiChannelAssociationCCSupportedGroupingsGet({
|
|
503
|
+
nodeId: this.endpoint.nodeId,
|
|
504
|
+
endpointIndex: this.endpoint.index
|
|
505
|
+
});
|
|
506
|
+
const response = await this.host.sendCommand(cc, this.commandOptions);
|
|
507
|
+
return response?.groupCount;
|
|
508
|
+
}
|
|
509
|
+
async reportGroupCount(groupCount) {
|
|
510
|
+
__assertType("groupCount", "number", __assertType__number.bind(void 0, groupCount));
|
|
511
|
+
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.SupportedGroupingsReport);
|
|
512
|
+
const cc = new MultiChannelAssociationCCSupportedGroupingsReport({
|
|
513
|
+
nodeId: this.endpoint.nodeId,
|
|
514
|
+
endpointIndex: this.endpoint.index,
|
|
515
|
+
groupCount
|
|
516
|
+
});
|
|
517
|
+
await this.host.sendCommand(cc, this.commandOptions);
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Returns information about an association group.
|
|
521
|
+
*/
|
|
522
|
+
async getGroup(groupId) {
|
|
523
|
+
__assertType("groupId", "number", __assertType__number.bind(void 0, groupId));
|
|
524
|
+
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.Get);
|
|
525
|
+
const cc = new MultiChannelAssociationCCGet({
|
|
526
|
+
nodeId: this.endpoint.nodeId,
|
|
527
|
+
endpointIndex: this.endpoint.index,
|
|
528
|
+
groupId
|
|
529
|
+
});
|
|
530
|
+
const response = await this.host.sendCommand(cc, this.commandOptions);
|
|
531
|
+
if (response) {
|
|
532
|
+
return (0, import_safe3.pick)(response, ["maxNodes", "nodeIds", "endpoints"]);
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
async sendReport(options) {
|
|
536
|
+
__assertType("options", "MultiChannelAssociationCCReportOptions", __assertType__MultiChannelAssociationCCReportOptions.bind(void 0, options));
|
|
537
|
+
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.Report);
|
|
538
|
+
const cc = new MultiChannelAssociationCCReport({
|
|
539
|
+
nodeId: this.endpoint.nodeId,
|
|
540
|
+
endpointIndex: this.endpoint.index,
|
|
541
|
+
...options
|
|
542
|
+
});
|
|
543
|
+
await this.host.sendCommand(cc, this.commandOptions);
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Adds new nodes or endpoints to an association group
|
|
547
|
+
*/
|
|
548
|
+
async addDestinations(options) {
|
|
549
|
+
__assertType("options", "MultiChannelAssociationCCSetOptions", __assertType__MultiChannelAssociationCCSetOptions.bind(void 0, options));
|
|
550
|
+
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.Set);
|
|
551
|
+
const cc = new MultiChannelAssociationCCSet({
|
|
532
552
|
nodeId: this.endpoint.nodeId,
|
|
533
553
|
endpointIndex: this.endpoint.index,
|
|
534
554
|
...options
|
|
535
555
|
});
|
|
536
556
|
return this.host.sendCommand(cc, this.commandOptions);
|
|
537
557
|
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
}
|
|
554
|
-
/**
|
|
555
|
-
* Returns the number of association groups reported by the node/endpoint.
|
|
556
|
-
* This only works AFTER the interview process
|
|
557
|
-
*/
|
|
558
|
-
static getGroupCountCached(ctx, endpoint) {
|
|
559
|
-
return ctx.getValueDB(endpoint.nodeId).getValue(MultiChannelAssociationCCValues.groupCount.endpoint(endpoint.index)) || 0;
|
|
560
|
-
}
|
|
561
|
-
/**
|
|
562
|
-
* Returns the number of nodes an association group supports.
|
|
563
|
-
* This only works AFTER the interview process
|
|
564
|
-
*/
|
|
565
|
-
static getMaxNodesCached(ctx, endpoint, groupId) {
|
|
566
|
-
return ctx.getValueDB(endpoint.nodeId).getValue(MultiChannelAssociationCCValues.maxNodes(groupId).endpoint(endpoint.index)) ?? 0;
|
|
567
|
-
}
|
|
568
|
-
/**
|
|
569
|
-
* Returns all the destinations of all association groups reported by the node/endpoint.
|
|
570
|
-
* This only works AFTER the interview process
|
|
571
|
-
*/
|
|
572
|
-
static getAllDestinationsCached(ctx, endpoint) {
|
|
573
|
-
const ret = /* @__PURE__ */ new Map();
|
|
574
|
-
const groupCount = this.getGroupCountCached(ctx, endpoint);
|
|
575
|
-
const valueDB = ctx.getValueDB(endpoint.nodeId);
|
|
576
|
-
for (let i = 1; i <= groupCount; i++) {
|
|
577
|
-
const groupDestinations = [];
|
|
578
|
-
const nodes = valueDB.getValue(MultiChannelAssociationCCValues.nodeIds(i).endpoint(endpoint.index)) ?? [];
|
|
579
|
-
groupDestinations.push(...nodes.map((nodeId) => ({ nodeId })));
|
|
580
|
-
const endpoints = valueDB.getValue(MultiChannelAssociationCCValues.endpoints(i).endpoint(endpoint.index)) ?? [];
|
|
581
|
-
for (const ep of endpoints) {
|
|
582
|
-
if (typeof ep.endpoint === "number") {
|
|
583
|
-
groupDestinations.push({
|
|
584
|
-
nodeId: ep.nodeId,
|
|
585
|
-
endpoint: ep.endpoint
|
|
558
|
+
/**
|
|
559
|
+
* Removes nodes or endpoints from an association group
|
|
560
|
+
*/
|
|
561
|
+
async removeDestinations(options) {
|
|
562
|
+
__assertType("options", "MultiChannelAssociationCCRemoveOptions", __assertType__MultiChannelAssociationCCRemoveOptions.bind(void 0, options));
|
|
563
|
+
this.assertSupportsCommand(import_Types.MultiChannelAssociationCommand, import_Types.MultiChannelAssociationCommand.Remove);
|
|
564
|
+
if (!options.groupId && this.version === 1) {
|
|
565
|
+
const currentDestinations = MultiChannelAssociationCC.getAllDestinationsCached(this.host, this.endpoint);
|
|
566
|
+
for (const [group, destinations] of currentDestinations) {
|
|
567
|
+
const cc = new MultiChannelAssociationCCRemove({
|
|
568
|
+
nodeId: this.endpoint.nodeId,
|
|
569
|
+
endpointIndex: this.endpoint.index,
|
|
570
|
+
groupId: group,
|
|
571
|
+
nodeIds: destinations.filter((d) => d.endpoint != void 0).map((d) => d.nodeId),
|
|
572
|
+
endpoints: destinations.filter((d) => d.endpoint != void 0)
|
|
586
573
|
});
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
574
|
+
await this.host.sendCommand(cc, this.commandOptions);
|
|
575
|
+
}
|
|
576
|
+
} else if (options.groupId && options.groupId < 0) {
|
|
577
|
+
throw new import_safe.ZWaveError("The group id must not be negative!", import_safe.ZWaveErrorCodes.Argument_Invalid);
|
|
578
|
+
} else {
|
|
579
|
+
const cc = new MultiChannelAssociationCCRemove({
|
|
580
|
+
nodeId: this.endpoint.nodeId,
|
|
581
|
+
endpointIndex: this.endpoint.index,
|
|
582
|
+
...options
|
|
583
|
+
});
|
|
584
|
+
return this.host.sendCommand(cc, this.commandOptions);
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
};
|
|
588
|
+
return MultiChannelAssociationCCAPI2 = _classThis;
|
|
589
|
+
})();
|
|
590
|
+
let MultiChannelAssociationCC = (() => {
|
|
591
|
+
let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_safe.CommandClasses["Multi Channel Association"]), (0, import_CommandClassDecorators.implementedVersion)(5), (0, import_CommandClassDecorators.ccValues)(MultiChannelAssociationCCValues)];
|
|
592
|
+
let _classDescriptor;
|
|
593
|
+
let _classExtraInitializers = [];
|
|
594
|
+
let _classThis;
|
|
595
|
+
let _classSuper = import_CommandClass.CommandClass;
|
|
596
|
+
var MultiChannelAssociationCC2 = class extends _classSuper {
|
|
597
|
+
static {
|
|
598
|
+
_classThis = this;
|
|
599
|
+
}
|
|
600
|
+
static {
|
|
601
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
602
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
603
|
+
MultiChannelAssociationCC2 = _classThis = _classDescriptor.value;
|
|
604
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
605
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
606
|
+
}
|
|
607
|
+
determineRequiredCCInterviews() {
|
|
608
|
+
return [
|
|
609
|
+
...super.determineRequiredCCInterviews(),
|
|
610
|
+
import_safe.CommandClasses["Z-Wave Plus Info"],
|
|
611
|
+
// We need information about endpoints to correctly configure the lifeline associations
|
|
612
|
+
import_safe.CommandClasses["Multi Channel"],
|
|
613
|
+
// AssociationCC will short-circuit if this CC is supported
|
|
614
|
+
import_safe.CommandClasses.Association
|
|
615
|
+
];
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Returns the number of association groups reported by the node/endpoint.
|
|
619
|
+
* This only works AFTER the interview process
|
|
620
|
+
*/
|
|
621
|
+
static getGroupCountCached(ctx, endpoint) {
|
|
622
|
+
return ctx.getValueDB(endpoint.nodeId).getValue(MultiChannelAssociationCCValues.groupCount.endpoint(endpoint.index)) || 0;
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Returns the number of nodes an association group supports.
|
|
626
|
+
* This only works AFTER the interview process
|
|
627
|
+
*/
|
|
628
|
+
static getMaxNodesCached(ctx, endpoint, groupId) {
|
|
629
|
+
return ctx.getValueDB(endpoint.nodeId).getValue(MultiChannelAssociationCCValues.maxNodes(groupId).endpoint(endpoint.index)) ?? 0;
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Returns all the destinations of all association groups reported by the node/endpoint.
|
|
633
|
+
* This only works AFTER the interview process
|
|
634
|
+
*/
|
|
635
|
+
static getAllDestinationsCached(ctx, endpoint) {
|
|
636
|
+
const ret = /* @__PURE__ */ new Map();
|
|
637
|
+
const groupCount = this.getGroupCountCached(ctx, endpoint);
|
|
638
|
+
const valueDB = ctx.getValueDB(endpoint.nodeId);
|
|
639
|
+
for (let i = 1; i <= groupCount; i++) {
|
|
640
|
+
const groupDestinations = [];
|
|
641
|
+
const nodes = valueDB.getValue(MultiChannelAssociationCCValues.nodeIds(i).endpoint(endpoint.index)) ?? [];
|
|
642
|
+
groupDestinations.push(...nodes.map((nodeId) => ({ nodeId })));
|
|
643
|
+
const endpoints = valueDB.getValue(MultiChannelAssociationCCValues.endpoints(i).endpoint(endpoint.index)) ?? [];
|
|
644
|
+
for (const ep of endpoints) {
|
|
645
|
+
if (typeof ep.endpoint === "number") {
|
|
646
|
+
groupDestinations.push({
|
|
647
|
+
nodeId: ep.nodeId,
|
|
648
|
+
endpoint: ep.endpoint
|
|
649
|
+
});
|
|
650
|
+
} else {
|
|
651
|
+
groupDestinations.push(...ep.endpoint.map((e) => ({
|
|
652
|
+
nodeId: ep.nodeId,
|
|
653
|
+
endpoint: e
|
|
654
|
+
})));
|
|
655
|
+
}
|
|
592
656
|
}
|
|
657
|
+
ret.set(
|
|
658
|
+
i,
|
|
659
|
+
// Filter out duplicates
|
|
660
|
+
groupDestinations.filter((addr, index) => index === groupDestinations.findIndex(({ nodeId, endpoint: endpoint2 }) => nodeId === addr.nodeId && endpoint2 === addr.endpoint))
|
|
661
|
+
);
|
|
593
662
|
}
|
|
594
|
-
ret
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
);
|
|
599
|
-
|
|
600
|
-
return ret;
|
|
601
|
-
}
|
|
602
|
-
async interview(ctx) {
|
|
603
|
-
const node = this.getNode(ctx);
|
|
604
|
-
const endpoint = this.getEndpoint(ctx);
|
|
605
|
-
const mcAPI = import_API.CCAPI.create(import_safe.CommandClasses["Multi Channel Association"], ctx, endpoint);
|
|
606
|
-
ctx.logNode(node.id, {
|
|
607
|
-
endpoint: this.endpointIndex,
|
|
608
|
-
message: `Interviewing ${this.ccName}...`,
|
|
609
|
-
direction: "none"
|
|
610
|
-
});
|
|
611
|
-
ctx.logNode(node.id, {
|
|
612
|
-
endpoint: this.endpointIndex,
|
|
613
|
-
message: "querying number of multi channel association groups...",
|
|
614
|
-
direction: "outbound"
|
|
615
|
-
});
|
|
616
|
-
const mcGroupCount = await mcAPI.getGroupCount();
|
|
617
|
-
if (mcGroupCount != void 0) {
|
|
618
|
-
ctx.logNode(node.id, {
|
|
619
|
-
endpoint: this.endpointIndex,
|
|
620
|
-
message: `supports ${mcGroupCount} multi channel association groups`,
|
|
621
|
-
direction: "inbound"
|
|
622
|
-
});
|
|
623
|
-
} else {
|
|
663
|
+
return ret;
|
|
664
|
+
}
|
|
665
|
+
async interview(ctx) {
|
|
666
|
+
const node = this.getNode(ctx);
|
|
667
|
+
const endpoint = this.getEndpoint(ctx);
|
|
668
|
+
const mcAPI = import_API.CCAPI.create(import_safe.CommandClasses["Multi Channel Association"], ctx, endpoint);
|
|
624
669
|
ctx.logNode(node.id, {
|
|
625
670
|
endpoint: this.endpointIndex,
|
|
626
|
-
message:
|
|
627
|
-
|
|
671
|
+
message: `Interviewing ${this.ccName}...`,
|
|
672
|
+
direction: "none"
|
|
628
673
|
});
|
|
629
|
-
return;
|
|
630
|
-
}
|
|
631
|
-
await this.refreshValues(ctx);
|
|
632
|
-
await ccUtils.configureLifelineAssociations(ctx, endpoint);
|
|
633
|
-
this.setInterviewComplete(ctx, true);
|
|
634
|
-
}
|
|
635
|
-
async refreshValues(ctx) {
|
|
636
|
-
const node = this.getNode(ctx);
|
|
637
|
-
const endpoint = this.getEndpoint(ctx);
|
|
638
|
-
const mcAPI = import_API.CCAPI.create(import_safe.CommandClasses["Multi Channel Association"], ctx, endpoint).withOptions({
|
|
639
|
-
priority: import_safe.MessagePriority.NodeQuery
|
|
640
|
-
});
|
|
641
|
-
const assocAPI = import_API.CCAPI.create(import_safe.CommandClasses.Association, ctx, endpoint).withOptions({
|
|
642
|
-
priority: import_safe.MessagePriority.NodeQuery
|
|
643
|
-
});
|
|
644
|
-
const mcGroupCount = this.getValue(ctx, MultiChannelAssociationCCValues.groupCount) ?? 0;
|
|
645
|
-
const assocGroupCount = this.getValue(ctx, import_AssociationCC.AssociationCCValues.groupCount) || mcGroupCount;
|
|
646
|
-
for (let groupId = 1; groupId <= mcGroupCount; groupId++) {
|
|
647
674
|
ctx.logNode(node.id, {
|
|
648
675
|
endpoint: this.endpointIndex,
|
|
649
|
-
message:
|
|
676
|
+
message: "querying number of multi channel association groups...",
|
|
650
677
|
direction: "outbound"
|
|
651
678
|
});
|
|
652
|
-
const
|
|
653
|
-
if (
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
679
|
+
const mcGroupCount = await mcAPI.getGroupCount();
|
|
680
|
+
if (mcGroupCount != void 0) {
|
|
681
|
+
ctx.logNode(node.id, {
|
|
682
|
+
endpoint: this.endpointIndex,
|
|
683
|
+
message: `supports ${mcGroupCount} multi channel association groups`,
|
|
684
|
+
direction: "inbound"
|
|
685
|
+
});
|
|
686
|
+
} else {
|
|
687
|
+
ctx.logNode(node.id, {
|
|
688
|
+
endpoint: this.endpointIndex,
|
|
689
|
+
message: "Querying multi channel association groups timed out, skipping interview...",
|
|
690
|
+
level: "warn"
|
|
691
|
+
});
|
|
692
|
+
return;
|
|
693
|
+
}
|
|
694
|
+
await this.refreshValues(ctx);
|
|
695
|
+
await ccUtils.configureLifelineAssociations(ctx, endpoint);
|
|
696
|
+
this.setInterviewComplete(ctx, true);
|
|
670
697
|
}
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
698
|
+
async refreshValues(ctx) {
|
|
699
|
+
const node = this.getNode(ctx);
|
|
700
|
+
const endpoint = this.getEndpoint(ctx);
|
|
701
|
+
const mcAPI = import_API.CCAPI.create(import_safe.CommandClasses["Multi Channel Association"], ctx, endpoint).withOptions({
|
|
702
|
+
priority: import_safe.MessagePriority.NodeQuery
|
|
703
|
+
});
|
|
704
|
+
const assocAPI = import_API.CCAPI.create(import_safe.CommandClasses.Association, ctx, endpoint).withOptions({
|
|
705
|
+
priority: import_safe.MessagePriority.NodeQuery
|
|
676
706
|
});
|
|
677
|
-
|
|
707
|
+
const mcGroupCount = this.getValue(ctx, MultiChannelAssociationCCValues.groupCount) ?? 0;
|
|
708
|
+
const assocGroupCount = this.getValue(ctx, import_AssociationCC.AssociationCCValues.groupCount) || mcGroupCount;
|
|
709
|
+
for (let groupId = 1; groupId <= mcGroupCount; groupId++) {
|
|
678
710
|
ctx.logNode(node.id, {
|
|
679
711
|
endpoint: this.endpointIndex,
|
|
680
|
-
message: `querying association group #${groupId}...`,
|
|
712
|
+
message: `querying multi channel association group #${groupId}...`,
|
|
681
713
|
direction: "outbound"
|
|
682
714
|
});
|
|
683
|
-
const group = await
|
|
715
|
+
const group = await mcAPI.getGroup(groupId);
|
|
684
716
|
if (!group)
|
|
685
717
|
continue;
|
|
686
|
-
const logMessage = `received information for association group #${groupId}:
|
|
718
|
+
const logMessage = `received information for multi channel association group #${groupId}:
|
|
687
719
|
maximum # of nodes: ${group.maxNodes}
|
|
688
|
-
currently assigned nodes: ${group.nodeIds.map(String).join(", ")}
|
|
720
|
+
currently assigned nodes: ${group.nodeIds.map(String).join(", ")}
|
|
721
|
+
currently assigned endpoints: ${group.endpoints.map(({ nodeId, endpoint: endpoint2 }) => {
|
|
722
|
+
if (typeof endpoint2 === "number") {
|
|
723
|
+
return `${nodeId}:${endpoint2}`;
|
|
724
|
+
} else {
|
|
725
|
+
return `${nodeId}:[${endpoint2.map(String).join(", ")}]`;
|
|
726
|
+
}
|
|
727
|
+
}).join("")}`;
|
|
689
728
|
ctx.logNode(node.id, {
|
|
690
729
|
endpoint: this.endpointIndex,
|
|
691
730
|
message: logMessage,
|
|
692
731
|
direction: "inbound"
|
|
693
732
|
});
|
|
694
733
|
}
|
|
734
|
+
if (assocAPI.isSupported() && assocGroupCount > mcGroupCount) {
|
|
735
|
+
ctx.logNode(node.id, {
|
|
736
|
+
endpoint: this.endpointIndex,
|
|
737
|
+
message: `querying additional non-multi-channel association groups...`,
|
|
738
|
+
direction: "outbound"
|
|
739
|
+
});
|
|
740
|
+
for (let groupId = mcGroupCount + 1; groupId <= assocGroupCount; groupId++) {
|
|
741
|
+
ctx.logNode(node.id, {
|
|
742
|
+
endpoint: this.endpointIndex,
|
|
743
|
+
message: `querying association group #${groupId}...`,
|
|
744
|
+
direction: "outbound"
|
|
745
|
+
});
|
|
746
|
+
const group = await assocAPI.getGroup(groupId);
|
|
747
|
+
if (!group)
|
|
748
|
+
continue;
|
|
749
|
+
const logMessage = `received information for association group #${groupId}:
|
|
750
|
+
maximum # of nodes: ${group.maxNodes}
|
|
751
|
+
currently assigned nodes: ${group.nodeIds.map(String).join(", ")}`;
|
|
752
|
+
ctx.logNode(node.id, {
|
|
753
|
+
endpoint: this.endpointIndex,
|
|
754
|
+
message: logMessage,
|
|
755
|
+
direction: "inbound"
|
|
756
|
+
});
|
|
757
|
+
}
|
|
758
|
+
}
|
|
695
759
|
}
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
(0, import_CommandClassDecorators.
|
|
701
|
-
|
|
702
|
-
]
|
|
703
|
-
let
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
}
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
return new MultiChannelAssociationCCSet_1({
|
|
721
|
-
nodeId: ctx.sourceNodeId,
|
|
722
|
-
groupId,
|
|
723
|
-
nodeIds,
|
|
724
|
-
endpoints
|
|
725
|
-
});
|
|
726
|
-
}
|
|
727
|
-
groupId;
|
|
728
|
-
nodeIds;
|
|
729
|
-
endpoints;
|
|
730
|
-
serialize(ctx) {
|
|
731
|
-
this.payload = import_safe2.Bytes.concat([
|
|
732
|
-
import_safe2.Bytes.from([this.groupId]),
|
|
733
|
-
serializeMultiChannelAssociationDestination(this.nodeIds, this.endpoints)
|
|
734
|
-
]);
|
|
735
|
-
return super.serialize(ctx);
|
|
736
|
-
}
|
|
737
|
-
toLogEntry(ctx) {
|
|
738
|
-
return {
|
|
739
|
-
...super.toLogEntry(ctx),
|
|
740
|
-
message: {
|
|
741
|
-
"group id": this.groupId,
|
|
742
|
-
"node ids": this.nodeIds.join(", "),
|
|
743
|
-
endpoints: endpointAddressesToString(this.endpoints)
|
|
760
|
+
};
|
|
761
|
+
return MultiChannelAssociationCC2 = _classThis;
|
|
762
|
+
})();
|
|
763
|
+
let MultiChannelAssociationCCSet = (() => {
|
|
764
|
+
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.MultiChannelAssociationCommand.Set), (0, import_CommandClassDecorators.useSupervision)()];
|
|
765
|
+
let _classDescriptor;
|
|
766
|
+
let _classExtraInitializers = [];
|
|
767
|
+
let _classThis;
|
|
768
|
+
let _classSuper = MultiChannelAssociationCC;
|
|
769
|
+
var MultiChannelAssociationCCSet2 = class extends _classSuper {
|
|
770
|
+
static {
|
|
771
|
+
_classThis = this;
|
|
772
|
+
}
|
|
773
|
+
static {
|
|
774
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
775
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
776
|
+
MultiChannelAssociationCCSet2 = _classThis = _classDescriptor.value;
|
|
777
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
778
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
779
|
+
}
|
|
780
|
+
constructor(options) {
|
|
781
|
+
super(options);
|
|
782
|
+
if (options.groupId < 1) {
|
|
783
|
+
throw new import_safe.ZWaveError("The group id must be positive!", import_safe.ZWaveErrorCodes.Argument_Invalid);
|
|
744
784
|
}
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
], MultiChannelAssociationCCSet);
|
|
752
|
-
let MultiChannelAssociationCCRemove = MultiChannelAssociationCCRemove_1 = class MultiChannelAssociationCCRemove2 extends MultiChannelAssociationCC {
|
|
753
|
-
constructor(options) {
|
|
754
|
-
super(options);
|
|
755
|
-
this.groupId = options.groupId;
|
|
756
|
-
this.nodeIds = options.nodeIds;
|
|
757
|
-
this.endpoints = options.endpoints;
|
|
758
|
-
}
|
|
759
|
-
static from(raw, ctx) {
|
|
760
|
-
(0, import_safe.validatePayload)(raw.payload.length >= 1);
|
|
761
|
-
const groupId = raw.payload[0];
|
|
762
|
-
const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(1));
|
|
763
|
-
return new MultiChannelAssociationCCRemove_1({
|
|
764
|
-
nodeId: ctx.sourceNodeId,
|
|
765
|
-
groupId,
|
|
766
|
-
nodeIds,
|
|
767
|
-
endpoints
|
|
768
|
-
});
|
|
769
|
-
}
|
|
770
|
-
groupId;
|
|
771
|
-
nodeIds;
|
|
772
|
-
endpoints;
|
|
773
|
-
serialize(ctx) {
|
|
774
|
-
this.payload = import_safe2.Bytes.concat([
|
|
775
|
-
import_safe2.Bytes.from([this.groupId || 0]),
|
|
776
|
-
serializeMultiChannelAssociationDestination(this.nodeIds || [], this.endpoints || [])
|
|
777
|
-
]);
|
|
778
|
-
return super.serialize(ctx);
|
|
779
|
-
}
|
|
780
|
-
toLogEntry(ctx) {
|
|
781
|
-
const message = {
|
|
782
|
-
"group id": this.groupId || "(all groups)"
|
|
783
|
-
};
|
|
784
|
-
if (this.nodeIds) {
|
|
785
|
-
message["node ids"] = this.nodeIds.join(", ");
|
|
785
|
+
this.groupId = options.groupId;
|
|
786
|
+
this.nodeIds = "nodeIds" in options && options.nodeIds || [];
|
|
787
|
+
if (this.nodeIds.some((n) => n < 1 || n > import_safe.MAX_NODES)) {
|
|
788
|
+
throw new import_safe.ZWaveError(`All node IDs must be between 1 and ${import_safe.MAX_NODES}!`, import_safe.ZWaveErrorCodes.Argument_Invalid);
|
|
789
|
+
}
|
|
790
|
+
this.endpoints = "endpoints" in options && options.endpoints || [];
|
|
786
791
|
}
|
|
787
|
-
|
|
788
|
-
|
|
792
|
+
static from(raw, ctx) {
|
|
793
|
+
(0, import_safe.validatePayload)(raw.payload.length >= 1);
|
|
794
|
+
const groupId = raw.payload[0];
|
|
795
|
+
const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(1));
|
|
796
|
+
return new this({
|
|
797
|
+
nodeId: ctx.sourceNodeId,
|
|
798
|
+
groupId,
|
|
799
|
+
nodeIds,
|
|
800
|
+
endpoints
|
|
801
|
+
});
|
|
789
802
|
}
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
}
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
803
|
+
groupId;
|
|
804
|
+
nodeIds;
|
|
805
|
+
endpoints;
|
|
806
|
+
serialize(ctx) {
|
|
807
|
+
this.payload = import_safe2.Bytes.concat([
|
|
808
|
+
import_safe2.Bytes.from([this.groupId]),
|
|
809
|
+
serializeMultiChannelAssociationDestination(this.nodeIds, this.endpoints)
|
|
810
|
+
]);
|
|
811
|
+
return super.serialize(ctx);
|
|
812
|
+
}
|
|
813
|
+
toLogEntry(ctx) {
|
|
814
|
+
return {
|
|
815
|
+
...super.toLogEntry(ctx),
|
|
816
|
+
message: {
|
|
817
|
+
"group id": this.groupId,
|
|
818
|
+
"node ids": this.nodeIds.join(", "),
|
|
819
|
+
endpoints: endpointAddressesToString(this.endpoints)
|
|
820
|
+
}
|
|
821
|
+
};
|
|
822
|
+
}
|
|
823
|
+
};
|
|
824
|
+
return MultiChannelAssociationCCSet2 = _classThis;
|
|
825
|
+
})();
|
|
826
|
+
let MultiChannelAssociationCCRemove = (() => {
|
|
827
|
+
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.MultiChannelAssociationCommand.Remove), (0, import_CommandClassDecorators.useSupervision)()];
|
|
828
|
+
let _classDescriptor;
|
|
829
|
+
let _classExtraInitializers = [];
|
|
830
|
+
let _classThis;
|
|
831
|
+
let _classSuper = MultiChannelAssociationCC;
|
|
832
|
+
var MultiChannelAssociationCCRemove2 = class extends _classSuper {
|
|
833
|
+
static {
|
|
834
|
+
_classThis = this;
|
|
835
|
+
}
|
|
836
|
+
static {
|
|
837
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
838
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
839
|
+
MultiChannelAssociationCCRemove2 = _classThis = _classDescriptor.value;
|
|
840
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
841
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
842
|
+
}
|
|
843
|
+
constructor(options) {
|
|
844
|
+
super(options);
|
|
845
|
+
this.groupId = options.groupId;
|
|
846
|
+
this.nodeIds = options.nodeIds;
|
|
847
|
+
this.endpoints = options.endpoints;
|
|
848
|
+
}
|
|
849
|
+
static from(raw, ctx) {
|
|
850
|
+
(0, import_safe.validatePayload)(raw.payload.length >= 1);
|
|
851
|
+
const groupId = raw.payload[0];
|
|
852
|
+
const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(1));
|
|
853
|
+
return new this({
|
|
854
|
+
nodeId: ctx.sourceNodeId,
|
|
855
|
+
groupId,
|
|
856
|
+
nodeIds,
|
|
857
|
+
endpoints
|
|
858
|
+
});
|
|
859
|
+
}
|
|
860
|
+
groupId;
|
|
861
|
+
nodeIds;
|
|
862
|
+
endpoints;
|
|
863
|
+
serialize(ctx) {
|
|
864
|
+
this.payload = import_safe2.Bytes.concat([
|
|
865
|
+
import_safe2.Bytes.from([this.groupId || 0]),
|
|
866
|
+
serializeMultiChannelAssociationDestination(this.nodeIds || [], this.endpoints || [])
|
|
867
|
+
]);
|
|
868
|
+
return super.serialize(ctx);
|
|
869
|
+
}
|
|
870
|
+
toLogEntry(ctx) {
|
|
871
|
+
const message = {
|
|
872
|
+
"group id": this.groupId || "(all groups)"
|
|
873
|
+
};
|
|
874
|
+
if (this.nodeIds) {
|
|
875
|
+
message["node ids"] = this.nodeIds.join(", ");
|
|
859
876
|
}
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
}
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
]
|
|
875
|
-
let
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
}
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
877
|
+
if (this.endpoints) {
|
|
878
|
+
message.endpoints = endpointAddressesToString(this.endpoints);
|
|
879
|
+
}
|
|
880
|
+
return {
|
|
881
|
+
...super.toLogEntry(ctx),
|
|
882
|
+
message
|
|
883
|
+
};
|
|
884
|
+
}
|
|
885
|
+
};
|
|
886
|
+
return MultiChannelAssociationCCRemove2 = _classThis;
|
|
887
|
+
})();
|
|
888
|
+
let MultiChannelAssociationCCReport = (() => {
|
|
889
|
+
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.MultiChannelAssociationCommand.Report), (0, import_CommandClassDecorators.ccValueProperty)("maxNodes", MultiChannelAssociationCCValues.maxNodes, (self) => [self.groupId]), (0, import_CommandClassDecorators.ccValueProperty)("nodeIds", MultiChannelAssociationCCValues.nodeIds, (self) => [self.groupId]), (0, import_CommandClassDecorators.ccValueProperty)("endpoints", MultiChannelAssociationCCValues.endpoints, (self) => [self.groupId])];
|
|
890
|
+
let _classDescriptor;
|
|
891
|
+
let _classExtraInitializers = [];
|
|
892
|
+
let _classThis;
|
|
893
|
+
let _classSuper = MultiChannelAssociationCC;
|
|
894
|
+
var MultiChannelAssociationCCReport2 = class extends _classSuper {
|
|
895
|
+
static {
|
|
896
|
+
_classThis = this;
|
|
897
|
+
}
|
|
898
|
+
static {
|
|
899
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
900
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
901
|
+
MultiChannelAssociationCCReport2 = _classThis = _classDescriptor.value;
|
|
902
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
903
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
904
|
+
}
|
|
905
|
+
constructor(options) {
|
|
906
|
+
super(options);
|
|
907
|
+
this.groupId = options.groupId;
|
|
908
|
+
this.maxNodes = options.maxNodes;
|
|
909
|
+
this.nodeIds = options.nodeIds;
|
|
910
|
+
this.endpoints = options.endpoints;
|
|
911
|
+
this.reportsToFollow = options.reportsToFollow;
|
|
912
|
+
}
|
|
913
|
+
static from(raw, ctx) {
|
|
914
|
+
(0, import_safe.validatePayload)(raw.payload.length >= 3);
|
|
915
|
+
const groupId = raw.payload[0];
|
|
916
|
+
const maxNodes = raw.payload[1];
|
|
917
|
+
const reportsToFollow = raw.payload[2];
|
|
918
|
+
const { nodeIds, endpoints } = deserializeMultiChannelAssociationDestination(raw.payload.subarray(3));
|
|
919
|
+
return new this({
|
|
920
|
+
nodeId: ctx.sourceNodeId,
|
|
921
|
+
groupId,
|
|
922
|
+
maxNodes,
|
|
923
|
+
nodeIds,
|
|
924
|
+
endpoints,
|
|
925
|
+
reportsToFollow
|
|
926
|
+
});
|
|
927
|
+
}
|
|
928
|
+
groupId;
|
|
929
|
+
maxNodes;
|
|
930
|
+
nodeIds;
|
|
931
|
+
endpoints;
|
|
932
|
+
reportsToFollow;
|
|
933
|
+
getPartialCCSessionId() {
|
|
934
|
+
return { groupId: this.groupId };
|
|
935
|
+
}
|
|
936
|
+
expectMoreMessages() {
|
|
937
|
+
return this.reportsToFollow > 0;
|
|
938
|
+
}
|
|
939
|
+
mergePartialCCs(partials, _ctx) {
|
|
940
|
+
this.nodeIds = [...partials, this].map((report) => [...report.nodeIds]).reduce((prev, cur) => prev.concat(...cur), []);
|
|
941
|
+
this.endpoints = [...partials, this].map((report) => [...report.endpoints]).reduce((prev, cur) => prev.concat(...cur), []);
|
|
942
|
+
}
|
|
943
|
+
serialize(ctx) {
|
|
944
|
+
const destinations = serializeMultiChannelAssociationDestination(this.nodeIds, this.endpoints);
|
|
945
|
+
this.payload = import_safe2.Bytes.concat([
|
|
946
|
+
import_safe2.Bytes.from([
|
|
947
|
+
this.groupId,
|
|
948
|
+
this.maxNodes,
|
|
949
|
+
this.reportsToFollow
|
|
950
|
+
]),
|
|
951
|
+
destinations
|
|
952
|
+
]);
|
|
953
|
+
return super.serialize(ctx);
|
|
954
|
+
}
|
|
955
|
+
toLogEntry(ctx) {
|
|
956
|
+
return {
|
|
957
|
+
...super.toLogEntry(ctx),
|
|
958
|
+
message: {
|
|
959
|
+
"group id": this.groupId,
|
|
960
|
+
"maximum # of nodes": this.maxNodes,
|
|
961
|
+
"node ids": this.nodeIds.join(", "),
|
|
962
|
+
endpoints: endpointAddressesToString(this.endpoints)
|
|
963
|
+
}
|
|
964
|
+
};
|
|
965
|
+
}
|
|
966
|
+
};
|
|
967
|
+
return MultiChannelAssociationCCReport2 = _classThis;
|
|
968
|
+
})();
|
|
969
|
+
let MultiChannelAssociationCCGet = (() => {
|
|
970
|
+
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.MultiChannelAssociationCommand.Get), (0, import_CommandClassDecorators.expectedCCResponse)(MultiChannelAssociationCCReport)];
|
|
971
|
+
let _classDescriptor;
|
|
972
|
+
let _classExtraInitializers = [];
|
|
973
|
+
let _classThis;
|
|
974
|
+
let _classSuper = MultiChannelAssociationCC;
|
|
975
|
+
var MultiChannelAssociationCCGet2 = class extends _classSuper {
|
|
976
|
+
static {
|
|
977
|
+
_classThis = this;
|
|
978
|
+
}
|
|
979
|
+
static {
|
|
980
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
981
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
982
|
+
MultiChannelAssociationCCGet2 = _classThis = _classDescriptor.value;
|
|
983
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
984
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
985
|
+
}
|
|
986
|
+
constructor(options) {
|
|
987
|
+
super(options);
|
|
988
|
+
if (options.groupId < 1) {
|
|
989
|
+
throw new import_safe.ZWaveError("The group id must be positive!", import_safe.ZWaveErrorCodes.Argument_Invalid);
|
|
990
|
+
}
|
|
991
|
+
this.groupId = options.groupId;
|
|
992
|
+
}
|
|
993
|
+
static from(raw, ctx) {
|
|
994
|
+
(0, import_safe.validatePayload)(raw.payload.length >= 1);
|
|
995
|
+
const groupId = raw.payload[0];
|
|
996
|
+
return new this({
|
|
997
|
+
nodeId: ctx.sourceNodeId,
|
|
998
|
+
groupId
|
|
999
|
+
});
|
|
1000
|
+
}
|
|
1001
|
+
groupId;
|
|
1002
|
+
serialize(ctx) {
|
|
1003
|
+
this.payload = import_safe2.Bytes.from([this.groupId]);
|
|
1004
|
+
return super.serialize(ctx);
|
|
1005
|
+
}
|
|
1006
|
+
toLogEntry(ctx) {
|
|
1007
|
+
return {
|
|
1008
|
+
...super.toLogEntry(ctx),
|
|
1009
|
+
message: { "group id": this.groupId }
|
|
1010
|
+
};
|
|
1011
|
+
}
|
|
1012
|
+
};
|
|
1013
|
+
return MultiChannelAssociationCCGet2 = _classThis;
|
|
1014
|
+
})();
|
|
1015
|
+
let MultiChannelAssociationCCSupportedGroupingsReport = (() => {
|
|
1016
|
+
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.MultiChannelAssociationCommand.SupportedGroupingsReport), (0, import_CommandClassDecorators.ccValueProperty)("groupCount", MultiChannelAssociationCCValues.groupCount)];
|
|
1017
|
+
let _classDescriptor;
|
|
1018
|
+
let _classExtraInitializers = [];
|
|
1019
|
+
let _classThis;
|
|
1020
|
+
let _classSuper = MultiChannelAssociationCC;
|
|
1021
|
+
var MultiChannelAssociationCCSupportedGroupingsReport2 = class extends _classSuper {
|
|
1022
|
+
static {
|
|
1023
|
+
_classThis = this;
|
|
1024
|
+
}
|
|
1025
|
+
static {
|
|
1026
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
1027
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
1028
|
+
MultiChannelAssociationCCSupportedGroupingsReport2 = _classThis = _classDescriptor.value;
|
|
1029
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
1030
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
1031
|
+
}
|
|
1032
|
+
constructor(options) {
|
|
1033
|
+
super(options);
|
|
1034
|
+
this.groupCount = options.groupCount;
|
|
1035
|
+
}
|
|
1036
|
+
static from(raw, ctx) {
|
|
1037
|
+
(0, import_safe.validatePayload)(raw.payload.length >= 1);
|
|
1038
|
+
const groupCount = raw.payload[0];
|
|
1039
|
+
return new this({
|
|
1040
|
+
nodeId: ctx.sourceNodeId,
|
|
1041
|
+
groupCount
|
|
1042
|
+
});
|
|
1043
|
+
}
|
|
1044
|
+
groupCount;
|
|
1045
|
+
serialize(ctx) {
|
|
1046
|
+
this.payload = import_safe2.Bytes.from([this.groupCount]);
|
|
1047
|
+
return super.serialize(ctx);
|
|
1048
|
+
}
|
|
1049
|
+
toLogEntry(ctx) {
|
|
1050
|
+
return {
|
|
1051
|
+
...super.toLogEntry(ctx),
|
|
1052
|
+
message: { "group count": this.groupCount }
|
|
1053
|
+
};
|
|
1054
|
+
}
|
|
1055
|
+
};
|
|
1056
|
+
return MultiChannelAssociationCCSupportedGroupingsReport2 = _classThis;
|
|
1057
|
+
})();
|
|
1058
|
+
let MultiChannelAssociationCCSupportedGroupingsGet = (() => {
|
|
1059
|
+
let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.MultiChannelAssociationCommand.SupportedGroupingsGet), (0, import_CommandClassDecorators.expectedCCResponse)(MultiChannelAssociationCCSupportedGroupingsReport)];
|
|
1060
|
+
let _classDescriptor;
|
|
1061
|
+
let _classExtraInitializers = [];
|
|
1062
|
+
let _classThis;
|
|
1063
|
+
let _classSuper = MultiChannelAssociationCC;
|
|
1064
|
+
var MultiChannelAssociationCCSupportedGroupingsGet2 = class extends _classSuper {
|
|
1065
|
+
static {
|
|
1066
|
+
_classThis = this;
|
|
1067
|
+
}
|
|
1068
|
+
static {
|
|
1069
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
1070
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
1071
|
+
MultiChannelAssociationCCSupportedGroupingsGet2 = _classThis = _classDescriptor.value;
|
|
1072
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
1073
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
1074
|
+
}
|
|
1075
|
+
};
|
|
1076
|
+
return MultiChannelAssociationCCSupportedGroupingsGet2 = _classThis;
|
|
1077
|
+
})();
|
|
944
1078
|
// Annotate the CommonJS export names for ESM import in node:
|
|
945
1079
|
0 && (module.exports = {
|
|
946
1080
|
MultiChannelAssociationCC,
|