Pasywny monitor BLE przestał czytać dane z czujników

Od kilku dni (dokładnie nie wiem, zauważyłem po powrocie z wyjazdu) nie mam odczytów z BLE. W sumie to cztery termometry Xiaomi (Mi Bluetooth T & H Monitor 2]). HA nie zgłasza że ich nie ma ale odczyty wiszą w miejscu.

image

W sumie to nie wiem jak postąpić? było kilka aktualizacji BLE ale wydawało się że jest ok. Usunąć wszystko i dodawać ponownie? Jet to integracja w HACS

image

Jeżeli nie zadziała to pożegnać te termometry? Macie jakieś propozycje na czujniki z wyświetlaczem działające po Zigbee2MQTT?
Na liście znalazłem tylko to: TuYa TS0601_temperature_humidity_sensor control via MQTT | Zigbee2MQTT. Ma ktoś z tym doświadczenie? jakoś to działa? można to powiesić nienachalnie? :grin:

Używam tego modelu TuYa TS0201 control via MQTT | Zigbee2MQTT, opis tego czujnika - Termometr / higrometr z wyświetlaczem Tuya Zigbee - HejDom, wszystko sie zgadza z opisem dlatego nie polecam bo raportuje bardzo rzadko.

Weszła nowa integracja Bluetooth, możesz tymczasowo ją wyłączyć, albo jeśli masz obsługiwane w nowej integracji czujniki zrezygnować już z PBM.

U siebie tymczasowo mam wyłączoną integrację Bluetooth (i liczę na to, że wymyślę jakiś sensowny sposób migracji bez utraty starych danych).
Można też wrzucić 2 dongle Bluetooth i jeden przypisać do integracji systemowej a drugi do PBM (lub odwrotnie - jest to możliwe już w wersji 2022.9.0).

I tak zrobiłem, Ta nowa działa na Bluetooth od Raspberry Pi, a Dongel to stara integracja.
Po aktualizacji stała się rzecz dziwna (sam zwątpiłem, ale mam notatki) wygląda na to że adresacja się zamieniła miejscami. Jest mała szansa, że źle zanotowałem, ale mikra.
Tak jest teraz:
00:1A:7D:DA:71:13 (hci0) - Chińczyk
DC:A6:32:BE:CD:02 (hci1) - Angol
Ten z Raspberry (drugi) był cały czas wyłączony i teraz działa z systemowym.
ten od Chińczyka na przedłużaczu USB 3.0 i z antenką z BLE monitor.
Zaczęło działać, jednak nic to nie zmienia i nadal szukam termometrów do domu z wyświetlaczem, działających po protokole Zigbee, więc jak ktoś coś to chętni informację przyjmę.

Możliwe (to urządzenia USB), ale to nie ma znaczenia.
Zależy też jaką masz wersję HA, bo sierpniowa obsługiwała tylko jednego dongla w systemowej integracji a wrześniowa obsługuje już więcej.

Mam taką wersję, Home Assistant 2022.8.7

2022.8.x to sierpniowa wersja, na testowej instalacji mam betę.

I od niej zaczęły się problemy, u mnie z raportowaniem i zasięgami.

PS
Znalazłem takie coś https://allegro.pl/oferta/czujnik-jakosci-powietrza-aqara-tvoc-zigbee-eu-11672689577
Korci mnie żeby to przetestować, w bazie obsługiwanych urządzeń jest.

Nie chce mi się szukać po historii wydań, ale sierpniowy HA core już ma nową Integrację Bluetooth (z obsługą 1 dongla), autorzy PBM zdecydowali, że priorytetowe jest wprowadzenie wbudowanej w HA obsługi Bluetooth (wraz z równoczesnym uznaniem PBM za przestarzałe rozwiązanie), bo stara wbudowana w HA integracja Bluetooth przestała działać z powodu zależności od przestarzałego oprogramowania.
Nowa integracja Bluetooth nie może działać równocześnie z PBM z użyciem tego samego dongla, więc jeśli chcesz używać równolegle obu integracji to musisz używać 2 dongle.

W dodatku to jest normalna kolej rzeczy - decydując się na jakiekolwiek Komponenty Niestandardowe (jak np. PBM) bierzesz na siebie ryzyko, że taki komponent może przestać działać, (w tym wypadku wystarczy wyłączyć systemową Integrację Bluetooth, aby PBM mógł działać po staremu, ale nie wiem jak długo jeszcze).

NIC NIE ZASTĄPI CZYTANIA notek do wydań przez zastosowaniem jakiejkolwiek aktualizacji, wiedziałbyś co robić.

