Seit einiger Zeit lese ich dem Stromzähler hier im Haus über den Impulsausgang aus. Dazu benutze ich die Software vzlogger, welche alle paar Sekunden den aktuellen Zählerstand ausliest. Dieser geht per MQTT auf die Reise, wird von Telegraf verarbeitet und landet schließlich in einer InfluxDB. Die Visualisierung geschieht mit Grafana.
Der Zählerstand an sich ist ein eher abstrakter Wert mit dem man vielleicht mal auf der jährlichen Abrechnung zu tun hat – die Leistung zu einem bestimmten Zeitpunkt ist da schon besser vor- und darstellbar.
Sie lässt sich ziemlich einfach ausrechnen, wenn man eine Liste von Zählerständen und die dazugehörigen Ablesezeitpunkte hat (das ist genau das, was vzlogger liefert):
Die Leistung (hier in Watt) ist physikalisch nichts weiter als die verrichtete Arbeit (Änderung des Zählerstands in kWh) abgeleitet nach der Zeit. Da wir es hier mit diskreten Werten zu tun haben, lässt sich auch die Differenz zweier Zählerstände bilden[1] und diese durch den Zeitabstand teilen. Das Ergebnis ist die durchschnittliche Leistung in Watt in diesem Zeitraum.
In Grafana lässt sich das folgendermaßen abbilden:

Was passiert hier?
Die aufgezeichneten Werte des Stromzählers werden nach der Zeit abgeleitet, also die Änderung der Werte pro Zeiteinheit berechnet. Damit erhält man die elektrische Leistung – allerdings in Kilowatt und in diesem Beispiel auf eine Minute (vgl. 1) und nicht auf eine Sekunde bezogen. Daher wird das Ergebnis noch mit 60.000 multipliziert[2].
Damit liegt jetzt die Leistung zum abgefragten Zeitpunkt vor und lässt sich als einfache Anzeige oder zeitlicher Verlauf darstellen:


-
die Zählerwerte werden mit vzlogger sowieso nicht öfter als zwei Mal pro Minute ausgelesen. ↩︎
-
1.000 Watt entsprechen einem Kilowatt und 60 Sekunden einer Minute