Problem z automatyzacja

Mam ustawione światło przed domem żeby się zapalało wywołane ruchem i po 5 minutam wyłączało to dziala poprawnie. Ale zauważyłem problem dopiero wtedy kiedy robiłem coś przy samochodzie zapaliłem sobie światło normalnie ale po 5 minuach światło się wyłączyło nie wiem jaki ustawić warunek żeby to działało. W sesie że jak włączę włącznikiem to zeby automatyzacja juz nie ingerowała w stan światła.

“Nie ingerowała w stan światła” czyli automatyzacja do wyłaczenia ale chyba nie o to Ci chodzi :wink: , kiedy znów ma zadziałać automatyzacja skoro chcesz żeby nie działała jak włączysz przyciskiem - czy zdajesz sobie z tego sprawę, z tego co napisałeś?

:thinking:Możesz wyłączyć automatyzacje w ten sposób

...
service: automation.turn_off
data:
  stop_actions: true
target:
  entity_id: automation.prysznic_auto_on_off

:information_source:Twoja pokazana automatyzacja jest nieczytelna, najlepiej będzie jeśli klikniesz 3 kropeczki i zaznaczysz Edycja w YAML.

Skopiuj kod i wklej
/
Lub wykorzystać usługę wait_for_trigger- czeka na zmianę stanu sensora
Alla:

          - wait_for_trigger:
              - platform: state
                entity_id: binary_sensor.pir_prysznic_occupancy
                to: "off"
            timeout: "00:10:00"
            continue_on_timeout: false 

Tak zdaje sobie spraw z tego co napisałem automatyzacja ma działać jak wracam do domu jak jest juz ciemno i ma sie zapalić żebym miał oświetlona droge do domu. Ale jak coś robie przed domem i włączę sam przełącznikiem to ma się świecić a automatyzacja ma wtedy mi nie wyłączać i włączać co chwile światła i dopiero wraca do dzialania jak wyłączę manualnie przelacznikem czyli podsumowując automatyzacja zankm sie odpali powinna sprawdzic stan światłą i jesli jest włączone zaczymac proces i zostawić stan taki jaki jest

@krskrab

alias: Swiatło na ruch
description: ""
trigger:
  - type: motion
    platform: device
    device_id: 5f83746db475c22c0be2eed388b7bd7d
    entity_id: binary_sensor.front_door_motion_2
    domain: binary_sensor
condition:
  - condition: time
    after: "22:00:00"
    before: "05:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
action:
  - type: turn_off
    device_id: 42ad183515b5ec7725746d9bff7ee302
    entity_id: switch.hall_main_l1
    domain: switch
  - delay:
      hours: 0
      minutes: 0
      seconds: 5
      milliseconds: 0
  - type: turn_off
    device_id: 42ad183515b5ec7725746d9bff7ee302
    entity_id: switch.hall_main_l1
    domain: switch
mode: single

To jest prosta automatyka włącz /wyłącz przełącznik.

“Jeśli sensor wykryje ruch - włącz przełącznik, czekaj na sensor: jeśli przestał wykrywać przez 5 minut lub
przez 30 minut nie było wykrycia , wyłącz przełącznik”

alias: test auto on/ off
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.pir_bed_2_occupancy
    to: "on"
condition:
  - condition: time
    after: "22:00:00"
    before: "05:00:00"
action:
  - service: switch.turn_on
    data: {}
    target:
      entity_id: switch.parking_lewa
  - wait_for_trigger:
      - platform: state
        entity_id:
          - binary_sensor.pir_bed_2_occupancy
        to: "off"
        for:
          hours: 0
          minutes: 5
          seconds: 0
    continue_on_timeout: true
    timeout:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
  - service: switch.turn_off
    data: {}
    target:
      entity_id: switch.parking_lewa
mode: single

:information_source:

Twoja automatyka ma akcje turn_off i po opóźnieniu (5sekund) następnie turn_off
/

Wydaje mi się że ten kod w twojej automatyce powinien działać poprawnie :thinking:

alias: Swiatło na ruch
description: ""
trigger:
  - type: motion
    platform: device
    device_id: 5f83746db475c22c0be2eed388b7bd7d
    entity_id: binary_sensor.front_door_motion_2
    domain: binary_sensor
condition:
  - condition: time
    after: "22:00:00"
    before: "05:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
action:
  - type: turn_on
    device_id: 42ad183515b5ec7725746d9bff7ee302
    entity_id: switch.hall_main_l1
    domain: switch
  - wait_for_trigger:
      - platform: state
        entity_id:
          - binary_sensor.front_door_motion_2
        to: "off"
        for:
          hours: 0
          minutes: 5
          seconds: 0
    timeout:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
  - type: turn_off
    device_id: 42ad183515b5ec7725746d9bff7ee302
    entity_id: switch.hall_main_l1
    domain: switch
mode: single

Możliwe ze zmieniłem na 5 sekund tylko dlatego bo testowalem i probowalem znaleźć rozwiązanie. Masz może do tego jakieś rozwiązanie żeby atomatyzacja sprawdzała przez włączeniem światła na ruch status wlacznika czy światło jest włączone i jesli jest włączone żeby wstrzymywała dalszy proces.

Największa wada takiego rozwiązania przy taki długim czasie - 30 minut? Jeżeli w tym czasie nastąpi restart HA lub przeładowanie automatyzacji, to światło nie zgaśnie, pozostanie zapalone.

A jak to zrobic poprawnie

Też się nad tym dalej zastanawiam jak to poprawnie oprogramować.

Widzę że dałem Ci zagwostke a może node-red by się dało to jakoś lepiej zrobić

Kup mały czujnik otwarcia i uzależnij od niego stan czy światło ma się świecić czy nie ( np montujesz go do drzwi i jak zamek będzie otwarty to i czujnik będzie otwarty i wtedy światło nie zgaśnie ).
NR Ci w tym nie pomoże - nie tędy droga. Musisz dodać coś co poinformuje HA że światło ma się palić nie ze względu na ruch od czujki => czyli uzależnić od Twojej obecności w domu czy stanu innego czujnika.

@Artur_Rettinger1 znalezione na szybko, może pomoże:

Osobiście używam NodeRed i w atrybutach można odczytać parametry. Jeśli w encji istnieje user_id to znaczy że zmiana nastąpiła poprzez przycisk fizyczny lub aplikacje (w moim przypadku Supla).
Każdy taki stan usera zapisuję w pamięci.
W przypadku automatyki po 5 minutach przywracam stan encji. Jeśli w czasie odliczania zostanie zmieniony to ustawia się dokładnie ten sam stan.
Polecam w google: nodered store state light

Ten caly node-red to jest dla mnie czarna magia :grinning::grinning::grinning::rofl:

Witam wszystkich to mój pierwszy post na forum :grinning:

Zrezygnował bym ze sterowania czasowego w godzinach od 22 do 5 rano gdyż to powoduje to że będziesz musiał przestawiać zegar w zależności od pory roku . Dodał bym sun

Oto przykład mojej automatyzacji która powoduje zapalenie światła w przedsionku wyzwalane przez kontaktron . Funkcja ta realizowana jest od zachodu słońca do wschodu słońca. Dodano jeszcze warunek który sprawdza stan wyłącznika świata w przedsionku .Wychodząc z domu gdy światło w przedsionku było włączone przez ostatnie 10 s światło się nie zapali się uruchomione z automatyzacji.

alias: "Otwarcie drzwi włącz światło przedsionek "
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.drzwi_wejsciowe_contact
    from: "off"
    to: "on"
condition:
  - condition: sun
    after: sunset
    before: sunrise
  - condition: and
    conditions:
      - condition: state
        entity_id: switch.przedsionek
        state: "off"
        for:
          hours: 0
          minutes: 0
          seconds: 10
action:
  - type: turn_on
    device_id: d32846e72cb8d8af798ff6d65fe7dfae
    entity_id: switch.przedsionek
    domain: switch
mode: single