Verrechnung von mehreren Geräten
Funktionsbeschreibung
Diese Funktion ermöglicht regelmäßiges, automatisches, einfaches Verrechnen von Werten unterschiedlicher Geräte in Thingsboard. Die Steuerung erfolgt über ein B.One element iot Profil.
B.One element iot Profil
Um die automatischen Beziehungen zu aktivieren muss folgendes Profil eingerichtet werden. Dabei sind die Bedingungen unter Voraussetzungen zu beachten.
Profilname: thingsboard_calc_group
| Name | Typ | Funktion | Anmerkung |
|---|---|---|---|
| source_reading | Zeichenkette | Messwert dieses (Quellgerät) Gerätes, der verrechnet werden soll | |
| target_device | Zeichenkette | Name des Zielgerätes in dem der Messwert gespeichert werden soll | |
| target_reading | Zeichenkette | Name des Messwertes am | |
| operation | Zeichenkette | Gewünschte Rechenoperation. Möglich sind: + - * / o | o = overwrite, neuer Wert überschreibt alten Wert |
| active | Boolean | Schalter zum Aktivieren der Funktion. Auch im Zielgerät nötig |

Das Profil
Benutzung
An jedem Quell-Gerät muss das Profil hinzugefügt werden. Hier muss jeweils das ganze Profil ausgefüllt sein. Wichtig ist, dass das Zielgerät so benannt wird, wie es auch in B.One element apps heißen wird. Das bedeutet in der Regel, dass der B.One element-apps-Slug vorangestellt werden muss.
Das Zielgerät ist in den meisten Fällen kein Gerät mit realem Gegenstück, sondern ein Dummy. Da auch das Zielgerät die Profildaten benötigt, bietet es sich an das Gerät in B.One element iot zu erzeugen. Hierfür kann der Update Parser verwendet werden. In diesem Fall wird dann auch nur der Haken bei active benötigt. Der Rest des Profils kann leer bleiben.
Es ist aber auch möglich als Zielgerät einen anderes reales Gerät zu verwenden. Der Wert kann an diesem Gerät sogar weiter verrechnet werden, in dem wieder das ganze Profil ausgefüllt wird.
Beispiel
Zwei Schranken (Schranke Einfahrt, Schranke Ausfahrt) überwachen den Bestand der freien Parkflächen. Die Namen sind für das Beispiel einfach gehalten worden, bei konkreten Anwendungsfällen sollten eindeutige Namen verwendet werden. Wann immer Schranke Einfahrt eine 1 im Messwert meldet, wird im Zielgerät Parkplatz der Wert freie_parkplätze um 1 verringert. Wann immer Schranke Ausfahrt eine 1 meldet wird im Zielgerät Parkplatz der Wert freie_parkplätze um 1 erhöht. Dafür müssen folgende Profile befüllt werden (das Profil muss bei allen beteiligten Geräten hinterlegt sein):
| Profilfeld | Schranke Einfahrt | Schranke Ausfahrt | Parkplatz |
|---|---|---|---|
| source_reading | detektion | detektion | |
| target_device | Parkplatz | Parkplatz | |
| target_reading | freie_parkplätze | freie_parkplätze | |
| operation | - | + | |
| active | Haken setzen | Haken setzen | Haken setzen |
Auch das Gerät Parkplatz kann als Quellgerät im Anschluss verwendet werden, um bspw. mehrere Parkplätze in einem weiteren Gerät zusammenzuführen (dazu z.B Operation o mit unterschiedlichen target_reading pro Gerät verwenden).
Die Iterationstiefe ist dabei auf 3 begrenzt.