zwave-js 10.10.0 → 10.11.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 (79) hide show
  1. package/build/Testing.d.ts +2 -0
  2. package/build/Testing.d.ts.map +1 -0
  3. package/build/Testing.js +6 -0
  4. package/build/Testing.js.map +1 -0
  5. package/build/Utils.d.ts +0 -1
  6. package/build/Utils.d.ts.map +1 -1
  7. package/build/Utils.js +1 -3
  8. package/build/Utils.js.map +1 -1
  9. package/build/Values.d.ts +2 -2
  10. package/build/Values.d.ts.map +1 -1
  11. package/build/index.d.ts.map +1 -1
  12. package/build/index.js +1 -0
  13. package/build/index.js.map +1 -1
  14. package/build/lib/controller/Controller.d.ts +31 -2
  15. package/build/lib/controller/Controller.d.ts.map +1 -1
  16. package/build/lib/controller/Controller.js +120 -2
  17. package/build/lib/controller/Controller.js.map +1 -1
  18. package/build/lib/driver/Driver.d.ts +16 -6
  19. package/build/lib/driver/Driver.d.ts.map +1 -1
  20. package/build/lib/driver/Driver.js +175 -90
  21. package/build/lib/driver/Driver.js.map +1 -1
  22. package/build/lib/driver/DriverMock.js +1 -1
  23. package/build/lib/driver/DriverMock.js.map +1 -1
  24. package/build/lib/driver/MessageGenerators.d.ts +4 -0
  25. package/build/lib/driver/MessageGenerators.d.ts.map +1 -1
  26. package/build/lib/driver/MessageGenerators.js +338 -19
  27. package/build/lib/driver/MessageGenerators.js.map +1 -1
  28. package/build/lib/node/Endpoint.d.ts +3 -3
  29. package/build/lib/node/Endpoint.d.ts.map +1 -1
  30. package/build/lib/node/Endpoint.js +7 -17
  31. package/build/lib/node/Endpoint.js.map +1 -1
  32. package/build/lib/node/Node.d.ts +2 -2
  33. package/build/lib/node/Node.d.ts.map +1 -1
  34. package/build/lib/node/Node.js +32 -19
  35. package/build/lib/node/Node.js.map +1 -1
  36. package/build/lib/node/VirtualEndpoint.d.ts +8 -4
  37. package/build/lib/node/VirtualEndpoint.d.ts.map +1 -1
  38. package/build/lib/node/VirtualEndpoint.js +25 -17
  39. package/build/lib/node/VirtualEndpoint.js.map +1 -1
  40. package/build/lib/node/VirtualNode.d.ts +5 -3
  41. package/build/lib/node/VirtualNode.d.ts.map +1 -1
  42. package/build/lib/node/VirtualNode.js +5 -2
  43. package/build/lib/node/VirtualNode.js.map +1 -1
  44. package/build/lib/node/_Types.d.ts +3 -8
  45. package/build/lib/node/_Types.d.ts.map +1 -1
  46. package/build/lib/node/utils.d.ts +1 -1
  47. package/build/lib/node/utils.d.ts.map +1 -1
  48. package/build/lib/node/utils.js.map +1 -1
  49. package/build/lib/serialapi/application/ApplicationCommandRequest.d.ts +2 -2
  50. package/build/lib/serialapi/application/ApplicationCommandRequest.d.ts.map +1 -1
  51. package/build/lib/serialapi/application/ApplicationCommandRequest.js +1 -0
  52. package/build/lib/serialapi/application/ApplicationCommandRequest.js.map +1 -1
  53. package/build/lib/serialapi/application/BridgeApplicationCommandRequest.d.ts +2 -2
  54. package/build/lib/serialapi/application/BridgeApplicationCommandRequest.d.ts.map +1 -1
  55. package/build/lib/serialapi/application/BridgeApplicationCommandRequest.js +1 -0
  56. package/build/lib/serialapi/application/BridgeApplicationCommandRequest.js.map +1 -1
  57. package/build/lib/serialapi/capability/GetSerialApiInitDataMessages.d.ts.map +1 -1
  58. package/build/lib/serialapi/capability/GetSerialApiInitDataMessages.js +1 -2
  59. package/build/lib/serialapi/capability/GetSerialApiInitDataMessages.js.map +1 -1
  60. package/build/lib/serialapi/network-mgmt/GetRoutingInfoMessages.d.ts.map +1 -1
  61. package/build/lib/serialapi/network-mgmt/GetRoutingInfoMessages.js +1 -2
  62. package/build/lib/serialapi/network-mgmt/GetRoutingInfoMessages.js.map +1 -1
  63. package/build/lib/serialapi/transport/SendDataBridgeMessages.d.ts +6 -0
  64. package/build/lib/serialapi/transport/SendDataBridgeMessages.d.ts.map +1 -1
  65. package/build/lib/serialapi/transport/SendDataBridgeMessages.js +43 -5
  66. package/build/lib/serialapi/transport/SendDataBridgeMessages.js.map +1 -1
  67. package/build/lib/serialapi/transport/SendDataMessages.d.ts +6 -0
  68. package/build/lib/serialapi/transport/SendDataMessages.d.ts.map +1 -1
  69. package/build/lib/serialapi/transport/SendDataMessages.js +44 -5
  70. package/build/lib/serialapi/transport/SendDataMessages.js.map +1 -1
  71. package/build/lib/serialapi/transport/SendDataShared.d.ts +1 -0
  72. package/build/lib/serialapi/transport/SendDataShared.d.ts.map +1 -1
  73. package/build/lib/serialapi/transport/SendDataShared.js +5 -1
  74. package/build/lib/serialapi/transport/SendDataShared.js.map +1 -1
  75. package/package.json +27 -16
  76. package/build/lib/controller/NodeBitMask.d.ts +0 -3
  77. package/build/lib/controller/NodeBitMask.d.ts.map +0 -1
  78. package/build/lib/controller/NodeBitMask.js +0 -9
  79. package/build/lib/controller/NodeBitMask.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export { createAndStartDriverWithMockPort } from "./lib/driver/DriverMock";
