HASSIO - Digitaler Stromzähler auslesen WebServer
Mit der Hilfe eines ESP32 und eines einfachen IR Moduls kann am Stromzähler der aktuelle Stromverbrauch ausgelesen werden ohne das man den Stromzähler PIN benötigt. Mittels einem WebServer der vom ESP32 aufgebaut wird kann der aktuelle Verbrauch ausgelesen und grafisch dargestellt werden.
Da nicht jeder das Know-how bzw. die Lust hat sich einen kompletten HomeAssistant einzurichten um den Energieverbrauch auszulesen habe ich mir eine Standalone Lösung überlegt. Dadurch werden auch die Kosten der Anschaffung stark minimiert. Die Kosten für das benötigte Material belaufen sich auf unter 15€ (je nach Bauteile / Hersteller).
Alternative Lösung via Arduino IoT Remote App (nur ein File zu flashen).
Wer eine Home Assistant am laufen hat kann sich gerne meine Hassio Lösung anschauen, hier.
Digitaler Stromzähler Standalone WebServer
Benötigte Hardware
- ESP32-WROOM-32 D1 mini (AZ-Delivery)
- IR Modul (TCRT5000)
- 3D Drucker + Filament
- Lötstation mit Equipment
- Einzeladern
Benötigte Software
- TinkerCad
- PrusaSlicer
- Arduino IDE
Aufbau Gehäuse
Das neue Zählergehäuse findet man hier.
IR Modul TCRT5000 modifikation
Auf dem TCRT5000 befindet sich eine Lesediode und eine Schreibdiode. Die Schreibdiode wird auch als Näherungssensor verwendet wodurch es zu Problemen kommen kann beim Ablesen des Stromzählers.
In meinem Fall habe ich die hellere (weiße Diode) einfach ausgelötet. In anderen Beiträgen habe ich gesehen, dass auch nur der Vorwiderstand entfernt wird.
Den TCRT5000 habe ich am ESP32 an die Pins G14, 5V und GND angeschlossen.
eHz Elektronischer Haushaltszähler
Das Gehäuse aus dem 3D Drucker passt beim eHz Elektronischen Haushaltszähler. Mit zwei Magneten wird das Gehäuse am Zähler befestigt da der Stromzähler Eigentum des Netzbetreibers ist!
Die rechten beiden IR Dioden werden beim IR Lese-Schreibekopf verwendet (Volkszähler). Dabei wird permanent zwischen den Unterschiedlichen zur verfügung stehenden Zählerständen geschalten und diese ausgelesen (PIN muss beim jeweiligen Energiekonzern angefragt werden).
Zähler Aufsteckmodul ESP32 + TCRT5000
Einrichten des WebServers
Der Wemos D1 mini ESP32 generiert zu Beginn sein eigenes WLAN (SSID = StromZaehler). Wenn man dieses auswählt kann man über die statische IP: 192.168.4.1 den Wi-Fi Manager öffnen um dort von seinem eigene Heimnetz die SSID und das Passwort zu hinterlegen. Das Gateway (Router IP) muss angegeben werden da sonst Zeit und Datum nicht mit dem NTP Server abgeglichen werden können. Bei einem nicht funktionierenden NTP Server werden die Werte um Mitternacht nicht zurückgesetzt. Die Daten sind direkt auf dem ESP32 im Filessystem hinterlegt und können nicht nach außen gelangen.
SSID: Wlan Name
Password: Wlan Passwort
IP Adresse: WebServer IP
Gateway Adresse: Router IP
WebServer grafische Darstellung
Den WebServer mit der Sensor Auswertung erreicht man dann über die im Wi-Fi Manager konfigurierten
Stromversorgung ESP32
Man kann den ESP32 auch mit einer Powerbank betreiben. Dabei muss man aber bedenken das durch den WebServer (permanentes WiFi) der Stromverbrauch sehr hoch ist. Da meine Lösung ja nur zum aktuellen Energieverbrauch messen gedacht ist bzw. um zu schauen was man so über einen kompletten Tag verbraucht, reicht eine Powerbank aus.
Wer die Energiewerte dauerhaft auslesen möchte sollte sich dann doch lieber eine Schuko Steckdose in den Verteilerkasten montieren lassen.
Software
Der ESP32 enthält ein File System (SPIFFS). SPIFFS ist ein kleines Dateisystem, das für Mikrocontroller mit einem Flash-Chip entwickelt wurde die über einen SPI-Bus verfügen. Unter dieser Seite kann man die genaue Anleitung finden und wie man dieses File System einrichtet. Anstelle des Temperatursensoren muss man nur den TCRT5000 anlöten sowie minimale Anpassungen an der Software vornehmen.
Code
/* Sensor TCRT5000 PIN14*/
const int digital_pin = 14;
int state = 0;
int laststate = 1;
unsigned int counter = 0;
......
/* Loop sensor reading*/
void loop() {
state=digitalRead(digital_pin);
if ( laststate == 1 && state == 0 )
{
counter++;
}
laststate = state;
watt = counter * 6;
}
Fazit
Mit der Energieverbrauch Messung kann man sehr schnell sehen wo sich die Stromfresser im Haushalt befinden. Wir haben bei der letzten Messung herausgefunden, dass der SAECO Kaffeevollautomat im eingeschalteten Zustand während dem Frühstück 400W zieht. Das liegt an dem permanent aktiven Heizelement. Der Standby Timer lag bei 30 Minuten was zu einem hohen Stromverbrauch in der Zeit führt, dafür das kein Kaffee gemacht wird. Wir haben den Timer auf das minimalsten Wert gesetzt bzw. machen den Vollautomaten direkt nach der Benutzung aus.
Es wird ja immer von Standby Geräten bzw. Netzteilstecker gesprochen die sich permanent am Strom befinden. Jedoch kann ich hier keinen erhöhten Energieverbrauch feststellen.
Was hier am meisten Sinn macht und zu einer erstaunliche Einsparung führt ist das Balkonkraftwerk. Daher sieht man in den Grafiken des öfteren das Der Stromzähler Watt Wert Null beträgt.
Das Projekt befindet sich noch in der Entwicklung, bei weiteren Fragen einfach schreiben.