SMA PV-Anlage und FHEM Haussteuerung und Alexa kombinieren

Am Beispiel der Waschmaschinen-Steuerung möchte ich euch heute einmal aufzeigen, wie ich die prognosebasierte Steuerung von Haushaltsgeräten über das SMA Portal in Verbindung mit meiner FHEM Haussteuerung und der Ansage von Meldungen über Alexa verbunden habe. Auch wenn durch die ausführliche Darstellung der Artikel recht lang geworden ist, habe ich mich entschieden, diesen nicht auf mehrere Beiträge zu verteilen.

Einleitung und Grundlagen

In einem früheren Beitrag habe ich bereits erläutert, wie ich grundsätzlich unsere PV-Anlage mit der FHEM-Haussteuerung verbunden habe. Grundsätzlich werden bei uns die Waschmaschine und die Spülmaschine sowie das Ladegerät für den eUp bzw. die Wallbox für den Kia e-Niro über das SMA Portal gesteuert. Bei diesen Großverbrauchern macht es natürlich besonders viel Sinn, dass diese mit möglichst viel Sonnenenergie versorgt werden.

PV-Oberfläche in meiner FHEM Haussteuerung

Die eigentliche Steuerung dieser Geräte erfolgt also in erster Linie über das SMA Portal, welches über den SMA Homemanager mit der PV-Anlage verbunden ist. Bis auf die SMA Wallbox sind die übrigen Geräte über Fritz! Steckdosen in das SMA Portal integriert. Es findet also kein direkter Austausch mit den jeweiligen Geräten statt, was theoretisch mit kompatiblen Geräten möglich wäre. Die Haussteuerung dient in erster Linie der Anzeige entsprechender Informationen sowie der Handhabung von Sonderfällen, die über das SMA Portal aktuell nicht abgedeckt werden können.

Darüber hinaus möchte ich euch noch aufzeigen, wie ich eine kleine Zusatzfunktion über Alexa eingebunden habe. Hierbei wird im Haus über alle Alexa-Geräte bzw. Sonos-Lautsprecher mit Alexa-Integration eine Meldung ausgegeben, wenn das entsprechende Gerät fertig ist. Für die Waschmaschine ist dies besonders hilfreich, da die Wäsche dann direkt in den Trockner wandern kann.

Haushaltsgeräte über SMA prognosebasiert steuern

Die Waschmaschine ist über die schaltbare Fritz!-Steckdose als programmgesteuertes Gerät in das SMA Portal integriert. Über die entsprechenden Einstellungen und die Wetterprognose von SMA wird entsprechend der Einstellungen dafür gesorgt, dass die Waschmaschine mit möglichst viel Sonnenstrom versorgt wird.

Einstellungen im SMA Portal

Nachdem man die schaltbare Steckdose im SMA Portal integriert hat, kann man diese einem Verbraucher zuordnen und entsprechende Einstellungen vornehmen. Für unsere Waschmaschine habe ich folgende Werte eingestellt.

SMA Portal – Einstellungen für eine Waschmaschine

Zunächst gibt man an, dass es sich bei dem Verbraucher um einen programmgesteuerten Verbraucher handelt. Also ein Verbraucher, der selbst ein bestimmtes Programm durchläuft und sich dann selbst beendet. Die Leistungsaufnahme entnimmt man der Beschreibung des Geräts. Diese dient dazu, den Zeitpunkt zu finden, an dem ausreichend Sonnenenergie für die Maschine zur Verfügung steht.

Mit der maximalen Laufzeit wird die vom Gerät definierte Programmlaufzeit dem SMA Portal bekannt gemacht. Dieser Wert wird benötigt, damit die Laufzeit in das noch festzulegende Zeitfenster passt. Es soll ja möglichst während der gesamten Laufzeit des Geräts ausreichend Sonnenenergie vorhanden sein.

Damit man das Gerät nach einen Durchlauf wieder starten kann, sollte die zugeordnete Steckdose natürlich auch eingeschaltet sein. Daher stellt man im Portal ein, dass das Gerät bzw. die Steckdose nach dem Durchlauf eingeschaltet bleibt.

Damit die Automatik funktioniert, muß das Portal erkennen, wann das Gerät in Betrieb genommen wird. Das steuert man darüber, dass man die Anlauferkennung einschaltet und einen Grenzwert sowie eine Zeitdauer definiert, die signalisieren soll, dass die Maschine läuft. In meinem Beispiel erkennt das SMA Portal also den Start der Waschmaschine, wenn diese über mindestens 5 Sekunden lang 8 Watt Leistung erzeugt.

Mit der Priorität legt man dann fest, wie sich dieser Verbraucher im Verhältnis zu anderen prognosebasierten Verbrauchern verhält. Welcher Verbraucher also Vorrang hat, wenn nicht ausreichend Sonnenenergie für beide Verbraucher zur Verfügung steht.

Nun muß noch das Zeitfenster definiert werden, in dem die Waschmaschine laufen soll. Wir haben aktuell die folgenden beiden Zeitfenster definiert:

SMA Portal – Zeitfenster für eine Waschmaschine zur prognosebasierten Steuerung

Wichtig ist, dass die Waschmaschine als „MUSS-Verbraucher“ definiert wird. Nur so wird sicher gestellt, dass dieser auch in dem angegeben Zeitfenster gestartet wird. Im Gegensatz dazu gibt man bei „KANN-Verbrauchern“ immer an, wieviel Sonnenenergie diese benötigen, damit sie gestartet werden. Solche Verbraucher laufen dann nur, wenn wirklich genug Sonnenstrom erzeugt wird. Für eine Waschmaschine wäre das sicherlich nicht sinnvoll.

Das Zeitfenster gibt dann an, in welchem Zeitraum der Verbraucher einen kompletten Durchlauf absolviert haben sollte. Bei der Endzeit von 15:30 Uhr und einer maximalen Laufzeit von 140 Minuten würde die Waschmaschine spätestens um 13:10 Uhr starten. Nur so wäre gewährleistet, dass die maximale Laufzeit in das Zeitfenster fällt.

Der normale Ablauf der Automatik im SMA Portal

Zum besseren Verständnis, auch für die nachfolgende Darstellung der Problemstellungen, möchte ich nachfolgend kurz den normalen Ablauf einer automatischen Steuerung durch das SMA Portal skizzieren. Hierzu habe ich nachfolgend einen Auszug aus dem Logbuch dargestellt.

SMA Portal Logbuch einer Verbrauchersteuerung

In der Grafik sieht man, dass um 9:27 Uhr die Automatik eingeschaltet wurde. Das war also der Moment, als über die Messung der zugeordneten Steckdose festgestellt wurde, dass die Waschmaschine gestartet wurde. Diese läuft also zunächst kurz an und wird dann nach der Anlauferkennung direkt wieder ausgeschaltet. Dies bedeutet auch, dass die automatische Steuerung nur bei Geräten funktioniert, die nach einem „Stromausfall“ wieder selbstständig starten. Ein Grund, warum wir u.a. unseren Trockner nicht prognosebasiert starten können.

Um 11:35 Uhr wurde dann die Waschmaschine gestartet, weil für den Tag festgestellt wurde, dass dies der optimale Zeitpunkt für die Nutzung möglichst viel Sonnenenergie war. Danach läuft dann das normale Programm der Maschine ab und da die Steckdose nach dem Ende auf „ein“ gestellt sein soll, passiert im SMA Portal nichts weiter.

Problemsituationen der automatisierten Steuerung von Verbrauchern im SMA Portal

Für den oben beschrieben Fall funktioniert die automatisierte Steuerung sehr gut. Allerdings gibt es bereits Probleme, wenn man zwei Waschmaschinenladungen hintereinander waschen möchte. Hier gibt es u.a. folgende Situationen:

  • Zweiter Waschmaschinenstart nach einem automatisierten ersten Durchlauf
  • Manueller Start eines ersten Durchlaufs und automatisierter Start eines zweiten Durchlaufs
  • Komplett manuelle Steuerung aller Durchläufe

