zwave-js 9.5.0 → 9.6.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.map +1 -1
- package/build/lib/commandclass/AlarmSensorCC.d.ts.map +1 -1
- package/build/lib/commandclass/AlarmSensorCC.js +9 -7
- package/build/lib/commandclass/AlarmSensorCC.js.map +1 -1
- package/build/lib/commandclass/FirmwareUpdateMetaDataCC.d.ts +9 -1
- package/build/lib/commandclass/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/lib/commandclass/FirmwareUpdateMetaDataCC.js +76 -2
- package/build/lib/commandclass/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/lib/commandclass/NotificationCC.d.ts.map +1 -1
- package/build/lib/commandclass/NotificationCC.js +0 -8
- package/build/lib/commandclass/NotificationCC.js.map +1 -1
- package/build/lib/commandclass/SupervisionCC.d.ts.map +1 -1
- package/build/lib/commandclass/SupervisionCC.js +14 -12
- package/build/lib/commandclass/SupervisionCC.js.map +1 -1
- package/build/lib/commandclass/_Types.d.ts +7 -0
- package/build/lib/commandclass/_Types.d.ts.map +1 -1
- package/build/lib/commandclass/_Types.js +31 -3
- package/build/lib/commandclass/_Types.js.map +1 -1
- package/build/lib/controller/Controller.d.ts +12 -1
- package/build/lib/controller/Controller.d.ts.map +1 -1
- package/build/lib/controller/Controller.js +85 -0
- package/build/lib/controller/Controller.js.map +1 -1
- package/build/lib/controller/FirmwareUpdateService.d.ts +9 -0
- package/build/lib/controller/FirmwareUpdateService.d.ts.map +1 -0
- package/build/lib/controller/FirmwareUpdateService.js +74 -0
- package/build/lib/controller/FirmwareUpdateService.js.map +1 -0
- package/build/lib/controller/_Types.d.ts +12 -1
- package/build/lib/controller/_Types.d.ts.map +1 -1
- package/build/lib/controller/_Types.js +1 -0
- package/build/lib/controller/_Types.js.map +1 -1
- package/build/lib/node/Node.d.ts +9 -1
- package/build/lib/node/Node.d.ts.map +1 -1
- package/build/lib/node/Node.js +37 -3
- package/build/lib/node/Node.js.map +1 -1
- package/package.json +15 -15
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.downloadFirmwareUpdate = exports.getAvailableFirmwareUpdates = void 0;
|
|
7
|
+
const core_1 = require("@zwave-js/core");
|
|
8
|
+
const shared_1 = require("@zwave-js/shared");
|
|
9
|
+
const axios_1 = __importDefault(require("axios"));
|
|
10
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
11
|
+
const serviceURL = "https://firmware.zwave-js.io";
|
|
12
|
+
const DOWNLOAD_TIMEOUT = 60000;
|
|
13
|
+
const MAX_FIRMWARE_SIZE = 10 * 1024 * 1024; // 10MB should be enough for any conceivable Z-Wave chip
|
|
14
|
+
/**
|
|
15
|
+
* Retrieves the available firmware updates for the node with the given fingerprint.
|
|
16
|
+
* Returns the service response or `undefined` in case of an error.
|
|
17
|
+
*/
|
|
18
|
+
async function getAvailableFirmwareUpdates(manufacturerId, productType, productId, firmwareVersion) {
|
|
19
|
+
const response = (await (0, axios_1.default)({
|
|
20
|
+
method: "post",
|
|
21
|
+
url: `${serviceURL}/api/v1/updates`,
|
|
22
|
+
data: {
|
|
23
|
+
manufacturerId: (0, shared_1.formatId)(manufacturerId),
|
|
24
|
+
productType: (0, shared_1.formatId)(productType),
|
|
25
|
+
productId: (0, shared_1.formatId)(productId),
|
|
26
|
+
firmwareVersion,
|
|
27
|
+
},
|
|
28
|
+
})).data;
|
|
29
|
+
return response;
|
|
30
|
+
}
|
|
31
|
+
exports.getAvailableFirmwareUpdates = getAvailableFirmwareUpdates;
|
|
32
|
+
async function downloadFirmwareUpdate(file) {
|
|
33
|
+
var _a;
|
|
34
|
+
const [hashAlgorithm, expectedHash] = file.integrity.split(":", 2);
|
|
35
|
+
if (hashAlgorithm !== "sha256") {
|
|
36
|
+
throw new core_1.ZWaveError(`Unsupported hash algorithm ${hashAlgorithm} for integrity check`, core_1.ZWaveErrorCodes.Argument_Invalid);
|
|
37
|
+
}
|
|
38
|
+
// TODO: Make request abort-able (requires AbortController, Node 14.17+ / Node 16)
|
|
39
|
+
// Download the firmware file
|
|
40
|
+
const downloadResponse = await axios_1.default.get(file.url, {
|
|
41
|
+
timeout: DOWNLOAD_TIMEOUT,
|
|
42
|
+
maxContentLength: MAX_FIRMWARE_SIZE,
|
|
43
|
+
responseType: "arraybuffer",
|
|
44
|
+
});
|
|
45
|
+
const rawData = downloadResponse.data;
|
|
46
|
+
// Infer the file type from the content-disposition header or the filename
|
|
47
|
+
let filename;
|
|
48
|
+
if ((_a = downloadResponse.headers["content-disposition"]) === null || _a === void 0 ? void 0 : _a.startsWith("attachment; filename=")) {
|
|
49
|
+
filename = downloadResponse.headers["content-disposition"]
|
|
50
|
+
.split("filename=")[1]
|
|
51
|
+
.replace(/^"/, "")
|
|
52
|
+
.replace(/[";]$/, "");
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
filename = new URL(file.url).pathname;
|
|
56
|
+
}
|
|
57
|
+
// Extract the raw data
|
|
58
|
+
const format = (0, core_1.guessFirmwareFileFormat)(filename, rawData);
|
|
59
|
+
const firmware = (0, core_1.extractFirmware)(rawData, format);
|
|
60
|
+
// Ensure the hash matches
|
|
61
|
+
const hasher = crypto_1.default.createHash("sha256");
|
|
62
|
+
hasher.update(firmware.data);
|
|
63
|
+
const actualHash = hasher.digest("hex");
|
|
64
|
+
if (actualHash !== expectedHash) {
|
|
65
|
+
throw new core_1.ZWaveError(`Integrity check failed. Expected hash ${expectedHash}, got ${actualHash}`, core_1.ZWaveErrorCodes.FWUpdateService_IntegrityCheckFailed);
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
data: firmware.data,
|
|
69
|
+
// Don't trust the guessed firmware target, use the one from the provided info
|
|
70
|
+
firmwareTarget: file.target,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
exports.downloadFirmwareUpdate = downloadFirmwareUpdate;
|
|
74
|
+
//# sourceMappingURL=FirmwareUpdateService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateService.js","sourceRoot":"","sources":["../../../src/lib/controller/FirmwareUpdateService.ts"],"names":[],"mappings":";;;;;;AAAA,yCAMwB;AACxB,6CAA4C;AAC5C,kDAA0B;AAC1B,oDAA4B;AAG5B,MAAM,UAAU,GAAG,8BAA8B,CAAC;AAClD,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,wDAAwD;AAEpG;;;GAGG;AACI,KAAK,UAAU,2BAA2B,CAChD,cAAsB,EACtB,WAAmB,EACnB,SAAiB,EACjB,eAAuB;IAEvB,MAAM,QAAQ,GAAyB,CACtC,MAAM,IAAA,eAAK,EAAC;QACX,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,GAAG,UAAU,iBAAiB;QACnC,IAAI,EAAE;YACL,cAAc,EAAE,IAAA,iBAAQ,EAAC,cAAc,CAAC;YACxC,WAAW,EAAE,IAAA,iBAAQ,EAAC,WAAW,CAAC;YAClC,SAAS,EAAE,IAAA,iBAAQ,EAAC,SAAS,CAAC;YAC9B,eAAe;SACf;KACD,CAAC,CACF,CAAC,IAAI,CAAC;IAEP,OAAO,QAAQ,CAAC;AACjB,CAAC;AApBD,kEAoBC;AAEM,KAAK,UAAU,sBAAsB,CAC3C,IAA4B;;IAE5B,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEnE,IAAI,aAAa,KAAK,QAAQ,EAAE;QAC/B,MAAM,IAAI,iBAAU,CACnB,8BAA8B,aAAa,sBAAsB,EACjE,sBAAe,CAAC,gBAAgB,CAChC,CAAC;KACF;IACD,kFAAkF;IAElF,6BAA6B;IAC7B,MAAM,gBAAgB,GAAG,MAAM,eAAK,CAAC,GAAG,CAAS,IAAI,CAAC,GAAG,EAAE;QAC1D,OAAO,EAAE,gBAAgB;QACzB,gBAAgB,EAAE,iBAAiB;QACnC,YAAY,EAAE,aAAa;KAC3B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC;IAEtC,0EAA0E;IAC1E,IAAI,QAAgB,CAAC;IACrB,IACC,MAAA,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,CAAC,0CAAE,UAAU,CAC1D,uBAAuB,CACvB,EACA;QACD,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,CAAC;aACxD,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;aACjB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;KACvB;SAAM;QACN,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;KACtC;IACD,uBAAuB;IACvB,MAAM,MAAM,GAAG,IAAA,8BAAuB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAElD,0BAA0B;IAC1B,MAAM,MAAM,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAExC,IAAI,UAAU,KAAK,YAAY,EAAE;QAChC,MAAM,IAAI,iBAAU,CACnB,yCAAyC,YAAY,SAAS,UAAU,EAAE,EAC1E,sBAAe,CAAC,oCAAoC,CACpD,CAAC;KACF;IAED,OAAO;QACN,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,8EAA8E;QAC9E,cAAc,EAAE,IAAI,CAAC,MAAM;KAC3B,CAAC;AACH,CAAC;AAxDD,wDAwDC"}
|
|
@@ -6,7 +6,8 @@ export declare enum TransmitOptions {
|
|
|
6
6
|
AutoRoute = 4,
|
|
7
7
|
NoRoute = 16,
|
|
8
8
|
Explore = 32,
|
|
9
|
-
DEFAULT = 37
|
|
9
|
+
DEFAULT = 37,
|
|
10
|
+
DEFAULT_NOACK = 36
|
|
10
11
|
}
|
|
11
12
|
export declare enum TransmitStatus {
|
|
12
13
|
OK = 0,
|
|
@@ -69,4 +70,14 @@ export interface TXReport {
|
|
|
69
70
|
}
|
|
70
71
|
export declare type HealNodeStatus = "pending" | "done" | "failed" | "skipped";
|
|
71
72
|
export declare type SDKVersion = `${number}.${number}` | `${number}.${number}.${number}`;
|
|
73
|
+
export interface FirmwareUpdateFileInfo {
|
|
74
|
+
target: number;
|
|
75
|
+
url: string;
|
|
76
|
+
integrity: `sha256:${string}`;
|
|
77
|
+
}
|
|
78
|
+
export declare type FirmwareUpdateInfo = {
|
|
79
|
+
version: string;
|
|
80
|
+
changelog: string;
|
|
81
|
+
files: FirmwareUpdateFileInfo[];
|
|
82
|
+
};
|
|
72
83
|
//# sourceMappingURL=_Types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_Types.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/_Types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,oBAAY,eAAe;IAC1B,MAAM,IAAI;IAEV,GAAG,IAAS;IACZ,QAAQ,IAAS;IACjB,SAAS,IAAS;IAElB,OAAO,KAAS;IAChB,OAAO,KAAS;IAEhB,OAAO,KAA4B;
|
|
1
|
+
{"version":3,"file":"_Types.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/_Types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,oBAAY,eAAe;IAC1B,MAAM,IAAI;IAEV,GAAG,IAAS;IACZ,QAAQ,IAAS;IACjB,SAAS,IAAS;IAElB,OAAO,KAAS;IAChB,OAAO,KAAS;IAEhB,OAAO,KAA4B;IACnC,aAAa,KAAiB;CAC9B;AAED,oBAAY,cAAc;IACzB,EAAE,IAAO;IACT,KAAK,IAAO;IACZ,IAAI,IAAO;IACX,OAAO,IAAO;IACd,OAAO,IAAO;CACd;AAED,+GAA+G;AAC/G,oBAAY,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtC,oBAAY,SAAS;IACpB,YAAY,MAAM;IAClB,iBAAiB,MAAM;IACvB,gBAAgB,MAAM;CACtB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,SAAS,CAEzD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAW/C;AAED,MAAM,WAAW,QAAQ;IACxB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,oFAAoF;IACpF,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/C,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,qGAAqG;IACrG,gBAAgB,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,mEAAmE;IACnE,UAAU,EAAE,OAAO,CAAC;IACpB,kEAAkE;IAClE,SAAS,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,UAAU,EAAE,gBAAgB,CAAC;IAC7B,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,kGAAkG;IAClG,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,IAAI,CAAC;IAC1B,kEAAkE;IAClE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+EAA+E;IAC/E,0BAA0B,CAAC,EAAE,IAAI,CAAC;IAClC,0EAA0E;IAC1E,gCAAgC,CAAC,EAAE,IAAI,CAAC;CACxC;AAED,oBAAY,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AACvE,oBAAY,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,oBAAY,kBAAkB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,sBAAsB,EAAE,CAAC;CAChC,CAAC"}
|
|
@@ -10,6 +10,7 @@ var TransmitOptions;
|
|
|
10
10
|
TransmitOptions[TransmitOptions["NoRoute"] = 16] = "NoRoute";
|
|
11
11
|
TransmitOptions[TransmitOptions["Explore"] = 32] = "Explore";
|
|
12
12
|
TransmitOptions[TransmitOptions["DEFAULT"] = 37] = "DEFAULT";
|
|
13
|
+
TransmitOptions[TransmitOptions["DEFAULT_NOACK"] = 36] = "DEFAULT_NOACK";
|
|
13
14
|
})(TransmitOptions = exports.TransmitOptions || (exports.TransmitOptions = {}));
|
|
14
15
|
var TransmitStatus;
|
|
15
16
|
(function (TransmitStatus) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_Types.js","sourceRoot":"","sources":["../../../src/lib/controller/_Types.ts"],"names":[],"mappings":";;;AAEA,IAAY,
|
|
1
|
+
{"version":3,"file":"_Types.js","sourceRoot":"","sources":["../../../src/lib/controller/_Types.ts"],"names":[],"mappings":";;;AAEA,IAAY,eAYX;AAZD,WAAY,eAAe;IAC1B,yDAAU,CAAA;IAEV,mDAAY,CAAA;IACZ,6DAAiB,CAAA;IACjB,+DAAkB,CAAA;IAElB,4DAAgB,CAAA;IAChB,4DAAgB,CAAA;IAEhB,4DAAmC,CAAA;IACnC,wEAA8B,CAAA;AAC/B,CAAC,EAZW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAY1B;AAED,IAAY,cAMX;AAND,WAAY,cAAc;IACzB,+CAAS,CAAA;IACT,qDAAY,CAAA;IACZ,mDAAW,CAAA;IACX,yDAAc,CAAA;IACd,yDAAc,CAAA;AACf,CAAC,EANW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAMzB;AAKD,IAAY,SAIX;AAJD,WAAY,SAAS;IACpB,2DAAkB,CAAA;IAClB,qEAAuB,CAAA;IACvB,mEAAsB,CAAA;AACvB,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAED,SAAgB,WAAW,CAAC,IAAU;IACrC,OAAO,IAAI,IAAI,SAAS,CAAC,gBAAgB,CAAC;AAC3C,CAAC;AAFD,kCAEC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAU;IACtC,QAAQ,IAAI,EAAE;QACb,KAAK,SAAS,CAAC,YAAY;YAC1B,OAAO,KAAK,CAAC;QACd,KAAK,SAAS,CAAC,iBAAiB;YAC/B,OAAO,oBAAoB,CAAC;QAC7B,KAAK,SAAS,CAAC,gBAAgB;YAC9B,OAAO,oBAAoB,CAAC;QAC7B;YACC,OAAO,GAAG,IAAI,MAAM,CAAC;KACtB;AACF,CAAC;AAXD,oCAWC"}
|
package/build/lib/node/Node.d.ts
CHANGED
|
@@ -296,7 +296,15 @@ export declare class ZWaveNode extends Endpoint implements SecurityClassOwner, Z
|
|
|
296
296
|
private busySettingClock;
|
|
297
297
|
private handleClockReport;
|
|
298
298
|
private _firmwareUpdateStatus;
|
|
299
|
-
/**
|
|
299
|
+
/**
|
|
300
|
+
* Retrieves the firmware update capabilities of a node to decide which options to offer a user prior to the update.
|
|
301
|
+
* This method uses cached information from the most recent interview.
|
|
302
|
+
*/
|
|
303
|
+
getFirmwareUpdateCapabilitiesCached(): FirmwareUpdateCapabilities;
|
|
304
|
+
/**
|
|
305
|
+
* Retrieves the firmware update capabilities of a node to decide which options to offer a user prior to the update.
|
|
306
|
+
* This communicates with the node to retrieve fresh information.
|
|
307
|
+
*/
|
|
300
308
|
getFirmwareUpdateCapabilities(): Promise<FirmwareUpdateCapabilities>;
|
|
301
309
|
/**
|
|
302
310
|
* Starts an OTA firmware update process for this node.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/lib/node/Node.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACX,YAAY,EAGZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAIN,cAAc,EAEd,QAAQ,EACR,KAAK,EAIL,KAAK,EAEL,QAAQ,EAIR,eAAe,EACf,aAAa,EAGb,kBAAkB,EAKlB,OAAO,EACP,OAAO,EAEP,aAAa,EAMb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAUN,iBAAiB,EACjB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,KAAK,EAGX,kBAAkB,EAClB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/lib/node/Node.ts"],"names":[],"mappings":"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"}
|
package/build/lib/node/Node.js
CHANGED
|
@@ -2130,6 +2130,7 @@ protocol version: ${this.protocolVersion}`;
|
|
|
2130
2130
|
});
|
|
2131
2131
|
this.emit("notification", this, core_1.CommandClasses["Multilevel Switch"], {
|
|
2132
2132
|
eventType: _Types_1.MultilevelSwitchCommand.StartLevelChange,
|
|
2133
|
+
eventTypeLabel: "Start level change",
|
|
2133
2134
|
direction: command.direction,
|
|
2134
2135
|
});
|
|
2135
2136
|
}
|
|
@@ -2138,7 +2139,10 @@ protocol version: ${this.protocolVersion}`;
|
|
|
2138
2139
|
endpoint: command.endpointIndex,
|
|
2139
2140
|
message: "treating MultilevelSwitchCC::StopLevelChange as a notification",
|
|
2140
2141
|
});
|
|
2141
|
-
this.emit("notification", this, core_1.CommandClasses["Multilevel Switch"], {
|
|
2142
|
+
this.emit("notification", this, core_1.CommandClasses["Multilevel Switch"], {
|
|
2143
|
+
eventType: _Types_1.MultilevelSwitchCommand.StopLevelChange,
|
|
2144
|
+
eventTypeLabel: "Stop level change",
|
|
2145
|
+
});
|
|
2142
2146
|
}
|
|
2143
2147
|
}
|
|
2144
2148
|
async handleZWavePlusGet(_command) {
|
|
@@ -2370,7 +2374,33 @@ protocol version: ${this.protocolVersion}`;
|
|
|
2370
2374
|
this.busySettingClock = false;
|
|
2371
2375
|
}
|
|
2372
2376
|
}
|
|
2373
|
-
/**
|
|
2377
|
+
/**
|
|
2378
|
+
* Retrieves the firmware update capabilities of a node to decide which options to offer a user prior to the update.
|
|
2379
|
+
* This method uses cached information from the most recent interview.
|
|
2380
|
+
*/
|
|
2381
|
+
getFirmwareUpdateCapabilitiesCached() {
|
|
2382
|
+
const firmwareUpgradable = this.valueDB.getValue((0, FirmwareUpdateMetaDataCC_1.getFirmwareUpgradableValueId)());
|
|
2383
|
+
const supportsActivation = this.valueDB.getValue((0, FirmwareUpdateMetaDataCC_1.getSupportsActivationValueId)());
|
|
2384
|
+
const continuesToFunction = this.valueDB.getValue((0, FirmwareUpdateMetaDataCC_1.getContinuesToFunctionValueId)());
|
|
2385
|
+
const additionalFirmwareIDs = this.valueDB.getValue((0, FirmwareUpdateMetaDataCC_1.getAdditionalFirmwareIDsValueId)());
|
|
2386
|
+
// Ensure all information was queried
|
|
2387
|
+
if (!firmwareUpgradable ||
|
|
2388
|
+
supportsActivation == undefined ||
|
|
2389
|
+
continuesToFunction == undefined ||
|
|
2390
|
+
!(0, typeguards_1.isArray)(additionalFirmwareIDs)) {
|
|
2391
|
+
return { firmwareUpgradable: false };
|
|
2392
|
+
}
|
|
2393
|
+
return {
|
|
2394
|
+
firmwareUpgradable: true,
|
|
2395
|
+
firmwareTargets: [0, ...additionalFirmwareIDs],
|
|
2396
|
+
continuesToFunction,
|
|
2397
|
+
supportsActivation,
|
|
2398
|
+
};
|
|
2399
|
+
}
|
|
2400
|
+
/**
|
|
2401
|
+
* Retrieves the firmware update capabilities of a node to decide which options to offer a user prior to the update.
|
|
2402
|
+
* This communicates with the node to retrieve fresh information.
|
|
2403
|
+
*/
|
|
2374
2404
|
async getFirmwareUpdateCapabilities() {
|
|
2375
2405
|
const api = this.commandClasses["Firmware Update Meta Data"];
|
|
2376
2406
|
const meta = await api.getMetaData();
|
|
@@ -2713,7 +2743,11 @@ protocol version: ${this.protocolVersion}`;
|
|
|
2713
2743
|
}
|
|
2714
2744
|
}
|
|
2715
2745
|
// Notify listeners
|
|
2716
|
-
this.emit("notification", this, core_1.CommandClasses["Entry Control"],
|
|
2746
|
+
this.emit("notification", this, core_1.CommandClasses["Entry Control"], {
|
|
2747
|
+
...(0, shared_1.pick)(command, ["eventType", "dataType", "eventData"]),
|
|
2748
|
+
eventTypeLabel: _Types_1.entryControlEventTypeLabels[command.eventType],
|
|
2749
|
+
dataTypeLabel: (0, shared_1.getEnumMemberName)(_Types_1.EntryControlDataTypes, command.dataType),
|
|
2750
|
+
});
|
|
2717
2751
|
}
|
|
2718
2752
|
handlePowerlevelTestNodeReport(command) {
|
|
2719
2753
|
// Notify listeners
|