Ich habe mir im letzten Jahr Aussenrollos der Firma CLIP’N’SHADE an vier Fenster verbaut und diese bereits in Home Assistant integriert. Nun fehlt mir nur noch eine Automatisierung um die Rollos zu steuern. Gerade im Sommer sollen die Rollos automatisch herunter fahren, damit die Hitze nicht in die Wohnung kommt. Da nicht immer jemand zu Hause ist, soll dieses natürlich automatisch passieren, aber auch nicht einfach zeitgesteuert. Also muss eine Rolladensteuerung her.
Was soll die Rolladensteuerung können:
- Steuerung abhängig vom Sonnenstand (Azimut und Elevation)
- Steuerung abhängig von der Innentemperatur
- Reaktion auf das Wetter
Anhand der Webseite Sonnenverlauf, habe ich für mich den Azimut (Sonnenrichtung) bestimmt, in dem die Automatisierung arbeiten soll. Somit wird die Steuerung auch nur aktiv, wenn die Sonnen in die betreffenden Fenster scheint. Um die Daten der Sonne in Home Assistant nutzen zu können, verwende ich die Sun Integration. Ebenfalls sollen nur bei Sonnenschein oder bei teilweise bewölktem Himmel die Rollos schließen. Für die Wetterdaten nutze ich die OpenWeatherMap Integration. Bei Regen oder Windgeschwindigkeiten über 8m/s sollen die Rollos einfahren, damit sie nicht nass oder beschädigt werden.
Helfer
Ich hab erst mal damit begonnen mir einen Helfer zu bauen, der als Schalter dient und mir auch den aktuellen Zustand anzeigen soll. Geht dazu unter Einstellungen > Geräte & Dienste > Helfer > Helfer Erstellen und erzeugt einen Helfer vom Typ Schalter. Vergebt noch einen passenden Namen und ein passendes Symbol. Dieser Helfer wird durch ein Script und eine Automatisierung bedient und zeigt somit den Status an. Im Zustand Ein sind die Rollos geschlossen.
Rolladensteuerung per Automatisierung
Nun folgt die eigentliche automatische Rolladensteuerung. Eigentlich bin ich ein Freund von getrennten Automatisierung für das Ein- und Ausschalten, hier habe ich aber alles in eine Automatisierung gepackt. Die Automatisierung prüft den Zustand alle 15 Minuten. Zusätzlich wird die Automatisierung durch folgender Ereignisse getriggerd, durch welche die Rollos eingefahren werden, dazu wird die ID SunAway vergeben.:
- Azimut über 260°
- Elevation unter 20°
- Wetter wechselt zu regnerisch
- Windgeschwindigkeit über 8 m/s
OpenWeatherMap kennt dabei folgende Wetterzustände:
Zustand | Beschreibung |
---|---|
clear-night | Klare Nacht |
cloudy | Bewölkt |
exceptional | Extremwetter |
fog | Nebel |
hail | Hagel |
lightning | Gewitter |
lightning-rainy | Gewitter und Regen |
partlycloudy | Leicht bewölkt |
pouring | Strömender Regen |
rainy | Rain |
snowy | Schnee |
snowy-rainy | Schneeregen |
sunny | Sonnenschein |
windy | Windig |
windy-variant | Windig and bewölkt |
Anschließend wird geprüft ob die eigentlichen Bedingungen zur Steuerung aktiv sind oder ab durch SunAway getriggerd wurde. In meinem Fall wird bei einem Azimut zwischen 160° und 260° geschaltet und einer Elevation über 20°. Zusätzlich muss die Temperatur im Innenraum über 22°C liegen. Das Wetter muss sonnig und teilweise bewölkt sein, bei Windgeschwindigkeiten unter 8 m/s.
Nun kommen die eigentlichen Aktionen, welche die Automatisierung ausführt. Wenn der Auslöser SunAway war und die Rollos geschlossen sind, dann fahre sie hoch und betätige den Schalter. Ansonsten schließe die Rollos, sollten sie noch offen sein.
Hier seht ihr meine Automatisierung als YAML-File, damit ihr seht was ich gemacht habe. Die Rollos werden über eine Szene angesteuert.
alias: Rollo_WZ
description: ""
trigger:
- platform: time_pattern
minutes: /15
- platform: numeric_state
entity_id:
- sun.sun
attribute: azimuth
above: 260
id: SunAway
- platform: numeric_state
entity_id:
- sun.sun
attribute: elevation
below: 10
id: SunAway
- platform: state
entity_id:
- sensor.openweathermap_condition
to: rainy
id: SunAway
- platform: numeric_state
entity_id:
- sensor.openweathermap_wind_speed
above: 8
id: SunAway
condition:
- condition: or
conditions:
- condition: and
conditions:
- condition: numeric_state
entity_id: sun.sun
attribute: azimuth
above: 160
below: 260
- condition: numeric_state
entity_id: sensor.innen_temperature
above: 22
- condition: or
conditions:
- condition: state
state: sunny
entity_id: sensor.openweathermap_condition
- condition: state
state: partlycloudy
entity_id: sensor.openweathermap_condition
- condition: numeric_state
entity_id: sun.sun
attribute: elevation
above: 10
- condition: numeric_state
entity_id: sensor.openweathermap_wind_speed
below: 8
- condition: trigger
id:
- SunAway
action:
- if:
- condition: trigger
id:
- SunAway
then:
- if:
- condition: state
entity_id: input_boolean.rollo_wz_geschlossen
state: "on"
then:
- service: input_boolean.turn_off
target:
entity_id:
- input_boolean.rollo_wz_geschlossen
data: {}
- service: scene.turn_on
metadata: {}
target:
entity_id: scene.rolladen_hoch
else:
- if:
- condition: state
entity_id: input_boolean.rollo_wz_geschlossen
state: "off"
then:
- service: input_boolean.turn_on
target:
entity_id:
- input_boolean.rollo_wz_geschlossen
data: {}
- service: scene.turn_on
metadata: {}
target:
entity_id: scene.rolladen_runter
mode: single
Script
Folgendes Script verwende ich um die Rollos manuell über einen Button zu steuern. Wenn die Rollos offen sind, wird der Schalter aktiviert und die Szene zum Schließen der Rollos aktiviert. Sind die Rollos geschlossen, ist es umgekehrt.
alias: Rolladen_WZ
sequence:
- if:
- condition: state
entity_id: input_boolean.rollo_wz_geschlossen
state: "off"
then:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.rollo_wz_geschlossen
data: {}
- service: scene.turn_on
metadata: {}
target:
entity_id: scene.rolladen_runter
else:
- service: input_boolean.turn_off
target:
entity_id: input_boolean.rollo_wz_geschlossen
data: {}
- service: scene.turn_on
metadata: {}
target:
entity_id: scene.rolladen_hoch
mode: single
icon: mdi:roller-shade
Rolladensteuerung per Button
Folgenden Button habe ich in mein Dashboard integriert. Abhängig vom Zustand des oben erstellten Helfers, ändert sich das Symbol und die Farbe. Durch betätigen des Buttons startet das zuvor erstelltes Script und man kann die Rollos somit manuell ansteuern. Für den Button verwende ich Button Card, welches ihr per HACS einfach installieren könnt. Die manuelle Steuerung wird durch die Automatisierung überschrieben, hier könnte man mit einem zusätzlichen Schalter Abhilfe schaffen. Die SunAway Konditionen sollten aber trotzdem greifen.
type: custom:button-card
entity: input_boolean.rollo_wz_geschlossen
show_name: false
tap_action:
action: call-service
service: script.rolladen_wz
data:
entity_id: input_boolean.rollo_wz_geschlossen
state:
- value: 'on'
icon: mdi:roller-shade-closed
color: red
- value: 'off'
icon: mdi:roller-shade
color: green
size: 90px
Gerade bei Home Assistant gilt: Viele Wege führen nach Rom. Daher seht das hier eher als Anregung an für eure eigene, individuelle Steuerung. Die Anzahl der verschiedenen Steuerungen ist groß und jeder hat andere Bedürfnisse. Anfänglich müsst ihr auch etwas durch die Werte testen, bis ihr die für euch optimalen Einstellungen gefunden habt. Ich bin damit noch nicht fertig.
Ich hoffe ich konnte euch ein paar Anregungen liefern und ihr behaltet im Sommer einen kühlen Kopf.