elty.pl
Koszyk
Zamknij
Kontynuuj zakupy ZAMAWIAM
suma: 0,00 zł
Ulubione produkty
Lista ulubionych jest pusta.

Wybierz coś dla siebie z naszej aktualnej oferty lub zaloguj się, aby przywrócić dodane produkty do listy z poprzedniej sesji.

Szukaj
Menu
blog Elty
Cotygodniowa dawka eksperckiej wiedzy. Sprawdź czym dziś Cię zaskoczymy!

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)

Holder do góry
Szablon Shoper Modern 3.0™ od GrowCommerce
Sklep jest w trybie podglądu
Pokaż pełną wersję strony
Sklep internetowy Shoper Premium