Terrasse/Garage Sensor - Licht Automation

Hallo zusammen,

ich habe mir eine Automatisierung zusammen gebastelt die nur ab und zu funktioniert. Warum weiß ich nicht genau deshalb erhoffe ich mir hier ratsame Hilfe oder vielleicht auch eine alternative zu meiner Automation.

Meine Automation soll wie folgt ablaufen. Wenn ich die Terrassentüre öffne, soll das Licht auf der Terrasse und an der Garage eingeschaltet werden. Wenn ich die Terrasentüre schließe dann soll das Licht (20sek später) ausgeschaltet werden, aber nicht, wenn noch Bewegung (60sek Ikea Timeout + 20 Sekunden wartezeit) auf der Terrasse erkannt wird.
Wenn keine Bewegung mehr erkannt wird und die Terrasentüre geschlossen ist, dann schalte das Licht ab. Die gesamte Automation soll erst nach Sonnenuntergang funktionieren und am WE bzw. unter der Woche nur zu bestimmten Zeiten.
Sensoren die vorhanden sind. Türsensor (Terrassentüre (AQARA)) und Bewegungsmelder(Garage/Terrasse(IKEA))

Meine aktuelle Automation funktioniert, aber nicht immer und ich verstehe nicht warum. Ich habe die Vermutung das es zu einem Problem mit den angegebene Timeouts, Türsensor(20sek.) bzw. Bewegungsmelder (60sek+20sek) Manchmal ist es so das ich die Terrasentüre schließe, das Licht aber nicht ausgeschaltet wird und ich die Türe nochmal öffnen und dann wieder schließen muss, sodass es funktioniert.

Ich hoffe es ist einigermaßen verständlich formuliert wurde, wenn nicht beantworte ich gerne alle offenen Fragen.

Hier meine aktuelle Automation:

alias: "Licht: An/Aus - Bewegung/Türöffner Garage/Terrasse"
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.tursensor_terrasse_contact
    to: "on"
    id: Tür offen
  - platform: state
    entity_id:
      - binary_sensor.tursensor_terrasse_contact
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 20
    id: Tür geschlossen
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_garage_occupancy
    to: "on"
    id: bewegung_erkannt
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_garage_occupancy
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 20
    id: keine_bewegung
    attribute: occupancy
condition:
  - condition: or
    conditions:
      - condition: and
        conditions:
          - condition: sun
            before: sunrise
            after: sunset
          - condition: time
            after: "08:00:00"
            before: "01:00:00"
          - condition: state
            entity_id: binary_sensor.workday_sensor
            state: "off"
          - condition: numeric_state
            entity_id: sun.sun
            attribute: elevation
            below: -4
      - condition: and
        conditions:
          - condition: time
            after: "05:30:00"
            before: "23:30:00"
          - condition: state
            entity_id: binary_sensor.workday_sensor
            state: "on"
          - condition: sun
            before: sunrise
            after: sunset
          - condition: numeric_state
            entity_id: sun.sun
            attribute: elevation
            below: -4
action:
  - choose:
      - conditions:
          - condition: or
            conditions:
              - condition: trigger
                id:
                  - Tür offen
              - condition: state
                entity_id: binary_sensor.bewegungsmelder_garage_occupancy
                state: "on"
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              brightness_pct: 100
              transition: 5
            target:
              entity_id:
                - light.licht_terrasse
                - light.garage_gu10
      - conditions:
          - condition: and
            conditions:
              - condition: trigger
                id:
                  - Tür geschlossen
              - condition: state
                entity_id: binary_sensor.bewegungsmelder_garage_occupancy
                state: "off"
                for:
                  hours: 0
                  minutes: 0
                  seconds: 20
        sequence:
          - service: light.turn_off
            metadata: {}
            data:
              transition: 7
            target:
              entity_id:
                - light.licht_terrasse
                - light.garage_gu10
      - conditions:
          - condition: and
            conditions:
              - condition: trigger
                id:
                  - keine_bewegung
              - condition: state
                entity_id: binary_sensor.tursensor_terrasse_contact
                state: "off"
        sequence:
          - service: light.turn_off
            metadata: {}
            data:
              transition: 5
            target:
              entity_id:
                - light.garage_gu10
                - light.licht_terrasse
      - conditions:
          - condition: trigger
            id:
              - bewegung_erkannt
        sequence:
          - service: light.turn_on
            metadata: {}
            data:
              transition: 5
            target:
              entity_id:
                - light.garage_gu10
                - light.licht_terrasse
mode: single

Vielen Dank im Vorraus! :slight_smile:

Die Automatisierung hast Du ganz schön kompliziert aufgebaut.
Ein paar der Bedingung sind doppelt gemoppelt.
Wenn sun elevation < -4 ist es immer nach Sonnenuntergang und vor Sonnenaufgang.
Auch würde ich nur der einfachheitshalber nur 2 Trigger ID’s verwenden.

  • einschalten
  • ausschalten

Die 2 Lichter würde ich zu einer Licht Gruppe (Helfer) Zusammenfassen, hier im Bsp.: light.gruppe_terrasse_garage

