Prezentacja na OLED...
 
Powiadomienia
Wyczyść wszystko

Prezentacja na OLED w tasmota

21 Wpisów
2 Użytkownicy
0 Likes
700 Wyświetleń
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

Witam, po w pisaniu w konsoli w tasmota

DisplayMode 4

wyświetlają się tematy, rodzaj czujnika i odczytana wartość z jednostkami ze wszystkich czujników wysyłających dane do danego MQTT. Czy jest możliwość wyświetlenia tylko odczytów z jednego czujnika DS18B20 z danego MQTT.?

 
Dodane : 24/09/2023 10:08 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Dodane przez: @adamadamowski

Czy jest możliwość wyświetlenia tylko odczytów z jednego czujnika

Oczywiście, że jest. Ile masz tych DS-ów ? Który ma być ? Jaki OLED ?

 
Dodane : 24/09/2023 10:22 pm
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

Na tą chwilę to tego MQTT mam podłączone dwa DS-y ale ich liczba jeszcze się powiększy, każdy z tych DS-ów jest podłączony do innego ESP. OLED to SSD1306.

Który ma być?

Nie rozumiem, ten który ma być publikuje w temacie "esp32-2".

 
Dodane : 24/09/2023 10:39 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@adamadamowski myślałem że masz kilka DS-ów podłączonych do jednego ESP, dlatego zapytałem który.

Generalnie musisz przełączyć wyświetlacz w tryb DisplayMode 0 , czyli wyświetlanie tekstu, i napisać sobie regułę 

przykład dla lokalnego czujnika podłączonego do GPIO 

rule1 on DS18B20#Temperature do DisplayText [f0s2p15x0y25]Temp. %value% C endon

Na koniec aktywacja reguły 

rule1 1

 
Dodane : 24/09/2023 10:49 pm
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

Chodzi o to że do tego ESP nie mam podłączonego żadnego czujnika. Układ to samo ESP z tasmotę i OLED SSD1306 i na tym urządzeniu chcę wyświetlać temperaturę ze zdalnego czujnika, tamto urządzenie z czujnikiem publikuje odczyty do serwera MQTT. Urządzenie z wyświetlaczem subskrybuje odczyty z różnych moich czujników które publikują do MQTT ale chcę wyświetlać odczyty z tylko jednego urządzenia.

Wiem że ESP32 z podłączonym jedynie wyświetlaczem to marnotrawstwo ale tylko to mam do dyspozycji w tym momencie.

 
Dodane : 24/09/2023 10:55 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@adamadamowski ok teraz jest jaśniej, skoro esp32 z wyświetlaczem subskrybuje wskazania tych czujników peryferyjnych to trzeba utworzyć regułę która zapisze wskazania tego konkretnego czujnika do jakiejś zmiennej i wartość tej zmiennej przedstawić na wyświetlaczu, albo po prostu zapisywać te wartości w event i używajac nazwy tego event wysłać do wyświetlacza. Przykład gdzie topic modułu z DS-em, który chcesz wyświetlić to "czujnik" , event z nazwą "Temp" 

Rule1
  ON mqtt#connected DO Subscribe Temp, stat/czujnik/SENSOR, DS18B20.Temperature ENDON
  ON Event#Temp DO DisplayText[f0s2p15x0y0]Temp. %value%C ENDON

To co otrzymasz w konsoli powinno wygladać tak jak poniżej, tylko zamiast błędu command: Error, który wynika u mnie z braku wyświetlacza dostaniesz potwierdzenie wykonania

1
 
Dodane : 25/09/2023 11:16 am
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

Niestety nie działa ta reguła. Wynik mam taki jak poniżej:

Bez tytułu

 

 
Dodane : 25/09/2023 3:50 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@adamadamowski niestety chyba nie umiem pomóc, ustawiasz topic do subskrybcji modułu który ma odebrać te dane, a powinien być topic modułu z czujnikiem w rule masz esp32-2 i w logach to samo. To co moduł z wyświetlaczem ma wysłać do siebie parametry innego esp ? Myślałem, że wiesz co robisz.

Dodatkowo jesteś tak oszczędny w opisie tego co tam masz, że naprawdę trudno coś doaradzać.

Napiszę tylko tak : U mnie działa co widać na foto 🙂

 
Dodane : 25/09/2023 4:36 pm
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

Zmieniłem temat modułu z wyświetlaczem i dalej nic. Jakie informacje są jeszcze potrzebne o moich urządzeniach?

 
Dodane : 25/09/2023 4:52 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Dodane przez: @adamadamowski

Zmieniłem temat modułu z wyświetlaczem

A po co go zmieniłeś ? Powinieneś zmienić topic w regule a nie topic modułu z wyświetlaczem

 
Dodane : 25/09/2023 4:58 pm
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

Dodane przez: @isom

Dodane przez: @adamadamowski

Zmieniłem temat modułu z wyświetlaczem

A po co go zmieniłeś ? Powinieneś zmienić topic w regule a nie topic modułu z wyświetlaczem

W regule mam ustawić ten sam topic jaki jest w module z wyświetlaczem?

W module z wyświetlaczem mam topic "display", a w module z czujnikiem "esp32-2".

 

 
Dodane : 25/09/2023 5:02 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Dodane przez: @adamadamowski

W module z wyświetlaczem mam topic "display", a w module z czujnikiem "esp32-2".

