node-opcua-client 2.127.1 → 2.129.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 (43) hide show
  1. package/dist/client_base.d.ts +5 -1
  2. package/dist/client_base.js.map +1 -1
  3. package/dist/opcua_client.d.ts +6 -0
  4. package/dist/opcua_client.js.map +1 -1
  5. package/dist/private/client_base_impl.d.ts +2 -2
  6. package/dist/private/client_base_impl.js +6 -6
  7. package/dist/private/client_base_impl.js.map +1 -1
  8. package/dist/private/client_publish_engine.js +7 -5
  9. package/dist/private/client_publish_engine.js.map +1 -1
  10. package/dist/private/client_session_impl.d.ts +12 -6
  11. package/dist/private/client_session_impl.js +49 -40
  12. package/dist/private/client_session_impl.js.map +1 -1
  13. package/dist/private/opcua_client_impl.d.ts +2 -4
  14. package/dist/private/opcua_client_impl.js +2 -4
  15. package/dist/private/opcua_client_impl.js.map +1 -1
  16. package/dist/private/reconnection/reconnection.js +22 -9
  17. package/dist/private/reconnection/reconnection.js.map +1 -1
  18. package/package.json +43 -46
  19. package/source/client_base.ts +5 -1
  20. package/source/opcua_client.ts +8 -0
  21. package/source/private/client_base_impl.ts +11 -9
  22. package/source/private/client_publish_engine.ts +7 -6
  23. package/source/private/client_session_impl.ts +33 -40
  24. package/source/private/opcua_client_impl.ts +5 -4
  25. package/source/private/reconnection/reconnection.ts +35 -23
  26. package/dist/alarms_and_conditions/client_alarm.d.ts +0 -49
  27. package/dist/alarms_and_conditions/client_alarm.js +0 -97
  28. package/dist/alarms_and_conditions/client_alarm.js.map +0 -1
  29. package/dist/alarms_and_conditions/client_alarm_list.d.ts +0 -25
  30. package/dist/alarms_and_conditions/client_alarm_list.js +0 -98
  31. package/dist/alarms_and_conditions/client_alarm_list.js.map +0 -1
  32. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.d.ts +0 -18
  33. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js +0 -175
  34. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js.map +0 -1
  35. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.d.ts +0 -9
  36. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js +0 -60
  37. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js.map +0 -1
  38. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.d.ts +0 -3
  39. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js +0 -15
  40. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js.map +0 -1
  41. package/dist/reconnection.d.ts +0 -9
  42. package/dist/reconnection.js +0 -453
  43. package/dist/reconnection.js.map +0 -1
@@ -55,6 +55,7 @@ import { repair_client_sessions } from "./reconnection/reconnection";
55
55
  import { ClientBaseImpl } from "./client_base_impl";
56
56
  import { ClientSessionImpl } from "./client_session_impl";
57
57
  import { IClientBase } from "./i_private_client";
58
+ import { DataTypeExtractStrategy } from "node-opcua-client-dynamic-extension-object";
58
59
 
