Integracja Passive BLE Monitor - Xiaomi LYWSD03MMC

Konfiguracja YAML jest nadal obowiązująca w przypadku tej integracji (ale trzeba się zdecydować - albo całość w YAML, albo całość w GUI).

W przypadku konfiguracji YAML na czas walki z problemem spowodowanym przez HACS wystarczy ją w całości zakomentować (lub chwilowo usunąć), bo problem z nieistniejącą integracją blokuje możliwość restartu HA (więc zostajemy w pętli nieusuwalnego problemu - walidator YAMLa nam przeszkadza).

Rozwiązanie problemu zostało już 3x podane: w linku do jdtech (nie chciało mi się tego przepisywać sorry) oraz przez @mstefanowicz i dodatkowo @rafkan

PS Jeśli po usunięciu problemu (zakładam, że nie usuwałeś konfiguracji bez backupu lub skopiowania fragmentu konfiguracji w inne miejsce) utracisz część encji (zmienią im się nazwy) to wynika to z breaking changes w Passive BLE Monitor.

PPS rozwiązanie numer 2 - przywracasz backup z czasów, gdy wszystko działało OK (sprzed urlopu?) i robisz aktualizacje komponentów do bieżących wersji (w ten sposób przeskoczysz wersję HACS z problemem)

Sorki, zapomniałem się i utworzyłem nowy.

Mam backup z 7.01 więc przywróciłem sobie wszystko i jeszcze raz spróbuje to zaktualizować tylko o dziwo:
Passive BLE monitor integration mam w wersji 6.3.0 aktualna to 6.9.3
Local Tuya v3.2.4 aktualna to v3.3.0
HACS 1.18.0 aktualny to v1.19.0 albo nawet 1.19.2
Ma to znaczenie w jakiej kolejności będę aktualizował?

image

Co do “Local tuya” nie wiem jeśli chodzi o pozostałe - bez znaczenia.

HACS 1.19.0 jest trefny i uszkadza komponenty - nawet nie próbuj go instalować - ostatnia wersja to 1.19.2 i ona jest OK
Kolejność niby nie ma znaczenia (tzn. ja nie zauważyłem wpływu, póki oczywiście dany komponent nie jest trefny :stuck_out_tongue: ) - jak mam “zapuszczony” HA to aktualizuję hurtem, tylko sprawdzam czy nie ma po drodze breaking changes.

Passive BLE monitor miał dużo radykalnych zmian w ostatnich dniach, więc numery wersji ostro poszybowały do góry

BTW te ostatnie breaking changes dotyczyły raczej u nas mało popularnego sprzętu: Inkbird iBBQ-4.

Natomiast już 6.5.0 wprowadza obsługę termostatu lub higrostatu DIY i czujnika drzwi lub okien DIY (generalnie to po prostu czujnik binarny do zrealizowania np. z użyciem kontaktronu) na bazie LYWSD03MMC (modyfikacja raczej dla hardkorowców, ale możliwa do wykonania), wymaga alternatywnego firmware od pvvx (zalecam aktualną wersję, na dziś to 3.5), tak wyglądają te dodatkowe możliwe do uruchomienia encje (by z nich korzystać trzeba odpowiednio skonfigurować soft pvvx oraz podpiąć sprzęt metodami DIY)

Przywróciłem starą wersję i zaaktualizowałem po kolei HACS, BLE i Tuya. Wywaliłem z configuration.yaml wpis odnoszący się do moich czujników. Sprawdziłem czy w custom components nie zrobił się dubel. Na wszelki wypadek odinstalowałem i zainstalowałem ponownie Bluetooth Low Energy Monitor. Następnie ustawiłem go tak jak na obrazku i cisza. Nie znajduje mi ani jednej encji. Czy ja mam źle skonfigurowany ten dodatek? Powinienem ręcznie jakoś dodać te czujniki czy on sam powinien je znaleźć? Czy powinienem zainstalować jeszcze raz apkę od Xiaomi na telefon i tam dodać czujniki oraz wyciągnąć jeszcze raz encryption key (one się zmieniają?).

Po pierwsze GUI nie jest obowiązkowym rozwiązaniem - możesz nadal mieć ten YAML, który działał wcześniej (tylko musisz go skonfrontować z dokumentacją czy się coś nie zmieniło, u siebie zmigrowałem do metody GUI, bo tych czujniczków jak z tematu przeszło sporo przez moje ręce - robiłem testy z różnych partii czy wskazania są dość wiarygodne, a sporo z nich rozdałem po rodzinie (i wydawało mi się, że to bardziej przyszłościowa metoda biorąc pod uwagę zmiany w samym HA, gdzie developerzy nas zmuszają w wielu integracjach do odejścia od YAML do GUI).

Po drugie jeśli w LYWSD03MMC masz firmware fabryczne, to wymagają one podania tokena (również w GUI), więc się nie skonfigurują automatycznie .

Po trzecie na tym obrazku nie do końca widać wszystko, ale wstawiam kilka przykładowych (widać u mnie 2 dongle BT, ale korzystam tylko z jednego - to krok w stronę przeróbki sprzętu - będzie z niego wyrzucona karta WiFi+BT by zwolnić gniazdo m.2 key-E), niestety nie mam żadnego wolnego sprzętu by go dodać do instalacji (a to moja "produkcyjna, więc nie chcę wywalać niczego co działa, bo to za dużo roboty), interfejs GUI nie jest intuicyjny, ale gdy się przeklikasz to pójdzie gładko.

Po czwarte - skoro już jesteś na takim etapie, że chcesz tworzyć wszystko od nowa, to może warto zmienić soft w LYWSD03MMC na wersję od pvvx? (ma to głębszy sens jeśli nie zamierzasz ich używać z ekosystemem Xiaomi lecz jedynie w HA, bo wtedy można wybrać bardziej energooszczędny protokół) na obrazku porównanie (czujniki pracują w tzw. ciężkich warunkach, ale ponieważ spodziewałem się wyniku, to ten który szybciej traci % baterii a pracuje z protokołem Xiaomi jest w nieco lepszych warunkach (temperatura średnio wyższa o kilka stopni)

@szopen Mam wszystkie termometry flashowane firmware od ATC, ale u mnie producent dalej wyświetla się Xiaomi (MiBeacon). Nie wiesz dlaczego? :slight_smile:

@mstefanowicz
Dlatego, że nie skonfigurowałeś ich po wgraniu firmware “pod siebie” (i teraz rozgłaszają bodajże we wszystkich protokołach, a domyślny w integracji jest fabryczny Xiaomi), aby skorzystać z “energooszczędności” trzeba przełączyć protokół na custom (swoją drogą przy wykorzystaniu tych gadżeciarskich rozszerzeń DIY jak czujnik otwarcia itd. to jest obowiązkowe).
To się robi z poziomu flashera.
Prawdopodobnie będziesz musiał je też odpowiednio przekonfigurować w integracji (w przypadku GUI wystarczy je ponownie rozpoznać).

PS ja mam większość z nich na sofcie pvvx (nie na atc1441 - tamten widoczny na wykresie powyżej jest tylko dla porównania, ale przy okazji kolejnej wymiany baterii wszystkie przerzucam na pvvx).

Chodzi o to?

Tak, ale powiem krótko - soft od pvvx jest znacznie bardziej dopracowany i nawet Aaron Christophel (atc1441) zaleca soft od Victora (pvvx).

Jak dla mnie kluczową różnicą była możliwość zapisu konfiguracji do flasha na sofcie pvvx (soft atc1441 tego nie robił i po wymianie baterii czujnik zostaje zresetowany do ustawień domyślnych, które mi nie odpowiadają - domyślnie startuje z protokołem a la xiaomi), być może atc1441 też już to wprowadził, ale nawet nie będę sprawdzał.

Ujednolicenie wszystkiego ma swoje plusy (teraz mam taki rozpierdziel ze względu na nieprzerwany eksperyment, a skoro już się potwierdziło to co zamierzałem sprawdzić, to nie widzę większego sensu jego dalszej kontynuacji).

Natomiast nie flaszuję teraz ze względu na potencjalną możliwość uwalenia sprzętu w sytuacji gdy ogniwo zasilające nie jest świeże - proces flashowania jest wyjątkowo energożerny - przykładowo aktualizowałem soft w czujniku po pół roku pracy i wskazany stan baterii spadł z około 80% co jest stanem “wyjściowym” dla pvvx który wskazuje stan baterii nieco inaczej, do bodajże okolic 50%). Słowo wyjaśnienia - fabryczny soft sygnalizuje tylko 3 stany 100%, 50% i 10%, atc1441 wskazuje od 100% w dół ale algo opiera się z grubsza na fabrycznym, natomiast pvvx umożliwia pomiar w szerszym zakresie niż 100%, więc wskazanie jest “przeskalowane” i tzw. 100% odpowiada wskazaniu 80% w pvvx (umożliwia to ocenę jakości użytego ogniwa - wskazanie rzędu 100% oznacza dobre i świeżutkie ogniwo, prawdopodobnie od dobrego producenta, które ma również dość wysokie napięcie początkowe i małą rezystancję wewnętrzna)

Soft pvvx domyślnie zapisuje pomiary we flashu (fabryczny soft bodajże też, choć inaczej), ale ustawiając w nim parametr na 0 można z tego zrezygnować (przy współpracy z HA taki zapis nie ma żadnego sensu, a brak tych zapisów powinien nieco przedłużyć żywotność baterii oraz żywotność samego sprzętu, choć prawdopodobnie prędzej żywot skończy czujnik wilgotności niż flash, to jednak takie szacowanie trwałości jest tylko w sferze mojego “gdybania”).

@szopen czy po wgraniu alternatywnego firmware od pvvx do czujnika, nadal można mieć czujnik podłączony w aplikacji Xiaomi Home? Usunąlem czujnik w aplikacji i próbuje na wszelkie sposoby dodać go od nowa ale nie udaje mi się.

@macek
Nie używam oryginalnej aplikacji (celowo - chodzi o czas pracy tych termohigrometrów, które nie rozgłaszając ramek w formacie xiaomi, a jedynie custom działają znacznie dłużej), ale z tego co kojarzę (nie sprawdzałem), to na sofcie od atc1441 nie ma możliwości połączenia z fabryczną apką (protokół xiaomi jest jedynie emulowany, ale nie zawiera klucza/tokena bo nie jest szyfrowany), natomiast soft od pvvx oferuje procedurę przywrócenia oryginalnego tokena, więc raczej jakaś szansa jest (ale nie jestem przekonany, czy stosowanie fabrycznego protokołu ma jakikolwiek sens).

A podpowiesz jak skonfigurować tak żeby było eko i poprawnie działało?

@strikerbest
Według mnie - przy takich ustawieniach jak z obrazka powinno już w tej chwili działać poprawnie, choć możesz nieco stuningować pod kątem oszczędności ogniwa

  • zapis zmierzonych wartości do flash jest bez sensu, więc zamiast 60 (zapis co minutę) ustaw tam 0 (nie będzie się odbywał), można wyczyścić przy okazji już zapisane dane (delete all records)
  • można zredukować RF TX power (moc nadawania) do takiej wartości, by nadal był stabilny zasięg (to się robi jedynie metodą eksperymentalną, po to w integracji można włączyć wskaźnik RSSI)
  • jeśli termohigrometr jest w niewidocznym miejscu można wyłączyć wskaźnik komfortu (“buźkę”), a jeśli jest w widocznym to ustalić obszar komfortu pod siebie [obszar 5] jeśli uważamy jego wyświetlanie za konieczne
  • można ustawić histerezy sterowania GPIO na 0 (nie wiem czy to oszczędzi choć jeden cykl procesora, ale skoro tego praktycznie nikt nie używa to można wyłączyć) [obszar 4]
  • teoretycznie można (nie polecam, bo można stracić łączność z czujnikiem “na zawsze”) zmniejszyć częstotliwość rozgłaszania

Jeśli chodzi o RSSI (w kwestii regulacji mocy RF w dół), to fajnym odniesieniem jest obrazek z tamtego posta

warto tak ustawić moc nadawania by w odbiorniku średni poziom sygnału nie spadał poniżej -90dBm (no i równocześnie by nie było “dziur” w odczytach)

Kontynuując temat analizy siły sygnału obrazek poniżej pokazuje 2 sensory


Górny wykres jest OK (przy okazji pytania przypomniałeś mi, że w tym czujniku mogę zmniejszyć siłę nadawania sygnału i obniżyłem ją o około 10dBi - pozycja w menu to minus “dziewięć z groszami”).
Natomiast dolny to wskazania siły sygnału z czujnika, z którym jest problem z komunikacją i wynika on przede wszystkim z siły sygnału zakłóceń (to jest instalacja testowa na biurku “warsztatowym” na którym znajdują inne urządzenia generujące zakłócenia, takie jak komputery czy inne SBC - jak widać problem nie występował gdy nie były włączone, a “trasa” do czujnika to tylko 1 ściana + szyba).

Właśnie bawiłem się tymi termometrami. Po zmianie oprogramowania na pvvx nie mogłem dodac ich do aplikacji Xiaomi. Nawet po zmianie sposobu rozgłaszania z “custom” na “mi” a nawet “all” nie udało się.
Aplikacja widzi urządzenie, raz czy dwa nawet udało się jej połączyć ale weryfikacja zakończyła się niepowodzeniem. W HA są widoczne i działają bez żadnych problemów.
Jeżeli ktoś szuka możliwości dodania ich do HA i jednoczesnie korzystania z Xiaomi Home to moim zdaniem zostaje tylko oryginalny soft.

Michał, ja walczyłem na wszystkie strony z ta integracją. Robiłem wszystko co mi wyżej opisano i nic mi nie działało. Nie był widoczny żaden czujnik. Aż któregoś pięknego razu postanowiłem uruchomic Core od nowa. Udało się i od ręki wszystko wystartowało. Spróbuj zdjąć na chwilę zasilanie ze swojego urządzenia na którym masz postawiony HA.

@Michał
Powinieneś poczytać dokumentację tego alternatywnego firmware - jest tam sposób przywrócenia oryginalnego klucza szyfrowania Xiaomi.

Sam wiele razy o tym uprzedzałem, że zmiana softu układowego uniemożliwia dalszą współpracę z zamkniętym systemem Xiaomi (i nie widzę powodu do płaczu, z tego powodu, bo to kolejne “bagno” na miarę Tuya).
Jakkolwiek w przypadku softu pvvx już od pewnego czasu ponoć nie jest to prawda (sam nie sprawdziłem), skoro można emulować w 100% protokół Xiaomi (wraz z szyfrowaniem i fabrycznym kluczem).

Tylko moim skromnym zdaniem przy założeniu wykorzystywania tego protokołu żadne zmiany softu nie mają sensu, skoro tylko rozgłaszanie custom pozwala oszczędzać baterię.

Nigdy nie proponuj takich rozwiązań (zanik zasilania może uwalić bazę danych!), jeśli już to zaproponuj “zdrowe” zamknięcie systemu hosta.
Prawdopodobnie miałeś zawieszonego dongla BT, więc wyłączenie zasilania ma sens, tylko NIE metodą na “ruski reset”, a w normalny sposób = “po bożemu”.

PS mały offtopic ale nie do końca off :stuck_out_tongue:
Przy okazji jakieś niedawnej dyskusji zredukowałem moc nadawania jednego z czujników o około 10dBm i tak to widać na wykresach diagnostycznych

PPS @Michał nie czuję się zobowiązany by udowadniać, że działa coś co działa, mimo to właśnie instaluję BLE monitor na testowej instalacji, by sprawdzić czy świeża instalacja nadal zadziała (jedyny potencjalny problem, że tamta instalacja pracuje na HA core beta) - lektura dokumentacji ma generalnie kolosalną przyszłość - może masz konflikty z jakąś inną integracją, która używa dongla BT (np. tracker BT)?

Jak widać nadal jest OK, zasięg BT jest syfiasty, bo to instalacja na RPi w metalowej obudowie i z niewyłączonym WiFi (i znalazło tylko 2 czujniki, na tym ekranie trzeba poczekać, aż pojawią się wszystkie działające bez szyfrowania, jeśli chcemy dodać szyfrowane, to trzeba je dodać ręcznie po MAC-ach i podając token (klucz szyfrowania); w przypadku niektórych innych urządzeń -ze zmiennym MAC wymagane jest UUID, ale to nie dotyczy tych termohigrometrów, o których jest ten wątek)


ten po lewej jest na sofcie atc1441 niestety nie pamiętam w jakiej wersji, a nie mam weny na sprawdzanie w/g zawartości pliku (ale raczej stara, bo to mój czujnik odniesienia przy testach zużycia baterii), a ten po prawej na pvvx v3.5.

@szopen, @strikerbest źle się zrozumieliśmy. Może nie wyraziłem się jasno więc już poprawiłem post.
Termometry w HA są widoczne. Działają bsrdzo dobrze. Nie mogę natomiast dodać ich do aplikacji Xiaomi.
Nie zależy mi na tym ale @macek o to pytał więc przy okazji flashowania postanowiłem sprawdzić.

2 polubienia

Spoko, zatem czy poczytałeś jak przywrócić klucz szyforwania?
(bo tak out of the box to z pewnością nie zadziałają z fabryczną aplikacją)

W zasadzie jaka jest różnica między softami pvvx v3.5 a tym atc1441? Który polecacie zainstalować?