zwave-js 10.0.0-beta.4 → 10.0.0-beta.7

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 (43) hide show
  1. package/build/lib/controller/NodeInformationFrame.d.ts.map +1 -1
  2. package/build/lib/controller/NodeInformationFrame.js +1 -0
  3. package/build/lib/controller/NodeInformationFrame.js.map +1 -1
  4. package/build/lib/driver/Driver.d.ts +8 -4
  5. package/build/lib/driver/Driver.d.ts.map +1 -1
  6. package/build/lib/driver/Driver.js +38 -24
  7. package/build/lib/driver/Driver.js.map +1 -1
  8. package/build/lib/node/Node.d.ts +3 -0
  9. package/build/lib/node/Node.d.ts.map +1 -1
  10. package/build/lib/node/Node.js +76 -4
  11. package/build/lib/node/Node.js.map +1 -1
  12. package/build/lib/node/_Types.d.ts +75 -2
  13. package/build/lib/node/_Types.d.ts.map +1 -1
  14. package/build/lib/node/_Types.js.map +1 -1
  15. package/build/lib/serialapi/misc/SetSerialApiTimeoutsMessages.d.ts +0 -3
  16. package/build/lib/serialapi/misc/SetSerialApiTimeoutsMessages.d.ts.map +1 -1
  17. package/build/lib/serialapi/misc/SetSerialApiTimeoutsMessages.js +0 -12
  18. package/build/lib/serialapi/misc/SetSerialApiTimeoutsMessages.js.map +1 -1
  19. package/build/lib/serialapi/network-mgmt/AssignReturnRouteMessages.d.ts +0 -3
  20. package/build/lib/serialapi/network-mgmt/AssignReturnRouteMessages.d.ts.map +1 -1
  21. package/build/lib/serialapi/network-mgmt/AssignReturnRouteMessages.js +0 -11
  22. package/build/lib/serialapi/network-mgmt/AssignReturnRouteMessages.js.map +1 -1
  23. package/build/lib/serialapi/network-mgmt/DeleteReturnRouteMessages.d.ts +0 -3
  24. package/build/lib/serialapi/network-mgmt/DeleteReturnRouteMessages.d.ts.map +1 -1
  25. package/build/lib/serialapi/network-mgmt/DeleteReturnRouteMessages.js +0 -11
  26. package/build/lib/serialapi/network-mgmt/DeleteReturnRouteMessages.js.map +1 -1
  27. package/build/lib/serialapi/network-mgmt/DeleteSUCReturnRouteMessages.d.ts +0 -3
  28. package/build/lib/serialapi/network-mgmt/DeleteSUCReturnRouteMessages.d.ts.map +1 -1
  29. package/build/lib/serialapi/network-mgmt/DeleteSUCReturnRouteMessages.js +0 -11
  30. package/build/lib/serialapi/network-mgmt/DeleteSUCReturnRouteMessages.js.map +1 -1
  31. package/build/lib/serialapi/network-mgmt/GetRoutingInfoMessages.d.ts +0 -2
  32. package/build/lib/serialapi/network-mgmt/GetRoutingInfoMessages.d.ts.map +1 -1
  33. package/build/lib/serialapi/network-mgmt/GetRoutingInfoMessages.js +0 -7
  34. package/build/lib/serialapi/network-mgmt/GetRoutingInfoMessages.js.map +1 -1
  35. package/build/lib/serialapi/transport/SendDataBridgeMessages.d.ts +0 -7
  36. package/build/lib/serialapi/transport/SendDataBridgeMessages.d.ts.map +1 -1
  37. package/build/lib/serialapi/transport/SendDataBridgeMessages.js +0 -38
  38. package/build/lib/serialapi/transport/SendDataBridgeMessages.js.map +1 -1
  39. package/build/lib/serialapi/transport/SendDataMessages.d.ts +0 -5
  40. package/build/lib/serialapi/transport/SendDataMessages.d.ts.map +1 -1
  41. package/build/lib/serialapi/transport/SendDataMessages.js +0 -25
  42. package/build/lib/serialapi/transport/SendDataMessages.js.map +1 -1
  43. package/package.json +16 -14
@@ -1 +1 @@
1
- {"version":3,"file":"NodeInformationFrame.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/NodeInformationFrame.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,cAAc,EAGd,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,YAAY,IAAI;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,EAAE,cAAc,EAAE,CAAC;CAChC,CA8DA"}
1
+ {"version":3,"file":"NodeInformationFrame.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/NodeInformationFrame.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,cAAc,EAGd,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,YAAY,IAAI;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,EAAE,cAAc,EAAE,CAAC;CAChC,CA+DA"}
@@ -17,6 +17,7 @@ function determineNIF() {
17
17
  safe_1.CommandClasses["Z-Wave Plus Info"],
18
18
  // TODO: Z-Wave Plus v2 Device Type Specification
19
19
  // Gateway device type MUST **support** Inclusion Controller and Time CC
20
+ safe_1.CommandClasses.Time,
20
21
  ...implementedEncapsulationCCs,
21
22
  ];
