zwave-js 11.10.0 → 11.11.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/bin/mock-server.js +102 -10
- package/build/lib/controller/Controller.d.ts +3 -0
- package/build/lib/controller/Controller.d.ts.map +1 -1
- package/build/lib/controller/Controller.js +122 -70
- package/build/lib/controller/Controller.js.map +1 -1
- package/build/lib/controller/FirmwareUpdateService.d.ts.map +1 -1
- package/build/lib/controller/FirmwareUpdateService.js +3 -1
- package/build/lib/controller/FirmwareUpdateService.js.map +1 -1
- package/build/lib/driver/Driver.d.ts.map +1 -1
- package/build/lib/driver/Driver.js +31 -13
- package/build/lib/driver/Driver.js.map +1 -1
- package/build/lib/driver/NetworkCache.d.ts +2 -0
- package/build/lib/driver/NetworkCache.d.ts.map +1 -1
- package/build/lib/driver/NetworkCache.js +2 -0
- package/build/lib/driver/NetworkCache.js.map +1 -1
- package/build/lib/driver/ZWaveOptions.d.ts +18 -1
- package/build/lib/driver/ZWaveOptions.d.ts.map +1 -1
- package/build/lib/node/Node.d.ts +13 -1
- package/build/lib/node/Node.d.ts.map +1 -1
- package/build/lib/node/Node.js +56 -0
- package/build/lib/node/Node.js.map +1 -1
- package/package.json +6 -6
package/bin/mock-server.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// @ts-check
|
|
2
|
-
const { MockServer } = require("../build/
|
|
3
|
-
const { readFileSync } = require("fs");
|
|
2
|
+
const { MockServer } = require("../build/mockServer");
|
|
3
|
+
const { readFileSync, statSync, readdirSync } = require("fs");
|
|
4
4
|
const path = require("path");
|
|
5
5
|
|
|
6
6
|
const args = process.argv.slice(2);
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
/** @returns {never} */
|
|
9
|
+
function printUsage() {
|
|
9
10
|
// Print a help text explaining the usage of this script and mention the options it supports
|
|
10
11
|
console.log(`
|
|
11
12
|
Usage: node ${path.basename(__filename)} [options]
|
|
@@ -14,26 +15,117 @@ Options:
|
|
|
14
15
|
-h, --help Displays this help
|
|
15
16
|
-i, --interface The network interface to bind to. Default: all interfaces
|
|
16
17
|
-p, --port The port to bind to. Default: 5555
|
|
17
|
-
-c, --config Path to a config file
|
|
18
|
+
-c, --config Path to a single config file, or a directory with config
|
|
19
|
+
files. Config files have extension .js or .json and define
|
|
20
|
+
the mock(s)
|
|
18
21
|
|
|
19
22
|
`);
|
|
20
|
-
process.exit(0);
|
|
23
|
+
throw process.exit(0);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (args.includes("--help") || args.includes("-h")) {
|
|
27
|
+
throw printUsage();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** @param {{filename: string; config: Record<string, any>}[]} files */
|
|
31
|
+
function mergeConfigFiles(files) {
|
|
32
|
+
// Make sure that only one of the files defines the controller behavior
|
|
33
|
+
const filesWithControllerMock = files.filter((f) => !!f.config.controller);
|
|
34
|
+
if (filesWithControllerMock.length > 1) {
|
|
35
|
+
console.error(`
|
|
36
|
+
Only one of the config files may define the controller behavior, but the following files do:
|
|
37
|
+
${filesWithControllerMock.map((f) => `- ${f.filename}\n`).join()}
|
|
38
|
+
`);
|
|
39
|
+
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Remember the whole config file for each node, so we can give an error message when a node ID is duplicated
|
|
44
|
+
const nodeConfigFiles = new Map();
|
|
45
|
+
for (const file of files) {
|
|
46
|
+
if (!file.config.nodes) continue;
|
|
47
|
+
for (const nodeConfig of file.config.nodes) {
|
|
48
|
+
if (!nodeConfigFiles.has(nodeConfig.id)) {
|
|
49
|
+
nodeConfigFiles.set(nodeConfig.id, file);
|
|
50
|
+
} else {
|
|
51
|
+
console.error(`
|
|
52
|
+
Each node ID may only be used once in mock configs. Node ID ${
|
|
53
|
+
nodeConfig.id
|
|
54
|
+
} is duplicated in the following files:
|
|
55
|
+
- ${nodeConfigFiles.get(nodeConfig.id).filename}
|
|
56
|
+
- ${file.filename}
|
|
57
|
+
`);
|
|
58
|
+
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const mergedConfig = {};
|
|
65
|
+
if (filesWithControllerMock.length) {
|
|
66
|
+
mergedConfig.controller = filesWithControllerMock[0].config.controller;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
for (const [nodeId, file] of nodeConfigFiles) {
|
|
70
|
+
mergedConfig.nodes ??= [];
|
|
71
|
+
mergedConfig.nodes.push(file.config.nodes.find((n) => n.id === nodeId));
|
|
72
|
+
}
|
|
73
|
+
mergedConfig.nodes?.sort((a, b) => a.id - b.id);
|
|
74
|
+
|
|
75
|
+
return mergedConfig;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @param {string} filename
|
|
80
|
+
*/
|
|
81
|
+
function getConfig(filename) {
|
|
82
|
+
if (filename.endsWith(".js")) {
|
|
83
|
+
return require(filename).default;
|
|
84
|
+
} else if (filename.endsWith(".json")) {
|
|
85
|
+
// TODO: JSON5 support
|
|
86
|
+
return JSON.parse(readFileSync(filename, "utf8"));
|
|
87
|
+
}
|
|
21
88
|
}
|
|
22
89
|
|
|
23
90
|
// Parse config
|
|
24
91
|
const configIndex = args.findIndex((arg) => arg === "--config" || arg === "-c");
|
|
25
92
|
const configPath = configIndex === -1 ? undefined : args[configIndex + 1];
|
|
93
|
+
if (configIndex !== -1 && !configPath) {
|
|
94
|
+
throw printUsage();
|
|
95
|
+
}
|
|
96
|
+
|
|
26
97
|
let config;
|
|
27
98
|
if (configPath) {
|
|
28
99
|
const absolutePath = path.isAbsolute(configPath)
|
|
29
100
|
? configPath
|
|
30
101
|
: path.join(process.cwd(), configPath);
|
|
31
102
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
|
|
103
|
+
const isDir = statSync(absolutePath).isDirectory();
|
|
104
|
+
|
|
105
|
+
if (isDir) {
|
|
106
|
+
// Read all .js and .json files from the directory and merge them
|
|
107
|
+
const files = readdirSync(absolutePath)
|
|
108
|
+
.filter(
|
|
109
|
+
(filename) =>
|
|
110
|
+
filename.endsWith(".js") || filename.endsWith(".json"),
|
|
111
|
+
)
|
|
112
|
+
.map((filename) => {
|
|
113
|
+
const fullPath = path.join(absolutePath, filename);
|
|
114
|
+
return {
|
|
115
|
+
filename: fullPath,
|
|
116
|
+
config: getConfig(fullPath),
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
if (!files.length) {
|
|
120
|
+
console.error(`
|
|
121
|
+
No config files found in ${absolutePath}
|
|
122
|
+
`);
|
|
123
|
+
process.exit(1);
|
|
124
|
+
}
|
|
125
|
+
config = mergeConfigFiles(files);
|
|
126
|
+
} else {
|
|
127
|
+
// This is a single config file, just load it
|
|
128
|
+
config = getConfig(absolutePath);
|
|
37
129
|
}
|
|
38
130
|
}
|
|
39
131
|
|
|
@@ -436,12 +436,15 @@ export declare class ZWaveController extends TypedEventEmitter<ControllerEventCa
|
|
|
436
436
|
replaceFailedNode(nodeId: number, options?: ReplaceNodeOptions): Promise<boolean>;
|
|
437
437
|
/** Configure the RF region at the Z-Wave API Module */
|
|
438
438
|
setRFRegion(region: RFRegion): Promise<boolean>;
|
|
439
|
+
/** Configure the RF region at the Z-Wave API Module */
|
|
440
|
+
private setRFRegionInternal;
|
|
439
441
|
/** Request the current RF region configured at the Z-Wave API Module */
|
|
440
442
|
getRFRegion(): Promise<RFRegion>;
|
|
441
443
|
/** Configure the Powerlevel setting of the Z-Wave API */
|
|
442
444
|
setPowerlevel(powerlevel: number, measured0dBm: number): Promise<boolean>;
|
|
443
445
|
/** Request the Powerlevel setting of the Z-Wave API */
|
|
444
446
|
getPowerlevel(): Promise<Pick<SerialAPISetup_GetPowerlevelResponse, "powerlevel" | "measured0dBm">>;
|
|
447
|
+
trySetNodeIDType(nodeIdType: NodeIDType): Promise<boolean>;
|
|
445
448
|
/**
|
|
446
449
|
* Instructs a node to (re-)discover its neighbors.
|
|
447
450
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/Controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/Controller.ts"],"names":[],"mappings":";AAAA,OAAO,EAQN,WAAW,EAmBX,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAMN,UAAU,EACV,QAAQ,EAER,QAAQ,EACR,SAAS,EAIT,OAAO,EAmBP,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,IAAI,EACT,KAAK,KAAK,EAEV,KAAK,aAAa,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAEN,YAAY,EAKZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEN,iBAAiB,EAOjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAExB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAGN,KAAK,cAAc,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiC9E,OAAO,EACN,qBAAqB,EAgBrB,KAAK,oCAAoC,EAQzC,MAAM,gDAAgD,CAAC;AAyHxD,OAAO,EAIN,KAAK,KAAK,EACV,MAAM,mCAAmC,CAAC;AAU3C,OAAO,EACN,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;AAK9D,OAAO,EAEN,cAAc,EACd,iBAAiB,EAEjB,gBAAgB,EAEhB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,gBAAgB,EAErB,KAAK,eAAe,EAEpB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAEN,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,MAAM,UAAU,CAAC;AAUlB,UAAU,wBACT,SAAQ,wBAAwB,CAAC,oBAAoB,CAAC;IACtD,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5E,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACjE,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpE,uBAAuB,EAAE,CACxB,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,KACzC,IAAI,CAAC;IACV,mBAAmB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3E,0BAA0B,EAAE,CAC3B,QAAQ,EAAE,gCAAgC,KACtC,IAAI,CAAC;IACV,0BAA0B,EAAE,CAC3B,MAAM,EAAE,8BAA8B,KAClC,IAAI,CAAC;IACV,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,wBAAwB,EAAE,MAAM,CAAC,CAAC;AAG/E,MAAM,WAAW,eAAgB,SAAQ,wBAAwB;CAAG;AAEpE,qBACa,eAAgB,SAAQ,iBAAiB,CAAC,wBAAwB,CAAC;IAG9E,OAAO,CAAC,QAAQ,CAAC,MAAM;IA+BxB,OAAO,CAAC,KAAK,CAAmC;IAChD,IAAW,IAAI,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAElD;IAED,OAAO,CAAC,gBAAgB,CAAwB;IAChD,IAAW,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,CAElD;IAED,OAAO,CAAC,WAAW,CAAwB;IAC3C,IAAW,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,CAE7C;IAED,OAAO,CAAC,gBAAgB,CAAiC;IACzD,IAAW,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,CAE3D;IAED,OAAO,CAAC,cAAc,CAA+C;IACrE,IAAW,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAEvE;IAED,OAAO,CAAC,OAAO,CAAwB;IACvC,qDAAqD;IACrD,IAAW,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAEzC;IAED,OAAO,CAAC,UAAU,CAAwB;IAC1C,sDAAsD;IACtD,IAAW,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,CAE5C;IAED,OAAO,CAAC,UAAU,CAAyB;IAC3C,IAAW,SAAS,IAAI,aAAa,CAAC,OAAO,CAAC,CAE7C;IAED,OAAO,CAAC,8BAA8B,CAAyB;IAC/D,IAAW,6BAA6B,IAAI,aAAa,CAAC,OAAO,CAAC,CAEjE;IAED,OAAO,CAAC,aAAa,CAAyB;IAC9C,IAAW,YAAY,IAAI,aAAa,CAAC,OAAO,CAAC,CAEhD;IAED,OAAO,CAAC,eAAe,CAAyB;IAChD,IAAW,cAAc,IAAI,aAAa,CAAC,OAAO,CAAC,CAElD;IAED,OAAO,CAAC,MAAM,CAAyB;IACvC,IAAW,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,CAEzC;IAED,OAAO,CAAC,MAAM,CAAyB;IACvC,IAAW,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,CAEzC;IAED,OAAO,CAAC,SAAS,CAA0B;IAC3C,IAAW,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,CAE7C;IAED,8DAA8D;IACvD,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;IAIhE,0EAA0E;IACnE,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;IAIjE,4DAA4D;IACrD,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;IAIhE,wEAAwE;IACjE,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;IAIjE,OAAO,CAAC,eAAe,CAAwB;IAC/C,IAAW,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC,CAEjD;IAED,OAAO,CAAC,YAAY,CAAwB;IAC5C,IAAW,WAAW,IAAI,aAAa,CAAC,MAAM,CAAC,CAE9C;IAED,OAAO,CAAC,UAAU,CAAwB;IAC1C,IAAW,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,CAE5C;IAED,OAAO,CAAC,gBAAgB,CAAwB;IAChD,IAAW,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,CAElD;IAED,OAAO,CAAC,uBAAuB,CAAgC;IAC/D,IAAW,sBAAsB,IAAI,aAAa,CACjD,SAAS,YAAY,EAAE,CACvB,CAEA;IAED;;;OAGG;IACI,mBAAmB,CACzB,YAAY,EAAE,YAAY,GACxB,aAAa,CAAC,OAAO,CAAC;IAKzB,OAAO,CAAC,gCAAgC,CAE3B;IACb,IAAW,+BAA+B,IACvC,SAAS,qBAAqB,EAAE,GAChC,SAAS,CAEX;IAED;;;OAGG;IACI,gCAAgC,CACtC,OAAO,EAAE,qBAAqB,GAC5B,aAAa,CAAC,OAAO,CAAC;IAKzB;;;OAGG;IACI,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC;IAOrE,kEAAkE;IAClE,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,UAAU,CAAwB;IAC1C,IAAW,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,CAE5C;IAED,OAAO,CAAC,eAAe,CAAyB;IAChD,IAAW,cAAc,IAAI,aAAa,CAAC,OAAO,CAAC,CAElD;IAED,4DAA4D;IAC5D,IAAW,iBAAiB,IAAI,aAAa,CAAC,OAAO,CAAC,CAErD;IAMD,OAAO,CAAC,SAAS,CAA0B;IAC3C,mLAAmL;IACnL,IAAW,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,CAE7C;IAED,OAAO,CAAC,MAAM,CAAiC;IAC/C,6DAA6D;IAC7D,IAAW,KAAK,IAAI,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAEzD;IAED,OAAO,CAAC,WAAW,CAAgC;IACnD,uEAAuE;IACvE,IAAW,UAAU,IAAI,UAAU,CAElC;IAED,0CAA0C;IACnC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS;IAchE,6CAA6C;IAC7C,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,uEAAuE;IACvE,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED;;;OAGG;IACI,gBAAgB,IAAI,WAAW;IAQtC;;;OAGG;IACI,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW;IAkBxD,OAAO,KAAK,gBAAgB,QAI3B;IAED,qIAAqI;IAC9H,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI;IAoBrE;;;;OAIG;IACI,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAepE,OAAO,CAAC,4BAA4B;IAuBpC;;OAEG;IACI,oBAAoB,CAC1B,WAAW,EAAE,MAAM,GAAG,MAAM,GAC1B,QAAQ,CAAC,2BAA2B,CAAC,GAAG,SAAS;IAgBpD;;OAEG;IACI,sBAAsB,IAAI,2BAA2B,EAAE;IAoB9D,+GAA+G;IACxG,6BAA6B,IAAI,OAAO;IAihB/C,OAAO,CAAC,oBAAoB;IA4F5B,OAAO,CAAC,eAAe,CAAuC;IAC9D,IAAW,cAAc,IAAI,cAAc,CAE1C;IAmBD,OAAO,CAAC,kBAAkB,CAAkB;IAE5C,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,mBAAmB,CAAwB;IACnD,OAAO,CAAC,qBAAqB,CAAuC;IAEpE;;;;;OAKG;IACU,cAAc,CAC1B,OAAO,GAAE,gBAER,GACC,OAAO,CAAC,OAAO,CAAC;IAgJnB;;;OAGG;YACW,eAAe;IAyB7B;;;OAGG;IACU,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAwC9C;;;;;OAKG;YACW,gBAAgB;IA4C9B;;;;OAIG;YACW,iBAAiB;YA0CjB,eAAe;IAkC7B;;;;;OAKG;IACU,cAAc,CAC1B,OAAO,GAAE,gBAER,GACC,OAAO,CAAC,OAAO,CAAC;IAkEnB;;;OAGG;IACU,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAkc9C;;OAEG;YACW,cAAc;YAwFd,iBAAiB;IA8F/B,OAAO,CAAC,sBAAsB,CAAqB;IASnD,OAAO,CAAC,wBAAwB,CAA2C;IACpE,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;YAO3C,iBAAiB;IAgjB/B;;;OAGG;YACW,yBAAyB;IAyTvC;;;OAGG;YACW,6BAA6B;IAoK3C;;;OAGG;YACW,4BAA4B;IAwG1C,OAAO,CAAC,oBAAoB,CAAqC;IAEjE;;;;OAIG;IACI,mBAAmB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO;YAiDvD,WAAW;IAqGzB;;OAEG;IACI,kBAAkB,IAAI,OAAO;IAkBpC;;;;;;OAMG;IACU,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YA+CzC,gBAAgB;IAsJ9B,qDAAqD;IACxC,YAAY,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC;IAmCnB,4DAA4D;IACrD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7D;;;OAGG;IACU,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqCpE;;;;;OAKG;IACI,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE;IAQ9D,OAAO,CAAC,8BAA8B;IAUtC;;;;;;;;;;;OAWG;IACU,2BAA2B,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,EAAE,EACf,aAAa,CAAC,EAAE,KAAK,GACnB,OAAO,CAAC,OAAO,CAAC;IA8FnB,4DAA4D;IACrD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7D;;;OAGG;IACU,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkCpE;;;;;OAKG;IACI,2BAA2B,CACjC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,GACvB,KAAK,EAAE;IAQV,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,6BAA6B;IAOrC,yDAAyD;IAClD,iBAAiB,CACvB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IAInB;;;OAGG;IACU,kBAAkB,CAC9B,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IAwDnB;;;;;;OAMG;IACU,wBAAwB,CACpC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,KAAK,EAAE,EACf,aAAa,CAAC,EAAE,KAAK,GACnB,OAAO,CAAC,OAAO,CAAC;IAwHnB,yDAAyD;IAClD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D;;;OAGG;IACU,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkCjE;;;;;;OAMG;IACU,yBAAyB,CACrC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC;IAgDnB,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,+BAA+B;IAOvC;;;;;OAKG;IACI,4BAA4B,CAClC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,GACvB,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS;IAMlC;;;;;OAKG;IACU,4BAA4B,CACxC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC;IA2CnB,OAAO,CAAC,+BAA+B;IAUvC;;;;;OAKG;IACI,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAMzE,OAAO,CAAC,mCAAmC;IAqB3C;;;;;OAKG;IACU,gBAAgB,CAC5B,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC;IAsCnB;;;OAGG;IACU,mBAAmB,CAC/B,iBAAiB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IAyBnB;;;;;;OAMG;IACU,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAC9D;QACA,SAAS,EACN,SAAS,CAAC,GAAG,GACb,SAAS,CAAC,IAAI,GACd,SAAS,CAAC,WAAW,CAAC;QACzB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,aAAa,CAAC;KACzB,GACD,SAAS,CACX;IAqDD;;;;OAIG;IACI,oBAAoB,CAC1B,MAAM,EAAE,kBAAkB,GACxB,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAOxC;;;OAGG;IACI,uBAAuB,CAC7B,MAAM,EAAE,MAAM,GACZ,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAK7D;;;OAGG;IACI,eAAe,CACrB,MAAM,EAAE,kBAAkB,GACxB,WAAW,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAOrD;;;OAGG;IACI,kBAAkB,CACxB,MAAM,EAAE,MAAM,GACZ,oBAAoB,CACtB,kBAAkB,EAClB,WAAW,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAClD;IAKD;;OAEG;IACI,oBAAoB,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,kBAAkB,GAC7B,OAAO;IAYV;;OAEG;IACU,eAAe,CAC3B,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,kBAAkB,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IAqBhB;;OAEG;IACI,kBAAkB,CACxB,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,kBAAkB,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;OAGG;IACU,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDzE;;;OAGG;IACU,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO3D;;;OAGG;IACU,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsG5D;;;;OAIG;IACU,iBAAiB,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAER,GACC,OAAO,CAAC,OAAO,CAAC;IAmFnB,uDAAuD;IAC1C,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,uDAAuD;YACzC,mBAAmB;IAoBjC,wEAAwE;IAC3D,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAe7C,yDAAyD;IAC5C,aAAa,CACzB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAoCnB,uDAAuD;IAC1C,aAAa,IAAI,OAAO,CACpC,IAAI,CACH,oCAAoC,EACpC,YAAY,GAAG,cAAc,CAC7B,CACD;IAgEY,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAqDvE;;;;;;;OAOG;IACU,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCpE;;OAEG;IACU,gBAAgB,CAC5B,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAe,GAC5B,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC;IA4B7B;;;;;;;OAOG;IACI,sBAAsB,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;IAmCpE,uCAAuC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBzD;;;;OAIG;YACW,qBAAqB;IAQnC;;;;OAIG;YACW,4BAA4B;IAU1C;;;;OAIG;YACW,4BAA4B;IAQ1C;;;;OAIG;YACW,4BAA4B;IAgB1C;;;;OAIG;YACW,sBAAsB;IAYpC;;;;OAIG;YACW,6BAA6B;IAQ3C;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAOvC;;;;OAIG;IACU,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjE;;;;;;;;OAQG;IACU,oBAAoB,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC;IAOnB;;;;OAIG;IACU,qBAAqB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAUlB;;;;OAIG;IACU,wBAAwB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IA4BlD;;;;;;;;OAQG;IACU,sBAAsB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;IAWnB;;;;;;OAMG;IACU,yBAAyB,CACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IA4BlC;;;;OAIG;IACU,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAa/C;;;;OAIG;IACU,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9C;;;;OAIG;IACU,YAAY,CACxB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACrD,OAAO,CAAC,MAAM,CAAC;YAkCJ,eAAe;YAqCf,eAAe;IAyC7B;;;;;;;;;;;OAWG;IACU,UAAU,CACtB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAC5D,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAC7D,OAAO,CAAC,IAAI,CAAC;IAsDhB;;;;;;;;OAQG;IACU,aAAa,CACzB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACxD,OAAO,CAAC,IAAI,CAAC;YA4DF,gBAAgB;YAkDhB,gBAAgB;IAwC9B;;;;OAIG;IACU,iBAAiB,IAAI,OAAO,CAAC;QACzC,YAAY,EAAE,IAAI,CAAC;QACnB,YAAY,EAAE,IAAI,CAAC;QACnB,YAAY,CAAC,EAAE,IAAI,CAAC;KACpB,CAAC;IAkDF;;;OAGG;IACI,gCAAgC,IAAI,OAAO;IAQlD;;;;;;;OAOG;IACU,2BAA2B,CACvC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAsHhC;;;;;OAKG;IACU,iBAAiB,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,sBAAsB,EAAE,GAC/B,OAAO,CAAC,oBAAoB,CAAC;IAmFhC,OAAO,CAAC,yBAAyB,CAAkB;IAEnD;;OAEG;IACI,0BAA0B,IAAI,OAAO;IAI5C;;;;;;;OAOG;IACU,iBAAiB,CAC7B,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,8BAA8B,CAAC;YAyC5B,oBAAoB;YAwFpB,oBAAoB;CA8MlC"}
|
|
@@ -407,16 +407,8 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
|
|
|
407
407
|
* Queries the controller IDs and its Serial API capabilities
|
|
408
408
|
*/
|
|
409
409
|
async identify() {
|
|
410
|
-
// get the home and node id of the controller
|
|
411
|
-
this.driver.controllerLog.print(`querying controller IDs...`);
|
|
412
|
-
const ids = await this.driver.sendMessage(new GetControllerIdMessages_1.GetControllerIdRequest(this.driver), { supportCheck: false });
|
|
413
|
-
this._homeId = ids.homeId;
|
|
414
|
-
this._ownNodeId = ids.ownNodeId;
|
|
415
|
-
this.driver.controllerLog.print(`received controller IDs:
|
|
416
|
-
home ID: ${(0, shared_1.num2hex)(this._homeId)}
|
|
417
|
-
own node ID: ${this._ownNodeId}`);
|
|
418
410
|
// Figure out what the serial API can do
|
|
419
|
-
this.driver.controllerLog.print(`querying API capabilities...`);
|
|
411
|
+
this.driver.controllerLog.print(`querying Serial API capabilities...`);
|
|
420
412
|
const apiCaps = await this.driver.sendMessage(new GetSerialApiCapabilitiesMessages_1.GetSerialApiCapabilitiesRequest(this.driver), {
|
|
421
413
|
supportCheck: false,
|
|
422
414
|
});
|
|
@@ -433,14 +425,7 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
|
|
|
433
425
|
supported functions: ${this._supportedFunctionTypes
|
|
434
426
|
.map((fn) => `\n · ${serial_1.FunctionType[fn]} (${(0, shared_1.num2hex)(fn)})`)
|
|
435
427
|
.join("")}`);
|
|
436
|
-
|
|
437
|
-
/**
|
|
438
|
-
* @internal
|
|
439
|
-
* Interviews the controller for the necessary information.
|
|
440
|
-
* @param restoreFromCache Asynchronous callback for the driver to restore the network from cache after nodes are created
|
|
441
|
-
*/
|
|
442
|
-
async interview(restoreFromCache) {
|
|
443
|
-
// get basic controller version info
|
|
428
|
+
// Get basic controller version info
|
|
444
429
|
this.driver.controllerLog.print(`querying version info...`);
|
|
445
430
|
const version = await this.driver.sendMessage(new GetControllerVersionMessages_1.GetControllerVersionRequest(this.driver), {
|
|
446
431
|
supportCheck: false,
|
|
@@ -470,6 +455,87 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
|
|
|
470
455
|
}
|
|
471
456
|
// The SDK version cannot be queried directly, but we can deduce it from the protocol version
|
|
472
457
|
this._sdkVersion = (0, ZWaveSDKVersions_1.protocolVersionToSDKVersion)(this._protocolVersion);
|
|
458
|
+
// If the serial API can be configured, figure out which sub commands are supported
|
|
459
|
+
// This MUST be done after querying the SDK version due to a bug in some 7.xx firmwares, which incorrectly encode the bitmask
|
|
460
|
+
if (this.isFunctionSupported(serial_1.FunctionType.SerialAPISetup)) {
|
|
461
|
+
this.driver.controllerLog.print(`querying serial API setup capabilities...`);
|
|
462
|
+
const setupCaps = await this.driver.sendMessage(new SerialAPISetupMessages_1.SerialAPISetup_GetSupportedCommandsRequest(this.driver));
|
|
463
|
+
this._supportedSerialAPISetupCommands = setupCaps.supportedCommands;
|
|
464
|
+
this.driver.controllerLog.print(`supported serial API setup commands:${this._supportedSerialAPISetupCommands
|
|
465
|
+
.map((cmd) => `\n· ${(0, shared_1.getEnumMemberName)(SerialAPISetupMessages_1.SerialAPISetupCommand, cmd)}`)
|
|
466
|
+
.join("")}`);
|
|
467
|
+
}
|
|
468
|
+
else {
|
|
469
|
+
this._supportedSerialAPISetupCommands = [];
|
|
470
|
+
}
|
|
471
|
+
// Check and possibly update the RF region to the desired value
|
|
472
|
+
if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.GetRFRegion)) {
|
|
473
|
+
this.driver.controllerLog.print(`Querying configured RF region...`);
|
|
474
|
+
const resp = await this.getRFRegion().catch(() => undefined);
|
|
475
|
+
if (resp != undefined) {
|
|
476
|
+
this.driver.controllerLog.print(`The controller is using RF region ${(0, shared_1.getEnumMemberName)(core_1.RFRegion, resp)}`);
|
|
477
|
+
}
|
|
478
|
+
else {
|
|
479
|
+
this.driver.controllerLog.print(`Querying the RF region failed!`, "warn");
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetRFRegion) &&
|
|
483
|
+
this.driver.options.rf?.region != undefined &&
|
|
484
|
+
this.rfRegion != this.driver.options.rf.region) {
|
|
485
|
+
const desiredRegion = this.driver.options.rf.region;
|
|
486
|
+
this.driver.controllerLog.print(`Current RF region (${(0, shared_1.getEnumMemberName)(core_1.RFRegion, this.rfRegion ?? core_1.RFRegion.Unknown)}) differs from desired region (${(0, shared_1.getEnumMemberName)(core_1.RFRegion, desiredRegion)}), configuring it...`);
|
|
487
|
+
const resp = await this.setRFRegionInternal(desiredRegion,
|
|
488
|
+
// Do not soft reset here, we'll do it later
|
|
489
|
+
false).catch((e) => e.message);
|
|
490
|
+
if (resp === true) {
|
|
491
|
+
this.driver.controllerLog.print(`Changed RF region to ${(0, shared_1.getEnumMemberName)(core_1.RFRegion, desiredRegion)}`);
|
|
492
|
+
}
|
|
493
|
+
else {
|
|
494
|
+
this.driver.controllerLog.print(`Changing the RF region failed!${resp ? ` Reason: ${resp}` : ""}`, "warn");
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
// Check and possibly update the powerlevel settings
|
|
498
|
+
if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.GetPowerlevel) &&
|
|
499
|
+
this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetPowerlevel) &&
|
|
500
|
+
this.driver.options.rf?.txPower != undefined) {
|
|
501
|
+
const desired = this.driver.options.rf.txPower;
|
|
502
|
+
this.driver.controllerLog.print(`Querying configured powerlevel...`);
|
|
503
|
+
const current = await this.getPowerlevel().catch(() => undefined);
|
|
504
|
+
if (current != undefined) {
|
|
505
|
+
if (current.powerlevel !== desired.powerlevel ||
|
|
506
|
+
current.measured0dBm !== desired.measured0dBm) {
|
|
507
|
+
this.driver.controllerLog.print(`Current powerlevel ${current.powerlevel} dBm (${current.measured0dBm} dBm) differs from desired powerlevel ${desired.powerlevel} dBm (${desired.measured0dBm} dBm), configuring it...`);
|
|
508
|
+
const resp = await this.setPowerlevel(desired.powerlevel, desired.measured0dBm).catch((e) => e.message);
|
|
509
|
+
if (resp === true) {
|
|
510
|
+
this.driver.controllerLog.print(`Powerlevel updated`);
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
this.driver.controllerLog.print(`Changing the powerlevel failed!${resp ? ` Reason: ${resp}` : ""}`, "warn");
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
else {
|
|
518
|
+
this.driver.controllerLog.print(`Querying the powerlevel failed!`, "warn");
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
// Switch to 16 bit node IDs if supported. We need to do this here, as a controller may still be
|
|
522
|
+
// in 16 bit mode when Z-Wave starts up. This would lead to an invalid node ID being reported.
|
|
523
|
+
await this.trySetNodeIDType(core_1.NodeIDType.Long);
|
|
524
|
+
// get the home and node id of the controller
|
|
525
|
+
this.driver.controllerLog.print(`querying controller IDs...`);
|
|
526
|
+
const ids = await this.driver.sendMessage(new GetControllerIdMessages_1.GetControllerIdRequest(this.driver), { supportCheck: false });
|
|
527
|
+
this._homeId = ids.homeId;
|
|
528
|
+
this._ownNodeId = ids.ownNodeId;
|
|
529
|
+
this.driver.controllerLog.print(`received controller IDs:
|
|
530
|
+
home ID: ${(0, shared_1.num2hex)(this._homeId)}
|
|
531
|
+
own node ID: ${this._ownNodeId}`);
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* @internal
|
|
535
|
+
* Interviews the controller for the necessary information.
|
|
536
|
+
* @param restoreFromCache Asynchronous callback for the driver to restore the network from cache after nodes are created
|
|
537
|
+
*/
|
|
538
|
+
async interview(restoreFromCache) {
|
|
473
539
|
this.driver.controllerLog.print(`supported Z-Wave features: ${Object.keys(Features_1.ZWaveFeature)
|
|
474
540
|
.filter((k) => /^\d+$/.test(k))
|
|
475
541
|
.map((k) => parseInt(k))
|
|
@@ -493,18 +559,6 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
|
|
|
493
559
|
started this network: ${!this._isUsingHomeIdFromOtherNetwork}
|
|
494
560
|
SIS is present: ${this._isSISPresent}
|
|
495
561
|
was real primary: ${this._wasRealPrimary}`);
|
|
496
|
-
// Figure out which sub commands of SerialAPISetup are supported
|
|
497
|
-
if (this.isFunctionSupported(serial_1.FunctionType.SerialAPISetup)) {
|
|
498
|
-
this.driver.controllerLog.print(`querying serial API setup capabilities...`);
|
|
499
|
-
const setupCaps = await this.driver.sendMessage(new SerialAPISetupMessages_1.SerialAPISetup_GetSupportedCommandsRequest(this.driver));
|
|
500
|
-
this._supportedSerialAPISetupCommands = setupCaps.supportedCommands;
|
|
501
|
-
this.driver.controllerLog.print(`supported serial API setup commands:${this._supportedSerialAPISetupCommands
|
|
502
|
-
.map((cmd) => `\n· ${(0, shared_1.getEnumMemberName)(SerialAPISetupMessages_1.SerialAPISetupCommand, cmd)}`)
|
|
503
|
-
.join("")}`);
|
|
504
|
-
}
|
|
505
|
-
else {
|
|
506
|
-
this._supportedSerialAPISetupCommands = [];
|
|
507
|
-
}
|
|
508
562
|
// Enable TX status report if supported
|
|
509
563
|
if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetTxStatusReport)) {
|
|
510
564
|
this.driver.controllerLog.print(`Enabling TX status report...`);
|
|
@@ -513,26 +567,6 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
|
|
|
513
567
|
}));
|
|
514
568
|
this.driver.controllerLog.print(`Enabling TX status report ${resp.success ? "successful" : "failed"}...`);
|
|
515
569
|
}
|
|
516
|
-
// Also query the controller's current RF region if possible
|
|
517
|
-
if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.GetRFRegion)) {
|
|
518
|
-
this.driver.controllerLog.print(`Querying configured RF region...`);
|
|
519
|
-
const resp = await this.getRFRegion().catch(() => undefined);
|
|
520
|
-
if (resp != undefined) {
|
|
521
|
-
this.driver.controllerLog.print(`The controller is using RF region ${(0, shared_1.getEnumMemberName)(core_1.RFRegion, resp)}`);
|
|
522
|
-
}
|
|
523
|
-
else {
|
|
524
|
-
this.driver.controllerLog.print(`Querying the RF region failed!`, "warn");
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
// Switch to 16 bit node IDs if supported
|
|
528
|
-
if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetNodeIDType)) {
|
|
529
|
-
try {
|
|
530
|
-
await this.setNodeIDType(core_1.NodeIDType.Long);
|
|
531
|
-
}
|
|
532
|
-
catch {
|
|
533
|
-
// ignore
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
570
|
// find the SUC
|
|
537
571
|
this.driver.controllerLog.print(`finding SUC...`);
|
|
538
572
|
const suc = await this.driver.sendMessage(new GetSUCNodeIdMessages_1.GetSUCNodeIdRequest(this.driver), { supportCheck: false });
|
|
@@ -3122,14 +3156,7 @@ ${associatedNodes.join(", ")}`,
|
|
|
3122
3156
|
// 7.xx firmwares (up to at least 7.19.2) have a bug where the response to
|
|
3123
3157
|
// SetPriorityRoute is missing the result byte when used with 16-bit node IDs.
|
|
3124
3158
|
// So we temporarily switch back to 8-bit node IDs for this message
|
|
3125
|
-
|
|
3126
|
-
try {
|
|
3127
|
-
await this.setNodeIDType(core_1.NodeIDType.Short);
|
|
3128
|
-
}
|
|
3129
|
-
catch {
|
|
3130
|
-
// ignore
|
|
3131
|
-
}
|
|
3132
|
-
}
|
|
3159
|
+
await this.trySetNodeIDType(core_1.NodeIDType.Short);
|
|
3133
3160
|
this.driver.controllerLog.print(`Setting priority route to node ${destinationNodeId}...`);
|
|
3134
3161
|
let ret;
|
|
3135
3162
|
try {
|
|
@@ -3145,14 +3172,7 @@ ${associatedNodes.join(", ")}`,
|
|
|
3145
3172
|
ret = false;
|
|
3146
3173
|
}
|
|
3147
3174
|
// Switch back to 16-bit node IDs
|
|
3148
|
-
|
|
3149
|
-
try {
|
|
3150
|
-
await this.setNodeIDType(core_1.NodeIDType.Long);
|
|
3151
|
-
}
|
|
3152
|
-
catch {
|
|
3153
|
-
// ignore
|
|
3154
|
-
}
|
|
3155
|
-
}
|
|
3175
|
+
await this.trySetNodeIDType(core_1.NodeIDType.Long);
|
|
3156
3176
|
return ret;
|
|
3157
3177
|
}
|
|
3158
3178
|
/**
|
|
@@ -3443,11 +3463,15 @@ ${associatedNodes.join(", ")}`,
|
|
|
3443
3463
|
}
|
|
3444
3464
|
/** Configure the RF region at the Z-Wave API Module */
|
|
3445
3465
|
async setRFRegion(region) {
|
|
3466
|
+
return this.setRFRegionInternal(region, true);
|
|
3467
|
+
}
|
|
3468
|
+
/** Configure the RF region at the Z-Wave API Module */
|
|
3469
|
+
async setRFRegionInternal(region, softReset = true) {
|
|
3446
3470
|
const result = await this.driver.sendMessage(new SerialAPISetupMessages_1.SerialAPISetup_SetRFRegionRequest(this.driver, { region }));
|
|
3447
3471
|
if (result instanceof SerialAPISetupMessages_1.SerialAPISetup_CommandUnsupportedResponse) {
|
|
3448
3472
|
throw new core_1.ZWaveError(`Your hardware does not support setting the RF region!`, core_1.ZWaveErrorCodes.Driver_NotSupported);
|
|
3449
3473
|
}
|
|
3450
|
-
if (result.success)
|
|
3474
|
+
if (softReset && result.success)
|
|
3451
3475
|
await this.driver.trySoftReset();
|
|
3452
3476
|
this._rfRegion = region;
|
|
3453
3477
|
return result.success;
|
|
@@ -3517,6 +3541,17 @@ ${associatedNodes.join(", ")}`,
|
|
|
3517
3541
|
}
|
|
3518
3542
|
return result.success;
|
|
3519
3543
|
}
|
|
3544
|
+
async trySetNodeIDType(nodeIdType) {
|
|
3545
|
+
if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetNodeIDType)) {
|
|
3546
|
+
try {
|
|
3547
|
+
return await this.setNodeIDType(nodeIdType);
|
|
3548
|
+
}
|
|
3549
|
+
catch {
|
|
3550
|
+
// ignore
|
|
3551
|
+
}
|
|
3552
|
+
}
|
|
3553
|
+
return false;
|
|
3554
|
+
}
|
|
3520
3555
|
/**
|
|
3521
3556
|
* @internal
|
|
3522
3557
|
* Request the maximum payload that the Z-Wave API Module can accept for transmitting Z-Wave frames. This value depends on the RF Profile
|
|
@@ -4170,17 +4205,34 @@ ${associatedNodes.join(", ")}`,
|
|
|
4170
4205
|
throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: The node did not wake up within 1 minute!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
|
|
4171
4206
|
}
|
|
4172
4207
|
}
|
|
4173
|
-
// Do not rely on stale information, query everything fresh from the node
|
|
4208
|
+
// Do not rely on potentially stale information, query everything fresh from the node.
|
|
4209
|
+
// The results will be stored as node properties we can read afterwards.
|
|
4210
|
+
// This ensures that we get the firmware version in the correct format (x.y or x.y.z)
|
|
4211
|
+
// Remember the RF region used to communicate with the node - just to make sure it doesn't change inbetween.
|
|
4212
|
+
const rfRegion = this.rfRegion;
|
|
4174
4213
|
const manufacturerResponse = await node.commandClasses["Manufacturer Specific"].get();
|
|
4175
4214
|
if (!manufacturerResponse) {
|
|
4176
4215
|
throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: Failed to query fingerprint from the node!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
|
|
4177
4216
|
}
|
|
4178
|
-
|
|
4217
|
+
// Query the version using both possible commands to ensure we have the full version
|
|
4179
4218
|
const versionResponse = await node.commandClasses.Version.get();
|
|
4180
4219
|
if (!versionResponse) {
|
|
4181
4220
|
throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: Failed to query firmware version from the node!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
|
|
4182
4221
|
}
|
|
4183
|
-
|
|
4222
|
+
if (node.commandClasses.Version.supportsCommand(cc_1.VersionCommand.ZWaveSoftwareGet)) {
|
|
4223
|
+
const softwareResponse = await node.commandClasses.Version.getZWaveSoftware();
|
|
4224
|
+
if (!softwareResponse) {
|
|
4225
|
+
throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: Failed to query firmware version from the node!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
|
|
4226
|
+
}
|
|
4227
|
+
}
|
|
4228
|
+
const { manufacturerId, productType, productId, firmwareVersion } = node;
|
|
4229
|
+
// Be really sure that we have all the information we need
|
|
4230
|
+
if (typeof manufacturerId !== "number" ||
|
|
4231
|
+
typeof productType !== "number" ||
|
|
4232
|
+
typeof productId !== "number" ||
|
|
4233
|
+
typeof firmwareVersion !== "string") {
|
|
4234
|
+
throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: Failed to query fingerprint or firmware version from the node!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
|
|
4235
|
+
}
|
|
4184
4236
|
// Now invoke the service
|
|
4185
4237
|
try {
|
|
4186
4238
|
return await (0, FirmwareUpdateService_1.getAvailableFirmwareUpdates)({
|
|
@@ -4188,7 +4240,7 @@ ${associatedNodes.join(", ")}`,
|
|
|
4188
4240
|
productType,
|
|
4189
4241
|
productId,
|
|
4190
4242
|
firmwareVersion,
|
|
4191
|
-
rfRegion
|
|
4243
|
+
rfRegion,
|
|
4192
4244
|
}, {
|
|
4193
4245
|
userAgent: this.driver.getUserAgentStringWithComponents(options?.additionalUserAgentComponents),
|
|
4194
4246
|
apiKey: options?.apiKey ??
|