ESPeasy wyświetleni...
 
Powiadomienia
Wyczyść wszystko

ESPeasy wyświetlenie temp na innym esp z podłączonym wyświetlaczem oled

20 Wpisów
5 Użytkownicy
1 Likes
1,945 Wyświetleń
(@adamdudek)
Wpisów: 55
Kontrybutor
Autor tematu
 

Posiadam kilka modułów esp8266 Wemos D1 z espeasy do których mam podłączone czujniki temperatury wilgotności itp. 

Wszystkie parametry z tych czujników są wysyłane do domoticza.

Kupiłem wczoraj wyświetlacz oled ssd 1306 podłączyłem do wemosa powiedzmy ESP1 i teraz pytanie.

Chciałbym wyświetlać temperatury z czujników podłączonych do wemosa ESP2 na wyświetlaczu oled podłączonym do ESP1

Ktoś mógłby mnie nakierować jak to zrobić np link do takiego artykułu, bo nie jestem w stanie tego wygooglować  

Z góry dziękuje za zainteresowanie 

 

 
Dodane : 10/09/2022 10:18 pm
pawell32
(@pawell32)
Wpisów: 1198
Guru
 
Dodane przez: @adamdudek
1. musisz w zakładce controlers włączyć >espeasy p2p networking<
esp11

2. to musisz włączyć na wszystkich modułach, które mają w tym uczestniczyć. Na urządzeniu, do którego masz podłączony czujnik zaznaczacz by wyniki wysyłał do tego kontrolera tak jak do innych np. Domoticz.

esp13

 

esp12

3. moduły, które mają odbierać  - WAŻNE - tę linie na którym masz czujnik (Task) musisz mieć wolną na kliencie. Jeśli masz czujnki jako task1, to task1 na kliencie zostawiasz puste. Restartujesz esp i automatycznie pojawia się na pozostałych esp, na których włączone jest p2p. Pozostaje włączyć dane zadanie i skonfigurować wyświetlacz.

 

 
Dodane : 12/09/2022 10:09 am
(@adamdudek)
Wpisów: 55
Kontrybutor
Autor tematu
 

@pawell32 cześć

 dzięki za zainteresowanie

uruchomiłem to ale jakoś nie chce mi przesyłać wartości tzn. temperatur, napięć i mocy.

 

 

 1. Screen esp1 do którego są podłączone czujniki 

image

 

2. Screen esp2 do którego są przesyłane czujniki. Widać, że je przesłał do esp2, ale nie przesyła wartości. Jakiś pomysł?

 

image

 

Poniżej ustawienia esp1 wysyłającego dane

image
image
image

 

Podsumowując wszystko działa tylko nie przesyła wartości czujników. 

Sprawdzałem na innych stronach z instrukcjami i powinno działać a nie działa. 

 

 

 

 
Dodane : 12/09/2022 7:39 pm
pawell32
(@pawell32)
Wpisów: 1198
Guru
 

@adamdudek musisz włączyć te zadania, które chcesz odbierać.

Screenshot 20220912 212839

po każdej operacji restart obydwóch esp

 
Dodane : 12/09/2022 9:33 pm
(@adamdudek)
Wpisów: 55
Kontrybutor
Autor tematu
 

@pawell32 cześć

Załączyłem i dalej bez zmian czujniki się pojawiają od szczała , ale nie pokazują wartości. Sprawdzałem na kilku innych forach i instrukcja wygląda dokładnie tak jak pisałeś i wszystkim rusza od kopa tylko nie u mnie. 

image

Dałem sobie spokój z tym i udało mi się uruchomić tego oleda wysyłając dane bezpośrednio z Domoticza.

Bardzo dziękuje koledze za pomoc.  

 

 
Dodane : 13/09/2022 9:19 pm
pawell32
(@pawell32)
Wpisów: 1198
Guru
 

A jak wysyłasz dane z domoticza na wyświetlacz ?

 
Dodane : 14/09/2022 9:50 am
pawell32
(@pawell32)
Wpisów: 1198
Guru
 

@adamdudek tez miałem z tym problem na początku, jak nie wysyłało danych to wyłączałem wysyłanie do p2p, restart i ponownie włączałem.

 
Dodane : 14/09/2022 9:52 am
(@adamdudek)
Wpisów: 55
Kontrybutor
Autor tematu
 

@pawell32 

tworzysz zdarzenie lua gdzie Bojler 1 - to nazwa czujnika w domoticzu który chcesz przesłać do esp

192.168.0.160 to adres esp do którego podłączony jest wyświetlacz oled

 

 

 

local NazwaCzujnika="Bojler 1"
commandArray = {}

if devicechanged[NazwaCzujnika] then
commandArray['OpenURL']='192.168.0.160/control?cmd=oled,1,1,CWU-1:'..otherdevices_svalues[NazwaCzujnika]..'*C'
end
return commandArray

 

 

 
Dodane : 14/09/2022 4:31 pm
(@adamdudek)
Wpisów: 55
Kontrybutor
Autor tematu
 

Mam kilka pytań dotyczących wyświetlacza ssd1306

1. Chcąc wyświetlić w każdej linii wyświetlacza inny czujnik muszę tworzyć kolejne zdarzenie lua dla każdej linni. I tak żeby wyświetlić 8 czujników w ośmiu liniach tworze 8 zdarzeń co jest bez sensu i robi się niepotrzebnie tyle zdarzeń. Pytanie jak zmodyfikować poniższe dwa kody na kod a żeby można było w jednym zdarzeniu wyświetlić dwa czujniki, bo niestety nie znam języka lua?

Poniżej zamieściłem dwa kody jak je teraz zapisać w jednym pliku a żeby oba działały poprawnie??

 

local NazwaCzujnika="Bojler 1"
commandArray = {}
if devicechanged[NazwaCzujnika] then
commandArray['OpenURL']='192.168.0.160/control?cmd=oled,1,1,CWU-1:'..otherdevices_svalues[NazwaCzujnika]..'C'
end
return commandArray

 

local NazwaCzujnika="Bojler 2"
commandArray = {}
if devicechanged[NazwaCzujnika] then
commandArray['OpenURL']='192.168.0.160/control?cmd=oled,2,1,CWU-2:'..otherdevices_svalues[NazwaCzujnika]..'*C'
end
return commandArray

 

 

2. Jak zmienić powyższy kod a żeby wyświetlały mi sie temperatury bez miejsc po przecinku?

W domoticzu wyświetlają się bez przecinków, bo w esp do którego mam podłączonego DS18B20 zaznaczyłem, że ma wysyłać bez miejsc po przecinku. Co ciekawe na oledzie wyświetla z dwoma miejscami po przecinku. 

 

 

 

 

 

 
Dodane : 15/09/2022 8:18 pm
pawell32
(@pawell32)
Wpisów: 1198
Guru
 

@adamdudek spraedź jeszcze czy nie powtarzają ci się numery. 

esp14

każde esp musi mieć inny numer i co ważne - różne od 0

 
Dodane : 15/09/2022 8:57 pm
pawell32
(@pawell32)
Wpisów: 1198
Guru
 

@adamdudek jeszcze dwie rzeczy mi się przypomniały:

1. sprawdź czy w tools->advanced masz ustwiony port

esp15

2. zauważyłem, że starsze wersje działają inaczej. mam starsze wersje i działa to od strzała. teraz robiłem sterownik dot matrix`a i danych bezpośrednio z pzem mi nie wysyła, natomiast jak zrobiłem dummy i przekopiowałem tam dane to już tak. Ponadto nie widziałem, by wcześniej było takie ustawinie wewnątrz

 

esp16

tak wygląda u mnie

esp17
 
Dodane : 16/09/2022 1:44 pm
kniazio
(@kniazio)
Wpisów: 209
Pomocny Donator 2K21
 

Dodane przez: @adamdudek

@pawell32 cześć

Załączyłem i dalej bez zmian czujniki się pojawiają od szczała , ale nie pokazują wartości. Sprawdzałem na kilku innych forach i instrukcja wygląda dokładnie tak jak pisałeś i wszystkim rusza od kopa tylko nie u mnie. 

-- załącznik nie jest dostępny --

Dałem sobie spokój z tym i udało mi się uruchomić tego oleda wysyłając dane bezpośrednio z Domoticza.

Bardzo dziękuje koledze za pomoc.  

 

Zgłoś
 

Zeby bezproblemowo wyswietlalo wartosci z jednego noda na drugim przez P2P to  Task ID musza byc na obydwu takie same. Krotko mowiac czujniki musza byc na tej samej pozycji Task

obraz
 
Dodane : 13/01/2023 6:08 pm
(@steel_rat)
Wpisów: 603
Ekspert
 

@Adam Dudek

Ja do wyświetlania używam OLED na ESPEasy czujniki mam na AFE. Dlatego też wartości wysyłam przez domoticz skrypem w LUA.

U mnie w jednej linii zawsze wyświetlam temperaturę z dworu, inne dane zmieniają się na dole.

 

Przykładowy skrypt dla jednego czujnika temperatury.

return 
{
    on = 
    { 
       	devices = {
			89,
		 },
		--timer = { 'every minute'},
		system = {
            'start',
        },
    },

   -- logging = { level = domoticz.LOG_DEBUG, marker = 'post data' },

    execute = function(dz, devices)

            local Temp1 = dz.devices(89)
            dz.openURL('http://10.0.0.68/control?cmd=TaskValueSet,2,1,"' .. tostring(Temp1.temperature) .. '"' )
            dz.openURL('http://10.0.0.68/control?cmd=TaskValueSet,2,2,"' .. tostring(Temp1.humidity) .. '"' )
            
   end
}

 W ESPEasy mam ustawione w Devices tak:

Devices

Definiuje sobie wyświetlacz oled oraz Generic - Dummy Device

Teraz tak do "Generic - Dummy Device" wysyłam dane z domoticza i dopiero potem oled się sam aktualizuje. Dzięki temu mogę też określić ilość miejsc po przecinku.

Task

W Urządzeniu oled w liniach mam coś takiego

Parter[TempParter#Temp]°C/[TempParter#Hum]%

Oled

 

 

 
Dodane : 15/01/2023 12:16 am
(@steel_rat)
Wpisów: 603
Ekspert
 

Jak kto by był zainteresowany to udało mi się użyć do wyświetlania temperatury i innych danych MQTT Import z ESPEasy. Pomijam w ten sposób całkowicie Domoticza. Chociaż przechwytuję komunikaty do niego.

 
Dodane : 17/01/2023 8:31 pm
pawell32
(@pawell32)
Wpisów: 1198
Guru
 

To pochwal się. 

 
Dodane : 17/01/2023 8:44 pm
(@steel_rat)
Wpisów: 603
Ekspert
 

Najważniejsze by to było najnowsze ESPEasy. Konfigurację przeprowadziłem dla ostatniej wersji z grudnia 2022r.

Jak ktoś nie ma to w zakładce Controllers dodajemy "Domoticz MQTT" i konfigurujemy go.

W zakład

ce "Devices" dodajemy "Generic - MQTT Import" i konfigurujemy go. Można np. tak jak poniżej.

MqttDomoticzImport
MqttDomoticzImport1

W "Generic - MQTT Import" ustawiamy pola:

Name - przez tą nazwę będziemy się odwoływać do zmiennych zawartych w MQTT Import.

"Parse JSON messages: Yes", "Generate events for accepted topics: Check","Deduplicate events:Check"

"MQTT Topic" w polu "Topic" podajemy "domoticz/in" i "idx" - to pole jest dla nas obowiązkowe.

W pozostałych wierszach wyodrębniamy zmienne, które potrzebujemy. można podać np. nvalue wtedy mamy zmienne z tego pola lub svalue wtedy z tego. Może się zdarzyć, że w svalue będzie więcej niż jedna wartość jak svalue=12,13,14 wtedy piszemy svalue;1 i mamy pierwszą wartość "12",  dla svalue;2 będzie druga wartość "13", itd.

Dodajemy też "Generic - Dummy Device" do których będziemy przesyłać dane z "Generic - MQTT Import" oraz potem będzie je odczytywał sterownik ekranu oled.

U mnie zostały te same czujniki co 2 posty wyżej. Każda wartość jest ustawiana poleceniem "TaskValueSet,x,y,<>"  ("TaskValueSet,2,1,<>")  gdzie polecenie "TaskValueSet" ustawia zmienną, "x" to numer urządzenia z pola tabeli "task", "y" to numer zmiennej.

Wszystko to odbywa się za pomocą "Rules".

Ja mam takie polecenia.

on MqttDomoticzImport#idx=89 do      
	TaskValueSet,2,1,[MqttDomoticzImport#value1]
	TaskValueSet,2,2,[MqttDomoticzImport#value2]
	TaskValueSet,2,3,[MqttDomoticzImport#value3]
endon
on MqttDomoticzImport#idx=111 do      
	TaskValueSet,3,1,[MqttDomoticzImport#value1]
	TaskValueSet,3,2,[MqttDomoticzImport#value2]
endon
on MqttDomoticzImport#idx=109 do      
	TaskValueSet,4,1,[MqttDomoticzImport#value1]
	TaskValueSet,4,2,[MqttDomoticzImport#value2]
endon
on MqttDomoticzImport#idx=91 do      
	TaskValueSet,6,1,[MqttDomoticzImport#value1]
endon
on MqttDomoticzImport#idx=93 do      
	TaskValueSet,6,2,[MqttDomoticzImport#value1]
endon
on MqttDomoticzImport#idx=92 do      
	TaskValueSet,7,1,[MqttDomoticzImport#value1]
endon
on MqttDomoticzImport#idx=94 do      
	TaskValueSet,7,2,[MqttDomoticzImport#value1]
endon
   

Ps. W międzyczasie dodałem do "TempDwor" jeszcze ciśnienie atmosferyczne dlatego mam trzy zmienne a nie dwie jak poprzednio.

 
   
 

 

 
Dodane : 17/01/2023 11:01 pm
kosiarz78 reacted
(@kosiarz78)
Wpisów: 10
Bywalec
 

Cześć, gdzie popełniam błąd?

chce wyświetlicz idx 31 z domoticz o nazwie Moc TTL na oled.(moc z SDM630 jako info o mocy  oddanej i pobranej wczasie rzeczywistym)

1.uruchomiłem mqtt na esp

bez nazwy 4

2.dodałem generic mqtt na esp

bez nazwy
bez nazwy 2

3.dodałem generic dummy na esp

dummy

 

4.dodałem rules dla jednego czujnika

bez nazwy 3

 efekt niestety mizerny- walczę już długo i widzię ze gdzieś bład popełniam ..

mam jakies dziwne dane na mqtt

taski2
logi2

Jak bede miał na Generic dummy to na oled chyba sobie poradzę ale do tego momentu potrzebuje wsparcia.

 

 
Dodane : 01/01/2024 4:29 pm
(@steel_rat)
Wpisów: 603
Ekspert
 

W 4 powinieneś mieć

on MqttDomoticzImport#idx=39 do      
	TaskValueSet,3,1,[MqttDomoticzImport#value1]
endon

 

brakuje "endon" u ciebie.

 
Dodane : 01/01/2024 10:31 pm
(@kosiarz78)
Wpisów: 10
Bywalec
 

Dodane przez: @steel_rat

W 4 powinieneś mieć

on MqttDomoticzImport#idx=39 do      
	TaskValueSet,3,1,[MqttDomoticzImport#value1]
endon

 

brakuje "endon" u ciebie.

mam ale niestety nie działa i tak pokazuje dziwne dane w samych mqtt. czujnik to jedna dana  moc ttl w watach (sdm 630) a tam w logach jak widac rożne dane niespójne z tym czujnikiem

 

 
Dodane : 03/01/2024 10:12 pm
(@steel_rat)
Wpisów: 603
Ekspert
 

Bo to niestety tak tu działa. W tabeli gdzie pokazuje dane z MQTTImport dane się będą zmieniać. W zależności od tego co nadaje temat "domoticz/in". Index będzie za każdym razem inny. Dopiero jak pokaże się IDX który potrzebujesz, tutaj to 39, to dopiero reguła ma go przenieś do DummyDevices.

PS:

W Tools->Advanced Settings  masz zaznaczone pola

Rules:  

Enable Rules Cache:

 
Dodane : 03/01/2024 10:28 pm
Udostępnij: