PV-Überschuss (Deye) + Tecalor WP

Hallo zusammen,

ich stehe vor der Herausforderung unsere Wärmepumpe, den Wechselrichter sowie die Wallbox in einem HEMS / EMS zum zusammenzuführen um den PV-Überschuss sinnvoll zu nutzten.

Jetzt habe ich folgende Komponenten sind im Haus verbaut:

  • Wechselrichter Deye 12k ohne Akku
  • Wärmepumpe Tecalor THZ5.5 eco ohne ISG
  • Wallbox (noch in der Anschaffung voraussichtlich Heidelberg Energy Control)
  • 1 Funktionierende Home Assistant Installation.

Die Wahl der Komponenten ist nicht ganz glücklich das weiß ich, aber sie sind nun mal da und ich muss das beste daraus machen. Große Investitionen sind erstmal nicht mehr drin. Das heißt eine mögliche Option sind open Source EMS/HMS oder an der Softwarelösungen die am besten auf ein oder zwei Raspberry laufen wäre die beste Lösung.

Aus meiner Sicht gibt es folgenden Herausforderung:

  1. Es wird vom Deye die Information benötigt das PV-Überschuss vorhanden ist.
  • Die einzig mir bekannte Funktion wäre aktuell über den Gen Port und ein Koppelrelais. Geht auch nur wenn ein Akku angeschlossen ist.
  • Eventuell gibt es die Information auf einem der zahlreichen Schnittstellen was natürlich besser wäre? Z.B. CAN
  1. Das Übermitteln der Information an die Wärmepumpe (am besten ohne ISG) das PV-Überschuss vorhanden ist und der Verdichter gestartet werden kann.
  • Über FHEM lässt sich die Tecalor wohl steuern und konfigurieren, leider habe ich noch keine Information dazu gefunden ob man auch mit einem einfachen Befehl die „SG ready“ Funktion nutzten kann.
  1. Das Übermitteln der Information an die Wallbox das PV Überschuss vorhanden ist und der Ladevorgang gestartet werden kann.
  • Die Heidelberg Wallbox arbeite zumindest mit den gängigsten HEMS zusammen.
  • Da dies ein Modus Schnittstelle hat sehe ich das als machbar an, in überschaubaren Rahmen an.

Die Frage ist hat jemand schon einen guten Weg gefunden mit ähnlichen Komponenten und Herausforderungen? Welche Open Source HEMS könnten meine Anforderung abdecken?

Gestern erst habe ich folgende Integration gefunden die eventuell einen Teil der Anforderung löst:
PV Excess Control
ha-advanced-blueprints/PV_Excess_Control at main · InventoCasa/ha-advanced-blueprints · GitHub

Momentan stehe ich noch ganz am Anfang, ich freu mich auf eure Rückmeldung.

Im voraus Vielen Dank.

Grüße,
Jogi

Hi
ich werf als Wallbox die cfos ins rennen
der integrierte charging manager unterstützt sogar die Anbindung externer schaltgeräte

ich hab diese mit einem lp1 in Betrieb, welcher an einem TCP-modbusgateway (waveshare) die Daten Leistung und Batterie an die cfos meldet
es gibt auch eine Zählerdefinition für die lp3 Modelle

damit könntest du easy PV Überschussladen mit autom. Phasenumschaltung wenn gewünscht realisieren, inkl. Visualisierung
und neben SG ready auch bei definierten Überschusswerten shelly Steckdosen schalten

für mich noch immer die Wallbox mit dem besten P/L Verhältnis am Markt
mfg Stefan

2 „Gefällt mir“

da gibts auch just ein grösseres Update von cfos

Hallo, ich bekomme demnächst meine WP (SG-Ready im April 2025). Ich habe mich auch auf die Suche gemacht, um SG-Ready-Möglichkeiten zu finden und zu bedienen. Letztendlich habe ich mich für die u.s. theoretische Lösung (hardwaretechn. volle Funktion, aber noch nicht angeschlossen) entschieden.

Was benötigt wird:

homeassistant mit Node-Red und Mqtt-Zugang für Deye (z.B. über SA oder über Deye Solarman)
shelly uni plus, hat zwei stromlose kontakte
Einstellung des Deye, Reihenfolge bei mir: Hausverbrauch-Akku-Einspeisung

Ich greife auf den SOC (Akkustand) über MQTT zu und hole den Wert. Mit node-red entscheide ich alle 15 Minuten, ob ich über einen http-request einen Befehl zum ein- oder ausschalten an Shelly uni plus sende. Die beiden kontakte bedienen dann die SG-Ready Kontakte. Ich denke mit etwas Überlegung könnte dann auch, zumindest im Sommer ein E-Auto geladen werden.

Anmerkung: Mit shelly script des uni plus müsste es auch ohne Node-Red funktionieren. Jedoch der SOC wird über MQTT wird trotzdem benötigt.

Node-red flow json (einfach komplett kopieren und als Flox in Node-Red übertragen, die IP austauschen:

[{"id":"c895f37451baaa60","type":"tab","label":"SG-ready","disabled":false,"info":"","env":},{"id":"4b2a8935676eb37b","type":"http request","z":"c895f37451baaa60","name":"192.168.1.82-on-K0","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.1.82/relay/0?turn=on","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":760,"y":340,"wires":[["f902a6493184e0f8"]]},{"id":"67d9288e1204a2fc","type":"http request","z":"c895f37451baaa60","name":"192.168.1.82-on-K1","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.1.82/relay/1?turn=on","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":760,"y":400,"wires":[[]]},{"id":"edb03367a1618af6","type":"mqtt in","z":"c895f37451baaa60","name":"MQTT Wert empfangen","topic":"solar_assistant/total/battery_state_of_charge/state","qos":"2","datatype":"auto-detect","broker":"f15aa46aaff3ded3","nl":false,"rap":false,"inputs":0,"x":180,"y":540,"wires":[["7a102167431ba1c5"]]},{"id":"7a102167431ba1c5","type":"switch","z":"c895f37451baaa60","name":"Bedingung überprüfen","property":"payload","propertyType":"msg","rules":[{"t":"btwn","v":"100","vt":"num","v2":"71","v2t":"num"},{"t":"btwn","v":"70","vt":"num","v2":"51","v2t":"num"},{"t":"btwn","v":"50","vt":"num","v2":"30","v2t":"num"}],"checkall":"true","repair":false,"outputs":3,"x":440,"y":540,"wires":[["4b2a8935676eb37b","67d9288e1204a2fc","4725460141b75397"],["c4c9782e10cb2338","37dfc6a628f79c41","4725460141b75397"],["50cca63004a626ad","f9a5954ffd731c7a","4725460141b75397"]]},{"id":"4725460141b75397","type":"delay","z":"c895f37451baaa60","name":"15 Minuten warten","pauseType":"rate","timeout":"5","timeoutUnits":"minutes","rate":"1","nbRateUnits":"15","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":true,"outputs":1,"x":430,"y":700,"wires":[["7a102167431ba1c5"]]},{"id":"c4c9782e10cb2338","type":"http request","z":"c895f37451baaa60","name":"192.168.1.82-off-K0","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.1.82/relay/0?turn=off","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":760,"y":460,"wires":[["b4a5fbf3fd92fb8b"]]},{"id":"37dfc6a628f79c41","type":"http request","z":"c895f37451baaa60","name":"192.168.1.82-on-K1","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.1.82/relay/1?turn=on","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":760,"y":500,"wires":[[]]},{"id":"50cca63004a626ad","type":"http request","z":"c895f37451baaa60","name":"192.168.1.82-off-K0","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.1.82/relay/0?turn=off","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":760,"y":560,"wires":[["b3f226a7cecdfd95"]]},{"id":"f9a5954ffd731c7a","type":"http request","z":"c895f37451baaa60","name":"192.168.1.82-off-K1","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.1.82/relay/1?turn=off","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":760,"y":620,"wires":[[]]},{"id":"f902a6493184e0f8","type":"mqtt out","z":"c895f37451baaa60","name":"boost_mode","topic":"shelly-plus-uni/boost_mode","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"62838413c4c927cc","x":1110,"y":340,"wires":},{"id":"b4a5fbf3fd92fb8b","type":"mqtt out","z":"c895f37451baaa60","name":"comfort_mode","topic":"shelly-plus-uni/comfort_mode","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"62838413c4c927cc","x":1120,"y":460,"wires":},{"id":"b3f226a7cecdfd95","type":"mqtt out","z":"c895f37451baaa60","name":"normal_mode","topic":"shelly-plus-uni/mqtt-sg-ready-normal_mode","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"62838413c4c927cc","x":1120,"y":560,"wires":},{"id":"f15aa46aaff3ded3","type":"mqtt-broker","name":"","broker":"192.168.1.163","port":1883,"clientid":"","autoConnect":true,"usetls":false,"protocolVersion":4,"keepalive":60,"cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"62838413c4c927cc","type":"mqtt-broker","name":"","broker":"127.0.0.1","port":1883,"tls":"","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":4,"keepalive":60,"cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]