2
+ //# sourceMappingURL=Testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Testing.d.ts","sourceRoot":"","sources":["../src/Testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAndStartDriverWithMockPort = void 0;
4
+ var DriverMock_1 = require("./lib/driver/DriverMock");
5
+ Object.defineProperty(exports, "createAndStartDriverWithMockPort", { enumerable: true, get: function () { return DriverMock_1.createAndStartDriverWithMockPort; } });
6
+ //# sourceMappingURL=Testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Testing.js","sourceRoot":"","sources":["../src/Testing.ts"],"names":[],"mappings":";;;AAAA,sDAA2E;AAAlE,8HAAA,gCAAgC,OAAA"}
package/build/Utils.d.ts CHANGED
@@ -2,7 +2,6 @@ export { extractFirmware, guessFirmwareFileFormat, parseQRCodeString, QRCodeVers
2
2
  export type { Firmware, FirmwareFileFormat, ProtocolDataRate, protocolDataRateToString, Protocols, ProtocolType, ProtocolVersion, QRProvisioningInformation, RouteProtocolDataRate, } from "@zwave-js/core";
3
3
  export { buffer2hex, formatId, getEnumMemberName, num2hex, } from "@zwave-js/shared/safe";
4
4
  export { createDefaultBehaviors as createDefaultMockControllerBehaviors } from "./lib/controller/MockControllerBehaviors";
5
- export { createAndStartDriverWithMockPort } from "./lib/driver/DriverMock";
6
5
  export { formatLifelineHealthCheckRound, formatLifelineHealthCheckSummary, formatRouteHealthCheckRound, formatRouteHealthCheckSummary, healthCheckRatingToWord, } from "./lib/node/HealthCheck";
7
6
  export { createDefaultBehaviors as createDefaultMockNodeBehaviors } from "./lib/node/MockNodeBehaviors";
8
7
  //# sourceMappingURL=Utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,YAAY,GACZ,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,yBAAyB,EACzB,qBAAqB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,OAAO,GACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,IAAI,oCAAoC,EAAE,MAAM,0CAA0C,CAAC;AAC1H,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACN,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,YAAY,GACZ,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,yBAAyB,EACzB,qBAAqB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,OAAO,GACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,IAAI,oCAAoC,EAAE,MAAM,0CAA0C,CAAC;AAC1H,OAAO,EACN,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,IAAI,8BAA8B,EAAE,MAAM,8BAA8B,CAAC"}
package/build/Utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDefaultMockNodeBehaviors = exports.healthCheckRatingToWord = exports.formatRouteHealthCheckSummary = exports.formatRouteHealthCheckRound = exports.formatLifelineHealthCheckSummary = exports.formatLifelineHealthCheckRound = exports.createAndStartDriverWithMockPort = exports.createDefaultMockControllerBehaviors = exports.num2hex = exports.getEnumMemberName = exports.formatId = exports.buffer2hex = exports.rssiToString = exports.QRCodeVersion = exports.parseQRCodeString = exports.guessFirmwareFileFormat = exports.extractFirmware = void 0;
3
+ exports.createDefaultMockNodeBehaviors = exports.healthCheckRatingToWord = exports.formatRouteHealthCheckSummary = exports.formatRouteHealthCheckRound = exports.formatLifelineHealthCheckSummary = exports.formatLifelineHealthCheckRound = exports.createDefaultMockControllerBehaviors = exports.num2hex = exports.getEnumMemberName = exports.formatId = exports.buffer2hex = exports.rssiToString = exports.QRCodeVersion = exports.parseQRCodeString = exports.guessFirmwareFileFormat = exports.extractFirmware = void 0;
4
4
  var core_1 = require("@zwave-js/core");
5
5
  Object.defineProperty(exports, "extractFirmware", { enumerable: true, get: function () { return core_1.extractFirmware; } });
6
6
  Object.defineProperty(exports, "guessFirmwareFileFormat", { enumerable: true, get: function () { return core_1.guessFirmwareFileFormat; } });
@@ -14,8 +14,6 @@ Object.defineProperty(exports, "getEnumMemberName", { enumerable: true, get: fun
14
14
  Object.defineProperty(exports, "num2hex", { enumerable: true, get: function () { return safe_1.num2hex; } });
15
15
  var MockControllerBehaviors_1 = require("./lib/controller/MockControllerBehaviors");
16
16
  Object.defineProperty(exports, "createDefaultMockControllerBehaviors", { enumerable: true, get: function () { return MockControllerBehaviors_1.createDefaultBehaviors; } });
17
- var DriverMock_1 = require("./lib/driver/DriverMock");
18
- Object.defineProperty(exports, "createAndStartDriverWithMockPort", { enumerable: true, get: function () { return DriverMock_1.createAndStartDriverWithMockPort; } });
19
17
  var HealthCheck_1 = require("./lib/node/HealthCheck");
20
18
  Object.defineProperty(exports, "formatLifelineHealthCheckRound", { enumerable: true, get: function () { return HealthCheck_1.formatLifelineHealthCheckRound; } });
21
19
  Object.defineProperty(exports, "formatLifelineHealthCheckSummary", { enumerable: true, get: function () { return HealthCheck_1.formatLifelineHealthCheckSummary; } });
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":";;;AAAA,uCAMwB;AALvB,uGAAA,eAAe,OAAA;AACf,+GAAA,uBAAuB,OAAA;AACvB,yGAAA,iBAAiB,OAAA;AACjB,qGAAA,aAAa,OAAA;AACb,oGAAA,YAAY,OAAA;AAab,8CAK+B;AAJ9B,kGAAA,UAAU,OAAA;AACV,gGAAA,QAAQ,OAAA;AACR,yGAAA,iBAAiB,OAAA;AACjB,+FAAA,OAAO,OAAA;AAER,oFAA0H;AAAjH,+IAAA,sBAAsB,OAAwC;AACvE,sDAA2E;AAAlE,8HAAA,gCAAgC,OAAA;AACzC,sDAMgC;AAL/B,6HAAA,8BAA8B,OAAA;AAC9B,+HAAA,gCAAgC,OAAA;AAChC,0HAAA,2BAA2B,OAAA;AAC3B,4HAAA,6BAA6B,OAAA;AAC7B,sHAAA,uBAAuB,OAAA;AAExB,kEAAwG;AAA/F,mIAAA,sBAAsB,OAAkC"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":";;;AAAA,uCAMwB;AALvB,uGAAA,eAAe,OAAA;AACf,+GAAA,uBAAuB,OAAA;AACvB,yGAAA,iBAAiB,OAAA;AACjB,qGAAA,aAAa,OAAA;AACb,oGAAA,YAAY,OAAA;AAab,8CAK+B;AAJ9B,kGAAA,UAAU,OAAA;AACV,gGAAA,QAAQ,OAAA;AACR,yGAAA,iBAAiB,OAAA;AACjB,+FAAA,OAAO,OAAA;AAER,oFAA0H;AAAjH,+IAAA,sBAAsB,OAAwC;AACvE,sDAMgC;AAL/B,6HAAA,8BAA8B,OAAA;AAC9B,+HAAA,gCAAgC,OAAA;AAChC,0HAAA,2BAA2B,OAAA;AAC3B,4HAAA,6BAA6B,OAAA;AAC7B,sHAAA,uBAAuB,OAAA;AAExB,kEAAwG;AAA/F,mIAAA,sBAAsB,OAAkC"}
package/build/Values.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export type { SetbackState, Switchpoint } from "@zwave-js/cc";
2
2
  export type { Scale, SensorType } from "@zwave-js/config";
3
3
  export { Duration, ValueMetadata } from "@zwave-js/core/safe";
4
- export type { DurationUnit, ValueID, ValueMetadataAny, ValueMetadataBoolean, ValueMetadataNumeric, ValueMetadataString, ValueType, } from "@zwave-js/core/safe";
5
- export type { TranslatedValueID, ZWaveNodeMetadataUpdatedArgs, ZWaveNodeValueAddedArgs, ZWaveNodeValueNotificationArgs, ZWaveNodeValueRemovedArgs, ZWaveNodeValueUpdatedArgs, } from "./lib/node/_Types";
4
+ export type { DurationUnit, TranslatedValueID, ValueID, ValueMetadataAny, ValueMetadataBoolean, ValueMetadataNumeric, ValueMetadataString, ValueType, } from "@zwave-js/core/safe";
5
+ export type { ZWaveNodeMetadataUpdatedArgs, ZWaveNodeValueAddedArgs, ZWaveNodeValueNotificationArgs, ZWaveNodeValueRemovedArgs, ZWaveNodeValueUpdatedArgs, } from "./lib/node/_Types";
6
6
  //# sourceMappingURL=Values.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Values.d.ts","sourceRoot":"","sources":["../src/Values.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EACX,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,GACT,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,iBAAiB,EACjB,4BAA4B,EAC5B,uBAAuB,EACvB,8BAA8B,EAC9B,yBAAyB,EACzB,yBAAyB,GACzB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"Values.d.ts","sourceRoot":"","sources":["../src/Values.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,GACT,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,4BAA4B,EAC5B,uBAAuB,EACvB,8BAA8B,EAC9B,yBAAyB,EACzB,yBAAyB,GACzB,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAQ1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,kBAAkB,CAAC;AAQ1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
package/build/index.js CHANGED
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ /* @forbiddenImports sinon */
18
19
  // This module is the main entry point. Requiring reflect-metadata here avoids forgetting it
19
20
  require("reflect-metadata");
20
21
  // By installing source map support, we get the original source
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;;;;;;;;;;;;;;AAE1B,4FAA4F;AAC5F,4BAA0B;AAE1B,+DAA+D;AAC/D,8BAA8B;AAC9B,2DAAwE;AACxE,IAAA,4BAAuB,GAAE,CAAC;AAE1B,iGAAiG;AACjG,+CAA6B;AAC7B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB;AACxB,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;;;;;;;;;;;;;;AAE1B,6BAA6B;AAE7B,4FAA4F;AAC5F,4BAA0B;AAE1B,+DAA+D;AAC/D,8BAA8B;AAC9B,2DAAwE;AACxE,IAAA,4BAAuB,GAAE,CAAC;AAE1B,iGAAiG;AACjG,+CAA6B;AAC7B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB;AACxB,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB"}
@@ -115,10 +115,39 @@ export declare class ZWaveController extends TypedEventEmitter<ControllerEventCa
115
115
  private _healNetworkActive;
116
116
  /** Returns whether the network or a node is currently being healed. */
117
117
  get isHealNetworkActive(): boolean;
118
- /** Returns a reference to the (virtual) broadcast node, which allows sending commands to all nodes */
118
+ private groupNodesBySecurityClass;
119
+ /**
120
+ * Returns a reference to the (virtual) broadcast node, which allows sending commands to all nodes.
121
+ * @deprecated Use {@link getBroadcastNodes} instead, which automatically groups nodes by security class and ignores nodes that cannot be controlled via multicast/broadcast.
122
+ */
119
123
  getBroadcastNode(): VirtualNode;
120
- /** Creates a virtual node that can be used to send multicast commands to several nodes */
124
+ /** Returns a reference to the (virtual) broadcast node, which allows sending commands to all insecure nodes. */
125
+ getBroadcastNodeInsecure(): VirtualNode;
126
+ /**
127
+ * Creates the necessary virtual nodes to be able to send commands to all nodes in the network.
128
+ * Nodes are grouped by security class automatically, and get ignored if they cannot be controlled via multicast/broadcast.
129
+ */
130
+ getBroadcastNodes(): VirtualNode[];
131
+ /**
132
+ * Creates a virtual node that can be used to send multicast commands to several nodes.
133
+ * @deprecated Use {@link getMulticastGroups} instead, which automatically groups nodes by security class and ignores nodes that cannot be controlled via multicast.
134
+ */
121
135
  getMulticastGroup(nodeIDs: number[]): VirtualNode;
136
+ /**
137
+ * Creates the necessary virtual nodes to be able to send commands to the given nodes.
138
+ * Nodes are grouped by security class automatically, and get ignored if they cannot be controlled via multicast.
139
+ */
140
+ getMulticastGroups(nodeIDs: number[]): VirtualNode[];
141
+ /**
142
+ * Creates a virtual node that can be used to send multicast commands to several insecure nodes.
143
+ * All nodes MUST be included insecurely.
144
+ */
145
+ getMulticastGroupInsecure(nodeIDs: number[]): VirtualNode;
146
+ /**
147
+ * Creates a virtual node that can be used to send multicast commands to several nodes using Security S2.
148
+ * All nodes MUST be included using Security S2 and MUST have the same (highest) security class.
149
+ */
150
+ getMulticastGroupS2(nodeIDs: number[]): VirtualNode;
122
151
  private set provisioningList(value);
123
152
  /** Adds the given entry (DSK and security classes) to the controller's SmartStart provisioning list or replaces an existing entry */
124
153
  provisionSmartStartNode(entry: PlannedProvisioningEntry): void;
@@ -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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"}
@@ -250,15 +250,133 @@ let ZWaveController = class ZWaveController extends shared_1.TypedEventEmitter {
250
250
  get isHealNetworkActive() {
251
251
  return this._healNetworkActive;
252
252
  }
253
- /** Returns a reference to the (virtual) broadcast node, which allows sending commands to all nodes */
253
+ groupNodesBySecurityClass(nodeIDs) {
254
+ const ret = new Map();
255
+ const nodes = nodeIDs
256
+ ? nodeIDs.map((id) => this._nodes.getOrThrow(id))
257
+ : [...this._nodes.values()];
258
+ for (const node of nodes) {
259
+ const secClass = node.getHighestSecurityClass();
260
+ if (secClass === core_1.SecurityClass.Temporary || secClass == undefined) {
261
+ continue;
262
+ }
263
+ if (!ret.has(secClass)) {
264
+ ret.set(secClass, []);
265
+ }
266
+ ret.get(secClass).push(node.id);
267
+ }
268
+ return ret;
269
+ }
270
+ /**
271
+ * Returns a reference to the (virtual) broadcast node, which allows sending commands to all nodes.
272
+ * @deprecated Use {@link getBroadcastNodes} instead, which automatically groups nodes by security class and ignores nodes that cannot be controlled via multicast/broadcast.
273
+ */
254
274
  getBroadcastNode() {
275
+ return this.getBroadcastNodeInsecure();
276
+ }
277
+ /** Returns a reference to the (virtual) broadcast node, which allows sending commands to all insecure nodes. */
278
+ getBroadcastNodeInsecure() {
255
279
  return new VirtualNode_1.VirtualNode(core_1.NODE_ID_BROADCAST, this.driver, this.nodes.values());
256
280
  }
257
- /** Creates a virtual node that can be used to send multicast commands to several nodes */
281
+ /**
282
+ * Creates the necessary virtual nodes to be able to send commands to all nodes in the network.
283
+ * Nodes are grouped by security class automatically, and get ignored if they cannot be controlled via multicast/broadcast.
284
+ */
285
+ getBroadcastNodes() {
286
+ const nodesBySecurityClass = this.groupNodesBySecurityClass();
287
+ nodesBySecurityClass.delete(core_1.SecurityClass.S0_Legacy);
288
+ if (nodesBySecurityClass.size === 1 &&
289
+ nodesBySecurityClass.has(core_1.SecurityClass.None)) {
290
+ // All nodes are insecure, we can use actual broadcasting
291
+ return [this.getBroadcastNodeInsecure()];
292
+ }
293
+ // We have to do multiple multicasts to reach all nodes
294
+ // Create a virtual node for each security class
295
+ return [...nodesBySecurityClass].map(([secClass, nodeIDs]) => {
296
+ if (secClass === core_1.SecurityClass.None) {
297
+ return this.getMulticastGroupInsecure(nodeIDs);
298
+ }
299
+ else {
300
+ return this.getMulticastGroupS2(nodeIDs);
301
+ }
302
+ });
303
+ }
304
+ /**
305
+ * Creates a virtual node that can be used to send multicast commands to several nodes.
306
+ * @deprecated Use {@link getMulticastGroups} instead, which automatically groups nodes by security class and ignores nodes that cannot be controlled via multicast.
307
+ */
258
308
  getMulticastGroup(nodeIDs) {
309
+ if (nodeIDs.length === 0) {
310
+ throw new core_1.ZWaveError("Cannot create an empty multicast group", core_1.ZWaveErrorCodes.Argument_Invalid);
311
+ }
259
312
  const nodes = nodeIDs.map((id) => this._nodes.getOrThrow(id));
260
313
  return new VirtualNode_1.VirtualNode(undefined, this.driver, nodes);
261
314
  }
315
+ /**
316
+ * Creates the necessary virtual nodes to be able to send commands to the given nodes.
317
+ * Nodes are grouped by security class automatically, and get ignored if they cannot be controlled via multicast.
318
+ */
319
+ getMulticastGroups(nodeIDs) {
320
+ const nodesBySecurityClass = this.groupNodesBySecurityClass(nodeIDs);
321
+ nodesBySecurityClass.delete(core_1.SecurityClass.S0_Legacy);
322
+ // Create a virtual node for each security class
323
+ return [...nodesBySecurityClass].map(([secClass, nodeIDs]) => {
324
+ if (secClass === core_1.SecurityClass.None) {
325
+ return this.getMulticastGroupInsecure(nodeIDs);
326
+ }
327
+ else {
328
+ return this.getMulticastGroupS2(nodeIDs);
329
+ }
330
+ });
331
+ }
332
+ /**
333
+ * Creates a virtual node that can be used to send multicast commands to several insecure nodes.
334
+ * All nodes MUST be included insecurely.
335
+ */
336
+ getMulticastGroupInsecure(nodeIDs) {
337
+ if (nodeIDs.length === 0) {
338
+ throw new core_1.ZWaveError("Cannot create an empty multicast group", core_1.ZWaveErrorCodes.Argument_Invalid);
339
+ }
340
+ const nodes = nodeIDs.map((id) => this._nodes.getOrThrow(id));
341
+ if (nodes.some((n) => n.isSecure !== false)) {
342
+ throw new core_1.ZWaveError("All nodes must be included insecurely", core_1.ZWaveErrorCodes.Argument_Invalid);
343
+ }
344
+ return new VirtualNode_1.VirtualNode(undefined, this.driver, nodes);
345
+ }
346
+ /**
347
+ * Creates a virtual node that can be used to send multicast commands to several nodes using Security S2.
348
+ * All nodes MUST be included using Security S2 and MUST have the same (highest) security class.
349
+ */
350
+ getMulticastGroupS2(nodeIDs) {
351
+ if (nodeIDs.length === 0) {
352
+ throw new core_1.ZWaveError("Cannot create an empty multicast group", core_1.ZWaveErrorCodes.Argument_Invalid);
353
+ }
354
+ if (!this.driver.securityManager2) {
355
+ throw new core_1.ZWaveError(`Security S2 multicast can only be used when the network keys are configured!`, core_1.ZWaveErrorCodes.Driver_NoSecurity);
356
+ }
357
+ const nodes = nodeIDs.map((id) => this._nodes.getOrThrow(id));
358
+ const fail = () => {
359
+ throw new core_1.ZWaveError("All nodes must be included using Security S2 and must have the same (highest) security class", core_1.ZWaveErrorCodes.Argument_Invalid);
360
+ };
361
+ const node0Class = nodes[0].getHighestSecurityClass();
362
+ for (let i = 0; i < nodes.length; i++) {
363
+ const node = nodes[i];
364
+ const secClass = node.getHighestSecurityClass();
365
+ if (!(0, core_1.securityClassIsS2)(secClass))
366
+ throw fail();
367
+ if (i > 0 && secClass !== node0Class)
368
+ throw fail();
369
+ }
370
+ return new VirtualNode_1.VirtualNode(undefined, this.driver, nodes,
371
+ // For convenience, we automatically decide whether to use actual multicast
372
+ // or fall back to singlecast when there's only a single node
373
+ // in the multicast "group"
374
+ nodes.length > 1
375
+ ? {
376
+ s2MulticastGroupId: this.driver.securityManager2.createMulticastGroup(nodeIDs, node0Class),
377
+ }
378
+ : undefined);
379
+ }
262
380
  /** @internal */
263
381
  get provisioningList() {
264
382
  return (this.driver.cacheGet(NetworkCache_1.cacheKeys.controller.provisioningList) ?? []);