Ich habe schon länger Tasmota WiFi-Steckdosen im Einsatz mit denen ich auch die Energie messen kann die aktuell verbraucht wird bzw. die bereits verbraucht wurde. Nur habe ich die Daten nie zentral erfasst sondern nur sporadisch auf die Werte geschaut. Das soll sich jetzt ändern und ich möchte für eine längere Zeit die vermutlich großen Verbraucher im Haushalt erfassen. Die Idee ist alles ganz einfach mit einem Raspberry Pi umzusetzen der einen Accesspoint öffnet und an dem sich die Funksteckdosen anmelden. So kann ich das Setup auch an Freunde ausleihen die hier ein Interesse an einem detaillierten Einblick des Energieverbrauches ihres Haushaltes haben. Ich habe über Twitter das super coole Projekt von @Alpensichtung gesehen das mit hier als Basis dient in das Thema hinein zu kommen. @Alpensichtung hat sein Projekt samt kurzer Anleitung auf GitLab veröffentlicht und dieses ist über die nachfolgende URL erreichbar.

GitLab: NOUS2INFLUX

Ich werde hier auf meinem Blog eine etwas ausführlichere Anleitung schreiben da ich nicht alles auf Anhieb verstanden hatte und das ein oder andere via Google nachlesen musste da ich mit der INFLUX DB sowie Grafana noch nicht vertraut bin. Daher hier alles etwas ausführlicher…

Influx DB installieren

Als erstes muss die Influx DB auf dem Raspberry Pi installiert werden. In einer Influx Datenbank werden dann die gemessenen Werte also der Energieverbrauch erfasst und gespeichert. Dazu jetzt die nachfolgenden Befehle über das Terminal Fenster des Raspberry Pi ausführen.

Befehl: sudo apt install influxdb

Befehl: sudo apt install influxdb-client

Befehl: sudo apt-get install python3-influxdb

Nach der erfolgreichen Installation der Influx DB folgt die Konfiguration so das eine DB angelegt wird und diese mit einem User samt Passwort angesprochen werden kann.

Beispiel Konfiguration für die Influx DB:

Der User der Datenbank soll “energy” heißen. Das Passwort zu diesem User wird “energy_123” lauten. Die Datenbank in die die Daten geschrieben werden erhalt den Namen “energytracker”. Jetzt nachfolgend die Befehle die nach einander ausgeführt werden müssen um alles wie beschrieben in der Influx DB anzulegen bzw. einzurichten.

Befehl: influx

Befehl: CREATE USER "energy" WITH PASSWORD 'energy_123' WITH ALL PRIVILEGES

Befehl: CREATE DATABASE "energytracker"

Befehl: GRANT ALL ON "energytracker" TO "energy"

Befehl: exit

Jetzt ist die Influx Datenbank soweit konfiguriert und prinzipiell können die ersten Daten in die DB “energytracker” geschrieben werden.

Grafana installieren

Damit wir die gemessenen Verbräuche auch grafisch schön darstellen können wird in diesem Projekt Grafana verwendet. Daher muss Grafana auf dem Raspberry Pi installiert werden. Dazu wieder die nachfolgenden Befehle Schritt für Schritt auf dem Raspberry Pi über das Terminal Fenster ausführen.

Befehl: wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

Befehl: echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

Befehl: sudo apt-get update

Befehl: sudo apt-get install -y grafana

Befehl: sudo /bin/systemctl enable grafana-server

Befehl: sudo /bin/systemctl start grafana-server

Jetzt ist Grafana auf dem Raspberry Pi installiert und der Service ist ebenfalls gestartet. Das heißt ab jetzt ist es möglich sich am Grafana Backend anzumelden. Der initial vergebene Standarduser ist “admin” und das Passwort für diesen User ist ebenfalls “admin”. Nach dem ersten Anmelden muss direkt ein neues Passwort vergeben werden. Hier noch einmal wie ihr die Grafana Installation über einen Web-Browser aufruft.

URL: http://<IP-Adresse>:3000/login
User: admin
Passwort: admin

Als erstes muss jetzt eine sogenannte “data source” angelegt werden die Grafana mit der Influx DB verbindet. Über diese Data Source werden dann die Daten aus der Datenbank geladen und angezeigt. Hier hat Grafana wirklich eine gute Menüführung und mir ist es ziemlich leicht gefallen die Verbindung auf den ersten Versuch in anzulegen.
Über die folgende URL sind alle Grafana Data Sources einsehbar.

