node-opcua-client 2.113.0 → 2.115.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 (31) hide show
  1. package/dist/alarms_and_conditions/client_alarm.js +4 -17
  2. package/dist/alarms_and_conditions/client_alarm.js.map +1 -1
  3. package/dist/alarms_and_conditions/client_alarm_tools.js +95 -109
  4. package/dist/alarms_and_conditions/client_alarm_tools.js.map +1 -1
  5. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js +127 -146
  6. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js.map +1 -1
  7. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js +36 -53
  8. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js.map +1 -1
  9. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js +8 -19
  10. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js.map +1 -1
  11. package/dist/client_monitored_item_toolbox.js +4 -1
  12. package/dist/client_monitored_item_toolbox.js.map +1 -1
  13. package/dist/client_session_keepalive_manager.js +60 -71
  14. package/dist/client_session_keepalive_manager.js.map +1 -1
  15. package/dist/opcua_client.js +2 -13
  16. package/dist/opcua_client.js.map +1 -1
  17. package/dist/private/client_base_impl.js +65 -80
  18. package/dist/private/client_base_impl.js.map +1 -1
  19. package/dist/private/client_monitored_item_impl.js +4 -7
  20. package/dist/private/client_monitored_item_impl.js.map +1 -1
  21. package/dist/private/client_session_impl.js +21 -41
  22. package/dist/private/client_session_impl.js.map +1 -1
  23. package/dist/private/client_subscription_impl.js +3 -1
  24. package/dist/private/client_subscription_impl.js.map +1 -1
  25. package/dist/private/opcua_client_impl.js +63 -82
  26. package/dist/private/opcua_client_impl.js.map +1 -1
  27. package/dist/reconnection.js +1 -1
  28. package/dist/reconnection.js.map +1 -1
  29. package/dist/verify.js +36 -48
  30. package/dist/verify.js.map +1 -1
  31. package/package.json +42 -42
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.fieldsToJson = exports.ClientAlarm = void 0;
13
4
  const events_1 = require("events");
@@ -29,15 +20,11 @@ class ClientAlarm extends events_1.EventEmitter {
29
20
  this.fields = eventFields;
30
21
  this.update(eventFields);
31
22
  }
32
- acknowledge(session, comment) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- return yield session.acknowledgeCondition(this.conditionId, this.eventId, comment);
35
- });
23
+ async acknowledge(session, comment) {
24
+ return await session.acknowledgeCondition(this.conditionId, this.eventId, comment);
36
25
  }
37
- confirm(session, comment) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- return yield session.confirmCondition(this.conditionId, this.eventId, comment);
40
- });
26
+ async confirm(session, comment) {
27
+ return await session.confirmCondition(this.conditionId, this.eventId, comment);
41
28
  }
42
29
  update(eventFields) {
43
30
  (0, node_opcua_assert_1.assert)(this.conditionId.toString() === (0, node_opcua_nodeid_1.resolveNodeId)(eventFields.conditionId.value).toString());
@@ -1 +1 @@
1
- {"version":3,"file":"client_alarm.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client_alarm.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.installAlarmMonitoring = exports.uninstallAlarmMonitoring = void 0;
13
4
  const node_opcua_data_model_1 = require("node-opcua-data-model");
@@ -30,19 +21,17 @@ function r(_key, o) {
30
21
  return o;
31
22
  }
32
23
  // ------------------------------------------------------------------------------------------------------------------------------
33
- function uninstallAlarmMonitoring(session) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- const _sessionPriv = session;
36
- if (!_sessionPriv.$clientAlarmList) {
37
- return;
38
- }
39
- const mi = _sessionPriv.$monitoredItemForAlarmList;
40
- mi.removeAllListeners();
41
- _sessionPriv.$monitoredItemForAlarmList = null;
42
- yield _sessionPriv.$subscriptionForAlarmList.terminate();
43
- _sessionPriv.$clientAlarmList = null;
24
+ async function uninstallAlarmMonitoring(session) {
25
+ const _sessionPriv = session;
26
+ if (!_sessionPriv.$clientAlarmList) {
44
27
  return;
45
- });
28
+ }
29
+ const mi = _sessionPriv.$monitoredItemForAlarmList;
30
+ mi.removeAllListeners();
31
+ _sessionPriv.$monitoredItemForAlarmList = null;
32
+ await _sessionPriv.$subscriptionForAlarmList.terminate();
33
+ _sessionPriv.$clientAlarmList = null;
34
+ return;
46
35
  }
