Automatyzacja - Sensor ruchu i światła

Cześć,

Bezskutecznie walczę z (prostą chyba…) automatyzacją ale - jak pewnie się domyślacie, przegrywam :frowning:

Założenia są bardzo proste:
Automatyzacja powinna wyłączyć światło przy równoczesnym zachowaniu następujących warunków:

  1. Światło ‘Light’ musi zostać najpierw włączone
  2. Od włączenia światła musi upłynąć co najmniej 5 minut
  3. Po upływie tych 5minut nie może zostać wykryty żaden ruch przez czujnik ruchu

Jeżeli w ciągu 5 minut od włączenia światła czujnik wykryje ruch, automatyzacja powinna na nowo rozpocząć odliczanie kolejnych 5 minut i wrócić do sprawdzenia sensora ruchu.

Napisałem coś takiego:

alias: Nowa automatyzacja
description: ""
trigger:
  - platform: device
# włączenie światła jest wyzwalaczem automatyzacji
    type: turned_on
    device_id: e56bd6c48a7bbf9e8e1f99a3efbf6d26
    entity_id: 9b1cd2d577abca4498402375a163cf6f
    domain: switch
condition: []
action:
# rozpoczęcie odliczania 5min
  - delay:
      hours: 0
      minutes: 0
      seconds: 5
      milliseconds: 0
    enabled: true
#sprawdzenie warunku braku ruchu
  - condition: state
    entity_id: binary_sensor.0xa4c138148bb665e8_occupancy
    state: "off"
# wyłączenie światła
  - type: turn_off
    device_id: e56bd6c48a7bbf9e8e1f99a3efbf6d26
    entity_id: 9b1cd2d577abca4498402375a163cf6f
    domain: switch
mode: restart

Teoretycznie działa - tzn. po włączeniu światła i braku ruchu przez 5min światło gaśnie. Natomiast jesli w trakcie tych 5min pojawi się ruch to światło świeci się nadal.

Problem natomiast polega na tym, że jeżeli ruch ustanie to automatyzacja powinna ponownie zacząć liczyć 5min i sprawdzić czujnik ruchu a tak się nie dzieje - światło palio się cały czas.

Dopiero zaczynam zabawę z automatyzacjami więc obstawiam, że problem jest pewnie trywialny, ale będę wdzięczny za pomoc.

Pzdr,
TK

Może zastosować "Czekaj na wyzwalacz "

Automacja będzie czekała od przejścia sensora w stan “off” 5 minut, po określonym czasie wykona następne akcje

action:
  - wait_for_trigger:
      - platform: state
        entity_id:
          - binary_sensor.0xa4c138148bb665e8_occupancy
        to: "off"
    continue_on_timeout: true
    timeout:
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0

Dziękuję za pomysł.
Utworzyłem coś takiego:

alias: Nowa automatyzacja
description: ""
trigger:
  - platform: device
    type: turned_on
    device_id: e56bd6c48a7bbf9e8e1f99a3efbf6d26
    entity_id: 9b1cd2d577abca4498402375a163cf6f
    domain: switch
condition: []
action:
  - wait_for_trigger:
      - platform: state
        entity_id:
          - binary_sensor.0xa4c138148bb665e8_occupancy
        attribute: occupancy
        from: "on"
        to: "off"
    continue_on_timeout: true
    timeout:
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0
  - type: turn_off
    device_id: e56bd6c48a7bbf9e8e1f99a3efbf6d26
    entity_id: 9b1cd2d577abca4498402375a163cf6f
    domain: switch
mode: restart

Ale nadal (nie)działa tak, jako powinno.
Po 5min od włączenia światła - nie zależnie czy czujnik wykrywa ruch czy nie - światło gaśnie.

action:
  - wait_for_trigger:
      - platform: state
        entity_id:
          - binary_sensor.0xa4c138148bb665e8_occupancy
        to: "off"
    continue_on_timeout: false # "tutaj" się zatrzyma bez limitu 
  - delay:                     # Opóźnienie 5 minut 
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0

Czyli, jeśli sensor przestanie wykrywać to odczekaj jeszcze 5 minut
:information_source: Mój błąd z continue_on_timeout: true - czyli po przekroczeniu czasu " idź dalej"