Querying data
Basics
EVA ICS data source can call any HMI service API method and output the result with Grafana panels.
The method and its parameters must be specified with queries, which have the following syntax:
method name=value name=value2 name=value3
the parameter “i” can be specified as the first one, with no name required. To specify an array, separate values with comma. Map parameter values can be specified as map.key=value.
Example queries
Current item state
The current item state can be obtained with “s” method (alias for “item.state”):
s sensor:tests/temp
The query can contain multiple OIDs or masks:
s sensor:tests/#,unit:tests/#
State history
Historical item states can be obtained with “h” method (alias for “item.state_history”):
h sensor:tests/temp fill=100A prop=value
It is recommended to specify the “fill” parameter with “A” instead of a time frame to calculate number of dots automatically.
The parameters “t_start” and “t_end” are set by Grafana plugin according to the chosen dashboard/query range.
System monitoring
Get the current node core state:
test
Get HMI API log (calls listed below require admin permissions):
api_log.get t_start=${from} t_end=${to}
Get all connected nodes using EAPI bus call:
bus::eva.core::node.list
Get advanced replication stats from a replication service instance (v4 nodes only):
bus::eva.repl.default::node.list
Get list of active HMI sessions
bus::eva.hmi.default::session.list
Advanced
Calling methods on remote nodes
For managed remote nodes in cluster, EAPI methods can be called to combine data from different nodes on a single dashboard or to obtain data from EVA ICS nodes with no direct HMI connection.
E.g. let us obtain system information from the node mynode2:
bus::eva.repl.default::bus::eva.core::core.sysinfo node=mynode2