Czujnik Temperatury BLE nagle stracił zasięg

Hej,
Mam kilka czujników temperatury BLE Xiaomi Mijia podpiętych na donglu pod serwer na którym mam HA.
Do tej pory wszystkie działały świetnie aż tu nagle bez żadnych zmian położenia czy zastawienia jeden z nich przestał sięgać do serwera, fakt jest daleko, zawsze był na styk ale sięgał przez rok.
Mogę coś z tym fantem zrobić?
Wymieniłem już baterię, miała 50%,teraz jest 100% (to nie jest takie oczywiste jakby ktoś chciał się zaśmiać bo wymieniałem też inne czujniki i w jednym mam 90% od rzekomo nowej baterii)
W czujnikach mam wgrany custom rom ATC 3.7 w którym zwiększyłem moc dbm na max ale nie pomogło
Z bliska oczywiście czujnik działa. Mogę coś z tym fantem zrobić? Ani czujnika ani serwera nie jestem już w stanie bliżej postawić.
Dodanie bramki dla jednego czujnika - trochę bez sensu.

Co do softu to sugeruję ten od @pvvx z rozgłaszaniem custom - aktualizacja tylko na świeżym ogniwie (każda aktualizacja wymaga bardzo dużej ilości energii w stosunku do normalnej pracy, więc większość czujników mam wciąż na pvvx v3.2 lub nawet oryginalnym atc1441 - najbliższa aktualizacja zaplanowana po wymianie ogniwa, zaledwie od paru dni mam nowy czujnik HW B2.0 i ostatnie pvvx 3.7), na pvvx wskazanie baterii 80% jest stanem normalnym no chyba, że autor coś zmienił od wersji 3.0/3.1/3.2? (jest to odpowiednik “zwykłego” 100%), a zakres między 80% a 100% służy do rozpoznawania jakości ogniw, bo przecież nie da się uzyskać wskazania ponad 100% - byłoby ono wbrew założeniom HA i logiki (zwykle tylko przez pierwsze kilka godzin, max kilka dni można liczyć na wskazanie 100% - to zależy też od warunków otoczenia - zasadniczo temperatury, ale przede wszystkim od jakości ogniwa).

Co to znaczy nagle? - czy to mogło być powiązane z aktualizacją czegokolwiek istotnego (firmware, integracji PBM, HA, systemu) - wersje zawsze można cofnąć w celu testu.

Masz kilka? - najprostszy test - zamień miejscami.

Czy to było miejsce o szczególnie dużej wilgotności (np. łazienka/domowa rabatka/piwnica) lub miejsce na zewnątrz (warunki atmosferyczne generalnie szybko niszczą elektronikę do tego nie dostosowaną), jeśli tak, to rozbierz na czynniki pierwsze i umyj dokładnie PCB i styki w IPA (wyświetlacza i gumy przewodzącej nie ruszaj!).

Powyżej uwzględniłem zmiany starzeniowe, a poniżej 3 słowa o otoczeniu.

W każdej z technologii bezprzewodowych istotna jest propagacja fal i zakłócenia, nie znam twoich warunków lokalnych, ale to że nie zmieniłeś położenia czujnika nie znaczy, że się warunki nie zmieniły- możliwe przyczyny: przemeblowanie, nawet przestawienie roślin może mieć wpływ, co ważniejsze wcale nie musi to dotyczyć linii prostej między donglem, a czujnikiem - sygnał mógł przychodzić z odbicia; a w kwestiii zakłóceń - zmiana kanału działania WiFi w AP, urządzenia korzystające z WiFi w innych miejscach (nowy sprzęt np.), może sąsiad coś uruchomił, w przypadku pracy na granicy zasięgu naprawdę dowolny czynnik może na tyle zmienić warunki, że to przestanie działać.

Możesz mi nie wierzyć, ale ma sens (ile kosztuje najtańsze ESP32?) w tej chwili jest możliwe zbudowanie “przezroczystego przekaźnika” (jakkolwiek wciąż używam zwykłej bramki “starego typu”, ale mam w planie zmianę)

Tak to jest łazienka. Spróbuję więc zrobić to czyszczenie o którym wspomniałeś.
Tymczasowe rozwiązanie - podłączyłem adapter bluetooth dongle przez kabelek co mi dało jakieś pół metra i czujnik zaskoczył choć łapie co parenaście minut. No i niestety ale kabelek z donglem leży mi na środku pokoju co nie może tak zostać na dłużej.

ps. żadnych zmian softu ani położenia czujników, przemeblowania czy ruszania roślinek nie robiliśmy, wszystko co zacząłem kombinować było już po utracie zasięgu, stąd moje zdziwienie, że może się tak “zepsuć”, możliwe że to ta wilgoć więc spróbuję się wziąć za to.

Jest z tym trochę roboty, więc sugeruję zamianę czujników miejscami (jeśli masz przyklejone, to przecież można odpiąć od “plecków”).
Przy okazji rozbiórki sugeruję impregnację PCB, a czyszczenie “po fakcie” niestety wcale nie musi przywrócić stanu zbliżonego do fabrycznego.

Trochę dziwne, bo do integracji PBM wychodzą aktualizacje co parę dni (teoretycznie taka aktualizacja nie powinna mieć wpływu na czujnik, ale podstawowym ruchem gdy cokolwiek przestaje działać po aktualizacji jest cofnięcie wersji do dotychczas używanej, w HACS można zmienić wyświetlanie ilości wersji z ostatnich 5 na odpowiednio więcej jeśli potrzeba).
W HA chyba z wersją 2022.7 nadeszła jakaś zmiana w działaniu BT (u mnie nie miało to wpływu na działanie PBM, ale nie wiem co konkretnie zostało zmienione).

1 Like

U mnie była wersja 3.5
Po zamianie czujników jest lepiej choć też ledwo się łapie. Niemniej chyba tak zostawie tyle że teraz przydałoby się zaimpregnować tą płytkę, muszę kupić ipa oraz ten plastik70.
To mi się przyda do impregnacji czujnika na dworzu, co śmieszne tamten jakoś działa bez problemów i to przez zimę też działał jak pamiętam.

U mnie czujnik zamontowany na zewnątrz udało się odratować przez wymycie i wysuszenie (po totalnym zalaniu) i po impregnacji pracuje do dziś, a jak widać tutorialek impregnacji pisałem jakieś 1,5 roku temu.

Na 1 czy 2 czujniki to będzie wydatek przekraczający znacznie ich wartość (inna rzecz, że to się nie starzeje i może się przydać jeszcze wielokrotnie) - można zawsze spróbować lakieru własnej produkcji (z rozpuszczonego styropianu, tylko najpierw trzeba wypróbować jego jakość nie na elektronice, jeśli przy rozpuszczaniu utworzy się “glut” tzn. to nie był odpowiedni rozpuszczalnik), natomiast IPA od biedy można zastąpić denaturatem lub spirytusem spożywczym (byleby miały “woltaż” minimum 95%, bo od początku covidowych czasów, spotyka się w sklepach podróbki typu “denaturent” czy “denatural” stanowiące mieszankę nieznanych substancji w tym prawdopodobnie sporej ilości wody czy “spirytusy nalewkowe” również z zawartością 30%-40% wody!).

PS przypomniałeś mi o aktualizacji fw :stuck_out_tongue: (akurat niedawno zmieniałem ogniwo w czujniku na zewnątrz, a tam był jeszcze pierwotny soft od atc1441).
W “jajku” jest zmiana ogniwa, widać też że wskazanie powyżej 80% to tylko kilka dni - dawniej ten czujnik był na sofcie atc1441, teraz jest na pvvx 3.7 (w tym momencie, więc zmieniłem mu nazwę, ale jak widać soft atc1441 też stosuje ten sam algorytm wyznaczania stanu baterii, jakkolwiek nie wiem od której wersji, ale te najstarsze chyba miały inaczej; nowe ogniwo to bodajże - na 99% - GP, stare padło przy wskazaniu koło 20% i był to albo oryginalny fabryczny chińczyk albo też GP - to jest nie do ustalenia, bo oczywiście cudze ręce muszą dotknąć i pomieszać :stuck_out_tongue: ), wszystkie czujniki to HW B1.4 oprócz tego jednego nowego HW B2.0 (pod nazwą test, bo póki sprawdzam zgodność wskazań ze starymi) odpalony dosłownie parę dni temu i nadal wskazuje 100% (ogniwo fabryczne, nie otwierałem go jak dotąd)

IPA mi się przyda do innych rzeczy też i tak miałem kupić a tym plastik70 wysmaruję co się da jak zostanie, mam 6 czujników do tego nowy tablet a poprzedni laska zalała i dotyk w górnej części przestał reagować to ten nowy tablet chociaż maznę po krawędziach itp.

Poza tym myślałem tez o innych czujkach typu otwarcie bramy (jakby ktoś chciał furę pożyczyć) tyle że właśnie nie chciałem tego robić bo te czujniki by raczej mocno zamokły ale jeśli je zabezpieczę to może przeżyją.

A co do baterii to u mnie na tym pvvx 3.7 ta bateria co pokazywała 90% teraz pokazuje 92% :stuck_out_tongue: Cóż, lepiej w tą stronę niż w drugą.

To jest lakier, więc byle czego bym nim nie malował (małe opakowania to spray, więc tym bardziej trudny w aplikacji) - zobacz jakie części zabezpieczyłem przy impregnacji, zalakierowanie wszystkiego może się skończyć bezpowrotnym uszkodzeniem urządzenia.

Zależy co to za czujniki i jak zbudowane, ale jeśli da się w sensowny sposób zaimpregnować to przeżyją wiele lat nawet przy wilgotności względnej rzędu 90%.

Wystarczy, że jest wyższa temperatura i wskazanie rośnie.


PS na pierwszym wykresie u góry na końcu widać też szpilkę w dół - to skutek aktualizacji (to jest naprawdę duży wydatek energetyczny), ale wkrótce ogniwo powinno się zregenerować (zakładam, że chińskie edit: japońskie? ogniwo GP nie jest totalnym paździerzem) i wskazanie wróci do normy.

Hmm blister GP mnie zaskoczył - mam CR2032 na polski rynek i są oznaczone “made in Japan” chociaż, gdy kiedyś kupowałem na zachodzie Europy ten brand, to były na 100% chińskie? Wygląda na to, że importer sprowadza od różnych dostawców.

Ciąg dalszy - przejrzałem zapasy wszelkich ogniw pierwotnych: GP inne typy (oprócz CR1620 też na polski rynek, tę Japonia?) mają chińskie; Energizer i Murata - Indonezja; Vinnic, Ikea (strasznie kiepskie CR2032, mimo ceny wielopaka odradzam) i inne noname jak np. Lexmann - ChRL; Energizer - Niemcy lub Belgia (nie sądziłem, że Europa zachodnia jeszcze coś takiego produkuje), ale mają też ChRL.

PS warto pamiętać, żeby rozłączyć się webowym flasher’em po ustawieniu parametrów ;D (właśnie zapomniałem o tym i się zastanawiałem czemu ogniwo nie odżywa…)
flasher_a_ogniwo_2022-07-10_17-49

Moje nówki to Energizer, te fabryczne to nie wiem co tam siedziało ale coś chińskiego.

Mam teraz problem z drugim czujnikiem (to żaden z tych ostatnio podmienianych tylko zupełnie inny) który finalnie po tych miszmaszach wylądował najbliżej adaptera bluetooth no i… on mi łączy teraz najrzadziej 20min-1h, co jest? Wymieniona bateria, bardzo blisko leży jakieś może metr od adaptera tyle że przez ścianę (ale zawsze tak było - tyle że wcześniej było jakieś 1,5m-2m od niego)

Jak jest za blisko czujnik to też nie może być? Przecież bluetooth telefony to się kładzie obok siebie żeby transfer był jak największy, z BLE tak nie jest?

Nie wiem już mnie trochę męczą te czujniki BLE o od dawna myślę o przesiadce na Zigbee, może to już pora…

Nigdy nie stwierdziłem podobnych problemów w normalnej instalacji (miejsce na testowanie czujników mam mniej więcej metr od NUCa, na którym pracuje HA).
A tam gdzie brakuje zasięgu BLE, używam po prostu modułu ESP32 w charakterze bramki (czujniki korzystające z bramki nie są umieszczone na tych wykresach, tu są tylko te bezpośrednio komunikujące się z donglem/kartą BT).

Natomiast na tzw. stole warsztatowym gdzie np. mam włączony komputer bez obudowy czy RPi z dyskiem na mostku USB3 komunikacja bezprzewodowa BLE czy Zigbee bywa wręcz niemożliwa, więc zastanów się czy komputer, którego używasz do HA nie jest sam w sobie źródłem zakłóceń.

Co do samej mocy sygnału to na sofcie pvvx można ją regulować (i chyba nawet w jakimś starszym wątku pokazywałem wykres przed i po redukcji mocy), ale UWAGA i jakość i moc sygnału zależą też od użytego dongla BT - na długookresowym wykresie widać zmiany dongli (obecna “górka” to skutek użycia adaptera BT wbudowanego na karcie WiFi intela fabrycznie wbudowanej w NUCu, a przez parę miesięcy wcześniej miałem dongla USB, na wykresach widać dziury, ale to skutek eksperymentów ze sprzętem i czasem z braku czasu po prostu przy migracjach przywracałem nieco nieświeży backup, zamiast wykonanego “przed chwilą” - to sytuacja związana z migracjami między różnymi dyskami ssd i eMMC z których powstały uzupełnienia w tutorialkach o HAOS-generic)
RSSI_BLE_różne_dongle_Screenshot 2022-07-11 at 15-10-06 Przegląd – Home Assistant

Jakkolwiek fluktuacje sygnału zależą od tylu czynników środowiskowych, że to nie jest do ogarnięcia - niżej wykres z takiego odcinka czasowego, w którym sprzęt nie był modyfikowany (a czujniki nie zmieniały swojego położenia, komputer też nie, szczególnie, że jest zamocowany na wieszaku Vesa, przemeblowania też nie było)

Jeśli zmienisz czujniki BLE na bateryjne czujniki Zigbee, to nie będzie dużej zmiany poza znacznie rzadszym raportowaniem stanu (element standardu umożliwiający projektowanie urządzeń bateryjnych by mogły pracować ponad 2 lata na jednym ogniwie), jeśli nie zbudujesz kompletnej sieci kratowej Zigbee z dużą ilością urządzeń zasilanych sieciowo, to problemy prawdopodobnie pozostaną podobne.

Te tanie czujniki BLE (LYWSD03MMC) stanowią cenową i jakościową rewolucję na rynku, ale zastosowane w nich MCU Telink’a nie są specjalnie nowoczesne, więc cud nie nastąpi i nie da się na nie wypuścić softu który byłby znacząco lepszy niż te alternatywy, które już mamy dzisiaj (i tak ponad rok pracy na ogniwie przy czujniku raportującym parametry kilka razy na minutę jest doskonałym osiągnięciem).
Natomiast same układy pomiarowe (czyli realne podzespoły czujników) są w zasadzie już wszędzie stosowane ze zbliżonych rodzin.

bardzo możliwe bo to stara puszka mini PC z i5-2400 na pokładzie. Small Form Factor.

No właśnie i taka jest kwintesencja całej tej dramy, nie do ogarnięcia :stuck_out_tongue:

Ponoć zasięg jest znacznie lepszy? Jakbym brał Zigbee to i nowe czujniki bym też brał a z tego co widzę to najtańsze termometry są od 40zł więc znacznie drożej niż BLE, nie będzie to lepiej działać?

Czy rozumiesz jaka jest różnica między budową twojej sieci BLE (w architekturze scentralizowanej, w sumie tu akurat używasz tylko trybu pasywnego, czyli nasłuchiwania transmisji beaconów, ale to nie zmienia architektury) i dlaczego Zigbee może działać lepiej (sieć mesh, pod warunkiem, że będziesz miał routery Zigbee w wystarczającej ilości) i dlaczego może nie być lepiej jeśli ograniczysz się tylko do urządzeń bateryjnych (bez routerów będzie scentralizowana)?

Za 40 zł to można znaleźć ESP32 i zbudować “przekaźnik” (dzięki czemu nieco zdecentralizujesz swoją sieć BLE).


Nie znając warunków lokalnych mogę tylko zgadywać, że problemem jest jakieś źródło zakłóceń (nie wiem jakie), ale jeśli to prawda, to te same zakłócenia mogą wpływać negatywnie na działanie sieci Zigbee (bo i BT i Zigbee pracują na bardzo zbliżonych częstotliwościach - w paśmie 2,4GHz, gdzie pracuje też miażdżąca większość sieci WiFi, w dodatku obie te technologie używają utraniskie moce).

Te fluktuacje siły sygnału będą występowały w każdej z tych technologii (bo w danym paśmie działają dokładnie te same czynniki środowiskowe).

Bez eksperymentów z Twojej strony nie ma szans na rozwiązanie problemów - w szczególności brak sygnału przy tak malej odległości od dongla jest podejrzany.
(powyżej przy aktualizacji firmware zostawiłem aktywne połączenie telefonu z czujnikiem - oczywiście wtedy wskazań brak, a bateria jest mocno drenowana)
Monitorujesz stan baterii?

W nowych wersjach pvvx jest możliwość ustawienia pinu, co uniemożliwi przypadkowe parowanie osób postronnych z czujnikiem (jakkolwiek nie używałem nigdy tej opcji).

Jeśli to nie będzie konieczne to wolałbym nie robić kolejnych bramek/kolejnych routerów zigbee, najprościej będzie kupić ten router zigbee + jeden jakiś najtańszy czujnik i sprawdzić zasięg we wszystkich możliwych miejscach, jeśli będzie ok to kupię kolejne, jeśli nie to poprzestanę na BLE.

Gwarantuję Ci, że zasięg bedzię nie najlepszy ale wystraczy kilka routerów (urzadzeń Zigbee) i można odczytywać dane z czujników w sąsiednich budynkach (np. z garażu) :slight_smile: .

Zigbee jest zbudowane inaczej - dongle USB (czy też urządzenie dostępne po sieci LAN bo są i takie) nazywa się koordynator, bo zarządza cała siecią (to taki mniej więcej odpowiednik routera w sieci LAN) - w danej sieci może być tylko jeden.
Routery Zigbee to po prostu urządzenia takie jak żarówki czy moduły zasilane sieciowo (nie wszystkie) one nie mają nic wspólnego z koordynatorem, ale stanowią “sam sos” sieci kratowej, natomiast bateryjne czujniki są urządzeniami końcowymi (i bez routerów działają z jednym koordynatorem porównywalnie do twojej sieci BLE z jednym donglem BT, zależnie od sytuacji może być lepiej a może być i gorzej) dlatego pytałem czy rozumiesz jak to działa…

No to trochę wałek bo wszędzie się reklamują, że zigbee to sięga do 100m, rozumiem że sięga ale dopiero przy kilku meshach czy jak to tam się zowie.

Jaki wałek :smiley: przecież nawet zasięg BLE też sięga i ze 100m w optymalnych warunkach.

Reklama dźwignią handlu, a prawa fizyki są nieprzekraczalne.

Ale z tymi warunkami bywa różnie - popatrz na prosty przykład z życia obrazujący zjawiska falowe:

  • jeśli do kogoś będziesz krzyczał w otwartym polu (warunki idealne) to usłyszy Cię i ze 100m
  • jeśli to zrobisz w lesie to raczej chyba nie liczysz, że ktoś usłyszy z takiej odległości (ośrodek o dużym tłumieniu)
  • zrób to samo na tym samym polu w trakcie dobrze nagłośnionego koncertu (przykłady opener/polandrock) - no nie dasz rady usłyszeć się z kimkolwiek z odległości parunastu metrów (zakłócenia)
  • ale można do sprawy podejść też inaczej: użyj megafonu → usłyszą Cię dalej (wzmacniacz mocy), no ale ta druga osoba musi użyć podobnych środków abyś usłyszał odpowiedź.

Oczywiście zdarzają się konstrukcje ze zmodyfikowanym torem antenowym oraz wzmacniaczami mocy w torze nadawczym (z punktu widzenia regulatora rynku zapewne to są konstrukcje nielegalne, ale przecież nikt nie sprawdza parametrów konstrukcji DIY, jedynie nie da się ich wprowadzić do normalnego handlowego obiegu), ale Zigbee wymaga komunikacji dwukierunkowej, więc “dopał” w nadajniku koordynatora nic nie da, jeśli koordynator swoim torem odbiorczym nie usłyszy odpowiedzi, a chyba nie widziałeś czujników Zigbee z anteną zewnętrzną :stuck_out_tongue: (bo o wzmacniaczu mocy w torze nadawczym czujnika nie ma co marzyć - warunki zasilania z ogniwa o bardzo ograniczonej pojemności).

noo w idealnych warunkach ale czy ktoś kupuje ble lub zigbee do używania w próżni i to najlepiej z dala od wszelkich większych ciał niebieskich :stuck_out_tongue: no raczej nie.

Liczyłem, że zigbee skoro działa na “podobnej” zasadzie co wifi to i zasięg będzie miał podobny bo wifi jakby nie patrzeć niewiele lepiej ogarnia od bluetooth ale jednak trochę dalej sięga przynajmniej u mnie.

@Foxeu tylko pytanie, które BT porównujesz z WiFi. Bo są różne klasy i tym samym różne zasięgi. Większość sprzętu domowego działa w takich klasach, gdzie zasięg max. jest do 10 metrów. W specyfikacji są 3 class z mocą 1 mW (1m), 2,5 mW (10m) i 100 mW (100m). Nie myl tego ze standardem BT, który określa trochę inne parametry. Na urządzeniu masz przeważnie napisane w jakiej klasie pracuje.

Zigbee i działa, i nie działa na podobnej zasadzie co WiFi - zależy jak się spojrzy na to zagadnienie :smiley:
Powyżej chciałem Ci uzmysłowić tylko, że budowa sieci Zigbee bez użycia routerów Zigbee (podpiętych na stałe do zasilania takich jak np. żarówki) może nie mieć sensu.


@gregusz
Próbowałem znaleźć jakiekolwiek informacje dostarczone przez producenta, ale o klasie ani słowa (jakkolwiek nie sądzę, aby czujniki BLE były z klasy o mocy porównywalnej z WiFi).

Na fotce (takiej nie za ostrej, bo prostowałem perspektywę i wyszło na to że ostrość była na kodach kreskowych :stuck_out_tongue: ) właśnie te czujniki o których tu mowa (a właściwie ich pudełka) niestety po innym sprzęcie BLE nie ocalały mi pudełka (tylko te pozostały, bo akurat trzymam w nich niewykorzystane akcesoria, by się nie zastanawiać do czego służą)

W sumie specyfikacja BLE nie określa z góry wypromieniowanej mocy (więc na 100% są wykorzystywane klasy typowe dla BT), ale z założenia o maksymalnie długiej pracy na ogniwie o znikomej pojemności to musi być znikoma moc (typowe ogniwo CR2032 zawiera ładunek energii do wykorzystania rzędu 0,6Wh=~2kJ i tyle wystarcza na ~ponad rok pracy). Hehe, ale skojarzenie mi się pojawiło - to jest równowartość energii zawartej w ćwiartce drażetki TicTac.

Druga kwestia jest taka, że PBM wykorzystuje pewien trik (zamiast aktywnej transmisji, oczywiście nie w przypadku każdego urządzenia, ale w tym wypadku akurat ta metoda jest wykorzystywana) - otóż wykorzystywane są pakiety rozgłoszeniowe (tryb beacon).