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 , 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ś?
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
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
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
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
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.
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
Witam wszystkich to mój pierwszy post na forum
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