Einleitung
Ich möchte euch meine Auswertung von meinem Smart Meter zeigen. Ich speichere alle Daten in eine InfluxDB. Wie ich das mache habe ich in diesem Beitrag erklärt. Zum Visualisieren verwende ich Grafana. Das ist eine Open Source Anwendung die auch auf einen Raspberry Pi läuft.
Installation von Grafana
Für die Installation gibt es schon einige Anleitungen daher nur der Verweis auf die Offizielle Dokumentation.
Erste Schritte mit Grafana
Die Oberfläche kann mit der IP und dem Port 3000 geöffnet werden. (192.168.1.99:3000). Die Standard Anmelde Daten sind admin, als Username und Passwort.
Es erscheint ein Fenster wo man sein Passwort ändern soll. Es kann auch weiter geklickt werden mit “Skip”.
Datenbank verknüpfen
Um ein Dashboard mit Daten zu füllen muss eine Datenbank hinterlegt werden. Dazu klick man auf das Zahnrad am linken Bildschirmrand. Dann sucht man seine gewünschte Datenbank in meinem Fall ist das eine InfluxDB.
Als erstes vergibt man einen Namen zb. “SmartMeterBlog” dann eine URL, dass ist der Server wo die Datenbank liegt in meinem Fall auf einem Raspberry PI mit der IP 192.168.1.99 und der Port ist 8086 (192.168.1.99:8086). Unter dem Punkt InfluxDB Details muss noch die Datenbank angegeben werden das ist bei mir “SmartMeter”. Meine Datenbank hat keine Speziellen User und Passwort daher lasse ich diese Felder leer. Als letztes muss noch der Button Save & Test gedrückt werden wenn als Antwort “Data source is working” kommt ist die Datenbank mit Grafana Verknüpft.
Dashboard Erstellen und Grundeinstellungen
Mit dem Plussymbol auf der linken Bildschirmseite lassen sich neue Dashboards erstellen. Dann kann man unter dem Zahnrad Symbol oben rechts Grundeinstellungen Vornehmen wie den Namen, Timezone und einiges mehr. Ich habe den Namen “Smart Meter Auswertung Blog” vergeben. Und meine Zeitzone Eingestellt. Links befindet sich der blaue Speicherbutton “Save dashboard”.
Anzeige für Aktuellen Verbrauch erstellen
Oben Rechts befindet sich ein Balkendiagram mit einem gelben Plus damit kann man neu Diagramme erstellen. Dann muss man “Add a new panel” drücken. Es öffnet sich ein Fenster zum Bearbeiten des Diagramms. Es muss die Datenbank ausgewählt werden und welche Werte von der Datenbank angezeigt werden sollen.
Leistungsverlauf
Um diesen zu erstellen muss man wider ein neues Panel hinzufügen. Und “Time series” auswählen.
Tageswerte der letzten 7 Tage
Auch hier muss wider ein neues Panel Angelegt werden über das Plus. Diesmal braucht als “Diagrammtype” eine Tabelle. Um den Gesamtverbrauch der Energie auszurechnen wird die Differenz vom heutigem Tag zum letzten benötigt.
Export von meinem Dashboard
Hier mein Dashboard welches nur noch importiert werden muss.
Feedback
Bitte schreibt ein Kommentar wie die Video und Ton Qualität ist. Ob diese Ausreichen gut ist. Ihr könnt mir auch noch weitere Themen vorschlagen die ich mir genauer Ansehen soll.
Hallo, wie passe ich eigentlich den Wert “Vergütung” in Grafana an?
Lg. Armin
Hallo, super ding, wie könnt ich die Stromanzeige vom SmartMeter anzeigen lassen.
also ich meine am SmartMeter am Display steht zb. 17500 diesen wert möchte ich angezeigt haben, wie geht das?
Hintergetanke, das ich den stand vom SmartMeter sehe in Grafana.
Hallo,
einfach einen Text anzeigen mit der Wirkenergie und dem Operator Last. Dann wird der Letzte Wert in der Datenbank angezeigt.
Moin Michael,
vielen Dank für dein Video “Grafana Stromverbrauch über 7 Tage” – das hat kurz und knapp gezeigt was alles möglich ist. Danke!
Kannst Du noch eines machen über den Strom Bezug pro Monat oder mir dabei helfen? Mit GROUP BY time(1M) funktioniert das bei mir nicht.
Hallo,
leide ist das nicht so einfach möglich. Ich habe auch lange nach einer Lösung gesucht aber noch nicht wirklich was gefunden.
Bei der InfluxDB in der Version 1.X gibt es den Filter 1 Monat nicht.
Mit der InfluxDB 2.X sollte es diesen geben aber da ist der Syntax ein ganz neuer.
LG Michael
hi,
ich habe das Ganze für das jeweils aktuelle Jahr pro Monat ausgewiesen, mir fehlen aber noch die Daten für den neuen Monat (sollte Morgen um 24:00 Uhr soweit sein ;)) um sagen zu können, dass es funktioniert.
ich aggregiere und summiere dabei die Werte wie folgt (FluxQL)
from(bucket: “XXX”)
|> range(start: -1mo, stop: now())
|> filter(fn: (r) => r[“_measurement”] == “smartmeter”)
|> filter(fn: (r) => r[“_field”] == “WirkenergieP”)
|> aggregateWindow(every: 24h, fn: last, createEmpty: false)
|> truncateTimeColumn(unit: 1m)
|> difference(nonNegative: false, columns: [“_value”])
|> aggregateWindow(every: 1mo, fn: sum, createEmpty: false)
|> timeShift(duration: -1d)
wichtig ist noch zu erwähnen, im Panel in den Query Options, muss man auch einen relative time und time shift filter setzen:
relativ time: now/y
time shift: 0y/y
sieht aktuell wie folgt aus:
https://ibb.co/4Y7R9qp
Hallo,
danke für deine Arbeit.
Ich arbeite derzeit noch mit Influx 1.8 und da funktioniert diese Methode meines Wissens noch nicht oder hast du andere Erfahrungen ?
LG Michael
Servus, bin auch im NÖ Netz und hab eine gepimpte Version der AMStoMQTTBridge Software hier: https://github.com/ehorvat1/AmsToMqttBridge-EHo
LG, Bert
Hallo, vielen Dank für die tolle Anleitung. Ich würde gerne den Stromverbrauch noch für jeden Monat mir anzeigen lassen. Kannst du mir erklären, wie ich das machen muss ? Lg dirk
Ich hab das so geloest, dass ich mir fuer jedes Monat einen Wert in einem eigenen Panel anzeigen lasse, also 12 kleine quadratische Panele in einer Zeile, darin die Summe je Monat als Zahl. Im Panelheader steht das Monat als Text. Sieht optisch gar nicht so wild aus.
Grüß euch!
Wie habt ihr das gelöst das, dass script am PI beim booten, oder wenn nicht läuft gestartet wird?
Mit systemd ? Im Moment nur aus der Konsole gestartet mit @ aber nun ja … – danke für Infos!
LG
Toni
Hallo,
Mit systemd ist das ganz einfach:
sudo nano /etc/systemd/system/EvnSmartmeterMQTT.service
—
[Unit]
Description=SmartMeterData Script
After=multi-user.target
[Service]
Type=simple
Restart=always #Script wird wieder gestartet wenn abstürzt
ExecStart=/usr/bin/python3 /home/pi/EvnSmartmeterMQTT.py
[Install]
WantedBy=multi-user.target
—
sudo systemctl daemon-reload #neue config laden
sudo systemctl enable EvnSmartmeterMQTT.service #Start Service on Boot
sudo systemctl start EvnSmartmeterMQTT.service
Besten Dank!
Hallo Michael
Habe auch schon so ein ähnliches Dashbord um den Verbrauch meiner Wärmepumpe darzustellen.
Da ich jetzt einen Stromtarif bekomme welche 2 unterschiedliche Preise hat möchte ich diesen auch korrekt mit Grafana abbilden.
Wochentags von 8-20 Uhr zahle ich 40 cent, in der anderen Zeit 34 cent. Habe auch schon eine Entitäten in Homeautomatien erstellt wo er mir den korrekten preis nach Uhrzeit anzeigt.
Wie kann ich diesen wert in Grafana zur berechnung meines Strompreises verwenden?
Servus Manfred,
das gutes Thema, an dem “Zangl” ich auch gerade 😉
Versuch gerade mit der Zwischenstation “statistic adapter” im IOBroker & js scripts …
Servus,
noch eine Möglichkeit
https://www.smarthomejetzt.de/mit-sourceanalytix-adapter-energieverbrauch-mit-iobroker-detailliert-protokollieren-und-senken/
LG
Toni
Guten Tag,
erstmal großes DANKE für die Super Anleitung.
Es sind meine erste Schritte mit Grafana. Der Einstieg wurde durch diese Anleitung gut vereinfacht.
Leider habe ich noch Probleme mit der Darstellung, wenn ich mir die Monate Anzeigen möchte statt die letzten 7 Tage.
Dort bekomme ich leider die Sortierung in Grafana nicht hin. für einen Tipp wäre ich Dankbar.
Gruß
Chris
Hallo,
leider ist das ein Problem mir Grafana das man nicht einfach 30d oder 1M eingeben kann da es der Syntax nicht unterstützt. Leider habe ich noch keinen Weg gefunden dieses Problem zu umgehen.
Hallo, leider ist das ein Problem im Grafana Syntax ein Monat gibt es leider nicht
Gruß Michael
Hey, sieht klasse aus. Kannst du das Dashboard exportieren und zur Verfügung stellen? Soweit ich weiß lassen sich Dashboards nach ändern (Suchen und Ersetzen) der wesentlichen Datenpunkte ganz nett und schnell importieren…
Viele Grüße
Alexander
Hallo,
kann ich die nächsten Tage machen.
LG Michael
Hallo,
ich habe die Export Datei unten angefügt.
LG Michael
Hallo,
finde die Umsetzung super! Kann man in Grafana auch einen Schwellwert angeben mit dem dann zB eine Ausgang am GPIO angesteuert wird?
LG Meks
Hallo,
in Grafana funktioniert das glaube ich nicht aber in Node Red ist das kein Problem.
Bin gerade dabei eine Anlage zu automatisieren mit einem Heizstab. Wenn das Projekt fertig ist dann werde ich einen Blog Beitrag schreiben.
Wenn du das Programm gleich brauchst kannst du dich melden.
LG Michael
Wenn du das Programm ha
[…] Auswertung der Daten […]
Hallo Michael,
Vielen Dank für deine großartige Lösung und deine Tutorials. Es funktioniert großartig. Ich habe nur ein einziges Problem, das ich nicht lösen kann obwohl ich mir dein Grafana Tutorial schon x-mal angesehen habe und es genau so umgesetzt habe. Wenn ich beim Strom-Bezug pro Tag als Unit der bezogenen Energie kWh eingebe, kommt in der Anzeige immer Wh. Die Node-Red Einstellungen habe ich genau nach deiner Anweisung erstellt. Was kann da falsch sein?
LG Hans
Hallo,
ich habe ihnen eine Mail geschrieben. Dann finden wir schneller eine Lösung.
LG Michael
Habe es schon geschafft.
Hatte noch eine alte Grafanaversion, da gabs das Feature noch nicht
Super !
Einfach mit den Overrides und dem Color Scheme herum probieren. Oder man kann auch Werte vorgeben.
Lg Michael
https://grafana.com/blog/2021/09/10/new-in-grafana-8.1-gradient-mode-for-time-series-visualizations-and-dynamic-panel-configuration/
Danke für die tolle Anleitung!!
Ist es möglich, dass wenn die Leistung unter null geht, diese in einer anderen Farbe angezeigt wird beim Verlauf und auch beim Gauge?
Hallo,
das ist auch möglich. Wie soll das aussehen wenn der Stromverbrauch kleiner 0 wird dann soll der Graph Rot sein und wenn der Wert größer 0 Grün ?
LG Michael
ja so habe ich mir das vorgestellt
Das kann ich noch machen. Werde frühestens am Wochenende Zeit dafür finden.
LG Michael
Super danke dir!
Komme von selbst leider nicht drauf