NEWS
Neuer Datenpunkt in Baum automatisch in Datenbank schreiben
-
Hallo.
ich habe einen LoRaWAN-Sensor, der über Chirpstack -> MQTT -> IOBROKER schreibt.
Dieser Sensor hat einige Datenpunkte, die ich in die Datenbank speichere (Timeseries)Der Sensor ist im Objektbaum unter dem Topic zu finden:
/server/application/123/device/[dev-EUI]/event/up/[json]Das funktioniert ohne Probleme. Ich möchte, wenn ich einen neuen Sensor dieses Typs hinzufüge und der über MQTT erscheint, dass auch für diesen neuen Sensor automatisch genau die gleichen Werte in der DB erscheinen, die ich oben für den ersten Sensor dieses Typs speichere. Ich habe vor einige hundert Sensoren dieses Typs hinzuzufügen und da wäre es sehr lästig die Konfiguration von Hand zu machen. Natürlich hat jeder Sensor die genau gleichen Datenfelder im JSON und unterscheidet sich nur durch die [dev-EUI]
Geht das?Außerdem möchte Daten über Script verarbeiten, aber nicht Zeit- sondern Ereignisbasiert: Immer wenn ein Sensor eines Typs per MQTT aktualiesiert wird, soll das Script mit den Daten dieses Sensors aufgerufen werden.
Geht das? -
@sven-schumacher das ganze ist noch etwas konfus
@sven-schumacher sagte in Neuer Datenpunkt in Baum automatisch in Datenbank schreiben:
automatisch genau die gleichen Werte in der DB erscheinen,
meinst du wirklich Werte oder Datenpunkte?
wäre das nicht eher ein Thema für den Logik Adapter deiner Wahl?
wenn ich dich richtig verstehe willst du das unbekannte JSON zerlegen.
bei einem neuen identischen Sensor genauso.Wie machst du es jetzt?
Wäre es sooo umständlich, in dem unbekannten Skript nur die ID oder wasauchimmer auszutauschen?
und mit der Kopie writerzuarbeiten? -
@sven-schumacher sagte: Geht das?
Prinzip mit RegExp-Trigger und Array of IDs.
EDIT: Wie sieht das JSON aus? Welche Werte sollen wo gespeichert werden?
-
@homoran Sorry etwas ungenau, meine Anfrage.
Es geht darum, dass ich möglichst keine Handarbeit verrichten will, wenn neue Sensoren dazu kommen.
Der neue Sensor soll automatisch verarbeitet werden: Das JSON soll in aufgelöst werden und stattdessen sollen z.B. Temperatur und Luftfeuchte als Wert im Objektbaum erscheinen. Diese Werte sollen dann auch bei jeder Änderung in die DB geschrieben werden.
Außerdem soll - wenn bei einem beliebigen Sensor - mit dem gleichen Schema - ein script die Werte noch verarbeiten und ggf. Aktionen auslösen. Warnmeldungen absenden oder aktoren.
Ich habe jetzt 50 Gateways & ca. 3000 Sensoren im Netz und es sollen in den nächsten Jahren noch einige 1000 dazu kommen. Also das Abrechnungssystem bleibt bestehen. IOBROKER soll nur dazu kommen.
Wir nutzen bisher nur wenige Daten für eine Abrechnung und der IO-Broker soll die bisher ungenutzten Daten für Dashboards und Auswertungen aufbereiten.
-
@sven-schumacher sagte in Neuer Datenpunkt in Baum automatisch in Datenbank schreiben:
Es geht darum, dass ich möglichst keine Handarbeit verrichten will, wenn neue Sensoren dazu kommen.
Du kannst alles mögliche machen. Also automatisch Datenpunkte, Aliase usw. anlegen. Außerdem könntest Du auch mit sendTo das Logging automatisch aktivieren. Ohne ein konkretes Beispiel kann aber kaum jemand mehr als "ja, geht" antworten.
-
ich werde versuchen, das umfassender zu beschreiben, damit es konkreter wird. Schaffe ich aber erst nächste Woche.
Danke schon mal.
-
@sven-schumacher
Der LoraWan Adapter wäre doch schon mal der erste mögliche Schritt bei deinem Vorhaben?
Damit würden zumindest schon mal alle Daten in Datenpunkte geschrieben werden. Weiß nicht, ob ich dein Ziel, welches du erreichen möchtest, richtig verstanden habe, aber falls ja, dann habe ich ähnliches vor. In meinem Fall landen gleiche Sensordaten in unterschiedlichen Instanzen, möchte sie aber zwecks sicherem loggen in einem DP „konsolidieren“. So weit ich weiß, lässt keine der jetzigen Alias-Lösungen mehr als eine Quelle zu.