@zwave-js/cc 15.25.0 → 15.25.2
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 +5 -3
- package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
- package/build/cjs/cc/AssociationCC.js +5 -2
- package/build/cjs/cc/AssociationCC.js.map +2 -2
- package/build/cjs/cc/AssociationGroupInfoCC.js +7 -2
- package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
- package/build/cjs/cc/BarrierOperatorCC.js +5 -3
- package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
- package/build/cjs/cc/BasicCC.js +3 -2
- package/build/cjs/cc/BasicCC.js.map +2 -2
- package/build/cjs/cc/BatteryCC.js +3 -2
- package/build/cjs/cc/BatteryCC.js.map +2 -2
- package/build/cjs/cc/BinarySensorCC.js +5 -3
- package/build/cjs/cc/BinarySensorCC.js.map +2 -2
- package/build/cjs/cc/BinarySwitchCC.js +3 -2
- package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
- package/build/cjs/cc/CentralSceneCC.js +2 -1
- package/build/cjs/cc/CentralSceneCC.js.map +2 -2
- package/build/cjs/cc/ClockCC.js +3 -2
- package/build/cjs/cc/ClockCC.js.map +2 -2
- package/build/cjs/cc/ColorSwitchCC.js +5 -2
- package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
- package/build/cjs/cc/ConfigurationCC.js +5 -2
- package/build/cjs/cc/ConfigurationCC.js.map +2 -2
- package/build/cjs/cc/DoorLockCC.js +5 -3
- package/build/cjs/cc/DoorLockCC.js.map +2 -2
- package/build/cjs/cc/DoorLockLoggingCC.js +3 -2
- package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
- package/build/cjs/cc/EnergyProductionCC.js +3 -2
- package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
- package/build/cjs/cc/EntryControlCC.js +5 -3
- package/build/cjs/cc/EntryControlCC.js.map +2 -2
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +2 -1
- package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlModeCC.js +5 -3
- package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlOperatingStateCC.js +3 -2
- package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/HumidityControlSetpointCC.js +5 -3
- package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
- package/build/cjs/cc/IndicatorCC.js +5 -2
- package/build/cjs/cc/IndicatorCC.js.map +2 -2
- package/build/cjs/cc/IrrigationCC.js +5 -2
- package/build/cjs/cc/IrrigationCC.js.map +2 -2
- package/build/cjs/cc/LanguageCC.js +3 -2
- package/build/cjs/cc/LanguageCC.js.map +2 -2
- package/build/cjs/cc/LockCC.js +3 -2
- package/build/cjs/cc/LockCC.js.map +2 -2
- package/build/cjs/cc/ManufacturerSpecificCC.js +4 -1
- package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
- package/build/cjs/cc/MeterCC.js +5 -3
- package/build/cjs/cc/MeterCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelAssociationCC.js +5 -2
- package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
- package/build/cjs/cc/MultiChannelCC.js +2 -1
- package/build/cjs/cc/MultiChannelCC.js.map +2 -2
- package/build/cjs/cc/MultilevelSensorCC.js +5 -2
- package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
- package/build/cjs/cc/MultilevelSwitchCC.js +5 -3
- package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
- package/build/cjs/cc/NodeNamingCC.js +3 -2
- package/build/cjs/cc/NodeNamingCC.js.map +2 -2
- package/build/cjs/cc/NotificationCC.js +7 -3
- package/build/cjs/cc/NotificationCC.js.map +2 -2
- package/build/cjs/cc/ProtectionCC.js +5 -3
- package/build/cjs/cc/ProtectionCC.js.map +2 -2
- package/build/cjs/cc/SceneControllerConfigurationCC.js +2 -1
- package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
- package/build/cjs/cc/ScheduleEntryLockCC.js +2 -1
- package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
- package/build/cjs/cc/Security2CC.js +3 -2
- package/build/cjs/cc/Security2CC.js.map +2 -2
- package/build/cjs/cc/SecurityCC.js +2 -1
- package/build/cjs/cc/SecurityCC.js.map +2 -2
- package/build/cjs/cc/SoundSwitchCC.js +2 -1
- package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
- package/build/cjs/cc/ThermostatFanModeCC.js +5 -3
- package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatFanStateCC.js +3 -2
- package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatModeCC.js +5 -3
- package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
- package/build/cjs/cc/ThermostatOperatingStateCC.js +3 -2
- package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetbackCC.js +3 -2
- package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
- package/build/cjs/cc/ThermostatSetpointCC.js +5 -2
- package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
- package/build/cjs/cc/TimeCC.js +2 -1
- package/build/cjs/cc/TimeCC.js.map +2 -2
- package/build/cjs/cc/TimeParametersCC.js +2 -1
- package/build/cjs/cc/TimeParametersCC.js.map +2 -2
- package/build/cjs/cc/UserCodeCC.js +4 -2
- package/build/cjs/cc/UserCodeCC.js.map +2 -2
- package/build/cjs/cc/UserCredentialCC.js +5 -2
- package/build/cjs/cc/UserCredentialCC.js.map +2 -2
- package/build/cjs/cc/VersionCC.js +2 -1
- package/build/cjs/cc/VersionCC.js.map +2 -2
- package/build/cjs/cc/WakeUpCC.js +2 -1
- package/build/cjs/cc/WakeUpCC.js.map +2 -2
- package/build/cjs/cc/WindowCoveringCC.js +5 -2
- package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
- package/build/cjs/cc/ZWavePlusCC.js +2 -1
- package/build/cjs/cc/ZWavePlusCC.js.map +2 -2
- package/build/cjs/cc/manufacturerProprietary/Decorators.d.ts +1 -1
- package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +2 -2
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +3 -2
- package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
- package/build/cjs/lib/API.js.map +2 -2
- package/build/cjs/lib/CommandClass.d.ts +2 -0
- package/build/cjs/lib/CommandClass.js.map +2 -2
- package/build/cjs/lib/CommandClassDecorators.d.ts +4 -4
- package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
- package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/esm/cc/AlarmSensorCC.js +3 -1
- 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 +3 -0
- 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 +6 -1
- 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 +3 -1
- package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
- package/build/esm/cc/BasicCC.d.ts.map +1 -1
- package/build/esm/cc/BasicCC.js +2 -1
- package/build/esm/cc/BasicCC.js.map +1 -1
- package/build/esm/cc/BatteryCC.d.ts.map +1 -1
- package/build/esm/cc/BatteryCC.js +2 -1
- 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 +3 -1
- package/build/esm/cc/BinarySensorCC.js.map +1 -1
- package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/esm/cc/BinarySwitchCC.js +2 -1
- package/build/esm/cc/BinarySwitchCC.js.map +1 -1
- package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/esm/cc/CentralSceneCC.js +1 -0
- package/build/esm/cc/CentralSceneCC.js.map +1 -1
- package/build/esm/cc/ClockCC.d.ts.map +1 -1
- package/build/esm/cc/ClockCC.js +2 -1
- 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 +3 -0
- 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 +3 -0
- package/build/esm/cc/ConfigurationCC.js.map +1 -1
- package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockCC.js +3 -1
- package/build/esm/cc/DoorLockCC.js.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/esm/cc/DoorLockLoggingCC.js +2 -1
- package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
- package/build/esm/cc/EnergyProductionCC.js +2 -1
- package/build/esm/cc/EnergyProductionCC.js.map +1 -1
- package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
- package/build/esm/cc/EntryControlCC.js +3 -1
- 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 +1 -0
- package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlModeCC.js +3 -1
- package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js +2 -1
- package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/HumidityControlSetpointCC.js +3 -1
- 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 +3 -0
- 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 +3 -0
- package/build/esm/cc/IrrigationCC.js.map +1 -1
- package/build/esm/cc/LanguageCC.d.ts.map +1 -1
- package/build/esm/cc/LanguageCC.js +2 -1
- package/build/esm/cc/LanguageCC.js.map +1 -1
- package/build/esm/cc/LockCC.d.ts.map +1 -1
- package/build/esm/cc/LockCC.js +2 -1
- package/build/esm/cc/LockCC.js.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/esm/cc/ManufacturerSpecificCC.js +4 -1
- 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 +3 -1
- 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 +3 -0
- package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/esm/cc/MultiChannelCC.js +1 -0
- 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 +3 -0
- package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/MultilevelSwitchCC.js +3 -1
- package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/esm/cc/NodeNamingCC.js +2 -1
- package/build/esm/cc/NodeNamingCC.js.map +1 -1
- package/build/esm/cc/NotificationCC.d.ts.map +1 -1
- package/build/esm/cc/NotificationCC.js +5 -1
- package/build/esm/cc/NotificationCC.js.map +1 -1
- package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
- package/build/esm/cc/ProtectionCC.js +3 -1
- package/build/esm/cc/ProtectionCC.js.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/esm/cc/SceneControllerConfigurationCC.js +1 -0
- 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 +1 -0
- package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/esm/cc/Security2CC.d.ts.map +1 -1
- package/build/esm/cc/Security2CC.js +2 -1
- package/build/esm/cc/Security2CC.js.map +1 -1
- package/build/esm/cc/SecurityCC.d.ts.map +1 -1
- package/build/esm/cc/SecurityCC.js +1 -0
- package/build/esm/cc/SecurityCC.js.map +1 -1
- package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/esm/cc/SoundSwitchCC.js +1 -0
- package/build/esm/cc/SoundSwitchCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanModeCC.js +3 -1
- package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatFanStateCC.js +2 -1
- package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatModeCC.js +3 -1
- 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 +2 -1
- package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetbackCC.js +2 -1
- package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/esm/cc/ThermostatSetpointCC.js +3 -0
- 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 +1 -0
- package/build/esm/cc/TimeCC.js.map +1 -1
- package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/esm/cc/TimeParametersCC.js +1 -0
- package/build/esm/cc/TimeParametersCC.js.map +1 -1
- package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
- package/build/esm/cc/UserCodeCC.js +2 -0
- 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 +4 -1
- package/build/esm/cc/UserCredentialCC.js.map +1 -1
- package/build/esm/cc/VersionCC.d.ts.map +1 -1
- package/build/esm/cc/VersionCC.js +1 -0
- package/build/esm/cc/VersionCC.js.map +1 -1
- package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
- package/build/esm/cc/WakeUpCC.js +1 -0
- package/build/esm/cc/WakeUpCC.js.map +1 -1
- package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/esm/cc/WindowCoveringCC.js +3 -0
- package/build/esm/cc/WindowCoveringCC.js.map +1 -1
- package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/esm/cc/ZWavePlusCC.js +1 -0
- package/build/esm/cc/ZWavePlusCC.js.map +1 -1
- package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +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/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js +2 -1
- package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/esm/lib/API.js.map +1 -1
- package/build/esm/lib/CommandClass.d.ts +2 -0
- package/build/esm/lib/CommandClass.d.ts.map +1 -1
- package/build/esm/lib/CommandClass.js.map +1 -1
- package/build/esm/lib/CommandClassDecorators.d.ts +4 -4
- package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
- package/build/esm/lib/CommandClassDecorators.js.map +1 -1
- package/package.json +7 -7
|
@@ -169,7 +169,8 @@ let HumidityControlModeCC = (() => {
|
|
|
169
169
|
const node = this.getNode(ctx);
|
|
170
170
|
const endpoint = this.getEndpoint(ctx);
|
|
171
171
|
const api = import_API.CCAPI.create(import_core.CommandClasses["Humidity Control Mode"], ctx, endpoint).withOptions({
|
|
172
|
-
priority: import_core.MessagePriority.NodeQuery
|
|
172
|
+
priority: import_core.MessagePriority.NodeQuery,
|
|
173
|
+
tag: "interview"
|
|
173
174
|
});
|
|
174
175
|
ctx.logNode(node.id, {
|
|
175
176
|
endpoint: this.endpointIndex,
|
|
@@ -198,14 +199,15 @@ let HumidityControlModeCC = (() => {
|
|
|
198
199
|
});
|
|
199
200
|
return;
|
|
200
201
|
}
|
|
201
|
-
await this.refreshValues(ctx);
|
|
202
|
+
await this.refreshValues(ctx, { tag: "interview" });
|
|
202
203
|
this.setInterviewComplete(ctx, true);
|
|
203
204
|
}
|
|
204
205
|
async refreshValues(ctx, options) {
|
|
205
206
|
const node = this.getNode(ctx);
|
|
206
207
|
const endpoint = this.getEndpoint(ctx);
|
|
207
208
|
const api = import_API.CCAPI.create(import_core.CommandClasses["Humidity Control Mode"], ctx, endpoint).withOptions({
|
|
208
|
-
priority: options?.priority ?? import_core.MessagePriority.NodeQuery
|
|
209
|
+
priority: options?.priority ?? import_core.MessagePriority.NodeQuery,
|
|
210
|
+
tag: options?.tag
|
|
209
211
|
});
|
|
210
212
|
ctx.logNode(node.id, {
|
|
211
213
|
endpoint: this.endpointIndex,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src_gen/cc/HumidityControlModeCC.ts"],
|
|
4
|
-
"sourcesContent": ["import * as __validateArgs from \"./HumidityControlModeCC._validateArgs.js\";\nconst { validateArgs_HumidityControlModeCCAPI_set } = __validateArgs;\nimport { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type SupervisionResult, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, enumValuesToMetadataStates, parseBitMask, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { HumidityControlMode, HumidityControlModeCommand, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { HumidityControlModeCCValues } from \"./_CCValues.generated.js\";\nexport { HumidityControlModeCCValues };\n@API(CommandClasses[\"Humidity Control Mode\"])\nexport class HumidityControlModeCCAPI extends CCAPI {\n public supportsCommand(cmd: HumidityControlModeCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case HumidityControlModeCommand.Get:\n case HumidityControlModeCommand.SupportedGet:\n return this.isSinglecast();\n case HumidityControlModeCommand.Set:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: HumidityControlModeCCAPI, { property }, value) {\n if (property === \"mode\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n const result = await this.set(value);\n // Verify the change after a delay, unless the command was supervised and successful\n if (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n this.schedulePoll({ property }, value);\n }\n return result;\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: HumidityControlModeCCAPI, { property }) {\n switch (property) {\n case \"mode\":\n return this.get();\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n public async get(): Promise<MaybeNotKnown<HumidityControlMode>> {\n this.assertSupportsCommand(HumidityControlModeCommand, HumidityControlModeCommand.Get);\n const cc = new HumidityControlModeCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<HumidityControlModeCCReport>(cc, this.commandOptions);\n if (response) {\n return response?.mode;\n }\n }\n @validateArgs_HumidityControlModeCCAPI_set()\n public async set(mode: HumidityControlMode): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(HumidityControlModeCommand, HumidityControlModeCommand.Set);\n const cc = new HumidityControlModeCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n mode,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n public async getSupportedModes(): Promise<MaybeNotKnown<readonly HumidityControlMode[]>> {\n this.assertSupportsCommand(HumidityControlModeCommand, HumidityControlModeCommand.SupportedGet);\n const cc = new HumidityControlModeCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<HumidityControlModeCCSupportedReport>(cc, this.commandOptions);\n return response?.supportedModes;\n }\n}\n@commandClass(CommandClasses[\"Humidity Control Mode\"])\n@implementedVersion(1)\n@ccValues(HumidityControlModeCCValues)\nexport class HumidityControlModeCC extends CommandClass {\n declare ccCommand: HumidityControlModeCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Mode\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // First query the possible modes to set the metadata\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying supported humidity control modes...\",\n direction: \"outbound\",\n });\n const supportedModes = await api.getSupportedModes();\n if (supportedModes) {\n const logMessage = `received supported humidity control modes:${supportedModes\n .map((mode) => `\\n\u00B7 ${getEnumMemberName(HumidityControlMode, mode)}`)\n .join(\"\")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying supported humidity control modes timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Mode\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n // Query the current status\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying current humidity control mode...\",\n direction: \"outbound\",\n });\n const currentMode = await api.get();\n if (currentMode) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"received current humidity control mode: \"\n + getEnumMemberName(HumidityControlMode, currentMode),\n direction: \"inbound\",\n });\n }\n }\n}\n// @publicAPI\nexport interface HumidityControlModeCCSetOptions {\n mode: HumidityControlMode;\n}\n@CCCommand(HumidityControlModeCommand.Set)\n@useSupervision()\nexport class HumidityControlModeCCSet extends HumidityControlModeCC {\n public constructor(options: WithAddress<HumidityControlModeCCSetOptions>) {\n super(options);\n this.mode = options.mode;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlModeCCSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlModeCCSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public mode: HumidityControlMode;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.mode & 0b1111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n mode: getEnumMemberName(HumidityControlMode, this.mode),\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlModeCCReportOptions {\n mode: HumidityControlMode;\n}\n@CCCommand(HumidityControlModeCommand.Report)\n@ccValueProperty(\"mode\", HumidityControlModeCCValues.mode)\nexport class HumidityControlModeCCReport extends HumidityControlModeCC {\n public constructor(options: WithAddress<HumidityControlModeCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.mode = options.mode;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlModeCCReport {\n validatePayload(raw.payload.length >= 1);\n const mode: HumidityControlMode = raw.payload[0] & 0b1111;\n return new this({\n nodeId: ctx.sourceNodeId,\n mode,\n });\n }\n public readonly mode: HumidityControlMode;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n mode: getEnumMemberName(HumidityControlMode, this.mode),\n },\n };\n }\n}\n@CCCommand(HumidityControlModeCommand.Get)\n@expectedCCResponse(HumidityControlModeCCReport)\nexport class HumidityControlModeCCGet extends HumidityControlModeCC {\n}\n// @publicAPI\nexport interface HumidityControlModeCCSupportedReportOptions {\n supportedModes: HumidityControlMode[];\n}\n@CCCommand(HumidityControlModeCommand.SupportedReport)\n@ccValueProperty(\"supportedModes\", HumidityControlModeCCValues.supportedModes)\nexport class HumidityControlModeCCSupportedReport extends HumidityControlModeCC {\n public constructor(options: WithAddress<HumidityControlModeCCSupportedReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedModes = options.supportedModes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlModeCCSupportedReport {\n validatePayload(raw.payload.length >= 1);\n const supportedModes: HumidityControlMode[] = parseBitMask(raw.payload, HumidityControlMode.Off);\n if (!supportedModes.includes(HumidityControlMode.Off)) {\n supportedModes.unshift(HumidityControlMode.Off);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedModes,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Use this information to create the metadata for the mode property\n const modeValue = HumidityControlModeCCValues.mode;\n this.setMetadata(ctx, modeValue, {\n ...modeValue.meta,\n states: enumValuesToMetadataStates(HumidityControlMode, this.supportedModes),\n });\n return true;\n }\n public supportedModes: HumidityControlMode[];\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supported modes\": this.supportedModes\n .map((mode) => `\\n\u00B7 ${getEnumMemberName(HumidityControlMode, mode)}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(HumidityControlModeCommand.SupportedGet)\n@expectedCCResponse(HumidityControlModeCCSupportedReport)\nexport class HumidityControlModeCCSupportedGet extends HumidityControlModeCC {\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import * as __validateArgs from \"./HumidityControlModeCC._validateArgs.js\";\nconst { validateArgs_HumidityControlModeCCAPI_set } = __validateArgs;\nimport { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type SupervisionResult, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, enumValuesToMetadataStates, parseBitMask, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { HumidityControlMode, HumidityControlModeCommand, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { HumidityControlModeCCValues } from \"./_CCValues.generated.js\";\nexport { HumidityControlModeCCValues };\n@API(CommandClasses[\"Humidity Control Mode\"])\nexport class HumidityControlModeCCAPI extends CCAPI {\n public supportsCommand(cmd: HumidityControlModeCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case HumidityControlModeCommand.Get:\n case HumidityControlModeCommand.SupportedGet:\n return this.isSinglecast();\n case HumidityControlModeCommand.Set:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: HumidityControlModeCCAPI, { property }, value) {\n if (property === \"mode\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n const result = await this.set(value);\n // Verify the change after a delay, unless the command was supervised and successful\n if (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n this.schedulePoll({ property }, value);\n }\n return result;\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: HumidityControlModeCCAPI, { property }) {\n switch (property) {\n case \"mode\":\n return this.get();\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n public async get(): Promise<MaybeNotKnown<HumidityControlMode>> {\n this.assertSupportsCommand(HumidityControlModeCommand, HumidityControlModeCommand.Get);\n const cc = new HumidityControlModeCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<HumidityControlModeCCReport>(cc, this.commandOptions);\n if (response) {\n return response?.mode;\n }\n }\n @validateArgs_HumidityControlModeCCAPI_set()\n public async set(mode: HumidityControlMode): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(HumidityControlModeCommand, HumidityControlModeCommand.Set);\n const cc = new HumidityControlModeCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n mode,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n public async getSupportedModes(): Promise<MaybeNotKnown<readonly HumidityControlMode[]>> {\n this.assertSupportsCommand(HumidityControlModeCommand, HumidityControlModeCommand.SupportedGet);\n const cc = new HumidityControlModeCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<HumidityControlModeCCSupportedReport>(cc, this.commandOptions);\n return response?.supportedModes;\n }\n}\n@commandClass(CommandClasses[\"Humidity Control Mode\"])\n@implementedVersion(1)\n@ccValues(HumidityControlModeCCValues)\nexport class HumidityControlModeCC extends CommandClass {\n declare ccCommand: HumidityControlModeCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Mode\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n tag: \"interview\",\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // First query the possible modes to set the metadata\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying supported humidity control modes...\",\n direction: \"outbound\",\n });\n const supportedModes = await api.getSupportedModes();\n if (supportedModes) {\n const logMessage = `received supported humidity control modes:${supportedModes\n .map((mode) => `\\n\u00B7 ${getEnumMemberName(HumidityControlMode, mode)}`)\n .join(\"\")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying supported humidity control modes timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n await this.refreshValues(ctx, { tag: \"interview\" });\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Mode\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n tag: options?.tag,\n });\n // Query the current status\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying current humidity control mode...\",\n direction: \"outbound\",\n });\n const currentMode = await api.get();\n if (currentMode) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"received current humidity control mode: \"\n + getEnumMemberName(HumidityControlMode, currentMode),\n direction: \"inbound\",\n });\n }\n }\n}\n// @publicAPI\nexport interface HumidityControlModeCCSetOptions {\n mode: HumidityControlMode;\n}\n@CCCommand(HumidityControlModeCommand.Set)\n@useSupervision()\nexport class HumidityControlModeCCSet extends HumidityControlModeCC {\n public constructor(options: WithAddress<HumidityControlModeCCSetOptions>) {\n super(options);\n this.mode = options.mode;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlModeCCSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlModeCCSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public mode: HumidityControlMode;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.mode & 0b1111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n mode: getEnumMemberName(HumidityControlMode, this.mode),\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlModeCCReportOptions {\n mode: HumidityControlMode;\n}\n@CCCommand(HumidityControlModeCommand.Report)\n@ccValueProperty(\"mode\", HumidityControlModeCCValues.mode)\nexport class HumidityControlModeCCReport extends HumidityControlModeCC {\n public constructor(options: WithAddress<HumidityControlModeCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.mode = options.mode;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlModeCCReport {\n validatePayload(raw.payload.length >= 1);\n const mode: HumidityControlMode = raw.payload[0] & 0b1111;\n return new this({\n nodeId: ctx.sourceNodeId,\n mode,\n });\n }\n public readonly mode: HumidityControlMode;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n mode: getEnumMemberName(HumidityControlMode, this.mode),\n },\n };\n }\n}\n@CCCommand(HumidityControlModeCommand.Get)\n@expectedCCResponse(HumidityControlModeCCReport)\nexport class HumidityControlModeCCGet extends HumidityControlModeCC {\n}\n// @publicAPI\nexport interface HumidityControlModeCCSupportedReportOptions {\n supportedModes: HumidityControlMode[];\n}\n@CCCommand(HumidityControlModeCommand.SupportedReport)\n@ccValueProperty(\"supportedModes\", HumidityControlModeCCValues.supportedModes)\nexport class HumidityControlModeCCSupportedReport extends HumidityControlModeCC {\n public constructor(options: WithAddress<HumidityControlModeCCSupportedReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedModes = options.supportedModes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlModeCCSupportedReport {\n validatePayload(raw.payload.length >= 1);\n const supportedModes: HumidityControlMode[] = parseBitMask(raw.payload, HumidityControlMode.Off);\n if (!supportedModes.includes(HumidityControlMode.Off)) {\n supportedModes.unshift(HumidityControlMode.Off);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedModes,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Use this information to create the metadata for the mode property\n const modeValue = HumidityControlModeCCValues.mode;\n this.setMetadata(ctx, modeValue, {\n ...modeValue.meta,\n states: enumValuesToMetadataStates(HumidityControlMode, this.supportedModes),\n });\n return true;\n }\n public supportedModes: HumidityControlMode[];\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supported modes\": this.supportedModes\n .map((mode) => `\\n\u00B7 ${getEnumMemberName(HumidityControlMode, mode)}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(HumidityControlModeCommand.SupportedGet)\n@expectedCCResponse(HumidityControlModeCCSupportedReport)\nexport class HumidityControlModeCCSupportedGet extends HumidityControlModeCC {\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -112,14 +112,15 @@ let HumidityControlOperatingStateCC = (() => {
|
|
|
112
112
|
message: `Interviewing ${this.ccName}...`,
|
|
113
113
|
direction: "none"
|
|
114
114
|
});
|
|
115
|
-
await this.refreshValues(ctx);
|
|
115
|
+
await this.refreshValues(ctx, { tag: "interview" });
|
|
116
116
|
this.setInterviewComplete(ctx, true);
|
|
117
117
|
}
|
|
118
118
|
async refreshValues(ctx, options) {
|
|
119
119
|
const node = this.getNode(ctx);
|
|
120
120
|
const endpoint = this.getEndpoint(ctx);
|
|
121
121
|
const api = import_API.CCAPI.create(import_core.CommandClasses["Humidity Control Operating State"], ctx, endpoint).withOptions({
|
|
122
|
-
priority: options?.priority ?? import_core.MessagePriority.NodeQuery
|
|
122
|
+
priority: options?.priority ?? import_core.MessagePriority.NodeQuery,
|
|
123
|
+
tag: options?.tag
|
|
123
124
|
});
|
|
124
125
|
ctx.logNode(node.id, {
|
|
125
126
|
endpoint: this.endpointIndex,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src_gen/cc/HumidityControlOperatingStateCC.ts"],
|
|
4
|
-
"sourcesContent": ["import { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, ValueMetadata, type WithAddress, enumValuesToMetadataStates, validatePayload, } from \"@zwave-js/core\";\nimport { getEnumMemberName } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, throwUnsupportedProperty, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { HumidityControlOperatingState, HumidityControlOperatingStateCommand, } from \"../lib/_Types.js\";\nimport type { CCParsingContext } from \"../lib/traits.js\";\nimport { HumidityControlOperatingStateCCValues } from \"./_CCValues.generated.js\";\nexport { HumidityControlOperatingStateCCValues };\n@API(CommandClasses[\"Humidity Control Operating State\"])\nexport class HumidityControlOperatingStateCCAPI extends CCAPI {\n public supportsCommand(cmd: HumidityControlOperatingStateCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case HumidityControlOperatingStateCommand.Get:\n return this.isSinglecast();\n }\n return super.supportsCommand(cmd);\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: HumidityControlOperatingStateCCAPI, { property }) {\n switch (property) {\n case \"state\":\n return this.get();\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n public async get(): Promise<HumidityControlOperatingState | undefined> {\n this.assertSupportsCommand(HumidityControlOperatingStateCommand, HumidityControlOperatingStateCommand.Get);\n const cc = new HumidityControlOperatingStateCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<HumidityControlOperatingStateCCReport>(cc, this.commandOptions);\n if (response) {\n return response?.state;\n }\n }\n}\n@commandClass(CommandClasses[\"Humidity Control Operating State\"])\n@implementedVersion(1)\n@ccValues(HumidityControlOperatingStateCCValues)\nexport class HumidityControlOperatingStateCC extends CommandClass {\n declare ccCommand: HumidityControlOperatingStateCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Operating State\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n // Query the current status\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying current humidity control operating state...\",\n direction: \"outbound\",\n });\n const currentStatus = await api.get();\n if (currentStatus) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"received current humidity control operating state: \"\n + getEnumMemberName(HumidityControlOperatingState, currentStatus),\n direction: \"inbound\",\n });\n }\n }\n}\n// @publicAPI\nexport interface HumidityControlOperatingStateCCReportOptions {\n state: HumidityControlOperatingState;\n}\n@CCCommand(HumidityControlOperatingStateCommand.Report)\n@ccValueProperty(\"state\", HumidityControlOperatingStateCCValues.state)\nexport class HumidityControlOperatingStateCCReport extends HumidityControlOperatingStateCC {\n public constructor(options: WithAddress<HumidityControlOperatingStateCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.state = options.state;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlOperatingStateCCReport {\n validatePayload(raw.payload.length >= 1);\n const state: HumidityControlOperatingState = raw.payload[0] & 0b1111;\n return new this({\n nodeId: ctx.sourceNodeId,\n state,\n });\n }\n public readonly state: HumidityControlOperatingState;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n state: getEnumMemberName(HumidityControlOperatingState, this.state),\n },\n };\n }\n}\n@CCCommand(HumidityControlOperatingStateCommand.Get)\n@expectedCCResponse(HumidityControlOperatingStateCCReport)\nexport class HumidityControlOperatingStateCCGet extends HumidityControlOperatingStateCC {\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAA8L;AAC9L,oBAAkC;AAClC,iBAA2F;AAC3F,0BAAuH;AACvH,oCAAiH;AAEjH,mBAAqF;AAErF,gCAAsD;IAGzC,sCAAkC,MAAA;8BAD9C,mCAAI,2BAAe,kCAAkC,CAAC,CAAC;;;;oBACA;0DAAA,YAAK;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;;IACF,gBAAgB,KAAyC;AAC5D,cAAQ,KAAK;QACT,KAAK,kDAAqC;AACtC,iBAAO,KAAK,aAAY;MAChC;AACA,aAAO,MAAM,gBAAgB,GAAG;IACpC;IACA,KAAe,qBAAU,IAAC;AACtB,aAAO,eAA0D,EAAE,SAAQ,GAAE;AACzE,gBAAQ,UAAU;UACd,KAAK;AACD,mBAAO,KAAK,IAAG;UACnB;AACI,qDAAyB,KAAK,MAAM,QAAQ;QACpD;MACJ;IACJ;IACO,MAAM,MAAG;AACZ,WAAK,sBAAsB,mDAAsC,kDAAqC,GAAG;AACzG,YAAM,KAAK,IAAI,mCAAmC;QAC9C,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;OAChC;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAAmD,IAAI,KAAK,cAAc;AAC3G,UAAI,UAAU;AACV,eAAO,UAAU;MACrB;IACJ;;;;IAKS,mCAA+B,MAAA;8BAH3C,4CAAa,2BAAe,kCAAkC,CAAC,OAC/D,kDAAmB,CAAC,OACpB,wCAAS,+DAAqC,CAAC;;;;oBACK;uDAAA,YAAY;WAAA;;;;;;;;AAAjE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IAEF,MAAM,UAAU,KAAqB;AACxC,YAAM,OAAO,KAAK,QAAQ,GAAG;AAC7B,UAAI,QAAQ,KAAK,IAAI;QACjB,UAAU,KAAK;QACf,SAAS,gBAAgB,KAAK,MAAM;QACpC,WAAW;OACd;AACD,YAAM,KAAK,cAAc,
|
|
4
|
+
"sourcesContent": ["import { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, ValueMetadata, type WithAddress, enumValuesToMetadataStates, validatePayload, } from \"@zwave-js/core\";\nimport { getEnumMemberName } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, throwUnsupportedProperty, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { HumidityControlOperatingState, HumidityControlOperatingStateCommand, } from \"../lib/_Types.js\";\nimport type { CCParsingContext } from \"../lib/traits.js\";\nimport { HumidityControlOperatingStateCCValues } from \"./_CCValues.generated.js\";\nexport { HumidityControlOperatingStateCCValues };\n@API(CommandClasses[\"Humidity Control Operating State\"])\nexport class HumidityControlOperatingStateCCAPI extends CCAPI {\n public supportsCommand(cmd: HumidityControlOperatingStateCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case HumidityControlOperatingStateCommand.Get:\n return this.isSinglecast();\n }\n return super.supportsCommand(cmd);\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: HumidityControlOperatingStateCCAPI, { property }) {\n switch (property) {\n case \"state\":\n return this.get();\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n public async get(): Promise<HumidityControlOperatingState | undefined> {\n this.assertSupportsCommand(HumidityControlOperatingStateCommand, HumidityControlOperatingStateCommand.Get);\n const cc = new HumidityControlOperatingStateCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<HumidityControlOperatingStateCCReport>(cc, this.commandOptions);\n if (response) {\n return response?.state;\n }\n }\n}\n@commandClass(CommandClasses[\"Humidity Control Operating State\"])\n@implementedVersion(1)\n@ccValues(HumidityControlOperatingStateCCValues)\nexport class HumidityControlOperatingStateCC extends CommandClass {\n declare ccCommand: HumidityControlOperatingStateCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n await this.refreshValues(ctx, { tag: \"interview\" });\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Operating State\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n tag: options?.tag,\n });\n // Query the current status\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying current humidity control operating state...\",\n direction: \"outbound\",\n });\n const currentStatus = await api.get();\n if (currentStatus) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"received current humidity control operating state: \"\n + getEnumMemberName(HumidityControlOperatingState, currentStatus),\n direction: \"inbound\",\n });\n }\n }\n}\n// @publicAPI\nexport interface HumidityControlOperatingStateCCReportOptions {\n state: HumidityControlOperatingState;\n}\n@CCCommand(HumidityControlOperatingStateCommand.Report)\n@ccValueProperty(\"state\", HumidityControlOperatingStateCCValues.state)\nexport class HumidityControlOperatingStateCCReport extends HumidityControlOperatingStateCC {\n public constructor(options: WithAddress<HumidityControlOperatingStateCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.state = options.state;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlOperatingStateCCReport {\n validatePayload(raw.payload.length >= 1);\n const state: HumidityControlOperatingState = raw.payload[0] & 0b1111;\n return new this({\n nodeId: ctx.sourceNodeId,\n state,\n });\n }\n public readonly state: HumidityControlOperatingState;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n state: getEnumMemberName(HumidityControlOperatingState, this.state),\n },\n };\n }\n}\n@CCCommand(HumidityControlOperatingStateCommand.Get)\n@expectedCCResponse(HumidityControlOperatingStateCCReport)\nexport class HumidityControlOperatingStateCCGet extends HumidityControlOperatingStateCC {\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -240,7 +240,8 @@ let HumidityControlSetpointCC = (() => {
|
|
|
240
240
|
const node = this.getNode(ctx);
|
|
241
241
|
const endpoint = this.getEndpoint(ctx);
|
|
242
242
|
const api = import_API.CCAPI.create(import_core.CommandClasses["Humidity Control Setpoint"], ctx, endpoint).withOptions({
|
|
243
|
-
priority: import_core.MessagePriority.NodeQuery
|
|
243
|
+
priority: import_core.MessagePriority.NodeQuery,
|
|
244
|
+
tag: "interview"
|
|
244
245
|
});
|
|
245
246
|
ctx.logNode(node.id, {
|
|
246
247
|
endpoint: this.endpointIndex,
|
|
@@ -312,14 +313,15 @@ maximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;
|
|
|
312
313
|
});
|
|
313
314
|
}
|
|
314
315
|
}
|
|
315
|
-
await this.refreshValues(ctx);
|
|
316
|
+
await this.refreshValues(ctx, { tag: "interview" });
|
|
316
317
|
this.setInterviewComplete(ctx, true);
|
|
317
318
|
}
|
|
318
319
|
async refreshValues(ctx, options) {
|
|
319
320
|
const node = this.getNode(ctx);
|
|
320
321
|
const endpoint = this.getEndpoint(ctx);
|
|
321
322
|
const api = import_API.CCAPI.create(import_core.CommandClasses["Humidity Control Setpoint"], ctx, endpoint).withOptions({
|
|
322
|
-
priority: options?.priority ?? import_core.MessagePriority.NodeQuery
|
|
323
|
+
priority: options?.priority ?? import_core.MessagePriority.NodeQuery,
|
|
324
|
+
tag: options?.tag
|
|
323
325
|
});
|
|
324
326
|
const setpointTypes = this.getValue(ctx, import_CCValues_generated.HumidityControlSetpointCCValues.supportedSetpointTypes) ?? [];
|
|
325
327
|
for (const type of setpointTypes) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src_gen/cc/HumidityControlSetpointCC.ts"],
|
|
4
|
-
"sourcesContent": ["import * as __validateArgs from \"./HumidityControlSetpointCC._validateArgs.js\";\nconst { validateArgs_HumidityControlSetpointCCAPI_get, validateArgs_HumidityControlSetpointCCAPI_set, validateArgs_HumidityControlSetpointCCAPI_getCapabilities, validateArgs_HumidityControlSetpointCCAPI_getSupportedScales } = __validateArgs;\nimport { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type Scale, type SupervisionResult, ValueMetadata, type ValueMetadataNumeric, type WithAddress, ZWaveError, ZWaveErrorCodes, encodeFloatWithScale, getNamedScale, getUnknownScale, parseBitMask, parseFloatWithScale, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type HumidityControlSetpointCapabilities, HumidityControlSetpointCommand, HumidityControlSetpointType, type HumidityControlSetpointValue, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { HumidityControlSetpointCCValues } from \"./_CCValues.generated.js\";\nexport { HumidityControlSetpointCCValues };\nfunction getScale(scale: number): Scale {\n return getNamedScale(\"humidity\", scale as any) ?? getUnknownScale(scale);\n}\nfunction getSetpointUnit(scale: number): string {\n return getScale(scale).unit ?? \"\";\n}\n@API(CommandClasses[\"Humidity Control Setpoint\"])\nexport class HumidityControlSetpointCCAPI extends CCAPI {\n public supportsCommand(cmd: HumidityControlSetpointCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case HumidityControlSetpointCommand.Get:\n case HumidityControlSetpointCommand.SupportedGet:\n case HumidityControlSetpointCommand.CapabilitiesGet:\n return this.isSinglecast();\n case HumidityControlSetpointCommand.Set:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: HumidityControlSetpointCCAPI, { property, propertyKey }, value) {\n if (property !== \"setpoint\") {\n throwUnsupportedProperty(this.ccId, property);\n }\n if (typeof propertyKey !== \"number\") {\n throw new ZWaveError(`${CommandClasses[this.ccId]}: \"${property}\" must be further specified by a numeric property key`, ZWaveErrorCodes.Argument_Invalid);\n }\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n const scaleValueId = HumidityControlSetpointCCValues.setpointScale(propertyKey).endpoint(this.endpoint.index);\n const preferredScale = this.tryGetValueDB()?.getValue<number>(scaleValueId);\n const result = await this.set(propertyKey, value, preferredScale ?? 0);\n // Verify the change after a delay, unless the command was supervised and successful\n if (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n this.schedulePoll({ property, propertyKey }, value);\n }\n return result;\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: HumidityControlSetpointCCAPI, { property, propertyKey }) {\n switch (property) {\n case \"setpoint\":\n if (typeof propertyKey !== \"number\") {\n throw new ZWaveError(`${CommandClasses[this.ccId]}: \"${property}\" must be further specified by a numeric property key`, ZWaveErrorCodes.Argument_Invalid);\n }\n return (await this.get(propertyKey))?.value;\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n @validateArgs_HumidityControlSetpointCCAPI_get()\n public async get(setpointType: HumidityControlSetpointType): Promise<MaybeNotKnown<HumidityControlSetpointValue>> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Get);\n const cc = new HumidityControlSetpointCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n setpointType,\n });\n const response = await this.host.sendCommand<HumidityControlSetpointCCReport>(cc, this.commandOptions);\n if (!response)\n return;\n return response.type === HumidityControlSetpointType[\"N/A\"]\n // not supported\n ? undefined\n // supported\n : {\n value: response.value,\n scale: response.scale,\n };\n }\n @validateArgs_HumidityControlSetpointCCAPI_set()\n public async set(setpointType: HumidityControlSetpointType, value: number, scale: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Set);\n const cc = new HumidityControlSetpointCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n setpointType,\n value,\n scale,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_HumidityControlSetpointCCAPI_getCapabilities()\n public async getCapabilities(setpointType: HumidityControlSetpointType): Promise<MaybeNotKnown<HumidityControlSetpointCapabilities>> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.CapabilitiesGet);\n const cc = new HumidityControlSetpointCCCapabilitiesGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n setpointType,\n });\n const response = await this.host.sendCommand<HumidityControlSetpointCCCapabilitiesReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"minValue\",\n \"maxValue\",\n \"minValueScale\",\n \"maxValueScale\",\n ]);\n }\n }\n public async getSupportedSetpointTypes(): Promise<MaybeNotKnown<readonly HumidityControlSetpointType[]>> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);\n const cc = new HumidityControlSetpointCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<HumidityControlSetpointCCSupportedReport>(cc, this.commandOptions);\n return response?.supportedSetpointTypes;\n }\n @validateArgs_HumidityControlSetpointCCAPI_getSupportedScales()\n public async getSupportedScales(setpointType: HumidityControlSetpointType): Promise<MaybeNotKnown<readonly Scale[]>> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);\n const cc = new HumidityControlSetpointCCScaleSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n setpointType,\n });\n const response = await this.host.sendCommand<HumidityControlSetpointCCScaleSupportedReport>(cc, this.commandOptions);\n if (response) {\n return response.supportedScales.map((scale) => getScale(scale));\n }\n }\n}\n@commandClass(CommandClasses[\"Humidity Control Setpoint\"])\n@implementedVersion(2)\n@ccValues(HumidityControlSetpointCCValues)\nexport class HumidityControlSetpointCC extends CommandClass {\n declare ccCommand: HumidityControlSetpointCommand;\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n if (property === \"setpoint\") {\n return getEnumMemberName(HumidityControlSetpointType, propertyKey as any);\n }\n else {\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n }\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Setpoint\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // Query the supported setpoint types\n let setpointTypes: HumidityControlSetpointType[] = [];\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"retrieving supported setpoint types...\",\n direction: \"outbound\",\n });\n const resp = await api.getSupportedSetpointTypes();\n if (resp) {\n setpointTypes = [...resp];\n const logMessage = \"received supported setpoint types:\\n\"\n + setpointTypes\n .map((type) => getEnumMemberName(HumidityControlSetpointType, type))\n .map((name) => `\u00B7 ${name}`)\n .join(\"\\n\");\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying supported setpoint types timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n for (const type of setpointTypes) {\n const setpointName = getEnumMemberName(HumidityControlSetpointType, type);\n // Find out the capabilities of this setpoint\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `retrieving capabilities for setpoint ${setpointName}...`,\n direction: \"outbound\",\n });\n const setpointScaleSupported = await api.getSupportedScales(type);\n if (setpointScaleSupported) {\n const logMessage = `received supported scales for setpoint ${setpointName}: \n${setpointScaleSupported\n .map((t) => `\\n\u00B7 ${t.key} ${t.unit} - ${t.label}`)\n .join(\"\")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n const scaleValue = HumidityControlSetpointCCValues\n .setpointScale(type);\n const states: Record<number, string> = {};\n for (const scale of setpointScaleSupported) {\n if (scale.unit)\n states[scale.key] = scale.unit;\n }\n this.setMetadata(ctx, scaleValue, {\n ...scaleValue.meta,\n states,\n });\n }\n const setpointCaps = await api.getCapabilities(type);\n if (setpointCaps) {\n const minValueUnit = getSetpointUnit(setpointCaps.minValueScale);\n const maxValueUnit = getSetpointUnit(setpointCaps.maxValueScale);\n const logMessage = `received capabilities for setpoint ${setpointName}:\nminimum value: ${setpointCaps.minValue} ${minValueUnit}\nmaximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n // Query the current value for all setpoint types\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Setpoint\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n const setpointTypes: HumidityControlSetpointType[] = this.getValue(ctx, HumidityControlSetpointCCValues.supportedSetpointTypes) ?? [];\n // Query each setpoint's current value\n for (const type of setpointTypes) {\n const setpointName = getEnumMemberName(HumidityControlSetpointType, type);\n // Every time, query the current value\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying current value of setpoint ${setpointName}...`,\n direction: \"outbound\",\n });\n const setpoint = await api.get(type);\n if (setpoint) {\n const logMessage = `received current value of setpoint ${setpointName}: ${setpoint.value} ${getScale(setpoint.scale).unit ?? \"\"}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCSetOptions {\n setpointType: HumidityControlSetpointType;\n value: number;\n scale: number;\n}\n@CCCommand(HumidityControlSetpointCommand.Set)\n@useSupervision()\nexport class HumidityControlSetpointCCSet extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCSetOptions>) {\n super(options);\n this.setpointType = options.setpointType;\n this.value = options.value;\n this.scale = options.scale;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlSetpointCCSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlSetpointCCSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public setpointType: HumidityControlSetpointType;\n public value: number;\n public scale: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.setpointType & 0b1111],\n encodeFloatWithScale(this.value, this.scale),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const scale = getScale(this.scale);\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.setpointType),\n value: `${this.value} ${scale.unit}`,\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCReportOptions {\n type: HumidityControlSetpointType;\n scale: number;\n value: number;\n}\n@CCCommand(HumidityControlSetpointCommand.Report)\nexport class HumidityControlSetpointCCReport extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.type = options.type;\n this.value = options.value;\n this.scale = options.scale;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlSetpointCCReport {\n validatePayload(raw.payload.length >= 1);\n const type: HumidityControlSetpointType = raw.payload[0] & 0b1111;\n // Setpoint type 0 is not defined in the spec, prevent devices from using it.\n if (type === 0) {\n // Not supported\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n value: 0,\n scale: 0,\n });\n }\n // parseFloatWithScale does its own validation\n const { value, scale } = parseFloatWithScale(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n value,\n scale,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n const scale = getScale(this.scale);\n const setpointValue = HumidityControlSetpointCCValues.setpoint(this.type);\n const existingMetadata = this.getMetadata<ValueMetadataNumeric>(ctx, setpointValue);\n // Update the metadata when it is missing or the unit has changed\n if (existingMetadata?.unit !== scale.unit) {\n this.setMetadata(ctx, setpointValue, {\n ...(existingMetadata ?? setpointValue.meta),\n unit: scale.unit,\n });\n }\n this.setValue(ctx, setpointValue, this.value);\n // Remember the device-preferred setpoint scale so it can be used in SET commands\n this.setValue(ctx, HumidityControlSetpointCCValues.setpointScale(this.type), this.scale);\n return true;\n }\n public type: HumidityControlSetpointType;\n public scale: number;\n public value: number;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const scale = getScale(this.scale);\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.type),\n value: `${this.value} ${scale.unit}`,\n },\n };\n }\n}\nfunction testResponseForHumidityControlSetpointGet(sent: HumidityControlSetpointCCGet, received: HumidityControlSetpointCCReport) {\n // We expect a Humidity Control Setpoint Report that matches the requested setpoint type\n return received.type === sent.setpointType;\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCGetOptions {\n setpointType: HumidityControlSetpointType;\n}\n@CCCommand(HumidityControlSetpointCommand.Get)\n@expectedCCResponse(HumidityControlSetpointCCReport, testResponseForHumidityControlSetpointGet)\nexport class HumidityControlSetpointCCGet extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCGetOptions>) {\n super(options);\n this.setpointType = options.setpointType;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlSetpointCCGet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlSetpointCCGet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public setpointType: HumidityControlSetpointType;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.setpointType & 0b1111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.setpointType),\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCSupportedReportOptions {\n supportedSetpointTypes: HumidityControlSetpointType[];\n}\n@CCCommand(HumidityControlSetpointCommand.SupportedReport)\n@ccValueProperty(\"supportedSetpointTypes\", HumidityControlSetpointCCValues.supportedSetpointTypes)\nexport class HumidityControlSetpointCCSupportedReport extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCSupportedReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedSetpointTypes = options.supportedSetpointTypes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlSetpointCCSupportedReport {\n validatePayload(raw.payload.length >= 1);\n const supportedSetpointTypes: HumidityControlSetpointType[] = parseBitMask(raw.payload, HumidityControlSetpointType[\"N/A\"]);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedSetpointTypes,\n });\n }\n public readonly supportedSetpointTypes: readonly HumidityControlSetpointType[];\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supported setpoint types\": this.supportedSetpointTypes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(HumidityControlSetpointType, t)}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(HumidityControlSetpointCommand.SupportedGet)\n@expectedCCResponse(HumidityControlSetpointCCSupportedReport)\nexport class HumidityControlSetpointCCSupportedGet extends HumidityControlSetpointCC {\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCScaleSupportedReportOptions {\n supportedScales: number[];\n}\n@CCCommand(HumidityControlSetpointCommand.ScaleSupportedReport)\nexport class HumidityControlSetpointCCScaleSupportedReport extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCScaleSupportedReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedScales = options.supportedScales;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlSetpointCCScaleSupportedReport {\n validatePayload(raw.payload.length >= 1);\n const supportedScales = parseBitMask(Bytes.from([raw.payload[0] & 0b1111]), 0);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedScales,\n });\n }\n public readonly supportedScales: readonly number[];\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const supportedScales = this.supportedScales.map((scale) => getScale(scale));\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"scale supported\": supportedScales\n .map((t) => `\\n\u00B7 ${t.key} ${t.unit} - ${t.label}`)\n .join(\"\"),\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCScaleSupportedGetOptions {\n setpointType: HumidityControlSetpointType;\n}\n@CCCommand(HumidityControlSetpointCommand.ScaleSupportedGet)\n@expectedCCResponse(HumidityControlSetpointCCScaleSupportedReport)\nexport class HumidityControlSetpointCCScaleSupportedGet extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCScaleSupportedGetOptions>) {\n super(options);\n this.setpointType = options.setpointType;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlSetpointCCScaleSupportedGet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlSetpointCCScaleSupportedGet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public setpointType: HumidityControlSetpointType;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.setpointType & 0b1111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.setpointType),\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCCapabilitiesReportOptions {\n type: HumidityControlSetpointType;\n minValue: number;\n maxValue: number;\n minValueScale: number;\n maxValueScale: number;\n}\n@CCCommand(HumidityControlSetpointCommand.CapabilitiesReport)\nexport class HumidityControlSetpointCCCapabilitiesReport extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCCapabilitiesReportOptions>) {\n super(options);\n this.type = options.type;\n this.minValue = options.minValue;\n this.maxValue = options.maxValue;\n this.minValueScale = options.minValueScale;\n this.maxValueScale = options.maxValueScale;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlSetpointCCCapabilitiesReport {\n validatePayload(raw.payload.length >= 1);\n const type: HumidityControlSetpointType = raw.payload[0] & 0b1111;\n // parseFloatWithScale does its own validation\n const { value: minValue, scale: minValueScale, bytesRead, } = parseFloatWithScale(raw.payload.subarray(1));\n const { value: maxValue, scale: maxValueScale } = parseFloatWithScale(raw.payload.subarray(1 + bytesRead));\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n minValue,\n minValueScale,\n maxValue,\n maxValueScale,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Predefine the metadata\n const setpointValue = HumidityControlSetpointCCValues.setpoint(this.type);\n this.setMetadata(ctx, setpointValue, {\n ...setpointValue.meta,\n min: this.minValue,\n max: this.maxValue,\n unit: getSetpointUnit(this.minValueScale)\n || getSetpointUnit(this.maxValueScale),\n });\n return true;\n }\n public type: HumidityControlSetpointType;\n public minValue: number;\n public maxValue: number;\n public minValueScale: number;\n public maxValueScale: number;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const minValueScale = getScale(this.minValueScale);\n const maxValueScale = getScale(this.maxValueScale);\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.type),\n \"min value\": `${this.minValue} ${minValueScale.unit}`,\n \"max value\": `${this.maxValue} ${maxValueScale.unit}`,\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCCapabilitiesGetOptions {\n setpointType: HumidityControlSetpointType;\n}\n@CCCommand(HumidityControlSetpointCommand.CapabilitiesGet)\n@expectedCCResponse(HumidityControlSetpointCCCapabilitiesReport)\nexport class HumidityControlSetpointCCCapabilitiesGet extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCCapabilitiesGetOptions>) {\n super(options);\n this.setpointType = options.setpointType;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlSetpointCCCapabilitiesGet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlSetpointCCCapabilitiesGet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public setpointType: HumidityControlSetpointType;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.setpointType & 0b1111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.setpointType),\n },\n };\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import * as __validateArgs from \"./HumidityControlSetpointCC._validateArgs.js\";\nconst { validateArgs_HumidityControlSetpointCCAPI_get, validateArgs_HumidityControlSetpointCCAPI_set, validateArgs_HumidityControlSetpointCCAPI_getCapabilities, validateArgs_HumidityControlSetpointCCAPI_getSupportedScales } = __validateArgs;\nimport { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type Scale, type SupervisionResult, ValueMetadata, type ValueMetadataNumeric, type WithAddress, ZWaveError, ZWaveErrorCodes, encodeFloatWithScale, getNamedScale, getUnknownScale, parseBitMask, parseFloatWithScale, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type HumidityControlSetpointCapabilities, HumidityControlSetpointCommand, HumidityControlSetpointType, type HumidityControlSetpointValue, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { HumidityControlSetpointCCValues } from \"./_CCValues.generated.js\";\nexport { HumidityControlSetpointCCValues };\nfunction getScale(scale: number): Scale {\n return getNamedScale(\"humidity\", scale as any) ?? getUnknownScale(scale);\n}\nfunction getSetpointUnit(scale: number): string {\n return getScale(scale).unit ?? \"\";\n}\n@API(CommandClasses[\"Humidity Control Setpoint\"])\nexport class HumidityControlSetpointCCAPI extends CCAPI {\n public supportsCommand(cmd: HumidityControlSetpointCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case HumidityControlSetpointCommand.Get:\n case HumidityControlSetpointCommand.SupportedGet:\n case HumidityControlSetpointCommand.CapabilitiesGet:\n return this.isSinglecast();\n case HumidityControlSetpointCommand.Set:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: HumidityControlSetpointCCAPI, { property, propertyKey }, value) {\n if (property !== \"setpoint\") {\n throwUnsupportedProperty(this.ccId, property);\n }\n if (typeof propertyKey !== \"number\") {\n throw new ZWaveError(`${CommandClasses[this.ccId]}: \"${property}\" must be further specified by a numeric property key`, ZWaveErrorCodes.Argument_Invalid);\n }\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n const scaleValueId = HumidityControlSetpointCCValues.setpointScale(propertyKey).endpoint(this.endpoint.index);\n const preferredScale = this.tryGetValueDB()?.getValue<number>(scaleValueId);\n const result = await this.set(propertyKey, value, preferredScale ?? 0);\n // Verify the change after a delay, unless the command was supervised and successful\n if (this.isSinglecast() && !supervisedCommandSucceeded(result)) {\n this.schedulePoll({ property, propertyKey }, value);\n }\n return result;\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: HumidityControlSetpointCCAPI, { property, propertyKey }) {\n switch (property) {\n case \"setpoint\":\n if (typeof propertyKey !== \"number\") {\n throw new ZWaveError(`${CommandClasses[this.ccId]}: \"${property}\" must be further specified by a numeric property key`, ZWaveErrorCodes.Argument_Invalid);\n }\n return (await this.get(propertyKey))?.value;\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n @validateArgs_HumidityControlSetpointCCAPI_get()\n public async get(setpointType: HumidityControlSetpointType): Promise<MaybeNotKnown<HumidityControlSetpointValue>> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Get);\n const cc = new HumidityControlSetpointCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n setpointType,\n });\n const response = await this.host.sendCommand<HumidityControlSetpointCCReport>(cc, this.commandOptions);\n if (!response)\n return;\n return response.type === HumidityControlSetpointType[\"N/A\"]\n // not supported\n ? undefined\n // supported\n : {\n value: response.value,\n scale: response.scale,\n };\n }\n @validateArgs_HumidityControlSetpointCCAPI_set()\n public async set(setpointType: HumidityControlSetpointType, value: number, scale: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Set);\n const cc = new HumidityControlSetpointCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n setpointType,\n value,\n scale,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_HumidityControlSetpointCCAPI_getCapabilities()\n public async getCapabilities(setpointType: HumidityControlSetpointType): Promise<MaybeNotKnown<HumidityControlSetpointCapabilities>> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.CapabilitiesGet);\n const cc = new HumidityControlSetpointCCCapabilitiesGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n setpointType,\n });\n const response = await this.host.sendCommand<HumidityControlSetpointCCCapabilitiesReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"minValue\",\n \"maxValue\",\n \"minValueScale\",\n \"maxValueScale\",\n ]);\n }\n }\n public async getSupportedSetpointTypes(): Promise<MaybeNotKnown<readonly HumidityControlSetpointType[]>> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);\n const cc = new HumidityControlSetpointCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<HumidityControlSetpointCCSupportedReport>(cc, this.commandOptions);\n return response?.supportedSetpointTypes;\n }\n @validateArgs_HumidityControlSetpointCCAPI_getSupportedScales()\n public async getSupportedScales(setpointType: HumidityControlSetpointType): Promise<MaybeNotKnown<readonly Scale[]>> {\n this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);\n const cc = new HumidityControlSetpointCCScaleSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n setpointType,\n });\n const response = await this.host.sendCommand<HumidityControlSetpointCCScaleSupportedReport>(cc, this.commandOptions);\n if (response) {\n return response.supportedScales.map((scale) => getScale(scale));\n }\n }\n}\n@commandClass(CommandClasses[\"Humidity Control Setpoint\"])\n@implementedVersion(2)\n@ccValues(HumidityControlSetpointCCValues)\nexport class HumidityControlSetpointCC extends CommandClass {\n declare ccCommand: HumidityControlSetpointCommand;\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n if (property === \"setpoint\") {\n return getEnumMemberName(HumidityControlSetpointType, propertyKey as any);\n }\n else {\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n }\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Setpoint\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n tag: \"interview\",\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // Query the supported setpoint types\n let setpointTypes: HumidityControlSetpointType[] = [];\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"retrieving supported setpoint types...\",\n direction: \"outbound\",\n });\n const resp = await api.getSupportedSetpointTypes();\n if (resp) {\n setpointTypes = [...resp];\n const logMessage = \"received supported setpoint types:\\n\"\n + setpointTypes\n .map((type) => getEnumMemberName(HumidityControlSetpointType, type))\n .map((name) => `\u00B7 ${name}`)\n .join(\"\\n\");\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Querying supported setpoint types timed out, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n for (const type of setpointTypes) {\n const setpointName = getEnumMemberName(HumidityControlSetpointType, type);\n // Find out the capabilities of this setpoint\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `retrieving capabilities for setpoint ${setpointName}...`,\n direction: \"outbound\",\n });\n const setpointScaleSupported = await api.getSupportedScales(type);\n if (setpointScaleSupported) {\n const logMessage = `received supported scales for setpoint ${setpointName}: \n${setpointScaleSupported\n .map((t) => `\\n\u00B7 ${t.key} ${t.unit} - ${t.label}`)\n .join(\"\")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n const scaleValue = HumidityControlSetpointCCValues\n .setpointScale(type);\n const states: Record<number, string> = {};\n for (const scale of setpointScaleSupported) {\n if (scale.unit)\n states[scale.key] = scale.unit;\n }\n this.setMetadata(ctx, scaleValue, {\n ...scaleValue.meta,\n states,\n });\n }\n const setpointCaps = await api.getCapabilities(type);\n if (setpointCaps) {\n const minValueUnit = getSetpointUnit(setpointCaps.minValueScale);\n const maxValueUnit = getSetpointUnit(setpointCaps.maxValueScale);\n const logMessage = `received capabilities for setpoint ${setpointName}:\nminimum value: ${setpointCaps.minValue} ${minValueUnit}\nmaximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n // Query the current value for all setpoint types\n await this.refreshValues(ctx, { tag: \"interview\" });\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses[\"Humidity Control Setpoint\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n tag: options?.tag,\n });\n const setpointTypes: HumidityControlSetpointType[] = this.getValue(ctx, HumidityControlSetpointCCValues.supportedSetpointTypes) ?? [];\n // Query each setpoint's current value\n for (const type of setpointTypes) {\n const setpointName = getEnumMemberName(HumidityControlSetpointType, type);\n // Every time, query the current value\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `querying current value of setpoint ${setpointName}...`,\n direction: \"outbound\",\n });\n const setpoint = await api.get(type);\n if (setpoint) {\n const logMessage = `received current value of setpoint ${setpointName}: ${setpoint.value} ${getScale(setpoint.scale).unit ?? \"\"}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCSetOptions {\n setpointType: HumidityControlSetpointType;\n value: number;\n scale: number;\n}\n@CCCommand(HumidityControlSetpointCommand.Set)\n@useSupervision()\nexport class HumidityControlSetpointCCSet extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCSetOptions>) {\n super(options);\n this.setpointType = options.setpointType;\n this.value = options.value;\n this.scale = options.scale;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlSetpointCCSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlSetpointCCSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public setpointType: HumidityControlSetpointType;\n public value: number;\n public scale: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.concat([\n [this.setpointType & 0b1111],\n encodeFloatWithScale(this.value, this.scale),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const scale = getScale(this.scale);\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.setpointType),\n value: `${this.value} ${scale.unit}`,\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCReportOptions {\n type: HumidityControlSetpointType;\n scale: number;\n value: number;\n}\n@CCCommand(HumidityControlSetpointCommand.Report)\nexport class HumidityControlSetpointCCReport extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.type = options.type;\n this.value = options.value;\n this.scale = options.scale;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlSetpointCCReport {\n validatePayload(raw.payload.length >= 1);\n const type: HumidityControlSetpointType = raw.payload[0] & 0b1111;\n // Setpoint type 0 is not defined in the spec, prevent devices from using it.\n if (type === 0) {\n // Not supported\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n value: 0,\n scale: 0,\n });\n }\n // parseFloatWithScale does its own validation\n const { value, scale } = parseFloatWithScale(raw.payload.subarray(1));\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n value,\n scale,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n const scale = getScale(this.scale);\n const setpointValue = HumidityControlSetpointCCValues.setpoint(this.type);\n const existingMetadata = this.getMetadata<ValueMetadataNumeric>(ctx, setpointValue);\n // Update the metadata when it is missing or the unit has changed\n if (existingMetadata?.unit !== scale.unit) {\n this.setMetadata(ctx, setpointValue, {\n ...(existingMetadata ?? setpointValue.meta),\n unit: scale.unit,\n });\n }\n this.setValue(ctx, setpointValue, this.value);\n // Remember the device-preferred setpoint scale so it can be used in SET commands\n this.setValue(ctx, HumidityControlSetpointCCValues.setpointScale(this.type), this.scale);\n return true;\n }\n public type: HumidityControlSetpointType;\n public scale: number;\n public value: number;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const scale = getScale(this.scale);\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.type),\n value: `${this.value} ${scale.unit}`,\n },\n };\n }\n}\nfunction testResponseForHumidityControlSetpointGet(sent: HumidityControlSetpointCCGet, received: HumidityControlSetpointCCReport) {\n // We expect a Humidity Control Setpoint Report that matches the requested setpoint type\n return received.type === sent.setpointType;\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCGetOptions {\n setpointType: HumidityControlSetpointType;\n}\n@CCCommand(HumidityControlSetpointCommand.Get)\n@expectedCCResponse(HumidityControlSetpointCCReport, testResponseForHumidityControlSetpointGet)\nexport class HumidityControlSetpointCCGet extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCGetOptions>) {\n super(options);\n this.setpointType = options.setpointType;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlSetpointCCGet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlSetpointCCGet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public setpointType: HumidityControlSetpointType;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.setpointType & 0b1111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.setpointType),\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCSupportedReportOptions {\n supportedSetpointTypes: HumidityControlSetpointType[];\n}\n@CCCommand(HumidityControlSetpointCommand.SupportedReport)\n@ccValueProperty(\"supportedSetpointTypes\", HumidityControlSetpointCCValues.supportedSetpointTypes)\nexport class HumidityControlSetpointCCSupportedReport extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCSupportedReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedSetpointTypes = options.supportedSetpointTypes;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlSetpointCCSupportedReport {\n validatePayload(raw.payload.length >= 1);\n const supportedSetpointTypes: HumidityControlSetpointType[] = parseBitMask(raw.payload, HumidityControlSetpointType[\"N/A\"]);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedSetpointTypes,\n });\n }\n public readonly supportedSetpointTypes: readonly HumidityControlSetpointType[];\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supported setpoint types\": this.supportedSetpointTypes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(HumidityControlSetpointType, t)}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(HumidityControlSetpointCommand.SupportedGet)\n@expectedCCResponse(HumidityControlSetpointCCSupportedReport)\nexport class HumidityControlSetpointCCSupportedGet extends HumidityControlSetpointCC {\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCScaleSupportedReportOptions {\n supportedScales: number[];\n}\n@CCCommand(HumidityControlSetpointCommand.ScaleSupportedReport)\nexport class HumidityControlSetpointCCScaleSupportedReport extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCScaleSupportedReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedScales = options.supportedScales;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlSetpointCCScaleSupportedReport {\n validatePayload(raw.payload.length >= 1);\n const supportedScales = parseBitMask(Bytes.from([raw.payload[0] & 0b1111]), 0);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedScales,\n });\n }\n public readonly supportedScales: readonly number[];\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const supportedScales = this.supportedScales.map((scale) => getScale(scale));\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"scale supported\": supportedScales\n .map((t) => `\\n\u00B7 ${t.key} ${t.unit} - ${t.label}`)\n .join(\"\"),\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCScaleSupportedGetOptions {\n setpointType: HumidityControlSetpointType;\n}\n@CCCommand(HumidityControlSetpointCommand.ScaleSupportedGet)\n@expectedCCResponse(HumidityControlSetpointCCScaleSupportedReport)\nexport class HumidityControlSetpointCCScaleSupportedGet extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCScaleSupportedGetOptions>) {\n super(options);\n this.setpointType = options.setpointType;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlSetpointCCScaleSupportedGet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlSetpointCCScaleSupportedGet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public setpointType: HumidityControlSetpointType;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.setpointType & 0b1111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.setpointType),\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCCapabilitiesReportOptions {\n type: HumidityControlSetpointType;\n minValue: number;\n maxValue: number;\n minValueScale: number;\n maxValueScale: number;\n}\n@CCCommand(HumidityControlSetpointCommand.CapabilitiesReport)\nexport class HumidityControlSetpointCCCapabilitiesReport extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCCapabilitiesReportOptions>) {\n super(options);\n this.type = options.type;\n this.minValue = options.minValue;\n this.maxValue = options.maxValue;\n this.minValueScale = options.minValueScale;\n this.maxValueScale = options.maxValueScale;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): HumidityControlSetpointCCCapabilitiesReport {\n validatePayload(raw.payload.length >= 1);\n const type: HumidityControlSetpointType = raw.payload[0] & 0b1111;\n // parseFloatWithScale does its own validation\n const { value: minValue, scale: minValueScale, bytesRead, } = parseFloatWithScale(raw.payload.subarray(1));\n const { value: maxValue, scale: maxValueScale } = parseFloatWithScale(raw.payload.subarray(1 + bytesRead));\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n minValue,\n minValueScale,\n maxValue,\n maxValueScale,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Predefine the metadata\n const setpointValue = HumidityControlSetpointCCValues.setpoint(this.type);\n this.setMetadata(ctx, setpointValue, {\n ...setpointValue.meta,\n min: this.minValue,\n max: this.maxValue,\n unit: getSetpointUnit(this.minValueScale)\n || getSetpointUnit(this.maxValueScale),\n });\n return true;\n }\n public type: HumidityControlSetpointType;\n public minValue: number;\n public maxValue: number;\n public minValueScale: number;\n public maxValueScale: number;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const minValueScale = getScale(this.minValueScale);\n const maxValueScale = getScale(this.maxValueScale);\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.type),\n \"min value\": `${this.minValue} ${minValueScale.unit}`,\n \"max value\": `${this.maxValue} ${maxValueScale.unit}`,\n },\n };\n }\n}\n// @publicAPI\nexport interface HumidityControlSetpointCCCapabilitiesGetOptions {\n setpointType: HumidityControlSetpointType;\n}\n@CCCommand(HumidityControlSetpointCommand.CapabilitiesGet)\n@expectedCCResponse(HumidityControlSetpointCCCapabilitiesReport)\nexport class HumidityControlSetpointCCCapabilitiesGet extends HumidityControlSetpointCC {\n public constructor(options: WithAddress<HumidityControlSetpointCCCapabilitiesGetOptions>) {\n super(options);\n this.setpointType = options.setpointType;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): HumidityControlSetpointCCCapabilitiesGet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new HumidityControlSetpointCCCapabilitiesGet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public setpointType: HumidityControlSetpointType;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.setpointType & 0b1111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"setpoint type\": getEnumMemberName(HumidityControlSetpointType, this.setpointType),\n },\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -519,7 +519,8 @@ let IndicatorCC = (() => {
|
|
|
519
519
|
const node = this.getNode(ctx);
|
|
520
520
|
const endpoint = this.getEndpoint(ctx);
|
|
521
521
|
const api = import_API.CCAPI.create(import_core.CommandClasses.Indicator, ctx, endpoint).withOptions({
|
|
522
|
-
priority: import_core.MessagePriority.NodeQuery
|
|
522
|
+
priority: import_core.MessagePriority.NodeQuery,
|
|
523
|
+
tag: "interview"
|
|
523
524
|
});
|
|
524
525
|
ctx.logNode(node.id, {
|
|
525
526
|
endpoint: this.endpointIndex,
|
|
@@ -572,6 +573,7 @@ let IndicatorCC = (() => {
|
|
|
572
573
|
}
|
|
573
574
|
}
|
|
574
575
|
await this.refreshValues(ctx, {
|
|
576
|
+
tag: "interview",
|
|
575
577
|
onProgress: /* @__PURE__ */ __name((completed, total) => node.reportInterviewProgress(completed, total), "onProgress")
|
|
576
578
|
});
|
|
577
579
|
this.setInterviewComplete(ctx, true);
|
|
@@ -580,7 +582,8 @@ let IndicatorCC = (() => {
|
|
|
580
582
|
const node = this.getNode(ctx);
|
|
581
583
|
const endpoint = this.getEndpoint(ctx);
|
|
582
584
|
const api = import_API.CCAPI.create(import_core.CommandClasses.Indicator, ctx, endpoint).withOptions({
|
|
583
|
-
priority: options?.priority ?? import_core.MessagePriority.NodeQuery
|
|
585
|
+
priority: options?.priority ?? import_core.MessagePriority.NodeQuery,
|
|
586
|
+
tag: options?.tag
|
|
584
587
|
});
|
|
585
588
|
if (api.version === 1) {
|
|
586
589
|
ctx.logNode(node.id, {
|