W wersji wrześniowej będziesz mógł odwrotnie przypisać dongle do integracji (teraz systemowy Bluetooth wykrywa tylko jednego z tych 2, więc PBM musisz skonfigurować do pracy z tym drugim, wkrótce będziesz miał elastyczny wybór, ale wciąż dongle przypisany do integracji systemowej nie może być uruchomiony w PBM, tylko we wrześniu będziesz miał już wybór).

Na obrazkach wersja wrześniowa i konfiguracja obu integracji w taki sposób, aby sobie nawzajem nie przeszkadzały (oczywiście na bazie 2 dongli można skonfigurować to dokładnie odwrotnie)


Hmm to nie ma nic wspólnego z powyższym tematem (nie jest to BLE więc nie zintegruję się w PBM ani nowej integracji BT/BLE), ale oczywiście - masz ochotę to potestuj, w ramach OFF TOPICu - ja się dorobiłem czujnika CO2 (ale nie planuję integracji w najbliższym czasie, bo akurat ten model wymaga dość hardkorowej przeróbki DIY, a już sporo innych rzeczy czeka na swoją kolej).

OK, reasumując, mam kartę w integracjach a na niej to co poniżej:
image
Są to dwa urządzenia Bluetooth jeden od Raspberry, drugi chińczyk dołożony przeze mnie. Co to zmienia nie rozumiem, nie ma pod nim urządzeń (np. termometry itp.)
Urządzenia dotąd działające na “chińczyku” bezawaryjnie odmówiły raportowania, ale od pewnego czasu (jakiś tydzień) podjęły komunikację oprócz jednego.
image
Jest to:
image
Steruje a a zasadzie to sterował wentylatorem wyciągowym (teraz wentylator pracuje non stop).
Nic nie mogę z tym zrobić, zmiana lokalizacji termometru, wyjmowanie baterii, nic nie dają. Nie da się go usunąć z listy urządzeń, sam też nie chce zniknąć. WTF???

Te wartości są niezmienne:
image
Nie ważne co bym robił.

Przeczytaj to co napisałem wcześniej, ale wczuj się w temat.
Wyłącz Integrację Bluetooth z “chińczykiem” (poznasz go po MACu tym który masz wybrany w PBM), jeśli nadal chcesz używać PBM.


Dongile na czerwono pracuje w PBM
na niebiesko w systemowej Integracji Bluetooth

I nie będzie, bo ta Integracja tak nie działa - ona ma “poditegracje” dedykowane poszczególnym producentom urządzeń BLE.

ALE póki masz konflikty między integracją systemową i PBM to nie zadziała.

Czyli:
Adaptery Bluetooth
“Chińczyk” włączony" w starym BLE tu widnieje tu jako “wyłączony”?
Jeżeli tak to ile potrwa aktualizacja? Dobę?

Taki mały wtręt, popełniłem błąd, mianowicie
wykorzystując tą opcję
image
wyłączyłem kilka takich kwiatków
image
Jak to włączyć :sweat_smile:

PS
Restart nic w kwestii termometru w łazience nie zmienił nadal pomiary zamrożone :thinking: może poczekajmy?

Restart HA powinien wystarczyć.

wylaczone_ignorowane_2022-09-11_15-58

Niestety, “czary” z adapterami nic nie wniosły. Nadal jeden z LYWSD03MMC (termometr/higrometr) i HHCCJCY01 (czujnik roślin) nie działają. Tzn. są widoczne w Home Assistant, pokazują dane, czyli jakby działy. Niestety odczyty te nie pokrywają się z podanymi w aplikacji telefonu i w przypadku termometru na wyświetlaczu. Wygląda to tak jakby HA widział urządzenia (są encje itp.) ale ignorował nowe dane. Pozostałe termometry działają.
Dziwaczna sytuacja i wskazuje raczej na błąd HA. Może, zaznaczam może, pomogło by usunięcie urządzeń i ponowne ich wykrycie, tylko za groma nie mogę znaleźć takiej opcji. Jednego co się doszukałem to wyłączenie.
Ktoś spotkał się z takim problemem i ma może doświadczenie i chęć pomocy? Może jakieś sugestie?

Niestety nie wiem co to znaczy

Zazwyczaj brak wskazań wynika z braku zasięgu/zakłóceń zewnętrznych uniemożliwiających komunikację/nasłuch czujników przez używanego dongla BT…

przykładowe wykresy ostatniej doby (z podstawowych Informacji o danej Encji)

zasięg OK

a tak wyglądają przy braku zasięgu (przykładowo, to różne encje, mając instalacje testowe mogę sobie pozwolić na nieudane eksperymenty)

zauważ to jest ten sam czujnik, który w mojej produkcyjnej instalacji ma zasięg i działa OK (a tu mam syfiasty dongiel i dodatkowo RPi, które jest wręcz generatorem zakłóceń RF)


