Logiki
Logiki w systemie LEKOM służą do budowania zaawansowanych reguł automatyzujących pracę urządzeń budynku. W widoku głównym wylistowane są wszystkie logiki, pogrupowane w zakładach, według nadanych grup. Logiki można sortować według zadanej kolejności. Ustawienie kolejności odbywa się za pomocą metodyprzeciągnij i upuść (klikamy na logikę i przeciągamy w docelowe miejsce).
Logika
Logika jest regułą warunkową, uruchamiającą pewne urządzenia/działania w przypadku wystąpienia określonych zdarzeń. W uproszczeniu może być przedstawiona na podstawie następującego przykładu:
- W przypadku wystąpienia zdarzenia (np. wschód słońca)
- Jeśli dodatkowe warunki są spełnione (np. dzień roboczy)
- To wykonaj czynność (np. podnieś rolety)
Każdy komponent dodany do systemu, może być wykorzystany w logice we wszystkich z powyżej wymienionych przypadkach/funkcjach. I tak np.:
- W przypadku wystąpienia zdarzenia: otwarcie okna
- zmiana stanu komponentu może inicjować logikę
- Jeśli dodatkowe warunki są spełnione: stan rolety < 10%
- aktualny stan komponentu może być warunkiem określającym czy logika powinna się wykonać
- To wykonaj: ustaw stan rolety na 100% (otwórz całkowicie)
- ustawienie stanu dla komponentu
Efektem opisanego przypadku będzie podniesienie rolety do góry, w przypadku otwarcia okna, gdy stan rolety jest mniejszy niż 10% (jest prawie zamknięta).
Zdarzenie
Zdarzenie jest to zmiana stanu komponentu, która może inicjować logikę. Dostępne są również zdarzenia systemowe oraz zdarzenia oparte o zmienną.
Dostępne zdarzenia systemowe to:
- brak / przywrócenie prądu
- brak / przywrócenie internetu
- uruchomienie / zamknięcie systemu
- otrzymanie wiadomość GSM
- wschód / zachód słońca (godzina ta może być również pomniejszona. powiększona o podany interwał czasowy)
- godzina północy / południa
Zmienne zostały dokładnie opisane poniżej.
Menu podręczne
Sekcja W przypadku wystąpienia zdarzenia posiada dwie opcje w menu podręcznym oraz jedną opcję przy danym zdarzeniu.
- ikona plusa (menu podręczne na dole sekcji)
- dodanie nowego zdarzenia
- ikona ołówka (menu podręczne na dole sekcji)
- wejście w tryb edycji, w którym można przesuwać kolejność elementów
- ikona minus (menu podręczne przy danym zdarzeniu)
- usunięcie zdarzenia
Warunek
Warunek jest to zastrzeżenie, od którego zależy uruchomienie logiki. Poza warunkami opartymi o stany komponentów, dostępne są również warunki oparte o warunki systemowe oraz o zmienną.
Dostępne warunki systemowe to:
- dzień tygodnia: poniedziałek / wtorek / itd.
- typ dnia: roboczy / weekend
- pora roku: wiosna / lato / jesień / zima
- warunek czasowy: logika aktywna w określonych godzinach
Zmienne zostały dokładnie poniżej.
Warunek zagnieżdżony
Warunek zagnieżdżony oznacza, iż wewnątrz jednej instrukcji warunkowej, możemy używać kolejnych instrukcji warunkowych.
Przykładowy warunek: kiedy okno w gabinecie jest otwarte lub okno i roleta w salonie jest otwarta.
W celu dodania warunku zagnieżdżonego lub złożonego należy użyć nawiasów, grupujących warunki. Aby to zrobić, należy w pasku menu kliknąć ikonę wybranego nawiasu.
Menu podręczne
Sekcja Jeśli dodatkowe warunki są spełnione posiada pięć opcji w menu podręcznym oraz jedną opcję przy danym warunku.
- ikona plusa (menu podręczne na dole sekcji)
- dodanie nowego warunku
- ikona lewego nawiasu (menu podręczne na dole sekcji)
- dodanie początku warunku zagnieżdżonego
- ikona prawego nawiasu (menu podręczne na dole sekcji)
- dodanie zakończenia warunku zagnieżdżonego
- ikona zegara (menu podręczne na dole sekcji)
- dodanie warunku czasowego
- ikona ołówka (menu podręczne na dole sekcji)
- wejście w tryb edycji, w którym można przesuwać kolejność elementów
- ikona minus (menu podręczne przy danym warunku)
- usunięcie zdarzenia
Instrukcja
Instrukcja jest to oczekiwany stan komponentu, który ma zostać ustawiony przez logikę, po wyzwoleniu i spełnieniu oczekiwanych warunków.
Menu podręczne
Sekcja To wykonaj posiada cztery opcje w menu podręcznym oraz dwie opcję przy danej instrukcji.
- ikona plusa (menu podręczne na dole sekcji)
- dodanie nowego warunku
- ikona dzwonka (menu podręczne na dole sekcji)
- dodanie notyfikacji GSM
- dodanie notyfikacji PUSH
- ikona stop (menu podręczne na dole sekcji)
- dodanie opóźnienia w wykonaniu instrukcji
- ikona ołówka (menu podręczne na dole sekcji)
- wejście w tryb edycji, w którym można przesuwać kolejność elementów
- ikona kopiuj (menu podręczne przy danym warunku)
- kopia instrukcje
- ikona minus (menu podręczne przy danym warunku)
- usunięcie instrukcji
Dodaj logikę
W celu stworzenia nowej logiki należy kliknąć przycisk Dodaj nową logikę
Następnie uzupełniamy wszystkie dane. Widok logiki został podzielony na 4 sekcje.
- Sekcja pierwsza zawiera nazwę, grupę oraz ikonę logiki.
- Sekcja druga zawiera zdarzenie, które inicjuje logikę.
- Sekcja trzecia określa jakie dodatkowe warunki muszą być spełnione, aby logika została wykonana.
- Sekcja czwarta zawiera co się ma wykonać.
Po uzupełnieniu wszystkich informacji, należy kliknąć przycisk Zapisz
Usuń logikę
W celu usunięcia logiki należy otworzyć menu podręczne(znajdujące się po prawej stronie logiki) w wierszu logiki, a następnie kliknąć opcję Usuń.
Edytuj logikę
W celu edycji logiki należy podwójnie kliknąć w jej nazwę lub otworzyć menu podręczne w wierszu logiki, następnie kliknąć opcję Edytuj.
Wyłącz logikę
W przypadku, kiedy logika jest włączona i chcemy ją wyłączyć (aby nie była wykonywana, kiedy warunki jej wykonania zostaną spełnione), należy otworzyć menu podręczne (znajdujące się po prawej stronie logiki) w wierszu logiki, następnie kliknąć opcję Wyłącz.
Po wyłączeniu logiki, jej status zostanie ustawiony na Wyłączony
Włącz logikę
Kiedy logika jest wyłączona i chcemy ją włączyć, należy otworzyć menu podręczne w wierszu logiki, a następnie kliknąć opcję Włącz.
Po włączeniu logiki, jej status zostanie ustawiony na Aktywny
Zmienna
Zmienna jest to konstrukcja pozwalająca przechowywać zadaną bądź wyliczoną na podstawie funkcji wartość. Zmienne są przydatne, kiedy chcemy zapisać w systemie jakaś informację, którą chcemy wykorzystać w logice, np. tworząc logikę, która o zachodzie słońca obniży/opuści rolety a o wschodzie podniesie rolety, możemy utworzyć zmienna stan rolet, która będzie przechowywać (można w niej zapisać) informację o aktualnym stanie rolet, który może być wykorzystany jako warunek w innej logice.
Typ zmiennych
Typ zmiennej wpływa na to jak dana zmienna jest przetwarzana przez system. Każdy typ zmiennej ma inne przeznaczenie. Dostępne są 3 typy zmiennych:
- Harmonogram
- Wartość
- Czas zdarzenia
Zmienna typu harmonogram
Zmienna typu harmonogram to zmienna, która może inicjować zdarzenie na podstawie zaplanowanego harmonogramu. Jest ona wykorzystywana do periodycznego zaplanowania uruchomienia logiki systemie.
Należy pamiętać, że po utworzeniu zmiennej trzeba dodać ją w logice, w której chcemy jej użyć w sekcji W przypadku wystąpienia zdarzenia
Zmienna typu wartość
Zmienna typu wartość to zmienna, w której można zachować wartość liczbową. Wartość może być podana bezpośrednio w logice bądź wyliczona na podstawie dostępnych funkcji.
Dostępne funkcje:
- value() – zapisuje podaną wartość
- avg(x) – zapisuje średnią wartość, gdzie x to liczba ostatnich wartości uwzględnionych w wyliczeniu
- sum(x) – zapisuje sumę wartości, gdzie x to liczba ostatnich wartości uwzględnionych w wyliczeniu
- count(x) – zlicza wartości, gdzie x to liczba ostatnich wartości uwzględnionych w wyliczeniu
Wartość zmiennej w logice ustawiana jest w sekcji To wykonaj
Zmienna typu czas zdarzenia
Zmienna typu czas zdarzenia, to zmienna, która operuje na czasie inicjacji zmiennej. Jest ona najczęściej wykorzystywana, kiedy po wykonaniu jednej logiki, chcemy uruchomić następną z opóźnieniem czasowym, np. 2 minuty po zamknięciu rolety zgasić światło.
W tym celu, w definicji zmiennej należy użyć funkcji time() podając ze znakiem dodawania “+” czas po jakim zmienna ma się uruchomić oraz oznaczenie czasowe.
Przykładowo poniższa definicja:
- time() + 1000ms
- uruchomi zmienną za 1000 milisekund od czasu inicjacji
- time() + 5s
- uruchomi zmienną za 5 sekund od czasu inicjacji
- time() + 2m
- uruchomi zmienną za 2 minuty od czasu inicjacji
- time() + 1h
- uruchomi zmienną za godzinę od czasu inicjacji
Należy pamiętać o tym, że aby zainicjować wykonanie zmiennej, należy ją dodać do sekcji To wykonaj logiki, po której chcemy uruchomić kolejną logikę z odstępem czasowym.
A następnie użyć zmiennej jako zdarzenia w logice, która ma się wykonać.
Dodaj zmienną
W celu dodania nowej zmiennej należy kliknąć przycisk Dodaj nową zmienną
Następnie uzupełniamy wszystkie dane
- Nazwa
- nazwa zmiennej
- Typ zmiennej
- typ zmiennej – został dokładnie opisany tutaj
- Limit zliczanych wartości
- limit określający, ile ostatnich wartości jest przechowywanych w historii zmiany zmiennej
- Definicja
- funkcja użyta do wyliczenia wartości
- Aktualna wartość
- aktualna wartość zmiennej
- Historia (id -> wartość)
- historia zapisanych wartości
Usuń zmienną
W celu usunięcia zmiennej należy otworzyć menu podręczne (znajdujące się po prawej stronie logiki) w wierszu zmiennej, a następnie kliknąć Usuń.
Edytuj zmienną
W celu edycji zmiennej należy otworzyć menu podręczne (znajdujące się po prawej stronie logiki) w wierszu zmiennej, a następnie kliknąć opcję Edytuj.