URL: http://<IP-Adresse>:3000/datasources

Für mich ist es die erste Installation von Grafana und bis jetzt klappt wirklich alles klasse.

Daten Sammeln

Jetzt ist alles soweit auf dem Raspberry Pi installiert und eingerichtet. Das bedeutet ab jetzt können die Daten von den Tasmota Funksteckdosen eingesammelt werden. Dazu wird das kleine Python Programm von @Alpensichtung gebraucht das ich euch unten noch einmal verlinke.

Hinweis: Speichert das Programm auf eurem Raspberry Pi ab und lest es in Ruhe durch. Die Dokumentation ist wirklich gut und ihr müsst eigentlich nur die User, Passwörter und IP-Adressen anpassen. Ab dann läuft es. Ideal ist natürlich noch wenn ihr die Bezeichnungen der Datensammelpunkte also Tasmota Geräte anpasst.

Download Python Programm: python3 ask_nous_BKW_V2.py

Das Programm führt ihr mit dem folgenden Befehl aus.

Befehl: python3 ask_nous_BKW_V2.py

Ab jetzt geht das Datensammeln los bzw. es wird der erste Eintrag in die DB geschrieben. Damit das Datensammeln z. B. jede Minute gestartet wird habe ich ebenfalls wie @Alpensichtung einen Eintrag in die crontab gemacht und mir ein Start-Skript geschrieben das noch ein Log schreibt um Fehler bzw. die Ausgabe zu sehen.

Autostart des Datensammlers

Damit die Daten jede Minute gesammelt werden habe ich in die /etc/crontab den folgenden Eintrag ergänzt.

* * * * * root bash /home/pi/energy_tracker/start.sh &

Bei mir liegt das Start Skript im Pfad /home/pi/energy_tracker/ und hat den Namen start.sh

Also wenn ihr das genauso machen wollt dann geht in das Homeverzeichnis hier pi und führt die folgenden Befehle aus.

Befehl: cd ~

Befehl: mkdir energy_tracker

Befehl: cd energy_tracker

Befehl: nano start.sh

In das Start Skript “start.sh” kopiert ihr die folgenden Zeilen. Achtet hier darauf, dass mein Python Programm im Beispiel den Namen energy_tracker.py hat und nicht wie das Original Programm den Namen ask_nous_BKW_V2.py hat.

#!/bin/bash
python3 /home/pi/energy_tracker/energy_tracker.py >> /home/pi/energy_tracker.log 2>&1 &

Jetzt mit Strg X die Anpassung speichern. Dazu entsprechend bei der Nachfrage mit Y das Schreiben der Änderung bestätigen. Damit, dass Start Skript auch wirklich ausgeführt werden kann die nachfolgenden nicht ganz idealen Befehl ausführen.

Befehl: sudo chmod 777 start.sh

Jetzt einfach einmal den Raspberry Pi neu starten und über Grafana schauen ob die ersten Daten angezeigt werden können.

Hinweis: Wenn keine Daten in der Influx DB laden und Grafana nichts anzeigt kann es sich lohnen im Log /home/pi/energy_tracker.log einmal nachzuschauen ob es Probleme gibt. Ist kein Log vorhanden dann passt etwas mit der crontab nicht.

Damit ist soweit alles fertig und das Datensammeln kann voll automatisch erfolgen.

Zusammenfassung

Ich habe viel zu lange gewartet mit der Installation von einer Influx DB und Grafana. Ich bin sehr begeistert und werde jetzt von diversen Geräten den Stromverbrauch messen. Auch werde ich mir eine Anzeige bauen ob die Waschmaschine und der Trockner die im Keller stehen noch laufen also Energie verbrauchen oder bereits fertig sind. Hier bin ich einfach schon zu oft in den Keller gelaufen was ein paar Meter bedeutet im Mietsblock um noch mal 5 bis 10 Minuten warten zu müssen. Ob mir das Setup wirklich helfen wird Energie zu sparen glaube ich nicht da wir schon sehr sparsam versuchen zu leben. Aber mal sehen berichten werde ich dann wieder hier.



Beitragsübersicht Tasmota WiFi Steckdose als Energiemesser

Hier habe ich alle Beiträge rund um das Thema Tasmota und schaltbare WiFi Steckdosen zusammengefasst.





(Visited 157 times, 1 visits today)