Obsługa elementów BUTTON w wyświetlaczach NEXTION pod systemem DOMOTICZ
Podstawowe typy komunikacji wyświetlacza Nextion z modułami ESPEASY.
- Touch Event Format - wysyłanie IDx
- |s (Pipe-S) Format
- |u (Pipe-U) Format
Touch Event Format
Zdarzenia naciśnięcia i puszczenia przycisków powodują automatyczne wygenerowanie parametrów idx oraz value. Wartość IDX nie może być wprost pobrana z ID elementu BUTTON ponieważ na różnych stronach(ekranach) może wystąpić przycisk o tym samym ID.
Idx komponentu jest wyliczane w następujący sposób:
IDx = numer_strony*256 + 500 + numer_komponentu.
I takie IDX przesyła PLUGIN NEXTION do systemu ESPEASY. Jeżeli na stronie 4 mamy przycisk o id=3 to PLUGIN NEXTION wyśle zdarzenie jako para IDx/value
IDX = 4*256 + 500 + 3 = 1527 ; value = 1(dla naciśnięcia) ; 0(dla puszczenia)
Jeśli chcemy zdekodować
strona(w Nextion) = (1527 - 500) / 256 = 4
Button Id = (1527 - 500) - (4 * 256) = 3
W Nextion Editor przygotowujemy następujący projekt:
Button "Światło na schodach" znajduje się na stronie 0 i ma ID 7. IDX przekazane do ESPEASY przez PLUGIN NEXTION będzie:
IDX = 0*256 + 500 + 7 = 507
W zakładce Devices tworzymy nowy przycisk typu "Normal Switch" i przypisujemy mu GPIO, w tym przykładzie jest to GPIO-5.
Otwieramy zakładkę Rules i wpisujemy kod:
Od tego momentu już mamy pierwszy efekt działania przycisków na wyświetlaczu

Przełączanie stanu GPIO-5 odbywa się lokalnie w ramach modułu ESPEASY.
Podłączamy całość do systemu Domoticz.
W Domoticz tworzymy nowe urządzenie typu Light/Switch:
W ESPEASY modyfikujemy kod dodając polecenie SendToHTTP aby wysłać do RaspberyPi informację o stanie przełącznika.

Musimy zadbać o komunikację z Domoticz do ESPEASY. W tym celu przechodzimy do edycji przełącznika i dopisujemy akcję dla włączenia i wyłączenia.

Od tego momentu możemy sterować światłem zarówno z poziomu wyświetlacza NEXTION jak i z poziomu Domoticza.
W następnym odcinku, wykorzystanie wyświetlacza NEXTION do budowy termostatu w systemie DOMOTICZ.




