Hej,
Od wspomnianej wersji zauważyłem złe/dziwne działanie modułu z deepsleep. Wcześniej było tak, że w logach widziałem info, że za 30s moduł idzie spać - teraz tego nie ma (ale nie o to chodzi, to jest tylko dodatkowy objaw). Zasypianie jest natychmiastowe. Wydaje mi się że być może zachodzi taka sytuacja, że moduł po komendzie "Changing activity timeout to 1080" (2*9min) za szybko zasypia powodując, że serwer dalej myśli że jest to 2min. Po tych 2 minutach kanał jest niedostępny w aplikacji (rozłączony w Cloud). Sama ikonka (i) też jest pusta (a miała mieć buforowane dane). Być może nie chodzi o to ale ewidentnie jest problem bo urządzenie po chwili znika a i logi temperatury z takiego kanału są bardzo "pocięte" (przy dłuższym deepsleep niż 10 min).
Problemy z DeepSleep od wersji 5.1.6
Dodatkowa obserwacja:
Czasami w logach wskakuje dodatkowa pozycja: Wtedy ikonka (i) widać, że działa z buforowaną zawartością i moduł jest dostępny dłużej. Po ponownym wybudzeniu jest jak poprzednio choć czasami wartości temp są widoczne i moduł jest dostępny (nie ma tu jakiegoś wzorca)
Czasami w logach wskakuje dodatkowa pozycja: Wtedy ikonka (i) widać, że działa z buforowaną zawartością i moduł jest dostępny dłużej. Po ponownym wybudzeniu jest jak poprzednio choć czasami wartości temp są widoczne i moduł jest dostępny (nie ma tu jakiegoś wzorca)
Kontynuując monolog (chyba tylko u mnie jest ten problem) udało się dojść do pewnego rozwiązania. Tak jak pisałem wcześniej, wgrałem starszy soft i problemy ustały:
Następnie dodałem
przed pójściem spać w linii https://github.com/krycha88/GUI-Generic ... ep.cpp#L31 i nowy soft (5.3.x) zaczął działać dobrze:
Nie będę robił merge requesta bo pewnie da się to zrobić lepiej. Prosiłbym @krycha88 o poprawki.
Następnie dodałem
Kod: Zaznacz cały
delay(3000);
przed pójściem spać w linii https://github.com/krycha88/GUI-Generic ... ep.cpp#L31 i nowy soft (5.3.x) zaczął działać dobrze:
Nie będę robił merge requesta bo pewnie da się to zrobić lepiej. Prosiłbym @krycha88 o poprawki.
Nie traktuj braku odpowiedzi jako braku chęci pomocy, po prostu zajmuję się teraz innym tematem A do tego usiądę jak znajdę chwilę czasu.
@klew podpowiesz czemu to się tak dziwnie zachowuje i dlaczego delay przed ESP.deepSleep niby rozwiązało problem?
@klew podpowiesz czemu to się tak dziwnie zachowuje i dlaczego delay przed ESP.deepSleep niby rozwiązało problem?
https://gui-generic-builder.supla.io/
Luzik, nie mam z tym żadnego problemu - wiadomo, soft jest darmowy a i tak robicie kawał dobrej roboty.
Bardziej chodziło mi o to, że zacząłem się zastanawiać czy to nie jest jakiś błąd po mojej stronie skoro nikt nic nie pisze o podobnych objawach. To moje rozwiązanie może poprawiać ale nie rozwiązywać źródła błędu, może tylko odwleka w czasie inne potencjalne błędy. W każdym razie starszy soft nie usypiał się tak szybko i być może jeszcze jakaś komunikacja miała szanse się dokończyć (np. set activity timeout).
Zerknąłem tylko na ten fragment kodu, co powyżej w poście link się pojawił.
Możliwe, że Wi-Fi nie zdąża wszystkiego wysłać zanim nie uśpisz urządzenia. Ja to spanie robiłem tak, że jak nie było "any update pending" to najpierw mam małego delaya (200 ms), potem wyłączam sieć Wi-Fi na ESP i dopiero po tym kładę go spać.
Obstawiam, że takie łagodne złożenie sieci powoduje, że wszystkie pakiety najpierw są wysłane (flush) zanim Wi-Fi zostanie wyłączone.
Widzimy się na Supla Offline Party vol. 2
Czy jesteś wstanie przetestować kod z mniejszym delay np. 200, 250?proxxon pisze: ↑wt gru 13, 2022 8:03 am Kontynuując monolog (chyba tylko u mnie jest ten problem) udało się dojść do pewnego rozwiązania. Tak jak pisałem wcześniej, wgrałem starszy soft i problemy ustały:
old_gg.png
Następnie dodałemKod: Zaznacz cały
delay(3000);
przed pójściem spać w linii https://github.com/krycha88/GUI-Generic ... ep.cpp#L31 i nowy soft (5.3.x) zaczął działać dobrze:
new_gg_with_fix.png
Nie będę robił merge requesta bo pewnie da się to zrobić lepiej. Prosiłbym @krycha88 o poprawki.
https://gui-generic-builder.supla.io/