STANDARD: Metadata (general)
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