zwave-js 15.4.2 → 15.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/build/cjs/lib/_version.d.ts +1 -1
  2. package/build/cjs/lib/_version.js +1 -1
  3. package/build/cjs/lib/_version.js.map +1 -1
  4. package/build/cjs/lib/controller/Controller.js +37 -13
  5. package/build/cjs/lib/controller/Controller.js.map +2 -2
  6. package/build/cjs/lib/controller/FirmwareUpdateService.js +0 -1
  7. package/build/cjs/lib/controller/FirmwareUpdateService.js.map +2 -2
  8. package/build/cjs/lib/controller/_Types.d.ts +1 -0
  9. package/build/cjs/lib/controller/_Types.js +16 -0
  10. package/build/cjs/lib/controller/_Types.js.map +3 -3
  11. package/build/cjs/lib/driver/Driver.d.ts +11 -1
  12. package/build/cjs/lib/driver/Driver.js +133 -37
  13. package/build/cjs/lib/driver/Driver.js.map +2 -2
  14. package/build/cjs/lib/driver/Task.d.ts +7 -120
  15. package/build/cjs/lib/driver/Task.js +6 -340
  16. package/build/cjs/lib/driver/Task.js.map +3 -3
  17. package/build/cjs/lib/driver/ZWaveOptions.d.ts +26 -6
  18. package/build/cjs/lib/driver/ZWaveOptions.js.map +2 -2
  19. package/build/cjs/lib/node/CCHandlers/VersionCC.d.ts +1 -1
  20. package/build/cjs/lib/node/CCHandlers/VersionCC.js +2 -2
  21. package/build/cjs/lib/node/CCHandlers/VersionCC.js.map +2 -2
  22. package/build/cjs/lib/node/Node.js +5 -1
  23. package/build/cjs/lib/node/Node.js.map +2 -2
  24. package/build/esm/lib/_version.d.ts +1 -1
  25. package/build/esm/lib/_version.js +1 -1
  26. package/build/esm/lib/controller/Controller.d.ts.map +1 -1
  27. package/build/esm/lib/controller/Controller.js +48 -18
  28. package/build/esm/lib/controller/Controller.js.map +1 -1
  29. package/build/esm/lib/controller/FirmwareUpdateService.d.ts.map +1 -1
  30. package/build/esm/lib/controller/FirmwareUpdateService.js +0 -1
  31. package/build/esm/lib/controller/FirmwareUpdateService.js.map +1 -1
  32. package/build/esm/lib/controller/_Types.d.ts +1 -0
  33. package/build/esm/lib/controller/_Types.d.ts.map +1 -1
  34. package/build/esm/lib/controller/_Types.js +14 -1
  35. package/build/esm/lib/controller/_Types.js.map +1 -1
  36. package/build/esm/lib/driver/Driver.d.ts +11 -1
  37. package/build/esm/lib/driver/Driver.d.ts.map +1 -1
  38. package/build/esm/lib/driver/Driver.js +122 -8
  39. package/build/esm/lib/driver/Driver.js.map +1 -1
  40. package/build/esm/lib/driver/Task.d.ts +7 -120
  41. package/build/esm/lib/driver/Task.d.ts.map +1 -1
  42. package/build/esm/lib/driver/Task.js +3 -403
  43. package/build/esm/lib/driver/Task.js.map +1 -1
  44. package/build/esm/lib/driver/ZWaveOptions.d.ts +26 -6
  45. package/build/esm/lib/driver/ZWaveOptions.d.ts.map +1 -1
  46. package/build/esm/lib/driver/ZWaveOptions.js.map +1 -1
  47. package/build/esm/lib/node/CCHandlers/VersionCC.d.ts +1 -1
  48. package/build/esm/lib/node/CCHandlers/VersionCC.d.ts.map +1 -1
  49. package/build/esm/lib/node/CCHandlers/VersionCC.js +2 -2
  50. package/build/esm/lib/node/CCHandlers/VersionCC.js.map +1 -1
  51. package/build/esm/lib/node/Node.d.ts.map +1 -1
  52. package/build/esm/lib/node/Node.js +8 -1
  53. package/build/esm/lib/node/Node.js.map +1 -1
  54. package/package.json +10 -9
@@ -1,3 +1,3 @@
1
- export declare const PACKAGE_VERSION = "15.4.2";
1
+ export declare const PACKAGE_VERSION = "15.6.0";
2
2
  export declare const PACKAGE_NAME = "zwave-js";
3
3
  //# sourceMappingURL=_version.d.ts.map
@@ -22,7 +22,7 @@ __export(version_exports, {
22
22
  PACKAGE_VERSION: () => PACKAGE_VERSION
23
23
  });
24
24
  module.exports = __toCommonJS(version_exports);
25
- const PACKAGE_VERSION = "15.4.2";
25
+ const PACKAGE_VERSION = "15.6.0";
26
26
  const PACKAGE_NAME = "zwave-js";
