zwave-js 10.3.1 → 10.4.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/Controller.d.ts +1 -1
- package/build/Controller.d.ts.map +1 -1
- package/build/Controller.js +2 -1
- package/build/Controller.js.map +1 -1
- package/build/Controller_safe.d.ts +1 -1
- package/build/Controller_safe.d.ts.map +1 -1
- package/build/Controller_safe.js +2 -1
- package/build/Controller_safe.js.map +1 -1
- package/build/lib/controller/Controller.d.ts +65 -2
- package/build/lib/controller/Controller.d.ts.map +1 -1
- package/build/lib/controller/Controller.js +670 -21
- package/build/lib/controller/Controller.js.map +1 -1
- package/build/lib/controller/FirmwareUpdateService.d.ts +2 -1
- package/build/lib/controller/FirmwareUpdateService.d.ts.map +1 -1
- package/build/lib/controller/FirmwareUpdateService.js +47 -82
- package/build/lib/controller/FirmwareUpdateService.js.map +1 -1
- package/build/lib/controller/Inclusion.d.ts +9 -4
- package/build/lib/controller/Inclusion.d.ts.map +1 -1
- package/build/lib/controller/Inclusion.js.map +1 -1
- package/build/lib/controller/NodeInformationFrame.d.ts.map +1 -1
- package/build/lib/controller/NodeInformationFrame.js +3 -2
- package/build/lib/controller/NodeInformationFrame.js.map +1 -1
- package/build/lib/controller/_Types.d.ts +24 -2
- package/build/lib/controller/_Types.d.ts.map +1 -1
- package/build/lib/controller/_Types.js +13 -0
- package/build/lib/controller/_Types.js.map +1 -1
- package/build/lib/driver/Bootloader.d.ts +22 -0
- package/build/lib/driver/Bootloader.d.ts.map +1 -0
- package/build/lib/driver/Bootloader.js +52 -0
- package/build/lib/driver/Bootloader.js.map +1 -0
- package/build/lib/driver/CommandQueueMachine.d.ts +4 -4
- package/build/lib/driver/CommandQueueMachine.d.ts.map +1 -1
- package/build/lib/driver/Driver.d.ts +27 -3
- package/build/lib/driver/Driver.d.ts.map +1 -1
- package/build/lib/driver/Driver.js +178 -51
- package/build/lib/driver/Driver.js.map +1 -1
- package/build/lib/driver/DriverMock.d.ts +5 -1
- package/build/lib/driver/DriverMock.d.ts.map +1 -1
- package/build/lib/driver/DriverMock.js +5 -1
- package/build/lib/driver/DriverMock.js.map +1 -1
- package/build/lib/driver/MessageGenerators.d.ts +1 -1
- package/build/lib/driver/MessageGenerators.d.ts.map +1 -1
- package/build/lib/driver/SendThreadMachine.d.ts +7 -7
- package/build/lib/driver/SendThreadMachine.d.ts.map +1 -1
- package/build/lib/driver/SerialAPICommandMachine.d.ts +8 -8
- package/build/lib/driver/SerialAPICommandMachine.d.ts.map +1 -1
- package/build/lib/driver/SerialAPICommandMachine.js +7 -1
- package/build/lib/driver/SerialAPICommandMachine.js.map +1 -1
- package/build/lib/driver/StateMachineShared.d.ts +2 -2
- package/build/lib/driver/StateMachineShared.d.ts.map +1 -1
- package/build/lib/driver/TransactionMachine.d.ts +3 -3
- package/build/lib/driver/TransactionMachine.d.ts.map +1 -1
- package/build/lib/driver/TransportServiceMachine.d.ts +4 -4
- package/build/lib/driver/TransportServiceMachine.d.ts.map +1 -1
- package/build/lib/driver/ZWaveOptions.d.ts +12 -1
- package/build/lib/driver/ZWaveOptions.d.ts.map +1 -1
- package/build/lib/node/Node.d.ts +3 -3
- package/build/lib/node/Node.d.ts.map +1 -1
- package/build/lib/node/Node.js +65 -14
- package/build/lib/node/Node.js.map +1 -1
- package/build/lib/node/NodeReadyMachine.d.ts +3 -3
- package/build/lib/node/NodeReadyMachine.d.ts.map +1 -1
- package/build/lib/node/NodeStatusMachine.d.ts +3 -3
- package/build/lib/node/NodeStatusMachine.d.ts.map +1 -1
- package/build/lib/node/_Types.d.ts +21 -21
- package/build/lib/node/_Types.d.ts.map +1 -1
- package/build/lib/serialapi/application/ApplicationUpdateRequest.d.ts +14 -10
- package/build/lib/serialapi/application/ApplicationUpdateRequest.d.ts.map +1 -1
- package/build/lib/serialapi/application/ApplicationUpdateRequest.js +27 -16
- package/build/lib/serialapi/application/ApplicationUpdateRequest.js.map +1 -1
- package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.d.ts +3 -0
- package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.d.ts.map +1 -1
- package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.js +12 -0
- package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.js.map +1 -1
- package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.d.ts +96 -0
- package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.d.ts.map +1 -0
- package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.js +326 -0
- package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.js.map +1 -0
- package/build/lib/serialapi/nvm/GetNVMIdMessages.d.ts +1 -1
- package/build/lib/serialapi/nvm/GetNVMIdMessages.d.ts.map +1 -1
- package/build/lib/serialapi/transport/SendDataShared.d.ts +3 -3
- package/build/lib/serialapi/transport/SendDataShared.d.ts.map +1 -1
- package/package.json +15 -15
|
@@ -9,82 +9,40 @@ const p_queue_1 = __importDefault(require("@esm2cjs/p-queue"));
|
|
|
9
9
|
const core_1 = require("@zwave-js/core");
|
|
10
10
|
const shared_1 = require("@zwave-js/shared");
|
|
11
11
|
const crypto_1 = __importDefault(require("crypto"));
|
|
12
|
-
|
|
12
|
+
function serviceURL() {
|
|
13
|
+
return process.env.ZWAVEJS_FW_SERVICE_URL || "https://firmware.zwave-js.io";
|
|
14
|
+
}
|
|
13
15
|
const DOWNLOAD_TIMEOUT = 60000;
|
|
14
16
|
// const MAX_FIRMWARE_SIZE = 10 * 1024 * 1024; // 10MB should be enough for any conceivable Z-Wave chip
|
|
15
|
-
const MAX_CACHE_SECONDS = 60 * 60 * 24; // Cache for a day at max
|
|
16
|
-
const CLEAN_CACHE_INTERVAL_MS = 60 * 60 * 1000; // Remove stale entries from the cache every hour
|
|
17
17
|
const requestCache = new Map();
|
|
18
18
|
// Queue requests to the firmware update service. Only allow few parallel requests so we can make some use of the cache.
|
|
19
19
|
const requestQueue = new p_queue_1.default({ concurrency: 2 });
|
|
20
|
-
|
|
21
|
-
function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (requestCache.has(cacheKey)) {
|
|
46
|
-
const cached = requestCache.get(cacheKey);
|
|
47
|
-
if (cached.staleDate > Date.now()) {
|
|
48
|
-
return cached.response;
|
|
49
|
-
}
|
|
20
|
+
/** Converts the RF region to a format the update service understands */
|
|
21
|
+
function rfRegionToUpdateServiceRegion(rfRegion) {
|
|
22
|
+
switch (rfRegion) {
|
|
23
|
+
case core_1.RFRegion["Default (EU)"]:
|
|
24
|
+
case core_1.RFRegion.Europe:
|
|
25
|
+
return "europe";
|
|
26
|
+
case core_1.RFRegion.USA:
|
|
27
|
+
case core_1.RFRegion["USA (Long Range)"]:
|
|
28
|
+
return "usa";
|
|
29
|
+
case core_1.RFRegion["Australia/New Zealand"]:
|
|
30
|
+
return "australia/new zealand";
|
|
31
|
+
case core_1.RFRegion["Hong Kong"]:
|
|
32
|
+
return "hong kong";
|
|
33
|
+
case core_1.RFRegion.India:
|
|
34
|
+
return "india";
|
|
35
|
+
case core_1.RFRegion.Israel:
|
|
36
|
+
return "israel";
|
|
37
|
+
case core_1.RFRegion.Russia:
|
|
38
|
+
return "russia";
|
|
39
|
+
case core_1.RFRegion.China:
|
|
40
|
+
return "china";
|
|
41
|
+
case core_1.RFRegion.Japan:
|
|
42
|
+
return "japan";
|
|
43
|
+
case core_1.RFRegion.Korea:
|
|
44
|
+
return "korea";
|
|
50
45
|
}
|
|
51
|
-
const response = await (0, got_1.default)(config);
|
|
52
|
-
const responseJson = JSON.parse(response.body);
|
|
53
|
-
// Check if we can cache the response
|
|
54
|
-
if (response.statusCode === 200 && response.headers["cache-control"]) {
|
|
55
|
-
const cacheControl = response.headers["cache-control"];
|
|
56
|
-
let maxAge;
|
|
57
|
-
const maxAgeMatch = cacheControl.match(/max-age=(\d+)/);
|
|
58
|
-
if (maxAgeMatch) {
|
|
59
|
-
maxAge = Math.max(0, parseInt(maxAgeMatch[1], 10));
|
|
60
|
-
}
|
|
61
|
-
if (maxAge) {
|
|
62
|
-
let currentAge;
|
|
63
|
-
if (response.headers.age) {
|
|
64
|
-
currentAge = parseInt(response.headers.age, 10);
|
|
65
|
-
}
|
|
66
|
-
else if (response.headers.date) {
|
|
67
|
-
currentAge =
|
|
68
|
-
(Date.now() - Date.parse(response.headers.date)) / 1000;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
currentAge = 0;
|
|
72
|
-
}
|
|
73
|
-
currentAge = Math.max(0, currentAge);
|
|
74
|
-
if (maxAge > currentAge) {
|
|
75
|
-
requestCache.set(cacheKey, {
|
|
76
|
-
response: responseJson,
|
|
77
|
-
staleDate: Date.now() +
|
|
78
|
-
Math.min(MAX_CACHE_SECONDS, maxAge - currentAge) * 1000,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// Regularly clean the cache
|
|
84
|
-
if (!cleanCacheTimeout) {
|
|
85
|
-
cleanCacheTimeout = setTimeout(cleanCache, CLEAN_CACHE_INTERVAL_MS).unref();
|
|
86
|
-
}
|
|
87
|
-
return responseJson;
|
|
88
46
|
}
|
|
89
47
|
/**
|
|
90
48
|
* Retrieves the available firmware updates for the node with the given fingerprint.
|
|
@@ -93,27 +51,34 @@ async function cachedGot(config) {
|
|
|
93
51
|
function getAvailableFirmwareUpdates(deviceId, options) {
|
|
94
52
|
const headers = {
|
|
95
53
|
"User-Agent": options.userAgent,
|
|
54
|
+
"Content-Type": "application/json",
|
|
96
55
|
};
|
|
97
56
|
if (options.apiKey) {
|
|
98
57
|
headers["X-API-Key"] = options.apiKey;
|
|
99
58
|
}
|
|
59
|
+
const body = {
|
|
60
|
+
manufacturerId: (0, shared_1.formatId)(deviceId.manufacturerId),
|
|
61
|
+
productType: (0, shared_1.formatId)(deviceId.productType),
|
|
62
|
+
productId: (0, shared_1.formatId)(deviceId.productId),
|
|
63
|
+
firmwareVersion: deviceId.firmwareVersion,
|
|
64
|
+
};
|
|
65
|
+
const rfRegion = rfRegionToUpdateServiceRegion(deviceId.rfRegion);
|
|
66
|
+
if (rfRegion) {
|
|
67
|
+
body.region = rfRegion;
|
|
68
|
+
}
|
|
100
69
|
const config = {
|
|
101
70
|
method: "POST",
|
|
102
|
-
url: `${serviceURL}/api/${options.includePrereleases ? "
|
|
103
|
-
json:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
firmwareVersion: deviceId.firmwareVersion,
|
|
71
|
+
url: `${serviceURL()}/api/${options.includePrereleases ? "v3" : "v1"}/updates`,
|
|
72
|
+
json: body,
|
|
73
|
+
cache: requestCache,
|
|
74
|
+
cacheOptions: {
|
|
75
|
+
shared: false,
|
|
108
76
|
},
|
|
109
|
-
// TODO: Re-enable this in favor of cachedGot when fixed
|
|
110
|
-
// cache: requestCache,
|
|
111
|
-
// cacheOptions: {
|
|
112
|
-
// shared: false,
|
|
113
|
-
// },
|
|
114
77
|
headers,
|
|
115
78
|
};
|
|
116
|
-
return requestQueue.add(() =>
|
|
79
|
+
return requestQueue.add(() => {
|
|
80
|
+
return (0, got_1.default)(config).json();
|
|
81
|
+
});
|
|
117
82
|
}
|
|
118
83
|
exports.getAvailableFirmwareUpdates = getAvailableFirmwareUpdates;
|
|
119
84
|
async function downloadFirmwareUpdate(file) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateService.js","sourceRoot":"","sources":["../../../src/lib/controller/FirmwareUpdateService.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAuE;AACvE,+DAAsC;AAEtC,
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateService.js","sourceRoot":"","sources":["../../../src/lib/controller/FirmwareUpdateService.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,7 +78,7 @@ export interface InclusionUserCallbacks {
|
|
|
78
78
|
abort(): void;
|
|
79
79
|
}
|
|
80
80
|
/** Options for inclusion of a new node */
|
|
81
|
-
export
|
|
81
|
+
export type InclusionOptions = {
|
|
82
82
|
strategy: InclusionStrategy.Default;
|
|
83
83
|
/**
|
|
84
84
|
* Allows overriding the user callbacks for this inclusion.
|
|
@@ -92,6 +92,11 @@ export declare type InclusionOptions = {
|
|
|
92
92
|
forceSecurity?: boolean;
|
|
93
93
|
} | {
|
|
94
94
|
strategy: InclusionStrategy.Security_S2;
|
|
95
|
+
/**
|
|
96
|
+
* Allows pre-filling the DSK, e.g. when a DSK-only QR code has been scanned.
|
|
97
|
+
* If this is given, the `validateDSKAndEnterPIN` callback will not be called.
|
|
98
|
+
*/
|
|
99
|
+
dsk?: string;
|
|
95
100
|
/**
|
|
96
101
|
* Allows overriding the user callbacks for this inclusion.
|
|
97
102
|
* If not given, the inclusion user callbacks of the driver options will be used.
|
|
@@ -107,11 +112,11 @@ export declare type InclusionOptions = {
|
|
|
107
112
|
} | {
|
|
108
113
|
strategy: InclusionStrategy.Insecure | InclusionStrategy.Security_S0;
|
|
109
114
|
};
|
|
110
|
-
export
|
|
115
|
+
export type ExclusionOptions = {
|
|
111
116
|
strategy: ExclusionStrategy.ExcludeOnly | ExclusionStrategy.DisableProvisioningEntry | ExclusionStrategy.Unprovision;
|
|
112
117
|
};
|
|
113
118
|
/** Options for replacing a node */
|
|
114
|
-
export
|
|
119
|
+
export type ReplaceNodeOptions = {
|
|
115
120
|
strategy: InclusionStrategy.Security_S2;
|
|
116
121
|
/**
|
|
117
122
|
* Allows overriding the user callbacks for this inclusion.
|
|
@@ -155,7 +160,7 @@ export interface PlannedProvisioningEntry {
|
|
|
155
160
|
export interface IncludedProvisioningEntry extends PlannedProvisioningEntry {
|
|
156
161
|
nodeId: number;
|
|
157
162
|
}
|
|
158
|
-
export
|
|
163
|
+
export type SmartStartProvisioningEntry = PlannedProvisioningEntry | IncludedProvisioningEntry;
|
|
159
164
|
export declare enum InclusionState {
|
|
160
165
|
/** The controller isn't doing anything regarding inclusion. */
|
|
161
166
|
Idle = 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inclusion.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/Inclusion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC/B,8JAA8J;IAC9J,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,oBAAY,iBAAiB;IAC5B;;;;;;OAMG;IACH,OAAO,IAAI;IAEX;;;;OAIG;IACH,UAAU,IAAA;IAEV;;;;OAIG;IACH,QAAQ,IAAA;IACR;;;;;;OAMG;IACH,WAAW,IAAA;IACX;;;;OAIG;IACH,WAAW,IAAA;CACX;AAED,oBAAY,iBAAiB;IAC5B,8DAA8D;IAC9D,WAAW,IAAA;IACX,8EAA8E;IAC9E,wBAAwB,IAAA;IACxB,8DAA8D;IAC9D,WAAW,IAAA;CACX;AAED,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC,uEAAuE;IACvE,cAAc,EAAE,OAAO,CAAC;CACxB;AAED,+FAA+F;AAC/F,MAAM,WAAW,sBAAsB;IACtC;;;;OAIG;IACH,oBAAoB,CACnB,SAAS,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC;IAEnC;;;;;;OAMG;IACH,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAE7D,0FAA0F;IAC1F,KAAK,IAAI,IAAI,CAAC;CACd;AAED,0CAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"Inclusion.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/Inclusion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inclusion.js","sourceRoot":"","sources":["../../../src/lib/controller/Inclusion.ts"],"names":[],"mappings":";;;AASA,IAAY,iBAqCX;AArCD,WAAY,iBAAiB;IAC5B;;;;;;OAMG;IACH,+DAAW,CAAA;IAEX;;;;OAIG;IACH,qEAAU,CAAA;IAEV;;;;OAIG;IACH,iEAAQ,CAAA;IACR;;;;;;OAMG;IACH,uEAAW,CAAA;IACX;;;;OAIG;IACH,uEAAW,CAAA;AACZ,CAAC,EArCW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAqC5B;AAED,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC5B,8DAA8D;IAC9D,uEAAW,CAAA;IACX,8EAA8E;IAC9E,iGAAwB,CAAA;IACxB,8DAA8D;IAC9D,uEAAW,CAAA;AACZ,CAAC,EAPW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAO5B;
|
|
1
|
+
{"version":3,"file":"Inclusion.js","sourceRoot":"","sources":["../../../src/lib/controller/Inclusion.ts"],"names":[],"mappings":";;;AASA,IAAY,iBAqCX;AArCD,WAAY,iBAAiB;IAC5B;;;;;;OAMG;IACH,+DAAW,CAAA;IAEX;;;;OAIG;IACH,qEAAU,CAAA;IAEV;;;;OAIG;IACH,iEAAQ,CAAA;IACR;;;;;;OAMG;IACH,uEAAW,CAAA;IACX;;;;OAIG;IACH,uEAAW,CAAA;AACZ,CAAC,EArCW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAqC5B;AAED,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC5B,8DAA8D;IAC9D,uEAAW,CAAA;IACX,8EAA8E;IAC9E,iGAAwB,CAAA;IACxB,8DAA8D;IAC9D,uEAAW,CAAA;AACZ,CAAC,EAPW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAO5B;AA0HD,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IAClC,yEAAM,CAAA;IACN,6EAAQ,CAAA;AACT,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC;AAkCD,IAAY,cAWX;AAXD,WAAY,cAAc;IACzB,+DAA+D;IAC/D,mDAAI,CAAA;IACJ,2DAA2D;IAC3D,6DAAS,CAAA;IACT,2DAA2D;IAC3D,6DAAS,CAAA;IACT,4DAA4D;IAC5D,mDAAI,CAAA;IACJ,4EAA4E;IAC5E,+DAAU,CAAA;AACX,CAAC,EAXW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAWzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeInformationFrame.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/NodeInformationFrame.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,cAAc,EAGd,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,YAAY,IAAI;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,EAAE,cAAc,EAAE,CAAC;CAChC,
|
|
1
|
+
{"version":3,"file":"NodeInformationFrame.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/NodeInformationFrame.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,cAAc,EAGd,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,YAAY,IAAI;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,EAAE,cAAc,EAAE,CAAC;CAChC,CAgEA"}
|
|
@@ -15,8 +15,9 @@ function determineNIF() {
|
|
|
15
15
|
const supportedCCs = [
|
|
16
16
|
// Z-Wave Plus Info must be listed first
|
|
17
17
|
safe_1.CommandClasses["Z-Wave Plus Info"],
|
|
18
|
-
//
|
|
19
|
-
// Gateway device type MUST
|
|
18
|
+
// Z-Wave Plus v2 Device Type Specification
|
|
19
|
+
// -> Gateway device type MUST support Inclusion Controller and Time CC
|
|
20
|
+
safe_1.CommandClasses["Inclusion Controller"],
|
|
20
21
|
safe_1.CommandClasses.Time,
|
|
21
22
|
...implementedEncapsulationCCs,
|
|
22
23
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeInformationFrame.js","sourceRoot":"","sources":["../../../src/lib/controller/NodeInformationFrame.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,8CAM6B;AAE7B,SAAgB,YAAY;IAO3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,oBAAoB;IACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,oBAAoB;IACrD,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,UAAU;IAE5C,MAAM,cAAc,GAAG,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAqB,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5E,yCAAyC;IACzC,MAAM,2BAA2B,GAAG,uBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAClE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IAEF,MAAM,sBAAsB,GAAG,kBAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACxD,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IACF,MAAM,oBAAoB,GAAG,gBAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACpD,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG;QACpB,wCAAwC;QACxC,qBAAc,CAAC,kBAAkB,CAAC;QAClC,
|
|
1
|
+
{"version":3,"file":"NodeInformationFrame.js","sourceRoot":"","sources":["../../../src/lib/controller/NodeInformationFrame.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,8CAM6B;AAE7B,SAAgB,YAAY;IAO3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,oBAAoB;IACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,oBAAoB;IACrD,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,UAAU;IAE5C,MAAM,cAAc,GAAG,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAqB,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5E,yCAAyC;IACzC,MAAM,2BAA2B,GAAG,uBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAClE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IAEF,MAAM,sBAAsB,GAAG,kBAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACxD,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IACF,MAAM,oBAAoB,GAAG,gBAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACpD,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG;QACpB,wCAAwC;QACxC,qBAAc,CAAC,kBAAkB,CAAC;QAClC,2CAA2C;QAC3C,uEAAuE;QACvE,qBAAc,CAAC,sBAAsB,CAAC;QACtC,qBAAc,CAAC,IAAI;QACnB,GAAG,2BAA2B;KAC9B,CAAC;IAEF,MAAM,aAAa,GAAG;QACrB,6DAA6D;QAC7D,qBAAc,CAAC,WAAW;QAC1B,qBAAc,CAAC,+BAA+B,CAAC;QAC/C,qBAAc,CAAC,KAAK;QACpB,qBAAc,CAAC,eAAe,CAAC;QAC/B,qBAAc,CAAC,sBAAsB,CAAC;QACtC,qBAAc,CAAC,2BAA2B,CAAC;QAC3C,qBAAc,CAAC,SAAS;QACxB,qBAAc,CAAC,KAAK;QACpB,qBAAc,CAAC,eAAe,CAAC;QAC/B,qBAAc,CAAC,2BAA2B,CAAC;QAC3C,qBAAc,CAAC,mBAAmB,CAAC;QACnC,qBAAc,CAAC,YAAY;QAC3B,qBAAc,CAAC,QAAQ;QACvB,qBAAc,CAAC,YAAY,CAAC;QAC5B,qBAAc,CAAC,OAAO;QACtB,qBAAc,CAAC,SAAS,CAAC;KACzB,CAAC;IACF,wFAAwF;IACxF,aAAa,CAAC,IAAI,CACjB,GAAG,CAAC,GAAG,sBAAsB,EAAE,GAAG,oBAAoB,CAAC,CAAC,MAAM,CAC7D,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CACnC,CACD,CAAC;IAEF,0DAA0D;IAE1D,OAAO;QACN,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;QACnB,YAAY;QACZ,aAAa;KACb,CAAC;AACH,CAAC;AAtED,oCAsEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export type HealNodeStatus = "pending" | "done" | "failed" | "skipped";
|
|
2
|
+
export type SDKVersion = `${number}.${number}` | `${number}.${number}.${number}`;
|
|
3
3
|
export interface FirmwareUpdateFileInfo {
|
|
4
4
|
target: number;
|
|
5
5
|
url: string;
|
|
@@ -21,4 +21,26 @@ export interface GetFirmwareUpdatesOptions {
|
|
|
21
21
|
/** Whether the returned firmware upgrades should include prereleases from the `"beta"` channel. Default: `false`. */
|
|
22
22
|
includePrereleases?: boolean;
|
|
23
23
|
}
|
|
24
|
+
export interface ControllerFirmwareUpdateProgress {
|
|
25
|
+
/** How many fragments of the firmware update have been transmitted. Together with `totalFragments` this can be used to display progress. */
|
|
26
|
+
sentFragments: number;
|
|
27
|
+
/** How many fragments the firmware update consists of. */
|
|
28
|
+
totalFragments: number;
|
|
29
|
+
/** The total progress of the firmware update in %, rounded to two digits. */
|
|
30
|
+
progress: number;
|
|
31
|
+
}
|
|
32
|
+
export declare enum ControllerFirmwareUpdateStatus {
|
|
33
|
+
Error_Timeout = 0,
|
|
34
|
+
/** The maximum number of retry attempts for a firmware fragments were reached */
|
|
35
|
+
Error_RetryLimitReached = 1,
|
|
36
|
+
/** The update was aborted by the bootloader */
|
|
37
|
+
Error_Aborted = 2,
|
|
38
|
+
/** This controller does not support firmware updates */
|
|
39
|
+
Error_NotSupported = 3,
|
|
40
|
+
OK = 255
|
|
41
|
+
}
|
|
42
|
+
export interface ControllerFirmwareUpdateResult {
|
|
43
|
+
success: boolean;
|
|
44
|
+
status: ControllerFirmwareUpdateStatus;
|
|
45
|
+
}
|
|
24
46
|
//# sourceMappingURL=_Types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_Types.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/_Types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"_Types.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/_Types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AACvE,MAAM,MAAM,UAAU,GACnB,GAAG,MAAM,IAAI,MAAM,EAAE,GACrB,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAEnC,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,UAAU,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC3B,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACzC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qIAAqI;IACrI,6BAA6B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,qHAAqH;IACrH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAChD,4IAA4I;IAC5I,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,8BAA8B;IAEzC,aAAa,IAAI;IACjB,iFAAiF;IACjF,uBAAuB,IAAA;IACvB,+CAA+C;IAC/C,aAAa,IAAA;IACb,wDAAwD;IACxD,kBAAkB,IAAA;IAElB,EAAE,MAAO;CACT;AAED,MAAM,WAAW,8BAA8B;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,8BAA8B,CAAC;CACvC"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ControllerFirmwareUpdateStatus = void 0;
|
|
4
|
+
var ControllerFirmwareUpdateStatus;
|
|
5
|
+
(function (ControllerFirmwareUpdateStatus) {
|
|
6
|
+
// An expected response was not received from the controller in time
|
|
7
|
+
ControllerFirmwareUpdateStatus[ControllerFirmwareUpdateStatus["Error_Timeout"] = 0] = "Error_Timeout";
|
|
8
|
+
/** The maximum number of retry attempts for a firmware fragments were reached */
|
|
9
|
+
ControllerFirmwareUpdateStatus[ControllerFirmwareUpdateStatus["Error_RetryLimitReached"] = 1] = "Error_RetryLimitReached";
|
|
10
|
+
/** The update was aborted by the bootloader */
|
|
11
|
+
ControllerFirmwareUpdateStatus[ControllerFirmwareUpdateStatus["Error_Aborted"] = 2] = "Error_Aborted";
|
|
12
|
+
/** This controller does not support firmware updates */
|
|
13
|
+
ControllerFirmwareUpdateStatus[ControllerFirmwareUpdateStatus["Error_NotSupported"] = 3] = "Error_NotSupported";
|
|
14
|
+
ControllerFirmwareUpdateStatus[ControllerFirmwareUpdateStatus["OK"] = 255] = "OK";
|
|
15
|
+
})(ControllerFirmwareUpdateStatus = exports.ControllerFirmwareUpdateStatus || (exports.ControllerFirmwareUpdateStatus = {}));
|
|
3
16
|
//# sourceMappingURL=_Types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_Types.js","sourceRoot":"","sources":["../../../src/lib/controller/_Types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"_Types.js","sourceRoot":"","sources":["../../../src/lib/controller/_Types.ts"],"names":[],"mappings":";;;AAsCA,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACzC,oEAAoE;IACpE,qGAAiB,CAAA;IACjB,iFAAiF;IACjF,yHAAuB,CAAA;IACvB,+CAA+C;IAC/C,qGAAa,CAAA;IACb,wDAAwD;IACxD,+GAAkB,CAAA;IAElB,iFAAS,CAAA;AACV,CAAC,EAXW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAWzC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare enum BootloaderState {
|
|
3
|
+
Menu = 0,
|
|
4
|
+
UploadingFirmware = 1
|
|
5
|
+
}
|
|
6
|
+
/** Encapsulates information about the currently active bootloader */
|
|
7
|
+
export declare class Bootloader {
|
|
8
|
+
private writeSerial;
|
|
9
|
+
readonly version: string;
|
|
10
|
+
constructor(writeSerial: (data: Buffer) => Promise<void>, version: string, options: {
|
|
11
|
+
num: number;
|
|
12
|
+
option: string;
|
|
13
|
+
}[]);
|
|
14
|
+
readonly uploadOption: number;
|
|
15
|
+
readonly runOption: number;
|
|
16
|
+
state: BootloaderState;
|
|
17
|
+
beginUpload(): Promise<void>;
|
|
18
|
+
runApplication(): Promise<void>;
|
|
19
|
+
uploadFragment(fragmentNumber: number, data: Buffer): Promise<void>;
|
|
20
|
+
finishUpload(): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=Bootloader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bootloader.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/Bootloader.ts"],"names":[],"mappings":";AAGA,oBAAY,eAAe;IAC1B,IAAI,IAAA;IACJ,iBAAiB,IAAA;CACjB;AAED,qEAAqE;AACrE,qBAAa,UAAU;IAErB,OAAO,CAAC,WAAW;aACH,OAAO,EAAE,MAAM;gBADvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACpC,OAAO,EAAE,MAAM,EAC/B,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE;IAuB3C,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,eAAe,CAAwB;IAExC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,cAAc,CAC1B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;IAeH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bootloader = exports.BootloaderState = void 0;
|
|
4
|
+
const core_1 = require("@zwave-js/core");
|
|
5
|
+
const serial_1 = require("@zwave-js/serial");
|
|
6
|
+
var BootloaderState;
|
|
7
|
+
(function (BootloaderState) {
|
|
8
|
+
BootloaderState[BootloaderState["Menu"] = 0] = "Menu";
|
|
9
|
+
BootloaderState[BootloaderState["UploadingFirmware"] = 1] = "UploadingFirmware";
|
|
10
|
+
})(BootloaderState = exports.BootloaderState || (exports.BootloaderState = {}));
|
|
11
|
+
/** Encapsulates information about the currently active bootloader */
|
|
12
|
+
class Bootloader {
|
|
13
|
+
constructor(writeSerial, version, options) {
|
|
14
|
+
this.writeSerial = writeSerial;
|
|
15
|
+
this.version = version;
|
|
16
|
+
this.state = BootloaderState.Menu;
|
|
17
|
+
const uploadOption = options.find((o) => o.option === "upload gbl")?.num;
|
|
18
|
+
if (!uploadOption) {
|
|
19
|
+
throw new core_1.ZWaveError("The bootloader does not support uploading a GBL file!", core_1.ZWaveErrorCodes.Driver_NotSupported);
|
|
20
|
+
}
|
|
21
|
+
this.uploadOption = uploadOption;
|
|
22
|
+
const runOption = options.find((o) => o.option === "run")?.num;
|
|
23
|
+
if (!runOption) {
|
|
24
|
+
throw new core_1.ZWaveError("Could not find run option in bootloader menu!", core_1.ZWaveErrorCodes.Driver_NotSupported);
|
|
25
|
+
}
|
|
26
|
+
this.runOption = runOption;
|
|
27
|
+
}
|
|
28
|
+
async beginUpload() {
|
|
29
|
+
await this.writeSerial(Buffer.from(this.uploadOption.toString(), "ascii"));
|
|
30
|
+
}
|
|
31
|
+
async runApplication() {
|
|
32
|
+
await this.writeSerial(Buffer.from(this.runOption.toString(), "ascii"));
|
|
33
|
+
}
|
|
34
|
+
async uploadFragment(fragmentNumber, data) {
|
|
35
|
+
const command = Buffer.concat([
|
|
36
|
+
Buffer.from([
|
|
37
|
+
serial_1.XModemMessageHeaders.SOF,
|
|
38
|
+
fragmentNumber & 0xff,
|
|
39
|
+
0xff - (fragmentNumber & 0xff),
|
|
40
|
+
]),
|
|
41
|
+
data,
|
|
42
|
+
Buffer.allocUnsafe(2),
|
|
43
|
+
]);
|
|
44
|
+
command.writeUint16BE((0, core_1.CRC16_CCITT)(data, 0x0000), command.length - 2);
|
|
45
|
+
await this.writeSerial(command);
|
|
46
|
+
}
|
|
47
|
+
async finishUpload() {
|
|
48
|
+
await this.writeSerial(Buffer.from([serial_1.XModemMessageHeaders.EOT]));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.Bootloader = Bootloader;
|
|
52
|
+
//# sourceMappingURL=Bootloader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bootloader.js","sourceRoot":"","sources":["../../../src/lib/driver/Bootloader.ts"],"names":[],"mappings":";;;AAAA,yCAA0E;AAC1E,6CAAwD;AAExD,IAAY,eAGX;AAHD,WAAY,eAAe;IAC1B,qDAAI,CAAA;IACJ,+EAAiB,CAAA;AAClB,CAAC,EAHW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAG1B;AAED,qEAAqE;AACrE,MAAa,UAAU;IACtB,YACS,WAA4C,EACpC,OAAe,EAC/B,OAA0C;QAFlC,gBAAW,GAAX,WAAW,CAAiC;QACpC,YAAO,GAAP,OAAO,CAAQ;QA0BzB,UAAK,GAAoB,eAAe,CAAC,IAAI,CAAC;QAvBpD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAChC,EAAE,GAAG,CAAC;QACP,IAAI,CAAC,YAAY,EAAE;YAClB,MAAM,IAAI,iBAAU,CACnB,uDAAuD,EACvD,sBAAe,CAAC,mBAAmB,CACnC,CAAC;SACF;QACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE,GAAG,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE;YACf,MAAM,IAAI,iBAAU,CACnB,+CAA+C,EAC/C,sBAAe,CAAC,mBAAmB,CACnC,CAAC;SACF;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAMM,KAAK,CAAC,WAAW;QACvB,MAAM,IAAI,CAAC,WAAW,CACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAClD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,cAAc;QAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,CAAC;IAEM,KAAK,CAAC,cAAc,CAC1B,cAAsB,EACtB,IAAY;QAEZ,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACX,6BAAoB,CAAC,GAAG;gBACxB,cAAc,GAAG,IAAI;gBACrB,IAAI,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;aAC9B,CAAC;YACF,IAAI;YACJ,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;SACrB,CAAC,CAAC;QACH,OAAO,CAAC,aAAa,CAAC,IAAA,kBAAW,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,YAAY;QACxB,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,6BAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;CACD;AA9DD,gCA8DC"}
|
|
@@ -18,7 +18,7 @@ export interface CommandQueueContext {
|
|
|
18
18
|
currentTransaction?: Transaction;
|
|
19
19
|
abortActor?: ActorRefFrom<SerialAPICommandMachine>;
|
|
20
20
|
}
|
|
21
|
-
export
|
|
21
|
+
export type CommandQueueEvent = {
|
|
22
22
|
type: "trigger";
|
|
23
23
|
} | {
|
|
24
24
|
type: "add";
|
|
@@ -51,10 +51,10 @@ export declare type CommandQueueEvent = {
|
|
|
51
51
|
} & Omit<CommandQueueDoneData & {
|
|
52
52
|
type: "failure";
|
|
53
53
|
}, "type">);
|
|
54
|
-
export
|
|
54
|
+
export type CommandQueueDoneData = SerialAPICommandDoneData & {
|
|
55
55
|
transaction: Transaction;
|
|
56
56
|
};
|
|
57
|
-
export
|
|
58
|
-
export
|
|
57
|
+
export type CommandQueueMachine = StateMachine<CommandQueueContext, CommandQueueStateSchema, CommandQueueEvent, any, any, any, any>;
|
|
58
|
+
export type CommandQueueInterpreter = Interpreter<CommandQueueContext, CommandQueueStateSchema, CommandQueueEvent>;
|
|
59
59
|
export declare function createCommandQueueMachine(implementations: ServiceImplementations, params: SerialAPICommandMachineParams): CommandQueueMachine;
|
|
60
60
|
//# sourceMappingURL=CommandQueueMachine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandQueueMachine.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/CommandQueueMachine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAEN,YAAY,EAGZ,WAAW,EAGX,YAAY,EACZ,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAEN,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEN,sBAAsB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AASjD,MAAM,WAAW,uBAAuB;IACvC,MAAM,EAAE;QACP,IAAI,EAAE,EAAE,CAAC;QACT,OAAO,EAAE,EAAE,CAAC;QACZ,aAAa,EAAE,EAAE,CAAC;QAClB,WAAW,EAAE,EAAE,CAAC;KAChB,CAAC;CACF;AAGD,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,UAAU,CAAC,EAAE,YAAY,CAAC,uBAAuB,CAAC,CAAC;CACnD;AAED,
|
|
1
|
+
{"version":3,"file":"CommandQueueMachine.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/CommandQueueMachine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAEN,YAAY,EAGZ,WAAW,EAGX,YAAY,EACZ,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAEN,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEN,sBAAsB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AASjD,MAAM,WAAW,uBAAuB;IACvC,MAAM,EAAE;QACP,IAAI,EAAE,EAAE,CAAC;QACT,OAAO,EAAE,EAAE,CAAC;QACZ,aAAa,EAAE,EAAE,CAAC;QAClB,WAAW,EAAE,EAAE,CAAC;KAChB,CAAC;CACF;AAGD,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,UAAU,CAAC,EAAE,YAAY,CAAC,uBAAuB,CAAC,CAAC;CACnD;AAED,MAAM,MAAM,iBAAiB,GAC1B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAEvD;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAEf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACvC,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAAG,IAAI,CACnC,oBAAoB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,EAC1C,MAAM,CACL,CAAC,GACF,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAAG,IAAI,CACnC,oBAAoB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,EAC1C,MAAM,CACL,CAAC,CAAC;AAGN,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG;IAC7D,WAAW,EAAE,WAAW,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAC7C,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACH,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAChD,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,CACjB,CAAC;AAmEF,wBAAgB,yBAAyB,CACxC,eAAe,EAAE,sBAAsB,EACvC,MAAM,EAAE,6BAA6B,GACnC,mBAAmB,CA0OrB"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
2
3
|
import { CommandClass, ICommandClassContainer } from "@zwave-js/cc";
|
|
3
4
|
import { ConfigManager } from "@zwave-js/config";
|
|
4
5
|
import { CommandClasses, ICommandClass, LogConfig, SendCommandOptions, SendCommandReturnType, SendMessageOptions } from "@zwave-js/core";
|
|
5
6
|
import type { ZWaveApplicationHost } from "@zwave-js/host";
|
|
6
|
-
import { FunctionType, Message, ZWaveSerialPortImplementation } from "@zwave-js/serial";
|
|
7
|
+
import { BootloaderChunk, FunctionType, Message, ZWaveSerialPortImplementation } from "@zwave-js/serial";
|
|
7
8
|
import { DeepPartial, TypedEventEmitter } from "@zwave-js/shared";
|
|
9
|
+
import { DeferredPromise } from "alcalzone-shared/deferred-promise";
|
|
8
10
|
import * as util from "util";
|
|
9
11
|
import { ZWaveController } from "../controller/Controller";
|
|
10
12
|
import type { Endpoint } from "../node/Endpoint";
|
|
@@ -21,13 +23,20 @@ export declare const libName: string;
|
|
|
21
23
|
* Function signature for a message handler. The return type signals if the
|
|
22
24
|
* message was handled (`true`) or further handlers should be called (`false`)
|
|
23
25
|
*/
|
|
24
|
-
export
|
|
26
|
+
export type RequestHandler<T extends Message = Message> = (msg: T) => boolean | Promise<boolean>;
|
|
27
|
+
interface AwaitedChunk<T> {
|
|
28
|
+
promise: DeferredPromise<T>;
|
|
29
|
+
timeout?: NodeJS.Timeout;
|
|
30
|
+
predicate: (msg: T) => boolean;
|
|
31
|
+
}
|
|
32
|
+
export type AwaitedBootloaderChunkEntry = AwaitedChunk<BootloaderChunk>;
|
|
25
33
|
export interface DriverEventCallbacks {
|
|
26
34
|
"driver ready": () => void;
|
|
35
|
+
"bootloader ready": () => void;
|
|
27
36
|
"all nodes ready": () => void;
|
|
28
37
|
error: (err: Error) => void;
|
|
29
38
|
}
|
|
30
|
-
export
|
|
39
|
+
export type DriverEvents = Extract<keyof DriverEventCallbacks, string>;
|
|
31
40
|
/**
|
|
32
41
|
* The driver is the core of this library. It controls the serial interface,
|
|
33
42
|
* handles transmission and receipt of messages and manages the network cache.
|
|
@@ -47,6 +56,8 @@ export declare class Driver extends TypedEventEmitter<DriverEventCallbacks> impl
|
|
|
47
56
|
private awaitedMessages;
|
|
48
57
|
/** A map of awaited commands */
|
|
49
58
|
private awaitedCommands;
|
|
59
|
+
/** A map of awaited chunks from the bootloader */
|
|
60
|
+
private awaitedBootloaderChunks;
|
|
50
61
|
/** A map of Node ID -> ongoing sessions */
|
|
51
62
|
private nodeSessions;
|
|
52
63
|
private ensureNodeSessions;
|
|
@@ -62,6 +73,9 @@ export declare class Driver extends TypedEventEmitter<DriverEventCallbacks> impl
|
|
|
62
73
|
private _controller;
|
|
63
74
|
/** Encapsulates information about the Z-Wave controller and provides access to its nodes */
|
|
64
75
|
get controller(): ZWaveController;
|
|
76
|
+
/** While in bootloader mode, this encapsulates information about the bootloader and its state */
|
|
77
|
+
private _bootloader;
|
|
78
|
+
isInBootloader(): boolean;
|
|
65
79
|
private _securityManager;
|
|
66
80
|
private _securityManager2;
|
|
67
81
|
getNodeUnsafe(msg: Message): ZWaveNode | undefined;
|
|
@@ -387,5 +401,15 @@ export declare class Driver extends TypedEventEmitter<DriverEventCallbacks> impl
|
|
|
387
401
|
* **Note:** Bugfixes and changes to device configuration generally require a restart or re-interview to take effect.
|
|
388
402
|
*/
|
|
389
403
|
installConfigUpdate(): Promise<boolean>;
|
|
404
|
+
private _enterBootloaderPromise;
|
|
405
|
+
private leaveBootloaderInternal;
|
|
406
|
+
private serialport_onBootloaderData;
|
|
407
|
+
/**
|
|
408
|
+
* Waits until a specific chunk is received from the bootloader or a timeout has elapsed. Returns the received chunk.
|
|
409
|
+
* @param timeout The number of milliseconds to wait. If the timeout elapses, the returned promise will be rejected
|
|
410
|
+
* @param predicate A predicate function to test all incoming chunks
|
|
411
|
+
*/
|
|
412
|
+
waitForBootloaderChunk<T extends BootloaderChunk>(predicate: (chunk: BootloaderChunk) => boolean, timeout: number): Promise<T>;
|
|
390
413
|
}
|
|
414
|
+
export {};
|
|
391
415
|
//# sourceMappingURL=Driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Driver.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/Driver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Driver.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/Driver.ts"],"names":[],"mappings":"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"}
|