Przejdź do treści

Zdarzenia

Zdarzenia to prosty mechanizm używania Lan Kontrolera jako automatu wykonującego zaprogramowane czynności w przypadku wystąpienia określonych warunków. Przykładowo załączenie OUT1 gdy temperatura przekroczy określoną wartość lub wysłanie wiadomości e-mail, gdy zmieni się stan logiczny, itp. Istnieje możliwość połączenia dwóch warunków za pomocą operatora logicznego oraz dodatkowo uzależnienia wykonania akcji od stanu innego wpisu zdarzenia.

Elementy strony

Events

Na stronie widoczna jest tabela zdarzeń. Przedstawia informacje o ustawionych zdarzeniach, obecne stany warunków (No/Yes) i czy wynik działań OUT, PWM, EVENT, AutoSwitch jest w danej chwili prawdą (np. sprawdza czy OUT1==1). Ostatnia kolumna zawiera pola wyboru On umożliwiające włączenie zdarzenia i ustawienie go jako permanentne Per oraz przyciski do usuwania, edycji lub kopiowania zdarzenia.

Nad tabelą znajduje się przycisk dodawania nowego wpisu.

Events - Formularz

  1. Pola wyboru On i Per, umożliwiające włączenie zdarzenia i ustawienie go jako permanentne.
  2. Pierwszy warunek (A, podstawowy). Na warunek składają się 3 elementy:

    • źródło - wejścia analogowe i cyfrowe. Pośród opcji wejść cyfrowych dostępne są też wirtualne zmienne EVENT (opisane poniżej).
    • operator >=, < (dla wejść cyfrowych zawsze używany jest operator =)
    • wartość referencyjna i histereza
  3. Operator między warunkami (A i B) pozwala powiązać ze sobą dwa warunki. W razie gdy nie zostanie wybrany operator (pozostawiony z wartością -), to drugi warunek będzie nieaktywny.

  4. Drugi warunek (B), który jest aktywny tylko wtedy, gdy zostanie wybrany operator między warunkami (pkt 3).
  5. Operator aktywujący specjalny warunek C, który pozwala uzależnić zdarzenie od wyniku warunków A i B innego zdarzenia.
  6. Warunek (C) określający zależność od stanu warunków innego zdarzenia. Polega to na tym, że działanie zdarzenia jest wykonywane tylko wtedy gdy warunek C jest spełniony, czyli warunki A i B innego wybranego zdarzenia.

    Przykładowo, na powyższym obrazie z tabelą zdarzeń, działanie zdarzenia EV 3 będzie wykonywane tylko wtedy gdy jego podstawowe warunki A i B zostaną spełnione oraz warunek C, tutaj to warunek A dla wpisu EV 1. Istotne jest to, że jeśli warunek C nie jest spełniony to nie będą wykonywane żadne działania, włącznie z momentem gdy warunek C przestaje być spełniany.

    Można to wykorzystać w połączeniu z funkcją Scheduler do zdefiniowania działań typu dzień-noc. W tym celu należy w Scheduler wysterować, np. zmienną EVENT, tak by jej ustawienie na 1 określało dzień, a na 0 noc. W zdarzeniach dodać wpis z warunkiem sprawdzającym stan wybranej zmiennej EVENT z dowolnym działaniem, bez konieczności aktywowania tego wpisu - wystarczy, że jest ustawiony. Następnie należy dodać zestawy zdarzeń na dzień i noc, w ten sposób, że "na dzień" będą z warunkiem C = 1, a "na noc" z C = 0.

  7. Działanie do wykonania po spełnieniu warunku.

    Jest zdefiniowane przez następujące parametry:

    • Działanie - ustawienie stanu wyjścia OUT lub PWM, włączenie funkcji AutoSwitch dla wyjścia, wysłanie zapytania HTTP, wysłanie SMS i inne.
    • Wartość - do ustawienia dla działań OUT, PWM, EVENT, dla których definiuje jaka wartość będzie ustawiona na wyjściu czy zmiennej.
    • Tryb - pozwala określić, kiedy zostanie wykonana akcja: kiedy warunek zacznie być spełniany, kiedy przestanie być spełniany, lub w obu przypadkach (zachowanie domyślne, zgodne z poprzednimi wersjami oprogramowania). Dostępne od SW 1.60a.
    • Opóźnienie włączenia - do ustawienia dla działań OUT, PWM, EVENT, opóźnia aktywację działania, po tym jak warunek zaczyna być spełniany. Dostępne od SW 1.57.
    • Opóźnienie wyłączenia - do ustawienia dla działań OUT, PWM, EVENT, opóźnia dezaktywację działania, po tym jak warunek przestanie być spełniany.

    Działanie, gdy warunek przestaje być spełniony

    W momencie gdy warunek przestaje być spełniony, niektóre działania mają specjalny efekt:

    • OUT, PWM, EVENT z wartością 1 lub 0, zadziałają tak jakby z wartością przeciwną do ustawionej, np. OUT0=1 przy dezaktywacji zadziała jako OUT0=0.
    • eMail, SMS wyślą drugi wariant wiadomość (pierwszy wariant jest wysyłany przy spełnieniu warunku).
    • AutoSwitch od HW 3.5+ SW 1.38 zapamiętuje stan wyjścia przed uruchomieniem działania AutoSwitch, tak by po ustaniu zdarzenia wyjście powróciło do stanu sprzed działania AutoSwitch.

    Działanie zdarzeń i opcja Per

    Normalnie, działanie zdarzenia jest wykonywane gdy zmieni się stan jego warunku (spełniony lub nie). Dla źródeł analogowych oznacza to, że działanie będzie wykonane przy przejściu progu, zarówno w górę, jak i w dół. Dla źródeł cyfrowych, gdzie są tylko dwa stany, działanie będzie wykonywane praktycznie przy każdej zmianie wartości źródła.

    Natomiast przy włączonej opcji Per, tj. zdarzenie permanentne, działanie jest wykonywane tak długo jak warunek jest spełniony. Opcja do wykorzystania z działaniami OUT, PWM, EVENT, nad którymi zdarzenie niejako przejmuje kontrolę, tj. nie można zmienić wtedy ich stanu spoza zdarzeń (każda zmiana zostanie nadpisana zmianą ze zdarzenia).

  8. Tabela stanów logicznych.

    Pomocnicza tabela działania operatorów, obrazująca możliwe wyniki działania operatora w zależności od spełnienia warunków.

