zwave-js 11.10.1 → 11.12.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.
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { KEXFailType, type AssociationAddress, type AssociationGroup, type FirmwareUpdateResult } from "@zwave-js/cc";
3
- import { NodeIDType, NodeType, RFRegion, RouteKind, ValueDB, type MaybeNotKnown, type MaybeUnknown, type RSSI, type Route, type ZWaveDataRate } from "@zwave-js/core";
3
+ import { ControllerStatus, NodeIDType, NodeType, RFRegion, RouteKind, ValueDB, type MaybeNotKnown, type MaybeUnknown, type RSSI, type Route, type ZWaveDataRate } from "@zwave-js/core";
4
4
  import { FunctionType } from "@zwave-js/serial";
5
5
  import { TypedEventEmitter, type ReadonlyObjectKeyMap, type ReadonlyThrowingMap } from "@zwave-js/shared";
6
6
  import type { StatisticsEventCallbacks } from "../driver/Statistics";
@@ -30,6 +30,7 @@ interface ControllerEventCallbacks extends StatisticsEventCallbacks<ControllerSt
30
30
  "firmware update progress": (progress: ControllerFirmwareUpdateProgress) => void;
31
31
  "firmware update finished": (result: ControllerFirmwareUpdateResult) => void;
32
32
  identify: (node: ZWaveNode) => void;
33
+ "status changed": (status: ControllerStatus) => void;
33
34
  }
34
35
  export type ControllerEvents = Extract<keyof ControllerEventCallbacks, string>;
35
36
  export interface ZWaveController extends ControllerStatisticsHost {
@@ -84,6 +85,11 @@ export declare class ZWaveController extends TypedEventEmitter<ControllerEventCa
84
85
  get firmwareVersion(): MaybeNotKnown<string>;
85
86
  private _supportedFunctionTypes;
86
87
  get supportedFunctionTypes(): MaybeNotKnown<readonly FunctionType[]>;
88
+ private _status;
89
+ /**
90
+ * Which status the controller is believed to be in
91
+ */
92
+ get status(): ControllerStatus;
87
93
  /**
88
94
  * Checks if a given Z-Wave function type is supported by this controller.
89
95
  * Returns `NOT_KNOWN`/`undefined` if this information isn't known yet.
@@ -436,6 +442,8 @@ export declare class ZWaveController extends TypedEventEmitter<ControllerEventCa
436
442
  replaceFailedNode(nodeId: number, options?: ReplaceNodeOptions): Promise<boolean>;
437
443
  /** Configure the RF region at the Z-Wave API Module */
438
444
  setRFRegion(region: RFRegion): Promise<boolean>;
445
+ /** Configure the RF region at the Z-Wave API Module */
446
+ private setRFRegionInternal;
439
447
  /** Request the current RF region configured at the Z-Wave API Module */
440
448
  getRFRegion(): Promise<RFRegion>;
441
449
  /** Configure the Powerlevel setting of the Z-Wave API */
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/Controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/Controller.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,7 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
79
79
  constructor(driver, bootloaderOnly = false) {
80
80
  super();
81
81
  this.driver = driver;
82
+ this._status = core_1.ControllerStatus.Ready;
82
83
  this._nodeIdType = core_1.NodeIDType.Short;
83
84
  this._healNetworkActive = false;
84
85
  this._inclusionState = Inclusion_1.InclusionState.Idle;
@@ -172,6 +173,40 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
172
173
  get supportedFunctionTypes() {
173
174
  return this._supportedFunctionTypes;
174
175
  }
176
+ /**
177
+ * Which status the controller is believed to be in
178
+ */
179
+ get status() {
180
+ return this._status;
181
+ }
182
+ /**
183
+ * @internal
184
+ */
185
+ setStatus(newStatus) {
186
+ // Ignore duplicate events
187
+ if (newStatus === this._status)
188
+ return;
189
+ const oldStatus = this._status;
190
+ this._status = newStatus;
191
+ if (newStatus === core_1.ControllerStatus.Jammed) {
192
+ this.driver.controllerLog.print("The controller is jammed", "warn");
193
+ }
194
+ else if (newStatus === core_1.ControllerStatus.Unresponsive) {
195
+ this.driver.controllerLog.print("The controller is unresponsive", "warn");
196
+ }
197
+ else if (newStatus === core_1.ControllerStatus.Ready) {
198
+ if (oldStatus === core_1.ControllerStatus.Jammed) {
199
+ this.driver.controllerLog.print("The controller is no longer jammed", "warn");
200
+ }
201
+ else if (oldStatus === core_1.ControllerStatus.Unresponsive) {
202
+ this.driver.controllerLog.print("The controller is no longer unresponsive", "warn");
203
+ }
204
+ else {
205
+ this.driver.controllerLog.print("The controller is ready");
206
+ }
207
+ }
208
+ this.emit("status changed", newStatus);
209
+ }
175
210
  /**
176
211
  * Checks if a given Z-Wave function type is supported by this controller.
177
212
  * Returns `NOT_KNOWN`/`undefined` if this information isn't known yet.
@@ -407,6 +442,24 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
407
442
  * Queries the controller IDs and its Serial API capabilities
408
443
  */
409
444
  async identify() {
445
+ // Figure out what the serial API can do
446
+ this.driver.controllerLog.print(`querying Serial API capabilities...`);
447
+ const apiCaps = await this.driver.sendMessage(new GetSerialApiCapabilitiesMessages_1.GetSerialApiCapabilitiesRequest(this.driver), {
448
+ supportCheck: false,
449
+ });
450
+ this._firmwareVersion = apiCaps.firmwareVersion;
451
+ this._manufacturerId = apiCaps.manufacturerId;
452
+ this._productType = apiCaps.productType;
453
+ this._productId = apiCaps.productId;
454
+ this._supportedFunctionTypes = apiCaps.supportedFunctionTypes;
455
+ this.driver.controllerLog.print(`received API capabilities:
456
+ firmware version: ${this._firmwareVersion}
457
+ manufacturer ID: ${(0, shared_1.num2hex)(this._manufacturerId)}
458
+ product type: ${(0, shared_1.num2hex)(this._productType)}
459
+ product ID: ${(0, shared_1.num2hex)(this._productId)}
460
+ supported functions: ${this._supportedFunctionTypes
461
+ .map((fn) => `\n · ${serial_1.FunctionType[fn]} (${(0, shared_1.num2hex)(fn)})`)
462
+ .join("")}`);
410
463
  // Get basic controller version info
411
464
  this.driver.controllerLog.print(`querying version info...`);
412
465
  const version = await this.driver.sendMessage(new GetControllerVersionMessages_1.GetControllerVersionRequest(this.driver), {
@@ -415,48 +468,30 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
415
468
  this._protocolVersion = version.libraryVersion;
416
469
  this._type = version.controllerType;
417
470
  this.driver.controllerLog.print(`received version info:
418
- controller type: ${(0, shared_1.getEnumMemberName)(_Types_2.ZWaveLibraryTypes, this._type)}
419
- library version: ${this._protocolVersion}`);
471
+ controller type: ${(0, shared_1.getEnumMemberName)(_Types_2.ZWaveLibraryTypes, this._type)}
472
+ library version: ${this._protocolVersion}`);
420
473
  // If supported, get more fine-grained version info
421
474
  if (this.isFunctionSupported(serial_1.FunctionType.GetProtocolVersion)) {
422
475
  this.driver.controllerLog.print(`querying protocol version info...`);
423
476
  const protocol = await this.driver.sendMessage(new GetProtocolVersionMessages_1.GetProtocolVersionRequest(this.driver));
424
477
  this._protocolVersion = protocol.protocolVersion;
425
478
  let message = `received protocol version info:
426
- protocol type: ${(0, shared_1.getEnumMemberName)(core_1.ProtocolType, protocol.protocolType)}
427
- protocol version: ${protocol.protocolVersion}`;
479
+ protocol type: ${(0, shared_1.getEnumMemberName)(core_1.ProtocolType, protocol.protocolType)}
480
+ protocol version: ${protocol.protocolVersion}`;
428
481
  if (protocol.applicationFrameworkBuildNumber) {
429
482
  message += `
430
- appl. framework build no.: ${protocol.applicationFrameworkBuildNumber}`;
483
+ appl. framework build no.: ${protocol.applicationFrameworkBuildNumber}`;
431
484
  }
432
485
  if (protocol.gitCommitHash) {
433
486
  message += `
434
- git commit hash: ${protocol.gitCommitHash}`;
487
+ git commit hash: ${protocol.gitCommitHash}`;
435
488
  }
436
489
  this.driver.controllerLog.print(message);
437
490
  }
438
491
  // The SDK version cannot be queried directly, but we can deduce it from the protocol version
439
492
  this._sdkVersion = (0, ZWaveSDKVersions_1.protocolVersionToSDKVersion)(this._protocolVersion);
440
- // Figure out what the serial API can do. This MUST be done after querying the SDK version due to
441
- // a bug in some 7.xx firmwares.
442
- this.driver.controllerLog.print(`querying API capabilities...`);
443
- const apiCaps = await this.driver.sendMessage(new GetSerialApiCapabilitiesMessages_1.GetSerialApiCapabilitiesRequest(this.driver), {
444
- supportCheck: false,
445
- });
446
- this._firmwareVersion = apiCaps.firmwareVersion;
447
- this._manufacturerId = apiCaps.manufacturerId;
448
- this._productType = apiCaps.productType;
449
- this._productId = apiCaps.productId;
450
- this._supportedFunctionTypes = apiCaps.supportedFunctionTypes;
451
- this.driver.controllerLog.print(`received API capabilities:
452
- firmware version: ${this._firmwareVersion}
453
- manufacturer ID: ${(0, shared_1.num2hex)(this._manufacturerId)}
454
- product type: ${(0, shared_1.num2hex)(this._productType)}
455
- product ID: ${(0, shared_1.num2hex)(this._productId)}
456
- supported functions: ${this._supportedFunctionTypes
457
- .map((fn) => `\n · ${serial_1.FunctionType[fn]} (${(0, shared_1.num2hex)(fn)})`)
458
- .join("")}`);
459
493
  // If the serial API can be configured, figure out which sub commands are supported
494
+ // This MUST be done after querying the SDK version due to a bug in some 7.xx firmwares, which incorrectly encode the bitmask
460
495
  if (this.isFunctionSupported(serial_1.FunctionType.SerialAPISetup)) {
461
496
  this.driver.controllerLog.print(`querying serial API setup capabilities...`);
462
497
  const setupCaps = await this.driver.sendMessage(new SerialAPISetupMessages_1.SerialAPISetup_GetSupportedCommandsRequest(this.driver));
@@ -468,6 +503,56 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
468
503
  else {
469
504
  this._supportedSerialAPISetupCommands = [];
470
505
  }
506
+ // Check and possibly update the RF region to the desired value
507
+ if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.GetRFRegion)) {
508
+ this.driver.controllerLog.print(`Querying configured RF region...`);
509
+ const resp = await this.getRFRegion().catch(() => undefined);
510
+ if (resp != undefined) {
511
+ this.driver.controllerLog.print(`The controller is using RF region ${(0, shared_1.getEnumMemberName)(core_1.RFRegion, resp)}`);
512
+ }
513
+ else {
514
+ this.driver.controllerLog.print(`Querying the RF region failed!`, "warn");
515
+ }
516
+ }
517
+ if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetRFRegion) &&
518
+ this.driver.options.rf?.region != undefined &&
519
+ this.rfRegion != this.driver.options.rf.region) {
520
+ const desiredRegion = this.driver.options.rf.region;
521
+ this.driver.controllerLog.print(`Current RF region (${(0, shared_1.getEnumMemberName)(core_1.RFRegion, this.rfRegion ?? core_1.RFRegion.Unknown)}) differs from desired region (${(0, shared_1.getEnumMemberName)(core_1.RFRegion, desiredRegion)}), configuring it...`);
522
+ const resp = await this.setRFRegionInternal(desiredRegion,
523
+ // Do not soft reset here, we'll do it later
524
+ false).catch((e) => e.message);
525
+ if (resp === true) {
526
+ this.driver.controllerLog.print(`Changed RF region to ${(0, shared_1.getEnumMemberName)(core_1.RFRegion, desiredRegion)}`);
527
+ }
528
+ else {
529
+ this.driver.controllerLog.print(`Changing the RF region failed!${resp ? ` Reason: ${resp}` : ""}`, "warn");
530
+ }
531
+ }
532
+ // Check and possibly update the powerlevel settings
533
+ if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.GetPowerlevel) &&
534
+ this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetPowerlevel) &&
535
+ this.driver.options.rf?.txPower != undefined) {
536
+ const desired = this.driver.options.rf.txPower;
537
+ this.driver.controllerLog.print(`Querying configured powerlevel...`);
538
+ const current = await this.getPowerlevel().catch(() => undefined);
539
+ if (current != undefined) {
540
+ if (current.powerlevel !== desired.powerlevel ||
541
+ current.measured0dBm !== desired.measured0dBm) {
542
+ this.driver.controllerLog.print(`Current powerlevel ${current.powerlevel} dBm (${current.measured0dBm} dBm) differs from desired powerlevel ${desired.powerlevel} dBm (${desired.measured0dBm} dBm), configuring it...`);
543
+ const resp = await this.setPowerlevel(desired.powerlevel, desired.measured0dBm).catch((e) => e.message);
544
+ if (resp === true) {
545
+ this.driver.controllerLog.print(`Powerlevel updated`);
546
+ }
547
+ else {
548
+ this.driver.controllerLog.print(`Changing the powerlevel failed!${resp ? ` Reason: ${resp}` : ""}`, "warn");
549
+ }
550
+ }
551
+ }
552
+ else {
553
+ this.driver.controllerLog.print(`Querying the powerlevel failed!`, "warn");
554
+ }
555
+ }
471
556
  // Switch to 16 bit node IDs if supported. We need to do this here, as a controller may still be
