Vaillant Recovair 275 aus Home Assistant steuern

Für die Steuerung der Vaillant Recovair 275 aus dem Home Assistant heraus, bietet sich eine Hardware-Lösung an. Die Recovair hat verschiedene Eingänge:

Leider ist die Auswahl an potential-freien Relais bei Shelly sehr begrenzt, nämlich genau eines: Shelly Plus 1.

Das Relais lässt sich dafür mit einem Steckernetzteil betreiben (praktisch und sicher):

Wenn man am Shelly die beiden Input + Output Anschlüsse benutzt um an der Recovair am Port X11 einen Kontakt zwischen 0 und H herzustellen, hat man schon alles was man braucht:

Na gut, es ist nur ein 2-Stufen-Schalter (offen und 0 auf H aber nicht 0 auf D). Dafür könnte man ein zweites Relais benutzen, dann muss man nur sicherstellen, daß nicht beide gleichzeitig aktiv sind. Aber die Lüftungsstufe High aktivierbar zu machen reicht mir. 0 auf D ist ja ohnehin das normale Tagesprogramm, welches die Automatik meistens ohnehin ansteuert.

Im Home Assistant geht das über die normale Shelly-Integration und sieht dann so aus:

Aktiviert man den Schalter, aktiviert man den High-Betrieb. Schaltet man ihn aus, geht das Gerät zurück in was auch immer man programmiert hat und sonst jetzt gerade aktiv wäre.

Damit der High-Modus nicht tagelang aktiv bleibt, gibt es noch eine Automatisierung im Home Assistant, die nach drei Stunden den Schalter wieder aufhebt:

Damit ein frisch gestarteter Shelly (Firmware Update, …) den High-Modus nicht versehentlich aktiviert, sollte man im Shelly noch die Action on power auf OFF setzen:

 

eBusD und Vaillant Recovair 275

Die Vaillant Recovair 275 ist etwas eigenartig. An den Sensocomfort lässt sie sich nicht anbinden, obwohl die ein eBus-Gerät ist. Aus dem Installationshandbuch:

Das Sensocomfort-Display bleibt einfach dunkel, wenn man es trotzdem probiert. Schade, das original Bedienpanel ist schon ziemlich rudimentär.

Also muss wieder der eBus-Adapter ran, der vertragt sich nämlich mit der Recovair 275, auch parallel mit dem Bediengerät. Der Anschluss ist einfach, der eBus ist extern (rechts unten am Gerät) rausgeführt, dort wird auch die Fernbedienung angeschlossen:

Den Adapter kann man einfach parallel mit auflegen.

Das eBus Addon für den Home Assistant kann leider nicht mit zwei Adaptern umgehen, das ist wohl zu sehr Nische. Also kommt ein neuer eBusD auf den PiHole mit drauf und postet von dort auf dem Home Assistant MQTT-Broker. Angebunden wird der eBus-Adapter über Wifi.

Die Konfiguration sieht dann so aus:

# /etc/default/ebusd:
# config file for ebusd service.
# Options to pass to ebusd (run "ebusd -?" for more info):
EBUSD_OPTS="--latency=10 --scanconfig --port=8888 --device=ens:192.168.0.123:9999 --configpath=/home/bla/ebusd-configuration/ebusd-2.1.x/de --mqttint=/etc/ebusd/mqtt-hassio.cfg --mqttjson --mqtthost 192.168.0.999 --mqttport 1883 --mqtttopic=recovair --mqttvar='area=recovair' —mqttuser=user —mqttpass=password --mqttvar=filter-direction=r|u| --log=all:notice --log=update:error"

Der eBusD findet dann zwei Geräte auf dem Bus: die Recovair (ID=WTW04) und das Bedienpanel (ID=VAI00). Dafür brauchen wir zwei CSV-Dateien. Insbesondere das FHEM-und das Loxone-Forum war hier sehr hilfreich. Dort finden sich verschiedene Versionen für verschiedene Recovair-Modelle. Nach etwas basteln und testen sind diese beiden Dateien entstanden:

