zwave-js 12.12.4 → 12.13.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.
@@ -10,7 +10,7 @@ import { DeviceClass } from "./DeviceClass";
10
10
  import { type NodeDump } from "./Dump";
11
11
  import { Endpoint } from "./Endpoint";
12
12
  import { type NodeStatistics, NodeStatisticsHost } from "./NodeStatistics";
13
- import type { DateAndTime, LifelineHealthCheckResult, LifelineHealthCheckSummary, RefreshInfoOptions, RouteHealthCheckResult, RouteHealthCheckSummary, ZWaveNodeEventCallbacks } from "./_Types";
13
+ import { type DateAndTime, type LifelineHealthCheckResult, type LifelineHealthCheckSummary, type LinkReliabilityCheckOptions, type LinkReliabilityCheckResult, type RefreshInfoOptions, type RouteHealthCheckResult, type RouteHealthCheckSummary, type ZWaveNodeEventCallbacks } from "./_Types";
14
14
  import { InterviewStage, NodeStatus } from "./_Types";
15
15
  export interface ZWaveNode extends TypedEventEmitter<ZWaveNodeEventCallbacks & StatisticsEventCallbacksWithSelf<ZWaveNode, NodeStatistics>>, NodeStatisticsHost {
16
16
  }
@@ -438,6 +438,25 @@ export declare class ZWaveNode extends Endpoint implements SecurityClassOwner, I
438
438
  */
439
439
  checkRouteHealth(targetNodeId: number, rounds?: number, onProgress?: (round: number, totalRounds: number, lastRating: number, lastResult: RouteHealthCheckResult) => void): Promise<RouteHealthCheckSummary>;
440
440
  private checkRouteHealthInternal;
441
+ private _linkReliabilityCheckInProgress;
442
+ /**
443
+ * Returns whether a link reliability check is currently in progress for this node
444
+ */
445
+ isLinkReliabilityCheckInProgress(): boolean;
446
+ private _linkReliabilityCheckAborted;
447
+ private _abortLinkReliabilityCheckPromise;
448
+ /**
449
+ * Aborts an ongoing link reliability check if one is currently in progress.
450
+ *
451
+ * **Note:** The link reliability check may take a few seconds to actually be aborted.
452
+ * When it is, the promise returned by {@link checkLinkReliability} will be resolved with the results obtained so far.
453
+ */
454
+ abortLinkReliabilityCheck(): void;
455
+ /**
456
+ * Tests the reliability of the link between the controller and this node and returns the results.
457
+ */
458
+ checkLinkReliability(options: LinkReliabilityCheckOptions): Promise<LinkReliabilityCheckResult>;
459
+ private checkLinkReliabilityBasicSetOnOff;
441
460
  /**
442
461
  * Sets the current date, time and timezone (or a subset of those) on the node using one or more of the respective CCs.
443
462
  * Returns whether the operation was successful.
@@ -1 +1 @@
1
- {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/lib/node/Node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/lib/node/Node.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,7 @@ const NodeReadyMachine_1 = require("./NodeReadyMachine");
89
89
  const NodeStatistics_1 = require("./NodeStatistics");
90
90
  const NodeStatusMachine_1 = require("./NodeStatusMachine");
91
91
  const _Types_1 = require("./_Types");
92
+ const _Types_2 = require("./_Types");
92
93
  const nodeUtils = __importStar(require("./utils"));
93
94
  const MAX_ASSOCIATIONS = 1;
94
95
  /**
@@ -272,30 +273,30 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
272
273
  this.emit(eventName, this, outArg);
273
274
  }
274
275
  statusMachine;
275
- _status = _Types_1.NodeStatus.Unknown;
276
+ _status = _Types_2.NodeStatus.Unknown;
276
277
  onStatusChange(newStatus) {
277
278
  // Ignore duplicate events
278
279
  if (newStatus === this._status)
279
280
  return;
280
281
  const oldStatus = this._status;
281
282
  this._status = newStatus;
282
- if (this._status === _Types_1.NodeStatus.Asleep) {
283
+ if (this._status === _Types_2.NodeStatus.Asleep) {
283
284
  this.emit("sleep", this, oldStatus);
284
285
  }
285
- else if (this._status === _Types_1.NodeStatus.Awake) {
286
+ else if (this._status === _Types_2.NodeStatus.Awake) {
286
287
  this.emit("wake up", this, oldStatus);
287
288
  }
288
- else if (this._status === _Types_1.NodeStatus.Dead) {
289
+ else if (this._status === _Types_2.NodeStatus.Dead) {
289
290
  this.emit("dead", this, oldStatus);
290
291
  }
291
- else if (this._status === _Types_1.NodeStatus.Alive) {
292
+ else if (this._status === _Types_2.NodeStatus.Alive) {
292
293
  this.emit("alive", this, oldStatus);
293
294
  }
294
295
  // To be marked ready, a node must be known to be not dead.
295
296
  // This means that listening nodes must have communicated with us and
296
297
  // sleeping nodes are assumed to be ready
297
- this.readyMachine.send(this._status !== _Types_1.NodeStatus.Unknown
298
- && this._status !== _Types_1.NodeStatus.Dead
298
+ this.readyMachine.send(this._status !== _Types_2.NodeStatus.Unknown
299
+ && this._status !== _Types_2.NodeStatus.Dead
299
300
  ? "NOT_DEAD"
300
301
  : "MAYBE_DEAD");
301
302
  }
@@ -338,7 +339,7 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
338
339
  if (!this.canSleep || !this.supportsCC(core_1.CommandClasses["Wake Up"])) {
339
340
  throw new core_1.ZWaveError(`Node ${this.id} does not support wakeup!`, core_1.ZWaveErrorCodes.CC_NotSupported);
340
341
  }
341
- else if (this._status === _Types_1.NodeStatus.Awake) {
342
+ else if (this._status === _Types_2.NodeStatus.Awake) {
342
343
  return Promise.resolve();
343
344
  }
344
345
  return new Promise((resolve) => {
@@ -1085,7 +1086,7 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
1085
1086
  */
1086
1087
  get interviewStage() {
1087
1088
  return (this.driver.cacheGet(NetworkCache_1.cacheKeys.node(this.id).interviewStage)
1088
- ?? _Types_1.InterviewStage.None);
1089
+ ?? _Types_2.InterviewStage.None);
1089
1090
  }
