zwave-js 12.2.3 → 12.3.1

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 (35) hide show
  1. package/build/lib/controller/Controller.d.ts.map +1 -1
  2. package/build/lib/controller/Controller.js +34 -13
  3. package/build/lib/controller/Controller.js.map +1 -1
  4. package/build/lib/driver/Driver.d.ts +6 -0
  5. package/build/lib/driver/Driver.d.ts.map +1 -1
  6. package/build/lib/driver/Driver.js +116 -76
  7. package/build/lib/driver/Driver.js.map +1 -1
  8. package/build/lib/driver/SerialAPICommandMachine.d.ts +1 -4
  9. package/build/lib/driver/SerialAPICommandMachine.d.ts.map +1 -1
  10. package/build/lib/driver/SerialAPICommandMachine.js +0 -9
  11. package/build/lib/driver/SerialAPICommandMachine.js.map +1 -1
  12. package/build/lib/driver/StateMachineShared.d.ts.map +1 -1
  13. package/build/lib/driver/StateMachineShared.js +0 -3
  14. package/build/lib/driver/StateMachineShared.js.map +1 -1
  15. package/build/lib/driver/ZWaveOptions.d.ts +36 -0
  16. package/build/lib/driver/ZWaveOptions.d.ts.map +1 -1
  17. package/build/lib/driver/ZWaveOptions.js +9 -0
  18. package/build/lib/driver/ZWaveOptions.js.map +1 -1
  19. package/build/lib/node/Endpoint.d.ts.map +1 -1
  20. package/build/lib/node/Endpoint.js +1 -1
  21. package/build/lib/node/Endpoint.js.map +1 -1
  22. package/build/lib/node/Node.d.ts.map +1 -1
  23. package/build/lib/node/Node.js +9 -12
  24. package/build/lib/node/Node.js.map +1 -1
  25. package/build/lib/node/mockCCBehaviors/Basic.d.ts.map +1 -1
  26. package/build/lib/node/mockCCBehaviors/Basic.js +2 -1
  27. package/build/lib/node/mockCCBehaviors/Basic.js.map +1 -1
  28. package/build/lib/node/utils.d.ts.map +1 -1
  29. package/build/lib/node/utils.js +1 -0
  30. package/build/lib/node/utils.js.map +1 -1
  31. package/build/mockServer.d.ts +3 -1
  32. package/build/mockServer.d.ts.map +1 -1
  33. package/build/mockServer.js +4 -0
  34. package/build/mockServer.js.map +1 -1
  35. package/package.json +9 -9
@@ -318,6 +318,11 @@ export declare class Driver extends TypedEventEmitter<DriverEventCallbacks> impl
318
318
  */
319
319
  softReset(): Promise<void>;
320
320
  private softResetInternal;
321
+ /**
322
+ * Checks whether recovering an unresponsive controller is enabled
323
+ * and whether the driver is in a state where it makes sense.
324
+ */
325
+ private mayRecoverUnresponsiveController;
321
326
  private ensureSerialAPI;
322
327
  /**
323
328
  * Performs a hard reset on the controller. This wipes out all configuration!
@@ -436,6 +441,7 @@ export declare class Driver extends TypedEventEmitter<DriverEventCallbacks> impl
436
441
  * This method should not be called outside of {@link drainSerialAPIQueue}.
437
442
  */
438
443
  private executeSerialAPICommand;