Fernbedienung 15.vai00.csv:

# Before constructing the variable replacements, the messages and fields can optionally be filtered in order to use
# type (r[1-9];w;u),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment
#,recov,RecoVair 275,,,,,,,,,,,
# ##### Generell #####,,,,,,,,,,,,,
*r,,,,,,B509,0D,,,,,,
*w,,,,,,B509,0F,,,,,,
r;w,,Lueftungsstufe,Lueftungsstufe,,,,2400,,,UCH,1=Tag;2=Aus;3=Auto;5=Nacht,,
r;w,,Lueftung_HI,Lueftung_HI,,,,5800,,,BCD:2,,,
r,,Uhrzeit,Uhrzeit,,,,2C00,,,VTI,,,
#

Für die Recovair 275 c0.wtw04.csv:

# type (r[1-9] w u ),circuit,name,[comment],[QQ],ZZ,PBSB,[ID],field1,part (m/s),datatypes/templates,divider/values,unit,comment
#,recov,RecoVair 275,,,,,,,,,,,
############ Luftvolumen################,,,,,,,,,,,,,
*r,,,,,,B509,0D,,,,,,
*w,,,,,,B509,0E,,,,,,
w,,Lueftung = 50m³/h,Lueftung = 50m³/h,,,,1500a600,,,,,,
w,,Lueftung = 55m³/h,Lueftung = 55m³/h,,,,1500b700,,,,,,
w,,Lueftung = 60m³/h,Lueftung = 60m³/h,,,,1500c800,,,,,,
w,,Lueftung = 65m³/h,Lueftung = 65m³/h,,,,1500d800,,,,,,
w,,Lueftung = 70m³/h,Lueftung = 70m³/h,,,,1500e900,,,,,,
w,,Lueftung = 75m³/h,Lueftung = 75m³/h,,,,1500fa00,,,,,,
w,,Lueftung = 80m³/h,Lueftung = 80m³/h,,,,15000a01,,,,,,
w,,Lueftung = 85m³/h,Lueftung = 85m³/h,,,,15001b01,,,,,,
w,,Lueftung = 90m³/h,Lueftung = 90m³/h,,,,15002c01,,,,,,
w,,Lueftung = 95m³/h,Lueftung = 95m³/h,,,,15003c01,,,,,,
w,,Lueftung = 100m³/h,Lueftung = 100m³/h,,,,15004d01,,,,,,
w,,Lueftung = 105m³/h,Lueftung = 105m³/h,,,,15005e01,,,,,,
w,,Lueftung = 110m³/h,Lueftung = 110m³/h,,,,15006e01,,,,,,
w,,Lueftung = 115m³/h,Lueftung = 115m³/h,,,,15007f01,,,,,,
w,,Lueftung = 120m³/h,Lueftung = 120m³/h,,,,15009001,,,,,,
w,,Lueftung = 125m³/h,Lueftung = 125m³/h,,,,1500a001,,,,,,
w,,Lueftung = 130m³/h,Lueftung = 130m³/h,,,,1500b101,,,,,,
w,,Lueftung = 135m³/h,Lueftung = 135m³/h,,,,1500c201,,,,,,
w,,Lueftung = 140m³/h,Lueftung = 140m³/h,,,,1500d201,,,,,,
w,,Lueftung = 145m³/h,Lueftung = 145m³/h,,,,1500e301,,,,,,
w,,Lueftung = 150m³/h,Lueftung = 150m³/h,,,,1500f401,,,,,,
w,,Lueftung = 155m³/h,Lueftung = 155m³/h,,,,15000402,,,,,,
w,,Lueftung = 160m³/h,Lueftung = 160m³/h,,,,15001502,,,,,,
w,,Lueftung = 165m³/h,Lueftung = 165m³/h,,,,15002602,,,,,,
w,,Lueftung = 170m³/h,Lueftung = 170m³/h,,,,15003602,,,,,,
w,,Lueftung = 175m³/h,Lueftung = 175m³/h,,,,15004702,,,,,,
w,,Lueftung = 180m³/h,Lueftung = 180m³/h,,,,15005802,,,,,,
w,,Lueftung = 185m³/h,Lueftung = 185m³/h,,,,15006802,,,,,,
w,,Lueftung = 190m³/h,Lueftung = 190m³/h,,,,15007902,,,,,,
w,,Lueftung = 195m³/h,Lueftung = 195m³/h,,,,15008a02,,,,,,
w,,Lueftung = 200m³/h,Lueftung = 200m³/h,,,,15009a02,,,,,,
w,,Lueftung = 205m³/h,Lueftung = 205m³/h,,,,1500ab02,,,,,,
w,,Lueftung = 210m³/h,Lueftung = 210m³/h,,,,1500bc02,,,,,,
w,,Lueftung = 215m³/h,Lueftung = 215m³/h,,,,1500cc02,,,,,,
w,,Lueftung = 220m³/h,Lueftung = 220m³/h,,,,1500dd02,,,,,,
w,,Lueftung = 225m³/h,Lueftung = 225m³/h,,,,1500ee02,,,,,,
w,,Lueftung = 230m³/h,Lueftung = 230m³/h,,,,1500fe02,,,,,,
w,,Lueftung = 235m³/h,Lueftung = 235m³/h,,,,15000f03,,,,,,
w,,Lueftung = 240m³/h,Lueftung = 240m³/h,,,,15002003,,,,,,
w,,Lueftung = 245m³/h,Lueftung = 245m³/h,,,,15003003,,,,,,
w,,Lueftung = 250m³/h,Lueftung = 250m³/h,,,,15004103,,,,,,
w,,Lueftung = 255m³/h,Lueftung = 255m³/h,,,,15005203,,,,,,
w,,Lueftung = 260m³/h,Lueftung = 260m³/h,,,,15006203,,,,,,
w,,Lueftung = 265m³/h,Lueftung = 265m³/h,,,,15007303,,,,,,
w,,Lueftung = 270m³/h,Lueftung = 270m³/h,,,,15008403,,,,,,
w,,Lueftung = 275m³/h,Lueftung = 275m³/h,,,,15009403,,,,,,
w,,Lueftung = 280m³/h,Lueftung = 280m³/h,,,,1500a503,,,,,,
w,,Lueftung = 285m³/h,Lueftung = 285m³/h,,,,1500b603,,,,,,
w,,Lueftung = 290m³/h,Lueftung = 290m³/h,,,,1500c603,,,,,,
w,,Lueftung = 295m³/h,Lueftung = 295m³/h,,,,1500d703,,,,,,
w,,Lueftung = 300m³/h,Lueftung = 300m³/h,,,,1500e803,,,,,,
r;w,,Soll-Volumenstromkorrektur,Soll-Volumenstromkorrektur,,,,2000,,,D1B,,,
r9;w,,Waermerueckgewinnung,Waermerueckgewinnung,,,,0a00,,,UCH,1=EIN;2=AUS,,
*r,,,,,,B509,29,,,IGN:2,,,
r1;w,,TempInletAir_SAI,Temperatur Zuluft,,,,0100,,,temp,,,
r1;w,,TempOutsideAir_SAO,Temperatur Aussenluft,,,,0200,,,temp,,,
r1;w,,TempWasteAir_EAI,Temperatur Abluft,,,,0300,,,temp,,,
r1;w,,TempOutgoingAir_EAO,Temperatur Fortluft,,,,0400,,,temp,,,
r1;w,,Roomtemp,Zimmertemperatur,,,,0000,,,temp,,,
r;w,,Unterdruckschutz,Unterdruckschutz,,,,4700,,,UCH,1=AN;0=AUS,,
r5;w,,Ertrag_Gesamt_kWh,Ertrag_Gesamt_kWh,,,,4d00,,,UIN,,,
r5;w,,Heatrecovery,Wärmerueckgewinnung,,,,8c03,,,UCH,0=auto;1=on;2=off,,Aktuelle Uhrzeit
r;w,,Desiredtemp,Wunschtemp,,,,140e,,,temp,,°C,
*r,,,,,,B509,29,,,,,,r9,,BypassStellung,BypassStellung,,,,0900,,,IGN:2;percent0,,,