59
60
  interface TokenAndSignature {
60
61
  userIdentityToken: UserIdentityToken | null;
@@ -370,10 +371,6 @@ function _adjustRevisedSessionTimeout(revisedSessionTimeout: number, requestedTi
370
371
  return revisedSessionTimeout;
371
372
  }
372
373
 
373
- /***
374
- * @constructor
375
- * @internal
376
- */
377
374
  export class OPCUAClientImpl extends ClientBaseImpl implements OPCUAClient {
378
375
  public static minimumRevisedSessionTimeout = 100.0;
379
376
  private _retryCreateSessionTimer?: NodeJS.Timeout;
@@ -390,10 +387,14 @@ export class OPCUAClientImpl extends ClientBaseImpl implements OPCUAClient {
390
387
  private serverUri?: string;
391
388
  private clientNonce?: Nonce;
392
389
 
390
+ public dataTypeExtractStrategy: DataTypeExtractStrategy;
391
+
393
392
  constructor(options?: OPCUAClientOptions) {
394
393
  options = options || {};
395
394
  super(options);
396
395
 
396
+ this.dataTypeExtractStrategy = options.dataTypeExtractStrategy || DataTypeExtractStrategy.Auto;
397
+
397
398
  // @property endpointMustExist {Boolean}
398
399
  // if set to true , create Session will only accept connection from server which endpoint_url has been reported
399
400
  // by GetEndpointsRequest.
@@ -216,19 +216,19 @@ function repair_client_session_by_recreating_a_new_session(
216
216
  doDebug && debugLog(chalk.red(" => RECREATING SUBSCRIPTION "), subscriptionId);
217
217
  assert(subscription.session === newSession, "must have the new session");
218
218
 
219
- recreateSubscriptionAndMonitoredItem(subscription).then(() => {
220
- doDebug &&
221
- debugLog(
222
- chalk.cyan(" => RECREATING SUBSCRIPTION AND MONITORED ITEM DONE subscriptionId="),
223
- subscriptionId
224
- );
225
- next();
226
-
227
- }).catch((err) => {
228
- doDebug && debugLog("_recreateSubscription failed !" + (err as Error).message);
229
- next();
230
- });
231
-
219
+ recreateSubscriptionAndMonitoredItem(subscription)
220
+ .then(() => {
221
+ doDebug &&
222
+ debugLog(
223
+ chalk.cyan(" => RECREATING SUBSCRIPTION AND MONITORED ITEM DONE subscriptionId="),
224
+ subscriptionId
225
+ );
226
+ next();
227
+ })
228
+ .catch((err) => {
229
+ doDebug && debugLog("_recreateSubscription failed !" + (err as Error).message);
230
+ next();
231
+ });
232
232
  },
233
233
  (err1?: Error | null) => {
234
234
  // prettier-ignore
@@ -310,18 +310,25 @@ function repair_client_session_by_recreating_a_new_session(
310
310
  if (!client.beforeSubscriptionRecreate) {
311
311
  innerCallback();
312
312
  return;
313
-
314
313
  }
315
- client.beforeSubscriptionRecreate(newSession)
314
+ client
315
+ .beforeSubscriptionRecreate(newSession)
316
316
  .then((err) => {
317
- { const err = _shouldNotContinue(session); if (err) { return innerCallback(err); } }
317
+ {
318
+ const err = _shouldNotContinue(session);
319
+ if (err) {
320
+ return innerCallback(err);
321
+ }
322
+ }
318
323
  if (!err) {
319
324
  innerCallback();
320
325
  } else {
321
326
  innerCallback(err);
322
327
  }
323
328
  })
324
- .catch((err) => { innerCallback(err) });
329
+ .catch((err) => {
330
+ innerCallback(err);
331
+ });
325
332
  },
326
333
 
327
334
  function attempt_subscription_transfer(innerCallback: ErrorCallback) {
@@ -506,7 +513,7 @@ export function repair_client_session(client: IClientBase, session: ClientSessio
506
513
  privateSession._reconnecting.reconnecting = true;
507
514
 
508
515
  // get old transaction queue ...
509
- const transactionQueue = privateSession.pendingTransactions ? privateSession.pendingTransactions.splice(0) : [];
516
+ const transactionQueue = privateSession._reconnecting.pendingTransactions.splice(0);
510
517
 
511
518
  const repeatedAction = (callback: EmptyCallback) => {
512
519
  // prettier-ignore
@@ -527,6 +534,10 @@ export function repair_client_session(client: IClientBase, session: ClientSessio
527
534
  const delay = 2000;
528
535
  errorLog(chalk.red(`... will retry session repair... in ${delay} ms`));
529
536
  setTimeout(() => {
537
+ { const err = _shouldNotContinue(session); if (err) {
538
+ warningLog("cancelling session repair");
539
+ return callback(err);
540
+ } }
530
541
  errorLog(chalk.red("Retrying session repair..."));
531
542
  repeatedAction(callback);
532
543
  }, delay);
@@ -547,13 +558,14 @@ export function repair_client_session(client: IClientBase, session: ClientSessio
547
558
  };
548
559
  repeatedAction((err) => {
549
560
  privateSession._reconnecting.reconnecting = false;
550
-
551
- const otherCallbacks = privateSession._reconnecting.pendingCallbacks;
552
- privateSession._reconnecting.pendingCallbacks = [];
561
+ const otherCallbacks = privateSession._reconnecting.pendingCallbacks.splice(0);
553
562
  // re-inject element in queue
563
+
554
564
  // istanbul ignore next
555
- doDebug && debugLog(chalk.yellow("re-injecting transaction queue"), transactionQueue.length);
556
- transactionQueue.forEach((e: any) => privateSession.pendingTransactions.push(e));
565
+ if (transactionQueue.length > 0) {
566
+ doDebug && debugLog(chalk.yellow("re-injecting transaction queue"), transactionQueue.length);
567
+ transactionQueue.forEach((e: any) => privateSession._reconnecting.pendingTransactions.push(e));
568
+ }
557
569
  otherCallbacks.forEach((c: EmptyCallback) => c(err));
558
570
  callback(err);
559
571
  });
@@ -1,49 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { EventEmitter } from "events";
4
- import { NodeId } from "node-opcua-nodeid";
5
- import { StatusCode } from "node-opcua-status-code";
6
- import { Variant } from "node-opcua-variant";
7
- import { ClientSession } from "../client_session";
8
- export interface TVariant<T> extends Variant {
9
- value: T;
10
- }
11
- export interface TTwoStateStatus extends TVariant<string> {
12
- id: TVariant<boolean>;
13
- }
14
- export interface EventStuff {
15
- conditionId: TVariant<NodeId>;
16
- eventType: TVariant<NodeId>;
17
- eventId: TVariant<Buffer>;
18
- retain: TVariant<boolean>;
19
- activeState: TTwoStateStatus;
20
- ackedState: TTwoStateStatus;
21
- confirmedState: TTwoStateStatus;
22
- conditionName?: TVariant<string>;
23
- }
24
- export interface ClientAlarm {
25
- conditionId: NodeId;
26
- eventType: NodeId;
27
- fields: EventStuff;
28
- on(eventName: "changed", eventHandler: () => void): this;
29
- acknowledge(session: ClientSession, comment: string): Promise<StatusCode>;
30
- getField(fieldName: string): Variant | null;
31
- }
32
- /**
33
- * describes a OPCUA Alarm as seen in the client side
34
- */
35
- export declare class ClientAlarm extends EventEmitter {
36
- conditionId: NodeId;
37
- eventType: NodeId;
38
- eventId: Buffer;
39
- fields: EventStuff;
40
- constructor(eventFields: EventStuff);
41
- confirm(session: ClientSession, comment: string): Promise<StatusCode>;
42
- update(eventFields: EventStuff): void;
43
- getRetain(): boolean;
44
- toString(): string;
45
- }
46
- /**
47
- * @private
48
- */
49
- export declare function fieldsToJson(fields: string[], eventFields: Variant[], flat?: boolean): EventStuff;
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fieldsToJson = exports.ClientAlarm = void 0;
4
- const events_1 = require("events");
5
- const node_opcua_assert_1 = require("node-opcua-assert");
6
- const node_opcua_debug_1 = require("node-opcua-debug");
7
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
8
- const node_opcua_utils_1 = require("node-opcua-utils");
9
- const node_opcua_variant_1 = require("node-opcua-variant");
10
- const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
11
- /**
12
- * describes a OPCUA Alarm as seen in the client side
13
- */
14
- class ClientAlarm extends events_1.EventEmitter {
15
- constructor(eventFields) {
16
- super();
17
- this.conditionId = (0, node_opcua_nodeid_1.resolveNodeId)(eventFields.conditionId.value);
18
- this.eventType = (0, node_opcua_nodeid_1.resolveNodeId)(eventFields.eventType.value);
19
- this.eventId = eventFields.eventId.value;
20
- this.fields = eventFields;
21
- this.update(eventFields);
22
- }
23
- async acknowledge(session, comment) {
24
- return await session.acknowledgeCondition(this.conditionId, this.eventId, comment);
25
- }
26
- async confirm(session, comment) {
27
- return await session.confirmCondition(this.conditionId, this.eventId, comment);
28
- }
29
- update(eventFields) {
30
- (0, node_opcua_assert_1.assert)(this.conditionId.toString() === (0, node_opcua_nodeid_1.resolveNodeId)(eventFields.conditionId.value).toString());
31
- (0, node_opcua_assert_1.assert)(this.eventType.toString() === (0, node_opcua_nodeid_1.resolveNodeId)(eventFields.eventType.value).toString());
32
- this.eventId = eventFields.eventId.value;
33
- this.fields = eventFields;
34
- }
35
- getRetain() {
36
- return this.fields.retain.value;
37
- }
38
- toString() {
39
- return (this.constructor.name +
40
- ": " +
41
- this.conditionId.toString() +
42
- " " +
43
- this.eventType.toString() +
44
- " " +
45
- Object.entries(this.fields)
46
- .filter(([key, value]) => value.dataType !== node_opcua_variant_1.DataType.Null)
47
- .map(([key, value]) => key.padEnd(30) + "=" + value.toString())
48
- .join("\n") +
49
- "\n\n");
50
- }
51
- getField(fieldName) {
52
- return this.fields[fieldName] || null;
53
- }
54
- }
55
- exports.ClientAlarm = ClientAlarm;
56
- /**
57
- * @private
58
- */
59
- function fieldsToJson(fields, eventFields, flat) {
60
- function setProperty(_data, fieldName, value) {
61
- let name;
62
- if (!fieldName || value === null) {
63
- return;
64
- }
65
- if (!flat) {
66
- const f = fieldName.split(".");
67
- if (f.length === 1) {
68
- fieldName = (0, node_opcua_utils_1.lowerFirstLetter)(fieldName);
69
- _data[fieldName] = value;
70
- }
71
- else {
72
- for (let i = 0; i < f.length - 1; i++) {
73
- name = (0, node_opcua_utils_1.lowerFirstLetter)(f[i]);
74
- _data[name] = _data[name] || {};
75
- _data = _data[name];
76
- }
77
- name = (0, node_opcua_utils_1.lowerFirstLetter)(f[f.length - 1]);
78
- _data[name] = value;
79
- }
80
- }
81
- else {
82
- const name = fieldName.split(".").map(node_opcua_utils_1.lowerFirstLetter).join(".");
83
- _data[name] = value;
84
- }
85
- }
86
- if (fields.length > eventFields.length) {
87
- warningLog("warning fields.length !== eventFields.length", fields.length, eventFields.length);
88
- }
89
- const data = {};
90
- for (let index = 0; index < fields.length; index++) {
91
- const variant = eventFields[index];
92
- setProperty(data, fields[index], variant);
93
- }
94
- return data;
95
- }
96
- exports.fieldsToJson = fieldsToJson;
97
- //# sourceMappingURL=client_alarm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client_alarm.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /// <reference types="node" />
2
- import { EventEmitter } from "events";
3
- import { ClientAlarm, EventStuff } from "./client_alarm";
4
- export interface ClientAlarmList {
5
- on(eventName: "alarmChanged", handler: (alarm: ClientAlarm) => void): this;
6
- on(eventName: "alarmDeleted", handler: (alarm: ClientAlarm) => void): this;
7
- on(eventName: "newAlarm", handler: (alarm: ClientAlarm) => void): this;
8
- emit(eventName: "alarmChanged", alarm: ClientAlarm): boolean;
9
- emit(eventName: "newAlarm", alarm: ClientAlarm): boolean;
10
- emit(eventName: "alarmDeleted", alarm: ClientAlarm): boolean;
11
- }
12
- export declare class ClientAlarmList extends EventEmitter implements Iterable<ClientAlarm> {
13
- private _map;
14
- constructor();
15
- [Symbol.iterator](): Iterator<ClientAlarm>;
16
- alarms(): ClientAlarm[];
17
- update(eventField: EventStuff): void;
18
- removeAlarm(eventField: EventStuff): void;
19
- get length(): number;
20
- purgeUnusedAlarms(): void;
21
- private _removeAlarm;
22
- private makeKey;
23
- private findAlarm;
24
- private deleteAlarm;
25
- }
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClientAlarmList = void 0;
4
- const events_1 = require("events");
5
- const node_opcua_assert_1 = require("node-opcua-assert");
6
- const client_alarm_1 = require("./client_alarm");
7
- // maintain a set of alarm list for a client
8
- class ClientAlarmList extends events_1.EventEmitter {
9
- constructor() {
10
- super();
11
- this._map = {};
12
- }
13
- [Symbol.iterator]() {
14
- let pointer = 0;
15
- const components = Object.values(this._map);
16
- return {
17
- next() {
18
- if (pointer >= components.length) {
19
- return {
20
- done: true,
21
- value: components[pointer++]
22
- };
23
- }
24
- else {
25
- return {
26
- done: false,
27
- value: components[pointer++]
28
- };
29
- }
30
- }
31
- };
32
- }
33
- alarms() {
34
- return Object.values(this._map);
35
- }
36
- update(eventField) {
37
- // Spec says:
38
- // Clients shall check for multiple Event Notifications for a ConditionBranch to avoid
39
- // overwriting a new state delivered together with an older state from the Refresh
40
- // process.
41
- const { conditionId, eventType } = eventField;
42
- (0, node_opcua_assert_1.assert)(conditionId, "must have a valid conditionId ( verify that event is a acknodweldgeable type");
43
- const alarm = this.findAlarm(conditionId.value, eventType.value);
44
- if (!alarm) {
45
- const key = this.makeKey(conditionId.value, eventType.value);
46
- const newAlarm = new client_alarm_1.ClientAlarm(eventField);
47
- this._map[key] = newAlarm;
48
- this.emit("newAlarm", newAlarm);
49
- this.emit("alarmChanged", newAlarm);
50
- }
51
- else {
52
- alarm.update(eventField);
53
- this.emit("alarmChanged", alarm);
54
- }
55
- }
56
- removeAlarm(eventField) {
57
- const { conditionId, eventType } = eventField;
58
- const alarm = this.findAlarm(conditionId.value, eventType.value);
59
- if (alarm) {
60
- alarm.update(eventField);
61
- this._removeAlarm(alarm);
62
- }
63
- }
64
- get length() {
65
- return Object.keys(this._map).length;
66
- }
67
- purgeUnusedAlarms() {
68
- const alarms = this.alarms();
69
- for (const alarm of alarms) {
70
- if (!alarm.getRetain()) {
71
- this._removeAlarm(alarm);
72
- }
73
- }
74
- }
75
- _removeAlarm(alarm) {
76
- this.emit("alarmDeleted", alarm);
77
- this.deleteAlarm(alarm.conditionId, alarm.eventType);
78
- }
79
- makeKey(conditionId, eventType) {
80
- return conditionId.toString() + "|" + eventType.toString();
81
- }
82
- findAlarm(conditionId, eventType) {
83
- const key = this.makeKey(conditionId, eventType);
84
- const _c = this._map[key];
85
- return _c || null;
86
- }
87
- deleteAlarm(conditionId, eventType) {
88
- const key = this.makeKey(conditionId, eventType);
89
- const _c = this._map[key];
90
- if (_c) {
91
- delete this._map[key];
92
- return true;
93
- }
94
- return false;
95
- }
96
- }
97
- exports.ClientAlarmList = ClientAlarmList;
98
- //# sourceMappingURL=client_alarm_list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client_alarm_list.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm_list.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { StatusCode } from "node-opcua-status-code";
2
- import { ClientSession } from "../client_session";
3
- import { EventStuff } from "./client_alarm";
4
- /**
5
- *
6
- * @param session
7
- * @param eventStuff
8
- * @param comment
9
- */
10
- export declare function acknowledgeCondition(session: ClientSession, eventStuff: EventStuff, comment: string): Promise<StatusCode>;
11
- export declare function confirmCondition(session: ClientSession, eventStuff: EventStuff, comment: string): Promise<StatusCode>;
12
- /**
13
- * Enumerate all events
14
- * @param session
15
- */
16
- export declare function findActiveConditions(session: ClientSession): Promise<EventStuff[]>;
17
- export declare function acknowledgeAllConditions(session: ClientSession, message: string): Promise<void>;
18
- export declare function confirmAllConditions(session: ClientSession, message: string): Promise<void>;
@@ -1,175 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.confirmAllConditions = exports.acknowledgeAllConditions = exports.findActiveConditions = exports.confirmCondition = exports.acknowledgeCondition = void 0;
4
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
5
- const node_opcua_service_filter_1 = require("node-opcua-service-filter");
6
- const node_opcua_service_read_1 = require("node-opcua-service-read");
7
- const node_opcua_status_code_1 = require("node-opcua-status-code");
8
- const node_opcua_variant_1 = require("node-opcua-variant");
9
- const node_opcua_debug_1 = require("node-opcua-debug");
10
- const client_alarm_1 = require("./client_alarm");
11
- const client_alarm_tools_extractConditionFields_1 = require("./client_alarm_tools_extractConditionFields");
12
- const client_tools_1 = require("./client_tools");
13
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
14
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
15
- const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
16
- /**
17
- *
18
- * @param session
19
- * @param eventStuff
20
- * @param comment
21
- */
22
- async function acknowledgeCondition(session, eventStuff, comment) {
23
- try {
24
- const conditionId = eventStuff.conditionId.value;
25
- const eventId = eventStuff.eventId.value;
26
- return await session.acknowledgeCondition(conditionId, eventId, comment);
27
- }
28
- catch (err) {
29
- errorLog("Acknowledging alarm has failed !", err);
30
- return node_opcua_status_code_1.StatusCodes.BadInternalError;
31
- }
32
- }
33
- exports.acknowledgeCondition = acknowledgeCondition;
34
- async function confirmCondition(session, eventStuff, comment) {
35
- try {
36
- const conditionId = eventStuff.conditionId.value;
37
- const eventId = eventStuff.eventId.value;
38
- return await session.confirmCondition(conditionId, eventId, comment);
39
- }
40
- catch (err) {
41
- errorLog("Acknowledging alarm has failed !", err);
42
- return node_opcua_status_code_1.StatusCodes.BadInternalError;
43
- }
44
- }
45
- exports.confirmCondition = confirmCondition;
46
- /**
47
- * Enumerate all events
48
- * @param session
49
- */
50
- async function findActiveConditions(session) {
51
- const request = {
52
- maxNotificationsPerPublish: 10000,
53
- priority: 6,
54
- publishingEnabled: true,
55
- requestedLifetimeCount: 1000,
56
- requestedMaxKeepAliveCount: 100,
57
- requestedPublishingInterval: 100
58
- };
59
- const subscription = await session.createSubscription2(request);
60
- const itemToMonitor = {
61
- attributeId: node_opcua_service_read_1.AttributeIds.EventNotifier,
62
- nodeId: (0, node_opcua_nodeid_1.resolveNodeId)("Server") // i=2253
63
- };
64
- const fields = await (0, client_alarm_tools_extractConditionFields_1.extractConditionFields)(session, "AcknowledgeableConditionType");
65
- // note: we may want to have this select clause
66
- // Or(OfType("AcknowledgeableConditionType"), OfType("RefreshStartEventType"), OfType("RefreshEndEventType"))
67
- const eventFilter = (0, node_opcua_service_filter_1.constructEventFilter)(fields);
68
- const monitoringParameters = {
69
- discardOldest: false,
70
- filter: eventFilter,
71
- queueSize: 100,
72
- samplingInterval: 0
73
- };
74
- const event_monitoringItem = await subscription.monitor(itemToMonitor, monitoringParameters, node_opcua_service_read_1.TimestampsToReturn.Both);
75
- const acknowledgeableConditions = [];
76
- let refreshStartEventHasBeenReceived = false;
77
- let RefreshEndEventHasBeenReceived = false;
78
- const RefreshStartEventType = (0, node_opcua_nodeid_1.resolveNodeId)("RefreshStartEventType").toString();
79
- const RefreshEndEventType = (0, node_opcua_nodeid_1.resolveNodeId)("RefreshEndEventType").toString();
80
- const promise = new Promise((resolve, reject) => {
81
- // now create a event monitored Item
82
- event_monitoringItem.on("changed", (_eventFields) => {
83
- const eventFields = _eventFields;
84
- try {
85
- if (RefreshEndEventHasBeenReceived) {
86
- return;
87
- }
88
- // dumpEvent(session, fields, eventFields);
89
- const pojo = (0, client_alarm_1.fieldsToJson)(fields, eventFields);
90
- // make sure we only start recording event after the RefreshStartEvent has been received
91
- if (!refreshStartEventHasBeenReceived) {
92
- if (pojo.eventType.value.toString() === RefreshStartEventType) {
93
- refreshStartEventHasBeenReceived = true;
94
- }
95
- return;
96
- }
97
- if (pojo.eventType.value.toString() === RefreshEndEventType) {
98
- RefreshEndEventHasBeenReceived = true;
99
- resolve();
100
- return;
101
- }
102
- if (!pojo.conditionId.value) {
103
- // not a Acknowledgeable condition
104
- return;
105
- }
106
- if (pojo.ackedState.id.dataType === node_opcua_variant_1.DataType.Boolean) {
107
- acknowledgeableConditions.push(pojo);
108
- }
109
- }
110
- catch (err) {
111
- errorLog("Error !!", err);
112
- }
113
- });
114
- // async call without waiting !
115
- try {
116
- (0, client_tools_1.callConditionRefresh)(subscription);
117
- }
118
- catch (err) {
119
- // it is possible that server do not implement conditionRefresh ...
120
- debugLog("Server may not implement conditionRefresh", err);
121
- }
122
- });
123
- await promise;
124
- // now shut down subscription
125
- await subscription.terminate();
126
- return acknowledgeableConditions;
127
- }
128
- exports.findActiveConditions = findActiveConditions;
129
- async function acknowledgeAllConditions(session, message) {
130
- try {
131
- let conditions = await findActiveConditions(session);
132
- if (conditions.length === 0) {
133
- debugLog("Warning: cannot find conditions ");
134
- }
135
- // filter acknowledgeable conditions (no acked yet)
136
- conditions = conditions.filter((pojo) => pojo.ackedState.id.value === false);
137
- const promises = [];
138
- for (const eventStuff of conditions) {
139
- promises.push(acknowledgeCondition(session, eventStuff, message));
140
- }
141
- const result = await Promise.all(promises);
142
- // istanbul ignore next
143
- if (doDebug) {
144
- debugLog("Acked all results: ", result.map((e) => e.toString()).join(" "));
145
- }
146
- }
147
- catch (err) {
148
- errorLog("Error", err);
149
- }
150
- }
151
- exports.acknowledgeAllConditions = acknowledgeAllConditions;
152
- async function confirmAllConditions(session, message) {
153
- try {
154
- let conditions = await findActiveConditions(session);
155
- if (conditions.length === 0) {
156
- debugLog("Warning: cannot find conditions ");
157
- }
158
- // filter acknowledgeable conditions (no acked yet)
159
- conditions = conditions.filter((pojo) => pojo.confirmedState.id.value === false);
160
- const promises = [];
161
- for (const eventStuff of conditions) {
162
- promises.push(confirmCondition(session, eventStuff, message));
163
- }
164
- const result = await Promise.all(promises);
165
- // istanbul ignore next
166
- if (doDebug) {
167
- debugLog("Confirm all results: ", result.map((e) => e.toString()).join(" "));
168
- }
169
- }
170
- catch (err) {
171
- errorLog("Error", err);
172
- }
173
- }
174
- exports.confirmAllConditions = confirmAllConditions;
175
- //# sourceMappingURL=client_alarm_tools_acknowledge_all_conditions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client_alarm_tools_acknowledge_all_conditions.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { IBasicSessionReadAsyncSimple } from "node-opcua-pseudo-session";
2
- import { Variant } from "node-opcua-variant";
3
- /**
4
- *
5
- * @param session
6
- * @param fields
7
- * @param eventFields
8
- */
9
- export declare function dumpEvent(session: IBasicSessionReadAsyncSimple, fields: string[], eventFields: Variant[]): Promise<void>;