zwave-js 12.7.0 → 12.8.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 (26) hide show
  1. package/build/lib/controller/Controller.d.ts +21 -1
  2. package/build/lib/controller/Controller.d.ts.map +1 -1
  3. package/build/lib/controller/Controller.js +139 -33
  4. package/build/lib/controller/Controller.js.map +1 -1
  5. package/build/lib/driver/ZWaveOptions.d.ts +13 -1
  6. package/build/lib/driver/ZWaveOptions.d.ts.map +1 -1
  7. package/build/lib/driver/ZWaveOptions.js.map +1 -1
  8. package/build/lib/serialapi/capability/LongRangeChannelMessages.d.ts +29 -0
  9. package/build/lib/serialapi/capability/LongRangeChannelMessages.d.ts.map +1 -0
  10. package/build/lib/serialapi/capability/{LongRangeSetupMessages.js → LongRangeChannelMessages.js} +48 -63
  11. package/build/lib/serialapi/capability/LongRangeChannelMessages.js.map +1 -0
  12. package/build/lib/serialapi/capability/SetLongRangeShadowNodeIDsRequest.d.ts +12 -0
  13. package/build/lib/serialapi/capability/SetLongRangeShadowNodeIDsRequest.d.ts.map +1 -0
  14. package/build/lib/serialapi/capability/SetLongRangeShadowNodeIDsRequest.js +38 -0
  15. package/build/lib/serialapi/capability/SetLongRangeShadowNodeIDsRequest.js.map +1 -0
  16. package/build/lib/zniffer/MPDU.d.ts.map +1 -1
  17. package/build/lib/zniffer/MPDU.js +16 -21
  18. package/build/lib/zniffer/MPDU.js.map +1 -1
  19. package/build/lib/zniffer/Zniffer.d.ts +9 -0
  20. package/build/lib/zniffer/Zniffer.d.ts.map +1 -1
  21. package/build/lib/zniffer/Zniffer.js +42 -1
  22. package/build/lib/zniffer/Zniffer.js.map +1 -1
  23. package/package.json +9 -9
  24. package/build/lib/serialapi/capability/LongRangeSetupMessages.d.ts +0 -36
  25. package/build/lib/serialapi/capability/LongRangeSetupMessages.d.ts.map +0 -1
  26. package/build/lib/serialapi/capability/LongRangeSetupMessages.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { type AssociationAddress, type AssociationGroup, type FirmwareUpdateResult, KEXFailType } from "@zwave-js/cc";
3
- import { ControllerStatus, type MaybeNotKnown, type MaybeUnknown, NodeIDType, NodeType, RFRegion, type RSSI, type Route, RouteKind, type UnknownZWaveChipType, ValueDB, type ZWaveDataRate } from "@zwave-js/core";
3
+ import { ControllerStatus, LongRangeChannel, type MaybeNotKnown, type MaybeUnknown, NodeIDType, NodeType, RFRegion, type RSSI, type Route, RouteKind, type UnknownZWaveChipType, ValueDB, type ZWaveDataRate } from "@zwave-js/core";
4
4
  import { FunctionType } from "@zwave-js/serial";
5
5
  import { type ReadonlyObjectKeyMap, type ReadonlyThrowingMap, TypedEventEmitter } from "@zwave-js/shared";
6
6
  import type { StatisticsEventCallbacks } from "../driver/Statistics";
@@ -118,6 +118,15 @@ export declare class ZWaveController extends TypedEventEmitter<ControllerEventCa
118
118
  private _supportsLongRange;
119
119
  /** Whether the controller supports the Z-Wave Long Range protocol */
120
120
  get supportsLongRange(): MaybeNotKnown<boolean>;
121
+ private _maxLongRangePowerlevel;
122
+ /** The maximum powerlevel to use for Z-Wave Long Range, or `undefined` if it could not be determined (yet). This value is cached and can be changed through {@link setMaxLongRangePowerlevel}. */
123
+ get maxLongRangePowerlevel(): MaybeNotKnown<number>;
124
+ private _longRangeChannel;
125
+ /** The channel to use for Z-Wave Long Range, or `undefined` if it could not be determined (yet). This value is cached and can be changed through {@link setLongRangeChannel}. */
126
+ get longRangeChannel(): MaybeNotKnown<LongRangeChannel>;
127
+ private _supportsLongRangeAutoChannelSelection;
128
+ /** Whether automatic LR channel selection is supported, or `undefined` if it could not be determined (yet). */
129
+ get supportsLongRangeAutoChannelSelection(): MaybeNotKnown<boolean>;
121
130
  private _maxPayloadSize;