Die Dateien:

Lässt man den eBusD eine Weile laufen, sammeln sich einige relevante Werte an:

$ebusctl -p 8888 find -d -r -w -p
broadcast queryexistence = (empty for 31fe07fe00 / )
broadcast signoflife = (empty for 10fe07ff00 / )
scan.15 = Vaillant;VAI00;0125;8901
scan.15 id = 21;11;24;0020015281;0907;005605;N3
scan.c0 = Vaillant;WTW04;0127;9001
scan.c0 id = 21;11;33;0010005354;0006;005593;N5
vai00 Lueftung_HI = 0
vai00 Lueftungsstufe = Auto
vai00 Uhrzeit = 19:59:11
wtw04 BypassStellung = 0
wtw04 Ertrag_Gesamt_kWh = 54160
wtw04 Lueftung = 70m³/h = (empty for 10c0b509050e1500e900 / 00)
wtw04 Roomtemp = 17.94
wtw04 Soll-Volumenstromkorrektur = 5
wtw04 TempInletAir_SAI = 7.50
wtw04 TempOutgoingAir_EAO = 11.88
wtw04 TempOutsideAir_SAO = 16.38
wtw04 TempWasteAir_EAI = 17.56
wtw04 Unterdruckschutz = AN
wtw04 Waermerueckgewinnung = EIN