Nur beim einschalten des Lichts würde ich die Bedingungen verwenden, wie elevation und Uhrzeit. Zusätzlich würde ich als Bedingung Licht ist aus verwenden.
Ansonsten bleibt das Licht an wenn es kurz bevor die Bedingung noch erfüllt sind eingeschaltet wird.

Zum Ausschalten einfach die 2 Trigger BM aus für 20s oder Tür ist zu für 20 Sekunden. In Verbindung mit den Bedingungen BM aus für 20s und Tür ist zu für 20 Sekunden und Licht ist an.

Die Unterscheidung Werktag in Verbindung mit den verschieden Uhrzeiten. Kannst als Zusätzliche Auswahl Aktion mit 2 Optionen in die übergeordnete Option 1 einbauen.

Des weiteren würde ich den Modus auf restart ändern. So das immer der letzte Trigger die Automatisierung triggert.

alias: "Licht: An/Aus - Bewegung/Türöffner Garage/Terrasse"
description: ""
mode: restart
trigger:
  - platform: state
    entity_id:
      - binary_sensor.tursensor_terrasse_contact
    from: "off"
    to: "on"
    id: einschalten
  - platform: state
    entity_id:
      - binary_sensor.tursensor_terrasse_contact
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 20
    id: ausschalten
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_garage_occupancy
    from: "off"
    to: "on"
    id: einschalten
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_garage_occupancy
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 20
    id: ausschalten
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - einschalten
          - condition: state
            entity_id: light.gruppe_terrasse_garage
            state: "off"
          - condition: numeric_state
            entity_id: sun.sun
            attribute: elevation
            below: -4
        sequence:
          - choose:
              - conditions:
                  - condition: state
                    entity_id: >-
                      binary_sensor.workday_sensor
                    state: "on"
                  - condition: time
                    after: "05:30:00"
                    before: "23:30:00"
                sequence:
                  - service: light.turn_on
                    metadata: {}
                    data:
                      brightness_pct: 100
                      transition: 5
                    target:
                      entity_id: light.gruppe_terrasse_garage
              - conditions:
                  - condition: state
                    entity_id: >-
                      binary_sensor.workday_sensor
                    state: "off"
                  - condition: time
                    after: "08:00:00"
                    before: "01:00:00"
                sequence:
                  - service: light.turn_on
                    metadata: {}
                    data:
                      brightness_pct: 100
                      transition: 5
                    target:
                      entity_id: light.gruppe_terrasse_garage
      - conditions:
          - condition: trigger
            id:
              - ausschalten
          - condition: state
            entity_id: binary_sensor.tursensor_terrasse_contact
            state: "off"
            for:
              hours: 0
              minutes: 0
              seconds: 20
          - condition: state
            entity_id: binary_sensor.bewegungsmelder_garage_occupancy
            state: "off"
            for:
              hours: 0
              minutes: 0
              seconds: 20
          - condition: state
            entity_id: light.gruppe_terrasse_garage
            state: "on"
        sequence:
          - service: light.turn_off
            metadata: {}
            data: 
              transition: 5
            target:
              entity_id: light.licht_anakin

Gruß
Osorkon

Ja das hab ich mir schon gedacht :smiley:. Doppelt gemoppelt hält besser :wink:

Das mit der Sun Elevation ist richtig, hatte ich im Eingangspost glaub ich vergessen zu erwähnen. Das Licht bzw die Automation soll nur funktionieren wenn die Elevation < -4 ist. Habe in dem Ikea Melder leider keinen Lux Sensor deshalb behelfe ich mir hier mit der Elevation -4.

Mit den Trigger IDs stimme ich dir zu, hatte gedacht um es für mich besser auseinander zu halten was dort passiert vergebe ich einzelne IDs für den Status desjeweiligen Sensors.
Lichtgruppe ebenso, hier würde ich allerdings eine Z2M Gruppe bevorzugen, hab damit irgendwie bessere Erfahrungen als mit Helfer Gruppen.

Die Vorschläge von dir werde ich mal so übernehmen und heute abend testen, Danke dafür!

Das mit den verschiedenen Modi hab ich noch nicht so ganz gecheckt wann man Single,Repeat etc nutzt…

Werde deinen Vorschlag mal übernehmen und testen, melde mich dann wieder nach meinen Tests :slight_smile:

DANKE!

Also:

Automation startet und das Licht schaltet ein.
Wenn ich jetzt aber die Türe geschlossen habe und mich vor dem Bewegungsmelder bewege. Wartet er die 60Sekunden Timeout ab (dort erkennt der Melder keine erneute Bewegung) dann wartet er wie in der Automation angegeben die 20sek ab, schaltet das Licht aus und 10sek danach erkennt er erst wieder eine Bewegung und schaltet das Licht an.

Ich möchte aber das er das Licht garnicht erst ausschaltet sollte Bewegung sein.

Es scheint als ob er in dieser Automation erneute Bewegung ignoriert, das war vorher bei meiner Automation nicht so.

Hast du ne Idee?

