zwave-js 8.7.7 → 8.8.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 (107) hide show
  1. package/build/CommandClass.js +1 -0
  2. package/build/CommandClass.js.map +1 -1
  3. package/build/Controller.d.ts +1 -0
  4. package/build/Controller.d.ts.map +1 -1
  5. package/build/Controller.js +4 -1
  6. package/build/Controller.js.map +1 -1
  7. package/build/Node.d.ts +1 -1
  8. package/build/Node.d.ts.map +1 -1
  9. package/build/Node.js.map +1 -1
  10. package/build/Utils.d.ts +1 -0
  11. package/build/Utils.d.ts.map +1 -1
  12. package/build/Utils.js +7 -1
  13. package/build/Utils.js.map +1 -1
  14. package/build/lib/commandclass/API.d.ts +15 -3
  15. package/build/lib/commandclass/API.d.ts.map +1 -1
  16. package/build/lib/commandclass/API.js +50 -0
  17. package/build/lib/commandclass/API.js.map +1 -1
  18. package/build/lib/commandclass/CommandClass.d.ts +0 -6
  19. package/build/lib/commandclass/CommandClass.d.ts.map +1 -1
  20. package/build/lib/commandclass/CommandClass.js +0 -12
  21. package/build/lib/commandclass/CommandClass.js.map +1 -1
  22. package/build/lib/commandclass/Security2CC.d.ts +1 -10
  23. package/build/lib/commandclass/Security2CC.d.ts.map +1 -1
  24. package/build/lib/commandclass/Security2CC.js +16 -48
  25. package/build/lib/commandclass/Security2CC.js.map +1 -1
  26. package/build/lib/commandclass/SecurityCC.d.ts +2 -9
  27. package/build/lib/commandclass/SecurityCC.d.ts.map +1 -1
  28. package/build/lib/commandclass/SecurityCC.js +9 -53
  29. package/build/lib/commandclass/SecurityCC.js.map +1 -1
  30. package/build/lib/commandclass/WakeUpCC.d.ts.map +1 -1
  31. package/build/lib/commandclass/WakeUpCC.js +1 -0
  32. package/build/lib/commandclass/WakeUpCC.js.map +1 -1
  33. package/build/lib/controller/BridgeApplicationCommandRequest.d.ts +2 -6
  34. package/build/lib/controller/BridgeApplicationCommandRequest.d.ts.map +1 -1
  35. package/build/lib/controller/BridgeApplicationCommandRequest.js +9 -19
  36. package/build/lib/controller/BridgeApplicationCommandRequest.js.map +1 -1
  37. package/build/lib/controller/Controller.d.ts +12 -2
  38. package/build/lib/controller/Controller.d.ts.map +1 -1
  39. package/build/lib/controller/Controller.js +14 -6
  40. package/build/lib/controller/Controller.js.map +1 -1
  41. package/build/lib/controller/Inclusion.d.ts +1 -1
  42. package/build/lib/controller/SendDataBridgeMessages.d.ts +5 -3
  43. package/build/lib/controller/SendDataBridgeMessages.d.ts.map +1 -1
  44. package/build/lib/controller/SendDataBridgeMessages.js +21 -8
  45. package/build/lib/controller/SendDataBridgeMessages.js.map +1 -1
  46. package/build/lib/controller/SendDataMessages.d.ts +5 -3
  47. package/build/lib/controller/SendDataMessages.d.ts.map +1 -1
  48. package/build/lib/controller/SendDataMessages.js +21 -9
  49. package/build/lib/controller/SendDataMessages.js.map +1 -1
  50. package/build/lib/controller/SendDataShared.d.ts +72 -2
  51. package/build/lib/controller/SendDataShared.d.ts.map +1 -1
  52. package/build/lib/controller/SendDataShared.js +195 -1
  53. package/build/lib/controller/SendDataShared.js.map +1 -1
  54. package/build/lib/driver/CommandQueueMachine.d.ts +7 -3
  55. package/build/lib/driver/CommandQueueMachine.d.ts.map +1 -1
  56. package/build/lib/driver/CommandQueueMachine.js +66 -29
  57. package/build/lib/driver/CommandQueueMachine.js.map +1 -1
  58. package/build/lib/driver/Driver.d.ts +16 -12
  59. package/build/lib/driver/Driver.d.ts.map +1 -1
  60. package/build/lib/driver/Driver.js +178 -163
  61. package/build/lib/driver/Driver.js.map +1 -1
  62. package/build/lib/driver/MessageGenerators.d.ts +26 -0
  63. package/build/lib/driver/MessageGenerators.d.ts.map +1 -0
  64. package/build/lib/driver/MessageGenerators.js +242 -0
  65. package/build/lib/driver/MessageGenerators.js.map +1 -0
  66. package/build/lib/driver/SendThreadMachine.d.ts +24 -53
  67. package/build/lib/driver/SendThreadMachine.d.ts.map +1 -1
  68. package/build/lib/driver/SendThreadMachine.js +160 -618
  69. package/build/lib/driver/SendThreadMachine.js.map +1 -1
  70. package/build/lib/driver/StateMachineShared.d.ts +2 -0
  71. package/build/lib/driver/StateMachineShared.d.ts.map +1 -1
  72. package/build/lib/driver/StateMachineShared.js +21 -10
  73. package/build/lib/driver/StateMachineShared.js.map +1 -1
  74. package/build/lib/driver/Transaction.d.ts +35 -3
  75. package/build/lib/driver/Transaction.d.ts.map +1 -1
  76. package/build/lib/driver/Transaction.js +20 -15
  77. package/build/lib/driver/Transaction.js.map +1 -1
  78. package/build/lib/driver/TransactionMachine.d.ts +30 -0
  79. package/build/lib/driver/TransactionMachine.d.ts.map +1 -0
  80. package/build/lib/driver/TransactionMachine.js +247 -0
  81. package/build/lib/driver/TransactionMachine.js.map +1 -0
  82. package/build/lib/driver/ZWaveOptions.d.ts +0 -2
  83. package/build/lib/driver/ZWaveOptions.d.ts.map +1 -1
  84. package/build/lib/message/Constants.d.ts +8 -9
  85. package/build/lib/message/Constants.d.ts.map +1 -1
  86. package/build/lib/message/Constants.js +9 -12
  87. package/build/lib/message/Constants.js.map +1 -1
  88. package/build/lib/message/Message.d.ts +5 -1
  89. package/build/lib/message/Message.d.ts.map +1 -1
  90. package/build/lib/message/Message.js +11 -0
  91. package/build/lib/message/Message.js.map +1 -1
  92. package/build/lib/node/HealthCheck.d.ts +8 -0
  93. package/build/lib/node/HealthCheck.d.ts.map +1 -0
  94. package/build/lib/node/HealthCheck.js +83 -0
  95. package/build/lib/node/HealthCheck.js.map +1 -0
  96. package/build/lib/node/Node.d.ts +11 -3
  97. package/build/lib/node/Node.d.ts.map +1 -1
  98. package/build/lib/node/Node.js +283 -7
  99. package/build/lib/node/Node.js.map +1 -1
  100. package/build/lib/node/Types.d.ts +132 -1
  101. package/build/lib/node/Types.d.ts.map +1 -1
  102. package/build/lib/node/Types.js.map +1 -1
  103. package/build/lib/serialapi/misc/GetBackgroundRSSIMessages.d.ts +14 -0
  104. package/build/lib/serialapi/misc/GetBackgroundRSSIMessages.d.ts.map +1 -0
  105. package/build/lib/serialapi/misc/GetBackgroundRSSIMessages.js +46 -0
  106. package/build/lib/serialapi/misc/GetBackgroundRSSIMessages.js.map +1 -0
  107. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"SendThreadMachine.js","sourceRoot":"","sources":["../../../src/lib/driver/SendThreadMachine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SendThreadMachine.js","sourceRoot":"","sources":["../../../src/lib/driver/SendThreadMachine.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,10 @@ export interface ServiceImplementations {
17
17
  resolveTransaction: (transaction: Transaction, result?: Message) => void;
18
18
  logOutgoingMessage: (message: Message) => void;
19
19
  log: DriverLogger["print"];
20
+ logQueue: DriverLogger["sendQueue"];
20
21
  }
21
22
  export declare function sendDataErrorToZWaveError(error: SendDataErrorData["reason"], transaction: Transaction, receivedMessage: Message | undefined): ZWaveError;
23
+ export declare function createMessageDroppedUnexpectedError(original: Error): ZWaveError;
22
24
  /** Tests whether the given error is one that was caused by the serial API execution */
23
25
  export declare function isSerialCommandError(error: unknown): boolean;
24
26
  export declare const respondUnsolicited: SendAction<any, any, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"StateMachineShared.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/StateMachineShared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StateMachineShared.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/StateMachineShared.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.interpretEx = exports.createWrapperMachine = exports.respondUnsolicited = exports.isSerialCommandError = exports.sendDataErrorToZWaveError = void 0;
3
+ exports.interpretEx = exports.createWrapperMachine = exports.respondUnsolicited = exports.isSerialCommandError = exports.createMessageDroppedUnexpectedError = exports.sendDataErrorToZWaveError = void 0;
4
4
  const core_1 = require("@zwave-js/core");
5
5
  const shared_1 = require("@zwave-js/shared");
6
6
  const xstate_1 = require("xstate");
@@ -20,23 +20,26 @@ function sendDataErrorToZWaveError(error, transaction, receivedMessage) {
20
20
  return new core_1.ZWaveError(`Timeout while waiting for a response from the controller`, core_1.ZWaveErrorCodes.Controller_Timeout, undefined, transaction.stack);
21
21
  case "callback timeout":
22
22
  return new core_1.ZWaveError(`Timeout while waiting for a callback from the controller`, core_1.ZWaveErrorCodes.Controller_Timeout, undefined, transaction.stack);
23
- case "response NOK":
24
- if ((0, SendDataShared_1.isSendData)(transaction.message)) {
25
- return new core_1.ZWaveError(`Failed to send the command after ${transaction.message.maxSendAttempts} attempts. Transmission queue full`, core_1.ZWaveErrorCodes.Controller_MessageDropped, receivedMessage, transaction.stack);
23
+ case "response NOK": {
24
+ const sentMessage = transaction.getCurrentMessage();
25
+ if ((0, SendDataShared_1.isSendData)(sentMessage)) {
26
+ return new core_1.ZWaveError(`Failed to send the command after ${sentMessage.maxSendAttempts} attempts. Transmission queue full`, core_1.ZWaveErrorCodes.Controller_MessageDropped, receivedMessage, transaction.stack);
26
27
  }
27
28
  else {
28
29
  return new core_1.ZWaveError(`The controller response indicated failure`, core_1.ZWaveErrorCodes.Controller_ResponseNOK, receivedMessage, transaction.stack);
29
30
  }
30
- case "callback NOK":
31
- if (transaction.message instanceof SendDataMessages_1.SendDataRequest ||
32
- transaction.message instanceof SendDataBridgeMessages_1.SendDataBridgeRequest) {
31
+ }
32
+ case "callback NOK": {
33
+ const sentMessage = transaction.getCurrentMessage();
34
+ if (sentMessage instanceof SendDataMessages_1.SendDataRequest ||
35
+ sentMessage instanceof SendDataBridgeMessages_1.SendDataBridgeRequest) {
33
36
  const status = receivedMessage.transmitStatus;
34
- return new core_1.ZWaveError(`Failed to send the command after ${transaction.message.maxSendAttempts} attempts (Status ${(0, shared_1.getEnumMemberName)(SendDataShared_1.TransmitStatus, status)})`, status === SendDataShared_1.TransmitStatus.NoAck
37
+ return new core_1.ZWaveError(`Failed to send the command after ${sentMessage.maxSendAttempts} attempts (Status ${(0, shared_1.getEnumMemberName)(SendDataShared_1.TransmitStatus, status)})`, status === SendDataShared_1.TransmitStatus.NoAck
35
38
  ? core_1.ZWaveErrorCodes.Controller_CallbackNOK
36
39
  : core_1.ZWaveErrorCodes.Controller_MessageDropped, receivedMessage, transaction.stack);
37
40
  }
38
- else if (transaction.message instanceof SendDataMessages_1.SendDataMulticastRequest ||
39
- transaction.message instanceof SendDataBridgeMessages_1.SendDataMulticastBridgeRequest) {
41
+ else if (sentMessage instanceof SendDataMessages_1.SendDataMulticastRequest ||
42
+ sentMessage instanceof SendDataBridgeMessages_1.SendDataMulticastBridgeRequest) {
40
43
  const status = receivedMessage.transmitStatus;
41
44
  return new core_1.ZWaveError(`One or more nodes did not respond to the multicast request (Status ${(0, shared_1.getEnumMemberName)(SendDataShared_1.TransmitStatus, status)})`, status === SendDataShared_1.TransmitStatus.NoAck
42
45
  ? core_1.ZWaveErrorCodes.Controller_CallbackNOK
@@ -45,11 +48,19 @@ function sendDataErrorToZWaveError(error, transaction, receivedMessage) {
45
48
  else {
46
49
  return new core_1.ZWaveError(`The controller callback indicated failure`, core_1.ZWaveErrorCodes.Controller_CallbackNOK, receivedMessage, transaction.stack);
47
50
  }
51
+ }
48
52
  case "node timeout":
49
53
  return new core_1.ZWaveError(`Timed out while waiting for a response from the node`, core_1.ZWaveErrorCodes.Controller_NodeTimeout, undefined, transaction.stack);
50
54
  }
51
55
  }
52
56
  exports.sendDataErrorToZWaveError = sendDataErrorToZWaveError;
57
+ function createMessageDroppedUnexpectedError(original) {
58
+ const ret = new core_1.ZWaveError(`Message dropped because of an unexpected error: ${original.message}`, core_1.ZWaveErrorCodes.Controller_MessageDropped);
59
+ if (original.stack)
60
+ ret.stack = original.stack;
61
+ return ret;
62
+ }
63
+ exports.createMessageDroppedUnexpectedError = createMessageDroppedUnexpectedError;
53
64
  /** Tests whether the given error is one that was caused by the serial API execution */
54
65
  function isSerialCommandError(error) {
55
66
  if (!(0, core_1.isZWaveError)(error))
@@ -1 +1 @@
1
- {"version":3,"file":"StateMachineShared.js","sourceRoot":"","sources":["../../../src/lib/driver/StateMachineShared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StateMachineShared.js","sourceRoot":"","sources":["../../../src/lib/driver/StateMachineShared.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,48 @@ import type { DeferredPromise } from "alcalzone-shared/deferred-promise";
3
3
  import { MessagePriority } from "../message/Constants";
4
4
  import type { Message } from "../message/Message";
5
5
  import type { Driver } from "./Driver";
6
+ export interface MessageGenerator {
7
+ parent: Transaction;
8
+ /** Start a new copy of this message generator */
9
+ start: () => AsyncGenerator<Message, void, Message>;
10
+ /** A reference to the currently running message generator if it was already started */
11
+ self?: ReturnType<MessageGenerator["start"]>;
12
+ /** A reference to the last generated message, or undefined if the generator wasn't started or has finished */
13
+ current?: Message;
14
+ }
15
+ export interface TransactionOptions {
16
+ /** The "primary" message this transaction contains, e.g. the un-encapsulated version of a SendData request */
17
+ message: Message;
18
+ /**
19
+ * The actual messages that will be sent when handling this transaction,
20
+ * defined as a message generator to dynamically create the messages.
21
+ */
22
+ parts: MessageGenerator;
23
+ /** The priority of this transaction */
24
+ priority: MessagePriority;
25
+ /** Will be resolved/rejected by the Send Thread Machine when the entire transaction is handled */
26
+ promise: DeferredPromise<Message | void>;
27
+ }
6
28
  /**
7
29
  * Transactions are used to track and correllate messages with their responses.
8
30
  */
9
31
  export declare class Transaction implements Comparable<Transaction> {
10
32
  private readonly driver;
11
- readonly message: Message;
33
+ private readonly options;
34
+ constructor(driver: Driver, options: TransactionOptions);
35
+ /** Will be resolved/rejected by the Send Thread Machine when the entire transaction is handled */
12
36
  readonly promise: DeferredPromise<Message | void>;
37
+ /** The "primary" message this transaction contains, e.g. the un-encapsulated version of a SendData request */
38
+ readonly message: Message;
39
+ /** The message generator to create the actual messages for this transaction */
40
+ readonly parts: MessageGenerator;
41
+ /**
42
+ * Returns the current message of this transaction. This is either the currently active partial message
43
+ * or the primary message if the generator hasn't been started yet.
44
+ */
45
+ getCurrentMessage(): Message | undefined;
46
+ /** The priority of this transaction */
13
47
  priority: MessagePriority;
14
- constructor(driver: Driver, message: Message, promise: DeferredPromise<Message | void>, priority: MessagePriority);
15
48
  /** The timestamp at which the transaction was created */
16
49
  creationTimestamp: number;
17
50
  /** Whether the node status should be updated when this transaction times out */
@@ -26,6 +59,5 @@ export declare class Transaction implements Comparable<Transaction> {
26
59
  readonly stack: string;
27
60
  /** Compares two transactions in order to plan their transmission sequence */
28
61
  compareTo(other: Transaction): CompareResult;
29
- toJSON(): any;
30
62
  }
31
63
  //# sourceMappingURL=Transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/Transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,UAAU,EAEV,aAAa,EACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,qBAAa,WAAY,YAAW,UAAU,CAAC,WAAW,CAAC;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,OAAO,EAAE,OAAO;aAChB,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;IACjD,QAAQ,EAAE,eAAe;gBAHf,MAAM,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,EACjD,QAAQ,EAAE,eAAe;IASjC,yDAAyD;IAClD,iBAAiB,EAAE,MAAM,CAAsB;IAEtD,gFAAgF;IACzE,yBAAyB,EAAE,OAAO,CAAQ;IAEjD,gFAAgF;IACzE,eAAe,EAAE,OAAO,CAAS;IAExC,sEAAsE;IAC/D,qBAAqB,EAAE,OAAO,CAAS;IAE9C,qEAAqE;IAC9D,GAAG,CAAC,EAAE,GAAG,CAAC;IAEjB,wDAAwD;IACxD,SAAgB,KAAK,EAAG,MAAM,CAAC;IAE/B,6EAA6E;IACtE,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa;IAmE5C,MAAM,IAAI,GAAG;CAUpB"}
1
+ {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/Transaction.ts"],"names":[],"mappings":"AACA,OAAO,EACN,UAAU,EAEV,aAAa,EACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,iDAAiD;IACjD,KAAK,EAAE,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,uFAAuF;IACvF,IAAI,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,8GAA8G;IAC9G,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAClC,8GAA8G;IAC9G,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,KAAK,EAAE,gBAAgB,CAAC;IACxB,uCAAuC;IACvC,QAAQ,EAAE,eAAe,CAAC;IAC1B,kGAAkG;IAClG,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,UAAU,CAAC,WAAW,CAAC;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB;IAW7C,kGAAkG;IAClG,SAAgB,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,CAClC;IAEtB,8GAA8G;IAC9G,SAAgB,OAAO,EAAE,OAAO,CAAwB;IAExD,+EAA+E;IAC/E,SAAgB,KAAK,EAAE,gBAAgB,CAAsB;IAE7D;;;OAGG;IACI,iBAAiB,IAAI,OAAO,GAAG,SAAS;IAI/C,uCAAuC;IAChC,QAAQ,EAAE,eAAe,CAAyB;IAEzD,yDAAyD;IAClD,iBAAiB,EAAE,MAAM,CAAsB;IAEtD,gFAAgF;IACzE,yBAAyB,EAAE,OAAO,CAAQ;IAEjD,gFAAgF;IACzE,eAAe,EAAE,OAAO,CAAS;IAExC,sEAAsE;IAC/D,qBAAqB,EAAE,OAAO,CAAS;IAE9C,qEAAqE;IAC9D,GAAG,CAAC,EAAE,GAAG,CAAC;IAEjB,wDAAwD;IACxD,SAAgB,KAAK,EAAG,MAAM,CAAC;IAE/B,6EAA6E;IACtE,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa;CAkEnD"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Transaction = void 0;
4
4
  const core_1 = require("@zwave-js/core");
5
- const shared_1 = require("@zwave-js/shared");
6
5
  const comparable_1 = require("alcalzone-shared/comparable");
7
6
  const Constants_1 = require("../message/Constants");
8
7
  const Types_1 = require("../node/Types");
@@ -10,11 +9,17 @@ const Types_1 = require("../node/Types");
10
9
  * Transactions are used to track and correllate messages with their responses.
11
10
  */
12
11
  class Transaction {
13
- constructor(driver, message, promise, priority) {
12
+ constructor(driver, options) {
14
13
  this.driver = driver;
15
- this.message = message;
16
- this.promise = promise;
17
- this.priority = priority;
14
+ this.options = options;
15
+ /** Will be resolved/rejected by the Send Thread Machine when the entire transaction is handled */
16
+ this.promise = this.options.promise;
17
+ /** The "primary" message this transaction contains, e.g. the un-encapsulated version of a SendData request */
18
+ this.message = this.options.message;
19
+ /** The message generator to create the actual messages for this transaction */
20
+ this.parts = this.options.parts;
21
+ /** The priority of this transaction */
22
+ this.priority = this.options.priority;
18
23
  /** The timestamp at which the transaction was created */
19
24
  this.creationTimestamp = (0, core_1.highResTimestamp)();
20
25
  /** Whether the node status should be updated when this transaction times out */
@@ -23,12 +28,22 @@ class Transaction {
23
28
  this.pauseSendThread = false;
24
29
  /** If a Wake Up On Demand should be requested for the target node. */
25
30
  this.requestWakeUpOnDemand = false;
31
+ // Give the message generator a reference to this transaction
32
+ options.parts.parent = this;
26
33
  // We need create the stack on a temporary object or the Error
27
34
  // class will try to print the message
28
35
  const tmp = { message: "" };
29
36
  Error.captureStackTrace(tmp, Transaction);
30
37
  this.stack = tmp.stack.replace(/^Error:?\s*\n/, "");
31
38
  }
39
+ /**
40
+ * Returns the current message of this transaction. This is either the currently active partial message
41
+ * or the primary message if the generator hasn't been started yet.
42
+ */
43
+ getCurrentMessage() {
44
+ var _a;
45
+ return (_a = this.parts.current) !== null && _a !== void 0 ? _a : this.message;
46
+ }
32
47
  /** Compares two transactions in order to plan their transmission sequence */
33
48
  compareTo(other) {
34
49
  function compareWakeUpPriority(_this, _other) {
@@ -90,16 +105,6 @@ class Transaction {
90
105
  // for equal priority, sort by the timestamp
91
106
  return (0, comparable_1.compareNumberOrString)(other.creationTimestamp, this.creationTimestamp);
92
107
  }
93
- toJSON() {
94
- return (0, shared_1.pick)(this, [
95
- "creationTimestamp",
96
- "changeNodeStatusOnTimeout",
97
- "tag",
98
- "message",
99
- "priority",
100
- "stack",
101
- ]);
102
- }
103
108
  }
104
109
  exports.Transaction = Transaction;
105
110
  //# sourceMappingURL=Transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../src/lib/driver/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../src/lib/driver/Transaction.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAClD,4DAIqC;AAErC,oDAAuD;AAEvD,yCAA2C;AA2B3C;;GAEG;AACH,MAAa,WAAW;IACvB,YACkB,MAAc,EACd,OAA2B;QAD3B,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAoB;QAW7C,kGAAkG;QAClF,YAAO,GACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAEtB,8GAA8G;QAC9F,YAAO,GAAY,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAExD,+EAA+E;QAC/D,UAAK,GAAqB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAU7D,uCAAuC;QAChC,aAAQ,GAAoB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEzD,yDAAyD;QAClD,sBAAiB,GAAW,IAAA,uBAAgB,GAAE,CAAC;QAEtD,gFAAgF;QACzE,8BAAyB,GAAY,IAAI,CAAC;QAEjD,gFAAgF;QACzE,oBAAe,GAAY,KAAK,CAAC;QAExC,sEAAsE;QAC/D,0BAAqB,GAAY,KAAK,CAAC;QAxC7C,6DAA6D;QAC7D,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,8DAA8D;QAC9D,sCAAsC;QACtC,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC5B,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAI,GAAW,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAYD;;;OAGG;IACI,iBAAiB;;QACvB,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,IAAI,CAAC,OAAO,CAAC;IAC3C,CAAC;IAuBD,6EAA6E;IACtE,SAAS,CAAC,KAAkB;QAClC,SAAS,qBAAqB,CAC7B,KAAkB,EAClB,MAAmB;YAEnB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAEjD,gDAAgD;YAChD,kEAAkE;YAClE,wBAAwB;YACxB,MAAM,YAAY,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,MAAK,kBAAU,CAAC,MAAM,CAAC;YAC5D,MAAM,aAAa,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,MAAK,kBAAU,CAAC,MAAM,CAAC;YAE9D,2DAA2D;YAC3D,+CAA+C;YAC/C,IAAI,YAAY,IAAI,CAAC,aAAa;gBAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,aAAa,IAAI,CAAC,YAAY;gBAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,CAAC,QAAQ,KAAK,2BAAe,CAAC,MAAM,EAAE;YAC7C,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,MAAM,IAAI,SAAS;gBAAE,OAAO,MAAM,CAAC;SACvC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,2BAAe,CAAC,MAAM,EAAE;YACrD,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,MAAM,IAAI,SAAS;gBAAE,OAAO,CAAC,MAAuB,CAAC;SACzD;QAED,SAAS,wBAAwB,CAChC,KAAkB,EAClB,MAAmB;YAEnB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,QAAQ,IAAI,SAAS,EAAE;gBAC1B,mBAAmB;gBACnB,MAAM,aAAa,GAClB,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,mBAAmB,CAAC;gBACtD,MAAM,cAAc,GACnB,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,mBAAmB,CAAC;gBACxD,uEAAuE;gBACvE,IAAI,aAAa,IAAI,CAAC,cAAc;oBAAE,OAAO,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,aAAa,IAAI,cAAc;oBAAE,OAAO,CAAC,CAAC;aAC/C;QACF,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,2BAAe,CAAC,SAAS,EAAE;YAChD,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,MAAM,IAAI,SAAS;gBAAE,OAAO,MAAM,CAAC;SACvC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,2BAAe,CAAC,SAAS,EAAE;YACxD,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,MAAM,IAAI,SAAS;gBAAE,OAAO,CAAC,MAAuB,CAAC;SACzD;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAC;aACzC,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QAElD,4CAA4C;QAC5C,OAAO,IAAA,kCAAqB,EAC3B,KAAK,CAAC,iBAAiB,EACvB,IAAI,CAAC,iBAAiB,CACtB,CAAC;IACH,CAAC;CACD;AAxHD,kCAwHC"}
@@ -0,0 +1,30 @@
1
+ import type { ZWaveError } from "@zwave-js/core";
2
+ import { Interpreter, StateMachine } from "xstate";
3
+ import type { Message } from "../message/Message";
4
+ import type { CommandQueueEvent } from "./CommandQueueMachine";
5
+ import { ServiceImplementations } from "./StateMachineShared";
6
+ import type { Transaction } from "./Transaction";
7
+ export interface TransactionMachineContext {
8
+ transaction: Transaction;
9
+ sendDataAttempts: number;
10
+ result?: Message;
11
+ error?: ZWaveError;
12
+ }
13
+ export declare type TransactionMachineEvent = (CommandQueueEvent & {
14
+ type: "command_success";
15
+ }) | (CommandQueueEvent & {
16
+ type: "command_failure";
17
+ }) | (CommandQueueEvent & {
18
+ type: "command_error";
19
+ }) | {
20
+ type: "NIF";
21
+ nodeId: number;
22
+ } | {
23
+ type: "resend";
24
+ } | {
25
+ type: "stop";
26
+ };
27
+ export declare type TransactionMachine = StateMachine<TransactionMachineContext, any, TransactionMachineEvent>;
28
+ export declare type TransactionMachineInterpreter = Interpreter<TransactionMachineContext, any, TransactionMachineEvent>;
29
+ export declare function createTransactionMachine(id: string, transaction: Transaction, implementations: ServiceImplementations): TransactionMachine;
30
+ //# sourceMappingURL=TransactionMachine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionMachine.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/TransactionMachine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAGN,WAAW,EAGX,YAAY,EACZ,MAAM,QAAQ,CAAC;AAKhB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAGN,sBAAsB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQjD,MAAM,WAAW,yBAAyB;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,oBAAY,uBAAuB,GAChC,CAAC,iBAAiB,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,GACjD,CAAC,iBAAiB,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,GACjD,CAAC,iBAAiB,GAAG;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,GAC/C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAE/B;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAElB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAuCpB,oBAAY,kBAAkB,GAAG,YAAY,CAC5C,yBAAyB,EACzB,GAAG,EACH,uBAAuB,CACvB,CAAC;AAEF,oBAAY,6BAA6B,GAAG,WAAW,CACtD,yBAAyB,EACzB,GAAG,EACH,uBAAuB,CACvB,CAAC;AAEF,wBAAgB,wBAAwB,CACvC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,sBAAsB,GACrC,kBAAkB,CA0OpB"}
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTransactionMachine = void 0;
4
+ const xstate_1 = require("xstate");
5
+ const NoOperationCC_1 = require("../commandclass/NoOperationCC");
6
+ const SendDataBridgeMessages_1 = require("../controller/SendDataBridgeMessages");
7
+ const SendDataMessages_1 = require("../controller/SendDataMessages");
8
+ const SendDataShared_1 = require("../controller/SendDataShared");
9
+ const StateMachineShared_1 = require("./StateMachineShared");
10
+ const guards = {
11
+ mayRetry: (ctx, evt) => {
12
+ const msg = ctx.transaction.parts.current;
13
+ if (!(0, SendDataShared_1.isSendData)(msg))
14
+ return false;
15
+ if (msg instanceof SendDataMessages_1.SendDataMulticastRequest ||
16
+ msg instanceof SendDataBridgeMessages_1.SendDataMulticastBridgeRequest) {
17
+ // Don't try to resend multicast messages if they were already transmitted.
18
+ // One or more nodes might have already reacted
19
+ if (evt.reason === "callback NOK") {
20
+ return false;
21
+ }
22
+ }
23
+ return msg.maxSendAttempts > ctx.sendDataAttempts;
24
+ },
25
+ currentMessageIsSendData: (ctx) => (0, SendDataShared_1.isSendData)(ctx.transaction.parts.current),
26
+ currentTransactionIsPingForNode: (ctx, evt) => {
27
+ const msg = ctx.transaction.parts.current;
28
+ return (!!msg &&
29
+ (0, NoOperationCC_1.messageIsPing)(msg) &&
30
+ msg.getNodeId() === evt.nodeId);
31
+ },
32
+ hasMessage: (ctx) => !!ctx.transaction.parts.current,
33
+ };
34
+ const every = (...guards) => ({
35
+ type: "every",
36
+ guards,
37
+ });
38
+ function createTransactionMachine(id, transaction, implementations) {
39
+ return (0, xstate_1.createMachine)({
40
+ preserveActionOrder: true,
41
+ id,
42
+ initial: "init",
43
+ context: {
44
+ transaction,
45
+ sendDataAttempts: 0,
46
+ },
47
+ on: {
48
+ NIF: {
49
+ // Pings are not retransmitted and won't receive a response if the node wake up after the ping was sent
50
+ // Therefore resolve pending pings so the communication may proceed immediately
51
+ cond: "currentTransactionIsPingForNode",
52
+ actions: "resolvePing",
53
+ target: "done",
54
+ internal: true,
55
+ },
56
+ resend: {
57
+ // The driver asked to re-transmit the current message again immediately
58
+ // without increasing the retry counter
59
+ target: "execute",
60
+ internal: true,
61
+ },
62
+ stop: "done",
63
+ },
64
+ states: {
65
+ init: {
66
+ always: {
67
+ actions: "startTransaction",
68
+ target: "nextMessage",
69
+ },
70
+ },
71
+ // The following states are repeated for every message in this transaction
72
+ nextMessage: {
73
+ invoke: {
74
+ // The message generator asynchronously generates a new message to send
75
+ // or undefined if it has reached the end. Invoking this promise doubles
76
+ // as waiting for the node response without introducing additional states
77
+ id: "nextMessage",
78
+ src: "nextMessage",
79
+ onDone: [
80
+ {
81
+ cond: "hasMessage",
82
+ target: "attemptMessage",
83
+ // Each newly generated message gets its own sendData attempts
84
+ actions: "resetSendDataAttempts",
85
+ },
86
+ // When the transaction generator is empty, we're done with this transaction
87
+ { target: "done" },
88
+ ],
89
+ // If the next message cannot be generated because of an error, the transaction is also done
90
+ onError: { target: "done" },
91
+ },
92
+ },
93
+ // Increase send data counter before sending the message
94
+ attemptMessage: {
95
+ always: [
96
+ {
97
+ cond: "currentMessageIsSendData",
98
+ actions: "incrementSendDataAttempts",
99
+ target: "execute",
100
+ },
101
+ {
102
+ target: "execute",
103
+ },
104
+ ],
105
+ },
106
+ execute: {
107
+ entry: "sendToCommandQueue",
108
+ on: {
109
+ command_success: [
110
+ // On success, resolve the transaction and wait for the driver's GO for the next one
111
+ {
112
+ actions: "rememberCommandSuccess",
113
+ target: "nextMessage",
114
+ },
115
+ ],
116
+ command_failure: [
117
+ // On failure, retry SendData commands if possible
118
+ {
119
+ cond: every("currentMessageIsSendData", "mayRetry"),
120
+ target: "retryWait",
121
+ },
122
+ // Otherwise reject the transaction
123
+ {
124
+ actions: "rememberCommandFailure",
125
+ target: "nextMessage",
126
+ },
127
+ ],
128
+ command_error: [
129
+ // On failure, retry SendData commands if possible
130
+ {
131
+ cond: every("currentMessageIsSendData", "mayRetry"),
132
+ target: "retryWait",
133
+ },
134
+ // Otherwise reject the transaction
135
+ {
136
+ actions: "rememberCommandError",
137
+ target: "nextMessage",
138
+ },
139
+ ],
140
+ },
141
+ },
142
+ retryWait: {
143
+ invoke: {
144
+ id: "notify",
145
+ src: "notifyRetry",
146
+ },
147
+ after: {
148
+ 500: "attemptMessage",
149
+ },
150
+ },
151
+ done: {
152
+ type: "final",
153
+ // Notify the parent machine so it can clean up
154
+ entry: (0, xstate_1.sendParent)({
155
+ type: "transaction_done",
156
+ id,
157
+ }),
158
+ },
159
+ },
160
+ }, {
161
+ actions: {
162
+ startTransaction: (ctx) => {
163
+ ctx.transaction.parts.start();
164
+ },
165
+ resetSendDataAttempts: (0, xstate_1.assign)({
166
+ sendDataAttempts: (_) => 0,
167
+ }),
168
+ incrementSendDataAttempts: (0, xstate_1.assign)({
169
+ sendDataAttempts: (ctx) => ctx.sendDataAttempts + 1,
170
+ }),
171
+ sendToCommandQueue: (0, xstate_1.sendParent)((ctx) => ({
172
+ type: "forward",
173
+ to: "QUEUE",
174
+ from: id,
175
+ payload: {
176
+ type: "add",
177
+ transaction: ctx.transaction,
178
+ },
179
+ })),
180
+ resolvePing: (ctx) => {
181
+ // To resolve a ping, exit the message generator early by throwing something that's not an error
182
+ ctx.transaction.parts
183
+ .self.throw(undefined)
184
+ .catch(() => { });
185
+ },
186
+ rememberCommandSuccess: (0, xstate_1.assign)({
187
+ result: (_, evt) => evt.result,
188
+ error: (_) => undefined,
189
+ }),
190
+ rememberCommandFailure: (0, xstate_1.assign)((ctx, evt) => {
191
+ // For SendData messages, a NOK callback still contains useful info we need to evaluate
192
+ if ((0, SendDataShared_1.isSendData)(ctx.transaction.parts.current) &&
193
+ evt.reason === "callback NOK") {
194
+ return {
195
+ ...ctx,
196
+ result: evt.result,
197
+ error: undefined,
198
+ };
199
+ }
200
+ else {
201
+ return {
202
+ ...ctx,
203
+ result: undefined,
204
+ error: (0, StateMachineShared_1.sendDataErrorToZWaveError)(evt.reason, ctx.transaction, evt.result),
205
+ };
206
+ }
207
+ }),
208
+ rememberCommandError: (0, xstate_1.assign)({
209
+ result: (_) => undefined,
210
+ error: (_, evt) => (0, StateMachineShared_1.createMessageDroppedUnexpectedError)(evt.error),
211
+ }),
212
+ unsetCommandResult: (0, xstate_1.assign)({
213
+ result: (_) => undefined,
214
+ error: (_) => undefined,
215
+ }),
216
+ },
217
+ services: {
218
+ // This service is used to return something to the yielded message generator
219
+ // Depending on the outcome of the last command, the generator will either be thrown or continued with the result
220
+ nextMessage: (ctx) => {
221
+ if (ctx.error) {
222
+ implementations.rejectTransaction(ctx.transaction, ctx.error);
223
+ return Promise.resolve();
224
+ }
225
+ else {
226
+ return ctx.transaction.parts.self.next(ctx.result);
227
+ }
228
+ },
229
+ notifyRetry: (ctx) => {
230
+ var _a;
231
+ (_a = implementations.notifyRetry) === null || _a === void 0 ? void 0 : _a.call(implementations, "SendData", undefined, ctx.transaction.message, ctx.sendDataAttempts, ctx.transaction.message
232
+ .maxSendAttempts, 500);
233
+ return Promise.resolve();
234
+ },
235
+ },
236
+ guards: {
237
+ ...guards,
238
+ every: (ctx, event, { cond }) => {
239
+ const keys = cond.guards;
240
+ return keys.every((guardKey) => guards[guardKey](ctx, event, undefined));
241
+ },
242
+ },
243
+ delays: {},
244
+ });
245
+ }
246
+ exports.createTransactionMachine = createTransactionMachine;
247
+ //# sourceMappingURL=TransactionMachine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionMachine.js","sourceRoot":"","sources":["../../../src/lib/driver/TransactionMachine.ts"],"names":[],"mappings":"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"}