Bluetooth w HA, dongle BT, obsługa BLE, bramka ESP32

Ok działa, dzięki. Był chyba jakiś problem z mqtt. Bramka daje radę ogarnąć trzy piętra,jest na najwyższym.Macie jakieś fajne obudowy do takiej płytki?

1 polubienie

Nie mówię żebyś to kupował na AMZ, ale takie akurat idealnie mieszczą małe moduły ESP - sprawdź rozmiary, bo moduły są różne (no i kupisz w ChRL znacznie taniej, bo to chiński wypust)

Oprócz tego jeśli masz możliwość druku 3D

Witajcie,
Podepnę się do tematu bramki ble. Posiadam glowice eq3 bt. Do tej pory miałem rpi i były spięte bezpośrednio. W tej chwili przesiadlem się na dell wyse i potrzebuje rozwiązania na podpięcie ich do HA. Pomyślałem o esp32, który robiłby za bramkę a jednocześnie obsługiwał kilka czujników temperatury oraz jedna PIR. W tej chwili czujniki i pir mam oparte na espeasy. Chętnie bym to podmienił na rozwiązanie z bramką ble aby móc obsłużyć też głowice (zwlaszcza że lokalizacja modułu idealnie odpowiada w odniesieniu do wszystkich grzejników). Czy da się to jakoś ogarnąć na esphome? Przeglądałem listę na stronie esphome ale nie znalazłem eq3 ;(

Mój HA obsługuje dwa domy obok siebie (jedna sieć). O ile tam gdzie stoi maszyna BT działa w oparciu chyba o jakiegoś dongla w NUC-u o tyle zastanawiam się jakby można było ogarnąć BT w drugim domu szczególnie chodzi mi o czujniki tmp. Fajna byłaby jakaś bramka BLE z którą można by się połączyć przez WIFI ale większość, które oglądałem to dedykowane dokładnie dla konkretnych urządzeń. Może ktoś borykał się już z czymś podobnym? Zależy mi na stabilności więc preferowałbym rozwiązania na dłuższy okres a nie do najbliższej aktualizacji :slight_smile:

Owszem odnośnie bramki istnieje rozwiązanie DIY na bazie modułu ESP32 i ESPHome

a to wszystko w powiązaniu z integracją niestandardową Passive BLE Monitor (PBM)

Niestety w związku z tym, że zaczęto wprowadzać nową obsługę BLE w samym HA nie jestem w stanie przewidzieć przyszłych losów PBM (grupa developerów jest ta sama co nowej integracji BT w HA), ale wszystko wskazuje na to, że projekt za jakiś czas zostanie zamknięty.
Taki mały edit: oczywiście ostatecznym planem tej grupy programistów jest wprowadzenia pełnej funkcjonalności PBM w oficjalnej integracji Bluetooth, natomiast trafiłem na pewne problemy (w tym opisane wyżej) i do eksperymentalnej instalacji HA dorzuciłem drugiego dongla BT, by móc testować nową integrację Bluetooth równolegle do działania PBM, niestety oba dongle są dość kiepskiej jakości… Natomiast instalacje produkcyjne czekają (z ignorowaną nową integracją Bluetooth, by na razie nie wywoływała konfliktów w PBM) - może pojawi się jakaś bardziej dopracowana droga migracji niż usunięcie starych encji i utworzenie nowych (grzebiąc odpowiednio głęboko, pewnie jest możliwe zachowanie historii, ale liczę na łatwiejsze rozwiązanie).

Na obecnym etapie niestety nie ma możliwości migracji z PBM do wbudowanej (od 2022.8.0) integracji Bluetooth, a ich równoczesna praca z użyciem jednego dongla BT nie jest możliwa (więc póki co nie korzystam z nowej integracji oficjalnej, choć spodziewam się problemów w przyszłych wersjach PBM, szczególnie, że mam zgromadzony rok historii wybranych interesujących mnie czujników BLE… więc bez możliwości sensownej migracji nie zamierzam rezygnować z PBM póki nie jest to koniecznością).

Chyba przesadzasz, bo nie zakładam, że będziesz chciał używał czujników temperatury od różnych producentów, tylko po co? Rozwiązania należy upraszczać - wybierasz jeden “dobry” model czujnika BLE (np. LYWSD03MMC) obsługiwany np. przez ESPHome i stosujesz go wszędzie. Poczytaj także o OpenMQTTGateway.

Szopen - podziekowal

Edit:

@macek - akurat dokladnie chodzi mi o te czujniki tmp. Ale nie wiem czy doczytales, że ma to byc w obrebie jednej sieci wifi ale w drugim domu - byc moze ja czegos nie rozumiem. Generalnie mam gatewaya v3 od xiaomi. Zainstalowalem integracje dla tego huba wszystko ladnie widac nawet te termometry ale w urzadzeniach ich stan jest niedostepny. I tak sie zastanawiam dlaczego byc moze zle otworzylem telnet ale wszystko poszlo gladko wiec nie wiem. Generalnie jednak wolalbym cos prostego a pewnego bo taka integracja teraz jest za chwile nie będzie wspierana.

Czytałem, ze zrozumieniem :grin:. Mam dwa budunki w obrębie jednej sieci Wi-Fi, w drugim budynku, na granicy sieci Wi-Fi ale cały czas na stabilnym poziomie -77 dBm, jest ESP32 z ESPHome, do którego po BLE podłączony jest czujnik LYWSD03MMC znajdujący się na poddaszu nieużytkowym, wyniki poniżej:

image

Dodatkowo do tego samego ESP32 podłączony jest także przewodowy czujnik temperatury Dallas DS18B20 (zamknięty w szczelnej i wodoodpornej obudowie wykonanej ze stali nierdzewnej), wynik poniżej:

image

Jak widać możliwości jest dużo.

Wychodzi, że błednie rozumialem esp32. Z tego co piszesz to moge sie z tym polaczyc po wifi natomiast sam ten uklad ma odczyt bt. W sumie o takie cos mi chodzilo ale przekonany bylem ze to musi byc podlaczone pod usb ha. W takim razie musze poszukac wiecej o tym bo rozumiem, ze trzeba to programowac samemu uhmm

Mój błąd, skrót myślowy, może za bardzo, rozwinę to trochę późnej …, to coś takiego Moduły WiFi i BT - ESP32 Sklep Botland.

Tak, ale nie jest to trudne, da się ogarnąć, zacząłem od Getting Started with ESPHome and Home Assistant — ESPHome.

Edit:
Widzę, że @szopen rozwinął już temat i to bardzo szczegółowo :slight_smile:.

UWAGA opisane tu rozwiązania są mało aktualne - istnieją nowsze ich wersje , łatwiejsze i bardziej dopasowane do ha pod koniec 2022 roku!

Chyba tak - to nie jest gotowe urządzenie, tylko produkt DIY, w najprostszym przypadku to dość dowolna płytka prototypowa ESP32 z odpowiednim oprogramowaniem i podpięta do zasilania (tyle wystarcza jako “plan minimum”).
Jak zawsze nie chcę wskazywać na zasadzie kup ten model, ale taki sprzęt można kupić wszędzie (linki przykładowe)
https://botland.com.pl/szukaj?s=esp32
https://kamami.pl/15383-esp32
https://www.amazon.pl/s?k=esp32
Jakkolwiek moim zdaniem ze względu na rozmiary świetne do budowy (nie tylko, ale przede wszystkim) bramki są “klony D1 mini ESP32” (trochę dziwne słowo - “klony”, bo WeMos nigdy nie wypuścił takiej płytki zgodnej pinami z pierwotnym ich projektem, czyli płytkami D1 mini/mini lite, tam w zamian za mały rozmiar jest bardzo ograniczona liczba dostępnych GPIO, a w tym “klonie” dzięki 2 liniom wyprowadzeń po każdej stronie dostępne jest ich naprawdę sporo)
https://nettigo.pl/products/modul-wifi-bluetooth-esp32-d1-mini
https://nettigo.pl/products/category/62
Sam używam (właśnie w tym celu) podobnego chińskiego klona TTGO mini T7


Jest jeszcze jeden sposób integracji BT w ESPHome - stara metoda dotycząca tylko czujników Xiaomi (to rozwiązanie używam u siebie od mniej więcej 2019 roku i stale odkładam migrację na nowsze rozwiązanie, które linkowałem w poprzednim poście)

bramka zbudowana w taki sposób sama przetwarza dane z czujników i je przesyła “na gotowo”.

Oba te sposoby odbierają lokalne sygnały z czujników po BT, a odsyłają je po sieci Ethernet (w przypadku tanich modułów po WiFi, ale istnieją też moduły ESP32 z przewodowym Ethernetem).

Różnica w tych 2 integracjach w ESPHome polega na tym, że integracja (w ESPHome) Xiaomi BLE zajmuje się obróbką danych wewnątrz ESP, natomiast bramka na bazie integracji (w ESPHome) BLE Gateway po prostu przechwytuje pakiety danych i odsyła je do obróbki przez HA (a konkretniej przez PBM, ale docelowo to rozwiązanie powinno zostać zmigrowane do postaci “podintegracji” w systemowej integracji Bluetooth).

Oprócz tego istnieją inne projekty wykorzystujące ESP32, które mają obsługę Bluetooth (i co ważniejsze BLE), więc na ich bazie też można zbudować bramkę samoróbkę, ale projekt ESPHome został wciągnięty w ramy Home Assistanta (jako, że był od początku ukierunkowany głównie na współpracę z HA, choć możliwe jest też jego wykorzystanie z innymi systemami automatyki domowej).

1 polubienie

Kupiłem płytke ESP32-WROOM-30PIN troche przez przypadek i spróbowałem na niej postawić bramkę BLE. Sflahowałem to zgodnie z tym co mi krok po kroku pokazywał konfigurator softem NodeMCU.
Niby wszystko działa znaczy działa bo działa. Jeszcze tego nie kumam, ale żadnych urządzeń nowych HA nie pokazuje. Kiedy uruchomie z poziomu esphome to w logach widać urządzenia, które znalazł. Po dopisaniu ich do yamla i instalacji tworzy encje i oczytuje dane. Ktoś tu wyżej pisał, że taka płytka wyszukuje urządzenia nawet z 3 poziomów ale ta moja to raczej średnio za ścianą RSSI=-92 wyszukuje zdecydowanie za mało urządzeń w domu w szczególności termometrów xiaomi. Tutaj moje pytanie czy te płytki tak mają czy coś delikatnie mówiąc zdupczyłem - uhmm może nie to oprogramowanie wgrałem??

Chętnie przeczytam komu działa przez 3 stropy (chyba “papierowe”, bo tak duży zasięg jest mało prawdopodobny, może ktoś gdzieś pisał o tym, że ma kilka takich “bramek” na różnych piętrach?).

Ściana ścianie nie równa, u mnie w budownictwie z lat 90’ podobny moduł (TTGO z wbudowaną anteną PCB) sięga maksymalnie przez 3 ściany, ale wykorzystuję go jako pośrednik dla urządzeń tylko z tego pomieszczenia gdzie jest zainstalowany.

Właściwie to nie wiem co wgrałeś w moduł, bo z Twojego opisu nie za wiele wynika (a właściwie nic, bo powyżej były wspomniane przynajmniej ze 3 różne sposoby wykorzystania w różnych projektach i żaden nie kojarzy mi się z jakimś konfiguratorem).

Obecnie jest znacznie młodszy projekt ESPHome Bluetooth Proxies, wspomniany tam

Swoją drogą w tamtym wątku @angler podał linka do oferty na Allegro, gdzie jest dostępna bramka DIY oparta właśnie na ESPHome Bluetooth Proxies i konstrukcji GL iNet GL-S10-PoE, która teoretycznie powinna mieć zasięgowo znacznie lepsze parametry od gołej płytki prototypowej bez zewnętrznej anteny (a już szczególnie, że posiada moduł kablowego Ethernetu, który umożliwia wyłącznie wbudowanego WiFi, a jak wiadomo od dawna współdzielenie anteny WiFi z BT przekłada się na gorszą wydajność tego ostatniego - interferencje między nimi są nie do uniknięcia).

UWAGA GL-S10-PoE występuje w różnych odmianach w handlu i jak to bywa z chińszczyzną oczywiście ukrywają się pod tym samym modelem, więc można trafić na wykonanie w wersji nie w pełni kompatybilnej z ESPHome (z innym modułem Ethernet i wtedy nici z tego rozwiązania z PoE).

PS Akurat tak się składa, że zamówiłem go wczoraj, więc liczę na dostawę w tym tygodniu, ale nie wiem czy będę miał czas na jakieś testy.

Zobacz post nr 20 z tego wątku :slight_smile: Może jest tak jak piszesz, ale udało mi się uruchomić w drugim domu bramkę ble na gateway-u xiaomi bezośrednio po wifi pod HA i ona faktycznie ma zasięg po byku - mój dom stoi 20 metrów od tego drugiego do tego 2 ściany i łączy się z termometrem :slight_smile: co prawda z jednym obok jest drugi i już go nie widzi ale odległość i ściany - aż się zastanawiam czy ona nie emituje jakiegoś pola magnetycznego jak w czarnobylu :slight_smile:

Co do tego co wgrałem to niestety na tą chwilę moja wiedza jest delikatnie mówiąc za mała ale zakładam, że obecne ESPhome przygotowane jest do takich laików jak ja - może to akurat źle. ESPhome prowadzi za rączkę i tak też uczyniłem - rodzaj projektu/softu wybrałem zgodnie z nazwą płytki ale powoli zaczynam rozumieć, że to niekoniecznie tak. Czy można tą płytkę sflashować tak bez bólu czy trzeba najpierw ją jakoś wyczyścić?

Ja mam taką bramkę 1 sztukę na esp32 jest na piętrze i zaczytuje mi termometry które mam na parterze i w piwnicy więc ogarnia trzy poziomy.Choc już w piwnicy musi być naprawdę kiepski sygnał bo nawet jeśli przestawię czujki o 0,5m już ich nie widzi.Stropy betonowe :smiley:

1 polubienie

a na przyszłość mógłbyś go po prostu podlinkować lub zacytować?
hmm post /20 to mój własny chodziło o

Nie wiem jaką konstrukcję wewnętrzną ma Xiaomi, ale na 100% jest ona ograniczona TYLKO do ich wypustów.

OK już wiem o jaki wizard chodzi (nie korzystam z niego, bo utrudnia życie :stuck_out_tongue: ), ale to jest tylko wstępny konfigurator, resztę i tak trzeba oblecieć własnym YAMLem.

Niekoniecznie, ale właściwie zależy co chcesz uzyskać - na bazie ESPHome można zbudować własne całkiem rozbudowane urządzenia. Jakkolwiek projekt ESPHome doszedł już do fazy, w której można pobierać gotowe działające konstrukcje (takie jak ESPHome Bluetooth Proxies) nawet bez kompilowania firmware (a rozwiązanie jest na tyle sprytne, że źródłowy YAML jest ładowany do dashboardu IDE ESPHome, więc można go zmodyfikować na własne potrzeby)…

A jak wygląda niezawodność komunikacji? (wykresy czujników są ciągle czy schodkowe w granicach doby? teraz gdy wprowadzono history stats do podglądu encji są one wygładzane programowo… ale i tak widać problemy z komunikacją).
Tu przykład czujnika, który traci połączenie (tu akurat z powodu końcówki baterii, ale problemy z zasięgiem manifestują się podobnie)

Takie moje spostrzeżenia. Na tej zwykłej płytce

wgrałem zwykły standardowy soft z bezposrednio z ESP w HA. Tak jak pisałem niby działa. Zasięg jednak mocno średni zwłaszcza jeżeli jest ściana.
Zakupiłem jeszcze jedną płytkę

i na niej wgrałem ESPHome Bluetooth Proxies. Dodatkowo dla termometrów xiaomi wgrałem alternatywny soft i ustawiłem na rozgłaszanie BT home. Zasięg raczej podobny czyli jednego większego poziomu nie ogarnie ale działa fajnie. W HA nowe urządzenia pokazują się błyskawicznie. Wydaje mi się, że o tym czytałem i za chiny nie mogłem tego odnaleźć czy można wyłączyć diodę stanu i jaką komendą bo zdaje mi się, że widziałem filmik, iż komendą swich, a czytałem chyba na stronie ESPHome, że do stanu jest specjalna komenda ale oczywiście mogłem coś pokręcić.

Te dwie zakupione płytki są oparte na tym samym ESP32 więc różnic w działaniu nie można się spodziewać :slight_smile:.

@macek
Dokładnie tak jest, bo ESP Bluetooth Proxies działa tylko na standardowych ESP32 (przynajmniej póki co), obie są konkretnie na ESP-WROOM-32 więc istotnych różnic w zasięgu być nie powinno (pomijając oczywiście naprawdę delikatny rozrzut parametrów spotykany w każdej masowo wytwarzanej taniej elektronice oraz być może wpływ konstrukcji samej płytki prototypowej na której zamontowano te moduły).
Jakkolwiek trochę spłyciłeś, bo zasięgi zależą w takich warunkach od użytych anten (mając pod spodem taką samą elektronikę), ale skoro obie mają antenę PCB i to taką samą, to zasięgi muszą być zbliżone.
Natomiast potencjalnego zwiększenia zasięgu można się spodziewać tylko dla modułów wyposażonych w antenę zewnętrzną, pamiętając oczywiście, że zysk anteny bierze się tylko z jednego faktu - jej kierunkowości - fizyki nie da się oszukać…

To musisz jeszcze poczytać.

Jeśli wgrałeś standardowe ESPHome Bluetooth Proxies na platformę generic-ESP32, to źródłowy YAML wygląda dokładnie tak:

jak masz kod zaimportowany do dashboardu (IDE) ESPHome, to możesz go dowolnie zmieniać (dokładając do niego co tylko chcesz, pod warunkiem, że będzie to zgodne z konstrukcją sprzętu).


Teraz kwestia tych kontrolek, metody są przynajmniej 3

  • można zasłonić mechanicznie np. zaklejając czarną taśmą albo użyć czarnego markera permanentnego lub jakiejś nieprzezroczystej farby/lakieru i je zamalować, czy po prostu włożyć moduł do nieprzezroczystej obudowy (byle nie metalowej)
  • można je wylutować
  • jedna z 2 LED jest sterowana programowo i zwykle jest podpięta pod GPIO2, ale… wydaje mi się, że raczej powinna być defaultowo zgaszona
    (mam na myśli takie typowe uniwersalne konstrukcje jak ESP32 devkitC poniżej schemat v1, w handlu są zwykle v3 lub v4, ale stawiam na to, że kontrolki są opięte identycznie), więc by zgasła wystarczy wystawić na GPIO2 stan wysoki, druga jest zasilana bezpośrednio z wejścia 5V, więc by ją zgasić trzeba zasilić płytkę z zewnętrznego zasilacza 3,3V (a nie z micro-USB ani pinu 5V)

To o czym wspomniałeś to chyba to:

możesz dorzucić do YAMLa i skompilować, a przy okazji będzie sygnalizować stany awaryjne, ewentualnie możesz odwrócić stan (jeśli pali się ciągłym światłem - to ją zgasi, i odwrotnie - jeśli się świeciła zapali).

PS Kupiłem w Ai-Speaker (na Allegro) "bramkę " GL.iNet GL-S10, ale nie mam czasu na testy :smiley: - eksperymentalnie ją uwaliłem na wstępie będąc ciekawym czy projekt ESPHome Bluetooth Proxies jest głupoto-odporny i… nie jest.
Bramkę uwala zwykły Update w ESPHome, bo nie przewidziano możliwości wyboru wersji sprzętu, a obecnie publikowana wersja projektu jest dedykowana do nowszej wersji sprzętowej (z innym układem Ethernet).
Co ważniejsze wersja sprzętowa nie jest nigdzie realnie sprawdzana (nie wiem w sumie czy to możliwe).
Natomiast to co jest w źródłowym YAMLu (a wyświetlane jako wersja sprzętowa w HA) jest jakimś wpisem oderwanym od rzeczywistości - najwyraźniej twórcy softu z tego nie korzystają za bardzo

  project:
    name: esphome.bluetooth-proxy
    version: "1.0"

po zmianie w YAMLu można sobie wyświetlić cokolwiek (poprawiając konfigurację pod siebie dodałem przy okazji parę wodotrysków)
HA_GL.iNet GL-S10_2022-11-04_22-32
czy
HA_GL.iNet GL-S10_2022-11-04_22-39.

3 polubienia

czesc, nie chce zakladac nowego tematu, a case dotyczy BT Proxy i ESP32 (mam wersje z antena zewn i bez)
ESP WROOM 32E

ESP WROOM 32U
antena
image

mieszkanie 60m, RPi z HA jednym rogu mieszkania, do RPi na przedluzce wpiety BT USB Feasycom
integacja Passive BLE MOnitor - ok 30 urzadzen
cel - kilka czujnikow (Mi Flora , QInqping CGG1) gubilo czesto zasieg (drugi koniec mieszkania), chcialem wiec postawic BT Proxy “w polowie”

problem mam juz na poczatku, z obydwiema plytkami wiec zakladam ze o czyms zapomnialem ale na forach nie potrafie nic znalezc…

log na VERBOSE, brak skanowania i odbierania danych z jakichkolwiek czujnikow, tylko to co ponizej przez caly czas.
Gdzie popelnilem blad :)?