node-opcua-address-space 2.72.0 → 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 (196) 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 +11 -13
  63. package/dist/source/loader/load_nodeset2.js.map +1 -1
  64. package/dist/source/loader/make_xml_extension_object_parser.js +3 -2
  65. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
  66. package/dist/source/namespace_alarm_and_condition.d.ts +9 -9
  67. package/dist/src/address_space_private.d.ts +1 -1
  68. package/dist/src/alarms_and_conditions/condition.d.ts +2 -2
  69. package/dist/src/alarms_and_conditions/condition.js +4 -6
  70. package/dist/src/alarms_and_conditions/condition.js.map +1 -1
  71. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -0
  72. package/dist/src/alarms_and_conditions/condition_info_impl.js +55 -0
  73. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +1 -0
  74. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +231 -0
  75. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +667 -0
  76. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -0
  77. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +3 -16
  78. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -1
  79. package/dist/src/alarms_and_conditions/index.d.ts +2 -2
  80. package/dist/src/alarms_and_conditions/index.js +2 -2
  81. package/dist/src/alarms_and_conditions/index.js.map +1 -1
  82. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +5 -25
  83. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +2 -2
  84. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  85. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +4 -35
  86. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +5 -5
  87. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  88. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +1 -4
  89. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -1
  90. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +14 -14
  91. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +5 -2
  92. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  93. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +4 -38
  94. package/dist/src/alarms_and_conditions/ua_condition_impl.js +9 -9
  95. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  96. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +3 -7
  97. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +0 -23
  98. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  99. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +4 -8
  100. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  101. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +1 -1
  102. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  103. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +3 -20
  104. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  105. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +2 -1
  106. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -1
  107. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +20 -46
  108. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +13 -13
  109. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  110. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +5 -10
  111. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  112. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +4 -11
  113. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +3 -3
  114. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  115. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +4 -6
  116. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  117. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +2 -1
  118. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  119. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +51 -0
  120. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +250 -0
  121. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +1 -0
  122. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -0
  123. package/dist/src/data_access/ua_two_state_discrete_impl.js +154 -0
  124. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +1 -0
  125. package/dist/src/index_current.d.ts +2 -3
  126. package/dist/src/index_current.js +3 -5
  127. package/dist/src/index_current.js.map +1 -1
  128. package/dist/src/namespace_impl.d.ts +9 -8
  129. package/dist/src/namespace_impl.js +5 -6
  130. package/dist/src/namespace_impl.js.map +1 -1
  131. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +9 -5
  132. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +5 -5
  133. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -1
  134. package/dist/src/ua_data_type_impl.d.ts +2 -2
  135. package/dist/src/ua_data_type_impl.js +3 -0
  136. package/dist/src/ua_data_type_impl.js.map +1 -1
  137. package/distHelpers/alarms_and_conditions_demo.d.ts +1 -2
  138. package/distHelpers/alarms_and_conditions_demo.js.map +1 -1
  139. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -1
  140. package/package.json +28 -28
  141. package/source/index.ts +25 -5
  142. package/source/interfaces/alarms_and_conditions/condition_info_i.ts +9 -1
  143. package/source/interfaces/alarms_and_conditions/condition_snapshot.ts +297 -0
  144. package/source/interfaces/alarms_and_conditions/deviation_stuff.ts +16 -0
  145. package/source/interfaces/alarms_and_conditions/install_setpoint_options.ts +7 -0
  146. package/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.ts +10 -0
  147. package/source/interfaces/alarms_and_conditions/instantiate_condition_options.ts +8 -0
  148. package/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.ts +4 -0
  149. package/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.ts +10 -0
  150. package/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.ts +6 -0
  151. package/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.ts +35 -0
  152. package/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +41 -0
  153. package/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.ts +31 -0
  154. package/source/interfaces/alarms_and_conditions/ua_condition_ex.ts +67 -0
  155. package/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.ts +45 -0
  156. package/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.ts +22 -0
  157. package/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.ts +25 -0
  158. package/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +28 -0
  159. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.ts +31 -0
  160. package/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.ts +25 -0
  161. package/source/interfaces/state_machine/ua_shelved_state_machine_ex.ts +32 -0
  162. package/source/loader/load_nodeset2.ts +19 -18
  163. package/source/loader/make_xml_extension_object_parser.ts +8 -8
  164. package/source/namespace_alarm_and_condition.ts +16 -10
  165. package/src/address_space_private.ts +1 -1
  166. package/src/alarms_and_conditions/condition.ts +4 -7
  167. package/src/alarms_and_conditions/{condition_info.ts → condition_info_impl.ts} +3 -9
  168. package/src/alarms_and_conditions/{condition_snapshot.ts → condition_snapshot_impl.ts} +6 -9
  169. package/src/alarms_and_conditions/deviation_alarm_helper.ts +3 -15
  170. package/src/alarms_and_conditions/index.ts +2 -2
  171. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +10 -33
  172. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +12 -50
  173. package/src/alarms_and_conditions/ua_base_event_impl.ts +1 -4
  174. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +23 -26
  175. package/src/alarms_and_conditions/ua_condition_impl.ts +17 -65
  176. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +3 -50
  177. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +7 -22
  178. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +1 -1
  179. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +3 -24
  180. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +2 -1
  181. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +6 -37
  182. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +7 -33
  183. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +7 -28
  184. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +4 -6
  185. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +2 -1
  186. package/src/data_access/{ua_multistate_value_discrete.ts → ua_multistate_value_discrete_impl.ts} +0 -0
  187. package/src/data_access/{ua_two_state_discrete.ts → ua_two_state_discrete_impl.ts} +0 -0
  188. package/src/index_current.ts +2 -4
  189. package/src/namespace_impl.ts +16 -11
  190. package/src/state_machine/ua_shelving_state_machine_ex.ts +21 -26
  191. package/src/ua_data_type_impl.ts +7 -3
  192. package/test_helpers/alarms_and_conditions_demo.ts +3 -3
  193. package/test_helpers/create_minimalist_address_space_nodeset.ts +2 -2
  194. package/test_helpers/test_fixtures/datatype_with_allow_subtype.xml +104 -0
  195. package/test_helpers/test_fixtures/nodeset_with_guid.xml +2 -1
  196. package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +31 -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
+ }
@@ -17,7 +17,7 @@ import {
17
17
  UAVariableType
18
18
  } from "node-opcua-address-space-base";
19
19
  import { assert, renderError } from "node-opcua-assert";
20
- import { isValidGuid, StatusCodes } from "node-opcua-basic-types";
20
+ import { coerceInt64, coerceUInt64, Int64, isValidGuid, StatusCodes, UInt64 } from "node-opcua-basic-types";
21
21
  import { EUInformation } from "node-opcua-data-access";
22
22
  import {
23
23
  AccessLevelFlag,
@@ -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
  }
@@ -248,7 +242,7 @@ export function makeNodeSetParserEngine(addressSpace: IAddressSpace): NodeSet2Pa
248
242
  );
249
243
  return namespace;
250
244
  }
251
-
245
+
252
246
  function _add_namespace(model: Model) {
253
247
  if (model.requiredModels.length > 0) {
254
248
  // check that required models exist already in the address space
@@ -966,6 +960,7 @@ export function makeNodeSetParserEngine(addressSpace: IAddressSpace): NodeSet2Pa
966
960
  return {
967
961
  finish(this: any) {
968
962
  this.parent.parent.obj.value = {
963
+ arrayType: VariantArrayType.Scalar,
969
964
  dataType: (DataType as any)[type],
970
965
  value: p(this.text)
971
966
  };
@@ -1024,6 +1019,9 @@ export function makeNodeSetParserEngine(addressSpace: IAddressSpace): NodeSet2Pa
1024
1019
  };
1025
1020
  }
1026
1021
 
1022
+ const parseUInt64 = (str: string): UInt64 => coerceUInt64(str);
1023
+ const parseInt64 = (str: string): Int64 => coerceInt64(str);
1024
+
1027
1025
  const state_Variant = {
1028
1026
  init: () => {
1029
1027
  /* empty */
@@ -1107,6 +1105,9 @@ export function makeNodeSetParserEngine(addressSpace: IAddressSpace): NodeSet2Pa
1107
1105
  UInt32: parser2("UInt32", parseInt),
1108
1106
  UInt8: parser2("UInt8", parseInt),
1109
1107
 
1108
+ UInt64: parser2("UInt64", parseUInt64),
1109
+ Int64: parser2("Int64", parseInt64),
1110
+
1110
1111
  ByteString: {
1111
1112
  init(this: any) {
1112
1113
  this.value = null;
@@ -1683,6 +1684,7 @@ export function makeNodeSetParserEngine(addressSpace: IAddressSpace): NodeSet2Pa
1683
1684
  doDebug && debugLog(chalk.bgGreenBright("Performing DataType extraction -------------------------------------------"));
1684
1685
  assert(!addressSpace1.suspendBackReference);
1685
1686
  await ensureDatatypeExtracted(addressSpace);
1687
+ const dataTypeManager = (addressSpace as AddressSpacePrivate).getDataTypeManager();
1686
1688
 
1687
1689
  /// ----------------------------------------------------------------------------------------
1688
1690
  doDebug && debugLog(chalk.bgGreenBright("DataType extraction done ") + chalk.green("DONE"));
@@ -1691,7 +1693,6 @@ export function makeNodeSetParserEngine(addressSpace: IAddressSpace): NodeSet2Pa
1691
1693
  if (dataTypeNodeId.namespace === 0) {
1692
1694
  continue;
1693
1695
  }
1694
- const dataTypeManager = (addressSpace as AddressSpacePrivate).getDataTypeManager();
1695
1696
  const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeNodeId.namespace);
1696
1697
  }
1697
1698
  pendingSimpleTypeToRegister.splice(0);
@@ -1,7 +1,7 @@
1
- import { Byte, Int16, Int32, Int64, SByte, UAString, UInt16, UInt32 } from "node-opcua-basic-types";
2
- import { LocalizedTextLike, LocalizedTextOptions } from "node-opcua-data-model";
1
+ import { Byte, coerceInt64, coerceUInt64, Int16, Int32, Int64, SByte, UAString, UInt16, UInt32, UInt64 } from "node-opcua-basic-types";
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";
@@ -82,7 +82,7 @@ const localizedTextReader: ReaderStateParserLike = {
82
82
  };
83
83
 
84
84
  function clamp(value: number, minValue: number, maxValue: number) {
85
- if (value < minValue) {
85
+ if (value< minValue) {
86
86
  warningLog(`invalid value range : ${value} < ${minValue} but should be [${minValue} , ${maxValue}]`);
87
87
  return minValue;
88
88
  }
@@ -171,8 +171,8 @@ const partials: { [key: string]: ReaderStateParserLike } = {
171
171
  }
172
172
  },
173
173
  Int64: {
174
- finish(this: Parser<Int32>) {
175
- this.value = parseInt(this.text, 10);
174
+ finish(this: Parser<Int64>) {
175
+ this.value = coerceInt64(parseInt(this.text, 10));
176
176
  }
177
177
  },
178
178
 
@@ -195,8 +195,8 @@ const partials: { [key: string]: ReaderStateParserLike } = {
195
195
  },
196
196
 
197
197
  UInt64: {
198
- finish(this: Parser<UInt32>) {
199
- this.value = parseInt(this.text, 10);
198
+ finish(this: Parser<UInt64>) {
199
+ this.value = coerceUInt64(parseInt(this.text, 10));
200
200
  }
201
201
  },
202
202
 
@@ -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";