Masz czujniki na bluetooth od Xiaomi i chcesz je podłączysz do Home Assistant? Wykorzystamy ESP32 z wbudowanym Bluetooth i WiFi. To rozwiązanie się nie zawiesza i pozwala nam wystawić "bramkę BLE" dokładnie tam gdzie jej potrzebujemy!
ESP32-WROOM-30PIN + obudowa - kupisz tutaj za 40zł
A kosztuje mniej niż dobrej jakości moduł bluetooth - do tego nic nie trzeba lutować. A dodatkowo możemy zaopatrzyć się w ładną obudowę, która niedługo będzie dostępna w naszym sklepiku ;) Gdyby to Wam nie wystarczyło aktualizacja odbywa się OTA - czyli gdy raz skonfigurujemy płytkę na naszym Home Assistant, to zmieniając coś w jej ustawieniach, klikamy upload i przez WiFi ładowane to jest na ESP!
Na wstępie muszę zaznaczyć, że czujniki na bluetooth nie są przywiązane do jednej bramki jak mają Zigbee. Każdy może odczytać z nich dane, wystarczy włączyć wyszukiwanie takich urządzeń w okolicy. Plusem jest to, że taki czujnik kwiatków możemy używać w aplikacji Mi Home i jednocześnie z Home Assistant przez zaprogramowane tutaj ESP32.
Muszę też jasno napisać, że wcześniej nie byłem przekonany do ESPHome, mam na kilku urządzeniach Tasmotę i działa to bardzo dobrze ale po tym co zobaczyłem dziś pisząc ten artykuł... Chapeau bas Twórcy ESPHOME!
Potrzebujemy
- Płytkę ESP32 z bluetooth np. taką ESP32-WROOM-30PIN
- Kabelek mirco USB
- W zależności gdzie damy powyższą płytkę ładowarkę lub jak wgłębimy się w ESPHome to nawet możemy to zrobić na bateriach!
- Czujnik który chcemy dodać np. Xiaomi Mijia Bluetooth Termometr Higrometr, Mi Flora czy inne obsługiwane urządzenie, które możecie znaleźć tutaj esp32_ble_tracker
- Ja dla szybkiej instalacji użyłem esphome-flasher
Instalacja
Jest to normalny addon, więc wchodzimy w Supervisor
-> add-on store
i szukamy ESPHome
Instalujemy i włączamy na zakładkach po lewej.
Tworzenie nowego ESP
Tworzymy nowy klikając na ogromny plus w czerwonym kółku po prawej i prowadzamy po kolei.
Nazwa, Typ
Tutaj bardzo ważne, musimy wybrać ESP32 Generetic albo Development Board (może to się nazywać tak lub tak)
Ustawienia WiFi i OTA
Wprowadzamy hasło naszego WiFi oraz hasło aktualizacji OTA. Powyższe ustawienia są najważniejsze, resztę możemy zaktualizować przez WiFi, więc się tym teraz nie przejmujmy.
Compile
Następnie musimy kliknąć na 3 kropki [...]
-> Compile
, gdy będzie to gotowe pobierz plik bin.
Oczywiście, za pierwszym razem będzie to trwało znacznie dłużej - trzeba uzbroić się w cierpliwość.
Uwaga: mnie za pierwszy razem nie chciało pobrać, dopiero jak odłączyłem płytkę z Conbee2, plik miał w końcu zawartość.
Programowanie płytki
Teraz tylko podłączamy płytkę. Mała dygresja: teoretycznie płytka powinna być rozpoznana w narzędziu na Home Assistant (po podłączeniu do komputera gdzie mamy HA w górnym rogu powinna być widoczna w liście rozwijanej). Jednak nie zawsze to działa i trzeba restartować kontener. Pobierając ją na dysk jesteśmy w stanie zrobić to zdecydowanie szybciej.
Odpalamy na komputerze program esphome-flasher, wybieramy port oraz plik flashujemy.
Przez cały czas widoczna jest Console, więc widzimy czy się udało, nie odłączaj jej na razie, nie ma takiej potrzeby. Potem podłączysz tam gdzie ma być.
MAC adres czujników
Trzeba jakieś hcli i inne ale znalazłem zmodowaną aplikację, którą trzeba użyć Xiaomi o co chodzi z tymi regionami Europa / Chiny i dlaczego to jest tak ważne? opis oraz link do pobrania zamieszcza w sekcji: Zmodowana aplikacja Mi Home.
Następnie tworzymy folder na naszym telefonie (nie na karcie): /vevs/logs
i czekamy kilkanaście minut aż pojawi się tam plik devices.txt
w którym będą nazwy, mac
, ip
oraz token
. Natomiast bindkey
znajdziesz w pliku parings.txt
Konfiguracja ESP
Wracamy do Home Assistant add-on ESPHome i klikamy edit na naszym projekcie ESP.
Musisz tak naprawdę ustawić ssid
, password
oraz api password
i ota password
oraz oczywiście dodać czujniki, w moim wypadku wygląda to tak.
esphome:
name: bt_mi
platform: ESP32
board: esp-wrover-kit
wifi:
ssid: "ssid"
password: "hasło"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "awaryjny_ssid"
password: "awaryjne_haslo"
web_server:
port: 80
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
password: "hasło"
ota:
password: "hasło"
# Enable Bluetooth scanning for this ESP32
esp32_ble_tracker:
sensor:
- platform: xiaomi_hhccjcy01
mac_address: 81:EA:CA:45:59:02
temperature:
name: "Palma Temperature"
moisture:
name: "Palma Moisture"
illuminance:
name: "Palma Illuminance"
conductivity:
name: "Palma Soil Conductivity"
battery_level:
name: "Palma Battery Level"
- platform: xiaomi_hhccjcy01
mac_address: 81:EA:CA:45:52:A0
temperature:
name: "Stokrotka Temperature"
moisture:
name: "Stokrotka Moisture"
illuminance:
name: "Stokrotka Illuminance"
conductivity:
name: "Stokrotka Soil Conductivity"
battery_level:
name: "Stokrotka Battery Level"
I teraz najlepsze robisz save (jeżeli są jakieś błędy to od razu będzie to widoczne) a następnie klikasz Upload
i... robi się to OTA po WiFi!
A więc jak będziesz mieć dowolnie nowy czujnik, to wystarczy go tutaj dodać a następnie kliknąć Upload
- działa to genialnie!
Integracje
U mnie musiałem wejść jeszcze w Konfiguracja->Integracje i dodać ESP. Odczytałem to w logach ESPHome, na sam koniec
Skoro port był podany, to wpisałem tylko esp2.local
A następnie o password, które podaliśmy wyżej w sekcji esp czyli:
# Enable Home Assistant API
api:
password: "xxxx"
Gotowe
Po chwili zaczną nam spływać dane z czujników - u mnie z jakiegoś powodu nie wczytuje stanu baterii na MiFlora :(
Obudowa
A jeżeli nie chcesz kupować płytki na Aliexpress i nie masz drukarki to sprawdź nasz sklepik: ESP32-WROOM-30PIN + obudowa
Podsumowanie
Na początku nie rozumiałem w ogóle po co dodawać add-on ESPHome do Home Assistant, po co ta cała zakładka, kompilacje itp. Ale gdy już do tego usiądziesz i zaczniesz z tym działać to okazuje się, że działa to naprawdę bardzo fajnie! Jestem mega pozytywnie zaskoczony możliwościami tego oprogramowania w takiej formie a przecież to dopiero początek zabawy!
Chcesz wiedzieć więcej? Dołącz do grupy na FB. Będzie nam też miło jak polubisz Fanpage!

Oczyszczacz Xiaomi Smartmi TVOC
Od: 449 zł 799 zł | Powiadom gdy cena spadnie
Świetna konkurencja dla Xiaomi 3H z dodatkowym czujnikiem TVOC, działa z aplikacją Xiaomi Home! Jednak najważniejsze, że pasują standardowe filtry z oczyszczaczy 3H/3C i podobnych. W zestawie filtr czarny, czyli HEPA13 - do tego europejskie normy powietrza i automatyzacji.
Dziwi brak reklam? Przeczytaj dlaczego i wesprzyj bloga na lub