node-opcua-address-space 2.98.0 → 2.98.2

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 (460) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -0
  2. package/dist/source/address_space_ts.js +18 -0
  3. package/dist/source/address_space_ts.js.map +1 -0
  4. package/dist/source/continuation_points/continuation_point_manager.d.ts +91 -0
  5. package/dist/source/continuation_points/continuation_point_manager.js +201 -0
  6. package/dist/source/continuation_points/continuation_point_manager.js.map +1 -0
  7. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -0
  8. package/dist/source/helpers/adjust_browse_direction.js +12 -0
  9. package/dist/source/helpers/adjust_browse_direction.js.map +1 -0
  10. package/dist/source/helpers/argument_list.d.ts +33 -0
  11. package/dist/source/helpers/argument_list.js +255 -0
  12. package/dist/source/helpers/argument_list.js.map +1 -0
  13. package/dist/source/helpers/call_helpers.d.ts +6 -0
  14. package/dist/source/helpers/call_helpers.js +72 -0
  15. package/dist/source/helpers/call_helpers.js.map +1 -0
  16. package/dist/source/helpers/coerce_enum_value.d.ts +6 -0
  17. package/dist/source/helpers/coerce_enum_value.js +34 -0
  18. package/dist/source/helpers/coerce_enum_value.js.map +1 -0
  19. package/dist/source/helpers/dump_tools.d.ts +14 -0
  20. package/dist/source/helpers/dump_tools.js +79 -0
  21. package/dist/source/helpers/dump_tools.js.map +1 -0
  22. package/dist/source/helpers/ensure_secure_access.d.ts +9 -0
  23. package/dist/source/helpers/ensure_secure_access.js +77 -0
  24. package/dist/source/helpers/ensure_secure_access.js.map +1 -0
  25. package/dist/source/helpers/make_optionals_map.d.ts +21 -0
  26. package/dist/source/helpers/make_optionals_map.js +30 -0
  27. package/dist/source/helpers/make_optionals_map.js.map +1 -0
  28. package/dist/source/helpers/multiform_func.d.ts +11 -0
  29. package/dist/source/helpers/multiform_func.js +76 -0
  30. package/dist/source/helpers/multiform_func.js.map +1 -0
  31. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -0
  32. package/dist/source/helpers/resolve_opaque_on_address_space.js +37 -0
  33. package/dist/source/helpers/resolve_opaque_on_address_space.js.map +1 -0
  34. package/dist/source/index.d.ts +61 -0
  35. package/dist/source/index.js +90 -0
  36. package/dist/source/index.js.map +1 -0
  37. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +19 -0
  38. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +3 -0
  39. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js.map +1 -0
  40. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.d.ts +193 -0
  41. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js +3 -0
  42. package/dist/source/interfaces/alarms_and_conditions/condition_snapshot.js.map +1 -0
  43. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.d.ts +12 -0
  44. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js +3 -0
  45. package/dist/source/interfaces/alarms_and_conditions/deviation_stuff.js.map +1 -0
  46. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.d.ts +10 -0
  47. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js +3 -0
  48. package/dist/source/interfaces/alarms_and_conditions/install_setpoint_options.js.map +1 -0
  49. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.d.ts +7 -0
  50. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js +3 -0
  51. package/dist/source/interfaces/alarms_and_conditions/instantiate_alarm_condition_options.js.map +1 -0
  52. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.d.ts +7 -0
  53. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js +3 -0
  54. package/dist/source/interfaces/alarms_and_conditions/instantiate_condition_options.js.map +1 -0
  55. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.d.ts +4 -0
  56. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js +3 -0
  57. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_deviation_alarm_options.js.map +1 -0
  58. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.d.ts +4 -0
  59. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js +3 -0
  60. package/dist/source/interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js.map +1 -0
  61. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.d.ts +9 -0
  62. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js +3 -0
  63. package/dist/source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js.map +1 -0
  64. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.d.ts +4 -0
  65. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js +3 -0
  66. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_deviation_alarm_options.js.map +1 -0
  67. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.d.ts +4 -0
  68. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js +3 -0
  69. package/dist/source/interfaces/alarms_and_conditions/instantiate_non_exclusive_limit_alarm_options.js.map +1 -0
  70. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.d.ts +20 -0
  71. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js +3 -0
  72. package/dist/source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js.map +1 -0
  73. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.d.ts +23 -0
  74. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js +3 -0
  75. package/dist/source/interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js.map +1 -0
  76. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +32 -0
  77. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js +3 -0
  78. package/dist/source/interfaces/alarms_and_conditions/ua_alarm_condition_ex.js.map +1 -0
  79. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.d.ts +19 -0
  80. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js +3 -0
  81. package/dist/source/interfaces/alarms_and_conditions/ua_certificate_expiration_alarm_ex.js.map +1 -0
  82. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +45 -0
  83. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js +3 -0
  84. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.js.map +1 -0
  85. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.d.ts +7 -0
  86. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js +26 -0
  87. package/dist/source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex.js.map +1 -0
  88. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.d.ts +5 -0
  89. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js +3 -0
  90. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_deviation_alarm_ex.js.map +1 -0
  91. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.d.ts +20 -0
  92. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js +3 -0
  93. package/dist/source/interfaces/alarms_and_conditions/ua_exclusive_limit_alarm_ex.js.map +1 -0
  94. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +26 -0
  95. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js +3 -0
  96. package/dist/source/interfaces/alarms_and_conditions/ua_limit_alarm_ex.js.map +1 -0
  97. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.d.ts +8 -0
  98. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js +3 -0
  99. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex.js.map +1 -0
  100. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.d.ts +10 -0
  101. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js +3 -0
  102. package/dist/source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex.js.map +1 -0
  103. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -0
  104. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +3 -0
  105. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js.map +1 -0
  106. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -0
  107. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +3 -0
  108. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js.map +1 -0
  109. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -0
  110. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +3 -0
  111. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js.map +1 -0
  112. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -0
  113. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +3 -0
  114. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js.map +1 -0
  115. package/dist/source/interfaces/extension_object_constructor.d.ts +10 -0
  116. package/dist/source/interfaces/extension_object_constructor.js +3 -0
  117. package/dist/source/interfaces/extension_object_constructor.js.map +1 -0
  118. package/dist/source/interfaces/nodeset_loader_options.d.ts +4 -0
  119. package/dist/source/interfaces/nodeset_loader_options.js +3 -0
  120. package/dist/source/interfaces/nodeset_loader_options.js.map +1 -0
  121. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -0
  122. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +3 -0
  123. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js.map +1 -0
  124. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -0
  125. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +3 -0
  126. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js.map +1 -0
  127. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -0
  128. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +3 -0
  129. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js.map +1 -0
  130. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.d.ts +30 -0
  131. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js +3 -0
  132. package/dist/source/interfaces/state_machine/ua_shelved_state_machine_ex.js.map +1 -0
  133. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +234 -0
  134. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +3 -0
  135. package/dist/source/interfaces/state_machine/ua_state_machine_type.js.map +1 -0
  136. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -0
  137. package/dist/source/interfaces/state_machine/ua_transition_ex.js +3 -0
  138. package/dist/source/interfaces/state_machine/ua_transition_ex.js.map +1 -0
  139. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -0
  140. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +3 -0
  141. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js.map +1 -0
  142. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -0
  143. package/dist/source/loader/decode_xml_extension_object.js +72 -0
  144. package/dist/source/loader/decode_xml_extension_object.js.map +1 -0
  145. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -0
  146. package/dist/source/loader/ensure_datatype_extracted.js +71 -0
  147. package/dist/source/loader/ensure_datatype_extracted.js.map +1 -0
  148. package/dist/source/loader/generateAddressSpaceRaw.d.ts +11 -0
  149. package/dist/source/loader/generateAddressSpaceRaw.js +46 -0
  150. package/dist/source/loader/generateAddressSpaceRaw.js.map +1 -0
  151. package/dist/source/loader/load_nodeset2.d.ts +17 -0
  152. package/dist/source/loader/load_nodeset2.js +1484 -0
  153. package/dist/source/loader/load_nodeset2.js.map +1 -0
  154. package/dist/source/loader/make_semver_compatible.d.ts +6 -0
  155. package/dist/source/loader/make_semver_compatible.js +26 -0
  156. package/dist/source/loader/make_semver_compatible.js.map +1 -0
  157. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -0
  158. package/dist/source/loader/make_xml_extension_object_parser.js +327 -0
  159. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -0
  160. package/dist/source/loader/namespace_post_step.d.ts +10 -0
  161. package/dist/source/loader/namespace_post_step.js +62 -0
  162. package/dist/source/loader/namespace_post_step.js.map +1 -0
  163. package/dist/source/loader/register_node_promoter.d.ts +2 -0
  164. package/dist/source/loader/register_node_promoter.js +10 -0
  165. package/dist/source/loader/register_node_promoter.js.map +1 -0
  166. package/dist/source/namespace.d.ts +6 -0
  167. package/dist/source/namespace.js +3 -0
  168. package/dist/source/namespace.js.map +1 -0
  169. package/dist/source/namespace_alarm_and_condition.d.ts +32 -0
  170. package/dist/source/namespace_alarm_and_condition.js +3 -0
  171. package/dist/source/namespace_alarm_and_condition.js.map +1 -0
  172. package/dist/source/namespace_data_access.d.ts +42 -0
  173. package/dist/source/namespace_data_access.js +3 -0
  174. package/dist/source/namespace_data_access.js.map +1 -0
  175. package/dist/source/namespace_machine_state.d.ts +8 -0
  176. package/dist/source/namespace_machine_state.js +3 -0
  177. package/dist/source/namespace_machine_state.js.map +1 -0
  178. package/dist/source/pseudo_session.d.ts +72 -0
  179. package/dist/source/pseudo_session.js +255 -0
  180. package/dist/source/pseudo_session.js.map +1 -0
  181. package/dist/source/session_context.d.ts +111 -0
  182. package/dist/source/session_context.js +265 -0
  183. package/dist/source/session_context.js.map +1 -0
  184. package/dist/source/set_namespace_meta_data.d.ts +2 -0
  185. package/dist/source/set_namespace_meta_data.js +60 -0
  186. package/dist/source/set_namespace_meta_data.js.map +1 -0
  187. package/dist/source/ua_root_folder.d.ts +9 -0
  188. package/dist/source/ua_root_folder.js +3 -0
  189. package/dist/source/ua_root_folder.js.map +1 -0
  190. package/dist/source/ua_two_state_variable_ex.d.ts +23 -0
  191. package/dist/source/ua_two_state_variable_ex.js +3 -0
  192. package/dist/source/ua_two_state_variable_ex.js.map +1 -0
  193. package/dist/source/xml_writer.d.ts +18 -0
  194. package/dist/source/xml_writer.js +3 -0
  195. package/dist/source/xml_writer.js.map +1 -0
  196. package/dist/src/address_space.d.ts +387 -0
  197. package/dist/src/address_space.js +1386 -0
  198. package/dist/src/address_space.js.map +1 -0
  199. package/dist/src/address_space_change_event_tools.d.ts +6 -0
  200. package/dist/src/address_space_change_event_tools.js +153 -0
  201. package/dist/src/address_space_change_event_tools.js.map +1 -0
  202. package/dist/src/address_space_private.d.ts +43 -0
  203. package/dist/src/address_space_private.js +3 -0
  204. package/dist/src/address_space_private.js.map +1 -0
  205. package/dist/src/alarms_and_conditions/condition.d.ts +5 -0
  206. package/dist/src/alarms_and_conditions/condition.js +79 -0
  207. package/dist/src/alarms_and_conditions/condition.js.map +1 -0
  208. package/dist/src/alarms_and_conditions/condition_info_impl.d.ts +26 -0
  209. package/dist/src/alarms_and_conditions/condition_info_impl.js +55 -0
  210. package/dist/src/alarms_and_conditions/condition_info_impl.js.map +1 -0
  211. package/dist/src/alarms_and_conditions/condition_snapshot_impl.d.ts +222 -0
  212. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js +658 -0
  213. package/dist/src/alarms_and_conditions/condition_snapshot_impl.js.map +1 -0
  214. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +9 -0
  215. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +61 -0
  216. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js.map +1 -0
  217. package/dist/src/alarms_and_conditions/index.d.ts +16 -0
  218. package/dist/src/alarms_and_conditions/index.js +33 -0
  219. package/dist/src/alarms_and_conditions/index.js.map +1 -0
  220. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +44 -0
  221. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +245 -0
  222. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -0
  223. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +93 -0
  224. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +419 -0
  225. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -0
  226. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +26 -0
  227. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +39 -0
  228. package/dist/src/alarms_and_conditions/ua_base_event_impl.js.map +1 -0
  229. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +44 -0
  230. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +184 -0
  231. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -0
  232. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +155 -0
  233. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1029 -0
  234. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -0
  235. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +14 -0
  236. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +35 -0
  237. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -0
  238. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +24 -0
  239. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +57 -0
  240. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -0
  241. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -0
  242. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +12 -0
  243. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -0
  244. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +23 -0
  245. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +87 -0
  246. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -0
  247. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +11 -0
  248. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +8 -0
  249. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js.map +1 -0
  250. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +79 -0
  251. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +251 -0
  252. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -0
  253. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +24 -0
  254. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +51 -0
  255. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -0
  256. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +19 -0
  257. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +163 -0
  258. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -0
  259. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +46 -0
  260. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +166 -0
  261. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -0
  262. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +18 -0
  263. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +18 -0
  264. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -0
  265. package/dist/src/apply_condition_refresh.d.ts +6 -0
  266. package/dist/src/apply_condition_refresh.js +28 -0
  267. package/dist/src/apply_condition_refresh.js.map +1 -0
  268. package/dist/src/base_node_impl.d.ts +284 -0
  269. package/dist/src/base_node_impl.js +1455 -0
  270. package/dist/src/base_node_impl.js.map +1 -0
  271. package/dist/src/base_node_private.d.ts +81 -0
  272. package/dist/src/base_node_private.js +833 -0
  273. package/dist/src/base_node_private.js.map +1 -0
  274. package/dist/src/check_value_rank_compatibility.d.ts +15 -0
  275. package/dist/src/check_value_rank_compatibility.js +82 -0
  276. package/dist/src/check_value_rank_compatibility.js.map +1 -0
  277. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -0
  278. package/dist/src/data_access/add_dataItem_stuff.js +62 -0
  279. package/dist/src/data_access/add_dataItem_stuff.js.map +1 -0
  280. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -0
  281. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +35 -0
  282. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js.map +1 -0
  283. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -0
  284. package/dist/src/data_access/ua_multistate_discrete_impl.js +131 -0
  285. package/dist/src/data_access/ua_multistate_discrete_impl.js.map +1 -0
  286. package/dist/src/data_access/ua_multistate_value_discrete_impl.d.ts +52 -0
  287. package/dist/src/data_access/ua_multistate_value_discrete_impl.js +254 -0
  288. package/dist/src/data_access/ua_multistate_value_discrete_impl.js.map +1 -0
  289. package/dist/src/data_access/ua_two_state_discrete_impl.d.ts +25 -0
  290. package/dist/src/data_access/ua_two_state_discrete_impl.js +156 -0
  291. package/dist/src/data_access/ua_two_state_discrete_impl.js.map +1 -0
  292. package/dist/src/event_data.d.ts +34 -0
  293. package/dist/src/event_data.js +65 -0
  294. package/dist/src/event_data.js.map +1 -0
  295. package/dist/src/extension_object_array_node.d.ts +23 -0
  296. package/dist/src/extension_object_array_node.js +249 -0
  297. package/dist/src/extension_object_array_node.js.map +1 -0
  298. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -0
  299. package/dist/src/historical_access/address_space_historical_data_node.js +653 -0
  300. package/dist/src/historical_access/address_space_historical_data_node.js.map +1 -0
  301. package/dist/src/idx_iterator.d.ts +8 -0
  302. package/dist/src/idx_iterator.js +51 -0
  303. package/dist/src/idx_iterator.js.map +1 -0
  304. package/dist/src/index_current.d.ts +46 -0
  305. package/dist/src/index_current.js +78 -0
  306. package/dist/src/index_current.js.map +1 -0
  307. package/dist/src/namespace_impl.d.ts +456 -0
  308. package/dist/src/namespace_impl.js +1763 -0
  309. package/dist/src/namespace_impl.js.map +1 -0
  310. package/dist/src/namespace_private.d.ts +23 -0
  311. package/dist/src/namespace_private.js +33 -0
  312. package/dist/src/namespace_private.js.map +1 -0
  313. package/dist/src/nodeid_manager.d.ts +37 -0
  314. package/dist/src/nodeid_manager.js +184 -0
  315. package/dist/src/nodeid_manager.js.map +1 -0
  316. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -0
  317. package/dist/src/nodeset_tools/adjust_namespace_array.js +14 -0
  318. package/dist/src/nodeset_tools/adjust_namespace_array.js.map +1 -0
  319. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +18 -0
  320. package/dist/src/nodeset_tools/construct_namespace_dependency.js +141 -0
  321. package/dist/src/nodeset_tools/construct_namespace_dependency.js.map +1 -0
  322. package/dist/src/nodeset_tools/dump_to_bsd.d.ts +2 -0
  323. package/dist/src/nodeset_tools/dump_to_bsd.js +165 -0
  324. package/dist/src/nodeset_tools/dump_to_bsd.js.map +1 -0
  325. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +10 -0
  326. package/dist/src/nodeset_tools/nodeset_to_xml.js +1288 -0
  327. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -0
  328. package/dist/src/private_namespace.d.ts +5 -0
  329. package/dist/src/private_namespace.js +20 -0
  330. package/dist/src/private_namespace.js.map +1 -0
  331. package/dist/src/reference_impl.d.ts +43 -0
  332. package/dist/src/reference_impl.js +140 -0
  333. package/dist/src/reference_impl.js.map +1 -0
  334. package/dist/src/role_permissions.d.ts +2 -0
  335. package/dist/src/role_permissions.js +11 -0
  336. package/dist/src/role_permissions.js.map +1 -0
  337. package/dist/src/state_machine/finite_state_machine.d.ts +81 -0
  338. package/dist/src/state_machine/finite_state_machine.js +389 -0
  339. package/dist/src/state_machine/finite_state_machine.js.map +1 -0
  340. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +38 -0
  341. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +251 -0
  342. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -0
  343. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -0
  344. package/dist/src/state_machine/ua_two_state_variable.js +332 -0
  345. package/dist/src/state_machine/ua_two_state_variable.js.map +1 -0
  346. package/dist/src/tool_isSubtypeOf.d.ts +18 -0
  347. package/dist/src/tool_isSubtypeOf.js +125 -0
  348. package/dist/src/tool_isSubtypeOf.js.map +1 -0
  349. package/dist/src/ua_condition_type.d.ts +8 -0
  350. package/dist/src/ua_condition_type.js +3 -0
  351. package/dist/src/ua_condition_type.js.map +1 -0
  352. package/dist/src/ua_data_type_impl.d.ts +89 -0
  353. package/dist/src/ua_data_type_impl.js +369 -0
  354. package/dist/src/ua_data_type_impl.js.map +1 -0
  355. package/dist/src/ua_method_impl.d.ts +42 -0
  356. package/dist/src/ua_method_impl.js +218 -0
  357. package/dist/src/ua_method_impl.js.map +1 -0
  358. package/dist/src/ua_object_impl.d.ts +35 -0
  359. package/dist/src/ua_object_impl.js +169 -0
  360. package/dist/src/ua_object_impl.js.map +1 -0
  361. package/dist/src/ua_object_type_impl.d.ts +50 -0
  362. package/dist/src/ua_object_type_impl.js +127 -0
  363. package/dist/src/ua_object_type_impl.js.map +1 -0
  364. package/dist/src/ua_reference_type_impl.d.ts +45 -0
  365. package/dist/src/ua_reference_type_impl.js +142 -0
  366. package/dist/src/ua_reference_type_impl.js.map +1 -0
  367. package/dist/src/ua_variable_impl.d.ts +380 -0
  368. package/dist/src/ua_variable_impl.js +1739 -0
  369. package/dist/src/ua_variable_impl.js.map +1 -0
  370. package/dist/src/ua_variable_impl_ext_obj.d.ts +23 -0
  371. package/dist/src/ua_variable_impl_ext_obj.js +671 -0
  372. package/dist/src/ua_variable_impl_ext_obj.js.map +1 -0
  373. package/dist/src/ua_variable_type_impl.d.ts +74 -0
  374. package/dist/src/ua_variable_type_impl.js +598 -0
  375. package/dist/src/ua_variable_type_impl.js.map +1 -0
  376. package/dist/src/ua_view_impl.d.ts +19 -0
  377. package/dist/src/ua_view_impl.js +44 -0
  378. package/dist/src/ua_view_impl.js.map +1 -0
  379. package/dist/tsconfig_common.tsbuildinfo +1 -0
  380. package/distHelpers/add_event_generator_object.d.ts +3 -0
  381. package/{test_helpers/add_event_generator_object.ts → distHelpers/add_event_generator_object.js} +16 -22
  382. package/distHelpers/add_event_generator_object.js.map +1 -0
  383. package/distHelpers/alarms_and_conditions_demo.d.ts +9 -0
  384. package/{test_helpers/alarms_and_conditions_demo.ts → distHelpers/alarms_and_conditions_demo.js} +21 -56
  385. package/distHelpers/alarms_and_conditions_demo.js.map +1 -0
  386. package/distHelpers/assertHasMatchingReference.d.ts +19 -0
  387. package/{test_helpers/assertHasMatchingReference.ts → distHelpers/assertHasMatchingReference.js} +12 -14
  388. package/distHelpers/assertHasMatchingReference.js.map +1 -0
  389. package/distHelpers/boiler_system.d.ts +113 -0
  390. package/{test_helpers/boiler_system.ts → distHelpers/boiler_system.js} +81 -295
  391. package/distHelpers/boiler_system.js.map +1 -0
  392. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -0
  393. package/{test_helpers/create_minimalist_address_space_nodeset.ts → distHelpers/create_minimalist_address_space_nodeset.js} +51 -87
  394. package/distHelpers/create_minimalist_address_space_nodeset.js.map +1 -0
  395. package/distHelpers/date_utils.d.ts +3 -0
  396. package/distHelpers/date_utils.js +10 -0
  397. package/distHelpers/date_utils.js.map +1 -0
  398. package/distHelpers/dump_statemachine.d.ts +0 -0
  399. package/distHelpers/dump_statemachine.js +128 -0
  400. package/distHelpers/dump_statemachine.js.map +1 -0
  401. package/distHelpers/get_address_space_fixture.d.ts +1 -0
  402. package/{test_helpers/get_address_space_fixture.ts → distHelpers/get_address_space_fixture.js} +8 -7
  403. package/distHelpers/get_address_space_fixture.js.map +1 -0
  404. package/distHelpers/get_mini_address_space.d.ts +7 -0
  405. package/distHelpers/get_mini_address_space.js +37 -0
  406. package/distHelpers/get_mini_address_space.js.map +1 -0
  407. package/distHelpers/index.js +29 -0
  408. package/distHelpers/index.js.map +1 -0
  409. package/distHelpers/mock_session.d.ts +10 -0
  410. package/distHelpers/mock_session.js +26 -0
  411. package/distHelpers/mock_session.js.map +1 -0
  412. package/distNodeJS/generate_address_space.d.ts +6 -0
  413. package/distNodeJS/generate_address_space.js +53 -0
  414. package/distNodeJS/generate_address_space.js.map +1 -0
  415. package/distNodeJS/index.js +18 -0
  416. package/distNodeJS/index.js.map +1 -0
  417. package/package.json +49 -38
  418. package/source/helpers/dump_tools.ts +92 -0
  419. package/src/nodeset_tools/dump_to_bsd.ts +198 -0
  420. package/.mocharc.yml +0 -12
  421. package/generate.js +0 -1
  422. package/source_nodejs/generate_address_space.ts +0 -60
  423. package/test_helpers/date_utils.ts +0 -5
  424. package/test_helpers/get_mini_address_space.ts +0 -42
  425. package/test_helpers/mock_session.ts +0 -34
  426. package/test_helpers/test_fixtures/dataType_in_separateNamespace.xml +0 -150
  427. package/test_helpers/test_fixtures/dataType_in_separateNamespace_basic.xml +0 -57
  428. package/test_helpers/test_fixtures/dataType_in_separateNamespace_mix.xml +0 -136
  429. package/test_helpers/test_fixtures/dataType_issue.xml +0 -80
  430. package/test_helpers/test_fixtures/dataType_withEnumeration.xml +0 -82
  431. package/test_helpers/test_fixtures/dataType_with_isOptionSet.xml +0 -194
  432. package/test_helpers/test_fixtures/dataType_with_qualifiedname.xml +0 -71
  433. package/test_helpers/test_fixtures/dataType_with_recursive_structure.xml +0 -155
  434. package/test_helpers/test_fixtures/dataType_with_structures.xml +0 -605
  435. package/test_helpers/test_fixtures/dataType_with_union.xml +0 -90
  436. package/test_helpers/test_fixtures/datatype_as_per_1.04.xml +0 -118
  437. package/test_helpers/test_fixtures/datatype_with_allow_subtype.xml +0 -104
  438. package/test_helpers/test_fixtures/eurange_issue.xml +0 -74
  439. package/test_helpers/test_fixtures/example_issue1096.xml +0 -267
  440. package/test_helpers/test_fixtures/fixture_empty_nodeset2.xml +0 -106
  441. package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +0 -1305
  442. package/test_helpers/test_fixtures/fixuture_nodeset_objects_with_some_methods.xml +0 -370
  443. package/test_helpers/test_fixtures/issue_1132_variable_with_nodeid_value.xml +0 -68
  444. package/test_helpers/test_fixtures/issue_846.xml +0 -3172
  445. package/test_helpers/test_fixtures/issue_899_variable_with_nodeid_value.xml +0 -33
  446. package/test_helpers/test_fixtures/mini.Node.Set2.xml +0 -4736
  447. package/test_helpers/test_fixtures/mini.nodeset.withVariousVariables.xml +0 -196
  448. package/test_helpers/test_fixtures/minimalist_nodeset_with_models.xml +0 -8
  449. package/test_helpers/test_fixtures/minimalist_nodeset_with_models_more_complex.xml +0 -20
  450. package/test_helpers/test_fixtures/nodeset_no_aliases.xml +0 -30
  451. package/test_helpers/test_fixtures/nodeset_no_aliases_with_aliases.xml +0 -31
  452. package/test_helpers/test_fixtures/nodeset_with_analog_items.xml +0 -45
  453. package/test_helpers/test_fixtures/nodeset_with_guid.xml +0 -1442
  454. package/test_helpers/test_fixtures/nodeset_with_int64_values.xml +0 -31
  455. package/test_helpers/test_fixtures/nodeset_with_special_char.xml +0 -34
  456. package/test_helpers/test_fixtures/nodeset_with_utf8_special_characters.xml +0 -20
  457. package/test_helpers/test_fixtures/variable_with_value.xml +0 -143
  458. package/test_helpers/test_fixtures/variabletype_with_value.xml +0 -324
  459. /package/{test_helpers/index.ts → distHelpers/index.d.ts} +0 -0
  460. /package/{source_nodejs/index.ts → distNodeJS/index.d.ts} +0 -0
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UALimitAlarmImpl = void 0;
4
+ const node_opcua_assert_1 = require("node-opcua-assert");
5
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
6
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
7
+ const node_opcua_debug_1 = require("node-opcua-debug");
8
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
9
+ const node_opcua_variant_1 = require("node-opcua-variant");
10
+ const ua_alarm_condition_impl_1 = require("./ua_alarm_condition_impl");
11
+ const warningLog = (0, node_opcua_debug_1.make_warningLog)("AlarmsAndConditions");
12
+ const uaLimitAlarmInputSupportedDataType = [
13
+ node_opcua_variant_1.DataType.Double,
14
+ node_opcua_variant_1.DataType.Float,
15
+ node_opcua_variant_1.DataType.Byte,
16
+ node_opcua_variant_1.DataType.SByte,
17
+ node_opcua_variant_1.DataType.Int16,
18
+ node_opcua_variant_1.DataType.Int32,
19
+ node_opcua_variant_1.DataType.UInt16,
20
+ node_opcua_variant_1.DataType.UInt32
21
+ ];
22
+ class UALimitAlarmImpl extends ua_alarm_condition_impl_1.UAAlarmConditionImpl {
23
+ /**
24
+ * @method (static)UALimitAlarm.instantiate
25
+ * @param namespace {INamespace}
26
+ * @param limitAlarmTypeId
27
+ * @param options
28
+ * @param options.inputNode
29
+ * @param options.optionals
30
+ * @param options.highHighLimit {Double}
31
+ * @param options.highLimit {Double}
32
+ * @param options.lowLimit {Double}
33
+ * @param options.lowLowLimit {Double}
34
+ * @param data
35
+ * @return {UALimitAlarm}
36
+ */
37
+ static instantiate(namespace, limitAlarmTypeId, options, data) {
38
+ const addressSpace = namespace.addressSpace;
39
+ // must provide a inputNode
40
+ // xx assert(Object.prototype.hasOwnProperty.call(options,"conditionOf")); // must provide a conditionOf
41
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(options, "inputNode"), "UALimitAlarm.instantiate: options must provide the inputNode");
42
+ options.optionals = options.optionals || [];
43
+ let count = 0;
44
+ if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
45
+ options.optionals.push("HighHighLimit");
46
+ options.optionals.push("HighHighState");
47
+ count++;
48
+ }
49
+ if (Object.prototype.hasOwnProperty.call(options, "highLimit")) {
50
+ options.optionals.push("HighLimit");
51
+ options.optionals.push("HighState");
52
+ count++;
53
+ }
54
+ if (Object.prototype.hasOwnProperty.call(options, "lowLimit")) {
55
+ options.optionals.push("LowLimit");
56
+ options.optionals.push("LowState");
57
+ count++;
58
+ }
59
+ if (Object.prototype.hasOwnProperty.call(options, "lowLowLimit")) {
60
+ options.optionals.push("LowLowLimit");
61
+ options.optionals.push("LowLowState");
62
+ count++;
63
+ }
64
+ // xx assert(options.optionals,"must provide an optionals");
65
+ const alarmNode = ua_alarm_condition_impl_1.UAAlarmConditionImpl.instantiate(namespace, limitAlarmTypeId, options, data);
66
+ Object.setPrototypeOf(alarmNode, UALimitAlarmImpl.prototype);
67
+ (0, node_opcua_assert_1.assert)(alarmNode.conditionOfNode() !== null);
68
+ const inputNode = addressSpace._coerceNode(options.inputNode);
69
+ if (!inputNode) {
70
+ throw new Error("Expecting a valid input node");
71
+ }
72
+ (0, node_opcua_assert_1.assert)(inputNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable);
73
+ // ----------------------- Install Limit Alarm specifics
74
+ // from spec 1.03:
75
+ // Four optional limits are defined that configure the states of the derived limit Alarm Types.
76
+ // These Properties shall be set for any Alarm limits that are exposed by the derived limit Alarm
77
+ // Types. These Properties are listed as optional but at least one is required. For cases where
78
+ // an underlying system cannot provide the actual value of a limit, the limit Property shall still be
79
+ // provided, but will have its AccessLevel set to not readable. It is assumed that the limits are
80
+ // described using the same Engineering Unit that is assigned to the variable that is the source
81
+ // of the alarm. For Rate of change limit alarms, it is assumed this rate is units per second
82
+ // unless otherwise specified.
83
+ if (count === 0) {
84
+ throw new Error("at least one limit is required");
85
+ }
86
+ const dataType = addressSpace.findCorrespondingBasicDataType(options.inputNode.dataType);
87
+ if (-1 === uaLimitAlarmInputSupportedDataType.indexOf(dataType)) {
88
+ const message = `UALimitAlarm.instantiate: inputNode must be of type ${uaLimitAlarmInputSupportedDataType
89
+ .map((a) => node_opcua_variant_1.DataType[a])
90
+ .join("|")}, got ${node_opcua_variant_1.DataType[dataType]}`;
91
+ warningLog(message);
92
+ throw new Error(message);
93
+ }
94
+ if (Object.prototype.hasOwnProperty.call(options, "highHighLimit") && options.highHighLimit !== undefined) {
95
+ alarmNode.setHighHighLimit(options.highHighLimit);
96
+ }
97
+ if (Object.prototype.hasOwnProperty.call(options, "highLimit")) {
98
+ alarmNode.setHighLimit(options.highLimit);
99
+ }
100
+ if (Object.prototype.hasOwnProperty.call(options, "lowLimit")) {
101
+ alarmNode.setLowLimit(options.lowLimit);
102
+ }
103
+ if (Object.prototype.hasOwnProperty.call(options, "lowLowLimit") && options.lowLowLimit != undefined) {
104
+ alarmNode.setLowLowLimit(options.lowLowLimit);
105
+ }
106
+ /*
107
+ * The InputNode Property provides the NodeId of the Variable the Value of which is used as
108
+ * primary input in the calculation of the Alarm state. If this Variable is not in the AddressSpace,
109
+ * a Null NodeId shall be provided. In some systems, an Alarm may be calculated based on
110
+ * multiple Variables Values; it is up to the system to determine which Variable’s NodeId is used.
111
+ */
112
+ (0, node_opcua_assert_1.assert)(alarmNode.inputNode.nodeClass === node_opcua_data_model_1.NodeClass.Variable);
113
+ alarmNode.inputNode.setValueFromSource({ dataType: "NodeId", value: inputNode.nodeId });
114
+ // install inputNode monitoring for change
115
+ alarmNode.installInputNodeMonitoring(options.inputNode);
116
+ alarmNode._watchLimits();
117
+ return alarmNode;
118
+ }
119
+ /**
120
+ * @method getHighHighLimit
121
+ * @return {Number}
122
+ */
123
+ getHighHighLimit() {
124
+ if (!this.highHighLimit) {
125
+ throw new Error("Alarm do not expose highHighLimit");
126
+ }
127
+ return this.highHighLimit.readValue().value.value;
128
+ }
129
+ /**
130
+ * @method getHighLimit
131
+ * @return {Number}
132
+ */
133
+ getHighLimit() {
134
+ if (!this.highLimit) {
135
+ throw new Error("Alarm do not expose highLimit");
136
+ }
137
+ return this.highLimit.readValue().value.value;
138
+ }
139
+ /**
140
+ * @method getLowLimit
141
+ * @return {Float}
142
+ */
143
+ getLowLimit() {
144
+ if (!this.lowLimit) {
145
+ throw new Error("Alarm do not expose lowLimit");
146
+ }
147
+ return this.lowLimit.readValue().value.value;
148
+ }
149
+ /**
150
+ * @method getLowLowLimit
151
+ * @return {Float}
152
+ */
153
+ getLowLowLimit() {
154
+ if (!this.lowLowLimit) {
155
+ throw new Error("Alarm do not expose lowLowLimit");
156
+ }
157
+ return this.lowLowLimit.readValue().value.value;
158
+ }
159
+ /**
160
+ * @method setHighHighLimit
161
+ * @param value {Float}
162
+ */
163
+ setHighHighLimit(value) {
164
+ if (!this.highHighLimit) {
165
+ throw new Error("LimitAlarm instance must expose the optional HighHighLimit property");
166
+ }
167
+ this.highHighLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
168
+ }
169
+ /**
170
+ * @method setHighLimit
171
+ * @param value {Float}
172
+ */
173
+ setHighLimit(value) {
174
+ if (!this.highLimit) {
175
+ throw new Error("LimitAlarm instance must expose the optional HighLimit property");
176
+ }
177
+ this.highLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
178
+ }
179
+ /**
180
+ * @method setLowLimit
181
+ * @param value {Float}
182
+ */
183
+ setLowLimit(value) {
184
+ if (!this.lowLimit) {
185
+ throw new Error("LimitAlarm instance must expose the optional LowLimit property");
186
+ }
187
+ this.lowLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
188
+ }
189
+ /**
190
+ * @method setLowLowLimit
191
+ * @param value {Float}
192
+ */
193
+ setLowLowLimit(value) {
194
+ if (!this.lowLowLimit) {
195
+ throw new Error("LimitAlarm instance must expose the optional LowLowLimit property");
196
+ }
197
+ this.lowLowLimit.setValueFromSource({ dataType: node_opcua_variant_1.DataType.Double, value });
198
+ }
199
+ _onInputDataValueChange(dataValue) {
200
+ (0, node_opcua_assert_1.assert)(dataValue instanceof node_opcua_data_value_1.DataValue);
201
+ if (dataValue.statusCode.equals(node_opcua_status_code_1.StatusCodes.BadWaitingForInitialData) &&
202
+ dataValue.statusCode.equals(node_opcua_status_code_1.StatusCodes.UncertainInitialValue)) {
203
+ // we are not ready yet to use the input node value
204
+ return;
205
+ }
206
+ if (dataValue.statusCode.isNotGood()) {
207
+ // what shall we do ?
208
+ this._signalNewCondition(null);
209
+ return;
210
+ }
211
+ if (dataValue.value.dataType === node_opcua_variant_1.DataType.Null) {
212
+ // what shall we do ?
213
+ this._signalNewCondition(null);
214
+ return;
215
+ }
216
+ const value = dataValue.value.value;
217
+ this._setStateBasedOnInputValue(value);
218
+ }
219
+ _setStateBasedOnInputValue(value) {
220
+ throw new Error("_setStateBasedOnInputValue must be overriden");
221
+ }
222
+ _watchLimits() {
223
+ /// ----------------------------------------------------------------------
224
+ /// Installing Limits monitored
225
+ const _updateState = () => this.updateState();
226
+ if (this.highHighLimit) {
227
+ this.highHighLimit.on("value_changed", _updateState);
228
+ }
229
+ if (this.highLimit) {
230
+ this.highLimit.on("value_changed", _updateState);
231
+ }
232
+ if (this.lowLimit) {
233
+ this.lowLimit.on("value_changed", _updateState);
234
+ }
235
+ if (this.lowLowLimit) {
236
+ this.lowLowLimit.on("value_changed", _updateState);
237
+ }
238
+ }
239
+ evaluateConditionsAfterEnabled() {
240
+ (0, node_opcua_assert_1.assert)(this.getEnabledState() === true);
241
+ // simulate input value event
242
+ const input = this.getInputNodeNode();
243
+ if (!input) {
244
+ return;
245
+ }
246
+ const dataValue = input.readValue();
247
+ this._onInputDataValueChange(dataValue);
248
+ }
249
+ }
250
+ exports.UALimitAlarmImpl = UALimitAlarmImpl;
251
+ //# sourceMappingURL=ua_limit_alarm_impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_limit_alarm_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_limit_alarm_impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @module node-opcua-address-space.AlarmsAndConditions
3
+ */
4
+ import { DataValue } from "node-opcua-data-value";
5
+ import { NodeId } from "node-opcua-nodeid";
6
+ import { DataType, VariantOptions } from "node-opcua-variant";
7
+ import { UAVariableT } from "node-opcua-address-space-base";
8
+ import { NamespacePrivate } from "../namespace_private";
9
+ import { AddressSpace } from "../address_space";
10
+ import { InstantiateLimitAlarmOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options";
11
+ import { UANonExclusiveDeviationAlarmEx } from "../../source/interfaces/alarms_and_conditions/ua_non_exclusive_deviation_alarm_ex";
12
+ import { UANonExclusiveLimitAlarmImpl } from "./ua_non_exclusive_limit_alarm_impl";
13
+ export declare interface UANonExclusiveDeviationAlarmImpl extends UANonExclusiveLimitAlarmImpl, UANonExclusiveDeviationAlarmEx {
14
+ on(eventName: string, eventHandler: any): this;
15
+ get addressSpace(): AddressSpace;
16
+ }
17
+ export declare class UANonExclusiveDeviationAlarmImpl extends UANonExclusiveLimitAlarmImpl implements UANonExclusiveDeviationAlarmEx {
18
+ static instantiate(namespace: NamespacePrivate, type: string | NodeId, options: InstantiateLimitAlarmOptions, data?: Record<string, VariantOptions>): UANonExclusiveDeviationAlarmImpl;
19
+ _setStateBasedOnInputValue(value: number): void;
20
+ getSetpointNodeNode(): UAVariableT<number, DataType.Double> | UAVariableT<number, DataType.Float> | undefined;
21
+ getSetpointValue(): number | null;
22
+ _onSetpointDataValueChange(dataValue: DataValue): void;
23
+ _install_setpoint(options: any): any;
24
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /**
3
+ * @module node-opcua-address-space.AlarmsAndConditions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UANonExclusiveDeviationAlarmImpl = void 0;
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const deviation_alarm_helper_1 = require("./deviation_alarm_helper");
9
+ const ua_limit_alarm_impl_1 = require("./ua_limit_alarm_impl");
10
+ const ua_non_exclusive_limit_alarm_impl_1 = require("./ua_non_exclusive_limit_alarm_impl");
11
+ class UANonExclusiveDeviationAlarmImpl extends ua_non_exclusive_limit_alarm_impl_1.UANonExclusiveLimitAlarmImpl {
12
+ static instantiate(namespace, type, options, data) {
13
+ const addressSpace = namespace.addressSpace;
14
+ const nonExclusiveDeviationAlarmType = addressSpace.findEventType("NonExclusiveDeviationAlarmType");
15
+ /* istanbul ignore next */
16
+ if (!nonExclusiveDeviationAlarmType) {
17
+ throw new Error("cannot find ExclusiveDeviationAlarmType");
18
+ }
19
+ (0, node_opcua_assert_1.assert)(type === nonExclusiveDeviationAlarmType.browseName.toString());
20
+ const alarm = ua_non_exclusive_limit_alarm_impl_1.UANonExclusiveLimitAlarmImpl.instantiate(namespace, type, options, data);
21
+ Object.setPrototypeOf(alarm, UANonExclusiveDeviationAlarmImpl.prototype);
22
+ (0, node_opcua_assert_1.assert)(alarm instanceof UANonExclusiveDeviationAlarmImpl);
23
+ (0, node_opcua_assert_1.assert)(alarm instanceof ua_non_exclusive_limit_alarm_impl_1.UANonExclusiveLimitAlarmImpl);
24
+ (0, node_opcua_assert_1.assert)(alarm instanceof ua_limit_alarm_impl_1.UALimitAlarmImpl);
25
+ alarm._install_setpoint(options);
26
+ return alarm;
27
+ }
28
+ _setStateBasedOnInputValue(value) {
29
+ const setpointValue = this.getSetpointValue();
30
+ if (setpointValue === null) {
31
+ throw new Error("Cannot access setpoint Value");
32
+ }
33
+ (0, node_opcua_assert_1.assert)(isFinite(setpointValue), "expecting a valid setpoint value");
34
+ // call base class implementation
35
+ super._setStateBasedOnInputValue(value - setpointValue);
36
+ }
37
+ getSetpointNodeNode() {
38
+ return deviation_alarm_helper_1.DeviationAlarmHelper_getSetpointNodeNode.call(this);
39
+ }
40
+ getSetpointValue() {
41
+ return deviation_alarm_helper_1.DeviationAlarmHelper_getSetpointValue.call(this);
42
+ }
43
+ _onSetpointDataValueChange(dataValue) {
44
+ deviation_alarm_helper_1.DeviationAlarmHelper_onSetpointDataValueChange.call(this, dataValue);
45
+ }
46
+ _install_setpoint(options) {
47
+ return deviation_alarm_helper_1.DeviationAlarmHelper_install_setpoint.call(this, options);
48
+ }
49
+ }
50
+ exports.UANonExclusiveDeviationAlarmImpl = UANonExclusiveDeviationAlarmImpl;
51
+ //# sourceMappingURL=ua_non_exclusive_deviation_alarm_impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_non_exclusive_deviation_alarm_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAA2C;AAU3C,qEAKkC;AAClC,+DAAyD;AACzD,2FAAmF;AAQnF,MAAa,gCAAiC,SAAQ,gEAA4B;IACvE,MAAM,CAAC,WAAW,CACrB,SAA2B,EAC3B,IAAqB,EACrB,OAAqC,EACrC,IAAqC;QAErC,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAE5C,MAAM,8BAA8B,GAAG,YAAY,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;QACpG,0BAA0B;QAC1B,IAAI,CAAC,8BAA8B,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QACD,IAAA,0BAAM,EAAC,IAAI,KAAK,8BAA8B,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAG,gEAA4B,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAqC,CAAC;QAC3H,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAEzE,IAAA,0BAAM,EAAC,KAAK,YAAY,gCAAgC,CAAC,CAAC;QAC1D,IAAA,0BAAM,EAAC,KAAK,YAAY,gEAA4B,CAAC,CAAC;QACtD,IAAA,0BAAM,EAAC,KAAK,YAAY,sCAAgB,CAAC,CAAC;QAE1C,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,0BAA0B,CAAC,KAAa;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,aAAa,KAAK,IAAI,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACnD;QACD,IAAA,0BAAM,EAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACpE,iCAAiC;QACjC,KAAK,CAAC,0BAA0B,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC;IAC5D,CAAC;IAEM,mBAAmB;QACtB,OAAO,iEAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAEM,gBAAgB;QACnB,OAAO,8DAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEM,0BAA0B,CAAC,SAAoB;QAClD,uEAA8C,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAEM,iBAAiB,CAAC,OAAY;QACjC,OAAO,8DAAqC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACJ;AArDD,4EAqDC"}
@@ -0,0 +1,19 @@
1
+ import { NodeId } from "node-opcua-nodeid";
2
+ import { VariantOptions } from "node-opcua-variant";
3
+ import { UAEventType } from "node-opcua-address-space-base";
4
+ import { NamespacePrivate } from "../namespace_private";
5
+ import { UANonExclusiveLimitAlarmEx } from "../../source/interfaces/alarms_and_conditions/ua_non_exclusive_limit_alarm_ex";
6
+ import { ConditionInfo } from "../../source/interfaces/alarms_and_conditions/condition_info_i";
7
+ import { InstantiateLimitAlarmOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_limit_alarm_options";
8
+ import { UALimitAlarmImpl } from "./ua_limit_alarm_impl";
9
+ export declare interface UANonExclusiveLimitAlarmImpl extends UANonExclusiveLimitAlarmEx, UALimitAlarmImpl {
10
+ on(eventName: string, eventHandler: any): this;
11
+ }
12
+ export declare class UANonExclusiveLimitAlarmImpl extends UALimitAlarmImpl implements UANonExclusiveLimitAlarmEx {
13
+ static instantiate(namespace: NamespacePrivate, type: UAEventType | NodeId | string, options: InstantiateLimitAlarmOptions, data?: Record<string, VariantOptions>): UANonExclusiveLimitAlarmImpl;
14
+ _calculateConditionInfo(state: string | null, isActive: boolean, value: string, oldConditionInfo: ConditionInfo): ConditionInfo;
15
+ _signalNewCondition2(states: {
16
+ [key: string]: string;
17
+ }, isActive: boolean, value: string): void;
18
+ protected _setStateBasedOnInputValue(value: number): void;
19
+ }
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UANonExclusiveLimitAlarmImpl = void 0;
4
+ /* eslint-disable max-statements */
5
+ /**
6
+ * @module node-opcua-address-space.AlarmsAndConditions
7
+ */
8
+ const node_opcua_assert_1 = require("node-opcua-assert");
9
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
10
+ const ua_two_state_variable_1 = require("../state_machine/ua_two_state_variable");
11
+ const condition_info_impl_1 = require("./condition_info_impl");
12
+ const ua_limit_alarm_impl_1 = require("./ua_limit_alarm_impl");
13
+ class UANonExclusiveLimitAlarmImpl extends ua_limit_alarm_impl_1.UALimitAlarmImpl {
14
+ static instantiate(namespace, type, options, data) {
15
+ const addressSpace = namespace.addressSpace;
16
+ options.optionals = options.optionals || [];
17
+ if (Object.prototype.hasOwnProperty.call(options, "lowLowLimit")) {
18
+ options.optionals.push("LowLowLimit");
19
+ options.optionals.push("LowLowState");
20
+ }
21
+ if (Object.prototype.hasOwnProperty.call(options, "lowLimit")) {
22
+ options.optionals.push("LowLimit");
23
+ options.optionals.push("LowState");
24
+ }
25
+ if (Object.prototype.hasOwnProperty.call(options, "highLimit")) {
26
+ options.optionals.push("HighLimit");
27
+ options.optionals.push("HighState");
28
+ }
29
+ if (Object.prototype.hasOwnProperty.call(options, "highHighLimit")) {
30
+ options.optionals.push("HighHighLimit");
31
+ options.optionals.push("HighHighState");
32
+ }
33
+ const nonExclusiveAlarmType = addressSpace.findEventType(type);
34
+ /* istanbul ignore next */
35
+ if (!nonExclusiveAlarmType) {
36
+ throw new Error(" cannot find Alarm Condition Type for " + type);
37
+ }
38
+ const nonExclusiveLimitAlarmType = addressSpace.findEventType("NonExclusiveLimitAlarmType");
39
+ /* istanbul ignore next */
40
+ if (!nonExclusiveLimitAlarmType) {
41
+ throw new Error("cannot find NonExclusiveLimitAlarmType");
42
+ }
43
+ // assert(type nonExclusiveLimitAlarmType.browseName.toString());
44
+ const alarm = ua_limit_alarm_impl_1.UALimitAlarmImpl.instantiate(namespace, type, options, data);
45
+ Object.setPrototypeOf(alarm, UANonExclusiveLimitAlarmImpl.prototype);
46
+ (0, node_opcua_assert_1.assert)(alarm instanceof ua_limit_alarm_impl_1.UALimitAlarmImpl);
47
+ (0, node_opcua_assert_1.assert)(alarm instanceof UANonExclusiveLimitAlarmImpl);
48
+ // ---------------- install States
49
+ if (alarm.lowLowState) {
50
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.lowLowState, {
51
+ falseState: "LowLow inactive",
52
+ trueState: "LowLow active"
53
+ });
54
+ alarm.lowLowState.setValue(false);
55
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "lowLowLimit"));
56
+ }
57
+ if (alarm.lowState) {
58
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.lowState, {
59
+ falseState: "Low inactive",
60
+ trueState: "Low active"
61
+ });
62
+ alarm.lowState.setValue(false);
63
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "lowLimit"));
64
+ }
65
+ if (alarm.highState) {
66
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.highState, {
67
+ falseState: "High inactive",
68
+ trueState: "High active"
69
+ });
70
+ alarm.highState.setValue(false);
71
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "highLimit"));
72
+ }
73
+ if (alarm.highHighState) {
74
+ (0, ua_two_state_variable_1._install_TwoStateVariable_machinery)(alarm.highHighState, {
75
+ falseState: "HighHigh inactive",
76
+ trueState: "HighHigh active"
77
+ });
78
+ alarm.highHighState.setValue(false);
79
+ (0, node_opcua_assert_1.assert)(Object.prototype.hasOwnProperty.call(alarm, "highHighLimit"));
80
+ }
81
+ alarm.activeState.setValue(false);
82
+ alarm.updateState();
83
+ return alarm;
84
+ }
85
+ _calculateConditionInfo(state, isActive, value, oldConditionInfo) {
86
+ if (!isActive) {
87
+ return new condition_info_impl_1.ConditionInfoImpl({
88
+ message: "Back to normal",
89
+ quality: node_opcua_status_code_1.StatusCodes.Good,
90
+ retain: true,
91
+ severity: 0
92
+ });
93
+ }
94
+ else {
95
+ return new condition_info_impl_1.ConditionInfoImpl({
96
+ message: "Condition is " + value + " and state is " + state,
97
+ quality: node_opcua_status_code_1.StatusCodes.Good,
98
+ retain: true,
99
+ severity: 150
100
+ });
101
+ }
102
+ }
103
+ _signalNewCondition2(states, isActive, value) {
104
+ const alarm = this;
105
+ if (typeof states === "string") {
106
+ return;
107
+ }
108
+ function _install(name) {
109
+ if (states[name] !== "unset") {
110
+ alarm[name + "State"].setValue(states[name]);
111
+ }
112
+ }
113
+ _install("highHigh");
114
+ _install("high");
115
+ _install("low");
116
+ _install("lowLow");
117
+ // build-up state string
118
+ let state_str = Object.keys(states)
119
+ .map((s) => (states[s] ? s : null))
120
+ .filter((a) => a !== null)
121
+ .join(";"); //
122
+ state_str = JSON.stringify(states);
123
+ ua_limit_alarm_impl_1.UALimitAlarmImpl.prototype._signalNewCondition.call(this, state_str, isActive, value);
124
+ }
125
+ _setStateBasedOnInputValue(value) {
126
+ (0, node_opcua_assert_1.assert)(isFinite(value), "expecting a valid value here");
127
+ let isActive = false;
128
+ const states = {
129
+ highHigh: this.highHighState ? this.highHighState.getValue() : "unset",
130
+ high: this.highState ? this.highState.getValue() : "unset",
131
+ low: this.lowState ? this.lowState.getValue() : "unset",
132
+ lowLow: this.lowLowState ? this.lowLowState.getValue() : "unset"
133
+ };
134
+ let count = 0;
135
+ function ___p(stateName, func_value) {
136
+ if (states[stateName] !== "unset") {
137
+ const val = func_value();
138
+ isActive = isActive || val;
139
+ if (states[stateName] !== val) {
140
+ states[stateName] = val;
141
+ count += 1;
142
+ }
143
+ }
144
+ }
145
+ ___p("highHigh", () => {
146
+ return this.getHighHighLimit() < value;
147
+ });
148
+ ___p("high", () => {
149
+ return this.getHighLimit() < value;
150
+ });
151
+ ___p("low", () => {
152
+ return this.getLowLimit() > value;
153
+ });
154
+ ___p("lowLow", () => {
155
+ return this.getLowLowLimit() > value;
156
+ });
157
+ if (count > 0) {
158
+ this._signalNewCondition2(states, isActive, value.toFixed(3));
159
+ }
160
+ }
161
+ }
162
+ exports.UANonExclusiveLimitAlarmImpl = UANonExclusiveLimitAlarmImpl;
163
+ //# sourceMappingURL=ua_non_exclusive_limit_alarm_impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ua_non_exclusive_limit_alarm_impl.js","sourceRoot":"","sources":["../../../src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @module node-opcua-address-space.AlarmsAndConditions
3
+ */
4
+ import { INamespace, UAVariableT } from "node-opcua-address-space-base";
5
+ import { DataValue } from "node-opcua-data-value";
6
+ import { NodeId, NodeIdLike } from "node-opcua-nodeid";
7
+ import { UAOffNormalAlarm_Base } from "node-opcua-nodeset-ua";
8
+ import { DataType, VariantOptions } from "node-opcua-variant";
9
+ import { InstantiateOffNormalAlarmOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options";
10
+ import { UADiscreteAlarmEx } from "../../source/interfaces/alarms_and_conditions/ua_discrete_alarm_ex";
11
+ import { UADiscreteAlarmImpl } from "./ua_discrete_alarm_impl";
12
+ export declare interface UAOffNormalAlarmEx extends Omit<UAOffNormalAlarm_Base, "ackedState" | "activeState" | "confirmedState" | "enabledState" | "latchedState" | "outOfServiceState" | "shelvingState" | "silenceState" | "suppressedState">, UADiscreteAlarmEx {
13
+ getNormalStateNode(): UAVariableT<NodeId, DataType.NodeId> | null;
14
+ getNormalStateValue(): NodeId | null;
15
+ setNormalStateValue(value: NodeIdLike): void;
16
+ }
17
+ export declare interface UAOffNormalAlarmImpl extends UAOffNormalAlarmEx, UADiscreteAlarmImpl {
18
+ on(eventName: string, eventHandler: any): this;
19
+ }
20
+ /**
21
+ * The OffNormalAlarmType is a specialization of the DiscreteAlarmType intended to represent a
22
+ * discrete Condition that is considered to be not normal.
23
+ * This sub type is usually used to indicate that a discrete value is in an Alarm state, it is active as
24
+ * long as a non-normal value is present.
25
+ */
26
+ export declare class UAOffNormalAlarmImpl extends UADiscreteAlarmImpl implements UAOffNormalAlarmEx {
27
+ /**
28
+ * When the value of inputNode doesn't match the normalState node value, then the alarm is raised.
29
+ *
30
+ */
31
+ static instantiate<T, DT extends DataType>(namespace: INamespace, limitAlarmTypeId: string | NodeId, options: InstantiateOffNormalAlarmOptions, data?: Record<string, VariantOptions>): UAOffNormalAlarmImpl;
32
+ getNormalStateNode(): UAVariableT<NodeId, DataType.NodeId> | null;
33
+ /**
34
+ * @method getNormalStateValue
35
+ */
36
+ getNormalStateValue(): NodeId | null;
37
+ /**
38
+ * @method setNormalStateValue
39
+ * @param value
40
+ */
41
+ setNormalStateValue(value: NodeIdLike): void;
42
+ updateAlarmState(isActive: boolean, message: string): void;
43
+ private _mayBe_updateAlarmState;
44
+ protected _onInputDataValueChange(dataValue: DataValue): void;
45
+ protected _onNormalStateDataValueChange(dataValue: DataValue): void;
46
+ }