122
131
  /** The maximum payload size that can be transmitted with a Z-Wave explorer frame */
123
132
  get maxPayloadSize(): MaybeNotKnown<number>;
@@ -167,6 +176,8 @@ export declare class ZWaveController extends TypedEventEmitter<ControllerEventCa
167
176
  getProvisioningEntries(): SmartStartProvisioningEntry[];
168
177
  /** Returns whether the SmartStart provisioning list contains active entries that have not been included yet */
169
178
  hasPlannedProvisioningEntries(): boolean;
179
+ /** Tries to determine the LR capable replacement of the given region. If none is found, the given region is returned. */
180
+ private tryGetLRCapableRegion;
170
181
  private createValueDBForNode;
171
182
  private _inclusionState;
172
183
  get inclusionState(): InclusionState;
@@ -464,6 +475,15 @@ export declare class ZWaveController extends TypedEventEmitter<ControllerEventCa
464
475
  setMaxLongRangePowerlevel(limit: number): Promise<boolean>;
465
476
  /** Request the maximum TX powerlevel setting for Z-Wave Long Range */
466
477
  getMaxLongRangePowerlevel(): Promise<number>;
478
+ /**
479
+ * Configure channel to use for Z-Wave Long Range.
480
+ */
481
+ setLongRangeChannel(channel: LongRangeChannel.A | LongRangeChannel.B | LongRangeChannel.Auto): Promise<boolean>;
482
+ /** Request the channel setting and capabilities for Z-Wave Long Range */
483
+ getLongRangeChannel(): Promise<{
484
+ channel: LongRangeChannel;
485
+ supportsAutoChannelSelection: boolean;
486
+ }>;
467
487
  trySetNodeIDType(nodeIdType: NodeIDType): Promise<boolean>;
468
488
  /**
469
489
  * Instructs a node to (re-)discover its neighbors.
@@ -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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"}
@@ -38,7 +38,7 @@ const GetProtocolVersionMessages_1 = require("../serialapi/capability/GetProtoco
38
38
  const GetSerialApiCapabilitiesMessages_1 = require("../serialapi/capability/GetSerialApiCapabilitiesMessages");
39
39
  const GetSerialApiInitDataMessages_1 = require("../serialapi/capability/GetSerialApiInitDataMessages");
40
40
  const HardResetRequest_1 = require("../serialapi/capability/HardResetRequest");
41
- const LongRangeSetupMessages_1 = require("../serialapi/capability/LongRangeSetupMessages");
41
+ const LongRangeChannelMessages_1 = require("../serialapi/capability/LongRangeChannelMessages");
42
42
  const SerialAPISetupMessages_1 = require("../serialapi/capability/SerialAPISetupMessages");
43
43
  const SetApplicationNodeInformationRequest_1 = require("../serialapi/capability/SetApplicationNodeInformationRequest");
44
44
  const GetControllerIdMessages_1 = require("../serialapi/memory/GetControllerIdMessages");
@@ -280,6 +280,21 @@ let ZWaveController = class ZWaveController extends shared_1.TypedEventEmitter {
280
280
  get supportsLongRange() {
281
281
  return this._supportsLongRange;
282
282
  }
283
+ _maxLongRangePowerlevel;
284
+ /** The maximum powerlevel to use for Z-Wave Long Range, or `undefined` if it could not be determined (yet). This value is cached and can be changed through {@link setMaxLongRangePowerlevel}. */
285
+ get maxLongRangePowerlevel() {
286
+ return this._maxLongRangePowerlevel;
287
+ }
288
+ _longRangeChannel;
289
+ /** The channel to use for Z-Wave Long Range, or `undefined` if it could not be determined (yet). This value is cached and can be changed through {@link setLongRangeChannel}. */
290
+ get longRangeChannel() {
291
+ return this._longRangeChannel;
292
+ }
293
+ _supportsLongRangeAutoChannelSelection;
294
+ /** Whether automatic LR channel selection is supported, or `undefined` if it could not be determined (yet). */
295
+ get supportsLongRangeAutoChannelSelection() {
296
+ return this._supportsLongRangeAutoChannelSelection;
297
+ }
283
298
  _maxPayloadSize;