Jeśli chodzi o “czary” związane z usuwaniem urządzeń w PBM to wyglądają one tak:
(w przykładzie usunąłem beacon apple, który identyfikowany jest po długaśnym UUID, zwykłe czujniki identyfikują się po sporo krótszym MAC-adresie BT)


A jeśli chcesz usuwać urządzenia w systemowej integracji Bluetooth to znajdujesz właściwą “Pod-integrację” - tu przykłady dla

Xiaomi BLE

Xiaomi_BLE_usuwanie_01_2022-09-25_19-42

BTHome

BTHome_usuwanie_01_2022-09-25_19-42

W każdej innej podintegracji zależnej od systemowej integracji Bluetooth jest podobnie.


PS nie sądzę, że usunięcie urządzeń pomoże, raczej trzeba pomyśleć o zapewnieniu zasięgu (może bramka BLE na bazie ESP32 by pomogła? wtedy oczywiście skorzystasz z integracji systemowej)

PPS Jeśli sam nie chcesz zrozumieć jak to wszystko działa, to my tego łopatami Ci nie włożymy do głowy, nie da się traktować HA (czy urządzeń BLE) jako czarnej skrzynki w której “niech się dzieje co chce”…
Niestety bez zrozumienia podstaw trudno zrozumieć czemu coś nie działa lub są jakiekolwiek problemy…

3 Likes

To nie tak że nie rozumiem, nie rozumiem dlaczego nagle po aktualizacji coś co działało wcześniej świetnie nagle przestaje. Fizyczne umiejscowienie urządzeń nie uległo zmianie. Termometr jest odczytywany ze smartfona z dużo większej odległości niż lokalizacja Raspberry. Ponadto Bluetooth “pokładowy” mam wyłączony. Do komunikacji używam 100m daleki zasięg Bluetooth USB Dongle bezprzewodowy Adapter Bluetooth 4.0 CSR dla Windows 10, 8, 7 XP vista|Bezprzewodowe adaptery| - AliExpress na przedłużaczu.
Było OK, teraz nie, więc próbuję ustalić dlaczego i jak to zmienić.

Dziwne, u mnie działa - po prostu po aktualizacji natychmiast zignorowałem nową systemową integrację Bluetooth (i ostrzegałem o tym innych swego czasu, bo po to właśnie mam testowe instalacje na wersjach beta, by móc wprowadzać w instalacjach produkcyjnych poważne zmiany bez ryzyka uwalenia konfiguracji).

Tak się składa, że nie tylko systemowa integracja Bluetooth została mocno przebudowana, ale również samo systemowe wsparcie dla dongli Bluetooth też jest zupełnie inne (ci którzy nie używali PBM mieli chyba 2 czy 3 miesiące wakacji od sprzętu bluetooth, bo systemowe wsparcie się posypało ze względu na niedziałające zależności od archaicznego softu jeszcze przed wakacjami - ostatnia działająca wersja HAOS ze starym wsparciem dongli to 7.6).

Przypuszczalnie zasięg spadł, bo prawdopodobnie teraz używasz dongla onboard (jeśli ten drugi przestał działać lub działa wadliwie).

Niestety jeśli coś opisujesz jako “czary” zamiast podać konkretne informacje z logów umożliwiające jakiekolwiek próby debugowania, to nie ma o czym mówić.

Jak się okazuje w nowej wersji obsługi systemowej stosu Bluetooth nie ma wsparcia dla podróbek CSR (już ktoś inny o tym pisał i na podstawie zamieszczonych logów wiem o braku patcha wciąż nawet w obecnej wersji HAOS 9.0 - tymczasowo możesz spróbować zrobić tak jak on, czyli downgrade systemu do 7.6 ale jak długo podziała takie sztukowanie - nie wiem).

Prawidłowym posunięciem byłoby znalezienie problemu (i jego rozwiązania choćby przez downgrade OSa) oraz założenie issue lub dopisanie się do istniejącego (we właściwym miejscu - ja podejrzewam brak w systemie działających sterowników, a właściwie patcha dla podróbek CSR) podając tam możliwie największą ilość informacji, które mogłyby pomóc twórcom softu.

Tam masz wątek z podobnymi problemami, tylko @fnxfnx nie miał 2 dongli jak masz Ty


Swoją drogą by wykluczyć wpływ dongla onboard powinieneś go wyłączyć w config.txt na partycji boot
a konkretniej mam na myśli dopisanie mniej więcej tyle w ostatnich linijkach pliku (celowo dodałem pustą linię na końcu)

# Disable Bluetooth
dtoverlay=disable-bt

a czemu w ostatnich linijkach? bo ten plik jest (a w każdym razie był, bo nie jestem do końca na bieżąco) edytowany maszynowo przez system, więc nie można mieszać w części nie przeznaczonej do edycji przez użytkownika.

