Pokazywanie postów oznaczonych etykietą ESPEasy. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą ESPEasy. Pokaż wszystkie posty

niedziela, 11 października 2020

Home Assistant i czujnik smogu SDS011 wraz z ESPEasy po MQTT

Dobry wieczór.

Mam ja sobie czujnik smogu SDS011. Kiedyś był Ci on połączony z Domoticz i świetnie sobie działał http://cezarowy.blogspot.com/2017/12/czujnk-smogu-sds011-wemos-przeacznik.html. Z chwilą przejścia na Home Assistant z czystego lenistwa (a może bardziej obawy) nie chciało mi się zmieniać konfiguracji z ESPEasy na Tasmota czy ESPHome. Jak jest, to niech działa. Ale miałem mały zgryz - nie wiedziałem jak wysłać dane do HA. W końcu jeden z kolegów na grupie FB podał przepis - MQTT! Gdzieś tam mi się w głowie kołatało, że próbowałem to zrobić w ten sposób, ale na czymś poległem. Dzięki niemu wiem już dokładnie na czym, co opiszę poniżej.

Nie przedłużając: głównym problemem u mnie była stara wersje ESPEasy - R147, jeszcze jakby 1.0. W niej po prostu nie była dostępna komunikacja przez MQTT. Niestety ESPEasy nie jest dla mnie dość jasne, Wiki nie jest aktualizowana na bieżąco, w sumie ich github jedynie odzwierciedla stan projektu: https://github.com/letscontrolit/ESPEasy/releases. Po pobraniu wersji 2.0 Mega (o wiele mówiącej nazwie ESP_Easy_mega_20200929_normal_alt_wifi_ESP8266_4M1M) i próbie zmiany wersji przez OTA (Over The Air) mój Wemos przestał się odzywać :D Ale pierwsze koty za płoty, podłączyłem konwerter UART (jak w cytowanym poście sprzed dwóch lat) i tym razem wszystko poszło bez problemu.


It's alive! Wszystkie ustawienia i kod zostały zachowane po przejściu na nową wersję.


Kilka ważnych ustawień - zakładka Config i Append Unit Number to hostname.



Na zakładce Controllers dodajemy nowy Protocol - Home Assistant (openHAB) MQTT, podajemy IP brokera, port oraz dane do logowania (podane w konfiguracji Waszego MQTT). Do tego zaznaczamy Enabled.


Na zakładce Devices przy naszym czujniki musimy zaznaczyć wysyłanie danych do drugiego Controller'a - jak widać powyżej - aktualnie na raz do Domoticz oraz Home Assistant.


Tu już dane z zakładki Info.


Co do konfiguracji powyższego, to sensors.yaml wygląda tak:
  - platform: mqtt
    name: "Czujnik smogu PM25"
    state_topic: "CzujnikSmogu_1/CzujnikSmogu/PM25"
    unit_of_measurement: "ug/m3"

  - platform: mqtt
    name: "Czujnik smogu PM10"
    state_topic: "CzujnikSmogu_1/CzujnikSmogu/PM10"
    unit_of_measurement: "ug/m3"

Zwróćcie uwagę na CzujnikSmogu_1 - to jest efekt zaznaczenia Append Unit Number to hostname.

W ui-lovelace.yaml:
          - type: glance
            no_card: true
            title: "Powietrze na zewnątrz"
            show_name: false
            entities:
              - sensor.czujnik_smogu_pm25
              - sensor.czujnik_smogu_pm10

Po pełen kod mojego Home Assistant zapraszam na stronę: https://github.com/CaesarPL/Home-Assistant-Cezar.

Tylko tle i aż tyle :D Powodzenia!

P.S. Tak mi właśnie wpadło do głowy, że trzeba to oprogramować tak, aby pokazywał kiedy normy są przekroczone. Ciekawy temat.

niedziela, 12 sierpnia 2018

Sonoff POW - zmieniamy oprogramowanie na alternatywne i przy okazji przekonujemy się, że warto być upartym...

Dzień dobry! 

Podoba mi się coraz bardziej 'zakulisowa' współpraca blogerów opracowujących te same tematy ;) 

Na stronie Raspberry Pi w praktyce kolega wspomniał o mnie, rozszerzając jedne z moich poprzednich postów - gniazdko S20 oraz Tasmota i MQTT, które to w sumie zacząłem pisać poniekąd pod jego wpływem, uważnie czytając jego bloga od momentu kiedy zaczął. Zmotywował mnie tym samym do wyciągnięcia Sonoff POW (ja mam wersję R1) z szafy i odrobienia pracy domowej :)

Ja akurat kupowałem Sonoff'a w Chinach, także czekała mnie zmiana oprogramowania, ponieważ standardowe nie współpracuje z Domoticz. Lutować nie umiem, to niestety fakt. Czasem proszę o przysługę kolegów, ale często udaje się zrobić to bez takiej potrzeby. Tak samo jak w przypadku gniazdka, tak i tutaj wystarczy trochę gimnastyki.


Po rozpakowaniu wystarczy odkręcić śrubkę, podważyć podstawę Sonoff POW i mamy do niego dostęp. W lewym górnym rogu mamy dostęp do naszych pinów. Patrząc w taki sposób z pierwszy z lewej to napięcie (VDD), prawy to uziemienie (GND). Pomiędzy nimi RX i TX, czyli Receive oraz Transmit - Odbierz, Wyślij.


BARDZO WAŻNA ZASADA! Zmiana oprogramowania (flashowanie) MUSI odbywać się przy WYŁĄCZONYM wysokim napięciu na Sonoff POW. Inaczej możemy (i zapewne tak będzie) w najlepszym przypadku spalić port USB w komputerze.


Konwerter podłączamy identycznie jak w przypadku Sonoff Basic i gniazdka S20.


I teraz, delikatnie dociskając kabelki, podłączamy programator do USB w komputerze, przytrzymując włączony przycisk w Sonoff POW, wprowadzamy go w stan programowania.

Korzystając z opisywanego już pliku flash.cmd, programujemy. Kilka sekund i gotowe.

Dla pewności, u mnie wygląda on tak:


Podstawiacie w nim swój port COM na właściwy.

Przynajmniej tak już jest, kiedy się wie jak to odpowiednio zrobić! Pięknie to wygląda, gdy się opisuje. Spędziłem kilka godzin w nocy poprzedzającej sukces, bez rezultatu. Szukałem na różnych forach dyskusyjnych co może być powodem (mam Sonoff POW V1, ale Revision 2) braku komunikacji. Za nic w świecie nie mogłem załadować Tasmota. Kombinowałem, knułem, nawet prosiłem o pomoc żonę (którą serdecznie pozdrawiam) - ja trzymałem kabelki, ona uruchamiała programowanie na komputerze. SonOTA (programowanie bez kabli Over The Air) nie znajdowało Access Point Sonoff. Nic! Poddałem się i poszedłem spać.

Kolejnego dnia przeszedł mi przez głowę niewybredny komentarz. 'A może, baranie' zamieniłeś miejscami RX i TX?'. To nie mogło być tak proste... Ale jednak było! Tym razem programowanie przeszło bez problemu już za pierwszym razem. No szkoda gadać. Ale nawiązuje to do tytułu wpisu ;)

Dalej już poszło gładko. Termite, podanie danych WiFi dla pewności i Voila!

Wybieramy Module type jako Sonoff Pow.


PONOWNIE OSTRZEŻENIE. Po podłączeniu Sonoff POW do napięcia pracujemy już na 230 Volt. Czyli żartów nie ma, nieodpowiednia ostrożność może się skończyć śmiercią.

I od razu na stronie głównej pokazuje się:


Konfiguracja parametrów Domoticz:

Zgodnie z:



I wyniki na zakładce Utility:


Oraz Switches:


Wspaniały, rewelacyjny, profesjonalnie osiągnięty efekt na zdjęciu poniżej :D



UWAGA! Z niewiadomych jak na razie przyczyn Domoticz pokazuje mi dane z 5-minutowym opóźnieniem. Kolega z zaprzyjaźnionego bloga zasugerował kalibrację (jak poniżej), ale niestety nie pomogło. Muszę sprawdzić konfigurację Mosquitto.


PowerSet 7 -  ja akurat podłączyłem żarówkę 7 Watt, kolega 60.
VoltageSet 240
CurrentSet 250

Pozdrawiam, powodzenia!

czwartek, 2 sierpnia 2018

Nowe gadżety do okiełznania ! Sonoff POW, Sonoff S26, OLED

Urlop chwilę trwał. A podczas niego poczta nie próżnowała! Możecie się wkrótce spodziewać opisów następujących urządzeń:

- czujniki odległości
- Geekcreit NodeMcu Lua ESP8266
- Geekcreit OLED 0.96 cala, rozdzielczość 128 x 64 pixele


- nowe gniazdka Sonoff  S26


- Sonoff POW V1


Czeka mnie lutowanie, flashowanie, wgrywanie, kasowanie, testowanie, sprawdzanie. Czyli to, co tygrysy lubią najbardziej :D

poniedziałek, 19 lutego 2018

Podłączamy Sonoff Basic. Do prądu i Domoticz!

Dawno, dawno temu kupiłem kilka przełączników Sonoff Basic. Jako że nie jestem najlepszy z lutowania, leżały sobie i czekały na lepsze czasy. I w końcu te czasy nadeszły! Kolega był na tyle uprzejmy, że przylutował mi piny do ich przeprogramowania.

Do tego okazało się, że kupiłem jakiś dziwny (no, przynajmniej dla mnie) konwerter USB-TTL, w którym nie byłem pewien gdzie jest 3.3V a gdzie 5V.

Nic to, w końcu się zabrałem zaryzykowałem, podłączyłem i okazało się, że wszystko zadziałało 'od strzału'. Miło, że niczego nie spaliłem...


Powyżej płytka wyjęta z Sonoff Basic, wyprowadzone piny i wpięte kable, przygotowany już do zmiany oprogramowania. Ja wgrywałem ESPEasy. Ludzie polecają również Tasmota, ale jako, że kilka urządzeń już na ESPEasy działa u mnie (termometr i czujnik wilgotności w garażu, czujnik smogu), wybrałem go ponownie.


Taki oto programator przyszło mi zastosować.

Podłączyłem go następująco (piny Sonoff liczę od czarnego przycisku):
RXI -> 3
TX0 -> 2
VCC -> 1
GND -> 4

Świetny opis znalazłem na stronie https://randomnerdtutorials.com/how-to-flash-a-custom-firmware-to-sonoff/


Podłączone, ruszamy z pracą! Co ważne, w momencie podania napięcia trzeba wcisnąć przycisk na dłużej (ten czarny, długi), aby wejść w tryb programowania.


Ze strony https://www.letscontrolit.com/wiki/index.php/ESPEasy pobieramy oprogramowanie (ja wybrałem wersję 147) po wypakowaniu do folderu i urchomieniu programu do flashowania wybrałem port COM (na którym zainstalował się konwerter USB), wielkość modułu (1024) i wersję softu (czyli 147).


Po chwili było po wszystkim.


I teraz mały problem. Znaczy - problem, nie problem. Sieć WiFi o nazwie ESP_0 nie pokazywała mi się przez dłuższą chwilę. Ja rozumiem startowanie, uruchomienie, itp., ale w pewnym momencie myślałem już, że coś się źle wgrało i miałem się zabierać znowu do wgrania ESPEasy. Jednak, finalnie - ruszyło.

Poniżej opis wszystkich formatek wraz z kodem w Rules.


Tutaj ważny jest w sumie WiFi status LED - jeżeli dioda jest dla Was ważna. Co ciekawe, wszystkie opisy sugerowały GPIO-14, u mnie zadziałał GPIO-13...


Tutaj definiujemy jak nasz Sonoff ma się kontaktować z Domoticz. Czyli, jak we wszystkich poprzednich przykładach - najpierw hardware (albo użyjcie któregoś, który macie), później na nim Dummy sensor i zapisujecie jego wartość IDX. Dzięki temu po włączeniu przyciskiem Sonoff, stan zaktualizuje się również w Domoticz.


Tutaj definiujemy na którym GPIO znajduje się połączenie przycisku (tego czarnego, długiego). No, w końcu ESP Easy nie wie do czego go wgraliśmy, musimy mu napisać.


W sieci (na przykład tutaj http://kostrzewinki.pl/sonoff-basic-systemie-domoticz/) można też znaleźć opis konfiguracji dodatkowych statusów ESP (na przykład moc sygnału WiFi), ale akurat mnie nie był potrzebny, dlatego z niego zrezygnowałem.

Teraz sekcja Rules. Dlaczego? Po zmianie na ESP Easy w standardowej konfiguracji nie można skorzystać z przycisku i jednocześnie sterować nim z Domoticz. Rules pozwala to zmienić.



on Przycisk1#Button=1 do
if [Przycisk#Relay]=1
gpio,12,0
else
gpio,12,1
endif
endon

on Przycisk#Realy do
if [Przycisk#Relay]=1
gpio,13,0
else
gpio,13,1
endif
endon

Teraz Domoticz. 


Najpierw sekcja Hardware i albo dodajemy nowy sprzęt, albo korzystamy z już istniejącego. Na nim Dummy sensor typu Switch.


Switch pojawi się na zakładce Switches. Masło maślane...

Teraz, po edycji przycisku, w On Action i Off Action wpisujemy komendy do włączenia i wyłączenia Sonoff. Jak widać - trzeba podać jego adres IP. Dobrze więc byłoby zadbać o to, aby jego adres w routerze nie zmieniał się, przypisać na stały adres w DHCP. 


http://192.168.1.110/control?cmd=GPIO,12,1

http://192.168.1.110/control?cmd=GPIO,12,0

Oł jes! Mamy Sonoff sterowany zarówno z poziomu Domoticz jak i przyciskiem! Świetna sprawa, ależ jesteśmy zdolni...


Jak widać - udało się nic nie spalić, bezpieczniki całe, Sonoff działa, żarówka świeci. Cel osiągnięty. Miał służyć do montażu w suficie podwieszanym i do sterowania oświetleniem, ale w międzyczasie znalazłem inne, dużo lepsze rozwiązanie. O tym już w kolejnym wpisie. Nadmieniam, że bardzo mnie ucieszyło to, co udało mi się znaleźć!

poniedziałek, 18 grudnia 2017

Czujnik smogu SDS011, Wemos, przełącznik - wszystko w działaniu

Dobry wieczór!

Aktualizacja! Zapraszam do lektury świetnego wpisu o udostępnianiu danych z czujnika na blogu https://raspberrywpraktyce.wordpress.com/2018/03/14/czujnik-sds011-i-wizualizacja-danych-na-opensensemap/

Rozszerzając opis podłączenia czujnika SDS011 - tym razem dodałem element, który opisywał Łukasz Jokiel na swoim blogu - przełącznik, który włącza SDS011 co pewien określony czas.

Nie opisywałbym tego oczywiście mając tą samą konfigurację, ale akurat nie dość, że miałem LoLin (jakaś tam iteracja Wemos z Chin) a nie Wemos Mini, to jeszcze kupiłem inny przełącznik.

No i zaczęło się - musiałem się trochę nauczyć. Same plusy :) Bardzo pomocna była strona: https://blog.siliconstraits.vn/relay-what-is-it-and-how-to-use-it/, gdzie autor świetnie opisał wszelkie możliwe informacje.


Podłączenie wtyczek dostarczonych wraz z SDS011 do samego czujnika było proste. 


Później do samego Wemos


Poniżej już całość, czyli:

1. Wemos (czy LoLin jak kto woli) (kilka PLN z Chin)
2. Przełącznik Songle SRD-05VDC-SL-C (10 PLN w Polsce)
3. Czujnik SDS011 (63 PLN z Chin)



Połączenia:
Z Wemos 5V -> do przełącznika DC+
Z Wemos GND -> do przełącznika DC-
Z Wemos GPIO 5 (D1) Output Low -> do przełącznika IN

Z Wemos 5V -> do przełącznika NO

Z przełącznika COM -> SDS 5V

W SDS:
GPIO 12 (D6) -> TX
GND -> GND
5V -> COM

I po kolei każda zakładka w Wemos i ESPEasy.


Main to tylko info


Na zakładce Config jest SSID sieci WiFi i hasło. Ale to już skonfigurowane zostało wcześniej. Tutaj z tą różnicą, że wgrywamy wersję developerską beta (na moment pisania 147 RC8).





Zwróćcie uwagę na Pin Mode 5 (D1) - Output Low - tym pinem będziemy sterować przełącznikiem


Na Devices dodajemy czujnik smogu - tak jak opisane na blogu Łukasza, ale tutaj akurat nie ma wielkiej filozofii... 


Ta zakładka pojawi się, gdy włączymy Rules w Advanced configuration na następnej ;) Tutaj esencja - dwa liczniki, które odliczają czas i w odpowiednim czasie włączają/wyłączają SDS. Łukasz dokładnie to opisał, ale:
1. Włączamy SDS na 120 sekund, aby się rozpędził, pobrał dane, wysłał do Domoticz, po tym wyłączył. Hint: w nawiasach kwadratowych składnia: [NazwaSDS#NazwaZmiennej].
2. Ja czekam 30 minut aby ponownie go włączyć

Wszystko po to, aby oszczędzić czujnik oraz laser, ma skończoną żywotność. 

Kod:
On System#Boot do
timerSet,1,30
endon

On Rules#Timer=1 do
GPIO,5,1
timerSet,2,120
endon

On Rules#Timer=2 do
SendToHTTP 192.168.1.200,80,/json.htm?type=command&param=udevice&idx=243&nvalue=0&svalue=[CzujnikSmogu#PM25]
SendToHTTP 192.168.1.200,80,/json.htm?type=command&param=udevice&idx=242&nvalue=0&svalue=[CzujnikSmogu#PM10]
GPIO,5,0
timerSet,1,1800
endon


W Domoticz dodajemy dummy Hardware i do niego dwa Custom sensors, których IDX wpisujemy w skrypcie w Rules.



Tadam! Odczyty mam chyba trochę zawyżone przez to, że aktualnie zapakowałem czujnik w pudło, gdzie brak wentylacji. Albo faktycznie jest tak źle...


Commodore Plus/4 - ciekawy pomysł, ciekawy komputer

Dzień dobry! Jakiś czas temu trafił do mnie kolejny komputer ze ‘stajni’ Commodore - Plus/4. Miałem ochotę go mieć w kolekcji już od dawna, ...