Denkfehler in Automation Beschattung?

Hallo.
Ich möchte einen Rolladen herunterfahren lassen, wenn es sonnig oder teilweise bewölkt ist und die Zimmertemperatur über 22 Grad liegt.
Meins Script schaut so aus:

alias: Beschattung
description: ""
trigger:
  - platform: time
    at: "13:00:00"
condition:
  - condition: and
    conditions:
      - condition: state
        entity_id: weather.forecast_home_2
        state: sunny
      - condition: or
        conditions:
          - condition: state
            entity_id: weather.forecast_home_2
            state: partlycloudy
  - condition: and
    conditions:
      - condition: numeric_state
        entity_id: sensor.temperatur_temperatur
        above: 22
action:
  - device_id: 8814f5796d4b1f00bd703a5d87515f0b
    domain: cover
    entity_id: b5f6a78c07d979e0d1f1728d92fa9ec3
    type: close
  - delay:
      hours: 0
      minutes: 0
      seconds: 21
      milliseconds: 0
  - device_id: 8814f5796d4b1f00bd703a5d87515f0b
    domain: cover
    entity_id: b5f6a78c07d979e0d1f1728d92fa9ec3
    type: stop
  - wait_for_trigger: []
    timeout:
      hours: 17
      minutes: 0
      seconds: 0
      milliseconds: 0
  - device_id: 8814f5796d4b1f00bd703a5d87515f0b
    domain: cover
    entity_id: b5f6a78c07d979e0d1f1728d92fa9ec3
    type: open
mode: single

Leider passiert da nix.
Liegt es vielleicht an der oder-Bedingung?

Was mir grad so auf die Schnelle auffällt: du musst die beiden Bedingungen “sonnig” und “teilweise bewölkt” innerhalb der ODER-Bedingung haben, nicht nur eine.
Und das ganze passiert immer nur um 13:00 Uhr, wenn die Bedingungen erfüllt sind. Wenn die Bedingungen vor oder nach 13:00 Uhr zustande kommen, wird nichts ausgelöst.

Der Auslöser “Time” ist hierfür schon mal nicht so ideal, da die Sonne ja nicht immer um punkt 13.00 Anfängt zu scheinen. In diesem Video habe ich mal erklärt was man alles als Auslöser dafür verwenden kann: https://youtu.be/EBSXRKCtxiY

Das ist nicht ganz richtig, oder?
Es wird doch nur genau um 13:00 geprüft und dann ausgelöst, wenn um 13:00 die Bedingung(en) erfüllt sind. Aber natürlich können nicht sonnig UND teilweise bewölkt gleichzeitig erfüllt sein.

Ja, hab ich doch so geschrieben, nur genau um 13:00 Uhr wird ausgelöst.
Und ja, mit den Bedingungen hast du natürlich recht.

Vielen Dank für Eure Antworten.
Das Video zeigt nicht das, was ich will.
Daher hab ich das Script nochmal umgebaut.

id: '1713096516852'
alias: Beschattung3
description: ''
trigger:
  - platform: time
    at: '13:00:00'
condition: []
action:
  - if:
      - condition: or
        conditions:
          - condition: state
            entity_id: weather.forecast_home_2
            state: sunny
          - condition: or
            conditions:
              - condition: state
                entity_id: weather.forecast_home_2
                state: partlycloudy
    then:
      - if:
          - condition: numeric_state
            entity_id: sensor.temperatur_temperatur
            above: 22
        then:
          - device_id: 8814f5796d4b1f00bd703a5d87515f0b
            domain: cover
            entity_id: b5f6a78c07d979e0d1f1728d92fa9ec3
            type: set_position
            position: 65
          - wait_for_trigger: []
            timeout:
              hours: 17
              minutes: 0
              seconds: 0
              milliseconds: 0
          - device_id: 8814f5796d4b1f00bd703a5d87515f0b
            domain: cover
            entity_id: b5f6a78c07d979e0d1f1728d92fa9ec3
            type: open
  - if: []
    then: []
mode: single>

Heute hat es schon Mal funktioniert und abgebrochen, weil es geregnet hat.

:crayon:by HeikoBauer: Codezeilen formatiert.

Die zweite ODER-Bedingung kann noch raus. Du musst nur die beiden Zustände sunny und partlycloudy innerhalb der ODER-Bedingung haben. Funktionieren tuts aber auch so, ist halt nur überbestimmt.

      - condition: or
        conditions:
          - condition: state
            entity_id: weather.forecast_home_2
            state: sunny
          - condition: state
            entity_id: weather.forecast_home_2
            state: partlycloudy

Die Temperatur kannst ebenfalls als Bedingung verwenden.
Der If else Teil ist nicht notwendig.
Und was Du mit dem Wait for trigger bezwecken willst ist mir ein Rätsel? Da Du gar keinen Trigger definiert hast. Und dann auch noch ein Timeout von 17H!! :scream:

alias: Beschattung3
description: ''
mode: single
trigger:
  - platform: time
    at: '13:00:00'
condition:
  - condition: or
    conditions:
      - condition: state
        entity_id: weather.forecast_home_2
        state: sunny
      - condition: state
        entity_id: weather.forecast_home_2
        state: partlycloudy
  - condition: numeric_state
    entity_id: sensor.temperatur_temperatur
    above: 22
action:
  - service: cover.set_cover_position
    metadata: {}
    data:
      position: 65
    target:
      entity_id: cover.xyz

Gruß
Osorkon

Das Einzige, was ich mir Vorstellen kann, ist, dass er möchte, dass es nach 17h wieder hochfährt, aber das wäre um 6:00 morgens.
Aber da kein Trigger definiert ist …
Ich denke er möchte auch das Hochfahren automatisieren und da wäre das schon ok, wenn er es als Trigger (mit ID) definiert. Und da macht es dann schon Sinn eine gewisse Zeit zu warten, bevor man das auslöst, aber natürlich keine 17h. :wink:

Hallo ulihueck,

ist vielleicht für dein Vorhaben ein bisschen viel aber eventuell hilft es ja.

Gruß Matrix