No dobra to chyba wiem odrobinę więcej, ale zapytam, w którym module dodajesz tą regułę? Bo z logów które wstawiłeś widać że to moduł z tematem esp32-2 

 
Dodane : 25/09/2023 5:08 pm
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

To zdjęcie które wkleiłem było z modułu z wyświetlaczem.

W module z czujnikiem jest cały czas temat "esp32-2".

W module z wyświetlaczem też w momencie kiedy było zdjęcie był topic "esp32-2". Teraz zrobiłem "display".

Regułę którą mi podałaś wpisałem w module z wyświetlacze, sugerowałem się tym słowem "Subscribe" po słowie "Do". Dla mnie logicznym wydaje się że skoro "Subscribe" a po nim "Temp" i temat ze słowem czujnik to ma subskrybować to co publikuje moduł-czujnik.

 
Dodane : 25/09/2023 5:15 pm
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

Ogarnąłem to 😀 😀 😀 😀 😀 😀 

U mnie reguła powinna być taka

Rule1   ON mqtt#connected DO Subscribe Temp, tele/esp32-2/SENSOR, DS18B20.Temperature ENDON   ON Event#Temp DO DisplayText[zf0s3p15x1y22]%value% ~f8C ENDON

Nie wiem na czym polega różnica ale w subskrybowanym temacie zmieniłem

stat

na

tele

 

@isom swoją drogą jak nauczyłeś się pisać reguł?

 
Dodane : 25/09/2023 5:56 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@adamadamowski różnica między stat i tele polega na tym, że tele to teleperiod czyli dane są wysyłane zgodnie z ustawieniem w konfiguracji dziennika, stat to aktualny stan i pewnie gdyby wartość temp zmieniła się chociaż o 0.1 st po dodaniu reguły też by działało.

Reguł nauczyłem się czytając dokumentację i eksperymentując, nie ma zbyt wiele informacji na ten temat w necie.

 
Dodane : 25/09/2023 6:54 pm
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

@isom zaskoczę cię albo i nie zamieniłem tele na stat i nie zadziałało nawet po kilku zmianach temperatury, to chyba nie to. Ale i tak dziękuję za pomoc, tele/esp32-2/SENSOR przepisałem z openhaba. Tyle było mojego udziału w całym tym zamieszaniu.

 
Dodane : 25/09/2023 7:05 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@adamadamowski powtórzę to co wcześniej, u mnie działa :), ale tak naprawdę przy tak napisanej regule nie ma to znaczenia, czy dasz stat czy tele , gdybyś chciał np w tej samej linii wyświetlać inny czujnik naprzemiennie , robiło by to różnicę. Fajnie, że się udało, teraz wypada dodać opis co to za temp i ustawić wskazania tak żeby to wyglądało, ale to już kosmetyka.

 
Dodane : 26/09/2023 9:29 am
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

A skoro już mowa o innych czujnikach. Do innego ESP z innym topikiem mam czujnik BME280 mierzy ciśnie, wilgotność i temperaturę. Jak

wyświetlać wartości z tych czujników? Napisałem coś takiego na podstawie wyświetlania temperatury z DS18B20

Rule1
ON mqtt#connected DO Subscribe Temp, tele/esp32/SENSOR, BME280.Temperature ENDON 
ON Event#Temp DO DisplayText[f0s4p15x1y30]%value% ENDON 
ON Event#Temp DO DisplayText[s2x1y4]Temp. ENDON
ON Event#Temp DO DisplayText[s2x100y4]~f8C ENDON

ON mqtt#connected DO Subscribe Pres, tele/esp32/SENSOR, BME280.Pressure ENDON 
ON Event#Pres DO DisplayText[f0s4p15x1y30]%value% ENDON 
ON Event#Pres DO DisplayText[s2x1y4]Cisnie ENDON
ON Event#Pres DO DisplayText[s2x100y4]hPa ENDON

ON mqtt#connected DO Subscribe Humid, tele/esp32/SENSOR, BME280.Humidity ENDON 
ON Event#Humid DO DisplayText[f0s4p15x1y30]%value% ENDON 
ON Event#Humid DO DisplayText[s2x1y4]Wilgotnosc ENDON
ON Event#Humid DO DisplayText[s2x100y4]% ENDON

Ale wszystkie odczyty na wyświetlaczu za szybko się zmieniają na kolejną i zatrzymuje się na kilka sekund na ostatniej wartości i znów szybko przeskakują od początku.Jak zrobić kilkusekundowe przerwy pomiędzy poszczególnymi zmianami?

 
Dodane : 29/09/2023 10:43 pm
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@adamadamowski najprościej, bez kompilowania nowego firmware, rozdzielić to na trzy rule i uruchamiać jedną regułę drugą w pętli, można interwał ustawić najprostszym delay, ale bardziej precyzjnie ustawisz przez RuleTimer.

Chcąc użyć mniejszej ilości reguł trzeba przy kompilacji dodać obsługę złożonych warunków ( jest w dokumentacji rule )

 
Dodane : 30/09/2023 10:50 am
(@adamadamowski)
Wpisów: 37
Kontrybutor
Autor tematu
 

Próbowałem zrobić wyzwalanie Rule2 w Rule1 ale zakręciłem się strasznie i już w głowie mam bałagan, nawet nie potrafię opisać co próbowałem zrobić. Załóżmy że nie próbowałem i jestem zielony w tym temacie. Podpowiecie jak to zrobić?

 
Dodane : 21/10/2023 11:05 pm
Strona 1 / 2
Udostępnij: