English     Dutch     French     German     Spanish

STANDARD: Metadata (general)

Last modified by Wim Verheirstraeten on 2023/10/06 18:41

Metadata parent-child relationships

The device relationships are organized hierarchically and can be viewed as a graph (in many cases a tree). Every node of the graph belongs to a certain level.

The metadata belonging to a device always contains a "nodeId", which is used as an identifier to retrieve the information from that node. To express relationships, the metadata should also contain:

  • "nodeParentsIds": link a node to one or more nodes on a higher level. In a more general graph structure, these are incoming nodes.
  • "nodeChildrenIds": link a node to one or more nodes on a lower level. In a more general graph structure, these are outgoing nodes.
  • "nodeInfluxSeries": describes which data in InfluxDB belongs to this device.

For example, for a solar inverter, "nodeParentsIds" would contain the id of the solar installation the inverter belongs to, "nodeChildrenIds" to the ids of the strings connected to the inverter.

In case of an inconsistency, where e.g. a parent node contains a nodeId of a child, but the child node does not contain the nodeId of the parent, the parent node's metadata gets priority.

General Format

{
"nodeId": str,
"nodeInfluxSeries": [{"database": str, "measurement": str, "retentionPolicy": str, "tags": {"tag1":"value1", "tag2":"value2", ...}, "fields": str[]}],
"nodeParentsIds": str[],
"nodeChildrenIds": str[]

"-------------------------"
"Other metadata comes here"
"-------------------------"

}

Example

{
"nodeId": "SolarInverter00001",
"nodeInfluxSeries": [{"database": "eniris", "retentionPolicy": "rp_one_m", "measurement": "solarMetrics", "tags": {"gatewayMAC":"0030f9112b54", "serialNo":"A713O3084"}, "fields": ["actualPowerTot_W", "voltageL1N_V", "currentL1_A"]}],
"nodeParentsIds": ["SolarPlant00001"],
"nodeChildrenIds": ["SolarString00001", "SolarString00002"],

"deviceManufacturer": "MasterVolt",
"deviceSeries": "Platinum",
"deviceModel": "7200 TL"
}

NodeTypes

The different nodeTypes are described here:

  • electricityConsumer
  • solarInverter
  • solarInstallation
  • solarPlant
  • pyranometer
  • battery
  • heatPump
  • car
  • EVCharger
    

Applications

(c) Eniris, 2024