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 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.
- 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.
Cenne informacje i wskazówki
OdpowiedzUsuń