Rolladenautomatisierung als Sonnenschutz

Hallo liebes Board,
ich bin Ralf, neu hier und habe eine Frage zur Automatisierung. Ich habe eine einfache Automatisierung, welche im Sommer die Innenräume kühl hält. Vereinfacht dargestellt: Wenn Innentemperatur und Außentemperatur über 23 Grad und die Sonneneinstrahlung überschreitet einen Luxwert, dass bitte Rolläden herunterfahren. Das Ganze noch zeitl. gesteuert für die Himmelsrichtungen. Das funktioniert auch grundsätzlich wie erwartet. Das Problem, das ich habe ist, dass bei wechselhaftem Wetter, die Rolläden dauerhaft hoch und runter fahren, was den “Woman acceptance factor” erheblich senkt. :slight_smile: Da ich in der Automatisierung als “Condition type: Device” nutze habe ich nicht wie beim Typ “State” die Möglichkeit die Zeitdauer, in der diese Condition wahr sein muss einzustellen. Ich würde ja State nutzen, nur kenne ich keine Möglichkeit für “above” order “below”. Meine Frage ist nun wie kann ich sicherstellen, dass die Automatisierung nur die Rolläden öffnet oder schließt, wenn für ein Zeitraum x der Zustand herrschte?

Viele Grüße
Ralf

Herzlich Willkommen im Forum.

Simon hat genau zu diesem Thema ein Video gemacht

Er nutzt last_triggered um abzufragen ob die Automation heute schon getriggert wurde. Schau es dir einfach mal an.

Edit:
Du könntest auch im Trigger bereits eine Zeitspanne abfragen

type: temperature
platform: device
device_id: xyz
entity_id: sensor.openweathermap_dew_point
domain: sensor
above: 23
for:
  hours: 0
  minutes: 10
  seconds: 0

Hi,

danke für deine Unterstützung. Ich habe mir den Clip angesehen, muss aber feststellen, dass der Aufbau der Automation mir nicht hilft. Da ich eine Wetterstation statt Berechnungen als Trigger nutze, kann es ja durchaus sein, dass es dann zb: 10 Uhr bewölkt wird und dann ab 12 Uhr wieder voller Sonnenschein herrscht. Das heißt, ich möchte durchaus auch mehrmals täglich die Automation starten, nur halt nicht 3 mal pro Minute. :slight_smile: Somit hilft mir last_triggered nicht. Als generellen Trigger nutze ich eigentlich nur State: “QWhen Solar Radiation changes” und bei Actions habe ich dann “Choose between 2 actions” zum öffnen oder schließen. Das eintragen der Zeitspanne wie oben dargestellt, hat nicht funktioniert. Bei Speichern hat HA eine Fehlermeldung “malformed…” ausgegeben.

Da ich das sicherlich nicht perfekt in Worte gefasst habe, hier ein Screenshot. :slightly_smiling_face:

Da würde mir spontan nur eine zweite Automation einfallen, die triggert, wenn Illuminance > 500 für x Min und dann z. B. einen input_boolean Helfer aktiviert. Den könntest du dann in deiner ursprüngliche Automation abfragen.

Klingt plausibel, das werde ich testen. :slight_smile: Danke.

Nachtrag:
Mit den vorgeschlagenen Helpern konnte ich nun die Automation enstprechend konfigurieren. Ich habe den Typ Treshold gewählt und dann als State condition in der Automation genutzt, wo ich dann auch gesetzt habe, das diese Condition 10 min “wahr” sein muss.

:crayon:by HarryP: Zusammenführung Doppelpost.

Hello

Ich habe meine Automatisierung in drei Teile gegliedert. Teil 1 die Aktivierung, Teil 2 die Task und Teil 3 die Deaktivierung.

Teil 1 aktiviert einen Input Boolean. Ist dieser aktiviert, dann aktiviert dieser den Teil 2. Solange der Boolean aktiv ist, kann der Teil 1 nicht auslösen. Erst wenn die Bedingungen im Teil 3 erfüllt sind, öffnet dieser die Storen und deaktiviert den Boolean.

Für den Teil 3 verwende ich nur den Azimutwert, um den Angry-Wife Faktor zu minimieren. Der Vorteil ist, dass du dann mit dem Boolean die Storen manuell aktivieren oder deaktivieren kannst.

Vielleicht hilft dir das weiter:

Hallo,
Ich bin neu hier und habe erst seit kurzen Home Assistant auf meinem Raspberry. Habe schon einige Erfahrungen mit iobroker in den letzten Jahren gesammelt. Bin immer gut mit den visuellen Möglichkeiten klar gekommen ohne großartig zu programmieren.
Ich habe die Automation aus dem Video übernommen und auf meine Bedürfnisse angepasst, aber trotzdem fahren die Rollos nicht runter.
Ich hoffe ihr könnt mir weiter helfen?!


Es sieht so aus als wenn die zwei IF-Abfragen in den Aktionen nicht zutreffen.

Wenn du das state_attr so in die Entwicklerwerkzeuge → Template einfügst, was wird dir dann angezeigt?

Dann wird false angezeigt

und wenn du nicht mit not state_attr abfragst, sonder nur state_attr? Ich vermute beide Abfragen liefern FALSE. Dann stimmt mit der Abfrage etwas nicht. Woher hast du die?

Edit:
Mir ist gerade noch aufgefallen… wenn state_attr ein TRUE liefert, muss ja noch die Bedingung passen, dass durch die TriggerID “SonneWiederOkay” ausgelöst wurde. Und das wurde es, laut deinen Screenshots, nicht.

Bei der Abfrage ohne “Not” kommt True.
Habe das aus dem Video von simon42.
Muss ich die vielleicht nur tauschen?

Das Video hast du am 26.6.23 in diesem Thema gepostet :upside_down_face: :slightly_smiling_face:

Die Werte zum Sonnenstand passen. Die sind True. Nur löst der nicht die Scene aus.

Ich kenne das Video nicht. Aber es wird abgefragt ob die Automation heute schon mal gelaufen ist.

Die Frage ist ja, ist ist der Status des Attributes azimuth von sun.sun? Davon ist der Trigger abhängig. Wenn der unter 245 ist, kann dieser nicht auslösen. Ausgelöst wird erst, wenn sich dieser von unter 245 auf über 245 ändert.

Ich nutze das selber nicht, von daher ist das für mich nur reine Theorie.

Hallo, ich hänge mich hier einfach mal mit dran. Ich habe mir das Video von Simon auch angesehen und den Code von der Website übernommen. Anschliessend habe ich das noch auf meine Bedürfnisse angepasst. Funktioniert auch soweit. Das einzige Problem was ich habe, ist das er die Automatierung mehrfach ausführt. Er begreift also nicht, das diese an dem Tag schon mal gelaufen ist. Kann da mal jemand drüber schauen und mir nen Tipp geben? Wenn ich die Bedingung unter Rollo runter teste, dann gibt er Bedingung erfüllt aus. Aber da müsste doch nicht erfüllt kommen, wenn die Automatisierung schon gelaufen ist? Hier mal meine Yaml:

alias: Ostsonne
description: ""
trigger:
  - platform: time_pattern
    minutes: /15
    alias: Check alle 15 Minuten
  - alias: Sonne zu weit im Sueden
    platform: numeric_state
    entity_id:
      - sun.sun
    attribute: azimuth
    above: 175
    id: SonneWiederOkay
condition:
  - condition: or
    conditions:
      - alias: Bedingungen für Rollo muss runter
        condition: and
        conditions:
          - condition: numeric_state
            entity_id: sun.sun
            attribute: azimuth
            above: 75
            below: 180
          - condition: numeric_state
            entity_id: sun.sun
            attribute: elevation
            above: 15
          - condition: numeric_state
            entity_id: weather.forecast_home
            above: 15
            attribute: temperature
          - condition: template
            value_template: >-
              {{ not
              state_attr('automation.sun_protection_forecast_temp_sun_altitude',
              'last_triggered').day==now().day }}
          - condition: or
            conditions:
              - condition: state
                entity_id: weather.forecast_home
                state: sunny
              - condition: state
                entity_id: weather.forecast_home
                state: partlycloudy
              - condition: state
                entity_id: weather.forecast_home
                state: cloudy
            alias: Wetterkontrolle
          - condition: or
            conditions:
              - condition: time
                after: "09:00:00"
                weekday:
                  - sat
                  - sun
              - condition: time
                after: "06:00:00"
                weekday:
                  - mon
                  - tue
                  - wed
                  - thu
                  - fri
            alias: Wochentagsentscheidung
      - alias: Bedingung für Rollo soll wieder hoch
        condition: and
        conditions:
          - condition: trigger
            id: SonneWiederOkay
          - condition: template
            value_template: >-
              {{
              state_attr('automation.sun_protection_forecast_temp_sun_altitude',
              'last_triggered').day==now().day }}
          - condition: time
            after: "09:00:00"
            before: "18:00:00"
action:
  - if:
      - condition: template
        value_template: >-
          {{ not
          state_attr('automation.sun_protection_forecast_temp_sun_altitude',
          'last_triggered').day==now().day }}
    then:
      - device_id: abf55c334dc4772aad3c7d8c0381b9e6
        domain: cover
        entity_id: 4fd95e5bdd2266464d26d97b0433d494
        type: set_position
        position: 45
      - device_id: 95357f2a7a70c03847aa5b87488032ea
        domain: cover
        entity_id: f556d25163d12b585c71d6ca9b4013fa
        type: set_position
        position: 45
      - device_id: 293c66dd99506d03869797755a87b6a4
        domain: cover
        entity_id: 09f51bb44ed96e4e9624dd01a04fb2f0
        type: set_position
        position: 46
    alias: Rollos runter
  - alias: Rollos wieder hoch
    if:
      - condition: and
        conditions:
          - condition: trigger
            id: SonneWiederOkay
    then:
      - device_id: 293c66dd99506d03869797755a87b6a4
        domain: cover
        entity_id: 09f51bb44ed96e4e9624dd01a04fb2f0
        type: open
      - device_id: abf55c334dc4772aad3c7d8c0381b9e6
        domain: cover
        entity_id: 4fd95e5bdd2266464d26d97b0433d494
        type: open
      - device_id: 95357f2a7a70c03847aa5b87488032ea
        domain: cover
        entity_id: f556d25163d12b585c71d6ca9b4013fa
        type: open
mode: single

Vielen Dank

Keine Hilfestellung, nur die Info, dass du nicht alleine bist. Ich bin mit dem Template nicht zurechtgekommen und habe es erst deaktiviert und letztlich auch ganz rausgenommen. Hatte damit dann aber auch keinen Schmerz, denn wenn wie heute erst die Sonne strahlt, es dann stark gewittert und regnet und dann wieder blendend rein strahlt, dann will ich zwischendrin durchaus natürliches Licht und dann wieder Blend- und Hitzeschutz.