Alle beschriebenen Abläufe funktionieren mit der SMA-Steuerung gar nicht oder nur mit manuellen eingriffen. Die Automatik ist grundsätzlich nur auf einen Durchlauf eines Geräts ausgelegt. Was passiert in den entsprechenden Situationen bzw. wie muß man damit umgehen?

Startet man die Waschmaschine erstmals, wird dies über die Anlauferkennung erkannt und in den Automatikmodus geschaltet. Nach dem ein automatisierter Start stattgefunden hat, ist der Automatikmodus wieder ausgeschaltet und wird bei der nächsten Anlauferkennung wieder eingeschaltet.

Wenn das Zeitfenster für einen weiteren Durchlauf noch groß genug ist, dann könnte auch ein zweiter Durchlauf durchaus gelingen. Es scheint aber auch so – wenn dies zwischenzeitlich nicht geändert wurde – dass die Automatik nach der maximalen Laufzeit das Gerät wieder ausschaltet. Ist die Maschine also beim ersten Durchlauf 120 Minuten gelaufen, würde ein zweiter Durchlauf bei mir nach 20 Minuten stoppen. Jedenfalls hatten wir in der Anfangsphase unserer PV-Nutzung immer wieder mal das Problem, dass die Waschmaschine mitten im Programmablauf ausgeschaltet wurde. Die Steckdose wird dann anscheinend erst mit der Initialisierung beim Tageswechsel wieder in den richtigen Modus geschaltet.

Beheben kann man das Problem nur, wenn man die Steckdosen manuell wieder einschaltet, nachdem das SMA-Portal in den Automatikmodus geschaltet hat. Damit wird die Automatik quasi überschrieben. Dies ist auch die Lösung, wenn man die Automatik bereits beim ersten Durchlauf umgehen will.

Ein automatisierter Durchlauf nach einem ersten manuellen Durchlauf funktioniert meist auch nicht, weil entweder das restliche Zeitfenster zu klein ist oder die maximale Laufzeit wieder überschritten wird. Wenn der Start noch funktionieren würde, müsste man die Maschine dann aber irgendwann wieder manuell einschalten, wenn sie vom SMA-Portal unnötigerweise gestoppt wurde.

Start eines zweiten Durchlaufs eines Verbrauchers

Im nachfolgenden Bild habe ich eine Auszug aus dem Logbuch dargestellt, der zunächst eine automatisierte Steuerung der Waschmaschine zeigt. Diese wurde um 8:56 Uhr initial gestartet und befand sich dann bis 11:20 Uhr im Automatikmodus. Zu diesem Zeitpunkt war aus Sicht des SMA Portals der beste Startpunkt.

SMA Portal – Logbuch von zwei Waschmaschinendurchläufen

Um 13:50 Uhr hat die Steuerung dann über die Anlauferkennung einen zweiten Durchlauf erkannt und wieder in den Automatikmodus geschaltet. Über den Lösungsansatz mit meiner Haussteuerung wurde dann erkannt, dass die Maschine ausgeschaltet wurde und dann über die „manuelle“ Einschaltung der Steckdose um 13:52 Uhr sicher gestellt, dass die Maschine auch wirklich komplett durchläuft.

Wie ich diese manuellen Steuerungen über meine Haussteuerung umgesetzt habe, erkläre ich euch nun im nächsten Abschnitt.

Behebung der SMA-Steuerungsprobleme mittels FHEM

Die Lösung für die aufgezeigten Probleme bei der automatisierten Steuerung von Verbrauchern über das SMA Portal, ist die manuelle Schaltung der eingebundenen Steckdose. So etwa lässt sich natürlich mit einer Haussteuerung etwas komfortabler gestalten.

Zunächst einmal habe ich eine relativ einfache Lösung gewählt, damit nicht der Schalter an der Steckdose genutzt werden muß, was bei schlecht erreichbaren Steckdosen auch schwieriger ist. Das Einschalten der Steckdose kann man natürlich ganz einfach in FHEM einbinden und beispielsweise über eine Tabletoberfläche schalten oder mittels Sprachansage über Alexa integrieren. Da ich aus einer Crowdfunding-Kampagne noch physische „Flic-Button“ hatte, habe ich zusätzlich einen solchen Button an der Waschmaschine angebracht. Hierauf möchte ich aber nicht weiter eingehen, da diese Umsetzung im Prinzip sehr simpelt ist.

In dem Screenshot meiner FHEM-Oberfläche, ganz oben im Artikel, sieht man die entsprechende Umsetzung für die Waschmaschine und die Spülmaschine. Tatsächlich wird damit aber nicht einfach die Steckdose gesteuert, sondern indirekt eine weitere Automatisierung gestartet, die von der Haussteuerung genutzt werden kann.

Automatisierung des SMA-Portal mittels FHEM aushebeln

Eigentlich müsste man ja immer darauf warten, dass das SMA-Portal mittels der Anlauferkennung in den Automatikmodus geschaltet und die Steckdose zunächst ausgeschaltet hat. Erst dann macht es ja Sinn, die Steckdose wieder einzuschalten, damit die Waschmaschine direkt weiter läuft.

Genau diese Wartezeit wird mit meiner FHEM-Lösung umgangen. Mit meiner Umschaltung von PV auf Manuell wird FHEM also nur signalisiert, ob die Automatik von SMA genutzt werden soll und nichts zu run ist oder ober eine manuelle Steuerung über FHEM sicher gestellt werden muß.

Steht der Schalter auf „manuell“, dann erkennt die Haussteuerung, wenn die Waschmaschine nach dem ersten Start durch SMA ausgeschaltet wird. In diesem Fall schaltet FHEM die Steckdose wieder ein. Zusätzlich habe ich eine Automatisierung für das automatisierte Einschalten eines zweiten Durchlaufs realisiert. Hierzu wird durch eine Anlauferkennung innerhalb FHEM der Wechselschalter automatisch auf „manuell“ gestellt. Wenn die SMA Steuerung dann eine zweite Maschine abschalten sollte, erkennt die Haussteuerung dies wieder und schaltet die Steckdose ein, ohne dass man selbst eingreifen muß.

Umsetzung der Umschaltung zwischen automatischen und manuellem Betrieb

Als Umschalter habe ich einfach einen Dummy (duWaschmaschine) in FHEM definiert. Mit den zusätzlichen Alexa Definitionen kann der Schalter auch über die Alexa-Sprachsteuerung angesprochen werden.

defmod duWaschmaschine dummy
attr duWaschmaschine alexaName Waschmaschine
attr duWaschmaschine eventMap on:an off:aus
attr duWaschmaschine genericDeviceType switch
attr duWaschmaschine setList on off

Die Erkennung bzw. die Funktionen, die sich in den einzelnen Fällen ergeben, habe ich dann über entsprechende DOIF-Regeln programmiert. Die Steckdose selbst ist als „keWaschmaschine“ in FHEM eingebunden. Damit ich mir auch merken kann, dass die Maschine gelaufen ist, habe ich noch einen zusätzlichen Dummy verwendet, den ich dann direkt auch für die nachfolgend erläuterte Sprachausgabe genutzt habe. Daher ist dieser Dummy „alexansage_Waschmaschine“ dort aufgeführt.

defmod di_StatusWaschmaschine DOIF \
([keWaschmaschine:power:d] <= 2 and [alexaansage_Waschmaschine] eq "open" )\
   (set alexaansage_Waschmaschine closed;; set duWaschmaschine an;;) \
DOELSEIF ([keWaschmaschine:power:d] >= 100 and [alexaansage_Waschmaschine] ne "open")\
   (set alexaansage_Waschmaschine open)\
DOELSEIF ([duWaschmaschine] eq "an" and [keWaschmaschine] eq "aus")\
   (set keWaschmaschine an)\
DOELSEIF ([23:59])\
   (set duWaschmaschine aus)
attr di_StatusWaschmaschine do always

Die erste Abfrage prüft, ob die Stromaufnahme der Waschmaschine unter 2 Watt liegt und die Maschine vorher gelaufen ist. Damit wird das Programmende erkannt. In diesem Fall wird der Umschalter auf „manuell“ geschaltet und der Dummy, der den Durchlauf signalisiert wird wieder zurück gesetzt.

In der zweiten Abfrage verbirgt sich die Anlauferkennung. Werden mehr als 100 Watt erkannt und lief die Maschine bisher nicht, ist davon auszugehen, dass die Waschmaschine aktuell neu angelaufen ist. Über den Dummy „alexaansage“ merkt man sich diesen Zustand.

Die dritte Abfrage prüft nun, ob der Schalter auf „manuell“ steht – also der entsprechende Dummy angeschaltet ist – und die Waschmaschine bzw. die zugeordnete Steckdose ausgeschaltet wurde. Diese Ausschaltung wird ja über das SMA Portal im Automatikmodus durchgeführt. Trifft beides zu, dann wird die Waschmaschine direkt wieder eingeschaltet.

Dies ist also die wesentliche Funktion, damit die Waschmaschine immer dann außerhalb des Automatik läuft, wenn der Nutzer die Automatik umgehen will oder ein zweiter Durchlauf auf jeden Fall komplett läuft.

Schließlich wird um 23:59 Uhr der Dummy wieder ausgeschaltet und damit auf „Automatik“ gesetzt.

Benachrichtigung über das Ende des Waschmaschinenlaufs mittels Alexa

Wie oben bereits erwähnt, habe ich den Zustand, dass die Maschine gerade läuft, über einen Dummy realisiert, den ich auch für die Sprachausgabe nutze. Die nachfolgende Programmierung in FHEM dient zwar nicht der eigentlichen Automatisierung, ist aber ein nettes zusätzliches Feature, um über das Ende des Waschmaschinenlaufs im gesamten Haus informiert zu werden. So kann man die Wäsche dann direkt in den Trockner legen und bekommt dafür vielleicht auch noch etwas Sonnenenergie mit.

Da wir nahezu in jedem Raum ein Alexa-Gerät oder einen Sonos-Lautsprecher mit integrierter Alexa-Funktion haben, lag es nahe, diese Geräte als Sprachausgabe zu nutzen. Also habe ich das obige DOIF bzw. den Dummy „alxaansage“ als Basis für eine Alexa-Routine genutzt.

Zunächst der Dummy, den ich zusätzlich für die Sprachausgabe nutze. Hierbei handelt es sich um einen virtuellen Kontakt, damit dieser innerhalb einer Alexa-Routine genutzt werden kann:

defmod alexaansage_Waschmaschine dummy
attr alexaansage_Waschmaschine alexaName Waschmaschinemelder
attr alexaansage_Waschmaschine alexaProactiveEvents 1
attr alexaansage_Waschmaschine genericDeviceType contact
attr alexaansage_Waschmaschine homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;;;;open:CONTACT_NOT_DETECTED
attr alexaansage_Waschmaschine readingList 0:closed 1:open
attr alexaansage_Waschmaschine setList closed open

Die DOIF-Umsetzung ändert sich nicht weiter. Der Dummy wird in Alexa als Kontakt „waschmaschinemelder“ erkannt und kann dann in einer Routine genutzt werden.

Routine in Alexa anlegen

Wenn sich also der Kontakt schließt (über das DOIF auf close gesetzt wird), dann wird eine Ankündigung an alle Geräte gesendet, dass die Waschmaschine fertig ist.

Damit habe ich euch hoffentlich eine sinnvolle Handhabung von FHEM, SMA Portal und Alexa bereit gestellt, die ihr ggf. als Basis für eure eigenen Umsetzungen nutzen könnt.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Why ask?

x

Check Also

Unsere Photovoltaik Jahresstatistik 2022

Mittlerweile ist unsere Anlage seit etwas mehr als zwei Jahre in Betrieb. Im ersten vollen ...