Manfreds Homepage

Manfred Tremmels Homepage - Smart Home mit Home Assistant

Home Assistant Logo

Smart Home mit Home Assistant

Warum ein Smart Home System?

Im Prinzip läuft die PV-Anlage problemlos ohne Smart Home System, mein SMA-Wechselrichter wird als externer Generator beim RCT-Wechselrichter eingebunden und so laufen die Daten zusammen. Wenn ich aber Informationen z.B. eines gewissen Strings überprüfen will, muss ich mich im Webinterface des SMA-Wechselrichters anmelden und dort nachschauen. Die Auswertungsmöglichkeiten dort sind begrenzt, SMA hat dafür die Energy App und das Sunny Portal im Programm, aber da bekomme ich die RCT-Daten nicht rein und die Daten sollen ja auch schön bei mir bleiben und nicht ins Internet!

Einige Funktionen, wie das Prognose basierte Laden des Akkus, scheint mir nicht optimal umgesetzt, irgendwie ist der Akku immer früh voll, oder blieb zu lange leer. Da sollte mit mehr Daten und eigenen Erfahrungswerten mehr möglich sein.

Und dann ist ja auch noch die Wärmepumpe, die keine SG Ready Schnittstelle bietet und so nicht über den Wechselrichter angesteuert werden konnte. Da sollte doch auch was machbar sein, oder?

Warum Home Assistant?

Wer hier einen großen Vergleich von Smart Home Systemen erhofft, wird leider enttäuscht werden. Ich hatte einen Raspberry Pi 3 herumliegen, das System sollte Open Source sein und ich hab im PV-Forum gelesen, dass sich die Wechselrichter recht problemlos einbinden lassen.

Also installiert, für gut befunden und dabei geblieben, das wars auch schon ☺

Home Assistant Installation

Die Installation ist auf der Seite des Projekts gut erklärt, mit dem Raspberry Pi Imager eine SD-Karte beschrieben, in den Raspberry Pi gesteckt, diesen die Grundeinrichtung vornehmen lassen. Bei dem alten 3er dauert das durchaus eine Weile, eventuell wird der künftig mal durch ein leistungsfähigeres Modell ersetzt. Im laufenden Betrieb aber kann ich nicht klagen.

Sobald die Basiseinrichtung erledigt ist, erkundet Home Assistant seine Umgebung, ob Netzwerk, Bluetooth oder andere zur Verfügung stehende Schnittstellen, was gefunden und erkannt wird, wird zur Einrichtung angeboten. Die Wechselrichter sind nicht darunter, sie erfordern weitere Plugins.

RCT Power Wechselrichter und Home Assistant

Home Assistant Community Store

Basis für die Einbindung der meisten Wechselrichter ist der Home Assistant Community Store (HACS), so auch für RCT-Power und SMA. Die Installation ist mit wenigen Klicks entsprechend der Anleitung erledigt. Nach der Installation und dem Neustart findet sich der HACS-Eintrag in der Seitenleiste.

Über diesen Eintrag in der Seitenleiste HACS aufrufen, im Filter oben RCT eintippen und das passende Plugin "RCT Power" installieren.


Home Assistant RCT Erweiterung per HACS

In „Einstellungen‟ → „Geräte und Dienste‟ → „RCT Power‟ kann per „Eintrag hinzufügen‟ jetzt der Wechselrichter, mit Batterie aufgenommen werden. Einzustellen sind drei Parameter:


Home Assistant RCT Wechselrichter hinzufügen

Konfiguration der angezeigten Daten

Das Plugin bietet extrem viele Daten, der Abruf vom Wechselrichter ist aber nicht besonders stabil (kennt man auch von der RCT App, da kommen auch immer mal wieder keine Daten), es ist durchaus empfehlenswert, sich hier auf die benötigten Informationen zu beschränken. Unter „Einstellungen‟ → „Geräte und Dienste‟ → „RCT Power‟ → „x Entitäten‟ kann man sich alle Daten anzeigen und mit einem Klick auf die rechte Spalte Details anzeigen. Dort über das Zahnrad kann die Konfiguration geöffnet werden, die auch eine Aktivierung bzw. Deaktivierung gestattet.

Integration ins Home Assistant Energie Dashboard

Das Energie Dashboard ist die Schaltzentrale für den Energiefluss im Haus, bzw. in oder aus selbigem. Solange es nicht eingerichtet ist, kommt man mit dem Aufruf aus der Seitenleiste direkt in die Konfiguration, ansonsten kann diese rechts oben über die drei Punkte → „Energiekonfiguration‟ aufgerufen werden.


Home Assistant Energie Dashoard Einstellungen

Folgende Sensoren vom RCT-Wechselrichter sind hier einzutragen:

Empfehlenswert ist auch, Erzeugungsprognosedaten zu hinterlegen, genaueres dazu lesen Sie bitte in der offiziellen Doku nach, oder schauen Sie das Erklärvideo auf youtube an: Home Assistant Energy Dashboard erklärt: Von der Einrichtung bis zu coolen Karten (Hinweis: da wird einiges mehr besprochen, wer nur das Energie Dashboard einrichten will, kann die ersten gut sechs Minuten überspringen).


Home Assistant Energie Dashoard in Betrieb

Parameter des Wechselrichters ändern

Das oben erwähnte „RCT Power‟ Plugin ermöglicht es diverse Daten aus dem Wechselrichter auszulesen, nicht aber, Einstellungen zu ändern. Um die Lücke zu schließen, kann das rctpower_writesupport Script verwendet werden.

Die Installation erwies sich bei mir als etwas tricky, ich hab es mit folgenden Schritten durchgeführt:

SMA Wechselrichter und Home Assistant

Installation über Home Assistant Community Store

Analog dem RCT Wechselrichter, erfolgt auch die SMA-Integration per Home Assistant Community Store (siehe dort: HACS). Es stehen zwei Plugins zur Verfügung, wichtig ist hier, "SMA Devices Plus" zu verwenden, denn nur dieses unterstützt neuere EnnoxOS basierende Wechselrichter, wie meinen Tripower X.


Home Assistant Energie SMA Wechselrichter hinzufügen, Typ Auswahl

Home Assistant Energie SMA Wechselrichter hinzufügen, IP und Zugangsdaten

Konfiguration der angezeigten Daten

Das Plugin bietet deutlich mehr Daten an, als per Default zur Verfügung gestellt werden. Diese stellen wohl den kleinsten gemeinsamen Nenner der unterstützten Wechselrichter dar. Mir fehlten vor allem die Daten des dritten MPPs, die zwar vordefiniert, aber deaktiviert sind. Unter „Einstellungen‟ → „Geräte und Dienste‟ → „SMA Device Plus‟ → „x Entitäten‟ kann man sich alle Daten anzeigen, und mit einem Klick auf die rechte Spalte die Details dazu. Ein Klick auf das Zahnrad öffnet die Konfiguration in welcher eine Aktivierung als auch Deaktivierung durchgeführt werden kann.

Es ist durchaus empfehlenswert, sich hier auf die benötigten Informationen zu beschränken, um den Speicherbedarf im Zaum zu halten.

Parameter des Wechselrichters ändern

Das „SMA Device Plus‟ Plugin bietet direkt die Möglichkeit Parameter im Wechselrichter zu setzen, für das Power Limit wird dies unter Set Parameter beschrieben. Könnte noch interessant werden, wenn ich einen iMSys mit Steuereinheit bekomme (siehe auch meine Vorbereitung einer Konfiguration für eine Abregelung).

Vitocal 350-A Wärmepumpe und Home Assistant

Voraussetzungen

Leider wird es jetzt etwas komplizierter, die Wärmepumpe Vitocal 350-A mit ihrer Steuereinheit Vitotronic 200 bietet noch keine Netzwerkanbindung, zugreifen kann man lediglich über die Optolink-Schnittstelle. Im Internet finden sich diverse Bauanleitungen für die Anbindung. Mir war das ehrlich gesagt zu heikel, und ich habe mich für das offizielle Optolink Kabel von Viessmann entschieden, das man als Ersatzteil unter der Artikelummer 7856059, bzw. EAN/GTIN 4054465085245 bestellen kann. Das Kabel steckt man an die USB-Schnittstelle des auslesenden Rechners, also in meinem Fall den Raspberry Pi und die V-förmige Auslassung zwischen den beiden Dioden. Es musste noch eine Netzwerkbuchse in den Technikraum, aber das ist eine andere Geschichte.


Home Assistant Raspberry Pi mit „professioneller‟ Kabelbinderaufhängung

Installation des passenden Plugins

Nachdem die Hardwareanbindung erledigt war, ging es an softwareseitige Integration. Mit Home Assistant VControl existiert ein Plugin, das basierend auf vcontrold die Daten auslesen kann und per MQTT an Home Assistant weiterleitet.

Um die Daten verarbeiten zu können wird zunächst der Mosquitto Broker installiert, per „Einstellungen‟ → „Add-ons‟ → „ADD-ON STORE‟ aufrufen nach Mosquitto suchen und installieren.

Das Home Assistant VControl ist nicht im offiziellen Repository, das passende Repository kann per Home Assistant VControl Homepage mit einem Klick hinzugefügt werden und das Plugin installiert werden. An und für sich wäre es das schon, allerdings hat das Plugin nur wenige Daten für noch weniger Wärmepumpen vorkonfiguriert.

Konfiguration des passenden Plugins

Als erstes gilt es festzustellen, welches Modell man installiert hat. Ein guter Einstiegspunkt war für mich die Sammlung ViessData21 auf Github das DP_Listen_2.zip Archiv enthält eine Vielzahl gesammelter Daten. Die Datei devices.csv aus dem Archiv listet dabei die IDs und Benennungen der verschiedenen Kombinationen, meine findet sich in Zeile 9, ID: 2049, leider eine Variante, die von der mitgelieferten Konfiguration nicht unterstützt wird.

Also geht es los, eine passende Konfiguration zu zimmern. Basis bildeten eine fertige Konfiguration für eine Wärmepumpe mit ID 204D, die ich im Internet gefunden habe und die Adressen, die bei openv gesammelt wurden. Entstanden sind dabei folgende Konfigurationen:

Das Plugin ruft regelmässig die Daten von der Wärmepumpe ab, allerdings nicht alle, die in der vito.xml hinterlegt sind, sondern nur die, die man in der Pluginkonfiguration nochmal explizit angibt unter „Einstellungen‟ → „Add-ons‟ → „Vcontrol add-on‟ → „Konfiguration‟ → „Commands‟


Home Assistant Vcontroll Plugineinstellungen

Dashboard

Das Energie Dashboard bietet viele interessante Daten und Auswertungen, basiert allerdings auf stündlich aktualisierte Verbrauchsdaten. Wer schnell die aktuelle Produktion oder den Akku-Stand nachsehen will, wird nicht fündig. Deshalb habe ich mir ein eigenes Dashboard gebaut, dass primär auf Power Flow Card Plus und für die Wärmepumpe auf der Heat Pump card basiert. Die Power Flow Card Plus Karte sieht ähnlich wie die Energieverteilung-Karte des Energie Dashboards aus, kann aber Live-Daten anzeigen und die Heat Pump card zeigt einen Überblick über die Wärmepumpe. Beide verlinken auf Unterseiten mit weiteren Details.

Helfer

Für die Power Flow Card Plus Karte müssen die Erträge der beiden Wechselrichter zusammengefasst werden, denn die Karte erlaubt es nicht mehrere Sensoren einzutragen. Wie meine anderen Konfigurationen habe ich diese in Packages YAML-Dateien verpackt, siehe dazu auch meine Konfiguration auf Github.

Addiert werden:

Die Addition erfolgt in 020_solar_grid_limitation_package.yaml im Sensor „Solar Power Generators Sum‟.

Der Hausverbrauch wird von Power Flow Card Plus errechnet, berücksichtigt aber keine Verluste von Wechselrichter und Batterie, die Angaben stimmen also nur dann, wenn reiner Netzbezug herrscht. Die Karte erlaubt aber auch einen Sensorwert einzutragen um diesen, statt der berechneten Werte zu verwenden. RCT liefert zwar Consumer Power als Wert, aber der geht immer wieder ins Negative, wenn der SMA-Konverter zum laden des Akkus beisteuert. Demzufolge habe ich mir auch diesen Wert mit einem Helfer selbst errechnet.

Addiert werden hier (nicht wundern, die Sensoren liefern teils negative Werte, in Summe kommt der eigene Verbrauch raus):

Auch diese Berechnung findet sich in 020_solar_grid_limitation_package.yaml, der Sensor „Power Consumption‟ liefert die Daten.

Batterie Kapazität ermitteln

Ein Datum, das mir immer in der App gefehlt hat, war die Kapazität der Batterie. Einerseits um Probleme zu erkennen, andererseits auch um im Garantiefall (min. 80% Kapazität nach 10 Jahren) etwas in der Hand zu haben.

Aus dem Wechselrichter können die beiden Werte sensor.rct_power_storage_battery_used_energy (entnommene Energie in Wattstunden) und sensor.rct_power_storage_battery_stored_energy (gespeicherte Energie in Wattstunden) ausgelesen werden. Der Zeitpunkt, zu dem die Entladung eines Kalibrierungslaufs startet und endet kann wiederum vom RCT Power Storage Battery Status abgeleitet werden. Er ändert sich beim Beginn der Entladung von „charging‟ auf „discharging‟ und wenn er damit fertig ist, auf „normal‟. Werden zu beiden Zeitpunkten die genannten Werte zwischengespeichert, kann aus deren Differenzen die Kapazität errechnet werden.

Das Package 000_solar_battery_capacity_package.yaml enthält zwei Trigger, die genau zu den genannten Statuswechseln aktiv werden, sie speichern die Werte zwischen in den Sensoren:

Ein weiterer Sensor „RCT Battery Capacity Unload Calibration‟ führt die Berechnung durch.

Power Flow Card Plus Karte

Die Karte stammt aus dem HACS und kann daraus nachinstalliert werden. Für die Darstellung der Live-Daten nutze ich folgende Sensoren:

Horizon Karte

Auch diese Karte habe ich aus HACS nachinstalliert, sie zeigt Sonnenauf- und -untergang an und lief ohne weitere Konfiguration.

Wärmepumpen Karte

Die Karte wartet noch auf die Aufnahme in HACS, muss aktuell leider noch händisch installiert werden. Dies habe ich auf der Github-Seite beschrieben, dort findet sich auch die Konfiguration als Beispiel, um die Karte mit Leben zu befüllen.

Das ganze Dashboard

Die Startseite des Dashboards habe ich in drei Spalten geteilt, links Photovoltaik, mittig Wärmepumpe und rechts weitere Informationen, dort habe ich die Abholzeiten der Müllabfuhr, die Internetverbindung der Fritzbox und Informationen zu meinem NAS aufgenommen.


Home Assistant Dashboard Übersicht

Ein Klick auf „PV‟ auf der Power Flow Card Plus leitet auf eine Unterseite weiter, diese zeigt Details zur PV Produktion.


Home Assistant Dashboard PV-Unterseite

Hinter „Batterie‟ auf dem Power Flow Card Plus liegt die Detailseite zur PV Batterie.


Home Assistant Dashboard PV-Batterie-Unterseite

Und hinter „Netz‟ letztendlich habe ich eine Seite gepackt, die es ermöglicht die Netzeinspeisung zu limitieren. Des weiteren findet sich eine Auswertung für den Ertragsstammtisch des PV-Forums, die auf der Arbeit von Thomas Harm basiert.


Home Assistant Dashboard PV-Netz-Unterseite

Die Wärmepumpenkarte verlinkt wiederum im oberen Bereich auf eine Unterseite, die diverse Einstellungen zur Wärmepumpe ermöglicht,


Home Assistant Dashboard Wärmepumpe-Einstellungen-Unterseite

im unteren Bereich hingegen wird eine Unterseite mit weiteren Informationen zur Wärmepumpe aufgerufen.


Home Assistant Dashboard Wärmepumpe-Info-Unterseite

Das ganze Dashboard als yaml kann unter lovelace.yaml herunter geladen werden.

Automatisierungen

Mit den ganzen Informationen aus Wärmepumpe und den Wechselrichtern kann man natürlich nicht nur Dashboards befüllen und manuell Werte setzen, Interessant wird es erst, wenn man Home Assistant das regelbasiert selbst machen lässt.

Netzdienliches und schonendes Batterieladen

