alarm
Bloczek alarmowy jest programowym odpowiednikiem alarmu fizycznego. Jego zadaniem jest monitorowanie określonych warunków i w przypadku ich spełnienia generowanie sygnału alarmowego. Po dodaniu bloczka alarmowego do projektu aplikacja mobilna utworzy powiązane wirtualne urządzenie, pozwalające uzbroić/rozbroić alarm i monitorować jego stan.
Parametry konfiguracyjne
| Nazwa parametru | Wartość |
|---|---|
Czas uzbrajania alarmu (arming_time) |
Pole numeryczne określające czas do uzbrojenia alarmu w sekundach. Wartość minimalna to 10 sekund, wartość maksymalna to 300 sekund (czyli 5 minut). |
Czas rozbrajania alarmu (unarming_time) |
Pole numeryczne określające czas do rozbrojenia alarmu w sekundach. Wartość minimalna to 10 sekund, wartość maksymalna to 300 sekund (czyli 5 minut). |
Czas blokady szyfratora po nieudanych próbach wprowadzenia kodu do alarmu (lockoutDuration) |
Pole numeryczne określające czas blokady szyfratora po nieudanych próbach wpisania kodu podczas uzbrajania/rozbrajania alarmu. Wpisanie wartości 0 oznacza zablokowanie szyfratora na stałe. Wpisanie wartości od 10 do 3600 sekund oznacza, że po upływie tego czasu będzie możliwe jednorazowe wprowadzenie kodu w celu uzbrojenia/rozbrojenia alarmu. Podanie błędnego kodu spowoduje kolejne zablokowanie szyfratora na czas zdefiniowany tym parametrem. |
Liczba prób wpisania błędnego kodu, po których nastąpi zablokowanie szyfratora (lockoutThreshold) |
Pole numeryczne. Dozwolone wartości to 1-20 prób. Po przekroczeniu dozwolonej liczby prób, szyfrator zostanie zablokowany na czas określony w konfiguracji bloczka. |
Natychmiastowe potwierdzenie uzbrojenia alarmu (immediateArmConfirmation) |
Jeśli to pole jest zaznaczone, to wyjście nr 3 zgłosi stan uzbrojenia od razu. Jeśli to pole nie jest zaznaczone, to wyjście nr 3 zgłosi stan uzbrojenia dopiero po upływie czasu uzbrajania alarmu. |
Kod alarmu użytkownika 1 (userCode1) |
Wartość obowiązkowa. Pole tekstowe przyjmujące od 4 do 8 cyfr będących kodem użytkownika nr 1. |
Kod alarmu użytkownika 2 (userCode2) |
Wartość opcjonalna. Pole tekstowe przyjmujące od 4 do 8 cyfr będących kodem użytkownika nr 2. |
Kod alarmu użytkownika 3 (userCode3) |
Wartość opcjonalna. Pole tekstowe przyjmujące od 4 do 8 cyfr będących kodem użytkownika nr 3. |
Kod alarmu użytkownika 4 (userCode4) |
Wartość opcjonalna. Pole tekstowe przyjmujące od 4 do 8 cyfr będących kodem użytkownika nr 4. |
Kod alarmu użytkownika 5 (userCode5) |
Wartość opcjonalna. Pole tekstowe przyjmujące od 4 do 8 cyfr będących kodem użytkownika nr 5. |
Obsługa wejścia
Bloczek alarmowy odczytuje wartości z linii wejściowych oznaczonych za pomocą bloczka „tag”. Poniższa tabela opisuje znaczenie poszczególnych wejść:
| Numer i nazwa wejścia | Opis działania |
|---|---|
| tag1: Wymuszenie uzbrojenia alarmu. | Wysłanie wartości true na wejście na linii tag1 powoduje uzbrojenie alarmu, bez potrzeby podawania kodu użytkownika. Działa zawsze, niezależnie od stanu blokady. Jeśli w trakcie uzbrajania alarmu czujniki natychmiastowe wykryją ruch, to alarm niezwłocznie zgłosi włamanie. |
| tag2: Wymuszenie rozbrojenia alarmu. | Wysłanie wartości true na wejście na linii tag2 powoduje rozbrojenie alarmu, bez potrzeby podawania kodu użytkownika. Działa zawsze, niezależnie od stanu blokady szyfratora. |
| tag3: Uzbrojenie alarmu za pomocą kodu. | Wysłanie kodu użytkownika w postaci tekstu na wejście na linii tag3 powoduje uzbrojenie alarmu o ile kod jest poprawny i alarm nie jest zablokowany. Jeśli kod jest niepoprawny, licznik błędnych prób zostaje zwiększony o 1 co może skutkować zablokowaniem szyfratora. Jeśli szyfrator jest zablokowany, wówczas uzbrojenie alarmu tą metodą nie jest możliwe. Uzbrajanie alarmu tą metodą również zakończy się niepowodzeniem jeśli czujnik natychmiastowy zgłasza zdarzenie. |
| tag4: Rozbrojenie alarmu za pomocą kodu. | Wysłanie kodu użytkownika na wejście na linii tag4 powoduje rozbrojenie alarmu jeśli kod jest poprawny i alarm nie jest zablokowany. Jeśli kod jest niepoprawny, licznik błędnych prób zostaje zwiększony o 1 co może skutkować zablokowaniem szyfratora. Jeśli szyfrator jest zablokowany, wówczas rozbrojenie alarmu tą metodą nie jest możliwe. |
| tag5: Czujniki natychmiastowe. | Czujniki natychmiastowe. Wysłanie wartości true na wejście na linii tag5 jest interpretowane jako wykrycie ruchu i powoduje natychmiastowe wywołanie alarmu, jeśli alarm jest uzbrojony. Czujniki natychmiastowe mogą być również źródłem blokady szyfratora, uniemożliwając użytkownikowi uzbrojenie alarmu za pomocą kodu tak długo jak wykrywają ruch. |
| tag6: Czujniki opóźnione. | Wysłanie wartości true na wejście na linii tag6 jest interpretowane jako wykrycie ruchu i powoduje wywołanie alarmu po czasie określonym na rozbrojenie jeśli alarm jest uzbrojony. W tym czasie użytkownik ma czas na wprowadzenie kodu umożliwiającego rozbrojenie alarmu. |
| tag7: Wejście blokady. | Wysłanie wartości true na wejście tag7 ustawia blokadę szyfratora — kodem nie można wtedy uzbrajać ani rozbrajać alarmu. Uzbrajanie/rozbrajanie nadal jest możliwe za pomocą tag1 i tag2. Wysłanie false usuwa tę blokadę, jednak nie likwiduje innych przyczyn blokady (np. wielokrotne błędne kody lub aktywny czujnik natychmiastowy). |
| tag8: Wejście odblokowania. | Wysłanie wartości true na wejście na linii tag8 powoduje odblokowanie alarmu, jeśli jest on zablokowany z powodu przekroczenia progu błędnych prób podania kodu użytkownika. To wejście nie ma wpływu na flagę blokady ustawianą przez linię tag7. |
| tag9: Zmiana kodu użytkownika. | Zmiana kodu użytkownika odbywa się poprzez wysłanie na wejście na linii tag9 wiadomości tekstowej w następującym formacie: n:code gdzie n to numer kodu użytkownika (1 do 5), a code to nowy kod użytkownika (ciąg cyfr o długości od 4 do 8 znaków). Na przykład, aby ustawić kod użytkownika 3 na 1234, należy wysłać wiadomość 3:1234. Jeśli code jest pusty, to kod użytkownika zostanie usunięty (jeśli n to 2 do 5). Zmiana kodu użytkownika działa zawsze, niezależnie od stanu blokady. Zmienione kody użytkownika nie są zapisywane do konfiguracji bloczka i zostaną utracone po ponownym uruchomieniu projektu. |
Wyjścia bloczka
| Numer i nazwa wyjścia | Opis wyjścia |
|---|---|
| 1. Sygnalizator zewnętrzny. | Zwraca wartość true gdy wykryto włamanie, w przeciwnym razie wartość false. |
| 2. Sygnalizator wewnętrzny. | Zwraca wartość true lub false w celu dźwiękowej sygnalizacji pracy alarmu w następujących sytuacjach: 1. Podczas odliczania czasu do pełnego uzbrojenia alarmu wyjście naprzemiennie zwraca wartości true i false. 2. Podczas odliczania czasu do pełnego uzbrojenia alarmu przez 5 ostatnich sekund zwracana jest wartość true. 3. Podobnie jak w punktach 1 i 2 to wyjście zachowuje się w trakcie odliczania gdy alarm jest uzbrojony i wykrył zdarzenie pochodzące z czujników opóźnionych. 4. W momencie gdy wykryto włamanie zwracana jest wartość true (podobnie jak na sygnalizatorze zewnętrznym). 5. W pozostałych przypadkach zwracana jest wartość false. |
| 3. Stan uzbrojenia. | Zwracana wartość true gdy alarm jest uzbrojony, w przeciwnym razie wartość false. Jeśli w konfiguracji bloczka zaznaczona została opcja natychmiastowego potwierdzenia uzbrojenia alarmu to wyjście zwróci true już w trakcie odliczania czasu do pełnego uzbrojenia. |
| 4. Numer użytkownika który uzbroił alarm. | Zwraca numer użytkownika (1-5) który uzbroił alarm. Jeśli alarm nie jest w danej chwili uzbrojony lub został uzbrojony bez użycia kodu (np. za pomocą tag1), wówczas zwracana jest wartość null. |
| 5. Numer użytkownika który rozbroił alarm. | Zwraca numer użytkownika (1-5) który rozbroił alarm. Jeśli alarm nie jest w danej chwili rozbrojony lub został rozbrojony bez użycia kodu (np. za pomocą tag2), wówczas zwracana jest wartość null. |
| 6. Stan blokady po wpisaniu błędnego kodu. | Jeśli przekroczono maksymalną ilość błędnych prób wpisania kodu do alarmu to zwracana jest tutaj wartość true. W przeciwnym przypadku zwracana jest wartość false. |
| 7. Stan blokady szyfratora z poziomu konfiguratora. | Zwraca true jeśli szyfrator został zablokowany z poziomu projektu w konfiguratorze (wejściem oznaczonym za pomocą tag7). W przeciwnym przypadku zwracana jest wartość false. |