Zmienne EVENT

Zmienne EVENT mogą przyjmować wartość 0 lub 1. Mogą być użyte jako źródło w Zdarzeniach oraz jako działanie w Zdarzeniach i Scheduler. Ich wartość może być zmieniona nie tylko w wyniku wspomnianego działania, ale też przez zapytanie HTTP, czy polecenie MQTT (eventX=Y, szczegóły w Klient MQTT).

W efekcie można przygotować różne warianty zdarzeń, uzależnione od zmiennych EVENT. Przykładowo, w Scheduler ustawiać EVENT o zadanych porach, a w zdarzeniach jako jeden z warunków użyć zależności EVENT, podobnie jak na screenach poniżej. W przykładzie wyjście OUT0 zostaje włączone przy niższej temperaturze DS1 w ciągu dnia, między 7:30 a 19:30, niż w ciągu nocy.

EVENT - Ustawienie Scheduler

EVENT - Ustawienie Zdarzeń

Uwagi

Łączenie wielu zdarzeń

Zdarzenia można powiązać ze sobą za pomocą zmiennych EVENT, które mogą przechowywać wyniki poszczególnych zdarzeń. Następnie zmienne EVENT należy wykorzystać jako składowe warunków nowego zdarzenia, w którym zostaną połączone wybranym operatora. Dzięki temu możesz zdefiniować bardziej skomplikowane warunki, m.in. połączyć zdarzenia operatorem OR jak w wersji SW 1.36 (szczegóły w sekcji poniżej).

Events - combining multiple

Zmienione działanie w wersji HW 3.5+ SW 1.36

Aktywne zdarzenia o tym samym Działaniu, jednym z OUT, PWM, EVENT, są rozpatrywane razem przy każdej zmianie ich warunków z priorytetem wykonania działania tego zdarzenia, którego warunki są spełnione. Innymi słowy takie zdarzenia będą działały tak jakby były połączone operatorem OR.

Weźmy na przykład zdarzenia na obrazie poniżej. Aktywne jest działanie zdarzenia 1, którego warunki są spełnione a nie zdarzenia 2, nawet jeśli to stan jego warunku zmienił się ostatnio.

Events - example

W przypadku gdy będą spełnione warunki zdarzeń o wykluczających się działaniach, np. OUT0=1 i OUT0=0 to zastosowane zostanie to na dalszej pozycji, np. zdarzenie 5, a nie 4.

W innych wersjach zdarzenia o tym samym działaniu są rozpatrywane niezależnie od siebie, w momencie zmiany stanu ich warunków. W rezultacie aktywne jest działanie zdarzenia, którego warunek zmienił się ostatnio.