RCT bietet ein Prognose basiertes Laden an, aber mal ehrlich, bei wem funktioniert das wie es sein sollte? Im Sommer ist die Batterie oft voll, bis der Wechselrichter den Zielwert runter setzt und im Winter bei sonnigem Vormittag und dunklem Nachmittag steht man gelegentlich mit einem halb gefüllten Akku da.

Für die Batterie ist es nicht gesund, wenn sie den halben Tag voll herum steht und netzdienlich ist es, möglichst die Mittagsspitze zu kappen, deshalb öffne ich den Höchstwert erst eine Stunde vor Sonnenhöchststand (eine Fixe Uhrzeit müsste zwischen Sommer- und Winterzeit unterscheiden, aber der Sonnenstand steht in HA ja zur Verfügung). Außerdem muss der Akku nicht randvoll beladen werden, wenn der nächste Tag gute Erträge erwarten lässt.

Mit den Informationen, die zur Verfügung stehen, habe ich mir folgende Regeln zusammen gebastelt:

Das ganze habe ich in einer YAML Package-Datei zusammengefasst: 010_solar_battery_forcast_based_loading_package.yaml, Enthalten sind auch zwei Schieberegler für den minimalen und maximalen Ladezustand der Batterie, die eine manuelle Regelung ermöglicht.

Partymodus der Wärmepumpe nutzen

Die Wärmepumpe bietet mit dem sogenannten Partymodus die Möglichkeit eine alternative Raumtemperatur vorzugeben. Da ich Fußbodenheizung habe und der Estrich der größte Wärmespeicher im Haus ist, bietet es sich an, bei PV-Überschuss diesen zu aktivieren, damit Reserven für die Nacht geschaffen werden. Der Modus muss natürlich auch deaktiviert werden, sobald der restliche Ertrag einen Schwellwert unterschreitet.

Die Regeln für die Aktivierung lauten wie folgt:

Eine Deaktivierung wird durchgeführt, sobald:

Diese und weitere Hilfsfunktionen stehen unter 010_heatpump_helper_package.yaml bereit.

Ein Problem ist noch die Einzelraumsteuerung von Uponor. Die weiß nichts vom Partymodus und schließt die Ventile, sobald die eingestellte Wunschtemperatur erreicht wurde. Bisher habe ich nur Projekte gefunden, die die Werte der Thermostate auslesen können, aber noch keine, die sie setzen. Mal schauen, was ich da noch erreichen kann.

Warmwasseraufbereitung bei Stromüberschuss

Eigentlich sorgt die Zeitsteuerung für eine Aufbereitung um 12 Uhr auf die erhöhte Warmwasserstufe sorgen, sobald allerdings der Partymodus aktiv ist, wird nur bis zur normalen Warmwasserstufe erwärmt. Ich habe deshalb noch zwei Automationen angelegt, eine zur Aktivierung der einmaligen Warmwasseraufbereitung und eine zur Deaktivierung, sobald die Wunschtemperatur erreicht ist (ansonsten hört die WP zwar mit der Aufbereitung auf, aber die einmalige Aufbereitung bleibt aktiviert in den Einstellungen).

Die Regeln für die Aktivierung lauten wie folgt:

Eine Deaktivierung wird durchgeführt, sobald:

Diese und weitere Hilfsfunktionen stehen unter 010_heatpump_helper_package.yaml bereit.

Einspeiselimit der Wechselrichter setzen (vorbereitend für iMSys und Steuerbox)

Eine Abregelung des Wechselrichters per iMSys und Steuerbox erwartet uns künftig wohl alle mit PV. Dabei soll nach Möglichkeit zumindest ein Netzbezug vermieden werden und bei Steuersignal 0% nur die Einspeisung auf 0 geregelt werden.

Mein RCT Power Wechselrichter hat die nötigen Informationen und nutzt die auch, man kann den Prozentwert setzen und er versorgt weiter Haus und Batterie. Der SMA Wechselrichter hingegen ist blind und würde abschalten. Wenn aber vom Garagendach (an dem der RCT hängt) nicht genug kommt, wäre wieder Netzbezug die Folge.

Wie könnte das jetzt funktionieren?

Umsetzung in einer weitere YAML-Datei: 020_solar_grid_limitation_package.yaml