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.
Files changed (83) hide show
  1. package/build/Controller.d.ts +1 -1
  2. package/build/Controller.d.ts.map +1 -1
  3. package/build/Controller.js +2 -1
  4. package/build/Controller.js.map +1 -1
  5. package/build/Controller_safe.d.ts +1 -1
  6. package/build/Controller_safe.d.ts.map +1 -1
  7. package/build/Controller_safe.js +2 -1
  8. package/build/Controller_safe.js.map +1 -1
  9. package/build/lib/controller/Controller.d.ts +65 -2
  10. package/build/lib/controller/Controller.d.ts.map +1 -1
  11. package/build/lib/controller/Controller.js +670 -21
  12. package/build/lib/controller/Controller.js.map +1 -1
  13. package/build/lib/controller/FirmwareUpdateService.d.ts +2 -1
  14. package/build/lib/controller/FirmwareUpdateService.d.ts.map +1 -1
  15. package/build/lib/controller/FirmwareUpdateService.js +47 -82
  16. package/build/lib/controller/FirmwareUpdateService.js.map +1 -1
  17. package/build/lib/controller/Inclusion.d.ts +9 -4
  18. package/build/lib/controller/Inclusion.d.ts.map +1 -1
  19. package/build/lib/controller/Inclusion.js.map +1 -1
  20. package/build/lib/controller/NodeInformationFrame.d.ts.map +1 -1
  21. package/build/lib/controller/NodeInformationFrame.js +3 -2
  22. package/build/lib/controller/NodeInformationFrame.js.map +1 -1
  23. package/build/lib/controller/_Types.d.ts +24 -2
  24. package/build/lib/controller/_Types.d.ts.map +1 -1
  25. package/build/lib/controller/_Types.js +13 -0
  26. package/build/lib/controller/_Types.js.map +1 -1
  27. package/build/lib/driver/Bootloader.d.ts +22 -0
  28. package/build/lib/driver/Bootloader.d.ts.map +1 -0
  29. package/build/lib/driver/Bootloader.js +52 -0
  30. package/build/lib/driver/Bootloader.js.map +1 -0
  31. package/build/lib/driver/CommandQueueMachine.d.ts +4 -4
  32. package/build/lib/driver/CommandQueueMachine.d.ts.map +1 -1
  33. package/build/lib/driver/Driver.d.ts +27 -3
  34. package/build/lib/driver/Driver.d.ts.map +1 -1
  35. package/build/lib/driver/Driver.js +178 -51
  36. package/build/lib/driver/Driver.js.map +1 -1
  37. package/build/lib/driver/DriverMock.d.ts +5 -1
  38. package/build/lib/driver/DriverMock.d.ts.map +1 -1
  39. package/build/lib/driver/DriverMock.js +5 -1
  40. package/build/lib/driver/DriverMock.js.map +1 -1
  41. package/build/lib/driver/MessageGenerators.d.ts +1 -1
  42. package/build/lib/driver/MessageGenerators.d.ts.map +1 -1
  43. package/build/lib/driver/SendThreadMachine.d.ts +7 -7
  44. package/build/lib/driver/SendThreadMachine.d.ts.map +1 -1
  45. package/build/lib/driver/SerialAPICommandMachine.d.ts +8 -8
  46. package/build/lib/driver/SerialAPICommandMachine.d.ts.map +1 -1
  47. package/build/lib/driver/SerialAPICommandMachine.js +7 -1
  48. package/build/lib/driver/SerialAPICommandMachine.js.map +1 -1
  49. package/build/lib/driver/StateMachineShared.d.ts +2 -2
  50. package/build/lib/driver/StateMachineShared.d.ts.map +1 -1
  51. package/build/lib/driver/TransactionMachine.d.ts +3 -3
  52. package/build/lib/driver/TransactionMachine.d.ts.map +1 -1
  53. package/build/lib/driver/TransportServiceMachine.d.ts +4 -4
  54. package/build/lib/driver/TransportServiceMachine.d.ts.map +1 -1
  55. package/build/lib/driver/ZWaveOptions.d.ts +12 -1
  56. package/build/lib/driver/ZWaveOptions.d.ts.map +1 -1
  57. package/build/lib/node/Node.d.ts +3 -3
  58. package/build/lib/node/Node.d.ts.map +1 -1
  59. package/build/lib/node/Node.js +65 -14
  60. package/build/lib/node/Node.js.map +1 -1
  61. package/build/lib/node/NodeReadyMachine.d.ts +3 -3
  62. package/build/lib/node/NodeReadyMachine.d.ts.map +1 -1
  63. package/build/lib/node/NodeStatusMachine.d.ts +3 -3
  64. package/build/lib/node/NodeStatusMachine.d.ts.map +1 -1
  65. package/build/lib/node/_Types.d.ts +21 -21
  66. package/build/lib/node/_Types.d.ts.map +1 -1
  67. package/build/lib/serialapi/application/ApplicationUpdateRequest.d.ts +14 -10
  68. package/build/lib/serialapi/application/ApplicationUpdateRequest.d.ts.map +1 -1
  69. package/build/lib/serialapi/application/ApplicationUpdateRequest.js +27 -16
  70. package/build/lib/serialapi/application/ApplicationUpdateRequest.js.map +1 -1
  71. package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.d.ts +3 -0
  72. package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.d.ts.map +1 -1
  73. package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.js +12 -0
  74. package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.js.map +1 -1
  75. package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.d.ts +96 -0
  76. package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.d.ts.map +1 -0
  77. package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.js +326 -0
  78. package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.js.map +1 -0
  79. package/build/lib/serialapi/nvm/GetNVMIdMessages.d.ts +1 -1
  80. package/build/lib/serialapi/nvm/GetNVMIdMessages.d.ts.map +1 -1
  81. package/build/lib/serialapi/transport/SendDataShared.d.ts +3 -3
  82. package/build/lib/serialapi/transport/SendDataShared.d.ts.map +1 -1
  83. 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
- const serviceURL = "https://firmware.zwave-js.io";
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
- let cleanCacheTimeout;
21
- function cleanCache() {
22
- if (cleanCacheTimeout) {
23
- clearTimeout(cleanCacheTimeout);
24
- cleanCacheTimeout = undefined;
25
- }
26
- const now = Date.now();
27
- for (const [key, cached] of requestCache) {
28
- if (cached.staleDate < now) {
29
- requestCache.delete(key);
30
- }
31
- }
32
- if (requestCache.size > 0) {
33
- cleanCacheTimeout = setTimeout(cleanCache, CLEAN_CACHE_INTERVAL_MS).unref();
34
- }
35
- }
36
- async function cachedGot(config) {
37
- // Replaces got's built-in cache functionality because it depends on an outdated version of
38
- // cacheable-request (<8.3.1), which does not distinguish between POSTs with different bodies
39
- const hash = crypto_1.default
40
- .createHash("sha256")
41
- .update(JSON.stringify(config.json))
42
- .digest("hex");
43
- const cacheKey = `${config.method}:${config.url.toString()}:${hash}`;
44
- // Return cached requests if they are not stale yet
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 ? "v2" : "v1"}/updates`,
103
- json: {
104
- manufacturerId: (0, shared_1.formatId)(deviceId.manufacturerId),
105
- productType: (0, shared_1.formatId)(deviceId.productType),
106
- productId: (0, shared_1.formatId)(deviceId.productId),
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(() => cachedGot(config));
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":"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"}
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 declare type InclusionOptions = {
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 declare type ExclusionOptions = {
115
+ export type ExclusionOptions = {
111
116
  strategy: ExclusionStrategy.ExcludeOnly | ExclusionStrategy.DisableProvisioningEntry | ExclusionStrategy.Unprovision;
112
117
  };
113
118
  /** Options for replacing a node */
114
- export declare type ReplaceNodeOptions = {
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 declare type SmartStartProvisioningEntry = PlannedProvisioningEntry | IncludedProvisioningEntry;
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,oBAAY,gBAAgB,GACzB;IACA,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC;IACpC;;;OAGG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACvB,GACD;IACA,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACxC;;;OAGG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;CACtC,GACD;IACA,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,wBAAwB,CAAC;CACvC,GACD;IACA,QAAQ,EACL,iBAAiB,CAAC,QAAQ,GAC1B,iBAAiB,CAAC,WAAW,CAAC;CAChC,CAAC;AAaL,oBAAY,gBAAgB,GAAG;IAC9B,QAAQ,EACL,iBAAiB,CAAC,WAAW,GAC7B,iBAAiB,CAAC,wBAAwB,GAC1C,iBAAiB,CAAC,WAAW,CAAC;CACjC,CAAC;AAEF,mCAAmC;AACnC,oBAAY,kBAAkB,GAG3B;IACA,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACxC;;;OAGG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;CACtC,GACD;IACA,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACxC;;;OAGG;IACH,YAAY,CAAC,EAAE,wBAAwB,CAAC;CACvC,GACD;IACA,QAAQ,EACL,iBAAiB,CAAC,QAAQ,GAC1B,iBAAiB,CAAC,WAAW,CAAC;CAChC,CAAC;AAEL,oBAAY,uBAAuB;IAClC,MAAM,IAAA;IACN,QAAQ,IAAA;CACR;AAED,MAAM,WAAW,wBAAwB;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAEjC,gGAAgG;IAChG,GAAG,EAAE,MAAM,CAAC;IAEZ,kEAAkE;IAClE,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAEpD;;OAEG;IACH,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IAC1E,MAAM,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,2BAA2B,GACpC,wBAAwB,GACxB,yBAAyB,CAAC;AAE7B,oBAAY,cAAc;IACzB,+DAA+D;IAC/D,IAAI,IAAA;IACJ,2DAA2D;IAC3D,SAAS,IAAA;IACT,2DAA2D;IAC3D,SAAS,IAAA;IACT,4DAA4D;IAC5D,IAAI,IAAA;IACJ,4EAA4E;IAC5E,UAAU,IAAA;CACV;AAED,oGAAoG;AACpG,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;CACjC"}
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;AAqHD,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
+ {"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,CA+DA"}
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
- // TODO: Z-Wave Plus v2 Device Type Specification
19
- // Gateway device type MUST **support** Inclusion Controller and Time CC
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,iDAAiD;QACjD,wEAAwE;QACxE,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;AArED,oCAqEC"}
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 declare type HealNodeStatus = "pending" | "done" | "failed" | "skipped";
2
- export declare type SDKVersion = `${number}.${number}` | `${number}.${number}.${number}`;
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,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,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"}
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 declare type CommandQueueEvent = {
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 declare type CommandQueueDoneData = SerialAPICommandDoneData & {
54
+ export type CommandQueueDoneData = SerialAPICommandDoneData & {
55
55
  transaction: Transaction;
56
56
  };
57
- export declare type CommandQueueMachine = StateMachine<CommandQueueContext, CommandQueueStateSchema, CommandQueueEvent, any, any, any, any>;
58
- export declare type CommandQueueInterpreter = Interpreter<CommandQueueContext, CommandQueueStateSchema, CommandQueueEvent>;
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,oBAAY,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,oBAAY,oBAAoB,GAAG,wBAAwB,GAAG;IAC7D,WAAW,EAAE,WAAW,CAAC;CACzB,CAAC;AAEF,oBAAY,mBAAmB,GAAG,YAAY,CAC7C,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACH,CAAC;AACF,oBAAY,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
+ {"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 declare type RequestHandler<T extends Message = Message> = (msg: T) => boolean | Promise<boolean>;
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 declare type DriverEvents = Extract<keyof DriverEventCallbacks, string>;
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":"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"}
1
+ {"version":3,"file":"Driver.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/Driver.ts"],"names":[],"mappings":"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"}