284
299
  /** The maximum payload size that can be transmitted with a Z-Wave explorer frame */
285
300
  get maxPayloadSize() {
@@ -613,22 +628,24 @@ let ZWaveController = class ZWaveController extends shared_1.TypedEventEmitter {
613
628
  if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.GetLongRangeMaximumPayloadSize)) {
614
629
  this._maxPayloadSizeLR = await this.getMaxPayloadSizeLongRange();
615
630
  }
616
- let lrChannel;
617
- if (this.isFunctionSupported(serial_1.FunctionType.GetLongRangeChannel)) {
618
- // TODO: restore/set the channel
619
- const lrChannelResp = await this.driver.sendMessage(new LongRangeSetupMessages_1.GetLongRangeChannelRequest(this.driver));
620
- lrChannel = lrChannelResp.longRangeChannel;
621
- }
622
631
  this.driver.controllerLog.print(`received Z-Wave Long Range capabilities:
623
632
  max. payload size: ${this._maxPayloadSizeLR} bytes
624
- channel: ${lrChannel
625
- ? (0, shared_1.getEnumMemberName)(core_1.LongRangeChannel, lrChannel)
626
- : "(unknown)"}
627
633
  nodes: ${lrNodeIds.join(", ")}`);
628
634
  return {
629
635
  lrNodeIds,
630
636
  };
631
637
  }
638
+ /** Tries to determine the LR capable replacement of the given region. If none is found, the given region is returned. */
639
+ tryGetLRCapableRegion(region) {
640
+ // There is no official API to query whether a given region is supported,
641
+ // but there are ways to figure out if LR regions are.
642
+ // US_LR is supported if the controller supports changing the node ID type to 16 bit
643
+ if (region === core_1.RFRegion.USA
644
+ && this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetNodeIDType)) {
645
+ return core_1.RFRegion["USA (Long Range)"];
646
+ }
647
+ return region;
648
+ }
632
649
  /**
633
650
  * @internal
634
651
  * Queries the region and powerlevel settings and configures them if necessary
@@ -645,16 +662,27 @@ let ZWaveController = class ZWaveController extends shared_1.TypedEventEmitter {
645
662
  this.driver.controllerLog.print(`Querying the RF region failed!`, "warn");
646
663
  }
647
664
  }
665
+ let desiredRFRegion;
666
+ // If the user has set a region in the options, use that
667
+ if (this.driver.options.rf?.region != undefined) {
668
+ desiredRFRegion = this.driver.options.rf.region;
669
+ }
670
+ // Unless preferring LR regions is disabled, try to find a suitable replacement region
671
+ if (this.driver.options.rf?.preferLRRegion !== false) {
672
+ desiredRFRegion ??= this.rfRegion;
673
+ if (desiredRFRegion != undefined) {
674
+ desiredRFRegion = this.tryGetLRCapableRegion(desiredRFRegion);
675
+ }
676
+ }
648
677
  if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetRFRegion)
649
- && this.driver.options.rf?.region != undefined
650
- && this.rfRegion != this.driver.options.rf.region) {
651
- const desiredRegion = this.driver.options.rf.region;
652
- 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...`);
653
- const resp = await this.setRFRegionInternal(desiredRegion,
678
+ && desiredRFRegion != undefined
679
+ && this.rfRegion != desiredRFRegion) {
680
+ 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, desiredRFRegion)}), configuring it...`);
681
+ const resp = await this.setRFRegionInternal(desiredRFRegion,
654
682
  // Do not soft reset here, we'll do it later
655
683
  false).catch((e) => e.message);
656
684
  if (resp === true) {
657
- this.driver.controllerLog.print(`Changed RF region to ${(0, shared_1.getEnumMemberName)(core_1.RFRegion, desiredRegion)}`);
685
+ this.driver.controllerLog.print(`Changed RF region to ${(0, shared_1.getEnumMemberName)(core_1.RFRegion, desiredRFRegion)}`);
658
686
  }
659
687
  else {
660
688
  this.driver.controllerLog.print(`Changing the RF region failed!${resp ? ` Reason: ${resp}` : ""}`, "warn");
@@ -685,29 +713,70 @@ let ZWaveController = class ZWaveController extends shared_1.TypedEventEmitter {
685
713
  }
686
714
  }
687
715
  // Check and possibly update the Long Range powerlevel settings
688
- if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.GetLongRangeMaximumTxPower)
689
- && this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetLongRangeMaximumTxPower)
690
- && this.driver.options.rf?.maxLongRangePowerlevel != undefined) {
691
- const desired = this.driver.options.rf.maxLongRangePowerlevel;
716
+ if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.GetLongRangeMaximumTxPower)) {
692
717
  this.driver.controllerLog.print(`Querying configured max. Long Range powerlevel...`);
693
- const current = await this.getMaxLongRangePowerlevel().catch(() => undefined);
694
- if (current != undefined) {
695
- if (current !== desired) {
696
- this.driver.controllerLog.print(`Current max. Long Range powerlevel ${current} dBm differs from desired powerlevel ${desired} dBm, configuring it...`);
697
- const resp = await this.setMaxLongRangePowerlevel(desired)
698
- .catch((e) => e.message);
699
- if (resp === true) {
700
- this.driver.controllerLog.print(`max. Long Range powerlevel updated`);
701
- }
702
- else {
703
- this.driver.controllerLog.print(`Changing the max. Long Range powerlevel failed!${resp ? ` Reason: ${resp}` : ""}`, "warn");
704
- }
705
- }
718
+ const resp = await this.getMaxLongRangePowerlevel().catch(() => undefined);
719
+ if (resp != undefined) {
720
+ this.driver.controllerLog.print(`The max. LR powerlevel is ${resp.toFixed(1)} dBm`);
706
721
  }
707
722
  else {
708
723
  this.driver.controllerLog.print(`Querying the max. Long Range powerlevel failed!`, "warn");
709
724
  }
710
725
  }
726
+ if (this.isSerialAPISetupCommandSupported(SerialAPISetupMessages_1.SerialAPISetupCommand.SetLongRangeMaximumTxPower)
727
+ && this.driver.options.rf?.maxLongRangePowerlevel != undefined
728
+ && this.maxLongRangePowerlevel
729
+ !== this.driver.options.rf.maxLongRangePowerlevel) {
730
+ const desired = this.driver.options.rf.maxLongRangePowerlevel;
731
+ this.driver.controllerLog.print(`Current max. Long Range powerlevel ${this.maxLongRangePowerlevel?.toFixed(1)} dBm differs from desired powerlevel ${desired} dBm, configuring it...`);
732
+ const resp = await this.setMaxLongRangePowerlevel(desired)
733
+ .catch((e) => e.message);
734
+ if (resp === true) {
735
+ this.driver.controllerLog.print(`max. Long Range powerlevel updated`);
736
+ }
737
+ else {
738
+ this.driver.controllerLog.print(`Changing the max. Long Range powerlevel failed!${resp ? ` Reason: ${resp}` : ""}`, "warn");
739
+ }
740
+ }
741
+ // Check and possibly update the Long Range channel settings
742
+ if (this.isFunctionSupported(serial_1.FunctionType.GetLongRangeChannel)) {
743
+ this.driver.controllerLog.print(`Querying configured Long Range channel information...`);
744
+ const resp = await this.getLongRangeChannel().catch(() => undefined);
745
+ if (resp != undefined) {
746
+ this.driver.controllerLog.print(`received Z-Wave Long Range channel information:
747
+ channel: ${resp.channel != undefined
748
+ ? (0, shared_1.getEnumMemberName)(core_1.LongRangeChannel, resp.channel)
749
+ : "(unknown)"}
750
+ supports auto channel selection: ${resp.supportsAutoChannelSelection}
751
+ `);
752
+ }
753
+ else {
754
+ this.driver.controllerLog.print(`Querying the Long Range channel information failed!`, "warn");
755
+ }
756
+ }
757
+ if (this.isFunctionSupported(serial_1.FunctionType.SetLongRangeChannel)
758
+ && this.driver.options.rf?.longRangeChannel != undefined
759
+ && this.longRangeChannel
760
+ !== this.driver.options.rf.longRangeChannel) {
761
+ const desired = this.driver.options.rf.longRangeChannel;
762
+ if (desired === core_1.LongRangeChannel.Auto
763
+ && !this._supportsLongRangeAutoChannelSelection) {
764
+ this.driver.controllerLog.print(`Cannot set desired LR channel to Auto because the controller does not support it!`, "warn");
765
+ }
766
+ else {
767
+ this.driver.controllerLog.print(`Current LR channel ${this.longRangeChannel != undefined
768
+ ? (0, shared_1.getEnumMemberName)(core_1.LongRangeChannel, this.longRangeChannel)
769
+ : "(unknown)"} differs from desired channel ${(0, shared_1.getEnumMemberName)(core_1.LongRangeChannel, desired)}, configuring it...`);
770
+ const resp = await this.setLongRangeChannel(desired)
771
+ .catch((e) => e.message);
772
+ if (resp === true) {
773
+ this.driver.controllerLog.print(`LR channel updated`);
774
+ }
775
+ else {
776
+ this.driver.controllerLog.print(`Changing the LR channel failed!${resp ? ` Reason: ${resp}` : ""}`, "warn");
777
+ }
778
+ }
779
+ }
711
780
  }
712
781
  /**
713
782
  * @internal
@@ -3805,6 +3874,10 @@ ${associatedNodes.join(", ")}`,
3805
3874
  }
3806
3875
  /** Configure the RF region at the Z-Wave API Module */
