Home Asisstant a osprzęt Xiaomi

Po to kupujesz “sprzęt dalekiego zasięgu” by mieć zasięg.
A wyłączając niepotrzebny sprzęt nad którym masz władzę eliminujesz w ten sposób źródło potencjalnych zakłóceń w eterze (a przy okazji sobie problemów z konfiguracją), więc gwarantujesz sobie najmniejsze zaśmiecenie eteru.

bluetoothctl list

cośtam jeszcze można czasem wygrzebać z logów sterowników jądra
dmesg | grep "Blue"
albo po prostu dmesg np. chwilę po podłączeniu dongla i na końcu zobaczysz najświeższe wpisy logu

Wyniki jakie otrzymałem to:

bluetoothctl list
DC:A6:32:BE:CD:02 homeassistant [default] 

dmesg
usb 1-1.3: CSR8510 A10

W pierwszym przypadku to bluetooth z bramki xiaomi
drugi wynik wskazuje (po sprawdzeniu w necie) że to bluetooth 4.x, czyli nie z pokładu raspberry,
tam jest wersja 5.x.
Czyli wykrywa urządzenie, ok reszta jutro po pracy.

w pierwszym przypadku to jest BT onboard w RPi a nie w żadnej bramce Xiaomi (początek MAC-adresu jest “podpisem” producenta i w tym wypadku jest to wskazanie jednoznaczne)

A w drugiej kwestii

CSR8510 A10

u mnie dongiel na tym chipsecie działa, wprawdzie pod amd64, ale wydawało mi się, że developerzy starają dorzucić ten sam zestaw sterowników do wszystkich platform (tylko, że używam go do komunikacji BLE, a nie do audio - edit: ten wątek jest właśnie raczej o BLE, pomyliłem z innym ;P)

Nie wiem czy to nowość, ale dziś zobaczyłem takie cuda Wyniki wyszukiwania Lidl-sklep.pl dla: zigbee Sprawdzał to ktoś? Warte to tylu kupisów co za nie wołają? No i czy z HA zabangla?
Wyczytałem w sieci " okazuje się, że bramka Lidl ma moduł Tuya ZigBee" takie info. (Tuya moduł: TYZS4)

Żarówki zdecydowanie nie są warte swojej ceny (najgorszy szmelc na Zigbee jaki kiedykolwiek miałem w ręce), przetestowałem kilka modeli (właściwie podstawowa różnica to trzonek :P, no OK trochę spłycam, ale sprzęt nie do przyjęcia), wszystkie wróciły do sklepu.
Jak się sprawy mają z całą resztą nie wiem, ale to po prostu rebrandowana Tuya, a faktycznego producenta poszczególnych gadżetów nie znam (a skoro to Tuya, to producentów jest wielu).
Z pewnością przy odrobinie chęci kupisz to wszystko w ChRL bez brandu tego dyskontu.

HA to projekt opensource, więc jeśli ktoś napisze obsługę to zadziała (jeśli pytasz o bramkę, może nawet już jest? ale w HA to jednak wolałbym mieć jakiś zwykły koordynator Zigbee nad którym mam jakąkolwiek władzę a nie śmieciową bramkę), natomiast w kwestii reszty osprzętu - tak wiele modeli ma już wsparcie w integracjach ZHA, Z2M czy Phoscon (zależy jaki masz koordynator).

Sorki mea culpa, nie sprawdziłem tylko wykonfabulowałem, faktycznie to raspberry.
Tylko jak wyłączyć Bluetooth Raspberry Pi 4 w HAOS? Przez terminal to wydaje mi się że raczej nie.
A ok, czyli zatrzymać HA do raspberry włożyć kartę z pełnym systemem i w pliku config.txt dokonać wpisów dtoverlay=disable-bt, odpalić HA i czekać na wyniki.
Tak bezpośrednio w samym HA tego nie da się zrobić?

Nie. (chyba, że nie zrozumiałem twoich intencji)

Idea jest taka - chcesz wyłączyć BT (i ewentualnie WiFi? - dobrze by było to zrobić jeśli korzystasz z połączenia kabelkiem Ethernet) w systemie, który używasz na bieżąco (HAOS), a nie w jakimś innym (RPiOS, na innej karcie, który normalnie nie będzie używany), więc wyłączyć musisz w konfiguracji na partycji boot systemu HAOS, a nie jakiegoś innego systemu, którego przecież nie będziesz używać.

Ale byłeś w miarę blisko - metoda z edycją z użyciem terminala jest istotnie dość trudna, ale ma łatwiejszą alternatywę (to pewnie trochę traci walor edukacyjny, ale działa) :stuck_out_tongue_winking_eye: :

  • zamknąć “po bożemu” system HAOS (nie HA, masz zamknąć=wyłączyć hosta, z menu System Supervisora; albo np. z terminala ha host shutdown)
  • wyjąć kartę
  • włożyć do czytnika w dowolnym komputerze - jedyna partycja widzialna spod windows to partycja boot, w przypadku innych systemów z pewnością też odnajdziesz właściwą partycję (fat)
  • zedytować na niej wspomniany plik z użyciem dowolnego komputera (zachowując linux’owe podziały linii - więc jeśli spod Windows to użyj np. notepad++ byle NIE systemowy notepad, ani nic innego co wstawi windowsowe podziały linii), zapisać go, odmontować kartę w bezpieczny sposób, przełożyć do RPi,
  • gotowe - odpalić HAOS

Da się zrobić - to właśnie edycja pliku config.txt (można to zrobić z poziomu systemu hosta, jak sam wspomniałeś używając terminala odpalonego z prawami roota na hoście, w którym odpalasz sobie edytor) w Raspberry config.txt jest takim “mniej więcej” odpowiednikiem windowsowego menadżera urządzeń.
W przypadku edycji bezpośrednio z poziomu HAOS oczywiście trzeba zrebootować maszynę “po bożemu” czyli z menu Supervisora, albo po prostu z terminala po zapisaniu pliku:
ha host reboot
Restart hosta można zrobić też z lokalnej konsoli (klawiatura + monitor), tylko tam jesteś w ha więc komenda rebootująca maszynę to host reboot.

PS Jeśli masz HAOS na dysku twardym/ssd to oczywiście jest mowa o partycji boot na tym dysku (wtedy istotnie - jeśli nie chcesz lub nie masz możliwości wyjąć tego dysku i podpiąć do innego komputera, to oczywiście możesz z karty wystartować jakiegoś innego linuxa, a w nim podmontować sobie partycje HAOS i dokonać zmian we właściwym pliku na właściwej partycji - każdy system dla RPi jest w ten sposób skonstruowany).

PPS W planach rozwoju systemu prawdopodobnie jest wygodna edycja ustawień systemowych “z wewnątrz” HA (tak jak jest już obecnie, a od niedawna, konfigurowany network manager), ale to rozwiązanie jest dość mocno specyficzne dla platformy RPi (no i generalnie tego typu zmiany są specyficzne dla każdej innej platformy, a obsługiwanych jest kilka dośc radykalnie różnych konstrukcyjnie).

O to to to, to rozwiązanie jest dla mnie. Zamknąłem Raspberry w obudowie i odpinanie dysku jest troszkę kłopotliwe, a dostęp do karty zostawiłem sobie tak na zaś.

Tu masz przykład (akurat dotyczy RPi3 ale “sam sos” na RPi4 jest identyczny, uwaga na literówki, bo są)

Dzięki za podrzucony wątek i za ostrzeżenie. A tak z czysto akademickiej ciekawości, co stoi na przeszkodzie żeby mieć 2 Bluetooth’y.
W zasadzie wyłączenie jednego daje “porządek” radiowy i “mniejszą” konsumpcję energii, to chyba tyle?
Integracja Bluetooth Low Energy Monitor Passive BLE monitor, pozwala chyba na wybieranie urządzenia i obsługę więcej niż jednego dongla jednocześnie?

Dokładnie tyle i nic więcej, można mieć więcej niż 1 interfejs BT i w dodatku wykorzystywać wszystkie, jeśli nie wierzysz, że to dobry pomysł by się pozbyć zbędnych, to używaj wszystkie :smiley: (da się).
Edit: ten trzeci zysk i chyba najważniejszy, to uproszczenie konfiguracji i ułatwienie sobie życia w momentach gdy coś idzie źle (upraszcza to debugowanie).
Edit2: OK jest jeszcze 4 korzyść - na 100% nie generują się zbędne wpisy w bazie danych (można je wprawdzie wyłączyć w zamian za dodatkowe skomplikowanie konfiguracji - zdecydowanie łatwiej pozbyć się zbędnego sprzętu).

Oszczędność energii nie jest tu motywacją (chyba większe oszczędności daje odłączenie kabla monitora :stuck_out_tongue: choć w moim wypadku to był przetwornik HDMI → vga i on żarł chyba koło 2W - szczerze nie pamiętam ile, nawet możliwe, że zaledwie 0,5W, ale było to istotnie zauważalne, a po wyłączeniu BT czy WiFi nawet nie zauważyłem różnicy).

Ooo :open_mouth: wietrzę haczyk, jednakowoż oczekując na przedłużacze podpiąłem dongel i czekamy co się stanie :scream:. Faktycznie można zaptaszkować dwa i … jestem ciekaw co to będzie.

Hmmm, nic spektakularnego się nie wydarzyło, Jak działały oba BLE, czyli ten z Raspberry to jakieś dane były, Po jego wyłączeniu urządzenia są na liście ale brak odczytów.

A tak nieco z innej beczki - widzę niezamknięte issue dotyczące platformy RPi3/4:

(akurat jest tam wspomniany inny chipset - konkretniej BT5.0 Realteka, ale problem może dotyczyć też innych dongli, bo wygląda na to, że HAOS został nadmiernie odchudzony przez wywalenie sterowników BT i WiFi innych niż onboard…)

Edit: widzę, że jednak nie z innej beczki (zacząłem pisać, gdy nie było twojej edycji posta), a akurat ten realtek mnie interesował i został dołożony w HAOS6.1 a jak się okazuje nie na każdej platformie sprzętowej (przeglądałem pocztę, bo raportowałem poprawne działanie na amd64 w 6.1 i właśnie dostałem feedback).

A miałem pytać czy działa ten dołożony dongle…
Niestety w kanale beta jeszcze nie widzę poprawionej wersji systemu (w sumie nic dziwnego - issue nadal otwarte).

Dongle ma adres 00:1A:7D:DA:71:13 i póki co nic nie podaje, jak długi jest czas odświeżania, przestawiłem na Active scan.

Odpal sobie testowo HAOS na innej platformie np. amd64 (może być choćby i cienki celeronek byle był x64)
przypuszczam, że obsługa “obcych” interfejsów WiFi/BT wróci na platformę RPi nie wcześniej niż w 6.2.

Nie mam nic takiego małego pod ręką, więc na razie zostaje BLE z bramki i do zabawy to kulawe z Raspberry. No nic poczekamy, jakoś będzie.

Nie z bramki tylko to onboard, o ile dobrze pamiętam - parę postów wyżej (pisałeś o migracji z bramki).
Ciekawe jak się sprawy mają na tinkerboard’ach lub odroid’ach arm (zrobiłbym jakieś testy, ale nie mam aż tyle wolnego czasu, na pecetach x64 w każdym razie działa).

Nie nie, nadal mam podpięta bramkę Xiaomi do HA i póki co urządzenia Bluetooth są odczytywane przez nią.
Ta z raspberry to integracja BLE i tu są częściowe odczyty, na donglu nie było nic, choć był widoczny w systemie (po macku). Wyłączyłem Active scan nie będę męczył bateryjek, za godzinę zobaczymy co i jak.

Tak mniej więcej wygląda log w przypadku BT, który działa (jak widać od czasu do czasu jakieś błędy się pojawiają)

~ $ dmesg | grep "Blue"
[    0.303684] Bluetooth: Core ver 2.22
[    0.303734] Bluetooth: HCI device and connection manager initialized
[    0.303749] Bluetooth: HCI socket layer initialized
[    0.303760] Bluetooth: L2CAP socket layer initialized
[    0.303778] Bluetooth: SCO socket layer initialized
[    2.474910] usb 1-1.4: Product: Bluetooth Radio
[    2.482027] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[    2.504974] Bluetooth: hci0: RTL: rom_version status=0 version=1
[    2.507999] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761b_fw.bin
[    2.514225] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761b_config.bin
[    2.520658] Bluetooth: hci0: RTL: cfg_sz 25, total sz 21389
[    2.687158] Bluetooth: hci0: RTL: fw version 0x0d99646b
[188292.750589] Bluetooth: hci0: advertising data len corrected 27 -> 26
[533817.126625] Bluetooth: hci0: advertising data len corrected 27 -> 26

albo

~ $ dmesg | grep "Blue"                                                                                                                                   
[    0.196536] Bluetooth: Core ver 2.22                                                                                                                   
[    0.196560] Bluetooth: HCI device and connection manager initialized                                                                                   
[    0.196566] Bluetooth: HCI socket layer initialized                                                                                                    
[    0.196572] Bluetooth: L2CAP socket layer initialized                                                                                                  
[    0.196580] Bluetooth: SCO socket layer initialized                                                                                                    
[    1.750268] Bluetooth: hci1: read Intel version: 370810225019140f00                                                                                    
[    1.751827] Bluetooth: hci1: Intel Bluetooth firmware file: intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq                                                 
[    2.102264] Bluetooth: hci1: Intel BT fw patch 0x42 completed & activated                                                                              
[ 1016.195331] Bluetooth: hci1: advertising data len corrected 30 -> 21                                                                                   
[136582.999298] Bluetooth: hci1: advertising data len corrected 30 -> 21                                                                                  
[136583.020246] Bluetooth: hci1: advertising data len corrected 30 -> 21                                                                                  
[136583.352293] Bluetooth: hci1: advertising data len corrected 30 -> 21     

Nie wiem co masz za czujniki na BLE, ale najtańsze termohigrometry raportują parametry niemal co chwilę (jedynie stan ogniwa zasilającego bywa rzadko nadawany, no ale zależy jaki model i firmware). Jakkolwiek skoro nie ma odczytów przez kilka minut = nie działa póki co (pozostaje poużywać wbudowanego do czasu poprawek systemu).

Możesz też w terminalu wykonać polecenie

dmesg | grep "Blue" 

i zobaczyć jakie daje wyniki (kopiowanie tekstu w terminalu dostępnym w GUI polega na przeciągnięciu myszą mając wciśnięty shift).