Hallo zusammen,
ja Michael für uns DAUs hat kaum einer ein Herz - Wenn mir ein Kollege ne "dumme office Frage" stellt, verdreh ich zugegeben auch innerlich die Augen, mittlerweile weiß ich wie das ist

Also ich hab es jetzt endlich selber geschafft die ominösen 3er Reihen für die Phasen korrekt zu verschicken, bei so viel Kommas, eckigen, runden und geschweiften Klammern, Leerzeichen usw. muss man erstmal den Fehler finden, v.A. dann wenn man da "nur" mit logischem Denken nicht aber mit Programmierverständniss ran gehen kann. Wahrscheinlich deswegen wurde in einschlägigen Foren meine Frage dahingehend auch vornehm ignoriert

. - Aber wird langsam.
Kurzum, auch wenn es scheint das die Werte für Spannung Strom und Wirkleistung der einzelnen Phasen nicht wichtig waren bei mir läuft jetzt wirklich alles. Und das erste Mal Überschussladen seit Sommer hab ich auch schon hinter mir, somit ist die OpenWB auch bei mir wieder mehr wie ne Steckdose und ich muss sagen, auch wenn noch nicht alles was ich gerne fürs selbe Feeling gehabt hätte auf dem Stand der 1.9er ist, sie fängt mir wieder an richtig Spaß zu machen - so soll es sein!
Anbei für alle Nachmacher da draußen - sollte es noch welche geben - der komplette Code für zwei Wechselrichter mit Speicher welchen man per File Editor, Studio Code Server oder ähnlichem in Home Assistant in die automations.yaml copy/pasten kann (...also nehm ich an...). Denn ob das mit den Kopieren der einzelnen ID Schlüssel so funktioniert weiß ich nich / hab ich nicht getestet.
Alternative wäre die Code Zeilen sinnvoll zu zerlegen. Jede Automation beginnt mit "
- id: 'XXXXXXXXX" und Endet mit "
mode: single". Die einzlenen Blöcke kann man dann ohne die ID-Zeile wie in der ursprünglichen Anleitung unter 6.2 Beschrieben direkt als YAML Code in die Automatisierung packen. Es sind insgesamt 14 Automationen die dabei raus kommen (hab urpsünglich falsch gezählt).
So oder so muss man die Automatisierungen noch auf die eigenen Umgebungen anpassen, d.h. eigene Entitäten und eigene MQTT Adressen bzw. deren IDs wie beschrieben ändern.
Zum Verständniss der folgenden Zeilen: Der 17kW auf Süd ist mein Slave, der 10kW auf Nord mein Master
Code: Alles auswählen
# ab hier Huawei zu OpenWB Datenübertragung
- id: '1704281428974'
alias: -> OpenWB Südleistung
description: Sendet 17kW WR Leistung an OpenWB
trigger:
- platform: state
entity_id:
- sensor.wr_17_kw_eingangsleistung_2
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/pv/5/get/power
payload: '{{states(''sensor.wr_17_kw_eingangsleistung_2'') | float *-1}}'
mode: single
- id: '1704298877870'
alias: -> OpenWB Südertrag
description: Sendet 17kW WR Ertrag an OpenWB
trigger:
- platform: state
entity_id:
- sensor.wr_17_kw_gesamtenergieertrag_2
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/pv/5/get/exported
payload: '{{states(''sensor.wr_17_kw_gesamtenergieertrag_2'') | float *1000}}'
mode: single
- id: '1704390903548'
alias: -> OpenWB Zähler Ströme
description: Sendet Ströme aller Phasen an openWB
trigger:
- platform: state
entity_id:
- sensor.dtsu_phasea_stromstarke
- sensor.dtsu_phaseb_stromstarke
- sensor.dtsu_phasec_stromstarke
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/counter/0/get/currents
payload: '{{[states(''sensor.dtsu_phasea_stromstarke'') | float *-1, states(''sensor.dtsu_phaseb_stromstarke'')
| float *-1, states(''sensor.dtsu_phasec_stromstarke'') | float *-1]}}'
mode: single
- id: '1704397890625'
alias: -> openWB Nordleistung
description: Sendet 10kW WR Leistung an OpenWB
trigger:
- platform: state
entity_id:
- sensor.wr_10_kw_eingangsleistung
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/pv/1/get/power
payload: '{{states(''sensor.wr_10_kw_eingangsleistung'') | float *-1}}'
mode: single
- id: '1704398248449'
alias: Neue Automatisierung
description: ''
trigger: []
condition: []
action: []
mode: single
- id: '1704399051454'
alias: -> OpenWB Bat Leistung
description: Sendet Luna Lade/Entladeleistung an OpenWB
trigger:
- platform: state
entity_id:
- sensor.luna_15_kwh_lade_entladeleistung
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/bat/2/get/power
payload: '{{states(''sensor.luna_15_kwh_lade_entladeleistung'') | float}}'
mode: single
- id: '1704399362819'
alias: -> OpenWB Bat Geladene Strommenge
description: Sendet bisher geladene Strommenge der Luna an OpenWB
trigger:
- platform: state
entity_id:
- sensor.luna_15_kwh_gesamtladung
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/bat/2/get/imported
payload: '{{states(''sensor.luna_15_kwh_gesamtladung'') | float *1000}}'
mode: single
- id: '1704399477005'
alias: -> OpenWB Bat Entladene Strommenge
description: Sendet bisher entladene Strommenge der Luna an OpenWB
trigger:
- platform: state
entity_id:
- sensor.luna_15_kwh_gesamtentladung
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/bat/2/get/exported
payload: '{{states(''sensor.luna_15_kwh_gesamtentladung'') | float *1000}}'
mode: single
- id: '1704399632834'
alias: -> OpenWB Bat SOC
description: Sendet SoC der Luna an OpenWB
trigger:
- platform: state
entity_id:
- sensor.luna_15_kwh_batterieladung
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/bat/2/get/soc
payload: '{{states(''sensor.luna_15_kwh_batterieladung'') | float }}'
mode: single
- id: '1704490721405'
alias: -> openWB Zähler Export
description: Sendet die Gesamte Einspeiseleistung an openWB
trigger:
- platform: state
entity_id:
- sensor.dtsu_exportierte_energie
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/counter/0/get/exported
payload: '{{states(''sensor.dtsu_exportierte_energie'') | float}}'
mode: single
- id: '1704491091807'
alias: -> openWB Zähler Import
description: Sendet die Gesamte Bezugsmenge an openWB
trigger:
- platform: state
entity_id:
- sensor.dtsu_verbrauch
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/counter/0/get/imported
payload: '{{states(''sensor.dtsu_verbrauch'') | float}}'
mode: single
- id: '1704491265884'
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
- id: '1704491351685'
alias: -> openWB Zähler Netzfrequenz
description: Sendet die Netzfrequenz an openWB
trigger:
- platform: state
entity_id:
- sensor.dtsu_frequenz
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/counter/0/get/frequency
payload: '{{states(''sensor.dtsu_frequenz'') | float}}'
mode: single
- id: '1704491421594'
alias: -> openWB Zähler Spannungen
description: Sendet die Spannungen an openWB
trigger:
- platform: state
entity_id:
- sensor.dtsu_phase_a_spannung
- sensor.dtsu_phase_b_spannung
- sensor.dtsu_phase_c_spannung
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/counter/0/get/voltages
payload: '{{[states(''sensor.dtsu_phase_a_spannung'') | float, states(''sensor.dtsu_phase_b_spannung'')
| float, states(''sensor.dtsu_phase_c_spannung'') | float]}}'
mode: single
- id: '1704491881490'
alias: -> openWB Zähler Wirkleistungen
description: Sendet die Wirkleistungen an openWB
trigger:
- platform: state
entity_id:
- sensor.dtsu_phase_a_wirkleistung
- sensor.dtsu_phase_b_wirkleistung
- sensor.dtsu_phase_c_wirkleistung
- platform: time_pattern
hours: /1
condition: []
action:
- service: mqtt.publish
data:
qos: '0'
topic: openWB/set/counter/0/get/powers
payload: '{{[states(''sensor.dtsu_phase_a_wirkleistung'') | float *-1, states(''sensor.dtsu_phase_b_wirkleistung'')
| float *-1, states(''sensor.dtsu_phase_c_wirkleistung'') | float *-1]}}'
mode: single
Btw.: Mittlerwile läuft neben meinen Solardaten auf meinem Home Assistant, die komplette Integration meiner Wärmepumpe über Heishamon, ein MBusino der sich die Werte meines Wärmemengenzählers per MBus hohlt, eine Integration meines Autos, 9 Shellys, InfluxDB zur Langzeitdatenspeicherung, ich errechne mir den Tages COP usw. und lass das alles schön in Grafana darstellen. War/ist also am Ende ein durchaus sehr gelungenes wenn auch zeitintensives Winterprojekt auch wenn es anfänglich nur dazu diente die OpenWB wieder zum laufen zu bekommen...