Mit ESPhome und einigen billigen Sensoren kannst du deinen Stromzähler einfach und kostengünstig in den Home Assistant integrieren. Hier zeige ich dir, wie ich den Stromzähler des Solarpanels meiner Eltern in den Home Assistant integriert habe.
Meine Eltern haben vor fast 15 Jahren Sonnenkollektoren auf ihrem Haus installiert. Bis vor kurzem hatten sie einen alten Ferraris-Zähler im Keller und wussten nicht, wie ihre Solarzellen funktionieren. Mit einem Reedschalter kann man sie technisch auch intelligent machen – aber das ist ein anderes Mal. Nachdem ein neuer intelligenter Stromzähler installiert worden war – ohne dass meine Eltern direkt darauf zugreifen konnten – dachte ich mir, dass es an der Zeit ist, die Dinge selbst in die Hand zu nehmen!
Wie du deinen Zähler intelligent machst
Wenn du Glück hast, ist dein Stromzähler oder – im Falle einer Solaranlage – dein Wechselrichter bereits intelligent und du kannst über eine API oder ein Webinterface ganz einfach darauf zugreifen. Wenn du nicht zu dieser Gruppe von Menschen gehörst, so wie ich, gibt es andere Möglichkeiten, die du nutzen kannst.
Lösung von der Stange
Die einfachste, am besten integrierte und wahrscheinlich beste Lösung ist die Verwendung eines Shelly 3EM CT Zangensensors (Affiliate-Link, falls du über den Kauf nachdenkst 😊). Du kannst damit bis zu 4 Kabel messen, darunter Spannung, Leistung, Frequenz und vieles mehr. Außerdem lassen sie sich mühelos in den Home Assistant integrieren und sind angeblich eine rundum tolle Lösung.
Der Nachteil ist, dass du sie in deinem Zählerkasten verkabeln musst. Das solltest du nur tun, wenn du weißt, was du tust. Zudem solltest du daran denken, dass deine Garantie oder Versicherung erlischt, wenn du fremde Geräte an deinen Zählerkasten anschließt. Ich würde mich davon nicht abhalten lassen, aber als Student bin ich zurzeit ziemlich pleite – der Preis von 120 € hält mich also davon ab, mir das Gerät zuzulegen.
DIY CT Klemmsensor
Du kannst den Shelly 3EM im Grunde selbst bauen, indem du einen ESP-Mikrocontroller und Stromwandlerklemmen aus dem Elektronikfachhandel deines Vertrauens verwendest. Da du dabei nicht nur in deinem Stromzählerschrank herumwühlen musst, sondern auch Mikrocontroller mit Netzspannung kombinierst, gilt der Ratschlag „Mach das nur, wenn du weißt, was du tust“ doppelt. Obwohl es wahrscheinlich deutlich billiger ist, habe ich mich dagegen entschieden. Vor allem wegen der dritten Option.
DIY-Impulszähler
Wenn du einen intelligenten Stromzähler hast, aber keinen Zugang zu ihm, gibt es noch Hoffnung. Viele moderne Zähler haben einen Impulsgeber, der Impulse aussendet, die dem Strom entsprechen, der durch den Zähler fließt. Wir können diese Impulse einfach zählen und haben, was wir benötigen! Vielen Dank an klaasnicolaas und sein Projekt Home Assistant Glow.
Der offensichtliche Vorteil ist, dass dies nicht nur sehr billig ist (du brauchst im Grunde nur einen ESP32 und einen Fotowiderstand, den du für ein paar Cent bekommst). Du musst dich auch nicht in die Nähe von Hochspannungsleitungen begeben! Du befestigst den Sensor einfach mit doppelseitigem Klebeband und schon ist er fertig.
Anscheinend ist das sogar eine Option, wenn du einen Ferraris-Zähler hast. Du kannst das Drehen der Scheibe mit einem Reedschalter-Sensor zählen, aber das konnte ich noch nicht ausprobieren.
Einen Impulszähler bauen
Da der Smart Meter die Impulse im Infrarot-Bereich sendet, entschied ich mich, einige Hindernisvermeidungssensoren zu verwenden, die ich bereits zur Hand hatte und deren Sensoren auf das Infrarot-Band abgestimmt sind. Das funktioniert wahrscheinlich mit fast jedem Lichtsensor, also sollte auch ein Fotowiderstand funktionieren.
Ursprünglich hatte ich geplant, einen Lipo-Akku zu verwenden, aber nachdem die Akkulaufzeit eher enttäuschend war, habe ich mich für die USB-Variante entschieden. Hier ist, was du brauchst:
Artikel | Wo zu kaufen (Affiliate-Links) |
ESP32 Mikrocontroller | Amazon.de |
Hindernisvermeidungssensor / Lichtsensor | Amazon.de |
Dupont Jumper Wires | Amazon.de |
Lötkolben/Station | Amazon.de |
Lötzinn | Amazon.de |
Seitenschneider | Amazon.de |
Dieser Bau ist ganz einfach. Da ich den Hindernisvermeidungssensor verwendet habe, habe ich die LED, die IR-Licht aussendet, entfernt und die LED, die das IR-Licht empfängt, nach oben gebogen.
Ich habe mir ein Gehäuse ausgedruckt, das viel größer ist als nötig. Trotzdem passen die Bauteile perfekt hinein und du findest es hier auf printables. Ich werde wahrscheinlich ein kleineres Gehäuse entwerfen, wenn ich mich dazu durchringen kann.
Konfiguriere und installiere den Sensor.
Richte zunächst den Mikrocontroller mit ESPhome ein. ESPhome ist ein System, mit dem du deine ESP8266/ESP32 und RP2040 durch einfache, aber leistungsstarke Konfigurationsdateien steuern und über Home Automation Systeme fernsteuern kannst. Du kannst dies direkt von Home Assistant aus oder über deinen lokalen Computer tun.
Um den Sensor zu konfigurieren, verwenden wir die Sensorkomponente Impulszähler. Ich habe mich dafür entschieden, meinen Wert in Watt zu senden, deshalb ist mein Multiplikator 6 (60s/10000 Impulse pro kWh) und meine Genauigkeit_dezimal 0. Wenn du ihn stattdessen in kW senden willst, nimm einen Multiplikator von 0,006 und 3 Genauigkeitsdezimale. Hier ist die wichtige Sensorkonfiguration:
sensor:
- platform: pulse_counter
id: pv_pulse_counter
pin: GPIO13
device_class: "POWER"
state_class: "measurement"
unit_of_measurement: 'W'
accuracy_decimals: 0
name: 'Leistung Solar'
filters:
- multiply: 6 # (60s/10000 pulses per kWh)
Beim Ausweichsensor gibt es einen kleinen variablen Widerstand, mit dem die Empfindlichkeit des Sensors eingestellt werden kann. Ich habe ihn gerade so weit heruntergedreht, bis die LED „Hindernis erkannt“ aufleuchtete, um ihn so empfindlich wie möglich zu machen (denn ich glaube nicht, dass das IR-Licht im Messgerät besonders hell ist). Um eine optimale Signalstärke zu gewährleisten, solltest du den Sensor direkt über der IR-LED deines Messgeräts anbringen.
ESPhome bietet einen zusätzlichen Sensor an, der auch die von dir erzeugte Energie berechnet – davon rate ich ab, da ein Stromausfall oder andere Unannehmlichkeiten das Ergebnis verfälschen könnten. Es ist weitaus einfacher, diesen Wert direkt im Home Assistant zu berechnen.
Konfiguriere den Sensor und füge Helfer hinzu
Wenn du deinen ESPhome-Sensor richtig konfiguriert hast, sollte er automatisch vom Home Assistant erkannt werden und du kannst ihn einfach als eines deiner Geräte hinzufügen. Wahrscheinlich siehst du dann so etwas wie das hier:
Jetzt haben wir nur noch die Leistung der Solarmodule. Als Nächstes wollen wir wissen, wie viel Energie die Paneele tatsächlich produzieren. Dazu verwenden wir eine einfache mathematische Integration. Gehe zu /config/helpers
und erstelle einen Integrationssensor. Als Quellensensor wählst du den Leistungssensor, der von dem Sensor, den wir gebaut haben, bereitgestellt wird. Auf diese Weise erhältst du den bekannten Wert von kWh.
Bonus
Integration in das Energie-Dashboard
Jetzt gehst du zu deinem Energie-Dashboard (/config/energy
). Dort kannst du nun den neu erstellten Integrationssensor hinzufügen (meiner ist ein Solarpanel):
Und Presto! Du hast deinen Zähler erfolgreich zu Home Assistant hinzugefügt.
Verbrauchszähler
Mit den Hilfsmitteln für Stromzähler kannst du den Überblick über deinen Strom behalten. Du kannst sie auch kalibrieren, damit ihr Wert dem tatsächlichen Zähler entspricht, von dem du die Werte abliest!
Ich habe drei Zähler eingerichtet. Einen, der die tägliche Produktion misst (obwohl das eigentlich überflüssig ist, da das Energie-Dashboard das auch misst), und einen, der dem tatsächlichen Zähler im Keller entspricht. Mit dem Dienst utility_meter.calibrate
kannst du den Zähler so einstellen, dass er denselben Wert hat wie der, den du verfolgst:
Solarvorhersagen
In einem weiteren Schritt kannst du dem Energiepanel eine Solarvorhersage hinzufügen:
Die übliche Methode ist die Verwendung von Forecast.Solar, aber sie sind mit ihren kostenlosen API-Aufrufen sehr knauserig geworden, und ich bin kürzlich an Preisgrenzen gestoßen. Die Vorhersage auf der kostenlosen Ebene ist nur für einen Tag in der Zukunft und insgesamt nicht besonders gut.
Als Alternative habe ich mich für Solcast entschieden, für das es eine Integration gibt, die du als benutzerdefiniertes Repository in HACS hinzufügen kannst. Damit erhältst du eine viel bessere Vorhersage, sogar mehrere Tage im Voraus!
Solcast ist auch mit seinen API-Tarifen knauserig, die Obergrenze liegt bei 10 pro Tag. Ich habe eine Automatisierung erstellt, die die API während der Sonnenstunden 8 Mal am Tag aufruft, wobei 2 Mal für die Fehlersuche übrig bleiben. . Hier ist die Automatisierung:
alias: Solcast_update
description: New API call Solcast
trigger:
- platform: template
value_template: |-
{% set nr = as_timestamp(state_attr('sun.sun','next_rising')) %}
{% set ns = as_timestamp(state_attr('sun.sun','next_setting')) %}
{% if nr > ns %}
{% set nr = nr - 60*60*24 %}
{% endif %}
{% set hours_difference = (ns - nr) / 3600 %}
{% set interval_hours = hours_difference / 8 %}
{% set now_ts = as_timestamp(now()) %}
{% set sunrise_ts = nr %}
{% set sunset_ts = ns %}
{% for i in range(8) %}
{% set start_time = sunrise_ts + (i * interval_hours * 3600) %}
{% set end_time = start_time + interval_hours * 3600 %}
{% if start_time <= now_ts <= end_time %}
true
{% endif %}
{% endfor %}
condition:
- condition: sun
before: sunset
after: sunrise
action:
- service: solcast_solar.update_forecasts
data: {}
mode: single
Das war’s dann auch schon fast. Wenn du weitere Erklärungen brauchst, hinterlasse einen Kommentar oder schreibe mir eine E-Mail.