zwave-js 8.10.1 → 8.11.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.
@@ -0,0 +1,625 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var _a, _b;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.HumidityControlSetpointCCCapabilitiesGet = exports.HumidityControlSetpointCCCapabilitiesReport = exports.HumidityControlSetpointCCScaleSupportedGet = exports.HumidityControlSetpointCCScaleSupportedReport = exports.HumidityControlSetpointCCSupportedGet = exports.HumidityControlSetpointCCSupportedReport = exports.HumidityControlSetpointCCGet = exports.HumidityControlSetpointCCReport = exports.HumidityControlSetpointCCSet = exports.HumidityControlSetpointCC = exports.HumidityControlSetpointCCAPI = exports.HumidityControlSetpointType = exports.HumidityControlSetpointCommand = void 0;
11
+ const core_1 = require("@zwave-js/core");
12
+ const shared_1 = require("@zwave-js/shared");
13
+ const Constants_1 = require("../message/Constants");
14
+ const API_1 = require("./API");
15
+ const CommandClass_1 = require("./CommandClass");
16
+ // All the supported commands
17
+ var HumidityControlSetpointCommand;
18
+ (function (HumidityControlSetpointCommand) {
19
+ HumidityControlSetpointCommand[HumidityControlSetpointCommand["Set"] = 1] = "Set";
20
+ HumidityControlSetpointCommand[HumidityControlSetpointCommand["Get"] = 2] = "Get";
21
+ HumidityControlSetpointCommand[HumidityControlSetpointCommand["Report"] = 3] = "Report";
22
+ HumidityControlSetpointCommand[HumidityControlSetpointCommand["SupportedGet"] = 4] = "SupportedGet";
23
+ HumidityControlSetpointCommand[HumidityControlSetpointCommand["SupportedReport"] = 5] = "SupportedReport";
24
+ HumidityControlSetpointCommand[HumidityControlSetpointCommand["ScaleSupportedGet"] = 6] = "ScaleSupportedGet";
25
+ HumidityControlSetpointCommand[HumidityControlSetpointCommand["ScaleSupportedReport"] = 7] = "ScaleSupportedReport";
26
+ HumidityControlSetpointCommand[HumidityControlSetpointCommand["CapabilitiesGet"] = 8] = "CapabilitiesGet";
27
+ HumidityControlSetpointCommand[HumidityControlSetpointCommand["CapabilitiesReport"] = 9] = "CapabilitiesReport";
28
+ })(HumidityControlSetpointCommand = exports.HumidityControlSetpointCommand || (exports.HumidityControlSetpointCommand = {}));
29
+ var HumidityControlSetpointType;
30
+ (function (HumidityControlSetpointType) {
31
+ HumidityControlSetpointType[HumidityControlSetpointType["N/A"] = 0] = "N/A";
32
+ HumidityControlSetpointType[HumidityControlSetpointType["Humidifier"] = 1] = "Humidifier";
33
+ HumidityControlSetpointType[HumidityControlSetpointType["De-humidifier"] = 2] = "De-humidifier";
34
+ HumidityControlSetpointType[HumidityControlSetpointType["Auto"] = 3] = "Auto";
35
+ })(HumidityControlSetpointType = exports.HumidityControlSetpointType || (exports.HumidityControlSetpointType = {}));
36
+ const humidityControlSetpointScaleName = "humidity";
37
+ function getScale(configManager, scale) {
38
+ return configManager.lookupNamedScale(humidityControlSetpointScaleName, scale);
39
+ }
40
+ function getSetpointUnit(configManager, scale) {
41
+ var _c;
42
+ return (_c = getScale(configManager, scale).unit) !== null && _c !== void 0 ? _c : "";
43
+ }
44
+ function getSupportedSetpointTypesValueID(endpoint) {
45
+ return {
46
+ commandClass: core_1.CommandClasses["Humidity Control Setpoint"],
47
+ property: "supportedSetpointTypes",
48
+ endpoint,
49
+ };
50
+ }
51
+ function getSetpointValueID(endpoint, setpointType) {
52
+ return {
53
+ commandClass: core_1.CommandClasses["Humidity Control Setpoint"],
54
+ endpoint,
55
+ property: "setpoint",
56
+ propertyKey: setpointType,
57
+ };
58
+ }
59
+ function getSetpointScaleValueID(endpoint, setpointType) {
60
+ return {
61
+ commandClass: core_1.CommandClasses["Humidity Control Setpoint"],
62
+ endpoint,
63
+ property: "setpointScale",
64
+ propertyKey: setpointType,
65
+ };
66
+ }
67
+ let HumidityControlSetpointCCAPI = class HumidityControlSetpointCCAPI extends API_1.CCAPI {
68
+ constructor() {
69
+ super(...arguments);
70
+ this[_a] = async ({ property, propertyKey }, value) => {
71
+ if (property !== "setpoint") {
72
+ (0, API_1.throwUnsupportedProperty)(this.ccId, property);
73
+ }
74
+ if (typeof propertyKey !== "number") {
75
+ throw new core_1.ZWaveError(`${core_1.CommandClasses[this.ccId]}: "${property}" must be further specified by a numeric property key`, core_1.ZWaveErrorCodes.Argument_Invalid);
76
+ }
77
+ if (typeof value !== "number") {
78
+ (0, API_1.throwWrongValueType)(this.ccId, property, "number", typeof value);
79
+ }
80
+ const preferredScale = this.endpoint
81
+ .getNodeUnsafe()
82
+ .getValue(getSetpointScaleValueID(this.endpoint.index, propertyKey));
83
+ await this.set(propertyKey, value, preferredScale !== null && preferredScale !== void 0 ? preferredScale : 0);
84
+ if (this.isSinglecast()) {
85
+ // Verify the current value after a delay
86
+ this.schedulePoll({ property, propertyKey });
87
+ }
88
+ };
89
+ this[_b] = async ({ property, propertyKey, }) => {
90
+ var _c;
91
+ switch (property) {
92
+ case "setpoint":
93
+ if (typeof propertyKey !== "number") {
94
+ throw new core_1.ZWaveError(`${core_1.CommandClasses[this.ccId]}: "${property}" must be further specified by a numeric property key`, core_1.ZWaveErrorCodes.Argument_Invalid);
95
+ }
96
+ return (_c = (await this.get(propertyKey))) === null || _c === void 0 ? void 0 : _c.value;
97
+ default:
98
+ (0, API_1.throwUnsupportedProperty)(this.ccId, property);
99
+ }
100
+ };
101
+ }
102
+ supportsCommand(cmd) {
103
+ switch (cmd) {
104
+ case HumidityControlSetpointCommand.Get:
105
+ case HumidityControlSetpointCommand.SupportedGet:
106
+ case HumidityControlSetpointCommand.CapabilitiesGet:
107
+ return this.isSinglecast();
108
+ case HumidityControlSetpointCommand.Set:
109
+ return true; // This is mandatory
110
+ }
111
+ return super.supportsCommand(cmd);
112
+ }
113
+ async get(setpointType) {
114
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Get);
115
+ const cc = new HumidityControlSetpointCCGet(this.driver, {
116
+ nodeId: this.endpoint.nodeId,
117
+ endpoint: this.endpoint.index,
118
+ setpointType,
119
+ });
120
+ const response = await this.driver.sendCommand(cc, this.commandOptions);
121
+ if (!response)
122
+ return;
123
+ return response.type === HumidityControlSetpointType["N/A"]
124
+ ? // not supported
125
+ undefined
126
+ : // supported
127
+ {
128
+ value: response.value,
129
+ scale: response.scale.key,
130
+ };
131
+ }
132
+ async set(setpointType, value, scale) {
133
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.Set);
134
+ const cc = new HumidityControlSetpointCCSet(this.driver, {
135
+ nodeId: this.endpoint.nodeId,
136
+ endpoint: this.endpoint.index,
137
+ setpointType,
138
+ value,
139
+ scale,
140
+ });
141
+ await this.driver.sendCommand(cc, this.commandOptions);
142
+ }
143
+ async getCapabilities(setpointType) {
144
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.CapabilitiesGet);
145
+ const cc = new HumidityControlSetpointCCCapabilitiesGet(this.driver, {
146
+ nodeId: this.endpoint.nodeId,
147
+ endpoint: this.endpoint.index,
148
+ setpointType,
149
+ });
150
+ const response = await this.driver.sendCommand(cc, this.commandOptions);
151
+ if (response) {
152
+ return (0, shared_1.pick)(response, [
153
+ "minValue",
154
+ "maxValue",
155
+ "minValueScale",
156
+ "maxValueScale",
157
+ ]);
158
+ }
159
+ }
160
+ async getSupportedSetpointTypes() {
161
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);
162
+ const cc = new HumidityControlSetpointCCSupportedGet(this.driver, {
163
+ nodeId: this.endpoint.nodeId,
164
+ endpoint: this.endpoint.index,
165
+ });
166
+ const response = await this.driver.sendCommand(cc, this.commandOptions);
167
+ return response === null || response === void 0 ? void 0 : response.supportedSetpointTypes;
168
+ }
169
+ async getSupportedScales(setpointType) {
170
+ this.assertSupportsCommand(HumidityControlSetpointCommand, HumidityControlSetpointCommand.SupportedGet);
171
+ const cc = new HumidityControlSetpointCCScaleSupportedGet(this.driver, {
172
+ nodeId: this.endpoint.nodeId,
173
+ endpoint: this.endpoint.index,
174
+ setpointType,
175
+ });
176
+ const response = await this.driver.sendCommand(cc, this.commandOptions);
177
+ return response === null || response === void 0 ? void 0 : response.supportedScales;
178
+ }
179
+ };
180
+ _a = API_1.SET_VALUE, _b = API_1.POLL_VALUE;
181
+ HumidityControlSetpointCCAPI = __decorate([
182
+ (0, CommandClass_1.API)(core_1.CommandClasses["Humidity Control Setpoint"])
183
+ ], HumidityControlSetpointCCAPI);
184
+ exports.HumidityControlSetpointCCAPI = HumidityControlSetpointCCAPI;
185
+ let HumidityControlSetpointCC = class HumidityControlSetpointCC extends CommandClass_1.CommandClass {
186
+ translatePropertyKey(property, propertyKey) {
187
+ if (property === "setpoint") {
188
+ return (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, propertyKey);
189
+ }
190
+ else {
191
+ return super.translatePropertyKey(property, propertyKey);
192
+ }
193
+ }
194
+ async interview() {
195
+ const node = this.getNode();
196
+ const endpoint = this.getEndpoint();
197
+ const api = endpoint.commandClasses["Humidity Control Setpoint"].withOptions({
198
+ priority: Constants_1.MessagePriority.NodeQuery,
199
+ });
200
+ this.driver.controllerLog.logNode(node.id, {
201
+ endpoint: this.endpointIndex,
202
+ message: `Interviewing ${this.ccName}...`,
203
+ direction: "none",
204
+ });
205
+ // Query the supported setpoint types
206
+ let setpointTypes = [];
207
+ this.driver.controllerLog.logNode(node.id, {
208
+ endpoint: this.endpointIndex,
209
+ message: "retrieving supported setpoint types...",
210
+ direction: "outbound",
211
+ });
212
+ const resp = await api.getSupportedSetpointTypes();
213
+ if (resp) {
214
+ setpointTypes = [...resp];
215
+ const logMessage = "received supported setpoint types:\n" +
216
+ setpointTypes
217
+ .map((type) => (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, type))
218
+ .map((name) => `· ${name}`)
219
+ .join("\n");
220
+ this.driver.controllerLog.logNode(node.id, {
221
+ endpoint: this.endpointIndex,
222
+ message: logMessage,
223
+ direction: "inbound",
224
+ });
225
+ }
226
+ else {
227
+ this.driver.controllerLog.logNode(node.id, {
228
+ endpoint: this.endpointIndex,
229
+ message: "Querying supported setpoint types timed out, skipping interview...",
230
+ level: "warn",
231
+ });
232
+ return;
233
+ }
234
+ for (const type of setpointTypes) {
235
+ const setpointName = (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, type);
236
+ // Find out the capabilities of this setpoint
237
+ this.driver.controllerLog.logNode(node.id, {
238
+ endpoint: this.endpointIndex,
239
+ message: `retrieving capabilities for setpoint ${setpointName}...`,
240
+ direction: "outbound",
241
+ });
242
+ const setpointScaleSupported = await api.getSupportedScales(type);
243
+ if (setpointScaleSupported) {
244
+ const logMessage = `received supported scales for setpoint ${setpointName}:
245
+ ${setpointScaleSupported
246
+ .map((t) => `\n· ${t.key} ${t.unit} - ${t.label}`)
247
+ .join("")}`;
248
+ this.driver.controllerLog.logNode(node.id, {
249
+ endpoint: this.endpointIndex,
250
+ message: logMessage,
251
+ direction: "inbound",
252
+ });
253
+ const scaleValueId = getSetpointScaleValueID(this.endpointIndex, type);
254
+ const states = {};
255
+ for (const scale of setpointScaleSupported) {
256
+ if (scale.unit)
257
+ states[scale.key] = scale.unit;
258
+ }
259
+ this.getValueDB().setMetadata(scaleValueId, {
260
+ ...core_1.ValueMetadata.ReadOnlyUInt8,
261
+ states: states,
262
+ });
263
+ }
264
+ const setpointCaps = await api.getCapabilities(type);
265
+ if (setpointCaps) {
266
+ const minValueUnit = getSetpointUnit(this.driver.configManager, setpointCaps.minValueScale);
267
+ const maxValueUnit = getSetpointUnit(this.driver.configManager, setpointCaps.maxValueScale);
268
+ const logMessage = `received capabilities for setpoint ${setpointName}:
269
+ minimum value: ${setpointCaps.minValue} ${minValueUnit}
270
+ maximum value: ${setpointCaps.maxValue} ${maxValueUnit}`;
271
+ this.driver.controllerLog.logNode(node.id, {
272
+ endpoint: this.endpointIndex,
273
+ message: logMessage,
274
+ direction: "inbound",
275
+ });
276
+ }
277
+ }
278
+ // Query the current value for all setpoint types
279
+ await this.refreshValues();
280
+ // Remember that the interview is complete
281
+ this.interviewComplete = true;
282
+ }
283
+ async refreshValues() {
284
+ var _c, _d;
285
+ const node = this.getNode();
286
+ const endpoint = this.getEndpoint();
287
+ const api = endpoint.commandClasses["Humidity Control Setpoint"].withOptions({
288
+ priority: Constants_1.MessagePriority.NodeQuery,
289
+ });
290
+ const setpointTypes = (_c = this.getValueDB().getValue(getSupportedSetpointTypesValueID(this.endpointIndex))) !== null && _c !== void 0 ? _c : [];
291
+ // Query each setpoint's current value
292
+ for (const type of setpointTypes) {
293
+ const setpointName = (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, type);
294
+ // Every time, query the current value
295
+ this.driver.controllerLog.logNode(node.id, {
296
+ endpoint: this.endpointIndex,
297
+ message: `querying current value of setpoint ${setpointName}...`,
298
+ direction: "outbound",
299
+ });
300
+ const setpoint = await api.get(type);
301
+ if (setpoint) {
302
+ const logMessage = `received current value of setpoint ${setpointName}: ${setpoint.value} ${(_d = getScale(this.driver.configManager, setpoint.scale).unit) !== null && _d !== void 0 ? _d : ""}`;
303
+ this.driver.controllerLog.logNode(node.id, {
304
+ endpoint: this.endpointIndex,
305
+ message: logMessage,
306
+ direction: "inbound",
307
+ });
308
+ }
309
+ }
310
+ }
311
+ };
312
+ HumidityControlSetpointCC = __decorate([
313
+ (0, CommandClass_1.commandClass)(core_1.CommandClasses["Humidity Control Setpoint"]),
314
+ (0, CommandClass_1.implementedVersion)(2)
315
+ ], HumidityControlSetpointCC);
316
+ exports.HumidityControlSetpointCC = HumidityControlSetpointCC;
317
+ let HumidityControlSetpointCCSet = class HumidityControlSetpointCCSet extends HumidityControlSetpointCC {
318
+ constructor(driver, options) {
319
+ super(driver, options);
320
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
321
+ // TODO: Deserialize payload
322
+ throw new core_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, core_1.ZWaveErrorCodes.Deserialization_NotImplemented);
323
+ }
324
+ else {
325
+ this.setpointType = options.setpointType;
326
+ this.value = options.value;
327
+ this.scale = options.scale;
328
+ }
329
+ }
330
+ serialize() {
331
+ this.payload = Buffer.concat([
332
+ Buffer.from([this.setpointType & 0b1111]),
333
+ (0, core_1.encodeFloatWithScale)(this.value, this.scale),
334
+ ]);
335
+ return super.serialize();
336
+ }
337
+ toLogEntry() {
338
+ const scale = getScale(this.driver.configManager, this.scale);
339
+ return {
340
+ ...super.toLogEntry(),
341
+ message: {
342
+ "setpoint type": (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, this.setpointType),
343
+ value: `${this.value} ${scale.unit}`,
344
+ },
345
+ };
346
+ }
347
+ };
348
+ HumidityControlSetpointCCSet = __decorate([
349
+ (0, CommandClass_1.CCCommand)(HumidityControlSetpointCommand.Set)
350
+ ], HumidityControlSetpointCCSet);
351
+ exports.HumidityControlSetpointCCSet = HumidityControlSetpointCCSet;
352
+ let HumidityControlSetpointCCReport = class HumidityControlSetpointCCReport extends HumidityControlSetpointCC {
353
+ constructor(driver, options) {
354
+ super(driver, options);
355
+ (0, core_1.validatePayload)(this.payload.length >= 1);
356
+ this._type = this.payload[0] & 0b1111;
357
+ // Setpoint type 0 is not defined in the spec, prevent devices from using it.
358
+ if (this._type === 0) {
359
+ // Not supported
360
+ this._value = 0;
361
+ this._scale = getScale(this.driver.configManager, 0);
362
+ return;
363
+ }
364
+ // parseFloatWithScale does its own validation
365
+ const { value, scale } = (0, core_1.parseFloatWithScale)(this.payload.slice(1));
366
+ this._value = value;
367
+ this._scale = getScale(this.driver.configManager, scale);
368
+ this.persistValues();
369
+ }
370
+ persistValues() {
371
+ var _c;
372
+ const valueDB = this.getValueDB();
373
+ const setpointValueId = getSetpointValueID(this.endpointIndex, this._type);
374
+ // Update the metadata when it is missing or the unit has changed
375
+ if (((_c = valueDB.getMetadata(setpointValueId)) === null || _c === void 0 ? void 0 : _c.unit) !== this._scale.unit) {
376
+ valueDB.setMetadata(setpointValueId, {
377
+ ...core_1.ValueMetadata.Number,
378
+ unit: this._scale.unit,
379
+ ccSpecific: {
380
+ setpointType: this._type,
381
+ },
382
+ });
383
+ }
384
+ valueDB.setValue(setpointValueId, this._value);
385
+ // Remember the device-preferred setpoint scale so it can be used in SET commands
386
+ const scaleValueId = getSetpointScaleValueID(this.endpointIndex, this._type);
387
+ valueDB.setValue(scaleValueId, this._scale.key);
388
+ return true;
389
+ }
390
+ get type() {
391
+ return this._type;
392
+ }
393
+ get scale() {
394
+ return this._scale;
395
+ }
396
+ get value() {
397
+ return this._value;
398
+ }
399
+ toLogEntry() {
400
+ return {
401
+ ...super.toLogEntry(),
402
+ message: {
403
+ "setpoint type": (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, this.type),
404
+ value: `${this.value} ${this.scale.unit}`,
405
+ },
406
+ };
407
+ }
408
+ };
409
+ HumidityControlSetpointCCReport = __decorate([
410
+ (0, CommandClass_1.CCCommand)(HumidityControlSetpointCommand.Report)
411
+ ], HumidityControlSetpointCCReport);
412
+ exports.HumidityControlSetpointCCReport = HumidityControlSetpointCCReport;
413
+ function testResponseForHumidityControlSetpointGet(sent, received) {
414
+ // We expect a Humidity Control Setpoint Report that matches the requested setpoint type
415
+ return received.type === sent.setpointType;
416
+ }
417
+ let HumidityControlSetpointCCGet = class HumidityControlSetpointCCGet extends HumidityControlSetpointCC {
418
+ constructor(driver, options) {
419
+ super(driver, options);
420
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
421
+ // TODO: Deserialize payload
422
+ throw new core_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, core_1.ZWaveErrorCodes.Deserialization_NotImplemented);
423
+ }
424
+ else {
425
+ this.setpointType = options.setpointType;
426
+ }
427
+ }
428
+ serialize() {
429
+ this.payload = Buffer.from([this.setpointType & 0b1111]);
430
+ return super.serialize();
431
+ }
432
+ toLogEntry() {
433
+ return {
434
+ ...super.toLogEntry(),
435
+ message: {
436
+ "setpoint type": (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, this.setpointType),
437
+ },
438
+ };
439
+ }
440
+ };
441
+ HumidityControlSetpointCCGet = __decorate([
442
+ (0, CommandClass_1.CCCommand)(HumidityControlSetpointCommand.Get),
443
+ (0, CommandClass_1.expectedCCResponse)(HumidityControlSetpointCCReport, testResponseForHumidityControlSetpointGet)
444
+ ], HumidityControlSetpointCCGet);
445
+ exports.HumidityControlSetpointCCGet = HumidityControlSetpointCCGet;
446
+ let HumidityControlSetpointCCSupportedReport = class HumidityControlSetpointCCSupportedReport extends HumidityControlSetpointCC {
447
+ constructor(driver, options) {
448
+ super(driver, options);
449
+ (0, core_1.validatePayload)(this.payload.length >= 1);
450
+ this._supportedSetpointTypes = (0, core_1.parseBitMask)(this.payload, HumidityControlSetpointType["N/A"]);
451
+ this.persistValues();
452
+ }
453
+ get supportedSetpointTypes() {
454
+ return this._supportedSetpointTypes;
455
+ }
456
+ toLogEntry() {
457
+ return {
458
+ ...super.toLogEntry(),
459
+ message: {
460
+ "supported setpoint types": this.supportedSetpointTypes
461
+ .map((t) => `\n· ${(0, shared_1.getEnumMemberName)(HumidityControlSetpointType, t)}`)
462
+ .join(""),
463
+ },
464
+ };
465
+ }
466
+ };
467
+ __decorate([
468
+ (0, CommandClass_1.ccValue)({ internal: true })
469
+ ], HumidityControlSetpointCCSupportedReport.prototype, "supportedSetpointTypes", null);
470
+ HumidityControlSetpointCCSupportedReport = __decorate([
471
+ (0, CommandClass_1.CCCommand)(HumidityControlSetpointCommand.SupportedReport)
472
+ ], HumidityControlSetpointCCSupportedReport);
473
+ exports.HumidityControlSetpointCCSupportedReport = HumidityControlSetpointCCSupportedReport;
474
+ let HumidityControlSetpointCCSupportedGet = class HumidityControlSetpointCCSupportedGet extends HumidityControlSetpointCC {
475
+ };
476
+ HumidityControlSetpointCCSupportedGet = __decorate([
477
+ (0, CommandClass_1.CCCommand)(HumidityControlSetpointCommand.SupportedGet),
478
+ (0, CommandClass_1.expectedCCResponse)(HumidityControlSetpointCCSupportedReport)
479
+ ], HumidityControlSetpointCCSupportedGet);
480
+ exports.HumidityControlSetpointCCSupportedGet = HumidityControlSetpointCCSupportedGet;
481
+ let HumidityControlSetpointCCScaleSupportedReport = class HumidityControlSetpointCCScaleSupportedReport extends HumidityControlSetpointCC {
482
+ constructor(driver, options) {
483
+ super(driver, options);
484
+ (0, core_1.validatePayload)(this.payload.length >= 1);
485
+ const supportedScaleIndices = (0, core_1.parseBitMask)(Buffer.from([this.payload[0] & 0b1111]), 0);
486
+ this._supportedScales = supportedScaleIndices.map((scale) => getScale(this.driver.configManager, scale));
487
+ this.persistValues();
488
+ }
489
+ get supportedScales() {
490
+ return this._supportedScales;
491
+ }
492
+ toLogEntry() {
493
+ return {
494
+ ...super.toLogEntry(),
495
+ message: {
496
+ "scale supported": this.supportedScales
497
+ .map((t) => `\n· ${t.key} ${t.unit} - ${t.label}`)
498
+ .join(""),
499
+ },
500
+ };
501
+ }
502
+ };
503
+ HumidityControlSetpointCCScaleSupportedReport = __decorate([
504
+ (0, CommandClass_1.CCCommand)(HumidityControlSetpointCommand.ScaleSupportedReport)
505
+ ], HumidityControlSetpointCCScaleSupportedReport);
506
+ exports.HumidityControlSetpointCCScaleSupportedReport = HumidityControlSetpointCCScaleSupportedReport;
507
+ let HumidityControlSetpointCCScaleSupportedGet = class HumidityControlSetpointCCScaleSupportedGet extends HumidityControlSetpointCC {
508
+ constructor(driver, options) {
509
+ super(driver, options);
510
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
511
+ // TODO: Deserialize payload
512
+ throw new core_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, core_1.ZWaveErrorCodes.Deserialization_NotImplemented);
513
+ }
514
+ else {
515
+ this.setpointType = options.setpointType;
516
+ }
517
+ }
518
+ serialize() {
519
+ this.payload = Buffer.from([this.setpointType & 0b1111]);
520
+ return super.serialize();
521
+ }
522
+ toLogEntry() {
523
+ return {
524
+ ...super.toLogEntry(),
525
+ message: {
526
+ "setpoint type": (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, this.setpointType),
527
+ },
528
+ };
529
+ }
530
+ };
531
+ HumidityControlSetpointCCScaleSupportedGet = __decorate([
532
+ (0, CommandClass_1.CCCommand)(HumidityControlSetpointCommand.ScaleSupportedGet),
533
+ (0, CommandClass_1.expectedCCResponse)(HumidityControlSetpointCCScaleSupportedReport)
534
+ ], HumidityControlSetpointCCScaleSupportedGet);
535
+ exports.HumidityControlSetpointCCScaleSupportedGet = HumidityControlSetpointCCScaleSupportedGet;
536
+ let HumidityControlSetpointCCCapabilitiesReport = class HumidityControlSetpointCCCapabilitiesReport extends HumidityControlSetpointCC {
537
+ constructor(driver, options) {
538
+ super(driver, options);
539
+ (0, core_1.validatePayload)(this.payload.length >= 1);
540
+ this._type = this.payload[0] & 0b1111;
541
+ let bytesRead;
542
+ // parseFloatWithScale does its own validation
543
+ ({
544
+ value: this._minValue,
545
+ scale: this._minValueScale,
546
+ bytesRead,
547
+ } = (0, core_1.parseFloatWithScale)(this.payload.slice(1)));
548
+ ({ value: this._maxValue, scale: this._maxValueScale } =
549
+ (0, core_1.parseFloatWithScale)(this.payload.slice(1 + bytesRead)));
550
+ // Predefine the metadata
551
+ const valueId = getSetpointValueID(this.endpointIndex, this.type);
552
+ this.getValueDB().setMetadata(valueId, {
553
+ ...core_1.ValueMetadata.Number,
554
+ min: this._minValue,
555
+ max: this._maxValue,
556
+ unit: getSetpointUnit(this.driver.configManager, this._minValueScale) ||
557
+ getSetpointUnit(this.driver.configManager, this._maxValueScale),
558
+ ccSpecific: {
559
+ setpointType: this._type,
560
+ },
561
+ });
562
+ this.persistValues();
563
+ }
564
+ get type() {
565
+ return this._type;
566
+ }
567
+ get minValue() {
568
+ return this._minValue;
569
+ }
570
+ get maxValue() {
571
+ return this._maxValue;
572
+ }
573
+ get minValueScale() {
574
+ return this._minValueScale;
575
+ }
576
+ get maxValueScale() {
577
+ return this._maxValueScale;
578
+ }
579
+ toLogEntry() {
580
+ const minValueScale = getScale(this.driver.configManager, this.minValueScale);
581
+ const maxValueScale = getScale(this.driver.configManager, this.maxValueScale);
582
+ return {
583
+ ...super.toLogEntry(),
584
+ message: {
585
+ "setpoint type": (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, this.type),
586
+ "min value": `${this.minValue} ${minValueScale.unit}`,
587
+ "max value": `${this.maxValue} ${maxValueScale.unit}`,
588
+ },
589
+ };
590
+ }
591
+ };
592
+ HumidityControlSetpointCCCapabilitiesReport = __decorate([
593
+ (0, CommandClass_1.CCCommand)(HumidityControlSetpointCommand.CapabilitiesReport)
594
+ ], HumidityControlSetpointCCCapabilitiesReport);
595
+ exports.HumidityControlSetpointCCCapabilitiesReport = HumidityControlSetpointCCCapabilitiesReport;
596
+ let HumidityControlSetpointCCCapabilitiesGet = class HumidityControlSetpointCCCapabilitiesGet extends HumidityControlSetpointCC {
597
+ constructor(driver, options) {
598
+ super(driver, options);
599
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
600
+ // TODO: Deserialize payload
601
+ throw new core_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, core_1.ZWaveErrorCodes.Deserialization_NotImplemented);
602
+ }
603
+ else {
604
+ this.setpointType = options.setpointType;
605
+ }
606
+ }
607
+ serialize() {
608
+ this.payload = Buffer.from([this.setpointType & 0b1111]);
609
+ return super.serialize();
610
+ }
611
+ toLogEntry() {
612
+ return {
613
+ ...super.toLogEntry(),
614
+ message: {
615
+ "setpoint type": (0, shared_1.getEnumMemberName)(HumidityControlSetpointType, this.setpointType),
616
+ },
617
+ };
618
+ }
619
+ };
620
+ HumidityControlSetpointCCCapabilitiesGet = __decorate([
621
+ (0, CommandClass_1.CCCommand)(HumidityControlSetpointCommand.CapabilitiesGet),
622
+ (0, CommandClass_1.expectedCCResponse)(HumidityControlSetpointCCCapabilitiesReport)
623
+ ], HumidityControlSetpointCCCapabilitiesGet);
624
+ exports.HumidityControlSetpointCCCapabilitiesGet = HumidityControlSetpointCCCapabilitiesGet;
625
+ //# sourceMappingURL=HumidityControlSetpointCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HumidityControlSetpointCC.js","sourceRoot":"","sources":["../../../src/lib/commandclass/HumidityControlSetpointCC.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ export declare class MeterCCAPI extends PhysicalCCAPI {
40
40
  protected [POLL_VALUE]: PollValueImplementation;
41
41
  get(options?: MeterCCGetOptions): Promise<Pick<MeterCCReport, "type" | "value" | "scale" | "rateType" | "previousValue" | "deltaTime"> | undefined>;
42
42
  getAll(): Promise<Pick<MeterCCReport, "type" | "value" | "scale" | "rateType" | "previousValue" | "deltaTime">[]>;
43
- getSupported(): Promise<Pick<MeterCCSupportedReport, "type" | "supportsReset" | "supportedScales" | "supportedRateTypes"> | undefined>;
43
+ getSupported(): Promise<Pick<MeterCCSupportedReport, "type" | "supportedScales" | "supportsReset" | "supportedRateTypes"> | undefined>;
44
44
  reset(options: MeterCCResetOptions): Promise<void>;
45
45
  protected [SET_VALUE]: SetValueImplementation;
46
46
  }