472
557
  // in 16 bit mode when Z-Wave starts up. This would lead to an invalid node ID being reported.
473
558
  await this.trySetNodeIDType(core_1.NodeIDType.Long);
@@ -509,30 +594,6 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
509
594
  started this network: ${!this._isUsingHomeIdFromOtherNetwork}
510
595
  SIS is present: ${this._isSISPresent}
511
596
  was real primary: ${this._wasRealPrimary}`);
512
- // // Figure out which sub commands of SerialAPISetup are supported
513
- // if (this.isFunctionSupported(FunctionType.SerialAPISetup)) {
514
- // this.driver.controllerLog.print(
515
- // `querying serial API setup capabilities...`,
516
- // );
517
- // const setupCaps =
518
- // await this.driver.sendMessage<SerialAPISetup_GetSupportedCommandsResponse>(
519
- // new SerialAPISetup_GetSupportedCommandsRequest(this.driver),
520
- // );
521
- // this._supportedSerialAPISetupCommands = setupCaps.supportedCommands;
522
- // this.driver.controllerLog.print(
523
- // `supported serial API setup commands:${this._supportedSerialAPISetupCommands
524
- // .map(
525
- // (cmd) =>
526
- // `\n· ${getEnumMemberName(
527
- // SerialAPISetupCommand,
528
- // cmd,
529
- // )}`,
530
- // )
531
- // .join("")}`,
532
- // );
533
- // } else {
534
- // this._supportedSerialAPISetupCommands = [];
535
- // }
536
597
  // Enable TX status report if supported
537
598
  if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetTxStatusReport)) {
538
599
  this.driver.controllerLog.print(`Enabling TX status report...`);
@@ -541,17 +602,6 @@ let ZWaveController = exports.ZWaveController = class ZWaveController extends sh
541
602
  }));
542
603
  this.driver.controllerLog.print(`Enabling TX status report ${resp.success ? "successful" : "failed"}...`);
543
604
  }
544
- // Also query the controller's current RF region if possible
545
- if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.GetRFRegion)) {
546
- this.driver.controllerLog.print(`Querying configured RF region...`);
547
- const resp = await this.getRFRegion().catch(() => undefined);
548
- if (resp != undefined) {
549
- this.driver.controllerLog.print(`The controller is using RF region ${(0, shared_1.getEnumMemberName)(core_1.RFRegion, resp)}`);
550
- }
551
- else {
552
- this.driver.controllerLog.print(`Querying the RF region failed!`, "warn");
553
- }
554
- }
555
605
  // find the SUC
556
606
  this.driver.controllerLog.print(`finding SUC...`);
557
607
  const suc = await this.driver.sendMessage(new GetSUCNodeIdMessages_1.GetSUCNodeIdRequest(this.driver), { supportCheck: false });
@@ -3448,11 +3498,15 @@ ${associatedNodes.join(", ")}`,
3448
3498
  }
3449
3499
  /** Configure the RF region at the Z-Wave API Module */
3450
3500
  async setRFRegion(region) {
3501
+ return this.setRFRegionInternal(region, true);
3502
+ }
3503
+ /** Configure the RF region at the Z-Wave API Module */
3504
+ async setRFRegionInternal(region, softReset = true) {
3451
3505
  const result = await this.driver.sendMessage(new SerialAPISetupMessages_1.SerialAPISetup_SetRFRegionRequest(this.driver, { region }));
3452
3506
  if (result instanceof SerialAPISetupMessages_1.SerialAPISetup_CommandUnsupportedResponse) {
3453
3507
  throw new core_1.ZWaveError(`Your hardware does not support setting the RF region!`, core_1.ZWaveErrorCodes.Driver_NotSupported);
3454
3508
  }
3455
- if (result.success)
3509
+ if (softReset && result.success)
3456
3510
  await this.driver.trySoftReset();
3457
3511
  this._rfRegion = region;
3458
3512
  return result.success;
@@ -4186,17 +4240,34 @@ ${associatedNodes.join(", ")}`,
4186
4240
  throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: The node did not wake up within 1 minute!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
