Reakcje i zadania¶
Strona Reakcje i zadania umożliwia konfigurowanie reakcji (bardzo podobnych do zdarzeń w LK3) i zadań (podobnych do harmonogramu na LK3).
Zasadniczo istnieją 4 sekcje na stronie Reakcje i zadania:
- Przyciski do zapisywania i odrzucania zmian. Jeśli są jakieś zmiany, zostaną one aktywowane (można je kliknąć). Nad tymi przyciskami znajdują się powiadomienia o niezapisanych zmianach, statusie zapisu konfiguracji.
- Sekcja usług, w której można dodawać, edytować i wyświetlać konfiguracje usług.
- Sekcja reakcji, w której można dodawać, edytować i wyświetlać reakcje.
- Sekcja zadań, w której można dodawać, edytować i wyświetlać zadania.
Karty usług, reakcji i zadań są bardzo podobne wizualnie. Zawierają licznik pokazujący ich liczbę, przycisk do otwierania formularza dodawania nowych, lista skonfigurowanych pozycji. Lista pokazuje szczegóły i zawiera przyciski do edycji lub usuwania elementów.
Zapisywanie zmian
Gdy występują niezapisane zmiany, wyświetlany jest komunikat, więc nie zapomnisz i nie stracisz zmian. Zaleca się zapisywanie po partii zmian, a nie pojedynczych, lub innymi słowy po zakończeniu wprowadzania zmian (aby je faktycznie utracić, trzeba zamknąć kartę Reakcje i zadania w przeglądarce).
Usługi¶
Konfiguracje usług są podstawą Reakcji i zadań, ponieważ są wymagane do tworzenia reakcji i dlatego są ważne dla zadań (zadanie może wywoływać reakcje). Konfiguracja usługi określa podstawowe opcje usługi, np. dla smtp (e-mail) określa adres, na który można wysyłać wiadomości.
Obecnie jest kilka obsługiwanych usług:
- smtp - wysyłanie wiadomości email (na obecną chwilę tylko konta pocztowe użyte do rejestracji konta mogą być notyfikowane)
- mqttpub - wysyłanie wiadomości MQTT (może być użyte do kontrolowania LK3)
- thingspeak - wysyłanie wiadomości do aktualizowania kanału thingspeak
Dodawanie usługi¶
Dodawanie czy konfigurowanie usługi to nic więcej jak tylko nadawanie potocznej nazwy, powiedzmy wysyłaniu wiadomości email do twojego adresu emailowego lub wysyłaniu wiadomości MQTT na kanał zarządzania LK3. Celem za tym jest utworzenie zestawu "akcji", które następnie mogą być używane w reakcjach, w których już zdefiniujesz konkretną wiadomość do wysłania czy też określisz warunki do spełnienia, ale więcej na ten temat w sekcji reakcji.
Formularz dodawania nowych konfiguracji usług pokazano na poniższym obrazie. Są tam 3 pola:
- Nazwa konfiguracji, może zawierać litery, cyfry i znak _. Musi być unikalna, to znaczy nie możesz mieć dwóch konfiguracji z tą samą nazwą. Warto wybrać opisową nazwę, co pozwoli Ci łatwo rozróżniać konfiguracje, np. notyfikajcanamojemail do wysyłania emaili na własny adres email. W innych częściach Reakcji i zadań, nazwa będzie występować w parze z nazwą usługi.
- Nazwa usługi/funkcji której możesz użyć wraz z krótkim opisem. Lista dostępnych usług będzie później rozszerzana.
- Wartość jest istotną częścią konfiguracji usługi, na przykład wartość dla smtp to adres e-mail do powiadomienia, wartość dla mqttpub to temat publikowania MQTT. Pole różni się zależnie od wybranej usługi, np. dla mqttpub jest to pole wprowadzania tekstu i rozwijana lista tematów powiązanych z Twoimi urządzeniami.
Lista usług¶
Lista skonfigurowanych usług wraz z ich szczegółami i przyciskami do edycji lub usuwania. Są tam 4 kolumny:
- Nazwa konfiguracji
- Nazwa usługi dla której jest ta konfiguracja.
- Wartość, która w zależności od usługi wyświetla adres e-mail (dla smtp), temat MQTT (dla mqttpub).
- Przyciski do edycji i usuwania konfiguracji usługi. Pamiętaj, że te działania mogą wpływać na reakcje, w których usługa jest używana. W przypadku usunięcia pojawi się informacja, które reakcje zostaną zmienione, a nawet usunięte, ale edycja zaktualizuje w odpowiedni sposób powiązane reakcje.
Reakcje¶
Reakcje to działania do wykonania w odpowiedzi na przychodzącą wiadomość MQTT na określony temat (np. z urządzenia). Działania do wykonania są definiowane przez konfiguracje usług. Istnieją również modyfikatory, takie jak filtr wartości, filtr czasu, tłumienie i format, które pozwalają określić warunki, w których akcja powinna zostać wykonana.
Filtr wartości¶
Bardzo ważną częścią reakcji jest filtr wartości, ponieważ pozwala on podejmować działania w oparciu o treść wiadomości, a nie tylko fakt, że pojawiła się wiadomość na określonym temacie. Na razie dostępne są dwie wersje, które operują na wartościach liczbowych, np. odczyt czujnika, stan wyjścia. Porównują otrzymaną wartość z podaną w ustawieniach reakcji, a jeśli wynik porównania jest prawdziwy to przekażą wiadomość do akcji, w przeciwnym razie nie podejmie dalszych działań.
Obecnie dostępne są następujące wersje filtru wartości:
- Basic - wykonuje proste porównanie odebranej liczby z wiadomości z drugą podaną przy konfiguracji.
- Advanced - wykonuje dwa porównania odebranej liczby z dwoma innymi podanymi liczbami i następnie wykonuje logiczny iloczyn lub sumę wyników porównań.
Filtr czasu¶
Określa czas, w którym reakcja może zadziałać i uruchomić swoje usługi.
Tłumienie¶
Pomija kolejne wywołania reakcji przez określony czas po jej wykonaniu. Może być stosowane do ograniczenia wykonywania wybranych reakcji, np. wyślij powiadomienie e-mailem raz, a następnie pomiń kolejne wywołania reakcji przez 30 minut (zamiast wysyłania wiadomości e-mail przy każdej wiadomości MQTT).
W przypadku, gdy subskrypcja tematu reakcji zawiera znaki specjalne, takie jak +
lub #
(szczegóły tutaj), tłumienie jest sprawdzane osobno dla każdego unikalnego tematu wiadomości.
Śledzenie stanu połączenia LK HW 3.5+
W LK HW 3.5+ jest dostępna funkcja LWT w kliencie MQTT, która skutkuje publikacją stanu połączenia MQTT LK w temacie prefix/connected
- 1
gdy jest połączony i 0
gdy jest rozłączony.
Korzystając z tej funkcjonalności, jedną reakcją możemy zdefiniować powiadomienia o utracie łączności LK HW 3.5+ z serwerem MQTT.
Tworzymy reakcję z tematem [prefix użytkownika]/+/connected
, filtrem wartości < 1
(prawda dla 0
), tłumieniem z wartością 1800
(30 minut) i akcją smtp
(która będzie wysyłała powiadomienia na nasz adres e-mail), z formatem Status LK na {topic} zmienil sie na offline
.
Ta reakcja będzie reagować na wiadomości z treścią 0
na tematach pasujących do subskrypcji prefix/+/connected
, np. prefix/lk1/connected
, prefix/lk2/connected
. W efekcie reakcja będzie wysyłać powiadomienia o utracie połączenia każdego LK maksymalnie raz na 30 minut (czas tłumienia będzie liczony osobno dla każdego urządzenia/tematu). Warto zaznaczyć, że powiadomienie może zostać wysłane również w wyniku normalnego restartu LK.
Format¶
Format pozwala na nadpisanie odebranej wiadomości przed przekazaniem jej do obsłużenia w usługach, ale po sprawdzeniu przez filtr. Możesz w nim używać specjalnych fraz {topic} i {payload}, które zostaną zastąpione odpowiednio tematem na który dotarła wiadomość i tekstem wiadomości. Dzięki temu możesz wysyłać bardziej ludzkie wiadomości przez email poprzez udekorowanie odczytu czujnika w pełne zdanie.
Załóżmy dla przykładu format o następującej treści:
The temperature in living room is {payload} from DS sensor on topic {topic}
Następnie na powiązanym temacie dev1/temp pojawia się wiadomość 25, a format zmienia ją na:
The temperature in living room is 25 from DS sensor on topic dev1/temp
Dodawanie reakcji¶
Formularz dodawania nowej reakcji pokazano na poniższym obrazku. Są tam następujące pola:
- Nazwa reakcji, może zawierać litery, cyfry i znak _, oraz musi być unikalna pośród reakcji.
- Temat subskrypcji MQTT, który będzie źródłem wiadomości do przetwarzania przez filtr, format oraz usługi.
- Typ filtru i jego konfiguracja. Pola do wprowadzania konfiguracji pojawiają się po wybraniu filtru, zawierają wartości referencyjne, operatory porównania i operator logiczny.
- Początek i koniec przedziału, w którym warunek jest spełniony.
- Tłumienie reakcji wyrażone w sekundach.
- Format to tekst, który nadpisze oryginalną wiadomość przed przekazaniem jej do usługi (więcej na ten temat powyżej).
- Wybierz które akcje (usługi) mają być podjęte jeśli wynik filtra jest prawdziwy (przy braku filtra zawsze prawdziwy). Lista jest zapełniona skonfigurowanymi usługami, dlatego upewnij się że masz przynajmniej jedną, w przeciwnym razie nie będziesz w stanie dodać reakcji.
Aby skonfigurować reakcję, musisz ustawić nazwę, temat i usługi. Inne pola są opcjonalne i mogą być używane do modyfikowania działania reakcji.
Lista reakcji¶
Lista reakcji wraz z ich szczegółami i przyciskami do edycji lub usuwania. Jest tam 6 kolumn:
- Nazwa reakcji.
- Temat z którego wiadomości będą przetwarzane.
- Konfiguracje filtrów i tłumienia. Jeśli ustawione, są poprzedzone V: (filtr wartości), T: (filtr czasu) i S: (tłumienie), w przeciwnym razie puste.
- Tekst formatu (pusty, jeśli nie ustawiony).
- Usługi które zostaną uruchomione dla odebranej (lub sformatowanej) wiadomości. Są one wyświetlone w parach, to znaczy nazwa usługi razem z twoją nazwą konfiguracji.
- Przyciski do aktywacji, edycji i usuwania reakcji.
Zadania¶
Zadania polegają na wysyłaniu wiadomości MQTT na konkretne tematy w określonym czasie, w sposób cykliczny. W związku z tym, działają one jak usługa mqttpub, jednakże zestawione razem z reakcjami mogą wykonywać bardziej złożone działania (wszelkie przypisane do reakcji, np. wysyłanie emaila).
Dodawanie zadania¶
Formularz dodawania nowego zadania pokazano na poniższym obrazku. Są tam 4 pola:
- Nazwa zadania, może zawierać litery, cyfry i znak _, oraz musi być unikalna pośród zadań.
- Temat publikowania MQTT na który bedą wysyłane wiadomości. Obok pola wprowadzania znajduje się lista rozwijana z tematami poleceń dla twoich urządzeń i reakcji. Zauważ, że temat reakcji może zawierać znaki specjalne (# lub + używane w subskrypcjach MQTT), których nie można używać w temacie publikowania, dlatego będziesz musiał je zastąpić po wybraniu z listy.
- Godzina i dni tygodnia, w których wiadomość powinna zostać wysłana. Należy wybrać co najmniej jeden dzień tygodnia.
- Wiadomość do wysłania. Pamiętaj, że jeśli wiadomość zostanie wysłana do tematu ze skonfigurowanymi filtrami lub formatem, wiadomość ta zostanie przez nich przetworzona.
Lista zadań¶
Lista zadań wraz z ich szczegółami i przyciskami do edycji lub usuwania. Jest tam 5 kolumn:
- Nazwa zadania.
- Temat na który ma być wysłana wiadomość.
- Kiedy wiadomość powinna być wysłana.
- Tekst wiadomości do wysłania
- Przyciski do aktywacji, edycji lub usuwania zadania.