27
27
  // Annotate the CommonJS export names for ESM import in node:
28
28
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/_version.ts"],
4
- "sourcesContent": ["// This file is auto-generated by the codegen maintenance script\nexport const PACKAGE_VERSION = \"15.4.2\";\nexport const PACKAGE_NAME = \"zwave-js\";\n"],
4
+ "sourcesContent": ["// This file is auto-generated by the codegen maintenance script\nexport const PACKAGE_VERSION = \"15.6.0\";\nexport const PACKAGE_NAME = \"zwave-js\";\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;;AACO,MAAM,kBAAkB;AACxB,MAAM,eAAe;",
6
6
  "names": []
7
7
  }
@@ -736,6 +736,8 @@ let ZWaveController = (() => {
736
736
  }
737
737
  }
738
738
  let desiredRFRegion;
739
+ let desiredTXPowerlevelMesh;
740
+ let desiredTXPowerlevelLR;
739
741
  if (this.driver.options.rf?.region != void 0) {
740
742
  desiredRFRegion = this.driver.options.rf.region;
741
743
  }
@@ -747,25 +749,48 @@ let ZWaveController = (() => {
747
749
  }
748
750
  if (this.isSerialAPISetupCommandSupported(import_serialapi.SerialAPISetupCommand.SetRFRegion) && desiredRFRegion != void 0 && this.rfRegion != desiredRFRegion) {
749
751
  this.driver.controllerLog.print(`Current RF region (${(0, import_shared.getEnumMemberName)(import_core.RFRegion, this.rfRegion ?? import_core.RFRegion.Unknown)}) differs from desired region (${(0, import_shared.getEnumMemberName)(import_core.RFRegion, desiredRFRegion)}), configuring it...`);
752
+ const isRegionActuallyDifferent = this.tryGetLRCapableRegion(this.rfRegion ?? import_core.RFRegion.Unknown) !== this.tryGetLRCapableRegion(desiredRFRegion);
750
753
  const resp = await this.setRFRegionInternal(
751
754
  desiredRFRegion,
752
755
  // Do not soft reset here, we'll do it later
753
756
  false
754
757
  ).catch((e) => e.message);
755
758
  if (resp === true) {
756
- this.driver.controllerLog.print(`Changed RF region to ${(0, import_shared.getEnumMemberName)(import_core.RFRegion, desiredRFRegion)}`);
759
+ let message = `Changed RF region to ${(0, import_shared.getEnumMemberName)(import_core.RFRegion, desiredRFRegion)}.`;
760
+ const applyLimitsForProtocol = [];
761
+ if (isRegionActuallyDifferent && this.driver.options.rf?.txPower?.powerlevel === "auto") {
762
+ desiredTXPowerlevelMesh = (0, import_core.getLegalPowerlevelMesh)(desiredRFRegion);
763
+ applyLimitsForProtocol.push("Z-Wave Classic");
764
+ }
765
+ if (isRegionActuallyDifferent && this.driver.options.rf?.maxLongRangePowerlevel === "auto") {
766
+ desiredTXPowerlevelLR = (0, import_core.getLegalPowerlevelLR)(desiredRFRegion);
767
+ applyLimitsForProtocol.push("Long Range");
768
+ }
769
+ if (applyLimitsForProtocol.length > 0) {
770
+ message += ` The legal powerlevel limits for ${applyLimitsForProtocol.join(" and ")} will be applied.`;
771
+ }
772
+ this.driver.controllerLog.print(message);
757
773
  } else {
758
774
  this.driver.controllerLog.print(`Changing the RF region failed!${resp ? ` Reason: ${resp}` : ""}`, "warn");
759
775
  }
760
776
  }
761
- if (this.isSerialAPISetupCommandSupported(import_serialapi.SerialAPISetupCommand.GetPowerlevel) && this.isSerialAPISetupCommandSupported(import_serialapi.SerialAPISetupCommand.SetPowerlevel) && this.driver.options.rf?.txPower != void 0) {
762
- const desired = this.driver.options.rf.txPower;
777
+ if (typeof this.driver.options.rf?.txPower?.powerlevel === "number") {
778
+ desiredTXPowerlevelMesh = this.driver.options.rf.txPower.powerlevel;
779
+ }
780
+ if (typeof this.driver.options.rf?.maxLongRangePowerlevel === "number") {
781
+ desiredTXPowerlevelLR = this.driver.options.rf.maxLongRangePowerlevel;
782
+ }
783
+ if (this.isSerialAPISetupCommandSupported(import_serialapi.SerialAPISetupCommand.GetPowerlevel) && this.isSerialAPISetupCommandSupported(import_serialapi.SerialAPISetupCommand.SetPowerlevel) && desiredTXPowerlevelMesh != void 0) {
784
+ const desired = {
785
+ powerlevel: desiredTXPowerlevelMesh,
786
+ measured0dBm: this.driver.options.rf?.txPower?.measured0dBm
787
+ };
763
788
  this.driver.controllerLog.print(`Querying configured powerlevel...`);
764
789
  const current = await this.getPowerlevel().catch(() => void 0);
765
790
  if (current != void 0) {
766
- if (current.powerlevel !== desired.powerlevel || current.measured0dBm !== desired.measured0dBm) {
767
- this.driver.controllerLog.print(`Current powerlevel ${current.powerlevel} dBm (${current.measured0dBm} dBm) differs from desired powerlevel ${desired.powerlevel} dBm (${desired.measured0dBm} dBm), configuring it...`);
768
- const resp = await this.setPowerlevel(desired.powerlevel, desired.measured0dBm).catch((e) => e.message);
791
+ if (current.powerlevel !== desired.powerlevel || desired.measured0dBm != void 0 && current.measured0dBm !== desired.measured0dBm) {
792
+ this.driver.controllerLog.print(`Current powerlevel ${current.powerlevel} dBm (${current.measured0dBm} dBm) differs from desired powerlevel ${desired.powerlevel} dBm (${desired.measured0dBm ?? current.measured0dBm} dBm), configuring it...`);
793
+ const resp = await this.setPowerlevel(desired.powerlevel, desired.measured0dBm ?? current.measured0dBm).catch((e) => e.message);
769
794
  if (resp === true) {
770
795
  this.driver.controllerLog.print(`Powerlevel updated`);
771
796
  } else {
@@ -785,10 +810,9 @@ let ZWaveController = (() => {
785
810
  this.driver.controllerLog.print(`Querying the max. Long Range powerlevel failed!`, "warn");
786
811
  }
787
812
  }
788
- if (this.isSerialAPISetupCommandSupported(import_serialapi.SerialAPISetupCommand.SetLongRangeMaximumTxPower) && this.driver.options.rf?.maxLongRangePowerlevel != void 0 && this.maxLongRangePowerlevel !== this.driver.options.rf.maxLongRangePowerlevel) {
789
- const desired = this.driver.options.rf.maxLongRangePowerlevel;
790
- this.driver.controllerLog.print(`Current max. Long Range powerlevel ${this.maxLongRangePowerlevel?.toFixed(1)} dBm differs from desired powerlevel ${desired} dBm, configuring it...`);
791
- const resp = await this.setMaxLongRangePowerlevel(desired).catch((e) => e.message);
813
+ if (this.isSerialAPISetupCommandSupported(import_serialapi.SerialAPISetupCommand.SetLongRangeMaximumTxPower) && desiredTXPowerlevelLR != void 0 && this.maxLongRangePowerlevel !== desiredTXPowerlevelLR) {
814
+ this.driver.controllerLog.print(`Current max. Long Range powerlevel ${this.maxLongRangePowerlevel?.toFixed(1)} dBm differs from desired powerlevel ${desiredTXPowerlevelLR} dBm, configuring it...`);
815
+ const resp = await this.setMaxLongRangePowerlevel(desiredTXPowerlevelLR).catch((e) => e.message);
792
816
  if (resp === true) {
793
817
  this.driver.controllerLog.print(`max. Long Range powerlevel updated`);
794
818
  } else {
@@ -2541,6 +2565,7 @@ let ZWaveController = (() => {
2541
2565
  return {
2542
2566
  priority: import_Task.TaskPriority.Lower,
2543
2567
  tag: { id: "rebuild-routes" },
2568
+ // @ts-expect-error FIXME: Figure out why the return types are not compatible
2544
2569
  task: /* @__PURE__ */ __name(async function* rebuildRoutesTask() {
2545
2570
  try {
2546
2571
  const neighbors = await self.getNodeNeighbors(self._ownNodeId);
@@ -4610,10 +4635,9 @@ let ZWaveController = (() => {
4610
4635
  throw new import_core.ZWaveError(`Cannot check for firmware updates for node ${node.id}: Failed to query firmware version from the node!`, import_core.ZWaveErrorCodes.FWUpdateService_MissingInformation);
4611
4636
  }
4612
4637
  }
4613
- const { manufacturerId, productType, productId, firmwareVersion } = node;
4614
- if (manufacturerId !== node.manufacturerId || productType !== node.productType || productId !== node.productId) {
4638
+ if (node.manufacturerId !== deviceId.manufacturerId || node.productType !== deviceId.productType || node.productId !== deviceId.productId) {
4615
4639
  throw new import_core.ZWaveError(`Cannot update firmware for node ${node.id}: The firmware update is for a different device!`, import_core.ZWaveErrorCodes.FWUpdateService_DeviceMismatch);
4616
- } else if (firmwareVersion !== deviceId.firmwareVersion) {
4640
+ } else if (node.firmwareVersion !== deviceId.firmwareVersion) {
4617
4641
  throw new import_core.ZWaveError(`Cannot update firmware for node ${node.id}: The update is for a different original firmware version!`, import_core.ZWaveErrorCodes.FWUpdateService_DeviceMismatch);
4618
4642
  }
4619
4643
  }