Das kann dann in Home Assistant so aussehen:

Die Messwerte sind etwas daneben; die Thermometer sind halt im Gerät nahe am Wärmetauscher verbaut. Wenn die Frischluft bis dahin gekommen ist, hat sie sich ja schon erwärmt.

So richtig viel steuern kann man bei der Recovair 275 nicht, im Kern liefert sie einige interessante Temperatur-Messwerte. Die verfügbaren Informationen:

$ ebusctl -p 8888 find -F circuit,name,comment
broadcast,datetime,Datum/Uhrzeit
broadcast,error,Fehlernachricht
broadcast,hwcStatus,Status Warmwasser
broadcast,id,Identifikation
broadcast,id,Identifikation
broadcast,load,Quick - WW Speicherladung
broadcast,outsidetemp,Außentemperatur
broadcast,signoflife,Lebenszeichen
broadcast,vdatetime,Datum/Uhrzeit
general,valuerange,Register Wertebereich
memory,eeprom,EEPROM Daten lesen
memory,ram,RAM Daten lesen
scan,id,Scan ID
scan.15,,
scan.15,id,Scan ID
scan.c0,,
scan.c0,id,Scan ID
vai00,Lueftung_HI,Lueftung_HI
vai00,Lueftungsstufe,Lueftungsstufe
vai00,Uhrzeit,Uhrzeit
wtw04,BypassStellung,BypassStellung
wtw04,Desiredtemp,Wunschtemp
wtw04,Ertrag_Gesamt_kWh,Ertrag_Gesamt_kWh
wtw04,Heatrecovery,Wärmerueckgewinnung
wtw04,Roomtemp,Zimmertemperatur
wtw04,Soll-Volumenstromkorrektur,Soll-Volumenstromkorrektur
wtw04,TempInletAir_SAI,Temperatur Zuluft
wtw04,TempOutgoingAir_EAO,Temperatur Fortluft
wtw04,TempOutsideAir_SAO,Temperatur Aussenluft
wtw04,TempWasteAir_EAI,Temperatur Abluft
wtw04,Unterdruckschutz,Unterdruckschutz
wtw04,Waermerueckgewinnung,Waermerueckgewinnung