Edit: kann es vielleicht auch sein das der Ikea Sensor erst 90Sekunden später wieder Bewegung registriert? Irgendwie meine ich mich erinnern zu können mal was von 90Sekunden gelesen zu haben.

Der Bewegungsmelder ist folgender:
IMG_0400

Du nutzt die IKEA Dinger! Waren die schlechtesten ZigBee BM die je besässen habe.
Habe ich schon lange dem Elektroschrott zugeführt.

Je nach dem wie Lange die die Blindzeit des BM dauert, bis er erneut eine Bewegung erkennt. Musst Du die Zeit in der Automatisierung erhöhen.

Je höher der Wert, dest unwahrscheinlicher, dass das Licht ungewollt ausgeschaltet wird. 20s erscheinen mir ein wenig kurz, würde ich auf einen Minute erhöhen.

Also:

  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_garage_occupancy
    to: "off"
    for:
      hours: 0
      minutes: 1
      seconds: 0

Und das gleiche dann in der Bedingung.

Gruß
Osorkon

Ja, die nutze ich. Kann darüber eigentlich nichts schlechtes sagen, hab ich für 5€ bekommen und funktionieren bis jetzt gut. Klar sind das keine tollen Dinger, aber für meine Zwecke reichen die.

Die Blindzeit habe ich auf 60Sekunden, wie im Eingangspost (Timeout hatte ich das gennant) in Z2M eingestellt. Deshalb sind diese 20 Sekunden in der Automation ja nur on TOP wenn ich das richtig verstehe. Der Auslöser wird ja erst getriggert wenn die Blindzeit + 20 Sekunden vorbei sind, richtig?

Wenn ich mir deine Automation anschaue, hast du nicht auch doppelt gemoppelt?

trigger:
  ...
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_garage_occupancy
    from: "on"
    to: "off"
    for:
      hours: 0
      minutes: 0
      seconds: 20
    id: ausschalten

Hier ist der Auslöser mit der ID “ausgeschaltet”

In der Aktion wird dann einmal die Bedingung mit ID “ausgeschaltet” abgefragt UND:

- condition: state
  entity_id: binary_sensor.bewegungsmelder_garage_occupancy
  state: "off"
  for:
    hours: 0
    minutes: 0
    seconds: 20

Oder verstehe ich hier etwas falsch?

Ich konnte es leider nicht mehr testen mit 30 Sekunden für den State “off” des Bewegungsmelders.
Den Post auf Reddit habe ich aber gefunden wo es jemand beschreibt:

They’ll report “off” after 1 minute, but it takes another 30 seconds before report motion again

https://www.reddit.com/r/homeassistant/comments/lbuwnd/tradfri_motion_sensors_130_second_blind_time/#:~:text=So%20I’ve%20seen%20some,minute%20and%20half%20blind%20time. (Sollten externe Links nicht gewünscht sein bitte löschen!)

Ich werde es heute abend mal mit 30 Sekunden versuchen denn dann sollte das Licht anbleiben nach meinem Verständnis.

Edit: Ansonsten funktioniert die Automation echt gut, zumindest häufiger als meine mit dem Ausschalten des Lichtes und Sie ist deutlich übersichtlicher als meine :slight_smile:

Die Zeit die der BM braucht um von on zu off zu wechseln, nennt man im Allgemeinen.
Alarm Rückstellungszeit. Die Zeit in der der BM keinen weitere BM erkennt die Blind- oder Totzeit.
Wenn die Blindzeit < Alarm Rückstellungszeit ist. Hast Einen BM im Präsenzmodus. Solange Bewegung erkannt wird, geht der BM nie in den off Zustand.

Ist die Blindzeit >= Alarm Rückstellungszeit, wird immer erst ein off empfangen, bevor der BM erneut eine Bewegung registrieren kann.

Bei dem IKEA BM scheint die Alarm Rückstellungszeit 60s zu betragen.
Und die Blindzeit ist > 60s. Du schreibst was von 10 s also wären das 70 s.
Du hast also einen Bilden Fleck von mindestens 10s, den es zu überbrücken gilt.

Nein ist nicht doppelt gemoppelt.
Das einen ist ein Trigger, das andere eine Bedingung.
Du hast 2 Trigger zum Ausschalten, den BM und die Tür.
Wenn die Tür geschlossen wird, wird ebenfalls geprüft ob der BM bereits für die Zeit x aus ist. Sonst wird zwar durch das schließen der Tür das Licht ausgeschaltet, jedoch durch den BM nicht wieder eingeschaltet, da er noch in seiner Blindzeit hängt.
Das gleiche für die Tür, Auslöser und Bedingung.

Gruß
Osorkon

Danke für die detaillierten Infos.

Ich habe die Zeit des Bewegungsmelders in der Automatisierung nun auf 35 sekunden geändert. Jetzt funktioniert es wie ich möchte. Das Licht bleibt bei Bewegung an und sollte die Türe geschlossen sein und keine Bewegung erkannt werden, geht es aus. Bis jetzt hat es immer wieder funktioniert.
Danke dafür!!! :slight_smile:

2 „Gefällt mir“