Balkonsolaranlage
Ich habe ein Balkonkraftwerk. Damit bin ich einer von 866.000 Bundesbürgern, sagt das Internet. Meine kleine Anlage auf dem Schuppendach darf maximal 800 W Leistung abgeben. Mein Spitzenwert lag bis jetzt bei erzeugten 602 W. Das sagt jedenfalls mein Wechselrichter. Der Wechselrichter ist übrigens ein Hoymiles HM 800.
Data Transfer Unit
Beim Kauf der Anlage habe ich sehr darauf geachtet, wie ich die Anbindung an Home Assistant hinbekomme. Die meisten Hersteller verwenden ein propritäres Funkprotokoll. Dafür benötigt man eine Data Transfer Unit (DTU) um den Wechselrichter in das eigene WLAN zu bekommen. Die DTU, die es zu kaufen gibt, sind meistens recht teuer, und arbeiten mit einer App zusammen in der Hersteller-Cloud.
Das ist nicht so mein Ding. Ich verwende eine selbstgebaute AhoyDTU. Diese besteht aus ganzen zwei Baugruppen:
- einem Wemos D1 mini (ESP8266)
- und einem NRF24L01+
Der Wemos D1 mini stellt die Verbindung zum heimischen WLAN her. Das 2,4GHz-Funkmodul spricht mit dem Wechselrichter HM 800.
Die beiden Teile habe ich gesockelt auf Lochrasterplatine aufgebaut. Das 3D-gedruckte Gehäuse ist allerdings noch nicht einmal konstruiert. :-(
Die Ahoy DTU verrichtet gute Dienste und hat ein eigenes Webinterface um die Daten darzustellen.
Home Assistant
Für Home Assistant habe ich die DTU als MQTT-Sensoren mit einer eigenen yml-Konfigurationsdatei eingebunden.
1mqtt:
2 sensor:
3 - name: "Solar HM800 Temperatur"
4 state_topic: "solaranlage/hm800/ch0/Temp"
5 device_class: "temperature"
6 unit_of_measurement: "°C"
7 #state_class: "measurement"
8
9 - name: "Solar Spannung"
10 state_topic: "solaranlage/hm800/ch0/U_AC"
11 device_class: "voltage"
12 unit_of_measurement: "V"
13 #state_class: "measurement"
14
15 - name: "hm800_i_ac"
16 state_topic: "solaranlage/hm800/ch0/I_AC"
17 device_class: "current"
18 unit_of_measurement: "A"
19 #state_class: "measurement"
20
21 - name: "Solar Netzfrequenz"
22 state_topic: "solaranlage/hm800/ch0/F_AC"
23 device_class: "frequency"
24 unit_of_measurement: "Hz"
25 #state_class: "measurement"
26
27 - name: "Solar Efficiency"
28 state_topic: "solaranlage/hm800/ch0/Efficiency"
29 #device_class: "frequency"
30 unit_of_measurement: "%"
31 #state_class: "measurement"
32
33 - name: "hm800_p_ac"
34 state_topic: "solaranlage/total/P_AC"
35 unit_of_measurement: "W"
36 device_class: "power"
37
38 - name: "hm800_yieldtotal"
39 state_topic: "solaranlage/total/YieldTotal"
40 device_class: "energy"
41 unit_of_measurement: "kWh"
42 state_class: "total_increasing"
43
44 - name: "hm800_yieldday"
45 state_topic: "solaranlage/total/YieldDay"
46 device_class: "energy"
47 unit_of_measurement: "Wh"
48 state_class: "measurement"
49
50 - name: "hm800_maxpower"
51 state_topic: "solaranlage/hm800/ch0/MaxPower"
52 device_class: "power"
53 unit_of_measurement: "W"
54 state_class: "measurement"
Die DTU liefert noch für beide Solarpanel separate Daten, die ich hier nicht weiter aufgeführt habe. Die gesamte yml-Konfigurationsdatei befindet sich hier.
Grafana
Grafana ist im Moment das Visualisierungstool meiner Wahl. Ich nutze es für diverse Daten, die in meiner Hausautomation erfasst werden. Home Assistant schreibt dazu Daten in eine Influx-Datenbank. Grafana greift wiederum auf die Influx-DB zu, und stellt die Daten in Dashboards da.
Die Grafik oben zeigt einen typischen Leistungsverlauf meiner Solaranlage. Die Solarpanel sind auf meinem Schuppendach installiert und haben eine optimale Ausrichtung in Südrichtung. Leider gibt es auch einen großen Baum, der zwischen 07:00 und 13:00 für Abschattungen sorgt. Wie man sieht, gibt es gegen 09:00 eine kurze Lücke für mehr Sonnenschein. Die Grafik zeigt außerdem einen wolkenlosen Tag.
In der zweiten Grafik kann man in der zweiten Tageshälfte schön die durch Wolken verursachten Leistungseinbrüche sehen.