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://blog.asobczak.pl/2017/12/18/czujnk-smogu-sds011-wemos-przelacznik-wszystko-w-dzialaniu/. 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ć 😀 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 😀 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.

Dodaj komentarz