1090
1091
  set interviewStage(value) {
1091
1092
  this.driver.cacheSet(NetworkCache_1.cacheKeys.node(this.id).interviewStage, value);
@@ -1172,7 +1173,7 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
1172
1173
  if (resetSecurityClasses)
1173
1174
  this.securityClasses.clear();
1174
1175
  this._interviewAttempts = 0;
1175
- this.interviewStage = _Types_1.InterviewStage.None;
1176
+ this.interviewStage = _Types_2.InterviewStage.None;
1176
1177
  this._ready = false;
1177
1178
  this.deviceClass = undefined;
1178
1179
  this.isListening = undefined;
@@ -1187,6 +1188,9 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
1187
1188
  this.deviceConfigHash = undefined;
1188
1189
  this._hasEmittedNoS0NetworkKeyError = false;
1189
1190
  this._hasEmittedNoS2NetworkKeyError = false;
1191
+ for (const ep of this.getAllEndpoints()) {
1192
+ ep["reset"]();
1193
+ }
1190
1194
  this._valueDB.clear({ noEvent: true });
1191
1195
  this._endpointInstances.clear();
1192
1196
  super.reset();
@@ -1226,7 +1230,7 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
1226
1230
  * for a specific node, use `node.refreshInfo()` instead
1227
1231
  */
1228
1232
  async interviewInternal() {
1229
- if (this.interviewStage === _Types_1.InterviewStage.Complete) {
1233
+ if (this.interviewStage === _Types_2.InterviewStage.Complete) {
1230
1234
  this.driver.controllerLog.logNode(this.id, `skipping interview because it is already completed`);
1231
1235
  return true;
1232
1236
  }
@@ -1252,7 +1256,7 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
1252
1256
  // The interview is done in several stages. At each point, the interview process might be aborted
1253
1257
  // due to a stage failing. The reached stage is saved, so we can continue it later without
1254
1258
  // repeating stages unnecessarily
1255
- if (this.interviewStage === _Types_1.InterviewStage.None) {
1259
+ if (this.interviewStage === _Types_2.InterviewStage.None) {
1256
1260
  // do a full interview starting with the protocol info
1257
1261
  this.driver.controllerLog.logNode(this.id, `new node, doing a full interview...`);
1258
1262
  this.emit("interview started", this);
@@ -1260,24 +1264,24 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
1260
1264
  }
1261
1265
  if (!this.isControllerNode) {
1262
1266
  if ((this.isListening || this.isFrequentListening)
1263
- && this.status !== _Types_1.NodeStatus.Alive) {
1267
+ && this.status !== _Types_2.NodeStatus.Alive) {
1264
1268
  // Ping non-sleeping nodes to determine their status
1265
1269
  if (!await this.ping()) {
1266
1270
  // Not alive, abort the interview
1267
1271
  return false;
1268
1272
  }
1269
1273
  }
1270
- if (this.interviewStage === _Types_1.InterviewStage.ProtocolInfo) {
1274
+ if (this.interviewStage === _Types_2.InterviewStage.ProtocolInfo) {
1271
1275
  if (!(await tryInterviewStage(() => this.interviewNodeInfo()))) {
1272
1276
  return false;
1273
1277
  }
1274
1278
  }
1275
1279
  // At this point the basic interview of new nodes is done. Start here when re-interviewing known nodes
1276
1280
  // to get updated information about command classes
1277
- if (this.interviewStage === _Types_1.InterviewStage.NodeInfo) {
1281
+ if (this.interviewStage === _Types_2.InterviewStage.NodeInfo) {
1278
1282
  // Only advance the interview if it was completed, otherwise abort
1279
1283
  if (await this.interviewCCs()) {
1280
- this.setInterviewStage(_Types_1.InterviewStage.CommandClasses);
1284
+ this.setInterviewStage(_Types_2.InterviewStage.CommandClasses);
1281
1285
  }
1282
1286
  else {
1283
1287
  return false;
@@ -1285,15 +1289,15 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
1285
1289
  }
1286
1290
  }
1287
1291
  if ((this.isControllerNode
1288
- && this.interviewStage === _Types_1.InterviewStage.ProtocolInfo)
1292
+ && this.interviewStage === _Types_2.InterviewStage.ProtocolInfo)
1289
1293
  || (!this.isControllerNode
1290
- && this.interviewStage === _Types_1.InterviewStage.CommandClasses)) {
1294
+ && this.interviewStage === _Types_2.InterviewStage.CommandClasses)) {
1291
1295
  // Load a config file for this node if it exists and overwrite the previously reported information
1292
1296
  await this.overwriteConfig();
1293
1297
  }
1294
1298
  // Remember the state of the device config that is used for this node
1295
1299
  this.deviceConfigHash = this._deviceConfig?.getHash();
1296
- this.setInterviewStage(_Types_1.InterviewStage.Complete);
1300
+ this.setInterviewStage(_Types_2.InterviewStage.Complete);
1297
1301
  this.readyMachine.send("INTERVIEW_DONE");
1298
1302
  // Tell listeners that the interview is completed
1299
1303
  // The driver will then send this node to sleep
@@ -1303,7 +1307,7 @@ let ZWaveNode = class ZWaveNode extends Endpoint_1.Endpoint {
1303
1307
  /** Updates this node's interview stage and saves to cache when appropriate */
1304
1308
  setInterviewStage(completedStage) {
1305
1309
  this.interviewStage = completedStage;
1306
- this.emit("interview stage completed", this, (0, shared_1.getEnumMemberName)(_Types_1.InterviewStage, completedStage));
1310
+ this.emit("interview stage completed", this, (0, shared_1.getEnumMemberName)(_Types_2.InterviewStage, completedStage));
1307
1311
  this.driver.controllerLog.interviewStage(this);
1308
1312
  }
1309
1313
  /** Step #1 of the node interview */
@@ -1348,16 +1352,16 @@ protocol version: ${this.protocolVersion}`;
1348
1352
  });
1349
1353
  // Assume that sleeping nodes start asleep (unless we know it is awake)
1350
1354
  if (this.canSleep) {
1351
- if (this.status === _Types_1.NodeStatus.Alive) {
1355
+ if (this.status === _Types_2.NodeStatus.Alive) {
1352
1356
  // If it was just included and is currently communicating with us,
1353
1357
  // then we didn't know yet that it can sleep. So we need to switch from alive/dead to awake/asleep
1354
1358
  this.markAsAwake();
1355
1359
  }
1356
- else if (this.status !== _Types_1.NodeStatus.Awake) {
1360
+ else if (this.status !== _Types_2.NodeStatus.Awake) {
1357
1361
  this.markAsAsleep();
1358
1362
  }
1359
1363
  }
1360
- this.setInterviewStage(_Types_1.InterviewStage.ProtocolInfo);
1364
+ this.setInterviewStage(_Types_2.InterviewStage.ProtocolInfo);
1361
1365
  }
1362
1366
  /** Node interview: pings the node to see if it responds */
1363
1367
  async ping() {
@@ -1418,7 +1422,7 @@ protocol version: ${this.protocolVersion}`;
1418
1422
  if ((0, core_1.isZWaveError)(e)) {
1419
1423
  if (attempts === 1
1420
1424
  && this.canSleep
1421
- && this.status !== _Types_1.NodeStatus.Asleep
1425
+ && this.status !== _Types_2.NodeStatus.Asleep
1422
1426
  && e.code === core_1.ZWaveErrorCodes.Controller_CallbackNOK) {
1423
1427
  this.driver.controllerLog.logNode(this.id, `Querying the node info failed, the node is probably asleep. Retrying after wakeup...`, "error");
1424
1428
  // We assumed the node to be awake, but it is not.
@@ -1434,7 +1438,7 @@ protocol version: ${this.protocolVersion}`;
1434
1438
  }
1435
1439
  }
1436
1440
  }
1437
- this.setInterviewStage(_Types_1.InterviewStage.NodeInfo);
1441
+ this.setInterviewStage(_Types_2.InterviewStage.NodeInfo);
1438
1442
  }
1439
1443
  async requestNodeInfo() {
1440
1444
  const resp = await this.driver.sendMessage(new RequestNodeInfoMessages_1.RequestNodeInfoRequest(this.driver, { nodeId: this.id }));
@@ -1621,7 +1625,9 @@ protocol version: ${this.protocolVersion}`;
1621
1625
  else {
1622
1626
  this.driver.controllerLog.logNode(this.id, "Version CC is not supported. Using the highest implemented version for each CC", "debug");
1623
1627
  for (const [ccId, info] of this.getCCs()) {
1624
- if (info.isSupported) {
1628
+ if (info.isSupported
1629
+ // The support status of Basic CC is not known yet at this point
1630
+ || ccId === core_1.CommandClasses.Basic) {
1625
1631
  this.addCC(ccId, { version: (0, cc_1.getImplementedVersion)(ccId) });
1626
1632
  }
1627
1633
  }
@@ -1831,7 +1837,9 @@ protocol version: ${this.protocolVersion}`;
1831
1837
  level: "debug",
1832
1838
  });
1833
1839
  for (const [ccId, info] of endpoint.getCCs()) {
1834
- if (info.isSupported) {
1840
+ if (info.isSupported
1841
+ // The support status of Basic CC is not known yet at this point
1842
+ || ccId === core_1.CommandClasses.Basic) {
1835
1843
  endpoint.addCC(ccId, {
1836
1844
  version: (0, cc_1.getImplementedVersion)(ccId),
1837
1845
  });
@@ -1948,7 +1956,7 @@ protocol version: ${this.protocolVersion}`;
1948
1956
  * Handles the receipt of a NIF / NodeUpdatePayload
1949
1957
  */
1950
1958
  updateNodeInfo(nodeInfo) {
1951
- if (this.interviewStage < _Types_1.InterviewStage.NodeInfo) {
1959
+ if (this.interviewStage < _Types_2.InterviewStage.NodeInfo) {
1952
1960
  for (const cc of nodeInfo.supportedCCs) {
1953
1961
  if (cc === core_1.CommandClasses.Basic) {
1954
1962
  // Basic CC MUST not be in the NIF and we have special rules to determine support
@@ -1965,7 +1973,7 @@ protocol version: ${this.protocolVersion}`;
1965
1973
  // This is not the handler for wakeup notifications, but some legacy devices send this
1966
1974
  // message whenever there's an update and want to be polled.
1967
1975
  // We do this unless we know for certain that the device sends unsolicited reports for its actuator or sensor CCs
1968
- if (this.interviewStage === _Types_1.InterviewStage.Complete
1976
+ if (this.interviewStage === _Types_2.InterviewStage.Complete
1969
1977
  && !this.supportsCC(core_1.CommandClasses["Z-Wave Plus Info"])
1970
1978
  && (!this.valueDB.getValue(AssociationCC_1.AssociationCCValues.hasLifeline.id)
1971
1979
  || !cc_1.utils.doesAnyLifelineSendActuatorOrSensorReports(this.driver, this))) {
@@ -2043,7 +2051,7 @@ protocol version: ${this.protocolVersion}`;
2043
2051
  */
2044
2052
  async autoRefreshValues() {
2045
2053
  // Do not attempt to communicate with dead nodes automatically
2046
- if (this.status === _Types_1.NodeStatus.Dead)
2054
+ if (this.status === _Types_2.NodeStatus.Dead)
2047
2055
  return;
2048
2056
  for (const endpoint of this.getAllEndpoints()) {
2049
2057
  for (const cc of endpoint
@@ -2165,7 +2173,7 @@ protocol version: ${this.protocolVersion}`;
2165
2173
  }
2166
2174
  }
2167
2175
  }
2168
- this.setInterviewStage(_Types_1.InterviewStage.OverwriteConfig);
2176
+ this.setInterviewStage(_Types_2.InterviewStage.OverwriteConfig);
2169
2177
  }
2170
2178
  /**
2171
2179
  * @internal
@@ -4571,7 +4579,7 @@ protocol version: ${this.protocolVersion}`;
4571
4579
  // Restore the device config
4572
4580
  await this.loadDeviceConfig();
4573
4581
  // Mark already-interviewed nodes as potentially ready
4574
- if (this.interviewStage === _Types_1.InterviewStage.Complete) {
4582
+ if (this.interviewStage === _Types_2.InterviewStage.Complete) {
4575
4583
  this.readyMachine.send("RESTART_FROM_CACHE");
4576
4584
  }
4577
4585
  }
@@ -4593,8 +4601,8 @@ protocol version: ${this.protocolVersion}`;
4593
4601
  return false;
4594
4602
  this.isSendingNoMoreInformation = true;
4595
4603
  let msgSent = false;
4596
- if (this.status === _Types_1.NodeStatus.Awake
4597
- && this.interviewStage === _Types_1.InterviewStage.Complete) {
4604
+ if (this.status === _Types_2.NodeStatus.Awake
4605
+ && this.interviewStage === _Types_2.InterviewStage.Complete) {
4598
4606
  this.driver.controllerLog.logNode(this.id, {
4599
4607
  message: "Sending node back to sleep...",
4600
4608
  direction: "outbound",
@@ -4771,7 +4779,7 @@ protocol version: ${this.protocolVersion}`;
4771
4779
  };
4772
4780
  }
4773
4781
  };
4774
- if (this.canSleep && this.status !== _Types_1.NodeStatus.Awake) {
4782
+ if (this.canSleep && this.status !== _Types_2.NodeStatus.Awake) {
4775
4783
  // Wait for node to wake up to avoid incorrectly long delays in the first health check round
4776
4784
  this.driver.controllerLog.logNode(this.id, `waiting for node to wake up...`);
4777
4785
  await Promise.race([
@@ -5008,7 +5016,7 @@ ${(0, HealthCheck_1.formatLifelineHealthCheckSummary)(summary)}`);
5008
5016
  };
5009
5017
  }
5010
5018
  };
5011
- if (this.canSleep && this.status !== _Types_1.NodeStatus.Awake) {
5019
+ if (this.canSleep && this.status !== _Types_2.NodeStatus.Awake) {
5012
5020
  // Wait for node to wake up to avoid incorrectly long delays in the first health check round
5013
5021
  this.driver.controllerLog.logNode(this.id, `waiting for node to wake up...`);
5014
5022
  await Promise.race([
@@ -5124,6 +5132,171 @@ ${(0, HealthCheck_1.formatLifelineHealthCheckSummary)(summary)}`);
5124
5132
  ${(0, HealthCheck_1.formatRouteHealthCheckSummary)(this.id, otherNode.id, summary)}`);
5125
5133
  return summary;
5126
5134
  }
5135
+ _linkReliabilityCheckInProgress = false;
5136
+ /**
5137
+ * Returns whether a link reliability check is currently in progress for this node
5138
+ */
5139
+ isLinkReliabilityCheckInProgress() {
5140
+ return this._linkReliabilityCheckInProgress;
5141
+ }
5142
+ _linkReliabilityCheckAborted = false;
5143
+ _abortLinkReliabilityCheckPromise;
5144
+ /**
5145
+ * Aborts an ongoing link reliability check if one is currently in progress.
5146
+ *
5147
+ * **Note:** The link reliability check may take a few seconds to actually be aborted.
5148
+ * When it is, the promise returned by {@link checkLinkReliability} will be resolved with the results obtained so far.
5149
+ */
5150
+ abortLinkReliabilityCheck() {
5151
+ this._linkReliabilityCheckAborted = true;
5152
+ this._abortLinkReliabilityCheckPromise?.resolve();
5153
+ }
5154
+ /**
5155
+ * Tests the reliability of the link between the controller and this node and returns the results.
5156
+ */
5157
+ async checkLinkReliability(options) {
5158
+ if (this._linkReliabilityCheckInProgress) {
5159
+ throw new core_1.ZWaveError("A link reliability check is already in progress for this node!", core_1.ZWaveErrorCodes.LinkReliabilityCheck_Busy);
5160
+ }
5161
+ if (typeof options.rounds === "number" && options.rounds < 1) {
5162
+ throw new core_1.ZWaveError("The number of rounds must be at least 1!", core_1.ZWaveErrorCodes.Argument_Invalid);
5163
+ }
5164
+ try {
5165
+ this._linkReliabilityCheckInProgress = true;
5166
+ this._abortLinkReliabilityCheckPromise = (0, deferred_promise_1.createDeferredPromise)();
5167
+ switch (options.mode) {
5168
+ case _Types_1.LinkReliabilityCheckMode.BasicSetOnOff:
5169
+ return await this.checkLinkReliabilityBasicSetOnOff(options);
5170
+ }
5171
+ }
5172
+ finally {
5173
+ this._linkReliabilityCheckInProgress = false;
5174
+ this._linkReliabilityCheckAborted = false;
5175
+ this._abortLinkReliabilityCheckPromise = undefined;
5176
+ }
5177
+ }
5178
+ async checkLinkReliabilityBasicSetOnOff(options) {
5179
+ this.driver.controllerLog.logNode(this.id, `Starting link reliability check (Basic Set On/Off) with ${options.rounds} round${options.rounds !== 1 ? "s" : ""}...`);
5180
+ const useSupervision = this.supportsCC(core_1.CommandClasses.Supervision);
5181
+ const result = {
5182
+ rounds: 0,
5183
+ commandsSent: 0,
5184
+ commandErrors: 0,
5185
+ missingResponses: useSupervision ? 0 : undefined,
5186
+ latency: {
5187
+ min: Number.POSITIVE_INFINITY,
5188
+ max: 0,
5189
+ average: 0,
5190
+ },
5191
+ ackRSSI: {
5192
+ min: 0,
5193
+ max: Number.NEGATIVE_INFINITY,
5194
+ average: Number.NEGATIVE_INFINITY,
5195
+ },
5196
+ responseRSSI: useSupervision
5197
+ ? {
5198
+ min: 0,
5199
+ max: Number.NEGATIVE_INFINITY,
5200
+ average: Number.NEGATIVE_INFINITY,
5201
+ }
5202
+ : undefined,
5203
+ };
5204
+ const aborted = () => {
5205
+ this.driver.controllerLog.logNode(this.id, `Link reliability check aborted`);
5206
+ return result;
5207
+ };
5208
+ let lastProgressReport = 0;
5209
+ const reportProgress = () => {
5210
+ if (Date.now() - lastProgressReport >= 250) {
5211
+ options.onProgress?.((0, shared_1.cloneDeep)(result));
5212
+ lastProgressReport = Date.now();
5213
+ }
5214
+ };
5215
+ if (this.canSleep && this.status !== _Types_2.NodeStatus.Awake) {
5216
+ // Wait for node to wake up to avoid incorrectly long delays in the first health check round
5217
+ this.driver.controllerLog.logNode(this.id, `waiting for node to wake up...`);
5218
+ await Promise.race([
5219
+ this.waitForWakeup(),
5220
+ this._abortLinkReliabilityCheckPromise,
5221
+ ]);
5222
+ if (this._linkReliabilityCheckAborted)
5223
+ return aborted();
5224
+ }
5225
+ // TODO: report progress with throttle
5226
+ let txReport;
5227
+ let latency = 0;
5228
+ const basicSetAPI = this.commandClasses.Basic.withOptions({
5229
+ // Don't change the node status when the ACK is missing. We're likely testing the limits here.
5230
+ changeNodeStatusOnMissingACK: false,
5231
+ // Avoid using explorer frames, because they can create a ton of delay
5232
+ transmitOptions: core_1.TransmitOptions.ACK
5233
+ | core_1.TransmitOptions.AutoRoute,
5234
+ // And remember the transmit report, so we can evaluate it
5235
+ onTXReport: (report) => {
5236
+ txReport = report;
5237
+ },
5238
+ });
5239
+ let lastStart;
5240
+ for (let round = 1; round <= (options.rounds ?? Number.POSITIVE_INFINITY); round++) {
5241
+ if (this._linkReliabilityCheckAborted)
5242
+ return aborted();
5243
+ result.rounds = round;
5244
+ lastStart = Date.now();
5245
+ // Reset TX report before each command
5246
+ txReport = undefined;
5247
+ try {
5248
+ await basicSetAPI.set(round % 2 === 1 ? 0xff : 0x00);
5249
+ // The command was sent successfully (and possibly got a response)
5250
+ result.commandsSent++;
5251
+ // Measure the RTT or latency, whatever is available
5252
+ const rtt = Date.now() - lastStart;
5253
+ latency = Math.max(latency, txReport ? txReport.txTicks * 10 : rtt);
5254
+ result.latency.min = Math.min(result.latency.min, latency);
5255
+ result.latency.max = Math.max(result.latency.max, latency);
5256
+ // incrementally update the average latency
5257
+ result.latency.average += (latency - result.latency.average)
5258
+ / round;
5259
+ }
5260
+ catch (e) {
5261
+ if ((0, core_1.isZWaveError)(e)) {
5262
+ if (e.code === core_1.ZWaveErrorCodes.Controller_ResponseNOK
5263
+ || e.code === core_1.ZWaveErrorCodes.Controller_CallbackNOK) {
5264
+ // The command could not be sent or was not acknowledged
5265
+ result.commandErrors++;
5266
+ }
5267
+ else if (e.code === core_1.ZWaveErrorCodes.Controller_NodeTimeout) {
5268
+ // The command was sent using Supervision and a response was
5269
+ // expected but none came
5270
+ result.missingResponses ??= 0;
5271
+ result.missingResponses++;
5272
+ }
5273
+ }
5274
+ }
5275
+ if (txReport?.ackRSSI != undefined
5276
+ && !(0, core_1.isRssiError)(txReport.ackRSSI)) {
5277
+ result.ackRSSI.min = Math.min(result.ackRSSI.min, txReport.ackRSSI);
5278
+ result.ackRSSI.max = Math.max(result.ackRSSI.max, txReport.ackRSSI);
5279
+ // incrementally update the average RSSI
5280
+ if (Number.isFinite(result.ackRSSI.average)) {
5281
+ result.ackRSSI.average +=
5282
+ (txReport.ackRSSI - result.ackRSSI.average)
5283
+ / round;
5284
+ }
5285
+ else {
5286
+ result.ackRSSI.average = txReport.ackRSSI;
5287
+ }
5288
+ }
5289
+ // TODO: Capture incoming RSSI and average it
5290
+ reportProgress();
5291
+ // Throttle the next command
5292
+ const waitDurationMs = Math.max(0, options.interval - (Date.now() - lastStart));
5293
+ await Promise.race([
5294
+ (0, async_1.wait)(waitDurationMs, true),
5295
+ this._abortLinkReliabilityCheckPromise,
5296
+ ]);
5297
+ }
5298
+ return result;
5299
+ }
5127
5300
  /**
5128
5301
  * Updates the average RTT of this node
5129
5302
  * @internal
@@ -5422,7 +5595,7 @@ ${(0, HealthCheck_1.formatRouteHealthCheckSummary)(this.id, otherNode.id, summar
5422
5595
  */
5423
5596
  hasDeviceConfigChanged() {
5424
5597
  // We can't know if the node is not fully interviewed
5425
- if (this.interviewStage !== _Types_1.InterviewStage.Complete)
5598
+ if (this.interviewStage !== _Types_2.InterviewStage.Complete)
5426
5599
  return core_1.NOT_KNOWN;
5427
5600
  // The controller cannot be re-interviewed
5428
5601
  if (this.isControllerNode)
@@ -5458,7 +5631,7 @@ ${(0, HealthCheck_1.formatRouteHealthCheckSummary)(this.id, otherNode.id, summar
5458
5631
  : "unknown",
5459
5632
  firmwareVersion: this.firmwareVersion ?? "unknown",
5460
5633
  },
5461
- interviewStage: (0, shared_1.getEnumMemberName)(_Types_1.InterviewStage, this.interviewStage),
5634
+ interviewStage: (0, shared_1.getEnumMemberName)(_Types_2.InterviewStage, this.interviewStage),
5462
5635
  ready: this.ready,
5463
5636
  dsk: this.dsk ? (0, core_1.dskToString)(this.dsk) : undefined,
5464
5637
  securityClasses: {},