node-opcua-address-space 2.72.2 → 2.73.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 (193) hide show
  1. package/dist/source/index.d.ts +22 -4
  2. package/dist/source/index.js +28 -7
  3. package/dist/source/index.js.map +1 -1
  4. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +8 -1
  5. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +199 -0
  6. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +10 -0
  7. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +1 -0
  8. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +14 -0
  9. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +3 -0
  10. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js.map +1 -0
  11. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +6 -0
  12. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +3 -0
  13. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js.map +1 -0
  14. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -0
  15. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +3 -0
  16. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +1 -0
  17. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -0
  18. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +3 -0
  19. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +1 -0
  20. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -0
  21. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +3 -0
  22. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +1 -0
  23. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -0
  24. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +3 -0
  25. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +1 -0
  26. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +5 -0
  27. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +3 -0
  28. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +1 -0
  29. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -0
  30. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +3 -0
  31. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +1 -0
  32. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -0
  33. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +3 -0
  34. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +1 -0
  35. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +15 -0
  36. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +3 -0
  37. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +1 -0
  38. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +42 -0
  39. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +3 -0
  40. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js.map +1 -0
  41. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -0
  42. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +26 -0
  43. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +1 -0
  44. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -0
  45. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +3 -0
  46. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +1 -0
  47. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -0
  48. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +3 -0
  49. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +1 -0
  50. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -0
  51. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +3 -0
  52. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +1 -0
  53. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +10 -0
  54. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +3 -0
  55. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +1 -0
  56. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -0
  57. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +3 -0
  58. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +1 -0
  59. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -0
  60. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +3 -0
  61. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +1 -0
  62. package/dist/source/loader/load_nodeset2.js +6 -13
  63. package/dist/source/loader/load_nodeset2.js.map +1 -1
  64. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
  65. package/dist/source/namespace_alarm_and_condition.d.ts +9 -9
  66. package/dist/src/address_space_private.d.ts +1 -1
  67. package/dist/src/alarms_and_conditions/condition.d.ts +2 -2
  68. package/dist/src/alarms_and_conditions/condition.js +4 -6
  69. package/dist/src/alarms_and_conditions/condition.js.map +1 -1
  70. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -0
  71. package/dist/src/alarms_and_conditions/condition_info_impl.js +55 -0
  72. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +1 -0
  73. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +231 -0
  74. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +667 -0
  75. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -0
  76. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +3 -16
  77. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -1
  78. package/dist/src/alarms_and_conditions/index.d.ts +2 -2
  79. package/dist/src/alarms_and_conditions/index.js +2 -2
  80. package/dist/src/alarms_and_conditions/index.js.map +1 -1
  81. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +5 -25
  82. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +2 -2
  83. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  84. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +4 -35
  85. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +5 -5
  86. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  87. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +1 -4
  88. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -1
  89. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +14 -14
  90. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +5 -2
  91. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  92. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +4 -38
  93. package/dist/src/alarms_and_conditions/ua_condition_impl.js +9 -9
  94. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  95. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +3 -7
  96. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +0 -23
  97. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  98. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +4 -8
  99. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  100. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +1 -1
  101. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  102. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +3 -20
  103. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  104. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +2 -1
  105. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -1
  106. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +20 -46
  107. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +13 -13
  108. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  109. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +5 -10
  110. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  111. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +4 -11
  112. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +3 -3
  113. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  114. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +4 -6
  115. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  116. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +2 -1
  117. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  118. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +51 -0
  119. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +250 -0
  120. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +1 -0
  121. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -0
  122. package/dist/src/data_access/ua_two_state_discrete_impl.js +154 -0
  123. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +1 -0
  124. package/dist/src/index_current.d.ts +2 -3
  125. package/dist/src/index_current.js +3 -5
  126. package/dist/src/index_current.js.map +1 -1
  127. package/dist/src/namespace_impl.d.ts +9 -8
  128. package/dist/src/namespace_impl.js +5 -6
  129. package/dist/src/namespace_impl.js.map +1 -1
  130. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +9 -5
  131. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +5 -5
  132. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -1
  133. package/dist/src/ua_data_type_impl.d.ts +2 -2
  134. package/dist/src/ua_data_type_impl.js +3 -0
  135. package/dist/src/ua_data_type_impl.js.map +1 -1
  136. package/distHelpers/alarms_and_conditions_demo.d.ts +1 -2
  137. package/distHelpers/alarms_and_conditions_demo.js.map +1 -1
  138. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -1
  139. package/package.json +28 -28
  140. package/source/index.ts +25 -5
  141. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +9 -1
  142. package/source/interfaces/alarms_and_conditions/condition_snapshot.ts +297 -0
  143. package/source/interfaces/alarms_and_conditions/deviation_stuff.ts +16 -0
  144. package/source/interfaces/alarms_and_conditions/install_setpoint_options.ts +7 -0
  145. package/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +10 -0
  146. package/source/interfaces/alarms_and_conditions/instantiate_condition_options.ts +8 -0
  147. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +4 -0
  148. package/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +10 -0
  149. package/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +6 -0
  150. package/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +35 -0
  151. package/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +41 -0
  152. package/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +31 -0
  153. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +67 -0
  154. package/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +45 -0
  155. package/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +22 -0
  156. package/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +25 -0
  157. package/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +28 -0
  158. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +31 -0
  159. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +25 -0
  160. package/source/interfaces/state_machine/ua_shelved_state_machine_ex.ts +32 -0
  161. package/source/loader/load_nodeset2.ts +10 -16
  162. package/source/loader/make_xml_extension_object_parser.ts +2 -2
  163. package/source/namespace_alarm_and_condition.ts +16 -10
  164. package/src/address_space_private.ts +1 -1
  165. package/src/alarms_and_conditions/condition.ts +4 -7
  166. package/src/alarms_and_conditions/{condition_info.ts → condition_info_impl.ts} +3 -9
  167. package/src/alarms_and_conditions/{condition_snapshot.ts → condition_snapshot_impl.ts} +6 -9
  168. package/src/alarms_and_conditions/deviation_alarm_helper.ts +3 -15
  169. package/src/alarms_and_conditions/index.ts +2 -2
  170. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +10 -33
  171. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +12 -50
  172. package/src/alarms_and_conditions/ua_base_event_impl.ts +1 -4
  173. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +23 -26
  174. package/src/alarms_and_conditions/ua_condition_impl.ts +17 -65
  175. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +3 -50
  176. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +7 -22
  177. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +1 -1
  178. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +3 -24
  179. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +2 -1
  180. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +6 -37
  181. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +7 -33
  182. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +7 -28
  183. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +4 -6
  184. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +2 -1
  185. package/src/data_access/{ua_multistate_value_discrete.ts → ua_multistate_value_discrete_impl.ts} +0 -0
  186. package/src/data_access/{ua_two_state_discrete.ts → ua_two_state_discrete_impl.ts} +0 -0
  187. package/src/index_current.ts +2 -4
  188. package/src/namespace_impl.ts +16 -11
  189. package/src/state_machine/ua_shelving_state_machine_ex.ts +21 -26
  190. package/src/ua_data_type_impl.ts +7 -3
  191. package/test_helpers/alarms_and_conditions_demo.ts +3 -3
  192. package/test_helpers/create_minimalist_address_space_nodeset.ts +2 -2
  193. package/test_helpers/test_fixtures/datatype_with_allow_subtype.xml +104 -0
