_analytics
Messages for our analytics feature
4 minute read
The umh/v1
at the beginning is obligatory. It ensures that the structure can evolve over time without causing confusion or compatibility issues.
All part of this structure, except for enterprise
and _schema
are optional.
They can consist of any letters (a-z
, A-Z
), numbers (0-9
) and therein symbols (-
& _
).
Be careful to avoid .
, +
, #
or /
as these are special symbols in Kafka or MQTT.
Ensure that your topic always begins with umh/v1
, otherwise our system will ignore your messages.
Be aware that our topics are case-sensitive, therefore umh.v1.ACMEIncorperated
is not the same as umh.v1.acmeincorperated
.
Throughout this documentation we will use the MQTT syntax for topics (umh/v1
), the corresponding Kafka topic names are the same but /
replaced with .
This part identifies where the data is coming from.
Good options include the senders MAC address, hostname, container id.
Examples for originID: 00-80-41-ae-fd-7e
, E588974
, e5f484a1791d
Messages tagged with _historian
will be stored in our database and are available via Grafana.
Messages tagged with _analytics
will be processed by our analytics pipeline.
They are used for automatic calculation of KPI’s and other statistics.
This key might contain any data, that you do not want to bridge to other nodes (it will however be MQTT-Kafka bridged on its node).
For example this could be data you want to pre-process on your local node, and then put into another _schema
.
This data must not necessarily be JSON.
Any other schema, which starts with an underscore (for example: _images
), will be forwarded by both MQTT-Kafka & Kafka-Kafka bridges but never processed or stored.
This data must not necessarily be JSON.
Most data models already follow a location based naming structure.
KKS (Kraftwerk-Kennzeichensystem) is a standardized system for identifying and classifying equipment and systems in power plants, particularly in German-speaking countries.
In a flow diagram, the designation is: 1 2LAC03 CT002 QT12
Level 0 Classification:
Block 1 of a power plant site is designated as 1 in this level.
Level 1 Classification:
The designation for the 3rd feedwater pump in the 2nd steam-water circuit is 2LAC03. This means:
Main group 2L: 2nd steam, water, gas circuit Subgroup (2L)A: Feedwater system Subgroup (2LA)C: Feedwater pump system Counter (2LAC)03: third feedwater pump system
Level 2 Classification:
For the 2nd temperature measurement, the designation CT002 is used. This means:
Main group C: Direct measurement Subgroup (C)T: Temperature measurement Counter (CT)002: second temperature measurement
Level 3 Classification:
For the 12th immersion sleeve as a sensor protection, the designation QT12 is used. This means:
The above example refers to the 12th immersion sleeve at the 2nd temperature measurement of the 3rd feed pump in block 1 of a power plant site.
Translating this in our data model could result in:
umh/v1/nuclearCo/1/2LAC03/CT002/QT12/_schema
Where:
site
, corresponding to Block 1 of the power plant as per the KKS number.area
, representing the 3rd feedwater pump in the 2nd steam-water circuit.productionLine
, indicating the 2nd temperature measurement in this context.workCell
or originID
, denoting the 12th immersion sleeve.