3807
3876
  async setRFRegion(region) {
3877
+ // Unless auto-upgrade to LR regions is disabled, try to find a suitable LR replacement region
3878
+ if (this.driver.options.rf?.preferLRRegion !== false) {
3879
+ region = this.tryGetLRCapableRegion(region);
3880
+ }
3808
3881
  return this.setRFRegionInternal(region, true);
3809
3882
  }
3810
3883
  /** Configure the RF region at the Z-Wave API Module */
@@ -3870,6 +3943,9 @@ ${associatedNodes.join(", ")}`,
3870
3943
  if (result instanceof SerialAPISetupMessages_1.SerialAPISetup_CommandUnsupportedResponse) {
3871
3944
  throw new core_1.ZWaveError(`Your hardware does not support setting the max. Long Range powerlevel!`, core_1.ZWaveErrorCodes.Driver_NotSupported);
3872
3945
  }
3946
+ if (result.success) {
3947
+ this._maxLongRangePowerlevel = limit;
3948
+ }
3873
3949
  return result.success;
3874
3950
  }
3875
3951
  /** Request the maximum TX powerlevel setting for Z-Wave Long Range */
@@ -3879,8 +3955,38 @@ ${associatedNodes.join(", ")}`,
3879
3955
  if (result instanceof SerialAPISetupMessages_1.SerialAPISetup_CommandUnsupportedResponse) {
3880
3956
  throw new core_1.ZWaveError(`Your hardware does not support getting the max. Long Range powerlevel!`, core_1.ZWaveErrorCodes.Driver_NotSupported);
3881
3957
  }
3958
+ this._maxLongRangePowerlevel = result.limit;
3882
3959
  return result.limit;
3883
3960
  }
3961
+ /**
3962
+ * Configure channel to use for Z-Wave Long Range.
3963
+ */
3964
+ async setLongRangeChannel(channel) {
3965
+ if (!this._supportsLongRangeAutoChannelSelection
3966
+ && channel === core_1.LongRangeChannel.Auto) {
3967
+ throw new core_1.ZWaveError(`Your hardware does not support automatic Long Range channel selection!`, core_1.ZWaveErrorCodes.Driver_NotSupported);
3968
+ }
3969
+ const result = await this.driver.sendMessage(new LongRangeChannelMessages_1.SetLongRangeChannelRequest(this.driver, { channel }));
3970
+ if (result.success) {
3971
+ this._longRangeChannel = channel;
3972
+ }
3973
+ return result.success;
3974
+ }
3975
+ /** Request the channel setting and capabilities for Z-Wave Long Range */
3976
+ async getLongRangeChannel() {
3977
+ const result = await this.driver.sendMessage(new LongRangeChannelMessages_1.GetLongRangeChannelRequest(this.driver));
3978
+ const channel = result.autoChannelSelectionActive
3979
+ && result.supportsAutoChannelSelection
3980
+ ? core_1.LongRangeChannel.Auto
3981
+ : result.channel;
3982
+ this._longRangeChannel = channel;
3983
+ this._supportsLongRangeAutoChannelSelection =
3984
+ result.supportsAutoChannelSelection;
3985
+ return {
3986
+ channel,
3987
+ supportsAutoChannelSelection: result.supportsAutoChannelSelection,
3988
+ };
3989
+ }
3884
3990
  /**
3885
3991
  * @internal
3886
3992
  * Configure whether the Z-Wave API should use short (8 bit) or long (16 bit) Node IDs