@@ -0,0 +1,67 @@
1
+ import { BaseNode, UAObject, UAVariable } from "node-opcua-address-space-base";
2
+ import { LocalizedText } from "node-opcua-data-model";
3
+ import { NodeId } from "node-opcua-nodeid";
4
+ import { UACondition_Base } from "node-opcua-nodeset-ua";
5
+ import { StatusCode } from "node-opcua-status-code";
6
+ import { TimeZoneDataType } from "node-opcua-types";
7
+ import { UATwoStateVariableEx } from "../../ua_two_state_variable_ex";
8
+ import { ConditionInfoOptions } from "./condition_info_i";
9
+ import { ConditionSnapshot } from "./condition_snapshot";
10
+
11
+
12
+
13
+ export interface UABaseEventHelper {
14
+ setSourceName(name: string): void;
15
+ setSourceNode(node: NodeId | BaseNode): void;
16
+ }
17
+
18
+
19
+ export type AddCommentEventHandler = (eventId: Buffer | null, comment: LocalizedText, branch: ConditionSnapshot) => void;
20
+
21
+ export interface UAConditionHelper {
22
+ on(eventName: string, eventHandler: (...args: any[]) => void): this;
23
+ // -- Events
24
+ on(eventName: "addComment", eventHandler: AddCommentEventHandler): this;
25
+ on(eventName: "branch_deleted", eventHandler: (branchId: string) => void): this;
26
+ }
27
+
28
+ export interface UAConditionHelper extends UABaseEventHelper {
29
+ getBranchCount(): number;
30
+ getBranches(): ConditionSnapshot[];
31
+ getBranchIds(): NodeId[];
32
+ createBranch(): ConditionSnapshot;
33
+ deleteBranch(branch: ConditionSnapshot): void;
34
+ getEnabledState(): boolean;
35
+ getEnabledStateAsString(): string;
36
+ setEnabledState(requestedEnabledState: boolean): StatusCode;
37
+ setReceiveTime(time: Date): void;
38
+ setLocalTime(time: TimeZoneDataType): void;
39
+ setTime(time: Date): void;
40
+ conditionOfNode(): UAObject | UAVariable | null;
41
+ raiseConditionEvent(branch: ConditionSnapshot, renewEventId: boolean): void;
42
+ raiseNewCondition(conditionInfo: ConditionInfoOptions): void;
43
+ raiseNewBranchState(branch: ConditionSnapshot): void;
44
+ currentBranch(): ConditionSnapshot;
45
+ }
46
+
47
+ export interface UAConditionEx extends UAObject, UACondition_Base, UAConditionHelper {
48
+ enabledState: UATwoStateVariableEx;
49
+ on(eventName: string, eventHandler: any): this;
50
+ //
51
+ // conditionClassId: UAProperty<NodeId, /*c*/DataType.NodeId>;
52
+ // conditionClassName: UAProperty<LocalizedText, /*c*/DataType.LocalizedText>;
53
+ // conditionSubClassId?: UAProperty<NodeId, /*c*/DataType.NodeId>;
54
+ // conditionSubClassName?: UAProperty<LocalizedText, /*c*/DataType.LocalizedText>;
55
+ // conditionName: UAProperty<UAString, /*c*/DataType.String>;
56
+ // branchId: UAProperty<NodeId, /*c*/DataType.NodeId>;
57
+ // retain: UAProperty<boolean, /*c*/DataType.Boolean>;
58
+ // quality: UAConditionVariable<StatusCode, /*c*/DataType.StatusCode>;
59
+ // lastSeverity: UAConditionVariable<UInt16, /*c*/DataType.UInt16>;
60
+ // comment: UAConditionVariable<LocalizedText, /*c*/DataType.LocalizedText>;
61
+ // clientUserId: UAProperty<UAString, /*c*/DataType.String>;
62
+ // disable: UAMethod;
63
+ // enable: UAMethod;
64
+ // addComment: UAMethod;
65
+ // conditionRefresh: UAMethod;
66
+ // conditionRefresh2: UAMethod;
67
+ }
@@ -0,0 +1,45 @@
1
+ import { UADiscreteAlarm_Base } from "node-opcua-nodeset-ua";
2
+ import { UAAlarmConditionEx, UAAlarmConditionHelper } from "./ua_alarm_condition_ex";
3
+
4
+ export interface UADiscreteAlarmHelper extends UAAlarmConditionHelper {
5
+ on(eventName: string, eventHandle: any): this;
6
+ }
7
+ export interface UADiscreteAlarmEx
8
+ extends UAAlarmConditionEx,
9
+ Omit<
10
+ UADiscreteAlarm_Base,
11
+ | "suppressedState"
12
+ | "silenceState"
13
+ | "shelvingState"
14
+ | "outOfServiceState"
15
+ | "latchedState"
16
+ | "confirmedState"
17
+ | "ackedState"
18
+ | "comfirmedState"
19
+ | "activeState"
20
+ | "enabledState"
21
+ >,
22
+ UADiscreteAlarmHelper {}
23
+ /*=
24
+ * +----------------------+
25
+ * | UAAlarmCondition |
26
+ * +----------------------+
27
+ * ^
28
+ * |
29
+ * +--------+---------+
30
+ * | UADiscreteAlarm |
31
+ * +------------------+
32
+ * ^
33
+ * |
34
+ * +--------+---------+
35
+ * | UAOffNormalAlarm |
36
+ * +------------------+
37
+ * ^
38
+ * |
39
+ * +--------+---------+
40
+ * | UATripAlarm |
41
+ * +------------------+
42
+ *
43
+ *
44
+ *
45
+ */
@@ -0,0 +1,22 @@
1
+ import { UAExclusiveDeviationAlarm_Base } from "node-opcua-nodeset-ua";
2
+ import { DeviationStuff } from "./deviation_stuff";
3
+ import { UAExclusiveLimitAlarmEx } from "./ua_exclusive_limit_alarm_ex";
4
+
5
+ export interface UAExclusiveDeviationAlarmEx
6
+ extends Omit<
7
+ UAExclusiveDeviationAlarm_Base,
8
+ | "ackedState"
9
+ | "activeState"
10
+ | "confirmedState"
11
+ | "enabledState"
12
+ | "latchedState"
13
+ | "limitState"
14
+ | "outOfServiceState"
15
+ | "shelvingState"
16
+ | "silenceState"
17
+ | "suppressedState"
18
+ >,
19
+ UAExclusiveLimitAlarmEx,
20
+ DeviationStuff {}
21
+
22
+
@@ -0,0 +1,25 @@
1
+ import { UAExclusiveLimitAlarm_Base } from "node-opcua-nodeset-ua";
2
+ import { UATwoStateVariableEx } from "../../ua_two_state_variable_ex";
3
+ import { UAExclusiveLimitStateMachineEx } from "../state_machine/ua_exclusive_limit_state_machine_type_ex";
4
+ import { UAShelvedStateMachineEx } from "../state_machine/ua_shelved_state_machine_ex";
5
+ import { UALimitAlarmEx, UALimitAlarmHelper } from "./ua_limit_alarm_ex";
6
+
7
+ export interface UAExclusiveLimitAlarmHelper extends UALimitAlarmHelper {}
8
+ export interface UAExclusiveLimitAlarmEx
9
+ extends Omit<UAExclusiveLimitAlarm_Base, "limitState">,
10
+ UALimitAlarmEx,
11
+ UAExclusiveLimitAlarmHelper {
12
+ on(eventName: string, eventHandler: any): this;
13
+
14
+ ackedState: UATwoStateVariableEx;
15
+ activeState: UATwoStateVariableEx;
16
+ confirmedState?: UATwoStateVariableEx;
17
+ enabledState: UATwoStateVariableEx;
18
+ latchedState?: UATwoStateVariableEx;
19
+ outOfServiceState?: UATwoStateVariableEx;
20
+ silenceState?: UATwoStateVariableEx;
21
+ suppressedState?: UATwoStateVariableEx;
22
+ //
23
+ limitState: UAExclusiveLimitStateMachineEx;
24
+ shelvingState?: UAShelvedStateMachineEx;
25
+ }
@@ -0,0 +1,28 @@
1
+ import { UALimitAlarm_Base } from "node-opcua-nodeset-ua";
2
+ import { UATwoStateVariableEx } from "../../ua_two_state_variable_ex";
3
+ import { UAShelvedStateMachineEx } from "../state_machine/ua_shelved_state_machine_ex";
4
+ import { UAAlarmConditionHelper, UAAlarmConditionEx } from "./ua_alarm_condition_ex";
5
+
6
+ export interface UALimitAlarmHelper extends UAAlarmConditionHelper {
7
+ setLowLowLimit(value: number): void;
8
+ setLowLimit(value: number): void;
9
+ setHighLimit(value: number): void;
10
+ setHighHighLimit(value: number): void;
11
+ getHighHighLimit(): number;
12
+ getHighLimit(): number;
13
+ getLowLimit(): number;
14
+ getLowLowLimit(): number;
15
+ }
16
+ export interface UALimitAlarmEx extends UALimitAlarm_Base, UAAlarmConditionEx, UALimitAlarmHelper {
17
+ on(eventName: string, eventHandler: any): this;
18
+
19
+ enabledState: UATwoStateVariableEx;
20
+ ackedState: UATwoStateVariableEx;
21
+ confirmedState?: UATwoStateVariableEx;
22
+ activeState: UATwoStateVariableEx;
23
+ latchedState?: UATwoStateVariableEx;
24
+ outOfServiceState?: UATwoStateVariableEx;
25
+ silenceState?: UATwoStateVariableEx;
26
+ shelvingState?: UAShelvedStateMachineEx;
27
+ suppressedState?: UATwoStateVariableEx;
28
+ }
@@ -0,0 +1,31 @@
1
+ import { UAVariable, UAVariableT } from "node-opcua-address-space-base";
2
+ import { DataType } from "node-opcua-basic-types";
3
+ import { NodeId } from "node-opcua-nodeid";
4
+ import { UANonExclusiveDeviationAlarm_Base } from "node-opcua-nodeset-ua";
5
+ import { DeviationStuff } from "./deviation_stuff";
6
+ import { UANonExclusiveLimitAlarmEx } from "./ua_non_exclusive_limit_alarm_ex";
7
+
8
+ export interface UANonExclusiveDeviationAlarmEx
9
+ extends Omit<
10
+ UANonExclusiveDeviationAlarm_Base,
11
+ | "ackedState"
12
+ | "activeState"
13
+ | "confirmedState"
14
+ | "enabledState"
15
+ | "latchedState"
16
+ | "limitState"
17
+ | "outOfServiceState"
18
+ | "shelvingState"
19
+ | "silenceState"
20
+ | "suppressedState"
21
+ //
22
+ | "highHighState"
23
+ | "highState"
24
+ | "lowState"
25
+ | "lowLowState"
26
+ >,
27
+ UANonExclusiveLimitAlarmEx,
28
+ DeviationStuff {
29
+ setpointNode: UAVariableT<NodeId, DataType.NodeId>;
30
+ setpointNodeNode: UAVariable;
31
+ }
@@ -0,0 +1,25 @@
1
+ import { UANonExclusiveLimitAlarm_Base } from "node-opcua-nodeset-ua";
2
+ import { UATwoStateVariableEx } from "../../ua_two_state_variable_ex";
3
+ import { UALimitAlarmEx } from "./ua_limit_alarm_ex";
4
+
5
+ export interface UANonExclusiveLimitAlarmEx
6
+ extends UALimitAlarmEx,
7
+ Omit<
8
+ UANonExclusiveLimitAlarm_Base,
9
+ | "ackedState"
10
+ | "activeState"
11
+ | "confirmedState"
12
+ | "enabledState"
13
+ | "latchedState"
14
+ | "limitState"
15
+ | "outOfServiceState"
16
+ | "shelvingState"
17
+ | "silenceState"
18
+ | "suppressedState"
19
+ > {
20
+ activeState: UATwoStateVariableEx;
21
+ highHighState?: UATwoStateVariableEx;
22
+ highState?: UATwoStateVariableEx;
23
+ lowState?: UATwoStateVariableEx;
24
+ lowLowState?: UATwoStateVariableEx;
25
+ }
@@ -0,0 +1,32 @@
1
+ import { UAProperty, UAMethod, UAObject } from "node-opcua-address-space-base";
2
+ import { DataType } from "node-opcua-basic-types";
3
+ import { UAShelvedStateMachine, UAShelvedStateMachine_Base, UAState, UAStateMachine, UATransition } from "node-opcua-nodeset-ua";
4
+ import { UAStateMachineEx } from "./ua_state_machine_type";
5
+
6
+ import { UATransitionEx } from "./ua_transition_ex";
7
+
8
+ export interface UAShelvedStateMachineHelper {
9
+ _timer: NodeJS.Timer | null;
10
+ _sheveldTime: Date;
11
+ _unshelvedTime: Date;
12
+ _duration: number;
13
+ }
14
+
15
+ export interface UAShelvedStateMachineEx extends UAShelvedStateMachine_Base, UAStateMachineEx, UAShelvedStateMachineHelper {
16
+ unshelveTime: UAProperty<number, /*z*/ DataType.Double>;
17
+ unshelved: UAState;
18
+ timedShelved: UAState;
19
+ oneShotShelved: UAState;
20
+ unshelvedToTimedShelved: UATransitionEx;
21
+ unshelvedToOneShotShelved: UATransitionEx;
22
+ timedShelvedToUnshelved: UATransitionEx;
23
+ timedShelvedToOneShotShelved: UATransitionEx;
24
+ oneShotShelvedToUnshelved: UATransitionEx;
25
+ oneShotShelvedToTimedShelved: UATransitionEx;
26
+ timedShelve: UAMethod;
27
+ timedShelve2?: UAMethod;
28
+ unshelve: UAMethod;
29
+ unshelve2?: UAMethod;
30
+ oneShotShelve: UAMethod;
31
+ oneShotShelve2?: UAMethod;
32
+ }
@@ -29,12 +29,12 @@ import {
29
29
  QualifiedNameOptions,
30
30
  stringToQualifiedName
31
31
  } from "node-opcua-data-model";
32
- import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
32
+ import { checkDebugFlag, make_debugLog, make_errorLog } from "node-opcua-debug";
33
33
  import { ExtensionObject } from "node-opcua-extension-object";
34
- import { DataTypeFactory, findSimpleType, getStandardDataTypeFactory } from "node-opcua-factory";
34
+ import { getBuiltInType } from "node-opcua-factory";
35
35
  import { NodeId, NodeIdLike, resolveNodeId } from "node-opcua-nodeid";
36
36
  import { Argument } from "node-opcua-service-call";
37
- import { CallbackT, ErrorCallback } from "node-opcua-status-code";
37
+ import { ErrorCallback } from "node-opcua-status-code";
38
38
  import { EnumFieldOptions, EnumValueType, Range, StructureFieldOptions } from "node-opcua-types";
39
39
  import { DataType, Variant, VariantArrayType, VariantOptions } from "node-opcua-variant";
40
40
  import {
@@ -89,10 +89,6 @@ function convertAccessLevel(accessLevel?: string | null): AccessLevelFlag {
89
89
 
90
90
  type Task = (addressSpace: IAddressSpace) => Promise<void>;
91
91
 
92
- function makeDefaultVariant2(addressSpace: IAddressSpace, dataTypeNode: NodeId, valueRank: number): VariantOptions | undefined {
93
- const variant: VariantOptions = { dataType: DataType.Null };
94
- return variant;
95
- }
96
92
  function makeDefaultVariant(addressSpace: IAddressSpace, dataTypeNode: NodeId, valueRank: number): VariantOptions | undefined {
97
93
  let variant: VariantOptions = { dataType: DataType.Null };
98
94
 
@@ -104,19 +100,18 @@ function makeDefaultVariant(addressSpace: IAddressSpace, dataTypeNode: NodeId, v
104
100
  return undefined;
105
101
  }
106
102
 
107
- // addressSpace.findCorrespondingBasicDataType(dataTypeNode);
108
103
  if (basicDataType === DataType.ExtensionObject) {
109
- // console.log("xxxxxxxxxx ", dataTypeNode.toString(addressSpace as any));
110
104
  return { dataType: DataType.ExtensionObject, value: null };
111
105
  }
112
- const dv = findSimpleType(DataType[basicDataType]).defaultValue;
113
- if (dv === undefined || dv === null) {
114
- // return
106
+ const builtInType = getBuiltInType(DataType[basicDataType]);
107
+ if (builtInType === undefined || builtInType === null) {
108
+ errorLog("Cannot find builtInType for ", basicDataType);
115
109
  return { dataType: DataType.Null };
116
110
  }
117
- let arrayType: VariantArrayType;
111
+ const dv = builtInType.defaultValue;
118
112
  const value = typeof dv === "function" ? dv() : dv;
119
- // if (dataType === DataType.ByteString ) { value = Buffer.alloc(0) }
113
+
114
+ let arrayType: VariantArrayType;
120
115
  /*
121
116
  * * n > 1 : the Value is an array with the specified number of dimensions.
122
117
  * * OneDimension (1): The value is an array with one dimension.
@@ -142,7 +137,6 @@ function makeDefaultVariant(addressSpace: IAddressSpace, dataTypeNode: NodeId, v
142
137
  variant = { dataType: basicDataType, value: [], arrayType, dimensions: [] };
143
138
  break;
144
139
  }
145
- // console.log(variant, DataType[dataType], valueRank);
146
140
  }
147
141
  return variant;
148
142
  }
@@ -1690,6 +1684,7 @@ export function makeNodeSetParserEngine(addressSpace: IAddressSpace): NodeSet2Pa
1690
1684
  doDebug && debugLog(chalk.bgGreenBright("Performing DataType extraction -------------------------------------------"));
1691
1685
  assert(!addressSpace1.suspendBackReference);
1692
1686
  await ensureDatatypeExtracted(addressSpace);
1687
+ const dataTypeManager = (addressSpace as AddressSpacePrivate).getDataTypeManager();
1693
1688
 
1694
1689
  /// ----------------------------------------------------------------------------------------
1695
1690
  doDebug && debugLog(chalk.bgGreenBright("DataType extraction done ") + chalk.green("DONE"));
@@ -1698,7 +1693,6 @@ export function makeNodeSetParserEngine(addressSpace: IAddressSpace): NodeSet2Pa
1698
1693
  if (dataTypeNodeId.namespace === 0) {
1699
1694
  continue;
1700
1695
  }
1701
- const dataTypeManager = (addressSpace as AddressSpacePrivate).getDataTypeManager();
1702
1696
  const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeNodeId.namespace);
1703
1697
  }
1704
1698
  pendingSimpleTypeToRegister.splice(0);
@@ -1,7 +1,7 @@
1
1
  import { Byte, coerceInt64, coerceUInt64, Int16, Int32, Int64, SByte, UAString, UInt16, UInt32, UInt64 } from "node-opcua-basic-types";
2
- import { LocalizedTextLike, LocalizedTextOptions } from "node-opcua-data-model";
2
+ import { LocalizedTextOptions } from "node-opcua-data-model";
3
3
  import { make_debugLog, make_warningLog } from "node-opcua-debug";
4
- import { coerceNodeId, NodeId, NodeIdType, resolveNodeId } from "node-opcua-nodeid";
4
+ import { coerceNodeId, NodeId, NodeIdType } from "node-opcua-nodeid";
5
5
  import { EnumDefinition, StructureDefinition } from "node-opcua-types";
6
6
  import { lowerFirstLetter } from "node-opcua-utils";
7
7
  import { DataType } from "node-opcua-variant";
@@ -1,15 +1,21 @@
1
1
  import { UAEventType } from "node-opcua-address-space-base";
2
2
  import { NodeId } from "node-opcua-nodeid";
3
- import { UAAcknowledgeableConditionEx } from "../src/alarms_and_conditions/ua_acknowledgeable_condition_impl";
4
- import { UAAlarmConditionEx } from "../src/alarms_and_conditions/ua_alarm_condition_impl";
5
- import { UAConditionEx } from "../src/alarms_and_conditions/ua_condition_impl";
6
- import { UADiscreteAlarmEx } from "../src/alarms_and_conditions/ua_discrete_alarm_impl";
7
- import { UAExclusiveDeviationAlarmEx } from "../src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl";
8
- import { UAExclusiveLimitAlarmEx } from "../src/alarms_and_conditions/ua_exclusive_limit_alarm_impl";
9
- import { UALimitAlarmEx } from "../src/alarms_and_conditions/ua_limit_alarm_impl";
10
- import { UANonExclusiveDeviationAlarmEx } from "../src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl";
11
- import { UANonExclusiveLimitAlarmEx } from "../src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl";
12
- import { UAOffNormalAlarmEx } from "../src/alarms_and_conditions/ua_off_normal_alarm_impl";
3
+ import {
4
+ UAOffNormalAlarmEx
5
+ } from "../src/alarms_and_conditions/ua_off_normal_alarm_impl";
6
+ import {
7
+ UAAcknowledgeableConditionEx
8
+ } from "./interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex";
9
+ import {
10
+ UAAlarmConditionEx,
11
+ } from "./interfaces/alarms_and_conditions/ua_alarm_condition_ex";
12
+ import { UAConditionEx } from "./interfaces/alarms_and_conditions/ua_condition_ex";
13
+ import { UADiscreteAlarmEx } from "./interfaces/alarms_and_conditions/ua_discrete_alarm_ex";
14
+ import { UAExclusiveDeviationAlarmEx } from "./interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex";
15
+ import { UAExclusiveLimitAlarmEx } from "./interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex";
16
+ import { UALimitAlarmEx } from "./interfaces/alarms_and_conditions/ua_limit_alarm_ex";
17
+ import { UANonExclusiveDeviationAlarmEx } from "./interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex";
18
+ import { UANonExclusiveLimitAlarmEx } from "./interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex";
13
19
 
14
20
  export interface INamespaceAlarmAndCondition {
15
21
  // --- Alarms & Conditions -------------------------------------------------
@@ -60,7 +60,7 @@ export interface AddressSpacePrivate extends IAddressSpace {
60
60
 
61
61
  getExtensionObjectConstructor(dataType: NodeId | UADataType): ExtensionObjectConstructorFuncWithSchema;
62
62
 
63
- constructExtensionObject(dataType: UADataType | NodeId, options?: any): ExtensionObject;
63
+ constructExtensionObject(dataType: UADataType | NodeId, options?: Record<string, unknown>): ExtensionObject;
64
64
 
65
65
  normalizeReferenceType(params: AddReferenceOpts | UAReference): UAReference;
66
66
 
@@ -1,23 +1,20 @@
1
1
  /**
2
2
  * @module node-opcua-address-space.AlarmsAndConditions
3
3
  */
4
- // tslint:disable:no-console
5
- // tslint:disable:no-var-requires
6
4
  require("set-prototype-of");
7
5
  import { assert } from "node-opcua-assert";
8
6
  import { LocalizedText, LocalizedTextLike } from "node-opcua-data-model";
9
- import { minDate } from "node-opcua-factory";
7
+ import { minDate } from "node-opcua-basic-types";
10
8
  import { StatusCode, StatusCodes } from "node-opcua-status-code";
11
-
12
- import { ConditionSnapshot } from "./condition_snapshot";
9
+ import { ConditionSnapshotImpl } from "./condition_snapshot_impl";
13
10
 
14
11
  export function _setAckedState(
15
- self: ConditionSnapshot,
12
+ self: ConditionSnapshotImpl,
16
13
  requestedAckedState: boolean,
17
14
  conditionEventId?: Buffer,
18
15
  comment?: string | LocalizedText | LocalizedTextLike
19
16
  ): StatusCode {
20
- assert(self instanceof ConditionSnapshot);
17
+ assert(self instanceof ConditionSnapshotImpl);
21
18
 
22
19
  const ackedState = self.getAckedState();
23
20
 
@@ -5,15 +5,9 @@ import { assert } from "node-opcua-assert";
5
5
  import { UInt16 } from "node-opcua-basic-types";
6
6
  import { LocalizedText, LocalizedTextLike } from "node-opcua-data-model";
7
7
  import { StatusCode } from "node-opcua-status-code";
8
- import { ConditionInfoOptions } from "../../source/interfaces/alarms_and_conditions/condition_info_i";
8
+ import { ConditionInfo, ConditionInfoOptions } from "../../source/interfaces/alarms_and_conditions/condition_info_i";
9
+
9
10
 
10
- export interface ConditionInfo {
11
- message: LocalizedText | null;
12
- quality: StatusCode | null;
13
- severity: UInt16 | null;
14
- retain: boolean | null;
15
- isDifferentFrom(otherConditionInfo: ConditionInfo): boolean;
16
- }
17
11
  /**
18
12
  * @class ConditionInfo
19
13
  * @param options {Object}
@@ -23,7 +17,7 @@ export interface ConditionInfo {
23
17
  * @param options.retain {Boolean} retain flag
24
18
  * @constructor
25
19
  */
26
- export class ConditionInfo {
20
+ export class ConditionInfoImpl implements ConditionInfo {
27
21
  public message: LocalizedText | null = null;
28
22
  public quality: StatusCode | null = null;
29
23
  public severity: UInt16 | null = 0;
@@ -15,8 +15,9 @@ import { StatusCode, StatusCodes } from "node-opcua-status-code";
15
15
  import { SimpleAttributeOperand, TimeZoneDataType } from "node-opcua-types";
16
16
  import * as utils from "node-opcua-utils";
17
17
  import { DataType, Variant } from "node-opcua-variant";
18
- import { UtcTime } from "../../source/interfaces/state_machine/ua_state_machine_type";
19
18
 
19
+ import { ConditionSnapshot } from "../../source/interfaces/alarms_and_conditions/condition_snapshot";
20
+ import { UtcTime } from "../../source/interfaces/state_machine/ua_state_machine_type";
20
21
  import { EventData } from "../event_data";
21
22
  import { UATwoStateVariableImpl } from "../state_machine/ua_two_state_variable";
22
23
  import { _setAckedState } from "./condition";
@@ -25,9 +26,6 @@ import { UAConditionImpl } from "./ua_condition_impl";
25
26
  const debugLog = make_debugLog(__filename);
26
27
  const doDebug = checkDebugFlag(__filename);
27
28
 
28
- export interface ConditionSnapshot {
29
- on(eventName: "value_changed", eventHandler: (node: UAVariable, variant: Variant) => void): this;
30
- }
31
29
 
32
30
  function normalizeName(str: string): string {
33
31
  return str.split(".").map(utils.lowerFirstLetter).join(".");
@@ -149,8 +147,7 @@ const _varTable = {
149
147
  sourceNode: 1,
150
148
  time: 1
151
149
  };
152
-
153
- export class ConditionSnapshot extends EventEmitter {
150
+ export class ConditionSnapshotImpl extends EventEmitter implements ConditionSnapshot {
154
151
  public static normalizeName = normalizeName;
155
152
 
156
153
  public condition: BaseNode;
@@ -719,8 +716,8 @@ export class ConditionSnapshot extends EventEmitter {
719
716
  public _set_twoStateVariable(varName: string, value: boolean): void {
720
717
  value = !!value;
721
718
 
722
- const hrKey = ConditionSnapshot.normalizeName(varName);
723
- const idKey = ConditionSnapshot.normalizeName(varName) + ".id";
719
+ const hrKey = ConditionSnapshotImpl.normalizeName(varName);
720
+ const idKey = ConditionSnapshotImpl.normalizeName(varName) + ".id";
724
721
 
725
722
  const variant = new Variant({ dataType: DataType.Boolean, value });
726
723
  this._map[idKey] = variant;
@@ -753,7 +750,7 @@ export class ConditionSnapshot extends EventEmitter {
753
750
  }
754
751
 
755
752
  protected _get_twoStateVariable(varName: string): any {
756
- const key = ConditionSnapshot.normalizeName(varName) + ".id";
753
+ const key = ConditionSnapshotImpl.normalizeName(varName) + ".id";
757
754
  const variant = this._map[key];
758
755
 
759
756
  // istanbul ignore next
@@ -3,24 +3,15 @@
3
3
  */
4
4
  import { assert } from "node-opcua-assert";
5
5
  import { DataValue } from "node-opcua-data-value";
6
- import { NodeId } from "node-opcua-nodeid";
7
6
  import { StatusCodes } from "node-opcua-status-code";
8
7
  import { DataType } from "node-opcua-variant";
9
- import { IAddressSpace, BaseNode, UAVariable, UAVariableT } from "node-opcua-address-space-base";
8
+ import { UAVariable } from "node-opcua-address-space-base";
10
9
 
11
10
  import { AddressSpacePrivate } from "../address_space_private";
11
+ import { DeviationStuff } from "../../source/interfaces/alarms_and_conditions/deviation_stuff";
12
+ import { InstallSetPointOptions } from "../../source/interfaces/alarms_and_conditions/install_setpoint_options";
12
13
 
13
- export interface DeviationStuff {
14
- setpointNode: UAVariableT<NodeId, DataType.NodeId>;
15
- setpointNodeNode: UAVariable;
16
- _onSetpointDataValueChange(dataValue: DataValue): void;
17
- _setStateBasedOnInputValue(value: any): void;
18
- getSetpointNodeNode(): UAVariable;
19
- getInputNodeValue(): any;
20
- getSetpointValue(): number | null;
21
14
 
22
- readonly addressSpace: IAddressSpace;
23
- }
24
15
 
25
16
  export function DeviationAlarmHelper_getSetpointNodeNode(this: DeviationStuff): UAVariable {
26
17
  assert(this.setpointNode.readValue().value.dataType === DataType.NodeId);
@@ -43,9 +34,6 @@ export function DeviationAlarmHelper_onSetpointDataValueChange(this: DeviationSt
43
34
  this._setStateBasedOnInputValue(this.getInputNodeValue());
44
35
  }
45
36
 
46
- export interface InstallSetPointOptions {
47
- setpointNode: UAVariableT<NodeId, DataType.NodeId>;
48
- }
49
37
  export function DeviationAlarmHelper_install_setpoint(this: DeviationStuff, options: InstallSetPointOptions): void {
50
38
  // must provide a set point property
51
39
  assert(Object.prototype.hasOwnProperty.call(options, "setpointNode"), "must provide a setpointNode");
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @module node-opcua-address-space.AlarmsAndConditions
3
3
  */
4
- export * from "./condition_info";
5
- export * from "./condition_snapshot";
4
+ export * from "./condition_info_impl";
5
+ export * from "./condition_snapshot_impl";
6
6
  export * from "./ua_condition_impl";
7
7
  export * from "./ua_acknowledgeable_condition_impl";
8
8
  export * from "./ua_discrete_alarm_impl";
@@ -10,39 +10,16 @@ import { DataType, VariantLike, VariantOptions } from "node-opcua-variant";
10
10
  import { INamespace, RaiseEventData, ISessionContext, UAEventType, UAMethod } from "node-opcua-address-space-base";
11
11
  import { CallMethodResultOptions } from "node-opcua-service-call";
12
12
 
13
- import { UATwoStateVariableEx } from "../../source/ua_two_state_variable_ex";
14
13
  import { AddressSpacePrivate } from "../address_space_private";
15
14
  import { _install_TwoStateVariable_machinery } from "../state_machine/ua_two_state_variable";
15
+ import { UAAcknowledgeableConditionEx } from "../../source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex";
16
+ import { ConditionSnapshot } from "../../source/interfaces/alarms_and_conditions/condition_snapshot";
17
+ import { InstantiateAlarmConditionOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options";
18
+
16
19
  import { _setAckedState } from "./condition";
17
- import { ConditionSnapshot } from "./condition_snapshot";
18
- import { UAConditionHelper, UAConditionImpl, UAConditionEx } from "./ua_condition_impl";
19
- import { InstantiateAlarmConditionOptions } from "./ua_alarm_condition_impl";
20
-
21
- export interface UAAcknowledgeableConditionHelper extends UAConditionHelper {
22
- ///
23
- on(eventName: string, eventHandler: (...args: any[]) => void): this;
24
-
25
- on(
26
- eventName: "acknowledged" | "confirmed",
27
- eventHandler: (eventId: Buffer | null, comment: LocalizedText, branch: ConditionSnapshot) => void
28
- ): this;
29
- }
30
- export interface UAAcknowledgeableConditionHelper {
31
- autoConfirmBranch(branch: ConditionSnapshot, comment: LocalizedTextLike): void;
32
- acknowledgeAndAutoConfirmBranch(branch: ConditionSnapshot, comment: string | LocalizedTextLike | LocalizedText): void;
33
- }
34
- export interface UAAcknowledgeableConditionEx
35
- extends UAAcknowledgeableCondition_Base,
36
- UAAcknowledgeableConditionHelper,
37
- UAConditionEx {
38
- on(eventName: string, eventHandler: any): this;
20
+ import { ConditionSnapshotImpl } from "./condition_snapshot_impl";
21
+ import { UAConditionImpl } from "./ua_condition_impl";
39
22
 
40
- enabledState: UATwoStateVariableEx;
41
- ackedState: UATwoStateVariableEx;
42
- confirmedState?: UATwoStateVariableEx;
43
- acknowledge: UAMethod;
44
- confirm?: UAMethod;
45
- }
46
23
 
47
24
  export declare interface UAAcknowledgeableConditionImpl extends UAAcknowledgeableConditionEx, UAConditionImpl {
48
25
  on(eventName: string, eventHandler: any): this;
@@ -196,7 +173,7 @@ export class UAAcknowledgeableConditionImpl extends UAConditionImpl implements U
196
173
  ): StatusCode {
197
174
  assert(typeof message === "string");
198
175
 
199
- const statusCode = _setAckedState(branch, true, conditionEventId, comment);
176
+ const statusCode = _setAckedState(branch as ConditionSnapshotImpl, true, conditionEventId, comment);
200
177
  if (statusCode !== StatusCodes.Good) {
201
178
  return statusCode;
202
179
  }
@@ -274,7 +251,7 @@ export class UAAcknowledgeableConditionImpl extends UAConditionImpl implements U
274
251
  * @param comment
275
252
  */
276
253
  public autoConfirmBranch(branch: ConditionSnapshot, comment: LocalizedTextLike): void {
277
- assert(branch instanceof ConditionSnapshot);
254
+ assert(branch instanceof ConditionSnapshotImpl);
278
255
  if (!this.confirmedState) {
279
256
  // no confirmedState => ignoring
280
257
  return;
@@ -309,7 +286,7 @@ function _acknowledge_method(
309
286
  inputArguments,
310
287
  context,
311
288
  callback,
312
- (conditionEventId: Buffer, comment: LocalizedText, branch: ConditionSnapshot, conditionNode: UACondition) => {
289
+ (conditionEventId: Buffer, comment: LocalizedText, branch: ConditionSnapshot, conditionNode: UAConditionImpl) => {
313
290
  const ackConditionNode = conditionNode as UAAcknowledgeableConditionImpl;
314
291
  // precondition checking
315
292
  assert(!conditionEventId || conditionEventId instanceof Buffer, "must have a valid eventId or null");
@@ -334,7 +311,7 @@ function _confirm_method(inputArguments: VariantLike[], context: ISessionContext
334
311
  inputArguments,
335
312
  context,
336
313
  callback,
337
- (eventId: Buffer, comment: LocalizedText, branch: ConditionSnapshot, conditionNode: UACondition) => {
314
+ (eventId: Buffer, comment: LocalizedText, branch: ConditionSnapshot, conditionNode: UAConditionImpl) => {
338
315
  assert(eventId instanceof Buffer);
339
316
  assert(branch.getEventId() instanceof Buffer);
340
317
  assert(branch.getEventId().toString("hex") === eventId.toString("hex"));