Powiadomienie, które informuje, że dziecko wróciło ze szkoły. Smart home na własną rękę
Jeśli jesteście rodzicami, to na pewno chcielibyście wiedzieć, kiedy wasze dziecko wróciło do domu ze szkoły? W takiej sytuacji pomocny będzie system inteligentnego domu, który powiadomi Cię o tym zdarzeniu. Dzięki odebranej notyfikacji na smartfonie będziecie wiedzieć, kiedy zadzwonić i upewnić się, że wszystko u waszej pociechy jest w porządku.
Niby taka prosta funkcja, ale jak bardzo przydatna w życiu! W tym artykule pokażę, jak taką notyfikację zrobić w systemie FIBARO.
Detekcja otwarcia drzwi
Są różne sposoby wykrycia otwarcia drzwi. Najbardziej zaawansowanym sposobem byłoby użycie elektronicznej zasuwki takiej jak Danalock, którą opisywałem w jednym z artykułów na moim blogu. Jeśli nie macie takiego rozwiązania, nie przejmujcie się, są inne tańsze na to sposoby.
Do detekcji można wykorzystać czujnik ruchu lub kontrakton. FIBARO oferuje urządzenia tego typu:
- czujnik ruchu – Motion Sensor – to rozbudowane bateryjne urządzenie rejestrujące temperaturę, detekcję ruchu, natężenie światła oraz drgania (może być również detektorem wstrząsów sejsmicznych dla rejonów aktywnych sejsmicznie). Jeśli zdecydujesz się na to rozwiązanie, wykorzystasz jedną z dostępnych jego funkcji – detekcję ruchu. Pozostałe funkcje urządzenia będziesz mógł wykorzystać do innych celów np. do pomiaru temperatury czy natężenia światła.
- kontaktron – Door/Window Sensor 2 – czyli bateryjny czujnik magnetyczny. Polecam instalację właśnie tego urządzenia, gdyż jest ono dedykowane m.in. do wykrycia otwarcia drzwi.
Oba wymienione rozwiązania są urządzeniami bateryjnymi co oznacza, że ich montaż jest prosty i nie wymaga doprowadzenia przewodów zasilających. Można je wykorzystać w celu monitoringu i ochrony domu przed włamaniem, ale tym razem opisuję ich zastosowanie tylko do wykrycia i notyfikacji powracającego dziecka ze szkoły.
Polecany artykuł:
Filtrowanie niepotrzebnych zdarzeń
Aby smartfon odebrał notyfikację i powiadomił Cię o faktycznym powrocie dziecka do domu, a nie o „każdym” otwarciu drzwi np. w godzinach rannych, gdy kolejne osoby opuszczają dom, należy zastosować filtrację, aby właściwie rozpoznać interesujące zdarzenie.
W tym celu przyjąłem założenie, że system będzie informował – wysyłał notyfikacje tylko w dni powszednie w godzinach 9-18. Te ustawienia oczywiście można zmienić dostosowując je do potrzeb.
Poza tym chciałem, aby system dorzucił nieinteresujące zdarzenia np. późniejsze wyjście dziecka do szkoły na godzinę 10:00, podczas gdy system rozpoczyna czuwanie od godziny 9:00 rano lub kilkakrotne otwieranie drzwi w trakcie rannego wychodzenia domowników. Aby temu sprostać dodałem warunek uzbrojenia się systemu, co następuje po 3 godzinach przy non stop zamkniętych drzwiach (ten czas też jest konfigurowalny).
Zasadę działania przedstawia najlepiej powyższy diagram. Jego działanie omówię na przykładzie analizy otwierania drzwi wejściowych.
- równo przed godziną 9 rano jak i po godz 18:00 system jest nieaktywny (nie odlicza czasu do uzbrojenia) i nie będzie wysyłał żadnych notyfikacji na smartfon.
- od godziny 9:00 system zaczyna odliczać czas niezbędny do uzbrojenia i wysłania notyfikacji (linie skośnie do góry).
- jeśli nastąpi otwarcie drzwi przed upływem wymaganego czasu do uzbrojenia (patrz pierwsze otwarcie drzwi po godzinie 9:00) to następuje reset i odliczanie zaczyna się od początku.
- jeśli nie dojdzie do otwarcia drzwi i system odliczy wymagany czas, to się uzbroi po zdefiniowanym czasie (na rysunku zakreskowany trójkąt i linia pozioma – uzbrojenie).
- od tego momentu pierwsze otwarcie drzwi zostanie zinterpretowanie jako powrót dziecka do domu i zostanie wysłana notyfikacja (czerwony romb na samej górze diagramu). Oczywiście po wysłaniu notyfikacji system rozpoczyna odliczanie od początku i cykl rozumowania się powtarza (co obrazują kolejne otwarcia drzwi np. wychodzenie dziecka po szkole na zewnątrz lub powracanie domowników). Częste ponowne otwieranie drzwi nie spowoduje wysłania notyfikacji.
- na koniec o godzinie 18:00 system się wyłącza i nie będzie już wysyłał notyfikacji aż do następnego dnia
Polecany artykuł:
Tak jak wynika z powyższego opisu system zawsze wyśle notyfikację po uzbrojeniu systemu i po otwarciu drzwi niezależnie od tego kto je otworzy. Czyli jeśli zamiast dziecka powracającego ze szkoły do domu przybędzie rodzic lub ktoś z rodziny, system potraktuje go jak wracające dziecko i wyśle notyfikację do zdefiniowanych odbiorców. Niemniej jednak zakładam, że przytoczona sytuacja nie jest regułą, a raczej sytuacją wyjątkową i moje rozwiązanie sprawdzi się tak samo dobrze, jak u mnie.
Jeśli jednak z góry wiadomo, że w danym dniu notyfikacja nie ma sensu, bo jest to np. dzień wolny od szkoły, należy wyłączyć notyfikację na konsoli (wirtualnym urządzeniu – widget) odpowiednim przyciskiem, o którym mowa poniżej.
Zrób to sam: widget
Widget, który stworzyłem do tego rozwiązania jest prosty. Przedstawia ostatnich 5 zdarzeń np. otwarcia drzwi i wyróżnia (za pomocą symbolu małej ikony smartfonu) te, dla których została wysłana notyfikacja. Rejestr dla pięciu ostatnich zdarzeń jest prostszą formą odczytania tej samej informacji z systemu FIBARO, z dziennika zdarzeń.
Od góry widać pięć ostatnich dat zajścia zdarzenia i przy jednym z nich (nr. 3) została wysłana notyfikacja na smartfon, o czym informuje ikonka smartfonu. Na dole widgetu są przyciski umożliwiające załączenie systemu notyfikacji, wyłączenie lub odłożenie powiadomień do następnego dnia. W każdym z wymienionych trybów system będzie dalej na ekranie wyświetlał pięć ostatnich zdarzeń np. otwarcia drzwi, ale notyfikacje będą wysyłane tylko w trybie załączenia.
Tekst, który zostanie wyświetlony na ekranie po wysłaniu notyfikacji na smartfon, może być dowolny i jest konfigurowalny w udostępnionym kodzie. Przykłady poniżej.
Szerzej opisane informacje o kodzie widgetu i kodzie LUA znajdziecie na moim blogu.
Polecany artykuł:
Swoim doświadczeniami i rozwiązaniami dzieli się na blogu Z Techniką za Pan Brat