node-opcua-client 2.129.0 → 2.130.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 (52) hide show
  1. package/dist/alarms_and_conditions/client_alarm.d.ts +49 -0
  2. package/dist/alarms_and_conditions/client_alarm.js +97 -0
  3. package/dist/alarms_and_conditions/client_alarm.js.map +1 -0
  4. package/dist/alarms_and_conditions/client_alarm_list.d.ts +25 -0
  5. package/dist/alarms_and_conditions/client_alarm_list.js +98 -0
  6. package/dist/alarms_and_conditions/client_alarm_list.js.map +1 -0
  7. package/dist/alarms_and_conditions/client_alarm_tools.js +2 -3
  8. package/dist/alarms_and_conditions/client_alarm_tools.js.map +1 -1
  9. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.d.ts +18 -0
  10. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js +175 -0
  11. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js.map +1 -0
  12. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.d.ts +9 -0
  13. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js +60 -0
  14. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js.map +1 -0
  15. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.d.ts +3 -0
  16. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js +15 -0
  17. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js.map +1 -0
  18. package/dist/client_base.d.ts +0 -2
  19. package/dist/client_monitored_item.d.ts +0 -1
  20. package/dist/client_monitored_item_base.d.ts +0 -1
  21. package/dist/client_monitored_item_group.d.ts +0 -1
  22. package/dist/client_session.d.ts +0 -2
  23. package/dist/client_session_keepalive_manager.d.ts +0 -1
  24. package/dist/client_subscription.d.ts +0 -1
  25. package/dist/client_utils.js +1 -2
  26. package/dist/client_utils.js.map +1 -1
  27. package/dist/private/client_monitored_item_group_impl.d.ts +0 -1
  28. package/dist/private/client_monitored_item_impl.d.ts +0 -1
  29. package/dist/private/client_session_impl.d.ts +0 -2
  30. package/dist/private/client_subscription_impl.d.ts +0 -1
  31. package/dist/private/client_subscription_impl.js +3 -3
  32. package/dist/private/client_subscription_impl.js.map +1 -1
  33. package/dist/private/performance.js +1 -2
  34. package/dist/private/performance.js.map +1 -1
  35. package/dist/private/reconnection/client_publish_engine_reconnection.js +1 -2
  36. package/dist/private/reconnection/client_publish_engine_reconnection.js.map +1 -1
  37. package/dist/private/reconnection/client_reconnection.js +1 -2
  38. package/dist/private/reconnection/client_reconnection.js.map +1 -1
  39. package/dist/private/reconnection/client_subscription_reconnection.js +1 -2
  40. package/dist/private/reconnection/client_subscription_reconnection.js.map +1 -1
  41. package/dist/private/reconnection/reconnection.js +4 -5
  42. package/dist/private/reconnection/reconnection.js.map +1 -1
  43. package/dist/reconnection.d.ts +9 -0
  44. package/dist/reconnection.js +453 -0
  45. package/dist/reconnection.js.map +1 -0
  46. package/dist/tools/findservers.js +2 -3
  47. package/dist/tools/findservers.js.map +1 -1
  48. package/dist/tools/read_history_server_capabilities.js +1 -2
  49. package/dist/tools/read_history_server_capabilities.js.map +1 -1
  50. package/dist/verify.js +2 -3
  51. package/dist/verify.js.map +1 -1
  52. package/package.json +9 -9
@@ -0,0 +1,49 @@
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;
@@ -0,0 +1,97 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client_alarm.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
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
+ }
@@ -0,0 +1,98 @@
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
@@ -0,0 +1 @@
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,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.installAlarmMonitoring = exports.uninstallAlarmMonitoring = void 0;
3
+ exports.uninstallAlarmMonitoring = uninstallAlarmMonitoring;
4
+ exports.installAlarmMonitoring = installAlarmMonitoring;
4
5
  const node_opcua_data_model_1 = require("node-opcua-data-model");
5
6
  const node_opcua_nodeid_1 = require("node-opcua-nodeid");
6
7
  const node_opcua_service_filter_1 = require("node-opcua-service-filter");
@@ -30,7 +31,6 @@ async function uninstallAlarmMonitoring(session) {
30
31
  _sessionPriv.$clientAlarmList = null;
31
32
  return;
32
33
  }
33
- exports.uninstallAlarmMonitoring = uninstallAlarmMonitoring;
34
34
  // Release 1.04 8 OPC Unified Architecture, Part 9
35
35
  // 4.5 Condition state synchronization
36
36
  //
@@ -136,5 +136,4 @@ async function installAlarmMonitoring(session) {
136
136
  // also request updates
137
137
  return clientAlarmList;
138
138
  }
139
- exports.installAlarmMonitoring = installAlarmMonitoring;
140
139
  //# 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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"}
@@ -0,0 +1,18 @@
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>;
@@ -0,0 +1,175 @@
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
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,9 @@
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>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.dumpEvent = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
9
+ const node_opcua_variant_1 = require("node-opcua-variant");
10
+ const node_opcua_debug_1 = require("node-opcua-debug");
11
+ const warningLog = (0, node_opcua_debug_1.make_warningLog)("ClientAlarmTool");
12
+ /**
13
+ *
14
+ * @param session
15
+ * @param fields
16
+ * @param eventFields
17
+ */
18
+ async function dumpEvent(session, fields, eventFields) {
19
+ async function getBrowseName(_session, nodeId) {
20
+ const dataValue = await _session.read({
21
+ attributeId: node_opcua_data_model_1.AttributeIds.BrowseName,
22
+ nodeId
23
+ });
24
+ if (dataValue.statusCode.isGood()) {
25
+ const browseName = dataValue.value.value.name;
26
+ return browseName;
27
+ }
28
+ else {
29
+ return "???";
30
+ }
31
+ }
32
+ function w(str, l) {
33
+ return (str || "").toString().padEnd(l, " ").substring(0, l);
34
+ }
35
+ async function __dumpEvent1(_session, _fields, variant, index) {
36
+ if (variant.dataType === node_opcua_variant_1.DataType.Null) {
37
+ return;
38
+ }
39
+ if (variant.dataType === node_opcua_variant_1.DataType.NodeId) {
40
+ const name = await getBrowseName(_session, variant.value);
41
+ warningLog(chalk_1.default.yellow(w(name, 30), w(_fields[index], 25)), chalk_1.default.cyan(w(node_opcua_variant_1.DataType[variant.dataType], 10).toString()), chalk_1.default.cyan.bold(name), "(", w(variant.value, 20), ")");
42
+ }
43
+ else {
44
+ // tslint:disable-next-line: no-console
45
+ warningLog(chalk_1.default.yellow(w("", 30), w(_fields[index], 25)), chalk_1.default.cyan(w(node_opcua_variant_1.DataType[variant.dataType], 10).toString()), variant.value);
46
+ }
47
+ }
48
+ async function __dumpEvent(_session, _fields, _eventFields) {
49
+ let index = 0;
50
+ const promises = [];
51
+ for (const variant of _eventFields) {
52
+ promises.push(__dumpEvent1(_session, _fields, variant, index));
53
+ index++;
54
+ }
55
+ await Promise.all(promises);
56
+ }
57
+ await __dumpEvent(session, fields, eventFields);
58
+ }
59
+ exports.dumpEvent = dumpEvent;
60
+ //# sourceMappingURL=client_alarm_tools_dump_event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client_alarm_tools_dump_event.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm_tools_dump_event.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iEAAqD;AAGrD,2DAAoE;AAEpE,uDAAmD;AAEnD,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,iBAAiB,CAAC,CAAC;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAAC,OAAqC,EAAE,MAAgB,EAAE,WAAsB;IAC3G,KAAK,UAAU,aAAa,CAAC,QAAsC,EAAE,MAAc;QAC/E,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;YAClC,WAAW,EAAE,oCAAY,CAAC,UAAU;YACpC,MAAM;SACT,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAK,CAAC;YAC/C,OAAO,UAAU,CAAC;SACrB;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IACD,SAAS,CAAC,CAAC,GAAW,EAAE,CAAS;QAC7B,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,UAAU,YAAY,CAAC,QAAsC,EAAE,OAAY,EAAE,OAAoB,EAAE,KAAa;QACjH,IAAI,OAAO,CAAC,QAAQ,KAAK,6BAAQ,CAAC,IAAI,EAAE;YACpC,OAAO;SACV;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,6BAAQ,CAAC,MAAM,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1D,UAAU,CACN,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAChD,eAAK,CAAC,IAAI,CAAC,CAAC,CAAC,6BAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EACxD,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,GAAG,EACH,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EACpB,GAAG,CACN,CAAC;SACL;aAAM;YACH,uCAAuC;YACvC,UAAU,CACN,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAC9C,eAAK,CAAC,IAAI,CAAC,CAAC,CAAC,6BAAQ,CAAC,OAAO,CAAC,QAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAClE,OAAO,CAAC,KAAK,CAChB,CAAC;SACL;IACL,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,QAAsC,EAAE,OAAiB,EAAE,YAAuB;QACzG,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;YAChC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,KAAK,EAAE,CAAC;SACX;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAlDD,8BAkDC"}
@@ -0,0 +1,3 @@
1
+ import { NodeIdLike } from "node-opcua-nodeid";
2
+ import { ISessionForExtractField } from "node-opcua-pseudo-session";
3
+ export declare function extractConditionFields(session: ISessionForExtractField, conditionNodeId: NodeIdLike): Promise<string[]>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractConditionFields = void 0;
4
+ const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
5
+ async function extractConditionFields(session, conditionNodeId) {
6
+ // conditionNodeId could be a Object of type ConditionType
7
+ // or it could be directly a ObjectType which is a subType of ConditionType
8
+ const p = await (0, node_opcua_pseudo_session_1.extractFields)(session, conditionNodeId);
9
+ const fields1 = (0, node_opcua_pseudo_session_1.simpleBrowsePathsToString)(p.map((a) => a.path));
10
+ // add this field which will always be added
11
+ fields1.push("ConditionId");
12
+ return fields1;
13
+ }
14
+ exports.extractConditionFields = extractConditionFields;
15
+ //# sourceMappingURL=client_alarm_tools_extractConditionFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client_alarm_tools_extractConditionFields.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm_tools_extractConditionFields.ts"],"names":[],"mappings":";;;AACA,yEAA8G;AAEvG,KAAK,UAAU,sBAAsB,CAAC,OAAgC,EAAE,eAA2B;IACtG,0DAA0D;IAC1D,2EAA2E;IAC3E,MAAM,CAAC,GAAG,MAAM,IAAA,yCAAa,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAA,qDAAyB,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,4CAA4C;IAC5C,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACnB,CAAC;AARD,wDAQC"}
@@ -1,5 +1,3 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
1
  /**
4
2
  * @module node-opcua-client
5
3
  */
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  /**
3
2
  * @module node-opcua-client
4
3
  */