Wärmekreislauf in Home Assistant

Eine Live-Anzeige des Wärmepumpen-Kreislaufes in Home Assistant:

Die Messwerte kommen über den eBusD und myPyllant aus der Vaillant ArothermPlus. Das Wärmekreislauf-Bild kann man als Picture Element einbinden, im Prinzip ist das nur ein Hintergrundbild. Und dann habe ich einfach die Temperaturen als State-Label Elemente darauf gelegt. Die Positionen der Temperaturen kann man sich über die Prozent-Angaben zurecht schieben.

Das Hintergrund-Bild kann Home Assistant selber hosten. Nach Anleitung lässt sich das integrierte Hosting aktivieren. Das SSH-Addon hat SCP-Support, damit kann man dann das Bild auf den Home Assistant raufschieben:

scp wp.png benutzer@192.168.0.999:/root/config/www/wp.png

Danach muss man HA einmal durchstarten.

Wenn man die State-Label (die Temperaturen) anklickt, bekommt man sogar noch die Detail-Seite zu dem jeweiligen Sensor angezeigt:

 

So sieht das im Home Assistant Editor dann aus:

type: picture-elements
title: Kreislauf
image: http://192.168.0.999:8123/local/wp.png
elements:
- type: state-label
  entity: sensor.outdoor_temperature
  style:
    top: 51%
    left: 10%
- type: state-label
  entity: sensor.arotherm_hmu00_airintaketemp
  style:
    top: 30%
    left: 9%
- type: state-label
  entity: sensor.arotherm_hmu00_compressorinlettemp_temps2
  style:
    top: 12%
    left: 40%
- type: state-label
  entity: sensor.arotherm_hmu00_compressoroutlettemp_temps2
  style:
    top: 12%
    left: 61%
- type: state-label
  entity: sensor.arotherm_hmu00_condensationtemp_temps2
  style:
    top: 30%
    left: 90%
- type: state-label
  entity: sensor.arotherm_hmu00_setmode_flowtempdesired
  style:
    top: 51%
    left: 90%
- type: state-label
  entity: sensor.arotherm_hmu00_condensoroutlettemp_temps2
  style:
    top: 64%
    left: 90%
- type: state-label
  entity: sensor.arotherm_hmu00_electronicexpansionvalveoutlettemp_temps2
  style:
    top: 76%
    left: 41%
- type: state-label
  entity: sensor.arotherm_hmu00_evaporationtemp_temps2
  style:
    top: 64%
    left: 9%

Spook 👻 Not your homie.

Endlich ein Haushälter mit Staubsauger für Home Assistant: Spook.

In meinem Home Assistant haben sich viele Karteileichen angesammelt, die endlich mal jemand wegräumt: Spook.

Kann neben Aufräumen noch mehr: Dashboards prüfen, Geräte an- und ausschalten, …

Bei den ganzen Experimenten mit eBusD, … hat sich eine Menge Schrott angesammelt. Und in Home Assistant muss man die Leichen sonst alle manuell raustragen. Ein sehr nützlicher Geist der Spook.

Und die Mac-Rechtschreibkontrolle will in diesem Artikel aus Spook ständig Spock machen; der hätte es mit Geistern bestimmt nicht so.

eBusd, Vaillant Wärmepumpe und Home Assistant

Den eBus anzubinden ist nicht so dramatisch, aber eine halbwegs korrekte Konfiguration zu bauen und diese in den Home Assistant zu bringen, kostet viel (wirklich viel) Zeit.

Aber dafür jetzt gibt es wirklich viele Messwerte, einige davon sind recht interessant und über die myVaillant API nicht zu bekommen.

Im Sensocomfort sind quasi nur die gemachten Konfigurationen zu finden, also eher nicht so spannend. Ansonsten sind dort nur einige Verbrauchs- und Ertragswerte zu finden.

