Brama wjazdowa, garażowa, drzwi garażowe + drzwi wejściowe do domu - wiele możliwych scenariuszy na raz

Hej,
dodałem ostatnio switch do świateł garażowych. Do tej pory mam już czujnik otwarcia drzwi garażowych, czujnik otwarcia bramy garażowej, czujnik otwarcia gramy wjazdowej, w najbliższym ototczeniu tego procesu mogłbym też użyć czujników ruchu które są przed garażem, przed domem, w wiatrołapie domu, czy nawet rozpoznania przez kamerę że właśnie przejechał samochód. Opcji jest dużo. No i chciałem to wszystko teraz połączyć w coś smart :wink:

Na tą chwilę patrząc na nasze zwyczaje sytuacje mogą np wyglądać tak:

  1. Brama wjazdowa się otwiera, garaż się otwiera, jest po zachodzie słońca światło się włącza w garażu - proste, no ale fajnie byłoby je teraz automatycznie zgasić.
  • Zgasić gdy ktoś wyjdzie przez drzwi garażowe
  • Zgasić gdy ktoś zapomni ich zamknąć, ale wejdzie przez drzwi domu i dać powiadomienie że nie zamknął drzwi od garażu
  1. Jest po zachodzie i otwieramy drzwi gażowe, zapalamy światło, no i znowu fajnie byłoby je teraz zgasić
  • Zgasić gdy ktoś otworzy brame grażową, brame wjazdową i zamknie je po wyjechaniu

No i niby wszystko do tej pory jest ok, ale jest tutaj wiele wiecej scenariuszy i zaczynają mi się na siebie nakładać i nie wiem jak taki proces wtedy ułożyć. Zacząłem kombinować z WaitUntil, może w poszczególnych kolejnych scenariuszach dawać set.msg.reset tak aby przerywały skoro już coś innego się wydarzyło. Jeśli chcecie razem pomyśleć jak to zrobić to chętnię, właśnie po to ten temat. Nie ma znaczenia jaki jest przedmiot, bardziej chodzi mi o Wasze dobre praktyki co do bardziej złożonego procesu którego ścieżki mogą się nawzajem wykluczać lub zmieniać ich działanie. Jak do tego podejść?

Nie dam Ci gotowego rozwiązanie ale naprowadzę Cię może jak ja rozwiązuję takie sytuacje.
Po pierwsze tworzę pomocnika w postaci cyfrowej : ustawienia>pomocnicy>utwórz pomocnika >numer . nadajesz tylko nazwę i masz encję numeryczną . Zakładasz takiego pomocnika dla każdego elementu wykonawczego .
Resztę ogarną już zdarzenia w automatyzacjach.
Robisz automatyzację np: zgaszenia żarówki przy zmianie wartości utworzonego pomocnika dla niej .
Wartości pomocnika także w automatyzacjach robisz z warunkami i opóźnieniami jakie potrzebujesz .
Tak samo robisz automatyzację zapalenia żarówki .
Pomocników możesz tworzyć więcej dla jednego urządzenia jeśli Ci się warunki nakładają lub wykluczają.

Ważne na początek dobrze sobie rozrysować czy rozpisać zdarzenia.

Rozumiem że kolega @Trojan korzysta z automatyzacji HA, a nie ND. W ND uważam, że nie trzeba tworzyć pomocników dla każdego elementu wykonawczego, aby zrobić automatyzacje o których piszesz.
W kwestii wyłączania światła w garażu proponuje ustawić czas np 2min od otwarcia gramy garażowej oczywiści po zmierzchu z warunkiem czas się zeruje jak czujka ruchu łapie kogoś w garażu. Ustawienie jak ktoś wyjdzie z garażu jest o tyle problemowe że ktoś może wchodzić do garażu i to będzie powodowało zamęt.

Tak ustawienie czasu jest najprostsze, mam już takie procesy dla innych światłach gdzie jest czujnik ruchu, jest czas który jest resetowany gdy nowy ruch się pojawi więc wiem że światło nie zgaśnie jak ktoś nadal jest w pomieszczeniu. Tutaj chciałem pokombinować coś sprytniejszego skoro mam przestrzeń która jest zamknięta i wyjść z niej można tylko w określony sposób. Tylko właśnie nic co do tej pory zrobiłem nie nie kuloodporne i nadal rozwiązanie z zwykłym czujnikiem ruchu na światło jest najbardziej niezawodne. Ma jednak swoje wady. Między innymi wywołanie z czujnika ruchu steruje po prostu switchem na włączniku, przez co jak włączę światło sam tym samym włącznikiem to nie mam jak rozpoznać kto tą akcję wykonał. Chciałbym żeby włączenie włącznikiem nadpisywało czujnik ruchu i wtedy światło zgaśnie tylko gdy manualnie ktoś je wyłączy a nie czujnik przestanie wykrywać ruch.

Innym pomysłem było dołożenie czujnika BLE bo skoro ani mój ani nikogo innego z domowników telefon nie znajduje się w zasięgu to jest większe prawdopodobieństwo że nikogo tam już nie ma, jednak tutaj też mam lukę bo dzieci nie mają telefonu :slight_smile:

Możliwe że przekombinowane po prostu ale temat wydał mi się ciekawy z perspektywy rozszerzenia wiedzy jak w NR takie bardziej skomplikowane procesy budować.

No to włączając światło przez czujnik ruchu, włączaj jeszcze pomocnik typu “przełącznik”. Przy wyłączeniu światła, wyłączaj też zawsze ów pomocnik. Odliczanie czasu i automatyczne wyłączenie światła niech działa tylko, gdy pomocnik jest włączony :slight_smile: Aha i jeszcze: przed włączeniem światła przez czujnik ruchu sprawdzaj, czy nie jest już włączone - aby ruszanie się nie nadpisywało ręcznego włączenia.

Bez grama kodu to dalsze gadanie jest po próżnicy.
Same opisy są zrozumiałe na poziomie
https://youtube.com/clip/UgkxBv-_ERnjLfEMzkeYgUzd8npumHn8XAlb?si=ON9qk7ZHZWZhA08w

Zamiast upraszczać algorytm wprowadza się dodatkowe zmienne, które dotatkowo podnoszą liczbę nierozwiązywalnych przypadków.
np.

… a co …gdy w tym czasie wyjdzie żona, przywitać powracającego męża? :wink:

… skąd będzie wiadomo, że akurat wyjechał?

itd.

Możliwe rozwiązania:

  • wytresować rodzinę aby zachowywała się zgodnie z oczekiwaniami automatyzacji
  • ograniczyć się do sterowania oświetleniem na podstawie obecności w garażu i czas.
  • powiadomienie wysyłać tylko wtedy gdy na pewno powinna być już zamknięta np. taki wieczorny raport o stanie obejścia.

Z czasem błędne komunikaty znieczulają i zaczynasz je ignorować.

Mam tak ze skrzynką na listy gdzie klapkę potrafi podnieść silny wiatr… i listy leża tydzień :slight_smile:

Rozpraszanie jednej automatyzacji na HA i NR nie jest najlepszym pomysłem.