NEWS
Sensordaten berechen - wie?
-
Ich bin noch neu hier. Bis jetzt kann ich schon Messdaten über MQTT empfangen und sie unter VIS oder Flot in einem Diagramm sichtbar machen. Noch ergeben die Messdaten aber keine Sinn, da sie noch in einer einfachen Formel umgerechnet werden müssen bevor sie dargestellt werden sollen.
Wie und wo kann ich die Messdatendaten umrechnen? Müssen Datenformate beachten werden? Unter Objekte-MQTT.0 wird mir nur 'Variable' angezeigt.
Gibt es die Möglichkeit die über MQTT gespeicherten Daten zu löschen?
-
@egon sagte:
Wie und wo kann ich die Messdatendaten umrechnen?
Schau Dir mal den Adapter ioBroker.linkeddevices an.
@egon sagte in Sensordaten berechen - wie?:
Unter Objekte-MQTT.0 wird mir nur 'Variable' angezeigt.
Wie bekommst Du dann die Daten in Vis bzw. Flot ?
-
Wie bekommst Du dann die Daten in Vis bzw. Flot ?
Ich bin mir nicht sicher ob ich das richtig beschreibe.
Ein Ina219 misst den Strom. Ein ESP8266 Modul (mit ESPeasy) schickt die Daten an den iobroker-Mqtt-Server.
Unter Vis oder Flot wähle ich dannIn Flot wähle ich im Feld ID den Sensor in MQTT.0 aus. Unter VIS ist das dann die Objekt-ID.
Helfen dir diese Informationen weiter?
Bei mir geht es um die Darstellung von Messdaten (5 Sekunden/Messwert und einer Darstellung über 2h oder 12 h) - incl. Berechnung.
Ist hierfür Vis oder Flot überhaupt das richtige? -
Ich muss zugeben, dass ich als Anfänger das mit linkeddevices noch nicht so richtig verstehe.
Anscheinend gibt es keine einfachere Möglichkeit Daten aufzubereiten (zu berechnen) bevor sie dargestellt werden - bei mir eine einfache Geradengleichung. Oder habe ich etwas übersehen?
Gibt es vielleicht die Möglichkeit die Messwerte aus der MQTT Datenbank auszulesen, die Rechnung durchzuführen und dann einen neuen Eintrag in die MQTT-Datenbank zu schreiben? Dieser neue Wert könnte dann im Diagramm dargestellt werden.Löst man das vielleicht mit eigenen Scripten? Gibt es hierzu gute Einstiegsanleitungen?
Irgendwie habe ich dasd Gefühl, dass ich den Walt vor lauter Bäumen nicht sehe ;-(
Mich interesiert:
-Messwert mit Geradengleichung bearbeiten
-Differenz des Luftdruck von zwei Luftdrucksensoren -
@egon sagte:
das mit linkeddevices noch nicht so richtig verstehe.
Linkeddevices spiegelt Datenpunkte auf eigene Datenpunkte mit einer selbst gewählten Ordnerstruktur (unter linkeddevices.0). Mit Zahlenwerten können dabei einfache Umrechnungen erfolgen.
@egon sagte in Sensordaten berechen - wie?:
Löst man das vielleicht mit eigenen Scripten?
Das ist natürlich immer möglich, aber aufwändiger. Auch dabei müssen eigene Datenpunkte, die die berechneten Werte enthalten, erstellt werden (unter javascript.0).
-
Wie installiert man deinen Adapter richtig? Welche Adresse muss ich im ioBroker angeben? In ioBroker-Adapter-beliebig
Nehme ich diese? https://github.com/Scrounger/ioBroker.linkeddevices
Muss noch etwas zusätzliches installiert werden? -
@egon sagte:
Wie installiert man deinen Adapter richtig?
Es ist nicht "mein" Adapter. Wenn in den Haupteinstellungen des Hosts als "aktiver Verwahrungsort" latest ausgewählt ist, wird im Reiter "Adapter" die Version 0.4.1 von Linkeddiveces in der Gruppe "Logik" zur Installation angeboten. Einfach mit dem + rechts (Instanz hinzufügen) installieren.
@egon sagte in Sensordaten berechen - wie?:
Muss noch etwas zusätzliches installiert werden?
Nein.
-
Danke, das mit der Installation hat jetzt geklappt. Ist dir ein Tutorial bekannt?
Wie werden die Daten angelegt und wie baut man sich eine vernünftige Datenstruktur auf? Hast du vielleicht ein Beispiel?
Haben diese Daten ein Verfallsdatum oder wird irgendwann der Speicher geflutet?
Die Informationen unter Github habe ich mir durchgelesen, aber nur teilweise verstanden. -
@egon sagte:
Ist dir ein Tutorial bekannt?
Die einzige Doku ist die auf Github, die allerdings schon recht ausführlich ist. Es sind auch Beispiele enthalten.
@egon sagte in Sensordaten berechen - wie?:
Haben diese Daten ein Verfallsdatum oder wird irgendwann der Speicher geflutet?
Nein.
@egon sagte in Sensordaten berechen - wie?:
nur teilweise verstanden.
Was hast Du nicht verstanden ? Für die Klärung konkreter Fragen ist das Forum da.
@egon sagte in Sensordaten berechen - wie?:
wie baut man sich eine vernünftige Datenstruktur auf? Hast du vielleicht ein Beispiel?
Hier ein Beispiel nach dem Schema "Raum.Gewerk.Messgröße" mit Umrechnung von °F nach °C.
-
Zu deinem Beispiel.
Kann ich einfach in dem von dir dargestellten Fenster Aussen.Klima.Temperatur eintippen und so die Struktur anlegen oder muss ich sie in einem anderen Fenster anlegen.
Lautet der Pfad Aussen.Klima.Temperatur.Aussentemperatur? Oder ist "Aussentemperatur" die Abkürzung für "Aussen.Klima.Temperatur.Aussentemperatur"? -
@egon sagte:
in dem von dir dargestellten Fenster
Das ist das Fenster, das erscheint, wenn im Reiter "Objekte", Spalte "Einstellungen" mit dem Schraubenschlüssel ganz rechts eine Verlinkung erzeugt wird.
@egon sagte in Sensordaten berechen - wie?:
Aussen.Klima.Temperatur eintippen
Nein, so wie Du es siehst: Präfix: "Aussen.Klima", ID: "Temperatur", Name: "Aussentemperatur". Erzeugt wird dieser Datenpunkt:
@egon sagte in Sensordaten berechen - wie?:
Lautet der Pfad Aussen.Klima.Temperatur.Aussentemperatur? Oder ist "Aussentemperatur" die Abkürzung für "Aussen.Klima.Temperatur.Aussentemperatur"?
Die Objekt-ID lautet "linkeddevices.0.Aussen.Klima.Temperatur" und der Name ist "Aussentemperatur".
-
Bei mir sieht es jetzt so aus. Irgendwie noch nicht richtig strukturiert. Welcher Teil ist von mir richtig angelegt worden?
Wie kann ich sie jetzt mit den Messdaten aus dem Mqtt-Modul verknüpfen? -
@egon sagte:
Bei mir sieht es jetzt so aus.
Du hast 4 Datenpunkte erzeugt:
- linkeddevices.0. Aussen.Pumpe
- linkeddevices.0. Aussen.Pumpe.Wasserstand
- linkeddevices.0. Aussen.Pumpe.Wasserstand.Variable_A
- linkeddevices.0. Aussen.Pumpe.test_name
Variable_A und test_name löschen !
Ich würde z.B. alle Daten für die Pumpe mit dem Präfix "Aussen.Pumpe" versehen und die Datenpunkte mit den IDs
- Wasserstand
- Leistung
- Strom
- Spannung
Woraus wird der Wasserstand berechnet ?
-
Der Wasserstand berechnet sich mit einer Geradengleichung aus dem Strom. Im Schacht hängt ein Drucksensor der je nach Wasserstand einen entsprechenden Strom einstellt, der mit dem INA219 gemessen wird. Die Umrechnung erfolgt dann mit einen Geradengleichungen
Wasserstand = Variable_A * Strom + Variable_B
Wasssermenge = Wasserstand * Variable_CEvtl. muss ich noch den aktuellen Luftdruck berücksichtigen um die Messgernauigkeit zu erhöhen. Das erfolgt dann aber in einem zweiten Schritt und nur wenn es sich als notwendig herausstellt.
Variable_A und test_name löschen !
Wird erledigt. -
@egon
Sind Variable_A, _B, _C wirklich variable Werte oder sind es Konstanten ? Wenn es variable Werte sind, geht die Umrechnung nur per Javascript. -
Deine Vermutung ist richtig. Das sind Konstanten.
-
@egon sagte:
Das sind Konstanten.
Dann könnte die Verlinkung mit Variable_A = 0,5 und Variable_B = 4 so aussehen:
-
Super.
Jetzt muss nur noch alles mit der dem Messwert verknüpft werden, der in MQTT liegt. Das geht hoffentlich auch ganz einfach? -
@egon sagte:
Jetzt muss nur noch alles mit der dem Messwert verknüpft werden, der in MQTT liegt. Das geht hoffentlich auch ganz einfach?
@paul53 sagte:
Das ist das Fenster, das erscheint, wenn im Reiter "Objekte", Spalte "Einstellungen" mit dem Schraubenschlüssel ganz rechts eine Verlinkung erzeugt wird.
Rechts in der Zeile des Datenpunktes "mqtt.0.ESP_Easy_1.GARTEN_Stromsensor.Current".
-
Bei der Eingabe der Formel für die Berechnung kann ich nur * oder / verwenden. Plus oder Minus wird nicht angenommen.
Kann man irgendwie eine einmal gewählte Formel nachträglich ändern?