Generic IoT Datenmodell
Das BSC IoT Core Datenmodell nutzt einen generischen Ansatz um die Datenbeschreibung einzelner Kanäle von der Modellspezifikation zu entkoppeln.
Dafür sind "primitive" Datentypen definiert, welche zusammen mit weiteren Informationen die eigentliche Datenbeschreibung liefern.
Die Repräsentation eines Gerätes.
Feld | Beschreibung |
id | Die eindeutige ThingID um das Gerät in unserem System zu identifizieren. |
name | Der vom Nutzer vergebene Name des Gerätes. |
channelGroups | Ein Array von Channel Groups. |
parameterGroups | Ein Array von Channel Groups welches für Konfigurations Parameter vorgesehen ist. |
state | Der aktuelle Zustand des Gerätes. Mögliche Zustände:
|
metaInfos | Angehängte Meta Informationen als Map Objekt. |
Eine Gruppe von Channels, hauptsächlich dazu genutzt um Channels logisch zu gruppieren.
Feld | Beschreibung |
channelGroupId | Auf dieses Gerät bezogen eindeutige ChannelGroupID. |
channelDescriptionData | Die Beschreibungsdaten für diese Kanal Gruppe. |
channels | Ein Array von Channels. |
Repräsentation der Eigenschaft eines Gerätes. Das kann z.B. ein Temperatursensor sein.
Ein Gerät kann mehrere Channels besitzen. Z.B. Temperatur und Batteriespannung etc.
Feld | Beschreibung |
channelId | Auf dieses Gerät bezogene eindeutige ChannelID. |
channelDescriptionData | Die Datenbeschreibung des Kanals. |
value | Der aktuelle Wert des Kanals. |
valueDescriptionData | Die Datenbeschreibung des Im Kanal verwendeten Wertes. |
writeable | Gibt an ob der Wert des Kanals verändert werden kann. |
metaInfos | Optionale Meta Informationen. |
Eine Kanalbeschreibungen dienen dazu Typ Informationen eines Kanals zu definieren. Dies wird hauptsächlich genutzt um innerhalb von UIs die visuelle Darstellung zu beeinflussen.
Feld | Beschreibung |
channelTypeEnum | Type Information. Mögliche Werte:
|
label | Anzeigename |
Die Wertebeschreibung stellt konkrete Typ Informationen bereit und bietet ggf. eine Auswahl an möglichen Werten.
Die Auswertung des Feld "value" eines Channels hängt von der gesetzen Beschreibung ab. Z.B. werden Farbwerte in einem String kodiert und in das Feld value geschrieben. Die korrekte Interpretation ist dann nur durch Auswertung des Types möglich.
Feld | Beschreibung |
valueType | Type Information. Mögliche Werte:
|
possibleValues | Optional die möglichen Werte. Wird hauptsächlich genutzt um mögliche STATES anzugeben. Enthält eine Map mit den möglichen States sowie deren vorgesehene Übersetzung. |
unit | Falls vorhanden, die Einheit des Wertes. |
min | Minimum Wert. |
max | Maximum Wert. |
stepping | Schritte um welche Werte geändert werden können. |
decimalPartDigits | Kommastellen. |
Meta Informationen werden als Key(String)→Value(String) Paar übertragen.
Diese können sowohl an Things als auch an Channels angehängt werden.