@zwave-js/cc 15.27.1 → 15.29.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.map +2 -2
- package/build/cjs/cc/AssociationCC.js +6 -5
- package/build/cjs/cc/AssociationCC.js.map +2 -2
- package/build/cjs/cc/AssociationGroupInfoCC.js +5 -5
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
- package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
- package/build/cjs/cc/BasicCC.d.ts +4 -1
- package/build/cjs/cc/BasicCC.js +18 -0
- package/build/cjs/cc/BasicCC.js.map +3 -3
- package/build/cjs/cc/BasicWindowCoveringCC.js.map +2 -2
- package/build/cjs/cc/BatteryCC.js +18 -4
- package/build/cjs/cc/BatteryCC.js.map +2 -2
- package/build/cjs/cc/BinarySensorCC.js +5 -1
- package/build/cjs/cc/BinarySensorCC.js.map +2 -2
- package/build/cjs/cc/BinarySwitchCC.d.ts +4 -1
- package/build/cjs/cc/BinarySwitchCC.js +18 -0
- package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
- package/build/cjs/cc/CRC16CC.d.ts +3 -2
- package/build/cjs/cc/CRC16CC.js +7 -1
- package/build/cjs/cc/CRC16CC.js.map +3 -3
- package/build/cjs/cc/CentralSceneCC.js.map +2 -2
- package/build/cjs/cc/ClimateControlScheduleCC.js.map +2 -2
- package/build/cjs/cc/ClockCC.js.map +2 -2
- package/build/cjs/cc/ColorSwitchCC.js +1 -4
- package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
- package/build/cjs/cc/ConfigurationCC.js +16 -8
- package/build/cjs/cc/ConfigurationCC.js.map +2 -2
- package/build/cjs/cc/DeviceResetLocallyCC.js.map +2 -2
- package/build/cjs/cc/DoorLockCC.js +1 -1
- package/build/cjs/cc/DoorLockCC.js.map +2 -2
- package/build/cjs/cc/EntryControlCC.js.map +2 -2
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +4 -16
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlSetpointCC.js +10 -4
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
- package/build/cjs/cc/IndicatorCC.js +5 -8
- package/build/cjs/cc/IndicatorCC.js.map +2 -2
- package/build/cjs/cc/IrrigationCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.d.ts +1 -0
- package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.js +13 -0
- package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC.d.ts +6 -4
- package/build/cjs/cc/ManufacturerSpecificCC.js +41 -8
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
- package/build/cjs/cc/MeterCC.js +18 -29
- package/build/cjs/cc/MeterCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelAssociationCC.js +11 -7
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelCC.d.ts +3 -1
- package/build/cjs/cc/MultiChannelCC.js +21 -10
- package/build/cjs/cc/MultiChannelCC.js.map +3 -3
- package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
- package/build/cjs/cc/MultilevelSwitchCC.d.ts +5 -1
- package/build/cjs/cc/MultilevelSwitchCC.js +30 -0
- package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
- package/build/cjs/cc/NotificationCC.js +29 -11
- package/build/cjs/cc/NotificationCC.js.map +2 -2
- package/build/cjs/cc/PowerlevelCC.js.map +1 -1
- package/build/cjs/cc/ProtectionCC.js +2 -0
- package/build/cjs/cc/ProtectionCC.js.map +2 -2
- package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +2 -2
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
- package/build/cjs/cc/Security2CC.d.ts +2 -1
- package/build/cjs/cc/Security2CC.js +31 -3
- package/build/cjs/cc/Security2CC.js.map +2 -2
- package/build/cjs/cc/SecurityCC.d.ts +3 -2
- package/build/cjs/cc/SecurityCC.js +7 -6
- package/build/cjs/cc/SecurityCC.js.map +2 -2
- package/build/cjs/cc/SoundSwitchCC.js +6 -6
- package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
- package/build/cjs/cc/SupervisionCC.d.ts +2 -1
- package/build/cjs/cc/SupervisionCC.js +6 -0
- package/build/cjs/cc/SupervisionCC.js.map +3 -3
- package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatModeCC.js +1 -3
- package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetpointCC.d.ts +4 -1
- package/build/cjs/cc/ThermostatSetpointCC.js +18 -0
- package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
- package/build/cjs/cc/TimeCC.js.map +2 -2
- package/build/cjs/cc/TransportServiceCC.js.map +2 -2
- package/build/cjs/cc/UserCodeCC.js +3 -6
- package/build/cjs/cc/UserCodeCC.js.map +2 -2
- package/build/cjs/cc/UserCredentialCC.js +8 -6
- package/build/cjs/cc/UserCredentialCC.js.map +2 -2
- package/build/cjs/cc/VersionCC.js.map +2 -2
- package/build/cjs/cc/WindowCoveringCC.js +5 -1
- package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
- package/build/cjs/cc/ZWaveProtocolCC.js +3 -11
- package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
- package/build/cjs/cc/_CCValues.generated.d.ts +4 -4
- package/build/cjs/cc/_CCValues.generated.js +1 -1
- package/build/cjs/cc/_CCValues.generated.js.map +2 -2
- package/build/cjs/cc/index.d.ts +179 -179
- package/build/cjs/cc/index.js.map +1 -1
- package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +2 -2
- package/build/cjs/lib/API.d.ts +3 -2
- package/build/cjs/lib/API.js.map +2 -2
- package/build/cjs/lib/CommandClass.d.ts +23 -1
- package/build/cjs/lib/CommandClass.js +63 -15
- package/build/cjs/lib/CommandClass.js.map +3 -3
- package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
- package/build/cjs/lib/EncapsulatingCommandClass.js.map +2 -2
- package/build/cjs/lib/NotificationEventPayload.js.map +2 -2
- package/build/cjs/lib/Security2/Extension.js +1 -4
- package/build/cjs/lib/Security2/Extension.js.map +2 -2
- package/build/cjs/lib/Security2/shared.js.map +2 -2
- package/build/cjs/lib/SetValueResult.js.map +1 -1
- package/build/cjs/lib/Values.d.ts +1 -1
- package/build/cjs/lib/Values.js.map +2 -2
- package/build/cjs/lib/_CCAPI.generated.js.map +1 -1
- package/build/cjs/lib/_Types.d.ts +34 -30
- package/build/cjs/lib/_Types.js +7 -0
- package/build/cjs/lib/_Types.js.map +3 -3
- package/build/cjs/lib/serializers.js +1 -4
- package/build/cjs/lib/serializers.js.map +2 -2
- package/build/cjs/lib/utils.js.map +2 -2
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +1 -2
- 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 +8 -7
- 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 +11 -12
- 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 +10 -9
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC.d.ts +4 -1
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +30 -7
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/BasicWindowCoveringCC.js +2 -5
- package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +17 -14
- 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 +12 -7
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts +4 -1
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +31 -6
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CRC16CC.d.ts +3 -2
- package/build/esm/cc/CRC16CC.d.ts.map +1 -1
- package/build/esm/cc/CRC16CC.js +10 -4
- 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 +2 -1
- 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 +6 -2
- package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/esm/cc/ClockCC.d.ts.map +1 -1
- package/build/esm/cc/ClockCC.js +6 -2
- 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 +17 -20
- package/build/esm/cc/ColorSwitchCC.js.map +1 -1
- package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/ConfigurationCC.js +37 -33
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
- package/build/esm/cc/DeviceResetLocallyCC.js +1 -2
- 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 +26 -30
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +10 -7
- 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 +15 -27
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +8 -9
- package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
- package/build/esm/cc/IndicatorCC.js +27 -42
- 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 +8 -6
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerProprietaryCC.js +1 -2
- package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts +1 -0
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.js +10 -0
- package/build/esm/cc/ManufacturerSpecificCC._validateArgs.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts +6 -4
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +54 -17
- 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 +28 -38
- 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 +15 -20
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts +3 -1
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +28 -22
- package/build/esm/cc/MultiChannelCC.js.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSensorCC.js +11 -11
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts +5 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +56 -16
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +66 -55
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.js +13 -9
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneActuatorConfigurationCC.js +5 -8
- package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +10 -16
- 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 +13 -20
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts +2 -1
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +68 -32
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts +3 -2
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +16 -11
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +2 -2
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/SupervisionCC.d.ts +2 -1
- package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
- package/build/esm/cc/SupervisionCC.js +13 -6
- 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 +1 -2
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.js +1 -3
- 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 +1 -2
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts +4 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +31 -19
- package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/esm/cc/TimeCC.d.ts.map +1 -1
- package/build/esm/cc/TimeCC.js +6 -2
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
- package/build/esm/cc/TransportServiceCC.js +8 -8
- 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 +23 -30
- package/build/esm/cc/UserCodeCC.js.map +1 -1
- package/build/esm/cc/UserCredentialCC.d.ts.map +1 -1
- package/build/esm/cc/UserCredentialCC.js +49 -60
- package/build/esm/cc/UserCredentialCC.js.map +1 -1
- package/build/esm/cc/VersionCC.js +3 -3
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +10 -9
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
- package/build/esm/cc/ZWaveProtocolCC.js +5 -26
- package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/esm/cc/_CCValues.generated.d.ts +4 -4
- package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
- package/build/esm/cc/_CCValues.generated.js +638 -679
- package/build/esm/cc/_CCValues.generated.js.map +1 -1
- package/build/esm/cc/index.d.ts +179 -179
- package/build/esm/cc/index.d.ts.map +1 -1
- package/build/esm/cc/index.js +124 -124
- package/build/esm/cc/index.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/Decorators.js.map +1 -1
- package/build/esm/lib/API.d.ts +3 -2
- package/build/esm/lib/API.d.ts.map +1 -1
- package/build/esm/lib/API.js +1 -1
- package/build/esm/lib/API.js.map +1 -1
- package/build/esm/lib/CommandClass.d.ts +23 -1
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js +61 -20
- package/build/esm/lib/CommandClass.js.map +1 -1
- package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
- package/build/esm/lib/CommandClassDecorators.js +1 -2
- package/build/esm/lib/CommandClassDecorators.js.map +1 -1
- package/build/esm/lib/EncapsulatingCommandClass.d.ts.map +1 -1
- package/build/esm/lib/EncapsulatingCommandClass.js.map +1 -1
- package/build/esm/lib/NotificationEventPayload.d.ts.map +1 -1
- package/build/esm/lib/NotificationEventPayload.js.map +1 -1
- package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
- package/build/esm/lib/Security2/Extension.js +2 -6
- package/build/esm/lib/Security2/Extension.js.map +1 -1
- package/build/esm/lib/Security2/shared.d.ts.map +1 -1
- package/build/esm/lib/Security2/shared.js.map +1 -1
- package/build/esm/lib/SetValueResult.d.ts.map +1 -1
- package/build/esm/lib/Values.d.ts +1 -1
- package/build/esm/lib/Values.d.ts.map +1 -1
- package/build/esm/lib/Values.js.map +1 -1
- package/build/esm/lib/_CCAPI.generated.d.ts.map +1 -1
- package/build/esm/lib/_Types.d.ts +34 -30
- package/build/esm/lib/_Types.d.ts.map +1 -1
- package/build/esm/lib/_Types.js +5 -0
- package/build/esm/lib/_Types.js.map +1 -1
- package/build/esm/lib/serializers.d.ts.map +1 -1
- package/build/esm/lib/serializers.js +1 -4
- package/build/esm/lib/serializers.js.map +1 -1
- package/build/esm/lib/traits.d.ts.map +1 -1
- package/build/esm/lib/utils.d.ts.map +1 -1
- package/build/esm/lib/utils.js +25 -31
- package/build/esm/lib/utils.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src_gen/cc/ZWaveProtocolCC.ts"],
|
|
4
|
-
"sourcesContent": ["import { type BasicDeviceClass, CommandClasses, type DataRate, type FLiRS, MAX_NODES, MAX_REPEATERS, type NodeInformationFrame, type NodeProtocolInfoAndDeviceClass, type NodeType, type ProtocolVersion, type WithAddress, ZWaveDataRate, ZWaveError, ZWaveErrorCodes, encodeBitMask, encodeNodeInformationFrame, encodeNodeProtocolInfoAndDeviceClass, parseBitMask, parseNodeInformationFrame, parseNodeProtocolInfoAndDeviceClass, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView } from \"@zwave-js/shared\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport { CCCommand, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { type NetworkTransferStatus, WakeUpTime, ZWaveProtocolCommand, parseWakeUpTime, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nenum DataRateBitmask {\n \"9k6\" = 0b001,\n \"40k\" = 0b010,\n \"100k\" = 0b100\n}\nfunction dataRate2Bitmask(dataRate: ZWaveDataRate): DataRateBitmask {\n return dataRate === ZWaveDataRate[\"100k\"]\n ? DataRateBitmask[\"100k\"]\n : dataRate === ZWaveDataRate[\"40k\"]\n ? DataRateBitmask[\"40k\"]\n : DataRateBitmask[\"9k6\"];\n}\nfunction bitmask2DataRate(mask: DataRateBitmask): ZWaveDataRate {\n return mask === DataRateBitmask[\"100k\"]\n ? ZWaveDataRate[\"100k\"]\n : mask === DataRateBitmask[\"40k\"]\n ? ZWaveDataRate[\"40k\"]\n : ZWaveDataRate[\"9k6\"];\n}\n@commandClass(CommandClasses[\"Z-Wave Protocol\"])\n@implementedVersion(1)\nexport class ZWaveProtocolCC extends CommandClass {\n declare ccCommand: ZWaveProtocolCommand;\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodeInformationFrameOptions extends NodeInformationFrame {\n}\n@CCCommand(ZWaveProtocolCommand.NodeInformationFrame)\nexport class ZWaveProtocolCCNodeInformationFrame extends ZWaveProtocolCC implements NodeInformationFrame {\n public constructor(options: WithAddress<ZWaveProtocolCCNodeInformationFrameOptions>) {\n super(options);\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n this.supportedCCs = options.supportedCCs;\n this.controlledCCs = options.controlledCCs ?? [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodeInformationFrame {\n const nif = parseNodeInformationFrame(raw.payload);\n return new this({\n nodeId: ctx.sourceNodeId,\n ...nif,\n });\n }\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public supportedCCs: CommandClasses[];\n public controlledCCs: CommandClasses[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = encodeNodeInformationFrame(this);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.RequestNodeInformationFrame)\n@expectedCCResponse(ZWaveProtocolCCNodeInformationFrame)\nexport class ZWaveProtocolCCRequestNodeInformationFrame extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignIDsOptions {\n assignedNodeId: number;\n homeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.AssignIDs)\nexport class ZWaveProtocolCCAssignIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignIDsOptions>) {\n super(options);\n this.assignedNodeId = options.assignedNodeId;\n this.homeId = options.homeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignIDs {\n validatePayload(raw.payload.length >= 5);\n const assignedNodeId = raw.payload[0];\n const homeId = raw.payload.readUInt32BE(1);\n return new this({\n nodeId: ctx.sourceNodeId,\n assignedNodeId,\n homeId,\n });\n }\n public assignedNodeId: number;\n public homeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = new Bytes(5);\n this.payload[0] = this.assignedNodeId;\n this.payload.writeUInt32BE(this.homeId, 1);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCFindNodesInRangeOptions {\n candidateNodeIds: number[];\n wakeUpTime: WakeUpTime;\n dataRate?: ZWaveDataRate;\n}\n@CCCommand(ZWaveProtocolCommand.FindNodesInRange)\nexport class ZWaveProtocolCCFindNodesInRange extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCFindNodesInRangeOptions>) {\n super(options);\n this.candidateNodeIds = options.candidateNodeIds;\n this.wakeUpTime = options.wakeUpTime;\n this.dataRate = options.dataRate ?? ZWaveDataRate[\"9k6\"];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCFindNodesInRange {\n validatePayload(raw.payload.length >= 1);\n const speedPresent = raw.payload[0] & 128;\n const bitmaskLength = raw.payload[0] & 31;\n validatePayload(raw.payload.length >= 1 + bitmaskLength);\n const candidateNodeIds = parseBitMask(raw.payload.subarray(1, 1 + bitmaskLength));\n const rest = raw.payload.subarray(1 + bitmaskLength);\n let dataRate: ZWaveDataRate;\n let wakeUpTime: WakeUpTime;\n if (speedPresent) {\n validatePayload(rest.length >= 1);\n if (rest.length === 1) {\n dataRate = rest[0] & 0b111;\n wakeUpTime = WakeUpTime.None;\n }\n else if (rest.length === 2) {\n wakeUpTime = parseWakeUpTime(rest[0]);\n dataRate = rest[1] & 0b111;\n }\n else {\n validatePayload.fail(\"Invalid payload length\");\n }\n }\n else if (rest.length >= 1) {\n wakeUpTime = parseWakeUpTime(rest[0]);\n dataRate = ZWaveDataRate[\"9k6\"];\n }\n else {\n wakeUpTime = WakeUpTime.None;\n dataRate = ZWaveDataRate[\"9k6\"];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n candidateNodeIds,\n dataRate,\n wakeUpTime,\n });\n }\n public candidateNodeIds: number[];\n public wakeUpTime: WakeUpTime;\n public dataRate: ZWaveDataRate;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.candidateNodeIds, MAX_NODES);\n const speedAndLength = 128 | nodesBitmask.length;\n this.payload = Bytes.concat([\n [speedAndLength],\n nodesBitmask,\n [this.wakeUpTime, this.dataRate],\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCRangeInfoOptions {\n neighborNodeIds: number[];\n wakeUpTime?: WakeUpTime;\n}\n@CCCommand(ZWaveProtocolCommand.RangeInfo)\nexport class ZWaveProtocolCCRangeInfo extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCRangeInfoOptions>) {\n super(options);\n this.neighborNodeIds = options.neighborNodeIds;\n this.wakeUpTime = options.wakeUpTime;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCRangeInfo {\n validatePayload(raw.payload.length >= 1);\n const bitmaskLength = raw.payload[0] & 31;\n validatePayload(raw.payload.length >= 1 + bitmaskLength);\n const neighborNodeIds = parseBitMask(raw.payload.subarray(1, 1 + bitmaskLength));\n let wakeUpTime: WakeUpTime | undefined;\n if (raw.payload.length >= 2 + bitmaskLength) {\n wakeUpTime = parseWakeUpTime(raw.payload[1 + bitmaskLength]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n neighborNodeIds,\n wakeUpTime,\n });\n }\n public neighborNodeIds: number[];\n public wakeUpTime?: WakeUpTime;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [nodesBitmask.length],\n nodesBitmask,\n this.wakeUpTime != undefined\n ? Bytes.from([this.wakeUpTime])\n : new Bytes(),\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.GetNodesInRange)\n@expectedCCResponse(ZWaveProtocolCCRangeInfo)\nexport class ZWaveProtocolCCGetNodesInRange extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCCommandCompleteOptions {\n sequenceNumber: number;\n}\n@CCCommand(ZWaveProtocolCommand.CommandComplete)\nexport class ZWaveProtocolCCCommandComplete extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCCommandCompleteOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCCommandComplete {\n validatePayload(raw.payload.length >= 1);\n const sequenceNumber = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n });\n }\n public sequenceNumber: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sequenceNumber]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferPresentationOptions {\n supportsNWI: boolean;\n includeNode: boolean;\n excludeNode: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.TransferPresentation)\nexport class ZWaveProtocolCCTransferPresentation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferPresentationOptions>) {\n super(options);\n if (options.includeNode && options.excludeNode) {\n throw new ZWaveError(`${this.constructor.name}: the includeNode and excludeNode options cannot both be true`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.supportsNWI = options.supportsNWI;\n this.includeNode = options.includeNode;\n this.excludeNode = options.excludeNode;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferPresentation {\n validatePayload(raw.payload.length >= 1);\n const option = raw.payload[0];\n const supportsNWI = !!(option & 0b0001);\n const excludeNode = !!(option & 0b0010);\n const includeNode = !!(option & 0b0100);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportsNWI,\n excludeNode,\n includeNode,\n });\n }\n public supportsNWI: boolean;\n public includeNode: boolean;\n public excludeNode: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n (this.supportsNWI ? 0b0001 : 0)\n | (this.excludeNode ? 0b0010 : 0)\n | (this.includeNode ? 0b0100 : 0),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNodeInformationOptions extends NodeProtocolInfoAndDeviceClass {\n sequenceNumber: number;\n sourceNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.TransferNodeInformation)\nexport class ZWaveProtocolCCTransferNodeInformation extends ZWaveProtocolCC implements NodeProtocolInfoAndDeviceClass {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferNodeInformationOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n this.sourceNodeId = options.sourceNodeId;\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferNodeInformation {\n validatePayload(raw.payload.length >= 2);\n const sequenceNumber = raw.payload[0];\n const sourceNodeId = raw.payload[1];\n const { info } = parseNodeProtocolInfoAndDeviceClass(raw.payload.subarray(2));\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n sourceNodeId,\n ...info,\n });\n }\n public sequenceNumber: number;\n public sourceNodeId: number;\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.sequenceNumber, this.sourceNodeId],\n encodeNodeProtocolInfoAndDeviceClass(this),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferRangeInformationOptions {\n sequenceNumber: number;\n testedNodeId: number;\n neighborNodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.TransferRangeInformation)\nexport class ZWaveProtocolCCTransferRangeInformation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferRangeInformationOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n this.testedNodeId = options.testedNodeId;\n this.neighborNodeIds = options.neighborNodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferRangeInformation {\n validatePayload(raw.payload.length >= 3);\n const sequenceNumber = raw.payload[0];\n const testedNodeId = raw.payload[1];\n const bitmaskLength = raw.payload[2];\n validatePayload(raw.payload.length >= 3 + bitmaskLength);\n const neighborNodeIds = parseBitMask(raw.payload.subarray(3, 3 + bitmaskLength));\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n testedNodeId,\n neighborNodeIds,\n });\n }\n public sequenceNumber: number;\n public testedNodeId: number;\n public neighborNodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [\n this.sequenceNumber,\n this.testedNodeId,\n nodesBitmask.length,\n ],\n nodesBitmask,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferEndOptions {\n status: NetworkTransferStatus;\n}\n@CCCommand(ZWaveProtocolCommand.TransferEnd)\nexport class ZWaveProtocolCCTransferEnd extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferEndOptions>) {\n super(options);\n this.status = options.status;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferEnd {\n validatePayload(raw.payload.length >= 1);\n const status: NetworkTransferStatus = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n status,\n });\n }\n public status: NetworkTransferStatus;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.status]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRouteOptions {\n destinationNodeId: number;\n routeIndex: number;\n repeaters: number[];\n destinationWakeUp: WakeUpTime;\n destinationSpeed: ZWaveDataRate;\n}\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoute)\nexport class ZWaveProtocolCCAssignReturnRoute extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignReturnRouteOptions>) {\n super(options);\n if (options.repeaters.length > MAX_REPEATERS) {\n throw new ZWaveError(`${this.constructor.name}: too many repeaters`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.destinationNodeId = options.destinationNodeId;\n this.routeIndex = options.routeIndex;\n this.repeaters = options.repeaters;\n this.destinationWakeUp = options.destinationWakeUp;\n this.destinationSpeed = options.destinationSpeed;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignReturnRoute {\n validatePayload(raw.payload.length >= 7);\n const destinationNodeId = raw.payload[0];\n const routeIndex = raw.payload[1] >>> 4;\n const numRepeaters = raw.payload[1] & 0b1111;\n const repeaters = [...raw.payload.subarray(2, 2 + numRepeaters)];\n const speedAndWakeup = raw.payload[2 + numRepeaters];\n const destinationSpeed = bitmask2DataRate((speedAndWakeup >>> 3) & 0b111);\n const destinationWakeUp: WakeUpTime = (speedAndWakeup >>> 1) & 0b11;\n return new this({\n nodeId: ctx.sourceNodeId,\n destinationNodeId,\n routeIndex,\n repeaters,\n destinationSpeed,\n destinationWakeUp,\n });\n }\n public destinationNodeId: number;\n public routeIndex: number;\n public repeaters: number[];\n public destinationWakeUp: WakeUpTime;\n public destinationSpeed: ZWaveDataRate;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const routeByte = (this.routeIndex << 4) | this.repeaters.length;\n const speedMask = dataRate2Bitmask(this.destinationSpeed);\n const speedByte = (speedMask << 3) | (this.destinationWakeUp << 1);\n this.payload = Bytes.from([\n this.destinationNodeId,\n routeByte,\n ...this.repeaters,\n speedByte,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNewNodeRegisteredOptions extends NodeInformationFrame {\n newNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.NewNodeRegistered)\nexport class ZWaveProtocolCCNewNodeRegistered extends ZWaveProtocolCC implements NodeInformationFrame {\n public constructor(options: WithAddress<ZWaveProtocolCCNewNodeRegisteredOptions>) {\n super(options);\n this.newNodeId = options.newNodeId;\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n this.supportedCCs = options.supportedCCs;\n this.controlledCCs = options.controlledCCs ?? [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNewNodeRegistered {\n validatePayload(raw.payload.length >= 1);\n const newNodeId = raw.payload[0];\n const nif = parseNodeInformationFrame(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n newNodeId,\n ...nif,\n });\n }\n public newNodeId: number;\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public supportedCCs: CommandClasses[];\n public controlledCCs: CommandClasses[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.newNodeId],\n encodeNodeInformationFrame(this),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNewRangeRegisteredOptions {\n testedNodeId: number;\n neighborNodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.NewRangeRegistered)\nexport class ZWaveProtocolCCNewRangeRegistered extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNewRangeRegisteredOptions>) {\n super(options);\n this.testedNodeId = options.testedNodeId;\n this.neighborNodeIds = options.neighborNodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNewRangeRegistered {\n validatePayload(raw.payload.length >= 2);\n const testedNodeId = raw.payload[0];\n const numNeighbors = raw.payload[1];\n const neighborNodeIds = [\n ...raw.payload.subarray(2, 2 + numNeighbors),\n ];\n return new this({\n nodeId: ctx.sourceNodeId,\n testedNodeId,\n neighborNodeIds,\n });\n }\n public testedNodeId: number;\n public neighborNodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [this.testedNodeId, nodesBitmask.length],\n nodesBitmask,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions {\n genericDeviceClass: number;\n}\n@CCCommand(ZWaveProtocolCommand.TransferNewPrimaryControllerComplete)\nexport class ZWaveProtocolCCTransferNewPrimaryControllerComplete extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions>) {\n super(options);\n this.genericDeviceClass = options.genericDeviceClass;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferNewPrimaryControllerComplete {\n validatePayload(raw.payload.length >= 1);\n const genericDeviceClass = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n genericDeviceClass,\n });\n }\n public genericDeviceClass: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.genericDeviceClass]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AutomaticControllerUpdateStart)\nexport class ZWaveProtocolCCAutomaticControllerUpdateStart extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSUCNodeIDOptions {\n sucNodeId: number;\n isSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SUCNodeID)\nexport class ZWaveProtocolCCSUCNodeID extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSUCNodeIDOptions>) {\n super(options);\n this.sucNodeId = options.sucNodeId;\n this.isSIS = options.isSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSUCNodeID {\n validatePayload(raw.payload.length >= 1);\n const sucNodeId = raw.payload[0];\n const capabilities = raw.payload[1] ?? 0;\n const isSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n sucNodeId,\n isSIS,\n });\n }\n public sucNodeId: number;\n public isSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sucNodeId, this.isSIS ? 0b1 : 0]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCOptions {\n enableSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SetSUC)\nexport class ZWaveProtocolCCSetSUC extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetSUCOptions>) {\n super(options);\n this.enableSIS = options.enableSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetSUC {\n validatePayload(raw.payload.length >= 2);\n // Byte 0 must be 0x01 or ignored\n const capabilities = raw.payload[1] ?? 0;\n const enableSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n enableSIS,\n });\n }\n public enableSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([0x01, this.enableSIS ? 0b1 : 0]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCAckOptions {\n accepted: boolean;\n isSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SetSUCAck)\nexport class ZWaveProtocolCCSetSUCAck extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetSUCAckOptions>) {\n super(options);\n this.accepted = options.accepted;\n this.isSIS = options.isSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetSUCAck {\n validatePayload(raw.payload.length >= 2);\n const accepted = raw.payload[0] === 0x01;\n const capabilities = raw.payload[1] ?? 0;\n const isSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n accepted,\n isSIS,\n });\n }\n public accepted: boolean;\n public isSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.accepted ? 0x01 : 0x00,\n this.isSIS ? 0b1 : 0,\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoute)\nexport class ZWaveProtocolCCAssignSUCReturnRoute extends ZWaveProtocolCCAssignReturnRoute {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCStaticRouteRequestOptions {\n nodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.StaticRouteRequest)\nexport class ZWaveProtocolCCStaticRouteRequest extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCStaticRouteRequestOptions>) {\n super(options);\n if (options.nodeIds.some((n) => n < 1 || n > MAX_NODES)) {\n throw new ZWaveError(`All node IDs must be between 1 and ${MAX_NODES}!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.nodeIds = options.nodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCStaticRouteRequest {\n validatePayload(raw.payload.length >= 5);\n const nodeIds = [...raw.payload.subarray(0, 5)].filter((id) => id > 0 && id <= MAX_NODES);\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeIds,\n });\n }\n public nodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.alloc(5, 0);\n for (let i = 0; i < this.nodeIds.length && i < 5; i++) {\n this.payload[i] = this.nodeIds[i];\n }\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCLostOptions {\n lostNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.Lost)\nexport class ZWaveProtocolCCLost extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCLostOptions>) {\n super(options);\n this.lostNodeId = options.lostNodeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCLost {\n validatePayload(raw.payload.length >= 1);\n const lostNodeId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n lostNodeId,\n });\n }\n public lostNodeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.lostNodeId]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAcceptLostOptions {\n accepted: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.AcceptLost)\nexport class ZWaveProtocolCCAcceptLost extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAcceptLostOptions>) {\n super(options);\n this.accepted = options.accepted;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAcceptLost {\n validatePayload(raw.payload.length >= 1);\n validatePayload(raw.payload[0] === 0x04 || raw.payload[0] === 0x05);\n const accepted = raw.payload[0] === 0x05;\n return new this({\n nodeId: ctx.sourceNodeId,\n accepted,\n });\n }\n public accepted: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.accepted ? 0x05 : 0x04]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNOPPowerOptions {\n powerDampening: number;\n}\n@CCCommand(ZWaveProtocolCommand.NOPPower)\nexport class ZWaveProtocolCCNOPPower extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNOPPowerOptions>) {\n super(options);\n if (options.powerDampening < 0 || options.powerDampening > 14) {\n throw new ZWaveError(`${this.constructor.name}: power dampening must be between 0 and 14 dBm!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.powerDampening = options.powerDampening;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNOPPower {\n let powerDampening;\n if (raw.payload.length >= 2) {\n // Ignore byte 0\n powerDampening = raw.payload[1];\n }\n else if (raw.payload.length === 1) {\n powerDampening = [\n 0xf0,\n 0xc8,\n 0xa7,\n 0x91,\n 0x77,\n 0x67,\n 0x60,\n 0x46,\n 0x38,\n 0x35,\n 0x32,\n 0x30,\n 0x24,\n 0x22,\n 0x20,\n ].indexOf(raw.payload[0]);\n if (powerDampening === -1)\n powerDampening = 0;\n }\n else {\n validatePayload.fail(\"Invalid payload length!\");\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n powerDampening,\n });\n }\n // Power dampening in (negative) dBm. A value of 2 means -2 dBm.\n public powerDampening: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([0, this.powerDampening]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCReservedIDsOptions {\n reservedNodeIDs: number[];\n}\n@CCCommand(ZWaveProtocolCommand.ReservedIDs)\nexport class ZWaveProtocolCCReservedIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCReservedIDsOptions>) {\n super(options);\n this.reservedNodeIDs = options.reservedNodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCReservedIDs {\n validatePayload(raw.payload.length >= 1);\n const numNodeIDs = raw.payload[0];\n validatePayload(raw.payload.length >= 1 + numNodeIDs);\n const reservedNodeIDs = [\n ...raw.payload.subarray(1, 1 + numNodeIDs),\n ];\n return new this({\n nodeId: ctx.sourceNodeId,\n reservedNodeIDs,\n });\n }\n public reservedNodeIDs: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.reservedNodeIDs.length,\n ...this.reservedNodeIDs,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCReserveNodeIDsOptions {\n numNodeIDs: number;\n}\n@CCCommand(ZWaveProtocolCommand.ReserveNodeIDs)\n@expectedCCResponse(ZWaveProtocolCCReservedIDs)\nexport class ZWaveProtocolCCReserveNodeIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCReserveNodeIDsOptions>) {\n super(options);\n this.numNodeIDs = options.numNodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCReserveNodeIDs {\n validatePayload(raw.payload.length >= 1);\n const numNodeIDs = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n numNodeIDs,\n });\n }\n public numNodeIDs: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.numNodeIDs]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistReplyOptions {\n nodeMaskType: number;\n nodeListUpdated: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.NodesExistReply)\nexport class ZWaveProtocolCCNodesExistReply extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNodesExistReplyOptions>) {\n super(options);\n this.nodeMaskType = options.nodeMaskType;\n this.nodeListUpdated = options.nodeListUpdated;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodesExistReply {\n validatePayload(raw.payload.length >= 2);\n const nodeMaskType = raw.payload[0];\n const nodeListUpdated = raw.payload[1] === 0x01;\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeMaskType,\n nodeListUpdated,\n });\n }\n public nodeMaskType: number;\n public nodeListUpdated: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.nodeMaskType,\n this.nodeListUpdated ? 0x01 : 0x00,\n ]);\n return super.serialize(ctx);\n }\n}\nfunction testResponseForZWaveProtocolNodesExist(sent: ZWaveProtocolCCNodesExist, received: ZWaveProtocolCCNodesExistReply) {\n return received.nodeMaskType === sent.nodeMaskType;\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistOptions {\n nodeMaskType: number;\n nodeIDs: number[];\n}\n@CCCommand(ZWaveProtocolCommand.NodesExist)\n@expectedCCResponse(ZWaveProtocolCCNodesExistReply, testResponseForZWaveProtocolNodesExist)\nexport class ZWaveProtocolCCNodesExist extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNodesExistOptions>) {\n super(options);\n this.nodeMaskType = options.nodeMaskType;\n this.nodeIDs = options.nodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodesExist {\n validatePayload(raw.payload.length >= 2);\n const nodeMaskType = raw.payload[0];\n const numNodeIDs = raw.payload[1];\n validatePayload(raw.payload.length >= 2 + numNodeIDs);\n const nodeIDs = [...raw.payload.subarray(2, 2 + numNodeIDs)];\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeMaskType,\n nodeIDs,\n });\n }\n public nodeMaskType: number;\n public nodeIDs: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.nodeMaskType,\n this.nodeIDs.length,\n ...this.nodeIDs,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetNWIModeOptions {\n enabled: boolean;\n timeoutMinutes?: number;\n}\n@CCCommand(ZWaveProtocolCommand.SetNWIMode)\nexport class ZWaveProtocolCCSetNWIMode extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetNWIModeOptions>) {\n super(options);\n this.enabled = options.enabled;\n this.timeoutMinutes = options.timeoutMinutes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetNWIMode {\n validatePayload(raw.payload.length >= 2);\n const enabled = raw.payload[0] === 0x01;\n const timeoutMinutes: number | undefined = raw.payload[1] || undefined;\n return new this({\n nodeId: ctx.sourceNodeId,\n enabled,\n timeoutMinutes,\n });\n }\n public enabled: boolean;\n public timeoutMinutes?: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.enabled ? 0x01 : 0x00,\n this.timeoutMinutes ?? 0x00,\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.ExcludeRequest)\nexport class ZWaveProtocolCCExcludeRequest extends ZWaveProtocolCCNodeInformationFrame {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRoutePriorityOptions {\n targetNodeId: number;\n routeNumber: number;\n}\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoutePriority)\nexport class ZWaveProtocolCCAssignReturnRoutePriority extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignReturnRoutePriorityOptions>) {\n super(options);\n this.targetNodeId = options.targetNodeId;\n this.routeNumber = options.routeNumber;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignReturnRoutePriority {\n validatePayload(raw.payload.length >= 2);\n const targetNodeId = raw.payload[0];\n const routeNumber = raw.payload[1];\n return new this({\n nodeId: ctx.sourceNodeId,\n targetNodeId,\n routeNumber,\n });\n }\n public targetNodeId: number;\n public routeNumber: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.targetNodeId, this.routeNumber]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoutePriority)\nexport class ZWaveProtocolCCAssignSUCReturnRoutePriority extends ZWaveProtocolCCAssignReturnRoutePriority {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSmartStartIncludedNodeInformationOptions {\n nwiHomeId: BytesView;\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartIncludedNodeInformation)\nexport class ZWaveProtocolCCSmartStartIncludedNodeInformation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSmartStartIncludedNodeInformationOptions>) {\n super(options);\n if (options.nwiHomeId.length !== 4) {\n throw new ZWaveError(`nwiHomeId must have length 4`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.nwiHomeId = options.nwiHomeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSmartStartIncludedNodeInformation {\n validatePayload(raw.payload.length >= 4);\n const nwiHomeId = raw.payload.subarray(0, 4);\n return new this({\n nodeId: ctx.sourceNodeId,\n nwiHomeId,\n });\n }\n public nwiHomeId: BytesView;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from(this.nwiHomeId);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartPrime)\nexport class ZWaveProtocolCCSmartStartPrime extends ZWaveProtocolCCNodeInformationFrame {\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartInclusionRequest)\nexport class ZWaveProtocolCCSmartStartInclusionRequest extends ZWaveProtocolCCNodeInformationFrame {\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAA+b;AAC/b,oBAAsC;AACtC,0BAAyC;AACzC,oCAAiF;AACjF,mBAA+F;AAE/F,IAAK;CAAL,SAAKA,kBAAe;AAChB,EAAAA,iBAAAA,iBAAA,KAAA,IAAA,CAAA,IAAA;AACA,EAAAA,iBAAAA,iBAAA,KAAA,IAAA,CAAA,IAAA;AACA,EAAAA,iBAAAA,iBAAA,MAAA,IAAA,CAAA,IAAA;AACJ,GAJK,oBAAA,kBAAe,CAAA,EAAA;AAKpB,SAAS,iBAAiB,UAAuB;AAC7C,SAAO,aAAa,0BAAc,MAAM,IAClC,gBAAgB,MAAM,IACtB,aAAa,0BAAc,KAAK,IAC5B,gBAAgB,KAAK,IACrB,gBAAgB,KAAK;AACnC;AANS;AAOT,SAAS,iBAAiB,MAAqB;AAC3C,SAAO,SAAS,gBAAgB,MAAM,IAChC,0BAAc,MAAM,IACpB,SAAS,gBAAgB,KAAK,IAC1B,0BAAc,KAAK,IACnB,0BAAc,KAAK;AACjC;AANS;IASI,mBAAe,MAAA;8BAF3B,4CAAa,2BAAe,iBAAiB,CAAC,OAC9C,kDAAmB,CAAC,CAAC;;;;oBACe;uCAAA,YAAY;WAAA;;;;;;;;AAAjD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAOA,uCAAmC,MAAA;8BAD/C,yCAAU,kCAAqB,oBAAoB,CAAC;;;;oBACI;2DAAA,YAAe;WAAA;;;;;;;;AAAxE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAgE;AAC/E,YAAM,OAAO;AACb,WAAK,mBAAmB,QAAQ;AAChC,WAAK,qBAAqB,QAAQ;AAClC,WAAK,sBAAsB,QAAQ;AACnC,WAAK,cAAc,QAAQ;AAC3B,WAAK,sBAAsB,QAAQ;AACnC,WAAK,YAAY,QAAQ;AACzB,WAAK,qBAAqB,QAAQ;AAClC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,wBAAwB,QAAQ;AACrC,WAAK,WAAW,QAAQ;AACxB,WAAK,mBAAmB,QAAQ;AAChC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,eAAe,QAAQ;AAC5B,WAAK,gBAAgB,QAAQ,iBAAiB,CAAA;IAClD;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,YAAM,UAAM,uCAA0B,IAAI,OAAO;AACjD,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ,GAAG;OACN;IACL;IACO;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,cAAU,wCAA2B,IAAI;AAC9C,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAIS,8CAA0C,MAAA;8BAFtD,yCAAU,kCAAqB,2BAA2B,OAC1D,kDAAmB,mCAAmC,CAAC;;;;oBACQ;kEAAA,YAAe;WAAA;;;;;;;;AAA/E,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAQA,4BAAwB,MAAA;8BADpC,yCAAU,kCAAqB,SAAS,CAAC;;;;oBACI;gDAAA,YAAe;WAAA;;;;;;;;AAA7D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAqD;AACpE,YAAM,OAAO;AACb,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,SAAS,QAAQ;IAC1B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,CAAC;AACpC,YAAM,SAAS,IAAI,QAAQ,aAAa,CAAC;AACzC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,IAAI,oBAAM,CAAC;AAC1B,WAAK,QAAQ,CAAC,IAAI,KAAK;AACvB,WAAK,QAAQ,cAAc,KAAK,QAAQ,CAAC;AACzC,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IASS,mCAA+B,MAAA;8BAD3C,yCAAU,kCAAqB,gBAAgB,CAAC;;;;oBACI;uDAAA,YAAe;WAAA;;;;;;;;AAApE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA4D;AAC3E,YAAM,OAAO;AACb,WAAK,mBAAmB,QAAQ;AAChC,WAAK,aAAa,QAAQ;AAC1B,WAAK,WAAW,QAAQ,YAAY,0BAAc,KAAK;IAC3D;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC,IAAI;AACtC,YAAM,gBAAgB,IAAI,QAAQ,CAAC,IAAI;AACvC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,aAAa;AACvD,YAAM,uBAAmB,0BAAa,IAAI,QAAQ,SAAS,GAAG,IAAI,aAAa,CAAC;AAChF,YAAM,OAAO,IAAI,QAAQ,SAAS,IAAI,aAAa;AACnD,UAAI;AACJ,UAAI;AACJ,UAAI,cAAc;AACd,yCAAgB,KAAK,UAAU,CAAC;AAChC,YAAI,KAAK,WAAW,GAAG;AACnB,qBAAW,KAAK,CAAC,IAAI;AACrB,uBAAa,wBAAW;QAC5B,WACS,KAAK,WAAW,GAAG;AACxB,2BAAa,8BAAgB,KAAK,CAAC,CAAC;AACpC,qBAAW,KAAK,CAAC,IAAI;QACzB,OACK;AACD,sCAAgB,KAAK,wBAAwB;QACjD;MACJ,WACS,KAAK,UAAU,GAAG;AACvB,yBAAa,8BAAgB,KAAK,CAAC,CAAC;AACpC,mBAAW,0BAAc,KAAK;MAClC,OACK;AACD,qBAAa,wBAAW;AACxB,mBAAW,0BAAc,KAAK;MAClC;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;QACA;OACH;IACL;IACO;IACA;IACA;IACA,UAAU,KAAsB;AACnC,YAAM,mBAAe,2BAAc,KAAK,kBAAkB,qBAAS;AACnE,YAAM,iBAAiB,MAAM,aAAa;AAC1C,WAAK,UAAU,oBAAM,OAAO;QACxB,CAAC,cAAc;QACf;QACA,CAAC,KAAK,YAAY,KAAK,QAAQ;OAClC;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAQS,4BAAwB,MAAA;8BADpC,yCAAU,kCAAqB,SAAS,CAAC;;;;oBACI;gDAAA,YAAe;WAAA;;;;;;;;AAA7D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAqD;AACpE,YAAM,OAAO;AACb,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,aAAa,QAAQ;IAC9B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,gBAAgB,IAAI,QAAQ,CAAC,IAAI;AACvC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,aAAa;AACvD,YAAM,sBAAkB,0BAAa,IAAI,QAAQ,SAAS,GAAG,IAAI,aAAa,CAAC;AAC/E,UAAI;AACJ,UAAI,IAAI,QAAQ,UAAU,IAAI,eAAe;AACzC,yBAAa,8BAAgB,IAAI,QAAQ,IAAI,aAAa,CAAC;MAC/D;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,YAAM,mBAAe,2BAAc,KAAK,iBAAiB,qBAAS;AAClE,WAAK,UAAU,oBAAM,OAAO;QACxB,CAAC,aAAa,MAAM;QACpB;QACA,KAAK,cAAc,SACb,oBAAM,KAAK,CAAC,KAAK,UAAU,CAAC,IAC5B,IAAI,oBAAK;OAClB;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAIS,kCAA8B,MAAA;8BAF1C,yCAAU,kCAAqB,eAAe,OAC9C,kDAAmB,wBAAwB,CAAC;;;;oBACO;sDAAA,YAAe;WAAA;;;;;;;;AAAnE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAOA,kCAA8B,MAAA;8BAD1C,yCAAU,kCAAqB,eAAe,CAAC;;;;oBACI;sDAAA,YAAe;WAAA;;;;;;;;AAAnE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA2D;AAC1E,YAAM,OAAO;AACb,WAAK,iBAAiB,QAAQ;IAClC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,CAAC;AACpC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,cAAc,CAAC;AAC/C,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IASS,uCAAmC,MAAA;8BAD/C,yCAAU,kCAAqB,oBAAoB,CAAC;;;;oBACI;2DAAA,YAAe;WAAA;;;;;;;;AAAxE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAgE;AAC/E,YAAM,OAAO;AACb,UAAI,QAAQ,eAAe,QAAQ,aAAa;AAC5C,cAAM,IAAI,uBAAW,GAAG,KAAK,YAAY,IAAI,iEAAiE,4BAAgB,gBAAgB;MAClJ;AACA,WAAK,cAAc,QAAQ;AAC3B,WAAK,cAAc,QAAQ;AAC3B,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,SAAS,IAAI,QAAQ,CAAC;AAC5B,YAAM,cAAc,CAAC,EAAE,SAAS;AAChC,YAAM,cAAc,CAAC,EAAE,SAAS;AAChC,YAAM,cAAc,CAAC,EAAE,SAAS;AAChC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;QACA;OACH;IACL;IACO;IACA;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK;SACrB,KAAK,cAAc,IAAS,MACtB,KAAK,cAAc,IAAS,MAC5B,KAAK,cAAc,IAAS;OACtC;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAQS,0CAAsC,MAAA;8BADlD,yCAAU,kCAAqB,uBAAuB,CAAC;;;;oBACI;8DAAA,YAAe;WAAA;;;;;;;;AAA3E,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAmE;AAClF,YAAM,OAAO;AACb,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,eAAe,QAAQ;AAC5B,WAAK,mBAAmB,QAAQ;AAChC,WAAK,qBAAqB,QAAQ;AAClC,WAAK,sBAAsB,QAAQ;AACnC,WAAK,cAAc,QAAQ;AAC3B,WAAK,sBAAsB,QAAQ;AACnC,WAAK,YAAY,QAAQ;AACzB,WAAK,qBAAqB,QAAQ;AAClC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,wBAAwB,QAAQ;AACrC,WAAK,WAAW,QAAQ;AACxB,WAAK,mBAAmB,QAAQ;AAChC,WAAK,kBAAkB,QAAQ;IACnC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,CAAC;AACpC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,EAAE,KAAI,QAAK,iDAAoC,IAAI,QAAQ,SAAS,CAAC,CAAC;AAC5E,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;QACA,GAAG;OACN;IACL;IACO;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,OAAO;QACxB,CAAC,KAAK,gBAAgB,KAAK,YAAY;YACvC,kDAAqC,IAAI;OAC5C;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IASS,2CAAuC,MAAA;8BADnD,yCAAU,kCAAqB,wBAAwB,CAAC;;;;oBACI;+DAAA,YAAe;WAAA;;;;;;;;AAA5E,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAoE;AACnF,YAAM,OAAO;AACb,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,eAAe,QAAQ;AAC5B,WAAK,kBAAkB,QAAQ;IACnC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,CAAC;AACpC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,gBAAgB,IAAI,QAAQ,CAAC;AACnC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,aAAa;AACvD,YAAM,sBAAkB,0BAAa,IAAI,QAAQ,SAAS,GAAG,IAAI,aAAa,CAAC;AAC/E,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;QACA;OACH;IACL;IACO;IACA;IACA;IACA,UAAU,KAAsB;AACnC,YAAM,mBAAe,2BAAc,KAAK,iBAAiB,qBAAS;AAClE,WAAK,UAAU,oBAAM,OAAO;QACxB;UACI,KAAK;UACL,KAAK;UACL,aAAa;;QAEjB;OACH;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAOS,8BAA0B,MAAA;8BADtC,yCAAU,kCAAqB,WAAW,CAAC;;;;oBACI;kDAAA,YAAe;WAAA;;;;;;;;AAA/D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAuD;AACtE,YAAM,OAAO;AACb,WAAK,SAAS,QAAQ;IAC1B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,SAAgC,IAAI,QAAQ,CAAC;AACnD,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,MAAM,CAAC;AACvC,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAWS,oCAAgC,MAAA;8BAD5C,yCAAU,kCAAqB,iBAAiB,CAAC;;;;oBACI;wDAAA,YAAe;WAAA;;;;;;;;AAArE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA6D;AAC5E,YAAM,OAAO;AACb,UAAI,QAAQ,UAAU,SAAS,2BAAe;AAC1C,cAAM,IAAI,uBAAW,GAAG,KAAK,YAAY,IAAI,wBAAwB,4BAAgB,gBAAgB;MACzG;AACA,WAAK,oBAAoB,QAAQ;AACjC,WAAK,aAAa,QAAQ;AAC1B,WAAK,YAAY,QAAQ;AACzB,WAAK,oBAAoB,QAAQ;AACjC,WAAK,mBAAmB,QAAQ;IACpC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,oBAAoB,IAAI,QAAQ,CAAC;AACvC,YAAM,aAAa,IAAI,QAAQ,CAAC,MAAM;AACtC,YAAM,eAAe,IAAI,QAAQ,CAAC,IAAI;AACtC,YAAM,YAAY,CAAC,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,YAAY,CAAC;AAC/D,YAAM,iBAAiB,IAAI,QAAQ,IAAI,YAAY;AACnD,YAAM,mBAAmB,iBAAkB,mBAAmB,IAAK,CAAK;AACxE,YAAM,oBAAiC,mBAAmB,IAAK;AAC/D,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;QACA;QACA;QACA;OACH;IACL;IACO;IACA;IACA;IACA;IACA;IACA,UAAU,KAAsB;AACnC,YAAM,YAAa,KAAK,cAAc,IAAK,KAAK,UAAU;AAC1D,YAAM,YAAY,iBAAiB,KAAK,gBAAgB;AACxD,YAAM,YAAa,aAAa,IAAM,KAAK,qBAAqB;AAChE,WAAK,UAAU,oBAAM,KAAK;QACtB,KAAK;QACL;QACA,GAAG,KAAK;QACR;OACH;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAOS,oCAAgC,MAAA;8BAD5C,yCAAU,kCAAqB,iBAAiB,CAAC;;;;oBACI;wDAAA,YAAe;WAAA;;;;;;;;AAArE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA6D;AAC5E,YAAM,OAAO;AACb,WAAK,YAAY,QAAQ;AACzB,WAAK,mBAAmB,QAAQ;AAChC,WAAK,qBAAqB,QAAQ;AAClC,WAAK,sBAAsB,QAAQ;AACnC,WAAK,cAAc,QAAQ;AAC3B,WAAK,sBAAsB,QAAQ;AACnC,WAAK,YAAY,QAAQ;AACzB,WAAK,qBAAqB,QAAQ;AAClC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,wBAAwB,QAAQ;AACrC,WAAK,WAAW,QAAQ;AACxB,WAAK,mBAAmB,QAAQ;AAChC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,eAAe,QAAQ;AAC5B,WAAK,gBAAgB,QAAQ,iBAAiB,CAAA;IAClD;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,YAAY,IAAI,QAAQ,CAAC;AAC/B,YAAM,UAAM,uCAA0B,IAAI,QAAQ,SAAS,CAAC,CAAC;AAC7D,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA,GAAG;OACN;IACL;IACO;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,OAAO;QACxB,CAAC,KAAK,SAAS;YACf,wCAA2B,IAAI;OAClC;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAQS,qCAAiC,MAAA;8BAD7C,yCAAU,kCAAqB,kBAAkB,CAAC;;;;oBACI;yDAAA,YAAe;WAAA;;;;;;;;AAAtE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA8D;AAC7E,YAAM,OAAO;AACb,WAAK,eAAe,QAAQ;AAC5B,WAAK,kBAAkB,QAAQ;IACnC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,kBAAkB;QACpB,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,YAAY;;AAE/C,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,YAAM,mBAAe,2BAAc,KAAK,iBAAiB,qBAAS;AAClE,WAAK,UAAU,oBAAM,OAAO;QACxB,CAAC,KAAK,cAAc,aAAa,MAAM;QACvC;OACH;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAOS,uDAAmD,MAAA;8BAD/D,yCAAU,kCAAqB,oCAAoC,CAAC;;;;oBACI;2EAAA,YAAe;WAAA;;;;;;;;AAAxF,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAgF;AAC/F,YAAM,OAAO;AACb,WAAK,qBAAqB,QAAQ;IACtC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,qBAAqB,IAAI,QAAQ,CAAC;AACxC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,kBAAkB,CAAC;AACnD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAGS,iDAA6C,MAAA;8BADzD,yCAAU,kCAAqB,8BAA8B,CAAC;;;;oBACI;qEAAA,YAAe;WAAA;;;;;;;;AAAlF,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAQA,4BAAwB,MAAA;8BADpC,yCAAU,kCAAqB,SAAS,CAAC;;;;oBACI;gDAAA,YAAe;WAAA;;;;;;;;AAA7D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAqD;AACpE,YAAM,OAAO;AACb,WAAK,YAAY,QAAQ;AACzB,WAAK,QAAQ,QAAQ;IACzB;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,YAAY,IAAI,QAAQ,CAAC;AAC/B,YAAM,eAAe,IAAI,QAAQ,CAAC,KAAK;AACvC,YAAM,QAAQ,CAAC,EAAE,eAAe;AAChC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,KAAK,QAAQ,IAAM,CAAC,CAAC;AAChE,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAOS,yBAAqB,MAAA;8BADjC,yCAAU,kCAAqB,MAAM,CAAC;;;;oBACI;6CAAA,YAAe;WAAA;;;;;;;;AAA1D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAkD;AACjE,YAAM,OAAO;AACb,WAAK,YAAY,QAAQ;IAC7B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AAEvC,YAAM,eAAe,IAAI,QAAQ,CAAC,KAAK;AACvC,YAAM,YAAY,CAAC,EAAE,eAAe;AACpC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,GAAM,KAAK,YAAY,IAAM,CAAC,CAAC;AAC1D,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAQS,4BAAwB,MAAA;8BADpC,yCAAU,kCAAqB,SAAS,CAAC;;;;oBACI;gDAAA,YAAe;WAAA;;;;;;;;AAA7D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAqD;AACpE,YAAM,OAAO;AACb,WAAK,WAAW,QAAQ;AACxB,WAAK,QAAQ,QAAQ;IACzB;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,WAAW,IAAI,QAAQ,CAAC,MAAM;AACpC,YAAM,eAAe,IAAI,QAAQ,CAAC,KAAK;AACvC,YAAM,QAAQ,CAAC,EAAE,eAAe;AAChC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK;QACtB,KAAK,WAAW,IAAO;QACvB,KAAK,QAAQ,IAAM;OACtB;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAGS,uCAAmC,MAAA;8BAD/C,yCAAU,kCAAqB,oBAAoB,CAAC;;;;oBACI;2DAAA,YAAgC;WAAA;;;;;;;;AAAzF,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAOA,qCAAiC,MAAA;8BAD7C,yCAAU,kCAAqB,kBAAkB,CAAC;;;;oBACI;yDAAA,YAAe;WAAA;;;;;;;;AAAtE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA8D;AAC7E,YAAM,OAAO;AACb,UAAI,QAAQ,QAAQ,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,qBAAS,GAAG;AACrD,cAAM,IAAI,uBAAW,sCAAsC,qBAAS,KAAK,4BAAgB,gBAAgB;MAC7G;AACA,WAAK,UAAU,QAAQ;IAC3B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,UAAU,CAAC,GAAG,IAAI,QAAQ,SAAS,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,MAAM,qBAAS;AACxF,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,MAAM,GAAG,CAAC;AAC/B,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,UAAU,IAAI,GAAG,KAAK;AACnD,aAAK,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC;MACpC;AACA,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAOS,uBAAmB,MAAA;8BAD/B,yCAAU,kCAAqB,IAAI,CAAC;;;;oBACI;2CAAA,YAAe;WAAA;;;;;;;;AAAxD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAgD;AAC/D,YAAM,OAAO;AACb,WAAK,aAAa,QAAQ;IAC9B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,aAAa,IAAI,QAAQ,CAAC;AAChC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,UAAU,CAAC;AAC3C,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAOS,6BAAyB,MAAA;8BADrC,yCAAU,kCAAqB,UAAU,CAAC;;;;oBACI;iDAAA,YAAe;WAAA;;;;;;;;AAA9D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAsD;AACrE,YAAM,OAAO;AACb,WAAK,WAAW,QAAQ;IAC5B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,uCAAgB,IAAI,QAAQ,CAAC,MAAM,KAAQ,IAAI,QAAQ,CAAC,MAAM,CAAI;AAClE,YAAM,WAAW,IAAI,QAAQ,CAAC,MAAM;AACpC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,IAAO,CAAI,CAAC;AACvD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAOS,2BAAuB,MAAA;8BADnC,yCAAU,kCAAqB,QAAQ,CAAC;;;;oBACI;+CAAA,YAAe;WAAA;;;;;;;;AAA5D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAoD;AACnE,YAAM,OAAO;AACb,UAAI,QAAQ,iBAAiB,KAAK,QAAQ,iBAAiB,IAAI;AAC3D,cAAM,IAAI,uBAAW,GAAG,KAAK,YAAY,IAAI,mDAAmD,4BAAgB,gBAAgB;MACpI;AACA,WAAK,iBAAiB,QAAQ;IAClC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,UAAI;AACJ,UAAI,IAAI,QAAQ,UAAU,GAAG;AAEzB,yBAAiB,IAAI,QAAQ,CAAC;MAClC,WACS,IAAI,QAAQ,WAAW,GAAG;AAC/B,yBAAiB;UACb;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACF,QAAQ,IAAI,QAAQ,CAAC,CAAC;AACxB,YAAI,mBAAmB;AACnB,2BAAiB;MACzB,OACK;AACD,oCAAgB,KAAK,yBAAyB;MAClD;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;;IAEO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC;AAClD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAOS,8BAA0B,MAAA;8BADtC,yCAAU,kCAAqB,WAAW,CAAC;;;;oBACI;kDAAA,YAAe;WAAA;;;;;;;;AAA/D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAuD;AACtE,YAAM,OAAO;AACb,WAAK,kBAAkB,QAAQ;IACnC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,aAAa,IAAI,QAAQ,CAAC;AAChC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,UAAU;AACpD,YAAM,kBAAkB;QACpB,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,UAAU;;AAE7C,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK;QACtB,KAAK,gBAAgB;QACrB,GAAG,KAAK;OACX;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAQS,iCAA6B,MAAA;8BAFzC,yCAAU,kCAAqB,cAAc,OAC7C,kDAAmB,0BAA0B,CAAC;;;;oBACI;qDAAA,YAAe;WAAA;;;;;;;;AAAlE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA0D;AACzE,YAAM,OAAO;AACb,WAAK,aAAa,QAAQ;IAC9B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,aAAa,IAAI,QAAQ,CAAC;AAChC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,UAAU,CAAC;AAC3C,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAQS,kCAA8B,MAAA;8BAD1C,yCAAU,kCAAqB,eAAe,CAAC;;;;oBACI;sDAAA,YAAe;WAAA;;;;;;;;AAAnE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA2D;AAC1E,YAAM,OAAO;AACb,WAAK,eAAe,QAAQ;AAC5B,WAAK,kBAAkB,QAAQ;IACnC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,kBAAkB,IAAI,QAAQ,CAAC,MAAM;AAC3C,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK;QACtB,KAAK;QACL,KAAK,kBAAkB,IAAO;OACjC;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;AAEJ,SAAS,uCAAuC,MAAiC,UAAwC;AACrH,SAAO,SAAS,iBAAiB,KAAK;AAC1C;AAFS;IAUI,6BAAyB,MAAA;8BAFrC,yCAAU,kCAAqB,UAAU,OACzC,kDAAmB,gCAAgC,sCAAsC,CAAC;;;;oBAC5C;iDAAA,YAAe;WAAA;;;;;;;;AAA9D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAsD;AACrE,YAAM,OAAO;AACb,WAAK,eAAe,QAAQ;AAC5B,WAAK,UAAU,QAAQ;IAC3B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,aAAa,IAAI,QAAQ,CAAC;AAChC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,UAAU;AACpD,YAAM,UAAU,CAAC,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,UAAU,CAAC;AAC3D,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK;QACtB,KAAK;QACL,KAAK,QAAQ;QACb,GAAG,KAAK;OACX;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAQS,6BAAyB,MAAA;8BADrC,yCAAU,kCAAqB,UAAU,CAAC;;;;oBACI;iDAAA,YAAe;WAAA;;;;;;;;AAA9D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAsD;AACrE,YAAM,OAAO;AACb,WAAK,UAAU,QAAQ;AACvB,WAAK,iBAAiB,QAAQ;IAClC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,UAAU,IAAI,QAAQ,CAAC,MAAM;AACnC,YAAM,iBAAqC,IAAI,QAAQ,CAAC,KAAK;AAC7D,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK;QACtB,KAAK,UAAU,IAAO;QACtB,KAAK,kBAAkB;OAC1B;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAGS,iCAA6B,MAAA;8BADzC,yCAAU,kCAAqB,cAAc,CAAC;;;;oBACI;qDAAA,YAAmC;WAAA;;;;;;;;AAAtF,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAQA,4CAAwC,MAAA;8BADpD,yCAAU,kCAAqB,yBAAyB,CAAC;;;;oBACI;gEAAA,YAAe;WAAA;;;;;;;;AAA7E,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAqE;AACpF,YAAM,OAAO;AACb,WAAK,eAAe,QAAQ;AAC5B,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,cAAc,IAAI,QAAQ,CAAC;AACjC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,cAAc,KAAK,WAAW,CAAC;AAC/D,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAGS,+CAA2C,MAAA;8BADvD,yCAAU,kCAAqB,4BAA4B,CAAC;;;;oBACI;mEAAA,YAAwC;WAAA;;;;;;;;AAAzG,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAOA,oDAAgD,MAAA;8BAD5D,yCAAU,kCAAqB,iCAAiC,CAAC;;;;oBACI;wEAAA,YAAe;WAAA;;;;;;;;AAArF,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA6E;AAC5F,YAAM,OAAO;AACb,UAAI,QAAQ,UAAU,WAAW,GAAG;AAChC,cAAM,IAAI,uBAAW,gCAAgC,4BAAgB,gBAAgB;MACzF;AACA,WAAK,YAAY,QAAQ;IAC7B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,YAAY,IAAI,QAAQ,SAAS,GAAG,CAAC;AAC3C,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,KAAK,SAAS;AACxC,aAAO,MAAM,UAAU,GAAG;IAC9B;;;;IAGS,kCAA8B,MAAA;8BAD1C,yCAAU,kCAAqB,eAAe,CAAC;;;;oBACI;sDAAA,YAAmC;WAAA;;;;;;;;AAAvF,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAGA,6CAAyC,MAAA;8BADrD,yCAAU,kCAAqB,0BAA0B,CAAC;;;;oBACI;iEAAA,YAAmC;WAAA;;;;;;;;AAAlG,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;",
|
|
4
|
+
"sourcesContent": ["import { type BasicDeviceClass, CommandClasses, type DataRate, type FLiRS, MAX_NODES, MAX_REPEATERS, type NodeInformationFrame, type NodeProtocolInfoAndDeviceClass, type NodeType, type ProtocolVersion, type WithAddress, ZWaveDataRate, ZWaveError, ZWaveErrorCodes, encodeBitMask, encodeNodeInformationFrame, encodeNodeProtocolInfoAndDeviceClass, parseBitMask, parseNodeInformationFrame, parseNodeProtocolInfoAndDeviceClass, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView } from \"@zwave-js/shared\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport { CCCommand, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { type NetworkTransferStatus, WakeUpTime, ZWaveProtocolCommand, parseWakeUpTime, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nenum DataRateBitmask {\n \"9k6\" = 0b001,\n \"40k\" = 0b010,\n \"100k\" = 0b100\n}\nfunction dataRate2Bitmask(dataRate: ZWaveDataRate): DataRateBitmask {\n return dataRate === ZWaveDataRate[\"100k\"]\n ? DataRateBitmask[\"100k\"]\n : dataRate === ZWaveDataRate[\"40k\"]\n ? DataRateBitmask[\"40k\"]\n : DataRateBitmask[\"9k6\"];\n}\nfunction bitmask2DataRate(mask: DataRateBitmask): ZWaveDataRate {\n return mask === DataRateBitmask[\"100k\"]\n ? ZWaveDataRate[\"100k\"]\n : mask === DataRateBitmask[\"40k\"]\n ? ZWaveDataRate[\"40k\"]\n : ZWaveDataRate[\"9k6\"];\n}\n@commandClass(CommandClasses[\"Z-Wave Protocol\"])\n@implementedVersion(1)\nexport class ZWaveProtocolCC extends CommandClass {\n declare ccCommand: ZWaveProtocolCommand;\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodeInformationFrameOptions extends NodeInformationFrame {\n}\n@CCCommand(ZWaveProtocolCommand.NodeInformationFrame)\nexport class ZWaveProtocolCCNodeInformationFrame extends ZWaveProtocolCC implements NodeInformationFrame {\n public constructor(options: WithAddress<ZWaveProtocolCCNodeInformationFrameOptions>) {\n super(options);\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n this.supportedCCs = options.supportedCCs;\n this.controlledCCs = options.controlledCCs ?? [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodeInformationFrame {\n const nif = parseNodeInformationFrame(raw.payload);\n return new this({\n nodeId: ctx.sourceNodeId,\n ...nif,\n });\n }\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public supportedCCs: CommandClasses[];\n public controlledCCs: CommandClasses[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = encodeNodeInformationFrame(this);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.RequestNodeInformationFrame)\n@expectedCCResponse(ZWaveProtocolCCNodeInformationFrame)\nexport class ZWaveProtocolCCRequestNodeInformationFrame extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignIDsOptions {\n assignedNodeId: number;\n homeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.AssignIDs)\nexport class ZWaveProtocolCCAssignIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignIDsOptions>) {\n super(options);\n this.assignedNodeId = options.assignedNodeId;\n this.homeId = options.homeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignIDs {\n validatePayload(raw.payload.length >= 5);\n const assignedNodeId = raw.payload[0];\n const homeId = raw.payload.readUInt32BE(1);\n return new this({\n nodeId: ctx.sourceNodeId,\n assignedNodeId,\n homeId,\n });\n }\n public assignedNodeId: number;\n public homeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = new Bytes(5);\n this.payload[0] = this.assignedNodeId;\n this.payload.writeUInt32BE(this.homeId, 1);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCFindNodesInRangeOptions {\n candidateNodeIds: number[];\n wakeUpTime: WakeUpTime;\n dataRate?: ZWaveDataRate;\n}\n@CCCommand(ZWaveProtocolCommand.FindNodesInRange)\nexport class ZWaveProtocolCCFindNodesInRange extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCFindNodesInRangeOptions>) {\n super(options);\n this.candidateNodeIds = options.candidateNodeIds;\n this.wakeUpTime = options.wakeUpTime;\n this.dataRate = options.dataRate ?? ZWaveDataRate[\"9k6\"];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCFindNodesInRange {\n validatePayload(raw.payload.length >= 1);\n const speedPresent = raw.payload[0] & 128;\n const bitmaskLength = raw.payload[0] & 31;\n validatePayload(raw.payload.length >= 1 + bitmaskLength);\n const candidateNodeIds = parseBitMask(raw.payload.subarray(1, 1 + bitmaskLength));\n const rest = raw.payload.subarray(1 + bitmaskLength);\n let dataRate: ZWaveDataRate;\n let wakeUpTime: WakeUpTime;\n if (speedPresent) {\n validatePayload(rest.length >= 1);\n if (rest.length === 1) {\n dataRate = rest[0] & 0b111;\n wakeUpTime = WakeUpTime.None;\n }\n else if (rest.length === 2) {\n wakeUpTime = parseWakeUpTime(rest[0]);\n dataRate = rest[1] & 0b111;\n }\n else {\n validatePayload.fail(\"Invalid payload length\");\n }\n }\n else if (rest.length >= 1) {\n wakeUpTime = parseWakeUpTime(rest[0]);\n dataRate = ZWaveDataRate[\"9k6\"];\n }\n else {\n wakeUpTime = WakeUpTime.None;\n dataRate = ZWaveDataRate[\"9k6\"];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n candidateNodeIds,\n dataRate,\n wakeUpTime,\n });\n }\n public candidateNodeIds: number[];\n public wakeUpTime: WakeUpTime;\n public dataRate: ZWaveDataRate;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.candidateNodeIds, MAX_NODES);\n const speedAndLength = 128 | nodesBitmask.length;\n this.payload = Bytes.concat([\n [speedAndLength],\n nodesBitmask,\n [this.wakeUpTime, this.dataRate],\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCRangeInfoOptions {\n neighborNodeIds: number[];\n wakeUpTime?: WakeUpTime;\n}\n@CCCommand(ZWaveProtocolCommand.RangeInfo)\nexport class ZWaveProtocolCCRangeInfo extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCRangeInfoOptions>) {\n super(options);\n this.neighborNodeIds = options.neighborNodeIds;\n this.wakeUpTime = options.wakeUpTime;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCRangeInfo {\n validatePayload(raw.payload.length >= 1);\n const bitmaskLength = raw.payload[0] & 31;\n validatePayload(raw.payload.length >= 1 + bitmaskLength);\n const neighborNodeIds = parseBitMask(raw.payload.subarray(1, 1 + bitmaskLength));\n let wakeUpTime: WakeUpTime | undefined;\n if (raw.payload.length >= 2 + bitmaskLength) {\n wakeUpTime = parseWakeUpTime(raw.payload[1 + bitmaskLength]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n neighborNodeIds,\n wakeUpTime,\n });\n }\n public neighborNodeIds: number[];\n public wakeUpTime?: WakeUpTime;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [nodesBitmask.length],\n nodesBitmask,\n this.wakeUpTime != undefined\n ? Bytes.from([this.wakeUpTime])\n : new Bytes(),\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.GetNodesInRange)\n@expectedCCResponse(ZWaveProtocolCCRangeInfo)\nexport class ZWaveProtocolCCGetNodesInRange extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCCommandCompleteOptions {\n sequenceNumber: number;\n}\n@CCCommand(ZWaveProtocolCommand.CommandComplete)\nexport class ZWaveProtocolCCCommandComplete extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCCommandCompleteOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCCommandComplete {\n validatePayload(raw.payload.length >= 1);\n const sequenceNumber = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n });\n }\n public sequenceNumber: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sequenceNumber]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferPresentationOptions {\n supportsNWI: boolean;\n includeNode: boolean;\n excludeNode: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.TransferPresentation)\nexport class ZWaveProtocolCCTransferPresentation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferPresentationOptions>) {\n super(options);\n if (options.includeNode && options.excludeNode) {\n throw new ZWaveError(`${this.constructor.name}: the includeNode and excludeNode options cannot both be true`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.supportsNWI = options.supportsNWI;\n this.includeNode = options.includeNode;\n this.excludeNode = options.excludeNode;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferPresentation {\n validatePayload(raw.payload.length >= 1);\n const option = raw.payload[0];\n const supportsNWI = !!(option & 0b0001);\n const excludeNode = !!(option & 0b0010);\n const includeNode = !!(option & 0b0100);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportsNWI,\n excludeNode,\n includeNode,\n });\n }\n public supportsNWI: boolean;\n public includeNode: boolean;\n public excludeNode: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n (this.supportsNWI ? 0b0001 : 0)\n | (this.excludeNode ? 0b0010 : 0)\n | (this.includeNode ? 0b0100 : 0),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNodeInformationOptions extends NodeProtocolInfoAndDeviceClass {\n sequenceNumber: number;\n sourceNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.TransferNodeInformation)\nexport class ZWaveProtocolCCTransferNodeInformation extends ZWaveProtocolCC implements NodeProtocolInfoAndDeviceClass {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferNodeInformationOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n this.sourceNodeId = options.sourceNodeId;\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferNodeInformation {\n validatePayload(raw.payload.length >= 2);\n const sequenceNumber = raw.payload[0];\n const sourceNodeId = raw.payload[1];\n const { info } = parseNodeProtocolInfoAndDeviceClass(raw.payload.subarray(2));\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n sourceNodeId,\n ...info,\n });\n }\n public sequenceNumber: number;\n public sourceNodeId: number;\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.sequenceNumber, this.sourceNodeId],\n encodeNodeProtocolInfoAndDeviceClass(this),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferRangeInformationOptions {\n sequenceNumber: number;\n testedNodeId: number;\n neighborNodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.TransferRangeInformation)\nexport class ZWaveProtocolCCTransferRangeInformation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferRangeInformationOptions>) {\n super(options);\n this.sequenceNumber = options.sequenceNumber;\n this.testedNodeId = options.testedNodeId;\n this.neighborNodeIds = options.neighborNodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferRangeInformation {\n validatePayload(raw.payload.length >= 3);\n const sequenceNumber = raw.payload[0];\n const testedNodeId = raw.payload[1];\n const bitmaskLength = raw.payload[2];\n validatePayload(raw.payload.length >= 3 + bitmaskLength);\n const neighborNodeIds = parseBitMask(raw.payload.subarray(3, 3 + bitmaskLength));\n return new this({\n nodeId: ctx.sourceNodeId,\n sequenceNumber,\n testedNodeId,\n neighborNodeIds,\n });\n }\n public sequenceNumber: number;\n public testedNodeId: number;\n public neighborNodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [this.sequenceNumber, this.testedNodeId, nodesBitmask.length],\n nodesBitmask,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferEndOptions {\n status: NetworkTransferStatus;\n}\n@CCCommand(ZWaveProtocolCommand.TransferEnd)\nexport class ZWaveProtocolCCTransferEnd extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferEndOptions>) {\n super(options);\n this.status = options.status;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferEnd {\n validatePayload(raw.payload.length >= 1);\n const status: NetworkTransferStatus = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n status,\n });\n }\n public status: NetworkTransferStatus;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.status]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRouteOptions {\n destinationNodeId: number;\n routeIndex: number;\n repeaters: number[];\n destinationWakeUp: WakeUpTime;\n destinationSpeed: ZWaveDataRate;\n}\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoute)\nexport class ZWaveProtocolCCAssignReturnRoute extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignReturnRouteOptions>) {\n super(options);\n if (options.repeaters.length > MAX_REPEATERS) {\n throw new ZWaveError(`${this.constructor.name}: too many repeaters`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.destinationNodeId = options.destinationNodeId;\n this.routeIndex = options.routeIndex;\n this.repeaters = options.repeaters;\n this.destinationWakeUp = options.destinationWakeUp;\n this.destinationSpeed = options.destinationSpeed;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignReturnRoute {\n validatePayload(raw.payload.length >= 7);\n const destinationNodeId = raw.payload[0];\n const routeIndex = raw.payload[1] >>> 4;\n const numRepeaters = raw.payload[1] & 0b1111;\n const repeaters = [...raw.payload.subarray(2, 2 + numRepeaters)];\n const speedAndWakeup = raw.payload[2 + numRepeaters];\n const destinationSpeed = bitmask2DataRate((speedAndWakeup >>> 3) & 0b111);\n const destinationWakeUp: WakeUpTime = (speedAndWakeup >>> 1) & 0b11;\n return new this({\n nodeId: ctx.sourceNodeId,\n destinationNodeId,\n routeIndex,\n repeaters,\n destinationSpeed,\n destinationWakeUp,\n });\n }\n public destinationNodeId: number;\n public routeIndex: number;\n public repeaters: number[];\n public destinationWakeUp: WakeUpTime;\n public destinationSpeed: ZWaveDataRate;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const routeByte = (this.routeIndex << 4) | this.repeaters.length;\n const speedMask = dataRate2Bitmask(this.destinationSpeed);\n const speedByte = (speedMask << 3) | (this.destinationWakeUp << 1);\n this.payload = Bytes.from([\n this.destinationNodeId,\n routeByte,\n ...this.repeaters,\n speedByte,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNewNodeRegisteredOptions extends NodeInformationFrame {\n newNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.NewNodeRegistered)\nexport class ZWaveProtocolCCNewNodeRegistered extends ZWaveProtocolCC implements NodeInformationFrame {\n public constructor(options: WithAddress<ZWaveProtocolCCNewNodeRegisteredOptions>) {\n super(options);\n this.newNodeId = options.newNodeId;\n this.basicDeviceClass = options.basicDeviceClass;\n this.genericDeviceClass = options.genericDeviceClass;\n this.specificDeviceClass = options.specificDeviceClass;\n this.isListening = options.isListening;\n this.isFrequentListening = options.isFrequentListening;\n this.isRouting = options.isRouting;\n this.supportedDataRates = options.supportedDataRates;\n this.protocolVersion = options.protocolVersion;\n this.optionalFunctionality = options.optionalFunctionality;\n this.nodeType = options.nodeType;\n this.supportsSecurity = options.supportsSecurity;\n this.supportsBeaming = options.supportsBeaming;\n this.supportedCCs = options.supportedCCs;\n this.controlledCCs = options.controlledCCs ?? [];\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNewNodeRegistered {\n validatePayload(raw.payload.length >= 1);\n const newNodeId = raw.payload[0];\n const nif = parseNodeInformationFrame(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n newNodeId,\n ...nif,\n });\n }\n public newNodeId: number;\n public basicDeviceClass: BasicDeviceClass;\n public genericDeviceClass: number;\n public specificDeviceClass: number;\n public isListening: boolean;\n public isFrequentListening: FLiRS;\n public isRouting: boolean;\n public supportedDataRates: DataRate[];\n public protocolVersion: ProtocolVersion;\n public optionalFunctionality: boolean;\n public nodeType: NodeType;\n public supportsSecurity: boolean;\n public supportsBeaming: boolean;\n public supportedCCs: CommandClasses[];\n public controlledCCs: CommandClasses[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.newNodeId],\n encodeNodeInformationFrame(this),\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNewRangeRegisteredOptions {\n testedNodeId: number;\n neighborNodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.NewRangeRegistered)\nexport class ZWaveProtocolCCNewRangeRegistered extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNewRangeRegisteredOptions>) {\n super(options);\n this.testedNodeId = options.testedNodeId;\n this.neighborNodeIds = options.neighborNodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNewRangeRegistered {\n validatePayload(raw.payload.length >= 2);\n const testedNodeId = raw.payload[0];\n const numNeighbors = raw.payload[1];\n const neighborNodeIds = [...raw.payload.subarray(2, 2 + numNeighbors)];\n return new this({\n nodeId: ctx.sourceNodeId,\n testedNodeId,\n neighborNodeIds,\n });\n }\n public testedNodeId: number;\n public neighborNodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n this.payload = Bytes.concat([\n [this.testedNodeId, nodesBitmask.length],\n nodesBitmask,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions {\n genericDeviceClass: number;\n}\n@CCCommand(ZWaveProtocolCommand.TransferNewPrimaryControllerComplete)\nexport class ZWaveProtocolCCTransferNewPrimaryControllerComplete extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions>) {\n super(options);\n this.genericDeviceClass = options.genericDeviceClass;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCTransferNewPrimaryControllerComplete {\n validatePayload(raw.payload.length >= 1);\n const genericDeviceClass = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n genericDeviceClass,\n });\n }\n public genericDeviceClass: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.genericDeviceClass]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AutomaticControllerUpdateStart)\nexport class ZWaveProtocolCCAutomaticControllerUpdateStart extends ZWaveProtocolCC {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSUCNodeIDOptions {\n sucNodeId: number;\n isSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SUCNodeID)\nexport class ZWaveProtocolCCSUCNodeID extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSUCNodeIDOptions>) {\n super(options);\n this.sucNodeId = options.sucNodeId;\n this.isSIS = options.isSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSUCNodeID {\n validatePayload(raw.payload.length >= 1);\n const sucNodeId = raw.payload[0];\n const capabilities = raw.payload[1] ?? 0;\n const isSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n sucNodeId,\n isSIS,\n });\n }\n public sucNodeId: number;\n public isSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.sucNodeId, this.isSIS ? 0b1 : 0]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCOptions {\n enableSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SetSUC)\nexport class ZWaveProtocolCCSetSUC extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetSUCOptions>) {\n super(options);\n this.enableSIS = options.enableSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetSUC {\n validatePayload(raw.payload.length >= 2);\n // Byte 0 must be 0x01 or ignored\n const capabilities = raw.payload[1] ?? 0;\n const enableSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n enableSIS,\n });\n }\n public enableSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([0x01, this.enableSIS ? 0b1 : 0]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCAckOptions {\n accepted: boolean;\n isSIS: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.SetSUCAck)\nexport class ZWaveProtocolCCSetSUCAck extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetSUCAckOptions>) {\n super(options);\n this.accepted = options.accepted;\n this.isSIS = options.isSIS;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetSUCAck {\n validatePayload(raw.payload.length >= 2);\n const accepted = raw.payload[0] === 0x01;\n const capabilities = raw.payload[1] ?? 0;\n const isSIS = !!(capabilities & 0b1);\n return new this({\n nodeId: ctx.sourceNodeId,\n accepted,\n isSIS,\n });\n }\n public accepted: boolean;\n public isSIS: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.accepted ? 0x01 : 0x00,\n this.isSIS ? 0b1 : 0,\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoute)\nexport class ZWaveProtocolCCAssignSUCReturnRoute extends ZWaveProtocolCCAssignReturnRoute {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCStaticRouteRequestOptions {\n nodeIds: number[];\n}\n@CCCommand(ZWaveProtocolCommand.StaticRouteRequest)\nexport class ZWaveProtocolCCStaticRouteRequest extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCStaticRouteRequestOptions>) {\n super(options);\n if (options.nodeIds.some((n) => n < 1 || n > MAX_NODES)) {\n throw new ZWaveError(`All node IDs must be between 1 and ${MAX_NODES}!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.nodeIds = options.nodeIds;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCStaticRouteRequest {\n validatePayload(raw.payload.length >= 5);\n const nodeIds = [...raw.payload.subarray(0, 5)].filter((id) => id > 0 && id <= MAX_NODES);\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeIds,\n });\n }\n public nodeIds: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.alloc(5, 0);\n for (let i = 0; i < this.nodeIds.length && i < 5; i++) {\n this.payload[i] = this.nodeIds[i];\n }\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCLostOptions {\n lostNodeId: number;\n}\n@CCCommand(ZWaveProtocolCommand.Lost)\nexport class ZWaveProtocolCCLost extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCLostOptions>) {\n super(options);\n this.lostNodeId = options.lostNodeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCLost {\n validatePayload(raw.payload.length >= 1);\n const lostNodeId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n lostNodeId,\n });\n }\n public lostNodeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.lostNodeId]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAcceptLostOptions {\n accepted: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.AcceptLost)\nexport class ZWaveProtocolCCAcceptLost extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAcceptLostOptions>) {\n super(options);\n this.accepted = options.accepted;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAcceptLost {\n validatePayload(raw.payload.length >= 1);\n validatePayload(raw.payload[0] === 0x04 || raw.payload[0] === 0x05);\n const accepted = raw.payload[0] === 0x05;\n return new this({\n nodeId: ctx.sourceNodeId,\n accepted,\n });\n }\n public accepted: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.accepted ? 0x05 : 0x04]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNOPPowerOptions {\n powerDampening: number;\n}\n@CCCommand(ZWaveProtocolCommand.NOPPower)\nexport class ZWaveProtocolCCNOPPower extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNOPPowerOptions>) {\n super(options);\n if (options.powerDampening < 0 || options.powerDampening > 14) {\n throw new ZWaveError(`${this.constructor.name}: power dampening must be between 0 and 14 dBm!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.powerDampening = options.powerDampening;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNOPPower {\n let powerDampening;\n if (raw.payload.length >= 2) {\n // Ignore byte 0\n powerDampening = raw.payload[1];\n }\n else if (raw.payload.length === 1) {\n powerDampening = [\n 0xf0, 0xc8, 0xa7, 0x91, 0x77, 0x67, 0x60, 0x46, 0x38, 0x35,\n 0x32, 0x30, 0x24, 0x22, 0x20,\n ].indexOf(raw.payload[0]);\n if (powerDampening === -1)\n powerDampening = 0;\n }\n else {\n validatePayload.fail(\"Invalid payload length!\");\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n powerDampening,\n });\n }\n // Power dampening in (negative) dBm. A value of 2 means -2 dBm.\n public powerDampening: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([0, this.powerDampening]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCReservedIDsOptions {\n reservedNodeIDs: number[];\n}\n@CCCommand(ZWaveProtocolCommand.ReservedIDs)\nexport class ZWaveProtocolCCReservedIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCReservedIDsOptions>) {\n super(options);\n this.reservedNodeIDs = options.reservedNodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCReservedIDs {\n validatePayload(raw.payload.length >= 1);\n const numNodeIDs = raw.payload[0];\n validatePayload(raw.payload.length >= 1 + numNodeIDs);\n const reservedNodeIDs = [...raw.payload.subarray(1, 1 + numNodeIDs)];\n return new this({\n nodeId: ctx.sourceNodeId,\n reservedNodeIDs,\n });\n }\n public reservedNodeIDs: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.reservedNodeIDs.length,\n ...this.reservedNodeIDs,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCReserveNodeIDsOptions {\n numNodeIDs: number;\n}\n@CCCommand(ZWaveProtocolCommand.ReserveNodeIDs)\n@expectedCCResponse(ZWaveProtocolCCReservedIDs)\nexport class ZWaveProtocolCCReserveNodeIDs extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCReserveNodeIDsOptions>) {\n super(options);\n this.numNodeIDs = options.numNodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCReserveNodeIDs {\n validatePayload(raw.payload.length >= 1);\n const numNodeIDs = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n numNodeIDs,\n });\n }\n public numNodeIDs: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.numNodeIDs]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistReplyOptions {\n nodeMaskType: number;\n nodeListUpdated: boolean;\n}\n@CCCommand(ZWaveProtocolCommand.NodesExistReply)\nexport class ZWaveProtocolCCNodesExistReply extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNodesExistReplyOptions>) {\n super(options);\n this.nodeMaskType = options.nodeMaskType;\n this.nodeListUpdated = options.nodeListUpdated;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodesExistReply {\n validatePayload(raw.payload.length >= 2);\n const nodeMaskType = raw.payload[0];\n const nodeListUpdated = raw.payload[1] === 0x01;\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeMaskType,\n nodeListUpdated,\n });\n }\n public nodeMaskType: number;\n public nodeListUpdated: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.nodeMaskType,\n this.nodeListUpdated ? 0x01 : 0x00,\n ]);\n return super.serialize(ctx);\n }\n}\nfunction testResponseForZWaveProtocolNodesExist(sent: ZWaveProtocolCCNodesExist, received: ZWaveProtocolCCNodesExistReply) {\n return received.nodeMaskType === sent.nodeMaskType;\n}\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistOptions {\n nodeMaskType: number;\n nodeIDs: number[];\n}\n@CCCommand(ZWaveProtocolCommand.NodesExist)\n@expectedCCResponse(ZWaveProtocolCCNodesExistReply, testResponseForZWaveProtocolNodesExist)\nexport class ZWaveProtocolCCNodesExist extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCNodesExistOptions>) {\n super(options);\n this.nodeMaskType = options.nodeMaskType;\n this.nodeIDs = options.nodeIDs;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCNodesExist {\n validatePayload(raw.payload.length >= 2);\n const nodeMaskType = raw.payload[0];\n const numNodeIDs = raw.payload[1];\n validatePayload(raw.payload.length >= 2 + numNodeIDs);\n const nodeIDs = [...raw.payload.subarray(2, 2 + numNodeIDs)];\n return new this({\n nodeId: ctx.sourceNodeId,\n nodeMaskType,\n nodeIDs,\n });\n }\n public nodeMaskType: number;\n public nodeIDs: number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.nodeMaskType,\n this.nodeIDs.length,\n ...this.nodeIDs,\n ]);\n return super.serialize(ctx);\n }\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSetNWIModeOptions {\n enabled: boolean;\n timeoutMinutes?: number;\n}\n@CCCommand(ZWaveProtocolCommand.SetNWIMode)\nexport class ZWaveProtocolCCSetNWIMode extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSetNWIModeOptions>) {\n super(options);\n this.enabled = options.enabled;\n this.timeoutMinutes = options.timeoutMinutes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSetNWIMode {\n validatePayload(raw.payload.length >= 2);\n const enabled = raw.payload[0] === 0x01;\n const timeoutMinutes: number | undefined = raw.payload[1] || undefined;\n return new this({\n nodeId: ctx.sourceNodeId,\n enabled,\n timeoutMinutes,\n });\n }\n public enabled: boolean;\n public timeoutMinutes?: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.enabled ? 0x01 : 0x00,\n this.timeoutMinutes ?? 0x00,\n ]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.ExcludeRequest)\nexport class ZWaveProtocolCCExcludeRequest extends ZWaveProtocolCCNodeInformationFrame {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRoutePriorityOptions {\n targetNodeId: number;\n routeNumber: number;\n}\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoutePriority)\nexport class ZWaveProtocolCCAssignReturnRoutePriority extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCAssignReturnRoutePriorityOptions>) {\n super(options);\n this.targetNodeId = options.targetNodeId;\n this.routeNumber = options.routeNumber;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCAssignReturnRoutePriority {\n validatePayload(raw.payload.length >= 2);\n const targetNodeId = raw.payload[0];\n const routeNumber = raw.payload[1];\n return new this({\n nodeId: ctx.sourceNodeId,\n targetNodeId,\n routeNumber,\n });\n }\n public targetNodeId: number;\n public routeNumber: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.targetNodeId, this.routeNumber]);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoutePriority)\nexport class ZWaveProtocolCCAssignSUCReturnRoutePriority extends ZWaveProtocolCCAssignReturnRoutePriority {\n}\n// @publicAPI\nexport interface ZWaveProtocolCCSmartStartIncludedNodeInformationOptions {\n nwiHomeId: BytesView;\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartIncludedNodeInformation)\nexport class ZWaveProtocolCCSmartStartIncludedNodeInformation extends ZWaveProtocolCC {\n public constructor(options: WithAddress<ZWaveProtocolCCSmartStartIncludedNodeInformationOptions>) {\n super(options);\n if (options.nwiHomeId.length !== 4) {\n throw new ZWaveError(`nwiHomeId must have length 4`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.nwiHomeId = options.nwiHomeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCSmartStartIncludedNodeInformation {\n validatePayload(raw.payload.length >= 4);\n const nwiHomeId = raw.payload.subarray(0, 4);\n return new this({\n nodeId: ctx.sourceNodeId,\n nwiHomeId,\n });\n }\n public nwiHomeId: BytesView;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from(this.nwiHomeId);\n return super.serialize(ctx);\n }\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartPrime)\nexport class ZWaveProtocolCCSmartStartPrime extends ZWaveProtocolCCNodeInformationFrame {\n}\n@CCCommand(ZWaveProtocolCommand.SmartStartInclusionRequest)\nexport class ZWaveProtocolCCSmartStartInclusionRequest extends ZWaveProtocolCCNodeInformationFrame {\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["DataRateBitmask"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CommandClasses, type
|
|
2
|
-
import { AlarmSensorType, BinarySensorType,
|
|
1
|
+
import { CommandClasses, type ValueID, type GetValueDB, type EndpointId } from "@zwave-js/core";
|
|
2
|
+
import { AlarmSensorType, SubsystemType, BinarySensorType, Weekday, ColorComponent, EnergyProductionParameter, type ValveId, DeviceIdType, RateType, SwitchType, type ScheduleEntryLockScheduleKind, ThermostatSetpointType, type UserCredentialType, type UserCredentialKeyLockerEntryType, WindowCoveringParameter } from "../lib/_Types.js";
|
|
3
3
|
export declare const AlarmSensorCCValues: Readonly<{
|
|
4
4
|
state: ((sensorType: AlarmSensorType) => {
|
|
5
5
|
id: {
|
|
@@ -6615,7 +6615,7 @@ export declare const ThermostatModeCCValues: Readonly<{
|
|
|
6615
6615
|
};
|
|
6616
6616
|
options: {
|
|
6617
6617
|
readonly internal: false;
|
|
6618
|
-
readonly minVersion:
|
|
6618
|
+
readonly minVersion: 3;
|
|
6619
6619
|
readonly secret: false;
|
|
6620
6620
|
readonly stateful: true;
|
|
6621
6621
|
readonly supportsEndpoints: true;
|
|
@@ -15416,7 +15416,7 @@ export declare const CCValues: {
|
|
|
15416
15416
|
};
|
|
15417
15417
|
options: {
|
|
15418
15418
|
readonly internal: false;
|
|
15419
|
-
readonly minVersion:
|
|
15419
|
+
readonly minVersion: 3;
|
|
15420
15420
|
readonly secret: false;
|
|
15421
15421
|
readonly stateful: true;
|
|
15422
15422
|
readonly supportsEndpoints: true;
|