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.
- package/build/lib/commandclass/API.d.ts +4 -1
- package/build/lib/commandclass/API.d.ts.map +1 -1
- package/build/lib/commandclass/AssociationCC.d.ts.map +1 -1
- package/build/lib/commandclass/AssociationCC.js +5 -2
- package/build/lib/commandclass/AssociationCC.js.map +1 -1
- package/build/lib/commandclass/HumidityControlModeCC.d.ts +58 -0
- package/build/lib/commandclass/HumidityControlModeCC.d.ts.map +1 -0
- package/build/lib/commandclass/HumidityControlModeCC.js +287 -0
- package/build/lib/commandclass/HumidityControlModeCC.js.map +1 -0
- package/build/lib/commandclass/HumidityControlOperatingStateCC.d.ts +32 -0
- package/build/lib/commandclass/HumidityControlOperatingStateCC.d.ts.map +1 -0
- package/build/lib/commandclass/HumidityControlOperatingStateCC.js +142 -0
- package/build/lib/commandclass/HumidityControlOperatingStateCC.js.map +1 -0
- package/build/lib/commandclass/HumidityControlSetpointCC.d.ts +138 -0
- package/build/lib/commandclass/HumidityControlSetpointCC.d.ts.map +1 -0
- package/build/lib/commandclass/HumidityControlSetpointCC.js +625 -0
- package/build/lib/commandclass/HumidityControlSetpointCC.js.map +1 -0
- package/build/lib/commandclass/MeterCC.d.ts +1 -1
- package/build/lib/commandclass/index.d.ts +4 -0
- package/build/lib/commandclass/index.d.ts.map +1 -1
- package/build/lib/commandclass/index.js +28 -6
- package/build/lib/commandclass/index.js.map +1 -1
- package/package.json +9 -9
|
@@ -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" | "
|
|
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
|
}
|