Hier nun meine Lösung für die Übertragung der Werte - auch bei zwei+ Wechselrichtern:
Für
einen Wechselrichter empfehle ich pers. ausdrücklich weiterhin das Tool von Alex, der Aufwand ist hier doch
einiges geringer, außer Ihr verwendet bereits Home Assistant oder möchtet das in naher Zukunft.
Denn das ist der Knackpunkt - für Home Assistant (HA) gibt es eine zuverlässige Integration die die Werte der Wechselrichter über Modbus TCP abruft, ohne weitere Bridge, Werte kommen direkt aus dem LAN vom Wechselrichter. Also letzten endes das was wir uns von OpenWB als Modul wünschen würden
. Insofern ist meine Lösung weiterhin als Workaround für die eigentliche Problemstellung zu betrachten. Aber es funktioniert eben auch bei WR Kaskaden und bietet ohnehin weitere Vorteile, gerade im Bereich Darstellung, Datenanalyse und natürlich SmartHome. Die Realisierung ist nicht gerade ein 2h Ding, aber wenn man erstmal weiß wie
gut umzusetzen, und das sage ich als absolute Programmier Null. Die Huawei Integration im Home Assistant läuft bereits seit vor Weihnachten zuverlässig.Dieser Workaround funktioniert jetzt bei mir seit zwei Tagen ebenfalls zuverlässig. Mein Dank geht neben Alex auch an MatzeL der mich mit der Weiterleitung des SOCs unter HA per MQTT auf die richtige Fährte gelockt hat.
Ich versuche mich an einer einigermaßen kurz und bündigen aber dennoch DAU verständlichen kompletten 0-100% Anleitung:
(Der eigentliche Kniff bei Punkt 6 ff)
Ihr braucht: Wie auch bei der "Alex Bridge" ein weiteres Gerät (aber keine 2 für zwei WR, 3 für 3 usw....). Ein PI für Home Assistant sollte schon etwas mehr Leistung haben, wer sich aber alleine auf nur diesen Anwendungsfall beschränkt, der müsste mit einem PI 3b(+) hinkommen. Allerdings läuft HA auch auf X86 Geräten, deswegen habe ich mir einen gebrauchten Intel NUC (Stromaufnahme unter 10W) für 90€ gekauft, war im Vergleich zum PI4 relativ günstig und hab viel mehr Luft nach oben. Hier und zur Installation von HA auf div. Hardware empfehle ich den Youtube Kanal von Simon42, deswegen gehe ich von einem frisch installierten lauffähigen HA aus.
1. Zunächst muss Modbus TCP bei der Huawei (Kaskade) aktivieren werden, hierzu empfehle ich die bebilderte Anleitung von Smartfox bis Seite 8.
https://smartfox.at/wp-content/uploads/ ... 1.2023.pdf
2. Dann muss bei eurem Home Assistant wiederum die Huawei Integration Installieren werden. Dafür braucht ihr zunächst den HACS (Home Assistant Communitiy Store), wie man den Installiert findet man ebenfalls gut auf Youtube, kein Hexenwerk. Ist das getan, die besagte Huawei Integration über HACS suchen und herunterladen. Wichtig es handelt sich um diese:
https://github.com/wlcrs/huawei_solar die wird auch gepflegt und aktuell gehalten und sie funktioniert eben über Modbus TCP.
3. Bei HA ist es immer so das heruntergeladene Integrationen noch nicht installiert/konfiguriert sind. Dazu : Einstellungen -> Geräte & Dienste -> Integration Hinzufügen (blaue Schaltfläche rechts unten) -> Huawei Solar auswählen.
3.1 Jetzt muss konfugiert werden damit HA bzw. die Huawei Integration die Daten vom WR auch bekommt. Um auf die in Punkt 1 angegte Schnitstelle in eurem LAN zuzugreifen müsst Ihr deren IP kennen. Dafür in den Router/Fritzbox schauen, bei mir erscheint sie als "lwip". Diese IP in die Konfiguration eintragen. Port 502 belassen. Bei den IDs werden die Internen IPs verlangt die Huawei für die Wechelrichter vergibt, jeweils mit Komma getrennt. In meinem Fall "1,16". Wenn keine Verbindung hergestellt werden kann, dann statt Port 502 den Port 6607 probieren.
Jetzt Aufpassen: Bei Erfolgreicher Verbindung wird angezeigt welche Geräte er gefunden hat, denn HA möchte diesen Bereichen zuordnen (Bereiche sind für den konkreten Anwendungsfall egal ist, ich habe alles in den Bereich "PV" gesteckt). Im Bestfall werden jetzt ALLE Wechselrichter, DTSU und Luna erkannt. Bei Zwei Wechselrichtern sind das 4 Geräte. Wenn hier ein WR nicht gefunden wird, dann passen die IDs nicht.
Abbrechen und nochmal konfigurieren man kann "1,100" oder "0,1" probieren, aber statt im Dunkelen zu stochern kann man die IDs auch auslesen. Möglichkeit A: Ihr habt nen Installer Zugang bei Huawei, dann einfach dort nacheinander auf die Wechselrichter gehen, im Reiter Konfiguration gibt es den festen Wert "Modbus Adresse".
Möglichkeit B: Mit dem Handy nacheinander auf den Wechselrichter anmelden, über "Ich" ein ein neues Gerät anmelden, den eigentlichen Anmeldeprozess abbrechen und in der Konfiguration des Netzwerkadapters nachschauen welche Modbus Adresse dort eingetragen ist.
Wenn alles erfolgreich abgelaufen ist und die Anzahl der Geräte passt, abschließen und man man ZAHLLOSE Werte (in HA Sprech = Entitäten) die man auslesen kann, diese werden in "Echtzeit" übermittelt und man kann allerlei Graphen daraus bauen, Auswertungen fahren, Automatisierungen damit usw. aber darum geht es ja nicht...
4. Jetzt müssen einzelne Werte an die OpenWB übermittelt werden. Das klappt dank der guter MQTT Integration von OpenWB eben mit MQTT. HA braucht hierfür aber zunächst einen MQTT Broaker, hierfür "Mosquitto" nehmen (Installation Siehe zahlreiche Videotutorials auf Youtube, letztlich einfach die Integration im Store suchen und installieren - mehr muss nicht getan werden). Ist das Erledigt muss dieser konfiguriert werden und zwar folgendermaßen:
(IP Adresse natürlich entsprechend EURER OpenWB)
Jetzt ist HA prinzipiell dafür vorbereitet jeglichen Spaß (auch SOC Werte
) an die OpenWB "zu verschicken"...
5. In der OpenWB müssen Jetzt MQTT Zähler und Wechselrichter per eingerichtet werden. Wie das geht hat Alex in seinem Video hervorragend erklärt - Danke an der Stelle:
https://www.youtube.com/watch?v=nb7wcyGZLEE&t=1s - im konkreten Fall der Abschnitt bei Minute bei 7:30 bis 8:43.
6. Jetzt kommt die eigentliche Fleißarbeit
Denn jetzt muss für
jeden Huawei Wert aus HA hat eine Automatisierung geschrieben werden dass dieser bei Änderung des Wertes an die OpenWB übertragen wird.
Möglicherweiseginge das alles zusammen in einer gebündelten Automatisierung, oder generell eleganter - aber....
Das Individuelle Problem ist, dass bei Jedem sowohl in HA die Entitäten anders heißen können/werden, als auch dass die IDs in der OpenWB für die MQTT Topics möglicherweise bei Jedem andere sind, denn mit jedem mal löschen/hinzufügen eines MQTT-Zählers, -Wechselrichters usw. klettert in OpenWB die MQTT ID eines weiter hoch! Also bleibt nur Handarbeit. Im Beispiel exzerziere ich die Datenweiterleitung des Leistungswert des Zählers durch:
6.1 In openWB muss zunächst das Topic (also der Ablageort für die Daten die über MQTT von HA kommen ermitelt werden) findet man hier. Das Topic lässt sich direkt kopieren.
6.2 In HA eine neue Automatisierung erstellen -> Einstellungen -> Automatisierungen & Szenen -> +Automatisierung Erstellen (blau unten rechts) -> neue Automatisierung erstellen. Dann den Visuellen Editor verlassen -> oben rechts die drei Punkte "Als YAML Bearbeiten" auswählen. Dann Copy Paste diese Zeilen:
Code: Alles auswählen
alias: "-> openWB Zähler Wirkleistung ges."
description: Sendet die Wirkleistung an openWB
trigger:
- platform: state
entity_id:
- sensor.dtsu_wirkleistung
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: "0"
topic: openWB/set/counter/0/get/power
payload: "{{states('sensor.dtsu_wirkleistung') | float *-1}}"
mode: single
Dieser Code sorgt dafür, das automatisch bei Wertänderung und zusätzlich nochmal jede Stunde der Wert des Sensors "Wirkleistung" an die OpenWB in das dafür vorgesehene Topic übertragen wird. ABER Er muss wie erwähnt eben situativ angepasst werden. Dazu wieder über die drei Punkte in den Visuellen Editor wechseln. Ganz oben unter "Auslöser" dafür noch eure entsprechende tatsächlich vorhandene Entität auswählen - wie aus dem Code zu entnehmen heißt die bei mir "sensor.dtsu_wirkleistung" - aber das ist eben individuell.
Dann noch ein weiteres mal wieder zurück in den YAML Editor, und jetzt den namen eurer spezifischen eben richtig ausgewählten Sensor Entität für den Sensor Wirkleistung von oben kopieren und unten in der Codezeile beginnend mit Payload mit meinigem ersetzten. Anm.: In OpenWB sind Einspeisewerte negativ bei HA positiv, also muss hierzu noch ein "*-1" hinzugefügt werden. Das muss Bspw. bei den Spannungen usw. natürlich nicht gemacht werden. In der OpenWB (Siehe Punkt 6.1) im Fließtext findet man dazu allerdings jeweils einen Hinweis. Nach Abspeichern startet die Automatisierung automatisch.
6.3 Jetzt in der OpenWB die Oberfläche bei Status "Zähler" aufklappen und schauen ob Werte kommen - wenn nicht Schritt 6.2 nochmal kontrollieren.
6.4 Das ganze nun mit jedem Wert durchspielen. Dafür sind mit zwei Wechselrichtern und Luna insgesamt 13 (bzw. 11 siehe Punkt 6.5) Automaisierungen fällig. Also 13x das selbe Spiel. Anmerkung: Den Zählerstand der Wechselrichter bewusst NICHT übertragen, sonst erkennt die OpenWB BatterieAUSspeisungen aus dem Hybrid WR als Solarertrag. (Zählerstände der Luna sind GESAMTErträge diese müssen übertragen werden). Außerdem können die Leistungsfaktor im Zählermodul vernachlässigt werden.
6.5 Und weils so schön ist das "Beste" zum Schluss, als kleine Gemeinheit bestehen die Zählerwerte für Spannung und Strom aus 3 Werten die man in der Automatisierung verknüpfen, nicht verrechnen, müsste. Bisher habe ich keine Lösung dafür - wie gesagt Programmier DAU - aber läuft offenbar auch ohne...