Rollläden automatisch herunterfahren, sobald die Sonne ins Zimmer scheint, ist ein Klassiker im Smarthome. Üblicherweise kommt dafür ein Helligkeits- oder Sonnensensor zum Einsatz. In Home Assistant lässt sich die Aufgabe aber auch ohne zusätzliche Hardware lösen – mithilfe der serienmäßigen Integration „Sonne“ (Sun). Sie berechnet anhand von Installationsort und Uhrzeit die aktuelle Position unseres Zentralgestirns am Himmel (link).
Inhalt
- Grundlage: Die System-Integration „Sonne“
- Schritt 1: Ausrichtung des Fensters bestimmen
- Schritt 2: Helfer in Home Assistant anlegen
- Schritt 3: Automation „Sonne erkennen“
- Schritt 4: Gegenautomation „Sonne weg“
- Schritt 5: Rollladen schließen – mit Verzögerung
- Schritt 6: Rollladen öffnen – ebenfalls verzögert
- Bonus: Wetterdaten als zusätzlicher Filter
Grundlage: Die System-Integration „Sonne“
Die Software-Funktion ist in Home Assistant standardmäßig aktiv und muss weder installiert noch konfiguriert werden. Von den zehn Entitäten (Datenwerten), die sie dem System zur Verfügung stellt, benötigen wir zwei: Azimut und Elevation. Der Azimut gibt die aktuelle Himmelsrichtung der Sonne in Grad an (0° = Norden, 90° = Osten, 180° = Süden, 270° = Westen) während der Wert für Elevation darüber informiert, wie weit diese über dem Horizont steht.

Die Werte lassen sich unter Integrationen → Sonne jederzeit ablesen. Erscheinen sie dort nicht, sind sie wahrscheinlich deaktiviert. Dann einfach auf „deaktivierte Entitäten“ klicken und die Positionen Solarer Azimut und Solare Elevation freischalten. Nach wenigen Augenblicken sind die Angaben da.
Schritt 1: Ausrichtung des Fensters bestimmen
Damit die Automatisierung des Rollladens funktioniert, muss bekannt sein, in welche Himmelsrichtung das Fenster zeigt. Am einfachsten lässt sich das mit dem Kompass eines Smartphones ermitteln, etwa über Google Maps oder eine Kompass-App.
Das Smartphone wird am Fenster positioniert und im Display der Wert in Grad abgelesen. Bei einer Ausrichtung nach Süden lautet das Ergebnis 180°, ein Südwestfenster hat ungefähr 220°. Fällt Morgensonne aus dem Osten herein, liegt der Wert in der Nähe von 90°. Die abgelesene Zahl bekommt auf beiden Seiten der Blickachse einen Bereich zugeschlagen, typischerweise ±30 bis ±40 Grad. Für Ostfenster (90°±30) entsteht so beispielweise ein Winkel von 60 bis 120°. Das ist der Weg, den die Sonne zurücklegt, während ihr direktes Licht ins Fenster fällt.

Schritt 2: Helfer in Home Assistant anlegen
Die Integration „Sonne“ liefert kontinuierlich berechnete Werte. Azimut und Elevation verändern sich also permanent. Das führt zu einem praktischen Problem: Kleine Schwankungen – etwa durch Rundung oder im Grenzbereich – können dazu führen, dass die Bedingung kurzzeitig erfüllt ist und dann wieder nicht. Eine Automation, die darauf sofort reagiert, löst unter Umständen mehrfach aus und lässt dabei den Rollladen nervös auf und ab fahren.
Eine zusätzliche Entität in Home Assistant hilft diesen Effekt zu verhindern. Die Rede ist vom sogenannten Helfer, einem virtuellen Baustein, der Zustände im System speichern und Informationen bei Bedarf bereitstellen kann. Der Helfer-Typ Schalter (input_boolean) ist für diesen Zweck ideal. Er filtert die berechneten Ergebnisse, weil er nur zwei Zustände kennt:
- AN = Die Sonne steht im relevanten Bereich
- AUS = Die Sonne steht nicht im relevanten Bereich
Der Helfer wird einmalig angelegt unter Einstellungen → Geräte & Dienste → Helfer. Wir geben ihm den Typ Schalter und den Namen „Sonne im Fenster“. Damit steht die neue Entität input_boolean.sonne_im_fenster systemweit zur Verfügung. Auf ihren Zustand beziehen sich alle weiteren Automationen.

Schritt 3: Automation „Sonne erkennen“
Nun wird festgelegt, wann Home Assistant davon ausgehen soll, dass die Sonne durchs Fenster scheint. Dazu werden die erwähnten Werte für Azimut und Elevation benötigt. Wir legen eine neue leere Automation an (unter Einstellungen → Automationen & Szenen). Da der Sonnenstand sich kontinuierlich ändert, bekommt sie keinen klassischen Auslöser, sondern eine wiederkehrende Abfrage im Fünf-Minuten-Takt. (Auslöser hinzufügen → Typ: Zeit → Option: Zeitplan → alle 5 Minuten). So prüft Home Assistant regelmäßig, ob die folgenden Bedingungen erfüllt sind.
Jetzt kommt der zentrale Teil: Als Bedingungen der Automation dienen keine klassischen Gerätezustände oder Tageszeiten, sondern Templates. Ein Template in Home Assistant ist – vereinfacht gesagt – eine kleine Formel, mit der sich Werte berechnen oder vergleichen lassen. In unserem Fall ermitteln zwei davon, wie hoch und in welcher Richtung die Sonne gerade steht.
Bedingung 1 für Azimut/Richtung: (Bedingung hinzufügen → Typ: Template) In das noch leere Textfeld kommt der folgende Ausdruck, der die in Schritt 1 ermittelten Angaben enthält. Im Beispiel mit dem Ostfenster wären das 60° und 120°, aber natürlich dienen diese beiden Winkelinformationen hier nur als Platzhalter. Sie müssen durch die Werte des realen Fensters ersetzt werden.
{{ 60 < state_attr('sun.sun', 'azimuth') < 120 }}
Bedingung 2 für Elevation/Höhe: (Bedingung hinzufügen → Typ: Template). Die zweite Bedingung verhindert, dass frühmorgens oder spätabends etwas passiert, wenn die Sonne zwar in der richtigen Himmelsrichtung steht, aber noch zu tief. Das Template definiert, wie weit die Sonne über dem Horizont stehen muss, damit die Automation auslöst. Ein guter Näherungswert zum Start sind 10 oder 15°. Der genaue Winkel lässt sich in den Entitäten der Integration „Sonne“ ablesen, wenn daheim die ersten Sonnenstrahlen durchs Fenster fallen.
{{ state_attr('sun.sun', 'elevation') > 15 }}
Zum Abschluss folgt die Aktion: (Aktion hinzufügen → Typ: Helfer → Boolsche Eingabe → Boolsche Eingabe einschalten). Hier den Helfer „Sonne im Fenster“ auswählen und alles speichern. Die Automation setzt den Helfer auf AN, sobald alle Voraussetzungen erfüllt sind. Home Assistant „weiß“ also, wann die Sonne im Fenster steht.
Schritt 4: Gegenautomation „Sonne weg“
Damit der Zustand auch wieder zurückgesetzt wird, ist eine zweite Automation nötig. Ihr Aufbau ähnelt dem Ablauf in Schritt 3 – mit zwei entscheidenden Unterschieden. Erstens: Es gibt nur eine Bedingung mit einem Template. Dieses überprüft, ob die Sonne sich außerhalb des vorher definierten Bereichs befindet:
{{ not (60 < state_attr('sun.sun', 'azimuth') < 120 and state_attr('sun.sun', 'elevation') > 15) }}
Zweitens: Bei erfolgreicher Prüfung wird der Helfer nicht eingeschaltet, sondern deaktiviert (Aktion hinzufügen → Typ: Helfer → Boolsche Eingabe → Boolsche Eingabe ausschalten).

Schritt 5: Rollladen schließen – mit Verzögerung
Nachdem der Helfer nun automatisch aktiv wird, sobald die Sonne im richtigen Winkel und weit genug über dem Horizont steht, folgt die eigentliche Rollladen-Aktivität. Dafür eine weitere Automation anlagen (unter Einstellungen → Automationen & Szenen). Als Auslöser erhält sie den Zustand des zuvor generierten Helpers (Auslöser hinzufügen → Typ: Entität → Zustand → Sonne im Fenster).
In den Einstellungen wird angegeben, dass der Zustand sich von AUS zu AN ändern muss, damit die Automation auslöst. Zur Sicherheit unter Dauer noch einen Zeitraum festlegen, zum Beispiel 5 Minuten. Damit greift die Regel nur dann, wenn der Zustand für den eingestellten Zeitraum stabil ist. Das verhindert ein unerwünschtes Pendeln des Rollladens im Grenzbereich.
Zu guter Letzt den Rollladenantrieb selbst unter Aktion eintragen und den gewünschten Öffnungsgrad wählen. Welcher Wert dafür richtig ist, muss ausprobiert werden. Als Sonnenschutz sind 20 bis 40 Prozent normalerweise ausreichend.
Schritt 6: Rollladen öffnen – ebenfalls verzögert
Analog zu Schritt 5 wird der Rollladen wieder geöffnet, wenn der Helper von AN zu AUS wechselt. Dafür die gerade erstellte Automation duplizieren und ihre Parameter entsprechend ändern. Als Öffnungsgrad wird 100 Prozent angegeben, damit die Beschattung ganz nach oben fährt, sobald die Sonne weg ist.

Bonus: Wetterdaten als zusätzlicher Filter
Ein Schwachpunkt des Ablaufs ist seine rein arithmetische Vorgehensweise. Der Sonnenstand wird berechnet, er sagt aber nichts über die Bewölkung am Himmel aus. Soll heißen: Der Rollladen fährt auch dann herunter, wenn es bedeckt ist oder regnet.
Eine Wetter-Integration in Home Assistant verbessert die Situation und lässt an solchen Tagen den Helper ausgeschaltet. Da die Standard-Integration des norwegischen Wetterdienstes (link) nicht besonders präzise ist, verwende ich stattdessen den Dienst OpenWeatherMap (link). Er verlangt eine Anmeldung auf openweathermap.org (link) und ist prinzipiell kostenpflichtig. Die API des Dienstes erlaubt aber 1000 kostenlose Abfragen pro Tag, was für diesen Zweck mehr als ausreicht.
Nach der Einrichtung (link) stehen verschiedene Entitäten mit Wetterdaten in Home Assistant zur Verfügung. Eine von ihnen gibt an, ob es gerade sonnig ist, teilweise bedeckt oder regnerisch und so weiter. Mit OpenWeaterMap lautet diese Entität zum Beispiel sensor.openweathermap_condition.
Ihr Wert wird als zusätzliche Bedingung in die Helper-Automationen von Schritt 3 eingebaut (Bedingung hinzufügen → Typ: Entität). Als Inhalt der Bedingung den Zustand „sonnig“ auswählen. So wird die Regel bei einem bedeckten Himmel automatisch angehalten und der Rollladen bleibt oben.
Diese Lösung mit Berechnungen und Automationen kann einen physikalischen Sonnensensor nicht völlig ersetzen, aber sie funktioniert nach meinen Erfahrungen zuverlässig – sofern alle Grenzwerte in den Templates sauber auf die Situation vor Ort abgestimmt sind.