Rolladen Sonnenschutz im Sommer schließen

Ich würde gerne eine Automation bauen, dass die Rolläden automatisch schließen, wenn es draußen zu warm wird im Sommer.

Hat das hier schon jemand gemacht?
Mich würde vor allem die Triggerpunkte und Conditions interessieren, die ihr dafür gewählt habt.

So, oder so ähnlich. Einfach noch die Außentemperatur einarbeiten.

Meine Steuerung

1 „Gefällt mir“

hier mal mein sonnenschutz

hab drauf geachtet das er sehr simpel und effektiv und wartbar bleibt 3 seiten mit fenster

alias: Sun_Event -> Sommer Hitzeschutz (Final Korrekt)
description: >
  Zeit- und temperaturgesteuertes Schließen/Öffnen der Rollos, gruppiert, robust
  und wartungsfreundlich.
triggers:
  - at:
      - "08:45:00"
      - "10:30:00"
      - "13:14:00"
      - "16:00:00"
    trigger: time
actions:
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ current_time == '08:45' and temperature > 19 }}"
        sequence:
          - variables:
              config:
                name: stufe_0845
                positionen:
                  - 80
                  - 45
                  - 80
      - conditions:
          - condition: template
            value_template: "{{ current_time == '10:30' and temperature > 20 }}"
        sequence:
          - variables:
              config:
                name: stufe_1030
                positionen:
                  - 66
                  - 20
                  - 50
      - conditions:
          - condition: template
            value_template: "{{ current_time == '13:14' and temperature > 23 }}"
        sequence:
          - variables:
              config:
                name: stufe_1300
                positionen:
                  - 33
                  - 33
                  - 80
      - conditions:
          - condition: template
            value_template: "{{ current_time == '16:00' }}"
        sequence:
          - variables:
              config:
                name: offen
                positionen:
                  - 100
                  - 100
                  - 100
    default:
      - data:
          message: Keine passende Stufe – Temperatur oder Uhrzeit nicht passend
          level: warning
        action: system_log.write
  - if:
      - condition: template
        value_template: "{{ config.name != 'none' }}"
    then:
      - repeat:
          count: "{{ gruppen | length }}"
          sequence:
            - variables:
                outer_index: "{{ repeat.index - 1 }}"
                gruppe: "{{ gruppen[outer_index] }}"
                position: "{{ config.positionen[outer_index] }}"
            - repeat:
                count: "{{ gruppe.entities | length }}"
                sequence:
                  - variables:
                      entity: "{{ gruppe.entities[repeat.index - 1] }}"
                      sensor: "{{ gruppe.sensors[repeat.index - 1] }}"
                  - choose:
                      - conditions:
                          - condition: template
                            value_template: >
                              {{ sensor is none or sensor == '' or
                              is_state(sensor, 'off') }}
                        sequence:
                          - target:
                              entity_id: "{{ entity }}"
                            data:
                              position: "{{ position }}"
                            action: cover.set_cover_position
                          - data:
                              level: info
                              message: >-
                                Hitzeschutz: {{ gruppe.name }} → {{ entity }}
                                auf {{ position }}%
                            action: system_log.write
variables:
  temperature: "{{ states('sensor.homatic_terrasse_temperature') | float(0) }}"
  current_time: "{{ now().strftime('%H:%M') }}"
  gruppen:
    - name: Schlafzimmertür & Wohnzimmertür
      entities:
        - cover.homatic_schlafzimmertur
        - cover.homatic_wohnzimmertur
      sensors:
        - binary_sensor.door_sensor_schlafzimmertuer_contact
        - binary_sensor.door_sensor_wohnzimmertuer_contact
    - name: Wohnzimmerfenster & Küchentür
      entities:
        - cover.homatic_wohnzimmerfenster
        - cover.homatic_kuchentur
      sensors:
        - null
        - binary_sensor.door_sensor_kuechentuer_contact
    - name: Büro-, Kinder-, Küchen-, Badezimmerfenster
      entities:
        - cover.homatic_burofenster
        - cover.homatic_kinderzimmerfenster
        - cover.homatic_kuchenfenster
        - cover.homatic_badezimmerfenster
      sensors:
        - null
        - null
        - null
        - null
mode: single

1 „Gefällt mir“

Ich nutze einen Hue Bewegungsmelder am sonnenentscheidender Außenposition und greife dessen Helligkeitssensor ab.


Kombiniert mit Uhrzeiten so daß ich morgens noch lüften kann.
Je nach Helligkeit werden % Werte der steuernden Jalousie Shelly’s angefahren.
Außerdem habe ich mir Buttons pro Zimmer oder Etage auf das Dashboard.
Du mußt schauen wie die Sonne bei Dir wann fällt und individuelle Raum Automatisationen basteln, ähnlich wie die Beispiele meiner Vorredner.

EDIT
Ich nutze auch Helfer und lasse nur einmal täglich den Sonnenschutz automatisch anfahren, Die Boolean Helfer habe ich auf dem Dashboard, falls es nötig sein sollte, manuell zu reseten. Praktisch kommt das sehr selten vor.

1 „Gefällt mir“

Ich habe mir einen Template Helfer gebastelt, der einige “Bedingungen” hat:

{{ 
((
state_attr('sun.sun', 'elevation') | float > 6
and 
state_attr('sun.sun', 'elevation') | float < 70
and 
state_attr('sun.sun', 'azimuth') | float > 170 
and 
state_attr('sun.sun', 'azimuth') | float < 290 
and 
states('sensor.weather_dwd_hourly') | float > 23.9
and
states('sensor.ms_balkon_illuminance') | float > 2000
and
now().month in [5,6,7,8,9]
))
}}

also quasi Sonnenhöhe und -stand, dann die stündliche Temperaturvorhersage und die Außenhelligkeit. Das ganze nur von Mai - September.

Wenn dieser Helfer dann für 10 Min. true ist, fahren die Rollos runter.
Und wenn er für 10 Min. false ist, fahren sie wieder hoch.

Das ganze dann noch kombiniert mit Fenster auf/zu.

alias: Rollo Buero
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.sonne_und_temp
    from: "off"
    to: "on"
    id: Runter
    for:
      hours: 0
      minutes: 10
      seconds: 0
  - trigger: state
    entity_id:
      - binary_sensor.buero_fenster_contact
    from: "on"
    to: "off"
    id: Runter
    for:
      hours: 0
      minutes: 0
      seconds: 30
  - trigger: state
    entity_id:
      - binary_sensor.sonne_und_temp
    from: "on"
    to: "off"
    id: Hoch
    for:
      hours: 0
      minutes: 10
      seconds: 0
  - trigger: state
    entity_id:
      - binary_sensor.buero_fenster_contact
    from: "off"
    to: "on"
    id: Hoch
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Runter
          - condition: state
            entity_id: binary_sensor.buero_fenster_contact
            state: "off"
          - condition: state
            entity_id: binary_sensor.sonne_und_temp
            state: "on"
        sequence:
          - action: cover.set_cover_position
            metadata: {}
            data:
              position: 25
            target:
              entity_id:
                - cover.rollo_buero_cover_0
      - conditions:
          - condition: trigger
            id:
              - Hoch
          - condition: numeric_state
            entity_id: cover.rollo_buero_cover_0
            attribute: current_position
            below: 90
        sequence:
          - action: cover.set_cover_position
            metadata: {}
            data:
              position: 100
            target:
              entity_id:
                - cover.rollo_buero_cover_0
mode: single

3 „Gefällt mir“

Danke, werde ich mir am WE mal genauer anschauen :slight_smile: .

a) Wie kamst du auf die Werte?
b) Was steckt allgemein hinter der Überlegung das darüber zu machen?

Wie oft passiert das? Ich wollte so ein hoch und runter fahren vermeiden, dass heißt wenn mal unten dann so lassen.

Helligkeitsensor interessant. Müsste ich mal schaue was ein geeigneter Platz ist. Vermutlich Dachterasse.

Ja aufm Dashboard habe ich das auch schon alles mit richtigen cover templates und gruppen.

Interessant wären vielleicht noch Bewegungsmelder in den Zimmer, wenn jemand drin ist, dann nicht runter fahren zu lassen.

Wie ich sehe triggert zumindest niemand nach der Temperatur innen, das hatte ich auch noch als Überlegung.

Über Uhrzeiten geht es zu schlecht, da die Sonne im September z.B. anders steht als im Juni.

So oft ich dann z.B. die Terassentür öffne um raus/rein zu gehen. Wenn man die Tür nicht öffnet, hat man ja kein ständiges hoch und runter :wink:

Da kann es aber auch passieren, wenn es für 20-30 Min. dunkler wird, dass hoch gefahren wird und wenn es dann wieder für länger hell wird, dass wieder runter gefahren wird.

Ich glaube dann wäre es für eine Beschattung schon zu spät :wink:

1 „Gefällt mir“

Ja das stimmt, darum wollte ich keine Uhrzeiten als Trigger nehmen.
Sondern sowas wie Temperaturen + das mit der Helligkeit klingt gut :slight_smile: .

EDIT: Wenn ich darüber nachdenke könnte das als Trigger zusätzlich doch interessant sein. Sonst hat man vermutlich zu wenig Triggerpunkte.

Aber nur wenn man den hochfahren fall auch will. Bin ich aktuell noch unsicher :stuck_out_tongue:

Kommt auf den Wert an. Würde das nicht als Condition nehmen sondern dachte an einen Trigger.

Terrassentüre ist aktuell noch gar nicht auf dem Plan, die anderen Zimmer haben erstmal Vorrang :smiley:. Man könnte die Anwesenheit zuhause noch als Condition nehmen :stuck_out_tongue:

Was hast du für einen Helligkeitsensor?

Ich wollte halt Beschattung, wenn die Sonne auch auf die Fenster scheint. Für die Temperatur alleine bräuchte ich keine Beschattung.

Wie gesagt, wenn du die Fenster nicht öffnest, wird auch nicht hoch gefahren. Warum sollte man die Fenster auch ständig öffnen, man will ja die Hitze draußen lassen.

Auch das wäre nix für mich. Ich möchte die Beschattung auch, wenn keiner zu hause ist. Mein Hauptanliegen ist halt die Innentemperatur gering zu halten, egal ob jemand da oder nicht.

Ich hab den Hue Outdoor.

Das ist mein einziges Anliegen, die Innentemperatur gering halten.
Ich glaube du hast mich falsch verstanden, das wäre nur was für die Terrassentüre nicht für die anderen Zimmer. Im Sommer wenn jemand daheim ist, kann die Jalousie offen bleiben, weil dort ständig mit den Kinder eh Bewegung ist. :smiley:

Ja stimmt vermutlich schwer in Temperatur auszudrücken, ab wann die Sonne durch die Fenster die Zimmer zu stark aufheizen.

@maxe noch ne Frage warum nimmst du bei temperatur den daily forecast und nicht den aktuellen stand?

Dass würde ich nicht machen, weil die soll ja möglichst gering bleiben und nicht erst nachträglich darauf reagieren.

EDIT
Habe gerade den Rest gelesen. Da seid Ihr auf Temp ja schon eingegangen.

Wäre halt der letzte Anker bei 25 Grad innen temp die schotten dicht zu machen :smiley: . Als Condition würde ich es natürlich nicht machen, sondern als Trigger

Danke ich habe gerade gesehen ich habe noch einen Shelly Blue Motion, der kann das auch (wusste ich gar nicht). Mal schauen was der für Werte liefert.
Muss auch mal den Sonnenverlauf anschauen von der Seite :slight_smile:, dann kann es losgehen :slight_smile:

Ich nutze OpenWeather Map. Auch wenn es nicht 100% stimmt, aber im Zusammenhang, wie bei @maxe , reicht es auf alle Fälle :wink: .

Ich nehme die stündliche Temperatur-Vorhersage, dann weiß ich, wann es zu warm werden soll.
Hatte ich mir über ein weiteres Template angelegt

template:
  # Stündliche Wettervorhersagen
  - trigger:
    - platform: time_pattern
      hours: /1
    action:
    - service: weather.get_forecasts
      target:
        entity_id:
          - weather.dwd
      data:
          type: hourly
      response_variable: stundenvorhersage
    sensor:
    # Template-Sensor, der die Temperatur der stündlichen Vorhersage Status hat (Vorteile bei Verlauf, Automationen, etc.)
    - name: Weather DWD hourly
      unique_id: temperature_dwd_next_hour
      state: "{{ stundenvorhersage['weather.dwd'].forecast[1].temperature }}"
      icon: mdi:hours-24
      unit_of_measurement: °C
      attributes:
        forecast: "{{ stundenvorhersage['weather.dwd'].forecast }}"

Eine Beschreibung meiner (simplen) Lösung, ohne erstmal Code hier hochzuladen:
Rahmenbedingungen:
Alle relevanten Rollläden werden bei mir bereits über Homematic IP Aktoren gesteuert. Über die App von Homematic IP lassen sich somit schon ganz ohne HA entsprechende Automatisierungen anlegen. Das ist quasi meine Rückfalllösung, sollte HA mal nicht funktionieren.

Mit HA habe ich etwas “komfortablere” Automatisierungen erzeugt:

  • Ein Homematic IP Aussensensor liefert Aussentemperaturwerte
  • Ein ZigBee Temperatursensor liefert zusätzlich noch die Temperatur direkt hinter dem Fenster, auf das potentiell die Sonne scheint.

Meine grundsätzlicher Ansatz für die Automatisierung war, dass es sehr einfach und ohne Sonnenstände, etc. erfolgen sollte. Die Idee war, festzustellen ob die Sonne auch wirklich auf das Fenster scheint. Und nur dann sollten die Rollläden schließen.

Umsetzung:
Ein Sonoff ZigBee Temperatursensor direkt am unteren Rand des Fensters innen montiert.
In HA berechnet ein Ableitungssensor die Temperaturveränderung an diesem Sensor pro Minute. Also die Steigung der Temperaturkurve am Sensor. Ist diese Steigung größer als ein bestimmter Wert (bei mir sind es 0,12 Grad C pro Minute. Muss man halt für den individuellen Fall ermitteln) wird sozusagen “Sonneneinstrahlung” erkannt.
Dadurch wird ein boolscher Helfer “Sonnenschutz ausgelöst” auf “ein” gesetzt und der Rollladen entsprechend auf fast ganz zu heruntergefahren. Der Helfer soll verhindern, dass bei wolkigem Himmel der Rollladen mehrfach am Tag runter und wieder rauf fährt. Also einmal am Tag ausglöst, dann bleibt er unten.

Habe das ganze seit ca. April diesen Jahres in Betrieb und zwar an mehreren Fenstern. Funktioniert sehr gut und es gab bisher nur manche Tage, an denen bei “diffuser” Bewölkung der Temperaturanstieg als nicht hoch genug gemessen wird und daher der Rollladen nicht geschlossen wurde.

Zusätzlich habe ich noch eine “dumme” zusätzliche Automatisierung erstellt, die immer wenn es aussen über 26 Grad hat, der Sonnenschutz ausgelöst wird.

Lange Beschreibung aber simple Lösung. Ich dachte nicht, dass das mit dem Ableitungssensor so gut funktioniert, aber bisher läuft es perfekt.

Die habe ich auch, meine Frage gibt es einen Grund warum du die Vorhersage nimmst?

Ich habe auch den aktuellen Wert zum Beispiel mit sensor.openweathermap_temperature, sensor.weather_daily_temperature, sensor.weather_hourly_temperature.

Danke für den Link für den Sonnenverlauf, wie bist du denn auf deine Werte gekommen? Gibt es da auch Hinweise?

@anon80162771 frage, wenn es bei dir regnet/bewölkt/dunkel gehen deine Rollos auch runter wenn es >24 Grad ist korrekt?

EDIT: Danke für die ganzen Hinweise, da lässt sich mal wieder was sinnvolles basteln :slight_smile:

Ja, weil ich schon beschatten will, wenn es die kommende Stunde zu warm wird.

Ich habe meine Adresse gewählt und dann die Simulation gestartet. So konnte ich sehen, wann die Sonne wo und wie hoch steht. So konnte ich für die West-Seite der Wohnung die Werte ablesen.

1 „Gefällt mir“

Ok :slight_smile: ist wohl ne philosophische Frage.

Danke teste ich mal, ich habe eine Ostseite die ich auch verschatten will und dann die Westseite. Bin gespannt ob ich die Simulation versteh mal testen :smiley:

Für die Ostseite sieht es bei mir dann so aus, vielleicht wird es dann klarer für dich

{{ 
((
state_attr('sun.sun', 'elevation') | float > 22
and 
state_attr('sun.sun', 'elevation') | float < 55
and 
state_attr('sun.sun', 'azimuth') | float > 80
and 
state_attr('sun.sun', 'azimuth') | float < 135
and 
states('sensor.weather_dwd_hourly') | float > 20.9
and
states('sensor.ms_balkon_illuminance') | float > 500
and
now().month in [5,6,7,8,9]
))
}}
1 „Gefällt mir“