444
+ private getQueueForTransaction;
439
445
  /**
440
446
  * Sends a message to the Z-Wave stick.
441
447
  * @param msg The message to send
@@ -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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"}
@@ -79,12 +79,12 @@ exports.libVersion = packageJson.version;
79
79
  exports.libName = packageJson.name;
80
80
  // This is made with cfonts:
81
81
  const libNameString = `
82
- ███████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ███████╗ ██╗ ███████╗
83
- ╚══███╔╝ ██║ ██║ ██╔══██╗ ██║ ██║ ██╔════╝ ██║ ██╔════╝
84
- ███╔╝ ██║ █╗ ██║ ███████║ ██║ ██║ █████╗ █████╗ ██║ ███████╗
85
- ███╔╝ ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝ ╚════╝ ██ ██║ ╚════██║
86
- ███████╗ ╚███╔███╔╝ ██║ ██║ ╚████╔╝ ███████╗ ╚█████╔╝ ███████║
87
- ╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═══╝ ╚══════╝ ╚════╝ ╚══════╝
82
+ ███████╗ ██╗ ██╗ █████╗ ██╗ ██╗ ███████╗ ██╗ ███████╗
83
+ ╚══███╔╝ ██║ ██║ ██╔══██╗ ██║ ██║ ██╔════╝ ██║ ██╔════╝
84
+ ███╔╝ █████╗ ██║ █╗ ██║ ███████║ ██║ ██║ █████╗ ██║ ███████╗
85
+ ███╔╝ ╚════╝ ██║███╗██║ ██╔══██║ ╚██╗ ██╔╝ ██╔══╝ ██ ██║ ╚════██║
86
+ ███████╗ ╚███╔███╔╝ ██║ ██║ ╚████╔╝ ███████╗ ╚█████╔╝ ███████║
87
+ ╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═══╝ ╚══════╝ ╚════╝ ╚══════╝
88
88
  `;
89
89
  const defaultOptions = {
90
90
  timeouts: {
@@ -111,8 +111,13 @@ const defaultOptions = {
111
111
  nodeInterview: 5,
112
112
  },
113
113
  disableOptimisticValueUpdate: false,
114
- // By default enable soft reset unless the env variable is set
115
- enableSoftReset: !process.env.ZWAVEJS_DISABLE_SOFT_RESET,
114
+ features: {
115
+ // By default enable soft reset unless the env variable is set
116
+ softReset: !process.env.ZWAVEJS_DISABLE_SOFT_RESET,
117
+ // By default enable the unresponsive controller recovery unless the env variable is set
118
+ unresponsiveControllerRecovery: !process.env
119
+ .ZWAVEJS_DISABLE_UNRESPONSIVE_CONTROLLER_RECOVERY,
120
+ },
116
121
  interview: {
117
122
  queryAllUserCodes: false,
118
123
  },
@@ -243,6 +248,15 @@ class Driver extends shared_1.TypedEventEmitter {
243
248
  }
244
249
  // Finally apply the defaults, without overwriting any existing settings
245
250
  this._options = (0, shared_1.mergeDeep)(mergedOptions, (0, shared_1.cloneDeep)(defaultOptions));
251
+ // Normalize deprecated options
252
+ // TODO: Remove test in packages/zwave-js/src/lib/test/driver/sendDataMissingCallbackAbort.test.ts
253
+ // when the deprecated option is removed
254
+ if (
255
+ // eslint-disable-next-line deprecation/deprecation
256
+ this._options.enableSoftReset === false
257
+ && this._options.features.softReset) {
258
+ this._options.features.softReset = false;
259
+ }
246
260
  // And make sure they contain valid values
247
261
  checkOptions(this._options);
248
262
  if (this._options.userAgent) {
@@ -878,9 +892,9 @@ class Driver extends shared_1.TypedEventEmitter {
878
892
  await this.controller.identify();
879
893
  await this.initNetworkCache(this.controller.homeId);
880
894
  const maySoftReset = this.maySoftReset();
881
- if (this._options.enableSoftReset && !maySoftReset) {
895
+ if (this._options.features.softReset && !maySoftReset) {
882
896
  this.driverLog.print(`Soft reset is enabled through config, but this stick does not support it.`, "warn");
883
- this._options.enableSoftReset = false;
897
+ this._options.features.softReset = false;
884
898
  }
885
899
  if (maySoftReset) {
886
900
  await this.softResetInternal(false);
@@ -1157,7 +1171,8 @@ class Driver extends shared_1.TypedEventEmitter {
1157
1171
  onNodeAlive(node, oldStatus) {
1158
1172
  this.controllerLog.logNode(node.id, `The node is ${oldStatus === _Types_1.NodeStatus.Unknown ? "" : "now "}alive.`);
1159
1173
  if (oldStatus === _Types_1.NodeStatus.Dead
1160
- && node.interviewStage !== _Types_1.InterviewStage.Complete) {
1174
+ && node.interviewStage !== _Types_1.InterviewStage.Complete
1175
+ && !this._options.testingHooks?.skipNodeInterview) {
1161
1176
  void this.interviewNodeInternal(node);
1162
1177
  }
1163
1178
  }
@@ -1660,7 +1675,7 @@ class Driver extends shared_1.TypedEventEmitter {
1660
1675
  return false;
1661
1676
  }
1662
1677
  // No clear indication, make the result depend on the config option
1663
- return !!this._options.enableSoftReset;
1678
+ return !!this._options.features.softReset;
1664
1679
  }
1665
1680
  /**
1666
1681
  * Soft-resets the controller if the feature is enabled
@@ -1755,6 +1770,17 @@ class Driver extends shared_1.TypedEventEmitter {
1755
1770
  this.emit("error", new core_1.ZWaveError(restartReason, core_1.ZWaveErrorCodes.Driver_Failed));
1756
1771
  });
1757
1772
  }
1773
+ /**
1774
+ * Checks whether recovering an unresponsive controller is enabled
1775
+ * and whether the driver is in a state where it makes sense.
1776
+ */
1777
+ mayRecoverUnresponsiveController() {
1778
+ if (!this._options.features.unresponsiveControllerRecovery) {
1779
+ return false;
1780
+ }
1781
+ // Only recover after we know the controller has been responsive
1782
+ return this._controllerInterviewed;
1783
+ }
1758
1784
  async ensureSerialAPI() {
1759
1785
  // Wait 1.5 seconds after reset to ensure that the module is ready for communication again
1760
1786
  // Z-Wave 700 sticks are relatively fast, so we also wait for the Serial API started command
@@ -2443,36 +2469,56 @@ class Driver extends shared_1.TypedEventEmitter {
2443
2469
  * Returns `true` if the transaction failure was handled, `false` if it needs to be rejected.
2444
2470
  */
2445
2471
  handleMissingControllerACK(transaction, error) {
2446
- if (!this._controller)
2472
+ if (!this._controller || !this.mayRecoverUnresponsiveController()) {
2447
2473
  return false;
2448
- const fail = (message) => {
2449
- this.rejectTransaction(transaction, error);
2450
- void this.destroyWithMessage(message);
2474
+ }
2475
+ const recoverByReopeningSerialport = async () => {
2476
+ if (!this.serial)
2477
+ return;
2478
+ this.driverLog.print("Attempting to recover unresponsive controller by reopening the serial port...", "warn");
2479
+ if (this.serial.isOpen)
2480
+ await this.serial.close();
2481
+ await (0, async_1.wait)(1000);
2482
+ await this.openSerialport();
2483
+ this.driverLog.print("Serial port reopened. Returning to normal operation and hoping for the best...", "warn");
2484
+ // We don't know if this worked
2485
+ // Go back to normal operation and hope for the best.
2486
+ this._controller?.setStatus(core_1.ControllerStatus.Ready);
2487
+ this._recoveryPhase = 0 /* ControllerRecoveryPhase.None */;
2451
2488
  };
2452
- if (this._controller.status !== core_1.ControllerStatus.Unresponsive) {
2489
+ if ((this._controller.status !== core_1.ControllerStatus.Unresponsive
2490
+ && !this.maySoftReset())
2491
+ || this._recoveryPhase
2492
+ === 2 /* ControllerRecoveryPhase.ACKTimeoutAfterReset */) {
2493
+ // Either we can/could not do a soft reset or the controller is still timing out afterwards
2494
+ void recoverByReopeningSerialport().catch(shared_1.noop);
2495
+ return true;
2496
+ }
2497
+ else if (this._controller.status !== core_1.ControllerStatus.Unresponsive) {
2453
2498
  // The controller was responsive before this transaction failed.
2454
2499
  // Mark it as unresponsive and try to soft-reset it.
2455
2500
  this.controller.setStatus(core_1.ControllerStatus.Unresponsive);
2456
- this._recoveryPhase = 1 /* ControllerRecoveryPhase.NoACK */;
2457
- this.driverLog.print("Attempting to recover unresponsive controller...", "warn");
2458
- // Re-queue the transaction.
2459
- // Its message generator may have finished, so reset that too.
2460
- transaction.reset();
2461
- this.queue.add(transaction.clone());
2501
+ this._recoveryPhase = 1 /* ControllerRecoveryPhase.ACKTimeout */;
2502
+ this.driverLog.print("Attempting to recover unresponsive controller by restarting it...", "warn");
2462
2503
  // Execute the soft-reset asynchronously
2463
2504
  void this.softReset().then(() => {
2464
2505
  // The controller responded. It is no longer unresponsive
2506
+ // Re-queue the transaction, so it can get handled next.
2507
+ // Its message generator may have finished, so reset that too.
2508
+ transaction.reset();
2509
+ this.getQueueForTransaction(transaction).add(transaction.clone());
2465
2510
  this._controller?.setStatus(core_1.ControllerStatus.Ready);
2466
2511
  this._recoveryPhase = 0 /* ControllerRecoveryPhase.None */;
2467
2512
  }).catch(() => {
2468
- // Soft-reset failed. Reject the original transaction and try restarting the driver.
2469
- fail("Recovering unresponsive controller failed. Restarting the driver...");
2513
+ // Soft-reset failed. Reject the transaction
2514
+ this.rejectTransaction(transaction, error);
2515
+ // and reopen the serial port
2516
+ return recoverByReopeningSerialport();
2470
2517
  });
2471
2518
  return true;
2472
2519
  }
2473
2520
  else {
2474
- // We already attempted to recover from an unresponsive controller.
2475
- // Ending up here means the soft-reset also failed and the driver is about to be destroyed
2521
+ // Not sure what to do here
2476
2522
  return false;
2477
2523
  }
2478
2524
  }
@@ -2482,15 +2528,16 @@ class Driver extends shared_1.TypedEventEmitter {
2482
2528
  * Returns `true` if the transaction failure was handled, `false` if it needs to be rejected.
2483
2529
  */
2484
2530
  handleMissingSendDataResponseOrCallback(transaction, error) {
2485
- if (!this._controller)
2531
+ if (!this._controller || !this.mayRecoverUnresponsiveController()) {
2486
2532
  return false;
2533
+ }
2487
2534
  if (
2488
2535
  // The SendData response can time out on older controllers trying to reach a dead node.
2489
2536
  // In this case, we do not want to reset the controller, but just mark the node as dead.
2490
2537
  error.context === "response"
2491
2538
  // Also do this if the callback is timing out even after restarting the controller
2492
2539
  || this._recoveryPhase
2493
- === 3 /* ControllerRecoveryPhase.CallbackTimeoutAfterReset */) {
2540
+ === 4 /* ControllerRecoveryPhase.CallbackTimeoutAfterReset */) {
2494
2541
  const node = this.getNodeUnsafe(transaction.message);
2495
2542
  if (!node)
2496
2543
  return false; // This should never happen, but whatever
@@ -2531,24 +2578,33 @@ class Driver extends shared_1.TypedEventEmitter {
2531
2578
  }
2532
2579
  else if (this._controller.status !== core_1.ControllerStatus.Unresponsive) {
2533
2580
  // The controller was responsive before this transaction failed.
2534
- // Mark it as unresponsive and try to soft-reset it.
2535
- this.controller.setStatus(core_1.ControllerStatus.Unresponsive);
2536
- this._recoveryPhase = 2 /* ControllerRecoveryPhase.CallbackTimeout */;
2537
- this.driverLog.print("Controller missed Send Data callback. Attempting to recover...", "warn");
2538
- // Re-queue the transaction.
2539
- // Its message generator may have finished, so reset that too.
2540
- transaction.reset();
2541
- this.queue.add(transaction.clone());
2542
- // Execute the soft-reset asynchronously
2543
- void this.softReset().then(() => {
2544
- // The controller responded. It is no longer unresponsive
2545
- this._controller?.setStatus(core_1.ControllerStatus.Ready);
2546
- this._recoveryPhase =
2547
- 3 /* ControllerRecoveryPhase.CallbackTimeoutAfterReset */;
2548
- }).catch(() => {
2549
- // Soft-reset failed. Just reject the original transaction.
2581
+ if (this.maySoftReset()) {
2582
+ // Mark it as unresponsive and try to soft-reset it.
2583
+ this.controller.setStatus(core_1.ControllerStatus.Unresponsive);
2584
+ this._recoveryPhase = 3 /* ControllerRecoveryPhase.CallbackTimeout */;
2585
+ this.driverLog.print("Controller missed Send Data callback. Attempting to recover...", "warn");
2586
+ // Execute the soft-reset asynchronously
2587
+ void this.softReset().then(() => {
2588
+ // The controller responded. It is no longer unresponsive.
2589
+ // Re-queue the transaction, so it can get handled next.
2590
+ // Its message generator may have finished, so reset that too.
2591
+ transaction.reset();
2592
+ this.getQueueForTransaction(transaction).add(transaction.clone());
2593
+ this._controller?.setStatus(core_1.ControllerStatus.Ready);
2594
+ this._recoveryPhase =
2595
+ 4 /* ControllerRecoveryPhase.CallbackTimeoutAfterReset */;
2596
+ }).catch(() => {
2597
+ // Soft-reset failed. Just reject the transaction
2598
+ this.rejectTransaction(transaction, error);
2599
+ this.driverLog.print("Automatic controller recovery failed. Returning to normal operation and hoping for the best.", "warn");
2600
+ this._recoveryPhase = 0 /* ControllerRecoveryPhase.None */;
2601
+ this._controller?.setStatus(core_1.ControllerStatus.Ready);
2602
+ });
2603
+ }
2604
+ else {
2605
+ this.driverLog.print("Controller missed Send Data callback. Cannot recover automatically because the soft reset feature is unsupported or disabled. Returning to normal operation and hoping for the best...", "warn");
2550
2606
  this.rejectTransaction(transaction, error);
2551
- });
2607
+ }
2552
2608
  return true;
2553
2609
  }
2554
2610
  else {
@@ -3454,20 +3510,8 @@ ${handlers.length} left`);
3454
3510
  zwError = (0, StateMachineShared_1.createMessageDroppedUnexpectedError)(e);
3455
3511
  }
3456
3512
  else {
3457
- if (e.code === core_1.ZWaveErrorCodes.Controller_CommandAborted) {
3458
- // This transaction was aborted by the driver due to a controller timeout.
3459
- // Rejections, re-queuing etc. have been handled, so just drop it silently and
3460
- // continue with the next message
3461
- transaction.setProgress({
3462
- state: core_1.TransactionState.Failed,
3463
- reason: "Aborted due to controller timeout",
3464
- });
3465
- return;
3466
- }
3467
- else if ((0, SendDataShared_1.isSendData)(msg) && (0, core_1.isMissingControllerCallback)(e)) {
3468
- // If the callback to SendData times out, we need to issue a SendDataAbort
3469
- await this.abortSendData();
3470
- // Reject the transaction - this will trigger the recovery mechanism and retry the command afterwards
3513
+ if ((0, SendDataShared_1.isSendData)(msg) && (0, core_1.isMissingControllerCallback)(e)) {
3514
+ // The controller is unresponsive. Reject the transaction, so we can attempt to recover
3471
3515
  throw e;
3472
3516
  }
3473
3517
  else if ((0, core_1.isMissingControllerACK)(e)) {
@@ -3547,7 +3591,7 @@ ${handlers.length} left`);
3547
3591
  async executeSerialAPICommand(msg, transactionSource) {
3548
3592
  const machine = (0, SerialAPICommandMachine_1.createSerialAPICommandMachine)(msg, {
3549
3593
  sendData: (data) => this.writeSerial(data),
3550
- sendDataAbort: () => this.abortSendData(false),
3594
+ sendDataAbort: () => this.abortSendData(),
3551
3595
  notifyUnsolicited: (msg) => {
3552
3596
  void this.handleUnsolicitedMessage(msg);
3553
3597
  },
@@ -3626,6 +3670,15 @@ ${handlers.length} left`);
3626
3670
  this.serialAPIInterpreter.start();
3627
3671
  return result;
3628
3672
  }
3673
+ getQueueForTransaction(t) {
3674
+ if (t.priority === core_1.MessagePriority.Immediate
3675
+ || t.priority === core_1.MessagePriority.ControllerImmediate) {
3676
+ return this.immediateQueue;
3677
+ }
3678
+ else {
3679
+ return this.queue;
3680
+ }
3681
+ }
3629
3682
  /**
3630
3683
  * Sends a message to the Z-Wave stick.
3631
3684
  * @param msg The message to send
@@ -3706,13 +3759,7 @@ ${handlers.length} left`);
3706
3759
  transaction.requestWakeUpOnDemand = !!options.requestWakeUpOnDemand;
3707
3760
  transaction.tag = options.tag;
3708
3761
  // And queue it
3709
- if (transaction.priority === core_1.MessagePriority.Immediate
3710
- || transaction.priority === core_1.MessagePriority.ControllerImmediate) {
3711
- this.immediateQueue.add(transaction);
3712
- }
3713
- else {
3714
- this.queue.add(transaction);
3715
- }
3762
+ this.getQueueForTransaction(transaction).add(transaction);
3716
3763
  transaction.setProgress({ state: core_1.TransactionState.Queued });
3717
3764
  // If the transaction should expire, start the timeout
3718
3765
  let expirationTimeout;
@@ -3951,7 +3998,7 @@ ${handlers.length} left`);
3951
3998
  transmitOptions: core_1.TransmitOptions.AutoRoute | core_1.TransmitOptions.ACK,
3952
3999
  });
3953
4000
  }
3954
- async abortSendData(abortInterpreter = false) {
4001
+ async abortSendData() {
3955
4002
  try {
3956
4003
  const abort = new SendDataMessages_1.SendDataAbort(this);
3957
4004
  await this.writeSerial(abort.serialize());
@@ -3961,13 +4008,6 @@ ${handlers.length} left`);
3961
4008
  // We're bypassing the serial API machine, so we need to wait for the ACK ourselves
3962
4009
  // This could also cause a NAK or CAN, but we don't really care
3963
4010
  await this.waitForMessageHeader(() => true, 500).catch(shared_1.noop);
3964
- // Abort the currently active command machine only if the controller has timed out.
3965
- // SendData commands we abort early MUST result in the normal callback.
3966
- if (abortInterpreter
3967
- && this.serialAPIInterpreter?.status
3968
- === xstate_1.InterpreterStatus.Running) {
3969
- this.serialAPIInterpreter.send("abort");
3970
- }
3971
4011
  }
3972
4012
  catch {
3973
4013
  // ignore