22
23
  const controlledCCs = [
@@ -1 +1 @@
1
- {"version":3,"file":"NodeInformationFrame.js","sourceRoot":"","sources":["../../../src/lib/controller/NodeInformationFrame.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,8CAM6B;AAE7B,SAAgB,YAAY;IAO3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,oBAAoB;IACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,oBAAoB;IACrD,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,UAAU;IAE5C,MAAM,cAAc,GAAG,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAqB,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5E,yCAAyC;IACzC,MAAM,2BAA2B,GAAG,uBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAClE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IAEF,MAAM,sBAAsB,GAAG,kBAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACxD,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IACF,MAAM,oBAAoB,GAAG,gBAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACpD,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG;QACpB,wCAAwC;QACxC,qBAAc,CAAC,kBAAkB,CAAC;QAClC,iDAAiD;QACjD,wEAAwE;QACxE,GAAG,2BAA2B;KAC9B,CAAC;IAEF,MAAM,aAAa,GAAG;QACrB,6DAA6D;QAC7D,qBAAc,CAAC,WAAW;QAC1B,qBAAc,CAAC,+BAA+B,CAAC;QAC/C,qBAAc,CAAC,KAAK;QACpB,qBAAc,CAAC,eAAe,CAAC;QAC/B,qBAAc,CAAC,sBAAsB,CAAC;QACtC,qBAAc,CAAC,2BAA2B,CAAC;QAC3C,qBAAc,CAAC,SAAS;QACxB,qBAAc,CAAC,KAAK;QACpB,qBAAc,CAAC,eAAe,CAAC;QAC/B,qBAAc,CAAC,2BAA2B,CAAC;QAC3C,qBAAc,CAAC,mBAAmB,CAAC;QACnC,qBAAc,CAAC,YAAY;QAC3B,qBAAc,CAAC,QAAQ;QACvB,qBAAc,CAAC,YAAY,CAAC;QAC5B,qBAAc,CAAC,OAAO;QACtB,qBAAc,CAAC,SAAS,CAAC;KACzB,CAAC;IACF,wFAAwF;IACxF,aAAa,CAAC,IAAI,CACjB,GAAG,CAAC,GAAG,sBAAsB,EAAE,GAAG,oBAAoB,CAAC,CAAC,MAAM,CAC7D,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CACnC,CACD,CAAC;IAEF,0DAA0D;IAE1D,OAAO;QACN,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;QACnB,YAAY;QACZ,aAAa;KACb,CAAC;AACH,CAAC;AApED,oCAoEC"}
1
+ {"version":3,"file":"NodeInformationFrame.js","sourceRoot":"","sources":["../../../src/lib/controller/NodeInformationFrame.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,8CAM6B;AAE7B,SAAgB,YAAY;IAO3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,oBAAoB;IACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,oBAAoB;IACrD,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,UAAU;IAE5C,MAAM,cAAc,GAAG,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAqB,EAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5E,yCAAyC;IACzC,MAAM,2BAA2B,GAAG,uBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAClE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IAEF,MAAM,sBAAsB,GAAG,kBAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACxD,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IACF,MAAM,oBAAoB,GAAG,gBAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACpD,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG;QACpB,wCAAwC;QACxC,qBAAc,CAAC,kBAAkB,CAAC;QAClC,iDAAiD;QACjD,wEAAwE;QACxE,qBAAc,CAAC,IAAI;QACnB,GAAG,2BAA2B;KAC9B,CAAC;IAEF,MAAM,aAAa,GAAG;QACrB,6DAA6D;QAC7D,qBAAc,CAAC,WAAW;QAC1B,qBAAc,CAAC,+BAA+B,CAAC;QAC/C,qBAAc,CAAC,KAAK;QACpB,qBAAc,CAAC,eAAe,CAAC;QAC/B,qBAAc,CAAC,sBAAsB,CAAC;QACtC,qBAAc,CAAC,2BAA2B,CAAC;QAC3C,qBAAc,CAAC,SAAS;QACxB,qBAAc,CAAC,KAAK;QACpB,qBAAc,CAAC,eAAe,CAAC;QAC/B,qBAAc,CAAC,2BAA2B,CAAC;QAC3C,qBAAc,CAAC,mBAAmB,CAAC;QACnC,qBAAc,CAAC,YAAY;QAC3B,qBAAc,CAAC,QAAQ;QACvB,qBAAc,CAAC,YAAY,CAAC;QAC5B,qBAAc,CAAC,OAAO;QACtB,qBAAc,CAAC,SAAS,CAAC;KACzB,CAAC;IACF,wFAAwF;IACxF,aAAa,CAAC,IAAI,CACjB,GAAG,CAAC,GAAG,sBAAsB,EAAE,GAAG,oBAAoB,CAAC,CAAC,MAAM,CAC7D,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CACnC,CACD,CAAC;IAEF,0DAA0D;IAE1D,OAAO;QACN,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;QACnB,YAAY;QACZ,aAAa;KACb,CAAC;AACH,CAAC;AArED,oCAqEC"}
@@ -3,7 +3,7 @@ import { CommandClass, ICommandClassContainer } from "@zwave-js/cc";
3
3
  import { ConfigManager } from "@zwave-js/config";
4
4
  import { CommandClasses, ICommandClass, LogConfig, SendCommandOptions, SendCommandReturnType, SendMessageOptions } from "@zwave-js/core";
5
5
  import type { ZWaveApplicationHost } from "@zwave-js/host";
6
- import { FunctionType, Message } from "@zwave-js/serial";
6
+ import { FunctionType, Message, ZWaveSerialPortImplementation } from "@zwave-js/serial";
7
7
  import { DeepPartial, TypedEventEmitter } from "@zwave-js/shared";
8
8
  import * as util from "util";
9
9
  import { ZWaveController } from "../controller/Controller";
@@ -36,7 +36,7 @@ export declare type DriverEvents = Extract<keyof DriverEventCallbacks, string>;
36
36
  */
37
37
  export declare class Driver extends TypedEventEmitter<DriverEventCallbacks> implements ZWaveApplicationHost {
38
38
  private port;
39
- constructor(port: string, options?: DeepPartial<ZWaveOptions>);
39
+ constructor(port: string | ZWaveSerialPortImplementation, options?: DeepPartial<ZWaveOptions>);
40
40
  /** The serial port instance */
41
41
  private serial;
42
42
  /** An instance of the Send Thread state machine */
@@ -257,12 +257,16 @@ export declare class Driver extends TypedEventEmitter<DriverEventCallbacks> impl
257
257
  * Is called when a Request-type message was received
258
258
  */
259
259
  private handleRequest;
260
- private lastCallbackId;
261
260
  /**
262
261
  * Returns the next callback ID. Callback IDs are used to correlate requests
263
262
  * to the controller/nodes with its response
264
263
  */
265
- getNextCallbackId(): number;
264
+ readonly getNextCallbackId: () => number;
265
+ /**
266
+ * Returns the next callback ID. Callback IDs are used to correlate requests
267
+ * to the controller/nodes with its response
268
+ */
269
+ readonly getNextSupervisionSessionId: () => number;
266
270
  private encapsulateCommands;
267
271
  unwrapCommands(msg: Message & ICommandClassContainer): void;
268
272
  /** Persists the values contained in a Command Class in the corresponding nodes's value DB */
@@ -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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"}
@@ -205,11 +205,25 @@ class Driver extends shared_1.TypedEventEmitter {
205
205
  this._statisticsEnabled = false;
206
206
  this.isSoftResetting = false;
207
207
  this.partialCCSessions = new Map();
208
- this.lastCallbackId = 0xff;
208
+ /**
209
+ * Returns the next callback ID. Callback IDs are used to correlate requests
210
+ * to the controller/nodes with its response
211
+ */
212
+ this.getNextCallbackId = (0, shared_1.createWrappingCounter)(0xff);
213
+ /**
214
+ * Returns the next callback ID. Callback IDs are used to correlate requests
215
+ * to the controller/nodes with its response
216
+ */
217
+ this.getNextSupervisionSessionId = (0, shared_1.createWrappingCounter)(core_1.MAX_SUPERVISION_SESSION_ID);
209
218
  this.lastSaveToCache = 0;
210
219
  this.saveToCacheInterval = 150;
211
220
  this.isSavingToCache = false;
212
221
  this.sendNodeToSleepTimers = new Map();
222
+ // Ensure the given serial port is valid
223
+ if (typeof port !== "string" &&
224
+ !(0, serial_1.isZWaveSerialPortImplementation)(port)) {
225
+ throw new core_1.ZWaveError(`The port must be a string or a valid custom serial port implementation!`, core_1.ZWaveErrorCodes.Driver_InvalidOptions);
226
+ }
213
227
  // merge given options with defaults
214
228
  this.options = (0, shared_1.mergeDeep)(options, defaultOptions);
215
229
  // And make sure they contain valid values
@@ -492,17 +506,23 @@ class Driver extends shared_1.TypedEventEmitter {
492
506
  this.driverLog.print("starting driver...");
493
507
  this.sendThread.start();
494
508
  // Open the serial port
495
- if (this.port.startsWith("tcp://")) {
496
- const url = new url_1.URL(this.port);
497
- this.driverLog.print(`opening serial port ${this.port}`);
498
- this.serial = new serial_1.ZWaveSocket({
499
- host: url.hostname,
500
- port: parseInt(url.port),
501
- }, this._logContainer);
509
+ if (typeof this.port === "string") {
510
+ if (this.port.startsWith("tcp://")) {
511
+ const url = new url_1.URL(this.port);
512
+ this.driverLog.print(`opening serial port ${this.port}`);
513
+ this.serial = new serial_1.ZWaveSocket({
514
+ host: url.hostname,
515
+ port: parseInt(url.port),
516
+ }, this._logContainer);
517
+ }
518
+ else {
519
+ this.driverLog.print(`opening serial port ${this.port}`);
520
+ this.serial = new serial_1.ZWaveSerialPort(this.port, this._logContainer, this.options.testingHooks?.serialPortBinding);
521
+ }
502
522
  }
503
523
  else {
504
- this.driverLog.print(`opening serial port ${this.port}`);
505
- this.serial = new serial_1.ZWaveSerialPort(this.port, this._logContainer, this.options.testingHooks?.serialPortBinding);
524
+ this.driverLog.print("opening serial port using the provided custom implementation");
525
+ this.serial = new serial_1.ZWaveSerialPortBase(this.port, this._logContainer);
506
526
  }
507
527
  this.serial
508
528
  .on("data", this.serialport_onData.bind(this))
@@ -1628,7 +1648,8 @@ class Driver extends shared_1.TypedEventEmitter {
1628
1648
  // If it was, we need to notify the sender that we couldn't decode the command
1629
1649
  const node = this.getNodeUnsafe(msg);
1630
1650
  if (node) {
1631
- await node
1651
+ const endpoint = node.getEndpoint(msg.command.endpointIndex) ?? node;
1652
+ await endpoint
1632
1653
  .createAPI(core_1.CommandClasses.Supervision, false)
1633
1654
  .sendReport({
1634
1655
  sessionId: supervisionSessionId,
@@ -2293,7 +2314,9 @@ ${handlers.length} left`);
2293
2314
  entry.promise.resolve(msg.command);
2294
2315
  // send back a Supervision Report if the command was received via Supervision Get
2295
2316
  if (supervisionSessionId !== undefined) {
2296
- await node
2317
+ const endpoint = node.getEndpoint(msg.command.endpointIndex) ??
2318
+ node;
2319
+ await endpoint
2297
2320
  .createAPI(core_1.CommandClasses.Supervision, false)
2298
2321
  .sendReport({
2299
2322
  sessionId: supervisionSessionId,
@@ -2309,9 +2332,10 @@ ${handlers.length} left`);
2309
2332
  // No one is waiting, dispatch the command to the node itself
2310
2333
  if (supervisionSessionId !== undefined) {
2311
2334
  // Wrap the handleCommand in try-catch so we can notify the node that we weren't able to handle the command
2335
+ const endpoint = node.getEndpoint(msg.command.endpointIndex) ?? node;
2312
2336
  try {
2313
2337
  await node.handleCommand(msg.command);
2314
- await node
2338
+ await endpoint
2315
2339
  .createAPI(core_1.CommandClasses.Supervision, false)
2316
2340
  .sendReport({
2317
2341
  sessionId: supervisionSessionId,
@@ -2322,7 +2346,7 @@ ${handlers.length} left`);
2322
2346
  });
2323
2347
  }
2324
2348
  catch (e) {
2325
- await node
2349
+ await endpoint
2326
2350
  .createAPI(core_1.CommandClasses.Supervision, false)
2327
2351
  .sendReport({
2328
2352
  sessionId: supervisionSessionId,
@@ -2422,16 +2446,6 @@ ${handlers.length} left`);
2422
2446
  this.driverLog.print(" no handlers registered!", "warn");
2423
2447
  }
2424
2448
  }
2425
- /**
2426
- * Returns the next callback ID. Callback IDs are used to correlate requests
2427
- * to the controller/nodes with its response
2428
- */
2429
- getNextCallbackId() {
2430
- this.lastCallbackId = (this.lastCallbackId + 1) & 0xff;
2431
- if (this.lastCallbackId < 1)
2432
- this.lastCallbackId = 1;
2433
- return this.lastCallbackId;
2434
- }
2435
2449
  encapsulateCommands(msg) {
2436
2450
  // The encapsulation order (from outside to inside) is as follows:
2437
2451
  // 5. Any one of the following combinations: