Dzięki! Będę szczery - ten czujnik to była dla mnie solidna lekcja pokory. Wydawać by się mogło, że temat ZigBee mam przerobiony od A do Z a tu nagle coś takiego...Jaroni wrote: Sun Apr 26, 2026 3:32 pmEdytowałem w międzyczasie poprzednią odpowiedź. Łukaszu, żebyś tak wszystko inne dopracował jak ten czujnik, to będziesz niezastąpiony i nie będziesz miał spokojuvajera wrote: Sun Apr 26, 2026 3:24 pmMój czujnik pracuje już prawie trzy godziny (1.5.20) i trzyma czas z dokładnością do jednej minuty, regularnie raportując stan temperatury i wilgotności.Jaroni wrote: Sun Apr 26, 2026 3:01 pm Jeszcze w nocy chyba zaktualizowała się data i czas, ale w tej chwili 18 minut się spóźnia w urządzeniu (jest 17:02, a w urządzeniu pokazuje 16:44). Nagle, jak wysłałem tę odpowiedź, czas zaktualizował się z 1 minutowym spóźnieniem, jakby ktoś ręcznie tym sterował. Wartości temperatury i wilgotności też nie są takie same na wyświetlaczu jak w Cloud i apce, też nieznaczna różnica. Co jednak ciekawe, ikonkę WiFi faktycznie stale widać w pełni, to już duży sukces. Zaraz wgram 1.5.20 i zaraportuje spostrzeżenia.![]()
Kilka słów komentarza, bo walczyłem z tym czujnikiem prawie tydzień i byłem już gotowy poddać się, nie wspominając już o tym, że odebrało mi to zapał do innych tematów związanych z bramką
Od samego początku podjąłem właściwy trop - ten czujnik wysyła regularnie zapytanie do bramki - coś w rodzaju ping i bramka powinna mu odpowiedzieć odpowiednio sformatowanych komunikatem. Zaimplementowałem tę odpowiedź, ale okazało się, że z jakiego powodu czujnik ją ignoruje i po kilku minutach przestaje się komunikować z bramką. Przerobiłem kilkanaście różnych pomysłów, jak ewentualnie zmienić ten komunikat i kilka razy pojawiało się światełko w tunelu...niestety ostatecznie okazywało się ono rozpędzonym Pendolino.
Wczoraj dostałem jakiegoś objawienia - otóż biblioteka ZigBee od Espressif nie daje standardowo dostępu do tzw. transaction sequence number (TSN) - to jest numer przypisany każdej wiadomości, więc napisałem własny kod odpowiedzi na ten ping z czujnika.
Ta odpowiedź była identyczna z moją pierwszą próbą, ale z jednym drobnym wyjątkiem - otóż TSN tej odpowiedzi był identyczny z TSN zapytania z czujnika - domyślnie biblioteka ZigBee przypisuje takiej odpowiedzi losowy numer.
Ta drobna zmiana rozwiązała problem natychmiastowo, a przy okazji dała mi temat do przemyśleń - może to rozwiązanie ma więcej zastosowań niż komunikacja z tym konkretnym czujnikiem.