Die ArothermPlus (Vaillant VWL 55/6 A) weiß einiges über die Heizungs-Umwälzpumpe, den Kompressor und den Lüfter (Last, Betriebsstunden, Anläufe, …).

Außerdem hat sie

  • Betriebseigenschaften des Kompressors: Verdampfungstemperatur, EEV, …
  • Durchflussmenge, Druck und Temperatur des Heizkreises
  • Zustande PV-Ready, EVU-Sperre, …
  • Betriebsstunden für Heizung, für Warmwasser und Gesamt (Maschinenlaufstunden)
  • Alle möglichen Verbrauchs- und Ertragswerte

Aus der Hydraulikstation (Vaillant VWZ MEH 97/6) bekommt man primär Informationen über die elektrische Zusatzheizung: Betriebsstunden, Temperaturen, Anläufe, Energieverbrauch, … 

Viele Informationen tauchen mehrfach in verschiedenen Geräten auch: Außentemperatur, Innentemperatur, Vor- und Rücklauftemperaturen, … mal gerundet auf zwei Nachkommastellen, mal umgerundet, …

Hier sind die Konfigurations-Dateien: https://github.com/rmalbrecht/ebusd-configuration/tree/master/ebusd-2.1.x/de

  • https://github.com/rmalbrecht/ebusd-configuration/blob/master/ebusd-2.1.x/de/vaillant/08.hmu00.HW5103.SW0901.csv
  • https://github.com/rmalbrecht/ebusd-configuration/blob/master/ebusd-2.1.x/de/vaillant/15.ctlv.SW0514.HW1104.csv
  • https://github.com/rmalbrecht/ebusd-configuration/blob/master/ebusd-2.1.x/de/vaillant/76.vwzio.HW5103.SW0902.csv
  • https://github.com/rmalbrecht/ebusd-configuration/blob/master/ebusd-2.1.x/de/vaillant/f6.netx2.csv
  • https://github.com/rmalbrecht/ebusd-configuration/blob/master/ebusd-2.1.x/de/_templates.csv

Das ist nicht alles auf meinem Mist gewachsen, aber die verschiedenen Quellen in Foren, … zusammen zu sammeln, zu mergen, für Home Assistant zu tweaken, … muss ja nicht jeder neu machen.

Da der eBusD „passiv“ am Bus lauscht und die Nachrichten dekodiert, braucht man etwas Geduld. Nach dem Starten kann es zu einer Stunde dauern, bis alle Werte populiert sind.

Dafür kann man dann sowas machen:

ebus und eebus

Ah. Der Groschen ist gefallen. Manchmal ließt man eBus und manchmal eeBus

Das eine ist eBus-Protokoll über eBus (zwei Draht seriell) und das andere ist eBus-Protokoll über Ethernet.

Der Groschen hat aber eine Weile gebraucht.

Wobei mir nicht klar ist, ob eeBus nicht irgendwie tot ist. Vaillant hat es bei der Umstellung auf die neue App irgendwie vergessen (sollte mal in 23Q3 kommen, jetzt in 24Q1). Solaredge hat eine Pressemitteilung, aber keine lieferbaren Produkte, die Historie in der Wikipedia endet in 2019, …

Könnte zusammen mit dem Ikea Dirigera Matter Update kommen.

Fenecon Rest-API und SG-Ready

Wenn der Home Assistant den aktuellen SG-Ready Status und die Historie anzeigen soll, kann man die Werte aus der Rest-API bekommen. Eine Ergänzung für die rest.yaml:

- resource: "http://192.168.0.123:8084/rest/channel/ctrlIoHeatPump0/.*“
username: x
password: user
authentication: basic
scan_interval: 60
sensor:
  - value_template: '{{value_json | selectattr("address", "equalto", "ctrlIoHeatPump0/Status") | map(attribute="value") | first }}‘
    name: "FEMS SGReady Aktueller Status“
    state_class: measurement
    unique_id: "fems/ctrlIoHeatPump0/Status“
  - value_template: '{{value_json | selectattr("address", "equalto", "ctrlIoHeatPump0/RecommendationStateTime") | map(attribute="value") | first }}‘
    name: "FEMS SGReady Einschaltempfehlung“
    unit_of_measurement: „s“
    device_class: duration
    state_class: measurement
    unique_id: "fems/ctrlIoHeatPump0/RecommendationStateTime“
  - value_template: '{{value_json | selectattr("address", "equalto", "ctrlIoHeatPump0/RegularStateTime") | map(attribute="value") | first }}‘
    name: "FEMS SGReady Normalbetrieb“
    unit_of_measurement: „s“
    device_class: duration
    state_class: measurement
    unique_id: "fems/ctrlIoHeatPump0/RegularStateTime“
  - value_template: '{{value_json | selectattr("address", "equalto", "ctrlIoHeatPump0/ForceOnStateTime") | map(attribute="value") | first }}‘
    name: "FEMS SGReady Einschaltbefehl“
    unit_of_measurement: „s“
    device_class: duration
    state_class: measurement
    unique_id: "fems/ctrlIoHeatPump0/ForceOnStateTime“
  - value_template: '{{value_json | selectattr("address", "equalto", "ctrlIoHeatPump0/LockStateTime") | map(attribute="value") | first }}‘
    name: "FEMS SGReady Sperre“
    unit_of_measurement: „s“
    device_class: duration
    state_class: measurement
    unique_id: "fems/ctrlIoHeatPump0/LockStateTime“

Und noch einen Eintrag in die configuration.yaml, damit es Text und nicht nur einen numerischen Wert gibt:

 


- sensor:
- name: "FEMS SG-Ready Betriebsmodus"
unique_id: "FEMS.SG-Ready.Betriebsmodus"
device_class: enum
state: >
{% if is_state('sensor.fems_sgready_aktueller_status', '1') %}
Normalbetrieb
{% elif is_state('sensor.fems_sgready_aktueller_status', '2') %}
Einschaltempfehlung
{% elif is_state('sensor.fems_sgready_aktueller_status', '3') %}
Einschaltbefehl
{% elif is_state('sensor.fems_sgready_aktueller_status', '0') %}
Sperre
{% else %}
Undefinierter Status
{% endif %}

Aus der Vaillant Wärmepumpe habe ich den Status nicht rausbekommen, die macht einfach was man ihr sagt.

Fenecon Wechselrichter aka GoodWe

Der Fenecon Home Wechselrichter ist ein GoodWe-OEM. In der Zubehörkiste fliegt der Wifi-Stecker rum, der kommt unten an den USB-Port ran und baut dann ein Solar-12345 WLAN auf. Das Passwort ist 12345678 (echt :-).

Auf der 10.10.100.253 findet sich dann ein minimales WebInterface, mit dem man das Netzwerk einrichten kann.

 

Das WebInterface ist insgesamt ziemlich langweilig. Dafür exportiert der Goodwe unglaublich viele Messwerte. Home Assistant hat sogar eine eigene GoodWe-Integration:

Gewaltige 149 Entitäten bringt die Integration mit:

Mir ist beim Durchgucken aber nichts so richtig spannendes aufgefallen, was man vom Fenecon EMS nicht auch bekommen kann. Die Dokumentation von Goodwe ich auch nicht so richtig ausführlich: klick.

SG-Ready im Vaillant Sensocomfort Regler

Damit die Wärmepumpe auch weiß, wie sie auf die SG-Ready Signale des Fenecons reagieren soll, müssen noch einige Einstellungen im Sensocomfort Regler gemacht werden:

Der FB/OT-Eingang ist ein Multifunktionseingang, der kann für verschiedene Dinge genutzt werden. Hier soll er für PV genutzt werden:

Der Warmwasser-Speicher soll geladen werden: