Licht auf der Terrasse nachts steuern

Hallo zusammen,

im HA bin ich recht neu unterwegs, in Homematic habe ich schon ein paar Jährchen Erfahrung. Folgengendes Szenario. Wie würden die Experten hier unter euch das lösen.

Abends (Rolladen sind geschlossen und es ist dunkel)

Man öffnet man die Terrassentüre.

Tür Sensor erkennt Türe wird geöffnet, und fährt Rollladen hoch, und schaltet nach 20 sec das Terrassenlicht (Zigbee) ein.

Wird die Türe wieder geschlossen, fährt der Rolladen nach 30 sec wieder runter und das Licht geht nach 2 min aus.

Rolladen und Türsensor kommen von Homematic (Rasperymatic Addon)

Kann ich das in einer Automatisation abbilden?

Danke schon mal. Schönen Samstag Abend noch.

Ja, das wäre ja noch eine einfachere Automation.

Trigger = Tür wird geöffnet (TriggerID “offen”)
Trigger = Tür wird geschlossen für 30 Sek. (TriggerID “geschlossen”)

Bedingung = Abends

Aktionen:
Ausgelöst durch “offen”
Rolladen hoch
Warte 20 Sek.
Licht an

Ausgelöst durch “geschlossen”
Rolladen runter
Warte 2 Min.
Licht aus

So ähnlich ist es hier beschrieben (zwar mit Bewegungsmeldern)

Für die Bedingung “Abends” bringt Homeassistant diverse Entities zum Sonnenaufgang/-untergang und zur Dämmerung mit, die sich dynamisch dem Jahresverlauf anpassen und an die Du das knüpfen kannst. Im Winter muss das Licht ja schon nach 16 Uhr angehen und im Sommer erst nach 22 Uhr, weil es ansonsten noch hell ist und eine eingeschaltete Leuchte nur Stromverschwendung wäre.

Wäre das etwas oder hab ich da noch einen Denkfehler drin?

description: ""
mode: single
triggers:
  - type: opened
    id: an
    device_id: d08b71291198bb35406dfd66485a1f5a
    entity_id: 66f57a0ba18d1ca60c3c4f055c4b11df
    domain: binary_sensor
    trigger: device
  - type: not_opened
    id: aus
    device_id: d08b71291198bb35406dfd66485a1f5a
    entity_id: 66f57a0ba18d1ca60c3c4f055c4b11df
    domain: binary_sensor
    trigger: device
conditions:
  - condition: sun
    before: sunrise
    after: sunset
actions:
  -if
    -condition: trigger
    id:
      - an
  then:
  - type: turn_on
    device_id: 6c12db9d21723859fe967c2863b0fe51
    entity_id: 134c307b0f440ecebb3c540e4b60b2a4
    domain: light
    brightness_pct: 100


Da fehlt nur noch die Prüfung auf den zweiten Trigger (aus) um die Beleuchtung auch anschließend wieder auszuschalten. Zudem fehlen die gewünschten Verzögerungen von 20 sec für das einschalten und 2 Minuten für das ausschalten. Und das hochfahren und runterfahren der Rollladen…

Schwieriger wird es bei den Grenzwerten. D.h. im Sommer wenn du bereits vor Sonnenuntergang auf der Terrasse sitzt, wird das Licht nicht angehen wenn die Sonne untergeht und die Tür schon offen ist. Dafür könntest du den Sonnenuntergang auch als Trigger dazu nehmen und die Conditions noch um “Tür offen” erweitern.

Aber es sieht schon mal gut aus. Viel Spass beim basteln :smiley:

VG, Cem

Sollte aber keiner mehr auf Terrasse sitzen dann :wink:

Viele Wege führen ins Haus. :grinning:

Ah, zum Glück! :grinning:
Hast du schonmal ChatGPT versucht? Mir hilft das oft, wenn ich zwar Ideen habe, aber nicht wirklich Ahnung davon, wie man das umsetzen könnte. Zumindest als Schubser in die richtige Richtung oft ganz brauchbar.

Chat GPT hat ein fertiges Skript ausgespuckt.
Das geht.

Prima! Könntest du hier posten, dann haben Leser/Suchende hier vielleicht auch was davon. :slight_smile:

Werde ich tun, wenn ich wieder am eigenen Rechner sitz.

Tag

So was hab ich auch realisiert, mit einem Lux Sensor und Türsensoren

alias: Licht ein Terrasse
description: ""
mode: single
triggers:
  - entity_id:
      - binary_sensor.schiebeture_offnet
    from: "off"
    to: "on"
    trigger: state
conditions:
  - condition: numeric_state
    entity_id: sensor.lux
    below: 100
actions:
  - metadata: {}
    data:
      brightness_pct: 10
    target:
      entity_id: light.terrasse
    action: light.turn_on
  - wait_for_trigger:
      - entity_id:
          - binary_sensor.schiebeture_offnet
        from: "on"
        to: "off"
        for:
          hours: 0
          minutes: 0
          seconds: 2
        trigger: state
  - metadata: {}
    data: {}
    target:
      entity_id: light.terrasse
    action: light.turn_off
1 „Gefällt mir“

Des Rätsels Lösung brachte mir tatsächlich Chat GPT.

Damit flutscht es einwandfrei.

alias: Terrassenlicht bei offener Tür
description: >-
  Schaltet das Terrassenlicht bei geöffneter Tür und nach Sonnenuntergang ein,
  und schaltet es 3 Minuten nach dem Schließen der Tür aus.
triggers:
  - entity_id: binary_sensor.terrassenture_terrassentuere
    to: "on"
    trigger: state
  - entity_id: binary_sensor.terrassenture_terrassentuere
    to: "off"
    trigger: state
conditions:
  - condition: sun
    after: sunset
    before: sunrise
actions:
  - choose:
      - conditions:
          - condition: state
            entity_id: binary_sensor.terrassenture_terrassentuere
            state: "on"
        sequence:
          - target:
              entity_id: light.terrasse_leuchte
            data:
              brightness: 255
            action: light.turn_on
      - conditions:
          - condition: state
            entity_id: binary_sensor.terrassenture_terrassentuere
            state: "off"
        sequence:
          - delay: "00:03:00"
          - target:
              entity_id: light.terrasse_leuchte
            action: light.turn_off
            data: {}
mode: single

1 „Gefällt mir“

Ich arbeite an dieser Stelle gerne mit IDs der Trigger - schau mal:

alias: Terrassenlicht bei offener Tür
description: >-
  Schaltet das Terrassenlicht bei geöffneter Tür und nach Sonnenuntergang ein,
  und schaltet es 3 Minuten nach dem Schließen der Tür aus.
triggers:
  - entity_id: binary_sensor.terrassenture_terrassentuere
    to: "on"
    trigger: state
    id: auf
  - entity_id:
      - binary_sensor.terrassenture_terrassentuere
    to: "off"
    trigger: state
    id: zu
    for:
      hours: 0
      minutes: 3
      seconds: 0
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - auf
          - condition: sun
            after: sunset
            before: sunrise
        sequence:
          - target:
              entity_id: light.terrasse_leuchte
            data:
              brightness: 255
            action: light.turn_on
      - conditions:
          - condition: trigger
            id:
              - zu
        sequence:
          - target:
              entity_id: light.terrasse_leuchte
            action: light.turn_off
            data: {}
mode: single

Außerdem habe ich den Check auf Sonnenstand nur beim ausschalten eingebaut - ansonsten könnte es sein, das die Lampen (gaaaanz früh morgens) nicht ausgeschaltet werden.

Die Verzögerung um 3 Minuten ist in meine Script als Delay im Trigger untergebracht - finde ich persönlich transparenter.

Gibt Dir vielleicht nochmals eine andere Sichtweise.

Gruß, Lars