NEWS
Einfach mal zeigen will….. :-) - Teil 3
-
@dp20eic das ist mal eine sehr gute Aussage
Das ist der Grund, warum ich Ausbilder geworden bin.Vielen Dank dafür, dass es so Menschen wie dich gibt.
VG
Sascha -
@dp20eic
Danke Bernd!
Komme drauf zurück
Aktuell baue ich mein Vis (version 637…) neu… dann steht das an. -
@dos1973 Wie Bernd schon geschrieben hat... Bei Fragen, fragen Ich habe die Kombi Influx/Grafana vor allem deshalb gewählt, weil es doch sehr viele Anleitungen etc. hierfür gibt. Grafana ist Anfang etwas tricky, aber sobald man durchsteigt kann man sich alle möglichen Daten und Darstellungen da raus holen. Vor allem bei vielen Datenpunkten ist das hilfreich. Ich hatte Anfangs auch damit begonnen mir Tages und Durchschnittswerte täglich per Script zu berechnen. Wenn das mal ein paar mehr Werte werden sollen, wird das sehr schnell umfangreich und wenig flexibel.
Beispiel: Ich hatte zunächst meine ganzen Stromverbraucher als Tagesverbrauch abgefragt/angezeigt, Abfrage in Grafana:SELECT non_negative_difference(last(cumulative_sum)) FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "0_userdata.0.StatusSteckdosen.S14KuecheKuehlen_Energy" WHERE $timeFilter GROUP BY time(1d) ) WHERE $timeFilter GROUP BY time(1d) tz('Europe/Berlin')
Dann dachte ich mir, dass ich mit einer Hochrechnung des Tagesverbrauchs aufs Jahr viel mehr anfangen kann, hierzu ergänze ich lediglich den 365 Multiplikator und fertig:
SELECT non_negative_difference(last(cumulative_sum)) * 365 FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "0_userdata.0.StatusSteckdosen.S14KuecheKuehlen_Energy" WHERE $timeFilter GROUP BY time(1d) ) WHERE $timeFilter GROUP BY time(1d) tz('Europe/Berlin')
Mann muss sich an Grafana ein wenig gewöhnen, es gibt aber gute Tutorials in Youtube o.ä. und eben auch das Forum hier
-
@frederik-buss sagte in Einfach mal zeigen will….. - Teil 3:
Vor allem bei vielen Datenpunkten ist das hilfreich. Ich hatte Anfangs auch damit begonnen mir Tages und Durchschnittswerte täglich per Script zu berechnen.
So habe ich das auch angefangen, leider mit nur mäßigen Erfolg.
Meine Kenntnisse von Blockly oder gar Javascript sind einfach zu greing.@frederik-buss sagte in Einfach mal zeigen will….. - Teil 3:
Ich hatte zunächst meine ganzen Stromverbraucher als Tagesverbrauch abgefragt/angezeigt, Abfrage in Grafana:
SELECT non_negative_difference(last(cumulative_sum)) FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "0_userdata.0.StatusSteckdosen.S14KuecheKuehlen_Energy" WHERE $timeFilter GROUP BY time(1d) ) WHERE $timeFilter GROUP BY time(1d) tz('Europe/Berlin')Dann dachte ich mir, dass ich mit einer Hochrechnung des Tagesverbrauchs aufs Jahr viel mehr anfangen kann, hierzu ergänze ich lediglich den 365 Multiplikator und fertig:
Habe ich das richtig verstanden? Du hast eine "einfache" Abfrage Grafana und hast damit die gewünschten Diagramme?
Wenn dem so ist, wäre ich dir sehr zu Dank verpflichtet, wenn Du mir das mal kurz erklären könntest, oder einen Link zu einem Tutorial (Deutsch) geben könntest. Wenn ich was finde ist es immer Englisch und das ist bei mir echt eine Katastrophe. Das war bei uns in der Schule noch nicht so wichtig (bin schon was älter).
VG
-
Moin,
zu aller erst musst Du die Daten in einer Datenbank haben, z.B.
influxDB
odermariaDB/mySQL
dann musst Du diese Datenbank inGrafana
als Source einbinden, dann kannst Du, mit der jeweils passenden Abfragesprache, Dir die Werte aus der Datenbank lesen und das Ergebnis wird von Grafana, dann in einer Grafik oder Tabelle verarbeitet/Angezeigt.Abfragesprachen:
influxDB
influxDB V1.8
= influxQL ->SELECT last("value") FROM "Dürkop-e10" WHERE $timeFilter GROUP BY time(5m) fill(none)
influxDB V2.x
= influxQL oder neu FLUX ->import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker_strom") |> range(start: -7d, stop: now()) |> filter(fn: (r) => r["_measurement"] == "sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh") |> filter(fn: (r) => r["_field"] == "value") |> map(fn: (r) => ({r with weekday: date.weekDay(t: r._time)})) |> aggregateWindow(every: 1d, fn: last, createEmpty: false) |> difference(columns: ["_value"]) //|> drop(columns: ["_time"]) |> yield(name: "last") // |> map(fn: (r) => ({ r with weekday: date.weekDay(t: r._time)})) // |> filter(fn: (r) => r.weekday == date.Friday)
MariaDB/mySQL
= SQL ->SELECT MAX(iobroker.ts_number.val) FROM iobroker.ts_number INNER JOIN iobroker.datapoints ON iobroker.ts_number.id=iobroker.datapoints.id WHERE iobroker.datapoints.name like 'javascript.1.Fronius.Messwerte.AktuelleEnergieErzeugung';
Und hier mal ein Beispiel:
Und so sieht es dann als fertiges Dashboard bzw. Panel aus, Du kannst dann ein ganzes Dashboard oder ein einzelnes Panel in Deiner VIS anzeigen.
VG
Bernd -
@dp20eic
Auch wenn das gar nicht meine Frage war, hilft das dem ein oder anderen sicher sehr weiter.
Vielen Dank für die sehr ausführlich Antwort.Meine Frage zielte mehr auf die täglich/wöchentlich/usw berechneten werte in Grafana,
also das was frederik-buss beschrieben hat.Kommt bestimmt noch.
Nochmal, vielen Dank
VG
Sascha -
@woupi Ja, tatsächlich musst Du nur aus den Rohdaten die "richtige" Abfrage in Grafana machen, so wie in meiner Quote als Beispiel gezeigt. Mein Abfrage-Beispiel gilt aber nur für für eine Influx DB, die aber sehr einfach aufzusetzen ist. Tutorials hierzu und auch für die ersten Schritte für Grafana gibt es z.B. bei haus-automatisierung.com . Der Witz an der Abfrage ist die Gruppierung:
GROUP BY time(1d)
In diesem Fall ein Tag. Bedeutet Du bekommst einen Balken oder Punkt, oder welche Form auch immer, für einen Tag zusammengerechnet. Das geht mit denselben (!) Rohdaten für eine Stunde, eine Woche usw., nur die Gruppierung muss entsprechend angepasst werden.
Zum besseren Verständnis, nachfolgend die Balkendarstellung auf Wochenbasis, auch wieder nur Auswertung der Rohdaten, ohne Berechnung:SELECT non_negative_difference(last(cumulative_sum)) * 52 FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "0_userdata.0.StatusSteckdosen.S14KuecheKuehlen_Energy" WHERE $timeFilter GROUP BY time(7d) ) WHERE $timeFilter GROUP BY time(7d) tz('Europe/Berlin')
Verglichen mit der Quote aus dem vorherigen Post gibt es 2 Unterschiede: a) Summierung der letzten Woche (7d) sowie Hochrechnung aufs Jahr * 52, da ja jetzt das Ergebnis als Wochenverbrauch vorliegt.
Schau Dir mal die o.g. Tutorials an, falls nichts grundlegendes dagegen spricht, empfehle ich Dir auf Influx zu wechseln, hier gibt es meiner Meinung nach mehr Leute mit Erfahrung die Dir helfen können. Bei Fragen, fragen -
@novregen Hier der Export der Vis und ein paar der Scripte. Wie auch bei anderen ist alles miteinander verknüpft und Datenpunkte beinhalten Werte aus Berechnung, oder steuern selbst wiederum andere Aktionen an. Leider wird bei mir nichts von selbst erstellt, also auch keine Variablen o.ä., daher schau Dir das Ganze erstmal an und wenn Du einzelne Funktionen nutzen willst, helfe ich Dir bei der Erstellung der Variablen etc.
Folgende iobroker Scripte sind als txt beigefügt:
Jahresverbrauch Strom und Gas = Jahreshochrechnung Verbrauch/Kosten nach letzter Ablesung
SonosGruppe = Ansteuerung der beiden Sonos Geräte im EG, je nach Auswahl Wohnzimmer/Küche oder Gruppe.
piNeustarten = Einfacher sudo reboot Befehl, um den pi von der Vis aus neustarten zu können
FavsNeu = Erstellung von allen Sonos Favoriten in einen Datenpunkt, um in der Vis aus einem Dropdown Menü entsprechende Auswahl in Sonos zu startenFolgende Adapter werden verwendet:
BMW, Bring, homeconnect, hue-extended, shelly, sonoff, sonos, tr-064, vis-inventwo, vis-timeandweather, icalFolgende Zips als Verzeichnis in den Projektordner ("main") kopieren/erstellen:
Favs.zip
IconsV2.zip
Bilder.zipUnd hier die iobroker Blockly scripte, können über Blockly importiert werden:
iobrokerJS.zip -
@frederik-buss sagte in Einfach mal zeigen will….. - Teil 3:
Mein Abfrage-Beispiel gilt aber nur für für eine Influx DB, die aber sehr einfach aufzusetzen ist.
Sorry, habe ich nicht explizit geschrieben (steht in meiner Signatur), Grafana, InfluxDB läuft bei mir, es geht mir wirklich nur um die Abfrage und die Darstellung täglich/wöchentlich usw.
Vielen Dank für die Antwort, werde ich mir am Wochenende mal genau ansehen und versuchen umzusetzen.
VG
-
@frederik-buss - danke dir, aber irgendwie bekomme ich die vis nicht importiert. Könntest du es als zip exportieren ? Danke für deine Mühe
-
@novregen sagte in Einfach mal zeigen will….. - Teil 3:
irgendwie bekomme ich die vis nicht importiert.
Neues Projekt erstellen ,
die vis-views.json über den Dateimanager in das neue Projekt hochladen/überschreiben .
Projektordner ("main") kopieren/erstellen:
....
-
@novregen Probier es bitte mal wie Glasfaser geschrieben hat. Die Gesamte Vis als Zip ist zu gross für das Forum, deswegen habe ich aufgeteilt...
-
@dp20eic
vielleicht kannst du mir helfen, ich habe jetzt grafana und influx am laufen und auch die ersten charts in grafana erstellt. Aber bei weitem nicht so wie ich es haben möcht.Als erstes möchte ich den täglichen Stromverbrauch/ Tag 7 oder 14 Tage erfassen und in einer Balkenansicht anzeigen.
Ich habe einen Shelly 3EM, der liefert hier den aktuellen Verbrauch in Watt
0_userdata.0.mqtt.shellies.Pro3_EM.events.rpc.params.em:0.total_act_power
den Wert habe ich jetzt mit Source Analytix verbunden.
Aber welchen DP muss ich jetzt mit Influx loggen, damit ich die Grafana Auswertung machen kann?01_currentDay - wird aber jeden tag mit 0 gestartet? 05_currentYear -?? cumulativeReading - scheinbar wird hier einfach stumpf addiert?
wäre dankbar für einen Hinweis
-
@dos1973 sagte in Einfach mal zeigen will….. - Teil 3:
wäre dankbar für einen Hinweis
Moin,
um 1 Uhr Nachts schlafe ich
Bin gerade nicht am Rechner, schaue ich mir später an, sollten wir nur nicht hier im Thread ausführen, vielleicht einen eigenen, Thread aufmachen, oder mal im Forum suchen, hier sind diese Fragen schon ab und an besprochen worden.VG
BerndP.S.: ich würde nicht den aktuellen Verbrauch nehmen, hat der 3EM auch Verbrauch total, oder so, als Datenpunkt?
-
Am Anfang des Jahres hatte ich schon einmal meine VIS gezeigt. Es hat sich aber einiges getan. Von daher hier nun meine Weiterentwicklung.
- Die Hauptseite
*System-Monitoring
*Energie!
*Es werde Licht
*Das Wetter - Symbole sind alle animiert
*Tanken - am liebsten nicht, aber muss ja
*Familienplaner - nur nichts vergessen
*Schule - muss sein
*Echos - Musik, Timer, Einkauf, Lists, ...
*Einstellungen - ein bissel flexibel seinRo75.
-
@ro75 sagte in Einfach mal zeigen will….. - Teil 3:
Von daher hier nun meine Weiterentwicklung.
Sieht cool aus
Bin gespannt , wer der erste ist der dein Projekt haben will
-
@glasfaser sagte in Einfach mal zeigen will….. - Teil 3:
haben will
Haben will eigentlich erstmal nur die geilen Obstbilder @Ro75
-
Tutti Frutti kannst du haben
-
@glasfaser sagte in Einfach mal zeigen will….. - Teil 3:
Bin gespannt , wer der erste ist der dein Projekt haben will
Normalerweise ich zum testen, aber da VIS2 kommt werde ich demnächst auf diese umsteigen. (sobald sie ohne Fehler läuft)
-
Darstellung auf 24'' Touch-Display. Hängt in der Küche. Für die
darstellung werkelt ein PI4 mit 4GB RAM.
Ro75.