NEWS
Tagesverbrauch Wasser
-
Hallo an Alle,
Brauche mal wieder eure Hilfe.
Bin bei Grafana noch nicht so der Profi.Ich werte meinen Wasserzähler per AI-on-the-edge aus das klappt super.
Mein vorhaben die Tagesverbräuche als Balkengrafik Anzeigen lassen.
Kann man das direkt über Grafana realiesieren oder müsste ich mir da ein Blockly bauen was mir immer zu einer bestimmten Zeit z.b 23:59 Uhr den Wert des Tages in die Datenbank schreibt.
Das wäre aber dann meine nächste frage wie schreibe ich diesen Wert dann in die Datenbank habe ich bis jetzt noch nicht gemacht.
Und es wäre dann auch klasse 7 Tage zu vergleichen.Vielleicht gibt es so was Ahnliches ja hier schon im Forum und ich habe es nur noch nicht gefunden.
Danke euch trozdem schon mal fürs lesen.Gruß Frank
-
@fk757 Wenn Du dich mit dem direkten Schreiben von einem Blockly in die influx DB nicht auskennst, kannst Du ja einen Userdata Datenpunkt anlegen, in den das Blockly den Tageswert schreibt, und den Userdata-Datenpunkt wiederum mit dem influx-Adapter in die Datenbank schreiben ...
-
Kenne mich mit Blockly nicht aus, falls du aber eine Hilfe für NodeRed suchst, dann wäre das einfach zu bewerkstelligen:
Das macht genau das, was du beschrieben hast, der Flow wird um 0:01 ausgeführt und schreibt den aktuellen Wert der Wasseruhr in einen neuen State, anschließend dann
Den Tageswert berechnen, du kannst das ganze auch mit Data Context machen, aber so sind die Daten auch bei einem Neustart definitiv noch vorhanden
-
@taddy81 sagte in Tagesverbrauch Wasser:
der Flow wird um 0:01 ausgeführt
Wobei alles was Tageswerte in eine DB schreibt das besser um 23:59 Uhr machen sollte, damit der Zeitstempel auch zum jeweiligen Tag passt.
@FK757
Ich mache das mit Blockly und 3 eigenen DP in0_userdata.0
.
In einem wird der aktuelle Tagesverbrauch bei jeder Wertänderung hochgezählt, um ihn in Vis anzeigen zu können.
Ein zweiter DP bekommt am Ende des Tages den Zählerstand (letzter Zählerstand + Tagesverbrauch).
Und in einen dritten DP trage ich am Ende des Tages den Verbrauch ein. Nur dieser DP wird in die DB geschrieben. -
Der Wert Yesterday ist ausschließlich für die Berechnung da, für die Visualisierung benutze ich Today. Verstehe aber was du meinst, aber im Endeffekt hat es keine großen Auswirkungen.
-
@taddy81
Vielen Dank für deinen Hinweis.
Leider habe ich bis jetzt noch nichts mit NodeRed gemacht.
Finde es aber auch sehr Spannend was man damit alles machen kann.
Das ist auf jedenfall das nächste was ich mir mal aneignen will suche aber noch dazu ein Seminar wo man das alles lernen kann wie man damit Arbeitet. -
@codierknecht
Auch dir erstmal vielen Dank für das Beispiel werde es jetzt mal versuche umzusetzten. -
Der Einstieg ist hart, da gebe ich dir recht, ich habe es mit der Zeit gelernt und mich bei Youtube, NodeRed Forum, Internet insgesamt.
Die Idee eines Seminars ist klasse, dass Problem ist aber vermutlich, dass NodeRed so vielseitig ist und jeder wahrscheinlich selbst sein Usecase findet
-
@fk757 sagte in Tagesverbrauch Wasser:
Ich werte meinen Wasserzähler per AI-on-the-edge aus das klappt super.
Mein vorhaben die Tagesverbräuche als Balkengrafik Anzeigen lassen.
Kann man das direkt über Grafana realiesieren oder müsste ich mir da ein Blockly bauenWie erfolgt die Auswertung, hast du auch einen Gesamtzählerstand?
Wenn ja
Grafana macht das für dich, dir die einzelnen Tage aufzulisten -
@crunchip
Die Auswertung erfolgt über Fotos die gemacht werden vom Zähler und das AI-on-the-edge wertet die Zeigerstellungen aus und gibt sie als Zahl dann aus.
Ja ich habe einen Gesamtzählerstand den ich auch in die InfluxDB speichere.
Nur habe ich in Grafana dann nur eine langsam Ansteigene Linie was eigendlich als Auswertung nicht viel sinn macht.
Wie geht das den das ich in Grafana mir Tagesverbrauchsbalken erstellen lassen kann ? -
@codierknecht
So heute Morgen mal nachgeschaut was für Werte geschrieben wurden aber es scheint noch was nicht zu stimmen.
Anscheinend hat wohl genau zu zum Zeitpunkt des Zeitplans die Auswertung einen falschen wert ausgegeben.
Aber es wurde garkein wert in den Tagesverbrauch geschrieben ? das verstehe ich nicht ganz.
Das Blockly habe ich eigendlich wie deins nachgebaut.
Mal schauen was es Morgen für werte liefert. -
@fk757 nutzt du Influx in Version 1.x oder 2.x
Bei Version 2 muss dir jemand anders helfen, gibt aber hier im Forum einige Beispiele für den Code -
Wenn man den Verbrauch schon erfasst, kann man sich doch noch ein paar mehr Statistiken besorgen und Source Analytics verwenden. Dort bekommt man dann auch seinen Wert mit dem Vortragesverbrauch und für Monate, Jahre etc.... .
-
@crunchip sagte in Tagesverbrauch Wasser:
Bei Version 2 muss dir jemand anders helfen, gibt aber hier im Forum einige Beispiele für den Code
@FK757 könnte so z.B. für den Tagesverbrauch mit V2 funktionieren,
bucket
undmeasurement
müssten noch an Deine Daten angepasst werdenWenn die Tageswerte in infuxDB vorliegen sollten
import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") stoppoint = date.truncate(t: now(), unit: 1d) from(bucket: "influxdb") |> range(start: v.timeRangeStart, stop: stoppoint) |> filter(fn: (r) => r["_measurement"] == "kg_pellets_day") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: max, createEmpty: false)
Wenn ein Gesamtzählerstand vorliegt noch folgendes ergänzen
|> difference()
-
@fk757 sagte in Tagesverbrauch Wasser:
Aber es wurde garkein wert in den Tagesverbrauch geschrieben ? das verstehe ich nicht ganz.
Leg den Trigger (und somit auch den
Wert
auf value, nicht auf raw. Dann sollte es funktionieren
PS: Und nimm den Trigger für den Zeitplan nicht in den Trigger für die Änderung. Sondern wie von @Codierknecht gezeigt darunter
-
@crunchip said in Tagesverbrauch Wasser:
Benutze Influx in Version 1.x -
@david-g said in Tagesverbrauch Wasser:
Danke für den Hinweis kenne ich noch nicht werde es mal Ausprobieren. -
@wolfi913
Brauche langsam doch eine Brille
Danke für den Hinweiß -
@fk757 hier mal ein Dashboard zum einfügen in Grafana, deinen Datenpunkt Gesamt musst du entsprechend einfügen.