Tasmota auf Smart Plugs - Und jetzt?

4nanai

Captain
🎅Rätsel-Elite ’24
Registriert
Dez. 2004
Beiträge
3.733
Ich hab auf einigen Smartplugs (Gosund EP2) Tasmota installiert. In erster Linie, damit ich eine von denen direkt von der Software meines 3D-Druckers ein- und ausschalten kann. In zweiter Instanz ist es auch gut von dieser unsäglichen App wegzukommen.

In dieser hatte ich allerdings Monatsstatistiken über den Energieverbrauch - genau das fehlt mir jetzt.
Dinge wie MQTT und Home Assistant sind bekannt. Ich möchte allerdings keinen Heimserver 24/7 betreiben, nur um Statistiken für den Energieverbrauch zu haben. Ein Server ist zwar da, der wird allerdings lediglich On Demand als NAS betrieben.

Was noch vorhanden ist: Ein Router mit OpenWRT und diverse vServer. Der Router hat allerdings keinen USB-Anschluss und somit keine Möglichkeit für einen persistenten Speicher. Gibt es irgendeine Lösung, mit der ich von OpenWRT aus Daten an einen externen Server leite und ich mir dort dann mit Grafana oder ähnlichem Statistiken generieren lasse? Oder bin ich ganz auf dem Holzweg und es gibt für meinen Anwendungsfall eine bequemere Lösung.
 
Du brauchst irgendeine Datenbank um die Daten zu speichern. Sei es Prometheus oder InfluxDB. Und das muss dauerhaft laufen, sonst wird das leider nichts.

HomeAssistant bietet natürlich auch solch eine Datenbank - aber eben auch das muss 24/7 laufen.
Wenn du einen externen Server hast kannst du die Daten von Tasmota aus an diesen Server per MQTT schicken lassen. Dann sind die Daten schonmal auf dem Server. Per Telegraf2MQTT oder ähnlichem (effektiv ein kleiner Service der auf deinem Server läuft) kommen die Daten dann in die Datenbank auf dem Server.

Die Alternative ist ESPHome, quasi dasselbe wie Tasmota. Da stellst du einen Prometheus-Client bereit, d.h. dein Prometheus-Server ruft die Daten aktiv von deinem Smartplug ab.
 
  • Gefällt mir
Reaktionen: 4nanai
Ein kleiner Raspberry pi würde schon reichen für einen MQTT Handler, InfluxDB und Grafana, der braucht ja auch kaum Strom. Bevor ich da was seltsames "bastel" würde ich es lieber richtig machen.
 
  • Gefällt mir
Reaktionen: 4nanai
Wenn du ein v-Server hast, kannst du doch auch einen V-Server mit einer Home Automation Lösung einrichten?
 
  • Gefällt mir
Reaktionen: 4nanai
Danke für die Inputs, die mich in die richtige Richtung geführt haben!

Ich habe mir jetzt eine Lösung auf dem besagten vServer aufgesetzt. Mithilfe von Mosquitto, InfluxDB, Python und Grafana. Das Ganze ist schön lightweight und verbraucht kaum Ressourcen (auf dem Ding sollen noch ein paar Gameserver laufen).

1689427335970.png


Das Python-Script habe ich von hier: https://schroederdennis.de/monitori...grafana-visualisieren-python-influxdb-script/

Nur bei der Berechnung des Gesamtverbrauchs in KW/h pro Tag probiere ich noch rum. Zumindest schaut diese Query momentan vielversprechend aus.

SELECT SUM("power"::float) / 60.0 / 1000.0 FROM (SELECT mean("value") AS power FROM "autogen"."Power" WHERE ("location"::tag = 'tasmota_DESKTOP') GROUP BY time(1m) fill(previous)) GROUP BY time(24h)

Wobei ich logischerweise einfach das Integral der in der Datenbank eingetragenen Watt-Werte genommen hätte. Das Interval (alle 60 Sekunden) ist ja bekannt.

SELECT integral("value") /1440/1000 FROM "tasmota"."Power" WHERE ("location"::tag = 'tasmota_DESKTOP') AND $timeFilter GROUP BY time(1d)

Wo ist mein Denkfehler?


Edit: Nevermind, ich kann ja auch einfach den Energy Today Wert aus Tasmota direkt in die Datenbank einpflegen.
 
Zuletzt bearbeitet:
Das Ganze läuft jetzt ein paar Tage und ich bin mit der Lösung äußerst zufrieden. Sind auch meine ersten Berührungspunkte mit Grafana. Aber ich sehe bereits, dass man dort eine ganze Menge an zusätzlicher Sensorik in Zukunft einpflegen kann.

1690662490808.png
 
  • Gefällt mir
Reaktionen: eRacoon
Zurück
Oben