47
36
  exports.uninstallAlarmMonitoring = uninstallAlarmMonitoring;
48
37
  // Release 1.04 8 OPC Unified Architecture, Part 9
@@ -57,101 +46,98 @@ exports.uninstallAlarmMonitoring = uninstallAlarmMonitoring;
57
46
  // RefreshEndEvent, the Client removes any remaining suspect Events, since they no longer
58
47
  // apply.
59
48
  // ------------------------------------------------------------------------------------------------------------------------------
60
- function installAlarmMonitoring(session) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- const _sessionPriv = session;
63
- // create
64
- if (_sessionPriv.$clientAlarmList) {
65
- return _sessionPriv.$clientAlarmList;
66
- }
67
- const clientAlarmList = new client_alarm_list_1.ClientAlarmList();
68
- _sessionPriv.$clientAlarmList = clientAlarmList;
69
- const request = {
70
- maxNotificationsPerPublish: 100,
71
- priority: 6,
72
- publishingEnabled: true,
73
- requestedLifetimeCount: 10000,
74
- requestedMaxKeepAliveCount: 10,
75
- requestedPublishingInterval: 500
76
- };
77
- const subscription = yield session.createSubscription2(request);
78
- _sessionPriv.$subscriptionForAlarmList = subscription;
79
- const itemToMonitor = {
80
- attributeId: node_opcua_data_model_1.AttributeIds.EventNotifier,
81
- nodeId: (0, node_opcua_nodeid_1.resolveNodeId)("Server") // i=2253
82
- };
83
- const fields = yield (0, client_alarm_tools_extractConditionFields_1.extractConditionFields)(session, "AlarmConditionType");
84
- const AcknowledgeableConditionType = (0, node_opcua_nodeid_1.resolveNodeId)("AcknowledgeableConditionType");
85
- const eventFilter = (0, node_opcua_service_filter_1.constructEventFilter)(fields, (0, node_opcua_service_filter_1.ofType)(AcknowledgeableConditionType));
86
- const monitoringParameters = {
87
- discardOldest: false,
88
- filter: eventFilter,
89
- queueSize: 1000,
90
- samplingInterval: 0
91
- };
92
- // now create a event monitored Item
93
- const eventMonitoringItem = yield subscription.monitor(itemToMonitor, monitoringParameters, node_opcua_service_read_1.TimestampsToReturn.Both);
94
- const queueEvent = [];
95
- function flushQueue() {
96
- const q = [...queueEvent];
97
- queueEvent.length = 0;
98
- for (const pojo of q) {
99
- clientAlarmList.update(pojo);
100
- }
49
+ async function installAlarmMonitoring(session) {
50
+ const _sessionPriv = session;
51
+ // create
52
+ if (_sessionPriv.$clientAlarmList) {
53
+ return _sessionPriv.$clientAlarmList;
54
+ }
55
+ const clientAlarmList = new client_alarm_list_1.ClientAlarmList();
56
+ _sessionPriv.$clientAlarmList = clientAlarmList;
57
+ const request = {
58
+ maxNotificationsPerPublish: 100,
59
+ priority: 6,
60
+ publishingEnabled: true,
61
+ requestedLifetimeCount: 10000,
62
+ requestedMaxKeepAliveCount: 10,
63
+ requestedPublishingInterval: 500
64
+ };
65
+ const subscription = await session.createSubscription2(request);
66
+ _sessionPriv.$subscriptionForAlarmList = subscription;
67
+ const itemToMonitor = {
68
+ attributeId: node_opcua_data_model_1.AttributeIds.EventNotifier,
69
+ nodeId: (0, node_opcua_nodeid_1.resolveNodeId)("Server") // i=2253
70
+ };
71
+ const fields = await (0, client_alarm_tools_extractConditionFields_1.extractConditionFields)(session, "AlarmConditionType");
72
+ const AcknowledgeableConditionType = (0, node_opcua_nodeid_1.resolveNodeId)("AcknowledgeableConditionType");
73
+ const eventFilter = (0, node_opcua_service_filter_1.constructEventFilter)(fields, (0, node_opcua_service_filter_1.ofType)(AcknowledgeableConditionType));
74
+ const monitoringParameters = {
75
+ discardOldest: false,
76
+ filter: eventFilter,
77
+ queueSize: 1000,
78
+ samplingInterval: 0
79
+ };
80
+ // now create a event monitored Item
81
+ const eventMonitoringItem = await subscription.monitor(itemToMonitor, monitoringParameters, node_opcua_service_read_1.TimestampsToReturn.Both);
82
+ const queueEvent = [];
83
+ function flushQueue() {
84
+ const q = [...queueEvent];
85
+ queueEvent.length = 0;
86
+ for (const pojo of q) {
87
+ clientAlarmList.update(pojo);
101
88
  }
102
- let inInit = true;
103
- eventMonitoringItem.on("changed", (eventFields) => {
104
- var _a, _b;
105
- const pojo = (0, client_alarm_1.fieldsToJson)(fields, eventFields);
106
- const { eventType, eventId, conditionId, conditionName } = pojo;
107
- debugLog("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ---- ALARM RECEIVED " +
108
- eventType.value.toString() +
109
- " " +
110
- ((_a = eventId.value) === null || _a === void 0 ? void 0 : _a.toString("hex")));
111
- try {
112
- if (!conditionId || !conditionId.value || conditionId.dataType === node_opcua_variant_1.DataType.Null) {
113
- // not a acknowledgeable condition
114
- warningLog(" not acknowledgeable condition ---- " + eventType.value.toString() + " ", conditionId, conditionName === null || conditionName === void 0 ? void 0 : conditionName.value, " " + ((_b = eventId.value) === null || _b === void 0 ? void 0 : _b.toString("hex")));
115
- return;
116
- }
117
- queueEvent.push(pojo);
118
- if (queueEvent.length === 1 && !inInit) {
119
- setTimeout(() => flushQueue(), 10);
120
- }
89
+ }
90
+ let inInit = true;
91
+ eventMonitoringItem.on("changed", (eventFields) => {
92
+ const pojo = (0, client_alarm_1.fieldsToJson)(fields, eventFields);
93
+ const { eventType, eventId, conditionId, conditionName } = pojo;
94
+ debugLog("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ---- ALARM RECEIVED " +
95
+ eventType.value.toString() +
96
+ " " +
97
+ eventId.value?.toString("hex"));
98
+ try {
99
+ if (!conditionId || !conditionId.value || conditionId.dataType === node_opcua_variant_1.DataType.Null) {
100
+ // not a acknowledgeable condition
101
+ warningLog(" not acknowledgeable condition ---- " + eventType.value.toString() + " ", conditionId, conditionName?.value, " " + eventId.value?.toString("hex"));
102
+ return;
121
103
  }
122
- catch (err) {
123
- warningLog(JSON.stringify(pojo, r, " "));
124
- warningLog("Error !!", err);
104
+ queueEvent.push(pojo);
105
+ if (queueEvent.length === 1 && !inInit) {
106
+ setTimeout(() => flushQueue(), 10);
125
107
  }
126
- // Release 1.04 8 OPC Unified Architecture, Part 9
127
- // 4.5 Condition state synchronization
128
- // RefreshRequiredEventType
129
- // Under some circumstances a Server may not be capable of ensuring the Client is fully
130
- // in sync with the current state of Condition instances. For example, if the underlying
131
- // system represented by the Server is reset or communications are lost for some period
132
- // of time the Server may need to resynchronize itself with the underlying system. In
133
- // these cases, the Server shall send an Event of the RefreshRequiredEventType to
134
- // advise the Client that a Refresh may be necessary. A Client receiving this special
135
- // Event should initiate a ConditionRefresh as noted in this clause.
136
- // TODO
137
- });
138
- try {
139
- yield (0, client_tools_1.callConditionRefresh)(subscription);
140
108
  }
141
109
  catch (err) {
142
- if (err.message.match(/BadNothingToDo/)) {
143
- /** fine! nothing to do */
144
- }
145
- else {
146
- warningLog("Server may not implement condition refresh", err.message);
147
- }
110
+ warningLog(JSON.stringify(pojo, r, " "));
111
+ warningLog("Error !!", err);
148
112
  }
149
- _sessionPriv.$monitoredItemForAlarmList = eventMonitoringItem;
150
- setTimeout(() => flushQueue(), 10);
151
- inInit = false;
152
- // also request updates
153
- return clientAlarmList;
113
+ // Release 1.04 8 OPC Unified Architecture, Part 9
114
+ // 4.5 Condition state synchronization
115
+ // RefreshRequiredEventType
116
+ // Under some circumstances a Server may not be capable of ensuring the Client is fully
117
+ // in sync with the current state of Condition instances. For example, if the underlying
118
+ // system represented by the Server is reset or communications are lost for some period
119
+ // of time the Server may need to resynchronize itself with the underlying system. In
120
+ // these cases, the Server shall send an Event of the RefreshRequiredEventType to
121
+ // advise the Client that a Refresh may be necessary. A Client receiving this special
122
+ // Event should initiate a ConditionRefresh as noted in this clause.
123
+ // TODO
154
124
  });
125
+ try {
126
+ await (0, client_tools_1.callConditionRefresh)(subscription);
127
+ }
128
+ catch (err) {
129
+ if (err.message.match(/BadNothingToDo/)) {
130
+ /** fine! nothing to do */
131
+ }
132
+ else {
133
+ warningLog("Server may not implement condition refresh", err.message);
134
+ }
135
+ }
136
+ _sessionPriv.$monitoredItemForAlarmList = eventMonitoringItem;
137
+ setTimeout(() => flushQueue(), 10);
138
+ inInit = false;
139
+ // also request updates
140
+ return clientAlarmList;
155
141
  }
156
142
  exports.installAlarmMonitoring = installAlarmMonitoring;
157
143
  //# sourceMappingURL=client_alarm_tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client_alarm_tools.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm_tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client_alarm_tools.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm_tools.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.confirmAllConditions = exports.acknowledgeAllConditions = exports.findActiveConditions = exports.confirmCondition = exports.acknowledgeCondition = void 0;
13
4
  const node_opcua_nodeid_1 = require("node-opcua-nodeid");
@@ -28,167 +19,157 @@ const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
28
19
  * @param eventStuff
29
20
  * @param comment
30
21
  */
31
- function acknowledgeCondition(session, eventStuff, comment) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- try {
34
- const conditionId = eventStuff.conditionId.value;
35
- const eventId = eventStuff.eventId.value;
36
- return yield session.acknowledgeCondition(conditionId, eventId, comment);
37
- }
38
- catch (err) {
39
- errorLog("Acknowledging alarm has failed !", err);
40
- return node_opcua_status_code_1.StatusCodes.BadInternalError;
41
- }
42
- });
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
+ }
43
32
  }
44
33
  exports.acknowledgeCondition = acknowledgeCondition;
45
- function confirmCondition(session, eventStuff, comment) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- try {
48
- const conditionId = eventStuff.conditionId.value;
49
- const eventId = eventStuff.eventId.value;
50
- return yield session.confirmCondition(conditionId, eventId, comment);
51
- }
52
- catch (err) {
53
- errorLog("Acknowledging alarm has failed !", err);
54
- return node_opcua_status_code_1.StatusCodes.BadInternalError;
55
- }
56
- });
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
+ }
57
44
  }
58
45
  exports.confirmCondition = confirmCondition;
59
46
  /**
60
47
  * Enumerate all events
61
48
  * @param session
62
49
  */
63
- function findActiveConditions(session) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- const request = {
66
- maxNotificationsPerPublish: 10000,
67
- priority: 6,
68
- publishingEnabled: true,
69
- requestedLifetimeCount: 1000,
70
- requestedMaxKeepAliveCount: 100,
71
- requestedPublishingInterval: 100
72
- };
73
- const subscription = yield session.createSubscription2(request);
74
- const itemToMonitor = {
75
- attributeId: node_opcua_service_read_1.AttributeIds.EventNotifier,
76
- nodeId: (0, node_opcua_nodeid_1.resolveNodeId)("Server") // i=2253
77
- };
78
- const fields = yield (0, client_alarm_tools_extractConditionFields_1.extractConditionFields)(session, "AcknowledgeableConditionType");
79
- // note: we may want to have this select clause
80
- // Or(OfType("AcknowledgeableConditionType"), OfType("RefreshStartEventType"), OfType("RefreshEndEventType"))
81
- const eventFilter = (0, node_opcua_service_filter_1.constructEventFilter)(fields);
82
- const monitoringParameters = {
83
- discardOldest: false,
84
- filter: eventFilter,
85
- queueSize: 100,
86
- samplingInterval: 0
87
- };
88
- const event_monitoringItem = yield subscription.monitor(itemToMonitor, monitoringParameters, node_opcua_service_read_1.TimestampsToReturn.Both);
89
- const acknowledgeableConditions = [];
90
- let refreshStartEventHasBeenReceived = false;
91
- let RefreshEndEventHasBeenReceived = false;
92
- const RefreshStartEventType = (0, node_opcua_nodeid_1.resolveNodeId)("RefreshStartEventType").toString();
93
- const RefreshEndEventType = (0, node_opcua_nodeid_1.resolveNodeId)("RefreshEndEventType").toString();
94
- const promise = new Promise((resolve, reject) => {
95
- // now create a event monitored Item
96
- event_monitoringItem.on("changed", (_eventFields) => {
97
- const eventFields = _eventFields;
98
- try {
99
- if (RefreshEndEventHasBeenReceived) {
100
- return;
101
- }
102
- // dumpEvent(session, fields, eventFields);
103
- const pojo = (0, client_alarm_1.fieldsToJson)(fields, eventFields);
104
- // make sure we only start recording event after the RefreshStartEvent has been received
105
- if (!refreshStartEventHasBeenReceived) {
106
- if (pojo.eventType.value.toString() === RefreshStartEventType) {
107
- refreshStartEventHasBeenReceived = true;
108
- }
109
- return;
110
- }
111
- if (pojo.eventType.value.toString() === RefreshEndEventType) {
112
- RefreshEndEventHasBeenReceived = true;
113
- resolve();
114
- return;
115
- }
116
- if (!pojo.conditionId.value) {
117
- // not a Acknowledgeable condition
118
- return;
119
- }
120
- if (pojo.ackedState.id.dataType === node_opcua_variant_1.DataType.Boolean) {
121
- acknowledgeableConditions.push(pojo);
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;
122
94
  }
95
+ return;
123
96
  }
124
- catch (err) {
125
- errorLog("Error !!", err);
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);
126
108
  }
127
- });
128
- // async call without waiting !
129
- try {
130
- (0, client_tools_1.callConditionRefresh)(subscription);
131
109
  }
132
110
  catch (err) {
133
- // it is possible that server do not implement conditionRefresh ...
134
- debugLog("Server may not implement conditionRefresh", err);
111
+ errorLog("Error !!", err);
135
112
  }
136
113
  });
137
- yield promise;
138
- // now shut down subscription
139
- yield subscription.terminate();
140
- return acknowledgeableConditions;
141
- });
142
- }
143
- exports.findActiveConditions = findActiveConditions;
144
- function acknowledgeAllConditions(session, message) {
145
- return __awaiter(this, void 0, void 0, function* () {
114
+ // async call without waiting !
146
115
  try {
147
- let conditions = yield findActiveConditions(session);
148
- if (conditions.length === 0) {
149
- debugLog("Warning: cannot find conditions ");
150
- }
151
- // filter acknowledgeable conditions (no acked yet)
152
- conditions = conditions.filter((pojo) => pojo.ackedState.id.value === false);
153
- const promises = [];
154
- for (const eventStuff of conditions) {
155
- promises.push(acknowledgeCondition(session, eventStuff, message));
156
- }
157
- const result = yield Promise.all(promises);
158
- // istanbul ignore next
159
- if (doDebug) {
160
- debugLog("Acked all results: ", result.map((e) => e.toString()).join(" "));
161
- }
116
+ (0, client_tools_1.callConditionRefresh)(subscription);
162
117
  }
163
118
  catch (err) {
164
- errorLog("Error", err);
119
+ // it is possible that server do not implement conditionRefresh ...
120
+ debugLog("Server may not implement conditionRefresh", err);
165
121
  }
166
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
+ }
167
150
  }
168
151
  exports.acknowledgeAllConditions = acknowledgeAllConditions;
169
- function confirmAllConditions(session, message) {
170
- return __awaiter(this, void 0, void 0, function* () {
171
- try {
172
- let conditions = yield findActiveConditions(session);
173
- if (conditions.length === 0) {
174
- debugLog("Warning: cannot find conditions ");
175
- }
176
- // filter acknowledgeable conditions (no acked yet)
177
- conditions = conditions.filter((pojo) => pojo.confirmedState.id.value === false);
178
- const promises = [];
179
- for (const eventStuff of conditions) {
180
- promises.push(confirmCondition(session, eventStuff, message));
181
- }
182
- const result = yield Promise.all(promises);
183
- // istanbul ignore next
184
- if (doDebug) {
185
- debugLog("Confirm all results: ", result.map((e) => e.toString()).join(" "));
186
- }
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 ");
187
157
  }
188
- catch (err) {
189
- errorLog("Error", err);
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));
190
163
  }
191
- });
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
+ }
192
173
  }
193
174
  exports.confirmAllConditions = confirmAllConditions;
194
175
  //# sourceMappingURL=client_alarm_tools_acknowledge_all_conditions.js.map