@zwave-js/config 12.5.6 → 12.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/DeviceClasses.d.ts +0 -5
- package/build/DeviceClasses.d.ts.map +1 -1
- package/build/DeviceClasses.js +12 -94
- package/build/DeviceClasses.js.map +1 -1
- package/config/deviceClasses.json +67 -555
- package/config/devices/0x0008/wdtc-20.json +31 -0
- package/config/devices/0x000c/hs-wd100.json +0 -10
- package/config/devices/0x0039/39358_39465_zw4002.json +1 -9
- package/config/devices/0x0063/10974_zw4002.json +0 -10
- package/config/devices/0x0063/12730_zw4002.json +1 -9
- package/config/devices/0x0063/14287_zw4002.json +1 -9
- package/config/devices/0x0063/14314_zw4002.json +1 -9
- package/config/devices/0x0063/45743_zw4002.json +1 -9
- package/config/devices/0x0063/55258_zw4002.json +1 -9
- package/config/devices/0x0063/55259_zw4002.json +1 -9
- package/config/devices/0x0184/wd-100.json +0 -10
- package/config/devices/0x0267/1000x080-xxx-700.json +1 -11
- package/config/devices/0x0315/wd-100.json +1 -11
- package/config/devices/0x0371/zwa024.json +4 -0
- package/config/devices/0x0438/4512757.json +7 -0
- package/package.json +3 -3
package/build/DeviceClasses.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CommandClasses } from "@zwave-js/core/safe";
|
|
2
1
|
import { type JSONObject } from "@zwave-js/shared/safe";
|
|
3
2
|
export type BasicDeviceClassMap = ReadonlyMap<number, string>;
|
|
4
3
|
export type GenericDeviceClassMap = ReadonlyMap<number, GenericDeviceClass>;
|
|
@@ -13,8 +12,6 @@ export declare class GenericDeviceClass {
|
|
|
13
12
|
readonly key: number;
|
|
14
13
|
readonly label: string;
|
|
15
14
|
readonly requiresSecurity?: boolean;
|
|
16
|
-
readonly supportedCCs: readonly CommandClasses[];
|
|
17
|
-
readonly controlledCCs: readonly CommandClasses[];
|
|
18
15
|
readonly maySupportBasicCC: boolean;
|
|
19
16
|
readonly specific: ReadonlyMap<number, SpecificDeviceClass>;
|
|
20
17
|
}
|
|
@@ -24,8 +21,6 @@ export declare class SpecificDeviceClass {
|
|
|
24
21
|
readonly label: string;
|
|
25
22
|
readonly zwavePlusDeviceType?: string;
|
|
26
23
|
readonly requiresSecurity?: boolean;
|
|
27
|
-
readonly supportedCCs: readonly CommandClasses[];
|
|
28
|
-
readonly controlledCCs: readonly CommandClasses[];
|
|
29
24
|
readonly maySupportBasicCC: boolean;
|
|
30
25
|
}
|
|
31
26
|
//# sourceMappingURL=DeviceClasses.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceClasses.d.ts","sourceRoot":"","sources":["../src/DeviceClasses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DeviceClasses.d.ts","sourceRoot":"","sources":["../src/DeviceClasses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAW,MAAM,uBAAuB,CAAC;AAIjE,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE5E,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAI5E;AAED,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,GAAG,EAAE,MAAM,GACT,mBAAmB,CAiBrB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,kBAAkB;gBACX,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IA2FtD,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAG9B,SAAgB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3C,SAAgB,iBAAiB,EAAE,OAAO,CAAC;IAC3C,SAAgB,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACnE;AAED,qBAAa,mBAAmB;gBAE9B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,kBAAkB;IA8D5B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7C,SAAgB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3C,SAAgB,iBAAiB,EAAE,OAAO,CAAC;CAC3C"}
|
package/build/DeviceClasses.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SpecificDeviceClass = exports.GenericDeviceClass = exports.getDefaultSpecificDeviceClass = exports.getDefaultGenericDeviceClass = void 0;
|
|
4
|
-
const safe_1 = require("@zwave-js/
|
|
5
|
-
const safe_2 = require("@zwave-js/shared/safe");
|
|
6
|
-
const arrays_1 = require("alcalzone-shared/arrays");
|
|
4
|
+
const safe_1 = require("@zwave-js/shared/safe");
|
|
7
5
|
const typeguards_1 = require("alcalzone-shared/typeguards");
|
|
8
6
|
const utils_safe_1 = require("./utils_safe");
|
|
9
7
|
function getDefaultGenericDeviceClass(key) {
|
|
10
8
|
return new GenericDeviceClass(key, {
|
|
11
|
-
label: `UNKNOWN (${(0,
|
|
9
|
+
label: `UNKNOWN (${(0, safe_1.num2hex)(key)})`,
|
|
12
10
|
});
|
|
13
11
|
}
|
|
14
12
|
exports.getDefaultGenericDeviceClass = getDefaultGenericDeviceClass;
|
|
@@ -19,7 +17,7 @@ function getDefaultSpecificDeviceClass(generic, key) {
|
|
|
19
17
|
}, generic);
|
|
20
18
|
}
|
|
21
19
|
return new SpecificDeviceClass(key, {
|
|
22
|
-
label: `UNKNOWN (${(0,
|
|
20
|
+
label: `UNKNOWN (${(0, safe_1.num2hex)(key)})`,
|
|
23
21
|
}, generic);
|
|
24
22
|
}
|
|
25
23
|
exports.getDefaultSpecificDeviceClass = getDefaultSpecificDeviceClass;
|
|
@@ -27,12 +25,12 @@ class GenericDeviceClass {
|
|
|
27
25
|
constructor(key, definition) {
|
|
28
26
|
this.key = key;
|
|
29
27
|
if (typeof definition.label !== "string") {
|
|
30
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `The label for generic device class ${(0,
|
|
28
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The label for generic device class ${(0, safe_1.num2hex)(key)} is not a string!`);
|
|
31
29
|
}
|
|
32
30
|
this.label = definition.label;
|
|
33
31
|
if (definition.zwavePlusDeviceType != undefined) {
|
|
34
32
|
if (typeof definition.zwavePlusDeviceType !== "string") {
|
|
35
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `The zwavePlusDeviceType for generic device class ${(0,
|
|
33
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The zwavePlusDeviceType for generic device class ${(0, safe_1.num2hex)(key)} is not a string!`);
|
|
36
34
|
}
|
|
37
35
|
else {
|
|
38
36
|
this.zwavePlusDeviceType = definition.zwavePlusDeviceType;
|
|
@@ -40,49 +38,15 @@ class GenericDeviceClass {
|
|
|
40
38
|
}
|
|
41
39
|
if (definition.requiresSecurity != undefined) {
|
|
42
40
|
if (typeof definition.requiresSecurity !== "boolean") {
|
|
43
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `The requiresSecurity property for generic device class ${(0,
|
|
41
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The requiresSecurity property for generic device class ${(0, safe_1.num2hex)(key)} is not a boolean!`);
|
|
44
42
|
}
|
|
45
43
|
else {
|
|
46
44
|
this.requiresSecurity = definition.requiresSecurity;
|
|
47
45
|
}
|
|
48
46
|
}
|
|
49
|
-
if (definition.supportedCCs != undefined) {
|
|
50
|
-
if (!(0, typeguards_1.isArray)(definition.supportedCCs)
|
|
51
|
-
|| !definition.supportedCCs.every((cc) => typeof cc === "string")) {
|
|
52
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `supportedCCs in device class ${this.label} (${(0, safe_2.num2hex)(this.key)}) is not a string array!`);
|
|
53
|
-
}
|
|
54
|
-
const supportedCCs = [];
|
|
55
|
-
for (const ccName of definition.supportedCCs) {
|
|
56
|
-
if (!(ccName in safe_1.CommandClasses)) {
|
|
57
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in supportedCCs of device class ${this.label} (${(0, safe_2.num2hex)(this.key)})!`);
|
|
58
|
-
}
|
|
59
|
-
supportedCCs.push(safe_1.CommandClasses[ccName]);
|
|
60
|
-
}
|
|
61
|
-
this.supportedCCs = supportedCCs;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
this.supportedCCs = [];
|
|
65
|
-
}
|
|
66
|
-
if (definition.controlledCCs != undefined) {
|
|
67
|
-
if (!(0, typeguards_1.isArray)(definition.controlledCCs)
|
|
68
|
-
|| !definition.controlledCCs.every((cc) => typeof cc === "string")) {
|
|
69
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `controlledCCs in device class ${this.label} (${(0, safe_2.num2hex)(this.key)}) is not a string array!`);
|
|
70
|
-
}
|
|
71
|
-
const controlledCCs = [];
|
|
72
|
-
for (const ccName of definition.controlledCCs) {
|
|
73
|
-
if (!(ccName in safe_1.CommandClasses)) {
|
|
74
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in controlledCCs of device class ${this.label} (${(0, safe_2.num2hex)(this.key)})!`);
|
|
75
|
-
}
|
|
76
|
-
controlledCCs.push(safe_1.CommandClasses[ccName]);
|
|
77
|
-
}
|
|
78
|
-
this.controlledCCs = controlledCCs;
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
this.controlledCCs = [];
|
|
82
|
-
}
|
|
83
47
|
if (definition.maySupportBasicCC != undefined) {
|
|
84
48
|
if (definition.maySupportBasicCC !== false) {
|
|
85
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `maySupportBasicCC in device class ${this.label} (${(0,
|
|
49
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `maySupportBasicCC in device class ${this.label} (${(0, safe_1.num2hex)(this.key)}) must be false or omitted (= true)!`);
|
|
86
50
|
}
|
|
87
51
|
else {
|
|
88
52
|
this.maySupportBasicCC = false;
|
|
@@ -95,7 +59,7 @@ class GenericDeviceClass {
|
|
|
95
59
|
if ((0, typeguards_1.isObject)(definition.specific)) {
|
|
96
60
|
for (const [specificKey, specificDefinition] of Object.entries(definition.specific)) {
|
|
97
61
|
if (!utils_safe_1.hexKeyRegexNDigits.test(specificKey)) {
|
|
98
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `found invalid key "${specificKey}" in device class ${this.label} (${(0,
|
|
62
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `found invalid key "${specificKey}" in device class ${this.label} (${(0, safe_1.num2hex)(this.key)}). Device classes must have lowercase hexadecimal IDs.`);
|
|
99
63
|
}
|
|
100
64
|
const specificKeyNum = parseInt(specificKey.slice(2), 16);
|
|
101
65
|
specific.set(specificKeyNum, new SpecificDeviceClass(specificKeyNum, specificDefinition, this));
|
|
@@ -108,8 +72,6 @@ class GenericDeviceClass {
|
|
|
108
72
|
/** @internal */
|
|
109
73
|
zwavePlusDeviceType;
|
|
110
74
|
requiresSecurity;
|
|
111
|
-
supportedCCs;
|
|
112
|
-
controlledCCs;
|
|
113
75
|
maySupportBasicCC;
|
|
114
76
|
specific;
|
|
115
77
|
}
|
|
@@ -118,12 +80,12 @@ class SpecificDeviceClass {
|
|
|
118
80
|
constructor(key, definition, generic) {
|
|
119
81
|
this.key = key;
|
|
120
82
|
if (typeof definition.label !== "string") {
|
|
121
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `The label for device class ${generic.label} -> ${(0,
|
|
83
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The label for device class ${generic.label} -> ${(0, safe_1.num2hex)(key)} is not a string!`);
|
|
122
84
|
}
|
|
123
85
|
this.label = definition.label;
|
|
124
86
|
if (definition.zwavePlusDeviceType != undefined) {
|
|
125
87
|
if (typeof definition.zwavePlusDeviceType !== "string") {
|
|
126
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `The zwavePlusDeviceType for device class ${generic.label} -> ${(0,
|
|
88
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The zwavePlusDeviceType for device class ${generic.label} -> ${(0, safe_1.num2hex)(key)} is not a string!`);
|
|
127
89
|
}
|
|
128
90
|
else {
|
|
129
91
|
this.zwavePlusDeviceType = definition.zwavePlusDeviceType;
|
|
@@ -134,7 +96,7 @@ class SpecificDeviceClass {
|
|
|
134
96
|
}
|
|
135
97
|
if (definition.requiresSecurity != undefined) {
|
|
136
98
|
if (typeof definition.requiresSecurity !== "boolean") {
|
|
137
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `The requiresSecurity property for device class ${generic.label} -> ${(0,
|
|
99
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The requiresSecurity property for device class ${generic.label} -> ${(0, safe_1.num2hex)(key)} is not a string!`);
|
|
138
100
|
}
|
|
139
101
|
else {
|
|
140
102
|
this.requiresSecurity = definition.requiresSecurity;
|
|
@@ -143,51 +105,9 @@ class SpecificDeviceClass {
|
|
|
143
105
|
else if (generic.requiresSecurity != undefined) {
|
|
144
106
|
this.requiresSecurity = generic.requiresSecurity;
|
|
145
107
|
}
|
|
146
|
-
if (definition.supportedCCs != undefined) {
|
|
147
|
-
if (!(0, typeguards_1.isArray)(definition.supportedCCs)
|
|
148
|
-
|| !definition.supportedCCs.every((cc) => typeof cc === "string")) {
|
|
149
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `supportedCCs in device class ${generic.label} -> ${this.label} (${(0, safe_2.num2hex)(this.key)}) is not a string array!`);
|
|
150
|
-
}
|
|
151
|
-
const supportedCCs = [];
|
|
152
|
-
for (const ccName of definition.supportedCCs) {
|
|
153
|
-
if (!(ccName in safe_1.CommandClasses)) {
|
|
154
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in supportedCCs of device class ${generic.label} -> ${this.label} (${(0, safe_2.num2hex)(this.key)})!`);
|
|
155
|
-
}
|
|
156
|
-
supportedCCs.push(safe_1.CommandClasses[ccName]);
|
|
157
|
-
}
|
|
158
|
-
this.supportedCCs = supportedCCs;
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
this.supportedCCs = [];
|
|
162
|
-
}
|
|
163
|
-
this.supportedCCs = (0, arrays_1.distinct)([
|
|
164
|
-
...generic.supportedCCs,
|
|
165
|
-
...this.supportedCCs,
|
|
166
|
-
]);
|
|
167
|
-
if (definition.controlledCCs != undefined) {
|
|
168
|
-
if (!(0, typeguards_1.isArray)(definition.controlledCCs)
|
|
169
|
-
|| !definition.controlledCCs.every((cc) => typeof cc === "string")) {
|
|
170
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `controlledCCs in device class ${generic.label} -> ${this.label} (${(0, safe_2.num2hex)(this.key)}) is not a string array!`);
|
|
171
|
-
}
|
|
172
|
-
const controlledCCs = [];
|
|
173
|
-
for (const ccName of definition.controlledCCs) {
|
|
174
|
-
if (!(ccName in safe_1.CommandClasses)) {
|
|
175
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in controlledCCs of device class ${generic.label} -> ${this.label} (${(0, safe_2.num2hex)(this.key)})!`);
|
|
176
|
-
}
|
|
177
|
-
controlledCCs.push(safe_1.CommandClasses[ccName]);
|
|
178
|
-
}
|
|
179
|
-
this.controlledCCs = controlledCCs;
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
this.controlledCCs = [];
|
|
183
|
-
}
|
|
184
|
-
this.controlledCCs = (0, arrays_1.distinct)([
|
|
185
|
-
...generic.controlledCCs,
|
|
186
|
-
...this.controlledCCs,
|
|
187
|
-
]);
|
|
188
108
|
if (definition.maySupportBasicCC != undefined) {
|
|
189
109
|
if (definition.maySupportBasicCC !== false) {
|
|
190
|
-
(0, utils_safe_1.throwInvalidConfig)("device classes", `maySupportBasicCC in device class ${generic.label} -> ${this.label} (${(0,
|
|
110
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `maySupportBasicCC in device class ${generic.label} -> ${this.label} (${(0, safe_1.num2hex)(this.key)}) must be false or omitted (= true)!`);
|
|
191
111
|
}
|
|
192
112
|
else {
|
|
193
113
|
this.maySupportBasicCC = false;
|
|
@@ -201,8 +121,6 @@ class SpecificDeviceClass {
|
|
|
201
121
|
label;
|
|
202
122
|
zwavePlusDeviceType;
|
|
203
123
|
requiresSecurity;
|
|
204
|
-
supportedCCs;
|
|
205
|
-
controlledCCs;
|
|
206
124
|
maySupportBasicCC;
|
|
207
125
|
}
|
|
208
126
|
exports.SpecificDeviceClass = SpecificDeviceClass;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceClasses.js","sourceRoot":"","sources":["../src/DeviceClasses.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"DeviceClasses.js","sourceRoot":"","sources":["../src/DeviceClasses.ts"],"names":[],"mappings":"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"}
|