4187
4241
  }
4188
4242
  }
4189
- // Do not rely on stale information, query everything fresh from the node
4243
+ // Do not rely on potentially stale information, query everything fresh from the node.
4244
+ // The results will be stored as node properties we can read afterwards.
4245
+ // This ensures that we get the firmware version in the correct format (x.y or x.y.z)
4246
+ // Remember the RF region used to communicate with the node - just to make sure it doesn't change inbetween.
4247
+ const rfRegion = this.rfRegion;
4190
4248
  const manufacturerResponse = await node.commandClasses["Manufacturer Specific"].get();
4191
4249
  if (!manufacturerResponse) {
4192
4250
  throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: Failed to query fingerprint from the node!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
4193
4251
  }
4194
- const { manufacturerId, productType, productId } = manufacturerResponse;
4252
+ // Query the version using both possible commands to ensure we have the full version
4195
4253
  const versionResponse = await node.commandClasses.Version.get();
4196
4254
  if (!versionResponse) {
4197
4255
  throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: Failed to query firmware version from the node!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
4198
4256
  }
4199
- const firmwareVersion = versionResponse.firmwareVersions[0];
4257
+ if (node.commandClasses.Version.supportsCommand(cc_1.VersionCommand.ZWaveSoftwareGet)) {
4258
+ const softwareResponse = await node.commandClasses.Version.getZWaveSoftware();
4259
+ if (!softwareResponse) {
4260
+ throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: Failed to query firmware version from the node!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
4261
+ }
4262
+ }
4263
+ const { manufacturerId, productType, productId, firmwareVersion } = node;
4264
+ // Be really sure that we have all the information we need
4265
+ if (typeof manufacturerId !== "number" ||
4266
+ typeof productType !== "number" ||
4267
+ typeof productId !== "number" ||
4268
+ typeof firmwareVersion !== "string") {
4269
+ throw new core_1.ZWaveError(`Cannot check for firmware updates for node ${nodeId}: Failed to query fingerprint or firmware version from the node!`, core_1.ZWaveErrorCodes.FWUpdateService_MissingInformation);
4270
+ }
4200
4271
  // Now invoke the service
4201
4272
  try {
4202
4273
  return await (0, FirmwareUpdateService_1.getAvailableFirmwareUpdates)({
@@ -4204,7 +4275,7 @@ ${associatedNodes.join(", ")}`,
4204
4275
  productType,
4205
4276
  productId,
4206
4277
  firmwareVersion,
4207
- rfRegion: this.rfRegion,
4278
+ rfRegion,
4208
4279
  }, {
4209
4280
  userAgent: this.driver.getUserAgentStringWithComponents(options?.additionalUserAgentComponents),
4210
4281
  apiKey: options?.apiKey ??