Wiele osób opuszczając dom na dłuższy okres, np. wybierając się na urlop, zastanawiasię, jak zabezpieczyć dom przed potencjalnym włamaniem. Jedną z opcji jest system alarmowy, rolety antywłamaniowe i monitoring. Jednakże potencjalny złodziej może obserwować dom i widok zamkniętych kilka dni z rzędu rolet jest wyraźnym sygnałem, że dom jest pusty. Tańszym w realizacji i bardzo skutecznym czynnikiem odstraszającym jest widok zapalonych świateł, co dla złodzieja będzie sygnałem, że mieszkańcy są w domu. Jak jednak to zrealizować, aby światła się nie paliły ciągle, a jedynie w wybranych porach dnia i imitowały przy tym naturalne zachowania ludzi? Tutaj z pomocą przychodzi instalacja inteligentnego domu z funkcją symulacji obecności. W dalszej części tego samouczka opiszemy, jak taką funkcjonalność zrealizować z domu, w którym zainstalowany został moduł DOMIQ/Base.
1. Koncepcja symulatora obecności #
Podstawową funkcjonalność symulatora obecności stanowi sterowanie oświetleniem, które naśladuje zachowanie ludzi – wybrane światła zapalane są w losowej kolejności i pozostają włączone przez losowy odcinek czasu. Dzięki temu system pracuje w sposób nieregularny, przez co dodatkowo zwiększona jest realistyka symulatora.
Drugim elementem symulatora obecności może być sterowanie roletami/żaluzjami wg reguł czasowych. Przykładowo, rolety mogą być opuszczane po zachodzie i podnoszone o wschodzie słońca. Analogicznie można również sterować oświetleniem na zewnątrz budynku.
Jeżeli dom wyposażony jest w system podlewania zieleni, wówczas dobrym pomysłem jest także użycie tego systemu, jako części symulatora obecności.
Symulacja może być uruchomiona/zatrzymana na dwa sposoby. Pierwszy z nich jest w pełni automatyczny, bo oparty na regułach czasowych ustalonych w module Base. W czasie konfiguracji należy ustalić porę startu symulacji np. godzina zachodu słońca i porę końca symulacji, np. godzinę, o której mieszkańcy zwyczajowo chodzą spać.
Drugi sposób przewiduje manualne włączenie/wyłącznie symulacji przez użytkowników systemu o dowolnej porze przy użyciu aplikacji DOMIQ/Remote lub DOMIQ/AirDisplay.
Po uruchomieniu symulacji, światła będą włączane w losowej kolejności i pozostaną włączone przez losowy odcinek czasu. Cykl będzie się powtarzał do czasu, aż zostanie osiągnięta pora końca symulacji.
2. Uruchomienie #
Uruchomienie symulatora obecności składa się z kilku etapów, które zostały opisane w dalszej części tego rozdziału. Opis ograniczyliśmy do uruchomienia sterowania oświetleniem w sposób losowy. Sterowanie roletami/żaluzjami, oświetleniem zewnętrznym i opcjonalnie podlewaniem ogrodu należy zrealizować z użyciem standardowych timerów.
2.1. Skrypt #
Zasadniczą część symulatora obecności stanowi skrypt, który jest załącznikiem do samouczka. Skrypt należy załadować do modułu Base w zakładce Zasoby > Skrypty. Następnie w zakładce Logika należy go zaimportować poleceniem:
import’presencesimulator’
Kolejnym krokiem jest konfiguracja skryptu, aby dostosować go do konkretnej instalacji. W pierwszej kolejności należy wskazać światła, które mają brać udział w symulacji. W tym celu należy w zakładce Logika wywołać funkcję addDevice
dla każdego urządzenia i przekazać identyfikator urządzenia jako argument. Poniżej przykład dodania dwóch urządzeń:
addDevice(’LCN.output.0.10.1’)
addDevice(’EXP.ouput.7.1’)
Następnym krokiem jest określenie maksymalnego czasu wyrażonego w minutach, na jaki załączane będzie oświetlenie. Ta wartość jest jednocześnie maksymalną przerwą pomiędzy kolejnymi załączeniami danego światła. Domyślna wartość to 30 minut. Jeżeli ma zostać użyta domyślna wartość, wówczas ten krok można pominąć. Aby zmienić wartość domyślną należy wywołać w Logice funkcję setInterval
. Poniżej przykład ustawiający czas na 60 minut:
setInterval(60)
Na koniec należy umieścić następującą linię kodu: checkStart()
2.2. Reguły czasowe #
Aby symulator obecności mógł działać automatycznie należy zdefiniować dwa timery – jeden, który uruchomi symulator i drugi, który go wyłączy. Rekomendujemy, aby timer uruchamiający symulację był wyzwalany 30 minut po zachodzie słońca. Definicja timerów jest następująca:
WAŻNE: Należy używać wyłącznie nazw zmiennych MEM przedstawionych poniżej.
Użycie innych nazw uniemożliwi prawidłowe działanie symulatora.
- Dodaj nowy timer – będzie on wyzwalany o zaplanowanej godzinie startu symulacji obecności:
- W polu Godzina wpisz: sunset, jeżeli chcesz, aby symulacja rozpoczynała się o zachodzie słońca lub MEM.simulationstart.hour, jeżeli chcesz, aby to użytkownik miał możliwość wyboru godziny startu symulacji.
- W polu Minuta wpisz: 30, aby timer był uruchamiany 30 minut po zachodzie słońca. Oczywiście możesz wpisać inne minutowe przesunięcie względem godziny zachodu słońca. Wpisz MEM.simulationstart.minute jeżeli to użytkownik ma wybierać godzinę rozpoczęcia pracy symulatora.
- W sekcji Akcje kliknij przycisk Dodaj komendę. W oknie, które się pojawi, w polu Nazwa wpisz: C.MEM.simulationtrigger, natomiast w polu Wartość wpisz: on
- Dodaj kolejną komendę i w polu Nazwa wpisz: C.LOGIC, a w polu Wartość: checkStart(). Kolejność komend jest bardzo ważna!
- Dodaj drugi timer – będzie on uruchamiany o wybranej godzinie zakończenia symulacji. Godzina zakończenia symulacji nie może być późniejsza niż 23:59, ani być wcześniejsza niż godzina startu symulacji.
- W polu Godzina wpisz: MEM.similationend.hour.
- W polu Minuta wpisz: MEM.simulationend.minute
- W sekcji Akcje kliknij przycisk Dodaj komendę. W polu Nazwa wpisz: C.MEM.simulationtrigger, natomiast w polu Wartość wpisz: off
2.3. Interfejs użytkownika #
Interfejs użytkownika do obsługi symulatora obecności będzie składał się z dwóch lub trzech kontrolek, w zależności od tego, czy została wybrana opcja uruchomienia symulacji przez użytkownika, czy automatycznie przez timer.
- Dodaj Przełącznik i kliknij na nim dwukrotnie. W polu Kanał wpisz: MEM.presencesimulation. Stan przełącznika jest sprawdzany przez skrypt sterujący symulatorem obecności i stanowi on swoistą blokadę uruchomienia symulacji. Jeżeli przełącznik jest wyłączony o zaplanowanej godzinie startu symulacji, wówczas symulacja nie zostanie uruchomiona. Jednakże, jeżeli przełącznik zostanie włączony już po upływie zaplanowanej godziny startu symulacji, ale przed godziną jej końca, wówczas symulacja zostanie natychmiast uruchomiona. Analogicznie, jeżeli przełącznik zostanie wyłączony w momencie pracy symulatora, wówczas symulacja zostanie zatrzymana.
- Dodaj element typu Czas – będzie on używany do ustalenia godziny startu symulacji. Możesz pominąć ten etap, jeżeli planujesz uruchamianie startu symulacji o godzinie zachodu słońca.
- W polu Kanał z godziną wpisz: MEM.simulationstart.hour.
- W polu Kanał z minutą wpisz: MEM.simulationstart.minute.
2.4. Zdarzenia #
Jak wspomnieliśmy w poprzednim podrozdziale, przełącznik w interfejsie użytkownika pozwala ręcznie uruchomić symulację już po upływie godziny zaplanowanego startu symulacji. Aby zrealizować tą funkcjonalność należy dodać zdarzenie, które będzie wyzwalane włączeniem przełącznika. Procedura jest następująca:
- Dodaj nowe zdarzenie.
- W polu Kanał wpisz: E.MEM.presencesimulation
- W polu Dane wpisz: on
- W sekcji Akcje kliknij przycisk Dodaj komendę, a następnie w polu Nazwa wpisz: C.LOGIC, a w polu Wartość: checkStart()
Dodatkowo należy zdefiniować zdarzenie, które będzie wyzwalane w momencie zmiany godziny końca symulacji. Jest to niezbędne do prawidłowej pracy skryptu symulacji. Dodaj zdarzenie wg poniższej procedury:
- Dodaj nowe zdarzenie.
- W polu Kanał wpisz: E.MEM.simulationend.(.+)
- Pole Dane zostaw puste
- Kliknij przycisk Dodaj komendę i w polu Nazwa wpisz: C.LOGIC, a w polu Wartość wpisz: calculateEndTime()
2.5. Kolejność działań #
Uruchomienie symulatora obecności powinno przebiegać w następującej kolejności:
- Załadowanie skryptu (zakładka Zasoby) i skonfigurowanie go w zakładce Logika.
- Utworzenie interfejsu użytkownika w zakładce Remote.
- Zdefiniowanie timerów i zdarzenia.
- Włączenie przełącznika uruchamiającego symulator.
- Ustawienie godziny końca i opcjonalnie początku symulacji przy użyciu interfejsu użytkownika.