Chyba kiedyś już sugerowałem takie wyłączenie, nie wiem czy skorzystałeś (kiedykolwiek, bo informacje wyżej mówią jasno, że masz odpalony BT onboard).

Ten plik można edytować również po ładnym zamknięciu systemu i podłączeniu nośnika systemowego (obojętnie czy to hdd/ssd w kieszeni USB, czy karta TF/SD) choćby do komputera z Windowsem (wtedy to jedyna widoczna partycja w przypadku typowej konfiguracji Windy), UWAGA nalezy używać edytora zgodnego z linuxowymi plikami tekstowymi np. Downloads | Notepad++

PS Jeśli nie używasz w RPi WiFi to sugeruję jeszcze to:

# Disable WiFi
dtoverlay=disable-wifi

PPS Tak sobie radośnie założyłem, że masz instalację na bazie HAOS dla RPi, ale w sumie nie wiem jaką masz instalację…

Założenie słuszne, mam RPi i sewgo czasu wyłączałem BT w sposób zalecany przez Ciebie. Późniejszej historii nie pamiętam ale odtwarzałem z backupu cały system i prawdopodobnie (a wszystko wskazuje że na pewno) cofnąłem się za daleko. Zapomniałem o tym obowiązku ponieważ działało wszystko. Dopiero tym wpisem zwróciłeś moją uwagę na ten babol który zrobiłem i teraz jestem dopiero skonsternowany tym że do momentu kiedy zaczęli mieszać z BT w systemie ten jeden, dosłownie jeden termometr się posypał.
Już z czystej ciekawości usunąłem go z urządzeń i fizycznie przeniosłem na jakieś 2 metry od dongla BT i zobaczę czy to faktycznie zasięg.
PS
Tak chodzi mi po głowie czy może gdzieś w systemie (nie mam pojęcia gdzie szukać) jest zafiksowane że tego konkretnego nie pytać? Inne termometry (3 szt.) działają bez problemu, a są dwukrotnie dalej, a nawet więcej, za ścianami itp. Dziwne to jakieś. Nasuwa mi się taki wniosek, że chyba BT trzeba pożegnać, ale najpierw z ciekawości poobserwuję czy coś się zmieni.

PS2
Jeżeli dobrze rozumiem, takie wyłączenie BT w ustawieniach BLE nie jest równoznaczne z jego fizycznym wyłączeniem WiFi ( w ustawieniach sieci) też?

image

Na routerze nie wyszukuje WiFi z RPi.

Jak pisałem nie jestem na bieżąco z HAOS w wersji na RPi, zawsze wpis w config.txt wyłączał kartę onboard na tyle, że nie było jej nawet widać w systemie, widocznie zmiany w aktualnym systemie są na tyle duże, że ignoruje on te wpisy.

W sumie można by to zgłosić jako issue (bo wpisy w config.txt zastępują fizyczne zdemontowanie sprzętu, którego przecież nie da się wyjąć…) więc jeśli ktoś się decyduje na taki krok to chyba nie po to by system ignorował te ustawienia (w pececie wystarczy wyłączyć sprzęt z poziomu BIOSa by go “nie było”).


A tak z innej beczki - próbowałeś

  1. tego usuwania (skoro i tak nie masz prawidłowych odczytów, to można spróbować)
  2. wymiany ogniwa zasilającego?
  1. tak próbowałem i to wielokrotnie, jest ponownie wykrywany pod nazwą “A4C138F51D29” czyli mac adresem, pokazuje wartości nieznane, kiedy w konfiguracji podam BLE KEY i uruchomię ponownie HA to pokazuje ostatnie błędne wartości i to się nie zmienia w czasie.
  2. baterię wymieniłem na nową więc jej wskazania 100% mogą mieć sens. Ale temperatura i wilgotność na wyświetlaczu i w komórce są inne niż HA Np. temp 25,7 st. w HA to bzdura.

PS
Sytuacja wygląda tak:

  1. usuwam urządzenie BLE, liczba urządzeń zmniejsza się o 1,
  2. wybieram opcję czytaj ponownie w integracji BLE i ilość urządzeń zwiększa się o 1,
  3. wartości widnieją jako nieznane oprócz “ble rssi A4C138F51D29” która wynosi "
    -50 dBm"
  4. wprowadzam do konfiguracji BLE KEY:
  5. wybieram opcję czytaj ponownie w integracji BLE, wartości nadal widnieją jako nieznane oprócz tej podanej powyżej
  6. Jeżeli tylko zmienię nazwę bez zatwierdzania zmiany identyfikatora encji to wartości nadal są nieznane, jeżeli jednak zatwierdzę tą zmianę na obowiązującą wcześniej i dodam obszar, wczytuje wartości stare, błędne.

PS
Skąd się to bierze i jak przerwać to błędne koło? Taka zagadka :grin: