NEWS
InfluxDB schreiben nur Änderungen
-
Wie wird das Signal generiert? Ich erfasse die Leistungsaufnahme meines Ölbrenners. Aus diesem Wert erstelle ich zwei Zustände. Leistung größer xx= Brenner Ein. Leistung kleiner xx = Brenner aus. Damit schalte ich einen GPIO zur Brennerfreigabe, um eine Pausenzeit zu erzeugen. Das GPIO Signal (false/true) wird mit einem Alias in 0/1 gewandelt. Dieser Zustand soll in einer Datenbank gespeichert werden und in Grafana in einer Kurve der Temperatur des Wärmeerzeugers dargestellt werden.
@Laser Bitte!
Glaubst du wirklich, da könnten potentielle Helfende wirklich etwas mit anfangen?Wenn ich nicht die letzten Tage alles von dir gelesen hätte, und versucht hätte das nachträglich sinnvoll zu strukturieren, sähe das für mich nicht anders aus.
Ich bin mir allerdings noch lange nicht sicher ob ich alles relevante weiss.Z.B.
@Laser sagte in InfluxDB schreiben nur Änderungen:
Ich erfasse die Leistungsaufnahme meines Ölbrenners
- womit?
- wie kommt das Signal in ioBroker?
- welcher Adapter?
- welcher Datenpunkt?
- welcher Typ?
- welcher Wert
und ggf. noch mehr Infos, bitte
und das für jeden Schritt in der Kette, und nicht nur als Nacherzählung, sondern relevantes mit Fakten zeigen!
-
@homoran Dazu muß ich erst mal wissen, welche Dinge wichtig sind.
Leistunsaufnahme wird mit einem Shelly Mini gemessen.
Mit dem Baustein "Shelly" in den IO Broker eingelesen.
Der Datenpunkt:Dieser Leistungswert wird in einem Script ausgewertet und ein Binärer Datenpunkt erzeugt (Hatte ich schon mal dargestelltI)
Damit wird über ein anderes Script ausgewertet, ob das Signal fällt oder steigt.
Das fallende Signal soll in die Datenbank gespeichert werden. Ein GPIO wird angesteuert.
Da dieses aber "boolean" ist, habe ich einen Alias erzeugt, um 0/1 Werte zu erhalten. Der Wechsel auf 0/1 soll in die Datenbank geschrieben werden. Leider funktioniert das mal und mal nicht. Der letzte Zustand ist, daß ich den Haken bei "Nur Änderungen aufzeichnen" herausgenommen habe.
Wenn weitere Informationen fehlen, bitte schreiben. -
Mein Problem ist, wie schreibe ich zuverlässig nur die Änderung des Binärzustandes des Alias 0 und 1 in die Datenbank.
Gerne schreibe ich aber auch, wie die Leistung des Brenners erfasst wird. Auch wenn mir nicht klar ist, wozu man das für die Konfiguration der Datenbank braucht. Das ist sicher nicht das Einzige, was für mich unklar ist. -
Mein Problem ist, wie schreibe ich zuverlässig nur die Änderung des Binärzustandes des Alias 0 und 1 in die Datenbank.
Gerne schreibe ich aber auch, wie die Leistung des Brenners erfasst wird. Auch wenn mir nicht klar ist, wozu man das für die Konfiguration der Datenbank braucht. Das ist sicher nicht das Einzige, was für mich unklar ist.@Laser sagte in InfluxDB schreiben nur Änderungen:
Auch wenn mir nicht klar ist, wozu man das für die Konfiguration der Datenbank braucht.
wie ich vorhin schrieb
sagte in InfluxDB schreiben nur Änderungen:
bin ich mir gar nicht mehr sicher, ob wir jetzt hier richtig sind!
Möglicherweise liegt das Problem ganz woanders in der Kette.
Deswegen
sagte in InfluxDB schreiben nur Änderungen:
Schreibe dir das einfach mal auf. Da kannst und sollst du editieren, ändern ergänzen so viel du willst.
"das" = alle an der Kette beteiligten Vorgänge
-
@homoran
mit dieser Einstellung wurde der Binärzustand schon 2x richtig in die Datenbank geschrieben. Ohne irgendwelche unnötigen Zustände zu schreiben. Es wurden nur die Änderungen protokolliert. Mit dieser Einstellung:
Ein ein vollstaändiger Zyklus dauert immer etwa 30 Minuten. Ich beobachte weiter.
-
@homoran
mit dieser Einstellung wurde der Binärzustand schon 2x richtig in die Datenbank geschrieben. Ohne irgendwelche unnötigen Zustände zu schreiben. Es wurden nur die Änderungen protokolliert. Mit dieser Einstellung:
Ein ein vollstaändiger Zyklus dauert immer etwa 30 Minuten. Ich beobachte weiter.
@Laser sagte in InfluxDB schreiben nur Änderungen:
mit dieser Einstellung wurde der Binärzustand schon 2x richtig in die Datenbank geschrieben
ohne weitere Infos nutzt mir der Screenshot gar nichts.
- Was ist das für ein Datenpunkt
- wann wird der geschrieben?
- von wem?
- mit welchen Werten?
- wie werden diese generiert?
- sind die ggf. immer nur "geändert" wenn geschrieben wird?
.....
- sind die ggf. immer nur "geändert" wenn geschrieben wird?
-
Der Datenpunkt:
Der Datenpunkt wird in einem Script beschrieben.
setState('rpi2.0.gpio.23.state'/*Gpio 23*/,false) ; //true = Freigabe Brenner
Aus diesem Datenpunkt wird ein Alias abgeleitet.
Dessen Zustand soll protokolliert werden.
-
Ohne den Haken bei "Nur Änderungen aufzeichnen" in der Datenpunktkonfiguration für infuxDB hat es jetzt 3x richtig geschrieben.
Funktioniert bei Binärdaten diese Zusatzfunktion nicht richtig? Ist Sie evtl. überflüssig? Ist die Auswertung fehlerhaft?
Achtung geändert: Bei analogen Komma- Zahlenwerten funktioniert es ja. -
Mit dieser Zeile

veränderst du potentiell die Daten. Lösch' die mal.
-
@homoran 9 mal funktionierte das Schreiben in die Datenbank. Jetzt ein Aussetzer. Der nächste Zustandswechsel wurde wieder geschrieben.
@Laser
Bist du dir sicher, dass der Wert nicht in die DB geschrieben wird?Wahrscheinlicher ist, dass es vor der DB hapert (Wert wird vom Skript nicht korrekt geschreiben) oder danach (evtl. agregate Window in Grafana)
Wenn du im Iobroker die Werte bei Influx Verlaufsdaten anschaust: fehlt er dort auch?

-
Die InfluxDB hat ja eine grafische Oberfläche. Dort kann ich sehen, wenn Werte fehlen. Daß der Wert sich ändert, sehe ich ja an der Steuerung. In der Verlaufskurve der Temperatur. Siehe #13.
Grafana werde ich mir morgen nochmal genauer vornehmen. Da es bisher immer so lief, habe ich das nicht mehr angefasst.
Es dauert auch immer eine halbe Stunde, bis der Wert sich ändert. -
Hatte ich auch schon Alles draußen. Es wird noch ein Fehler im InfluxDB Adapter sein. Speziell bei der Funktion "Nur Änderungen" . Möglicherweise werden Binärzustände nicht so oft gespeichert, so daß das noch nicht aufgefallen ist? Vor Jahren hat das schon mal Jemand bemängelt.
-
@Laser sagte in InfluxDB schreiben nur Änderungen:
Ja, in der Tabellenform fehlt er auch.
Zeig mal bitte, wie sich das in der (ioBroker) Tabelle darstellt.
-
@marc-berg so sieht es aus (genau so aber hier ist es mir nicht gelungen, zur richtigen Zeit zu springen. Aber gestern konnte ich es sehen.)

Bild Link)