witajcie
zrobiłem wg opisu z:
oled działa wyświetla poprawnie z czujników które są podłączone bezpośrednio do tego urządzenia (inode) co wyświetlacz ale jest możliwość wyświetlania też z innych czujników które są podłączone w sieci lokalnej do innych urządzeń np (sonoff basic), opisany jest sposób skryptem lua poprzez tworzenie pliku i umieszcenie go w danym miejscu w malinie
moje pytanie czy można by zamiast tworzyć plik ze skryptem wpisać skrypt w domoticzu w zdarzeniach dodając skrypt lua?
Mozesz dodac kilka przykladowych skryptów abym na bazie tego utworzył swoje
Ten skrypt wyświetla stan przełacznika w domoticzu w tym wypadku kontaktron (drzwi otwarte zamknięte)
https://docs.google.com/document/d/1ejkHg5Y5zQ7A53sCkEQo3TwL-HXBKiKV4rXjYtZZCaw/edit?usp=sharing
Ten co 5 min zmienia wyświetlą aktualną wartość napięcia akumulatora
https://docs.google.com/document/d/1cNxgKmYTJ5RzkGOSMqU-Axu_-zguxDxX4zCxdc9Qtl8/edit?usp=sharing
ostatni wyświetla aktualną temperę z zaokrągleniem chyba do 0,1 albo 0,5 nie pamiętam
https://docs.google.com/document/d/1yUuJOIUxk5-1pMEfn1z-0egxtcH8WWisNS1pqYx_rHQ/edit?usp=sharing
Te skrypty to praktycznie to samo co na tym blogu co o nim pisałeś. Zmieniłem jedną komendę do wysyłania danych do wyświetlacza bo oryginalnie wszystko działało prawidłowo ale pojawiał się error w logu domoticza za każdym razem jak skrypt się wykonał
jeszcze zrzut ekranu z urządzeniami ze skryptów
niestety nie działa
opisze jak to ja usiłuje zrobić
dodaje Twój skrypt (ten a temperaturą) dodaje go w domoticz w konfiguracja-więcej opcji-zdarzenia dodaje skrypt lua i wklejam skrypt zmieniam ip na taki jaki ma urządzenie (NodeMcu V3) do którego jest podłączony wyświetlacz oled (SSD1306) zmieniam nazwę czujnika (z klatka na poddasze) który mam podłączony do innego urządzenia (sonoff basic z czujnikiem DS18B20)
co robię źle że nie działa
Nie wiem jak Ci pomóc. Zobacz czy możesz wysyłać dowolny tekst na ekran za pomocą tej komendy wklejonej w pasek adresu przeglądarki internetowej
http://10.20.30.40/control?cmd=oledcmd,1,1,Moj%20login:%20$LOGNAME
pierwsza 1 oznacza wiersz druga 1 oznacza kulone na wyświetlaczu
%20 to spacja na wyświetlaczu zobacz w logu domoticza jakie błędy skrypt zgłasza.
Nie jestem specem w tej dziedzinie. (tokarz)
niestety nie wyświetla
http://192.168.2.193/control?cmd=oledcmd,1,1,Moj%20login:%20$LOGNAME
zmieniłem tylko na IP które jest przypisane do urzadzenia do którego podłączony jest wyświetlacz
coś wyczytałem że jeśli w urządzeniu mam wgrane ESPeasy Mega to zamiast oledcmd wpisuje się oled
ale to zmieniłem i też nie wyswietla co oznacza login i logname na końcu tej komendy? może tam mam wpisać login i hasło do domoticz?
http://192.168.2.193/control?cmd=oledcmd,off
to wyłącza wyświetlacz ?
http://192.168.2.193/control?cmd=oledcmd,on
a to go włącza?
http://192.168.2.193/control?cmd=oled1,1,nasz_tekst
po kliknięciu w link o ile adres ip i konfiguracja wyświetlacza w easyesp jest poprawna powinien Ci sie wyświetlić napis "nasz_tekst". Wszystko zapisane po przecinku za ostatnią jedynką wyświetli się na wyświetlaczu. Jak chcesz spację to musisz wpisać %20 Ja mam wyświetlacz LCD2004 i zamiast oledcmd wpisuje lcdcmd ale w twoim wypadku powinno byc oled. Podłączyłem taki sam wyświetlacz co twój i komenda z nasz_tekst działa.
http://192.168.2.193/control?cmd=oledcmd,off
wyłączy wyświetlacz sprawdzone
tu masz zrzut ekranu z ustawieniem easyesp
https://photos.app.goo.gl/aTFwqbZgpmnm8KC9A
w easyesp kliknij w zakładkę tools następnie I2C Scan a tam poznasz adres wyświetlacza
no juz działa komenda
http://192.168.2.193/control?cmd=oledcmd,off
problemem było że ja wybierałem
Display - OLED SSD1306/SH1106 Framed |
a nie samo Display - OLED SSD1306
tylko że gdy wybiorę
Display - OLED SSD1306/SH1106 Framed |
to jest więcej opcji np ile linii na raz ma wyświetlać i jak szybko ma się przesuwać przy zmianie na kolejne linie
wiecie może jakich komend urzywać aby działały gdy mam wybrane
Display - OLED SSD1306/SH1106 Framed |
problem leżał w tym że wybierałem w oustawieniach espeasy mega Display - OLED SSD1306/SH1106 Framed
gdy wybrałem teraz Display - OLED SSD1306 działa wszystko ok poza tym że wyświetla dość małe literki i nie ma opcji aby np wyświetlało np tylko 2 linie na raz
zależy mi aby poznać komendy które działały by gdy wybiorę Display - OLED SSD1306/SH1106 Framed
Też z wielkością liter kombinowałem. W sieci są przykłady skryptów PHP które wyświetlają duże litery i przewijają tekst ale wtedy ekran musi być podłączony bezpośrednio do maliny. Kompletnie nie znam się na programowaniu więc temat odpuściłem. Kupiłem lcd2004. 4 linie po 20 znaków. Duże czytelne znaki. Na moje potrzeby sprawdza się o wiele lepiej.
Jeszcze jedna rzecz przychodzi mi do głowy. Poczytaj o tym https://www.letscontrolit.com/wiki/index.php/EasyGlobalSync
Przykładowo na jednym esp ekran na drugim czujniki. Przez opcje globalsync można tak skonfigurować esp z podłączonym ekranem że będzie widziało czujniki z drugiego esp jako podłączone u siebie. A tam wg instrukcji z wspomnianego forum wystarczy odpowiednio skonfigurować wyświetlacz. Z tego co pamiętam to w nawiasie kwadratowym nazwa czujnika a po #jaka wartość czy jakoś tak. Aby globalsync zadziałał soft na esp musi być tej samej wersji na obu esp
Bardzo dziękuję
ta ostatnia podpowiedz jest na wagę złota działa wszystko już idealnie
jeszcze raz dzięki
Tak dla potomnych. Jak ktoś bardzo chce sterować Wyświetlaczem w ESP easy mega - Display - OLED SSD1306/SH1106 Framed
To działająca komanda jest taka
http://<IP>/control?cmd=oledframedcmd,1 ," Teks do czujnika"
Najlepiej tekst mieć właśnie w cudzysłowie. Można też spacje zamienić na symbol %20, np w Domoticzu.