99,9% kupujących poleca tego sprzedawcę

Polecam2558Nie polecam3

Zgodność z opisem
5
Koszt wysyłki
Obsługa kupującego
5

Zastosowanie wyświetlaczy Nextion w systemie inteligentnego domu Domoticz CZ2 0

Jak spoza modułu wyświetlić dane?

W pierwszej części pokazałem, jak wyświetlić dane z czujnika na wyświetlaczu NEXTION.

Często zachodzi potrzeba wyświetlenia wartości z czujników które są podłączone w innych modułach ESPEASY.

W module ESPEASY do którego podłączony jest wyświetlacz pozostawiamy takie same ustawienia jak w poprzedniej części.

Zostawiamy tylko jeden wpis w liście komend.

 

Projekt w NextionEditor:

Plik hmi

Projekt zawiera wyłącznie pola tekstowe. Z uwagi na to że pola number w Nextion mogą wyświetlać tylko liczby całkowite do wyświetlenia wartości które mają część dziesiętną lepiej zastosować pola typu tekst.

Oprócz modułu ESPEASY do którego podłączony jest wyświetlacz mam trzy moduły z czujnikami temperatury. Wszystkie czujniki przekazują dane do systemu Domoticz.

Moduł ESPEASY tworzy coś w rodzaju pomostu pomiędzy siecią a portem szeregowym do którego podłączony jest wyświetlacz.

Komendy które normalnie przesyłamy poprzez UART do wyświetlacza można wstawić do zapytania http typu GET.

Przykład:

Wpisanie w pasku adresu przeglądarki:

http://192.168.8.130/control?cmd=NEXTION,page0.t2.txt="Hello world"

spowoduje wyświetlenie w polu tekstowym t2 napisu Hello world.

Domoticz

W Domoticz przechodzimy do konfiguracja->urządzenia i zapamiętujemy nazwy interesujących nas termometrów.

  • Temperatura pieca
  • Termometr za oknem
  • Termometr pokój TV

Przechodzimy do Konfiguracja -> Więcej opcji -> Zdarzenia 

Tworzymy nowy skrypt w LUA.

commandArray = {}

-- loop through all the changed devices
for deviceName,deviceValue in pairs(devicechanged) do

   if (deviceName=='Temperatura pieca') then
     commandArray['OpenURL']='http://192.168.8.130/control?cmd=NEXTION,page0.t2.txt="'..tostring(deviceValue)..'"'
   end

   if (deviceName=='Termometr za oknem') then
     commandArray['OpenURL']='http://192.168.8.130/control?cmd=NEXTION,page0.t4.txt="'..tostring(deviceValue)..'"'
   end

   if (deviceName=='Termometr pokój TV') then
     commandArray['OpenURL']='http://192.168.8.130/control?cmd=NEXTION,page0.t2.txt="'..tostring(deviceValue)..'"'
   end

end

return commandArray

 

Od tego momentu jeżeli tylko przyjdzie jakieś zdarzenie z termometru zostanie wywołana komenda Open URL która wysyła do modułu ESPEASY z wyświetlaczem odpowiednie dane.

 

W następnej części:

Jak obsługiwać przyciski na wyświetlaczu w systemie Domoticz.

 

 

 

 

 

 

Komentarze do wpisu (0)

do góry
Sklep jest w trybie podglądu
Pokaż pełną wersję strony
Sklep internetowy Shoper Premium