SUPLA v22.11

krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

klew pisze: pn lis 14, 2022 1:53 pm
krycha88 pisze: pn lis 14, 2022 1:09 pm Czyli coś się zmieniło? Kiedyś wystarczyło tylko ustawić setValidityTimeSec dla kanału.
Poza setValidityTimeSec dla każdego kanału, trzeba też ustawić:

Kod: Zaznacz cały

  SuplaDevice.addFlags(SUPLA_DEVICE_FLAG_SLEEP_MODE_ENABLED);
  SuplaDevice.setActivityTimeout(MAX_SLEEP_TIME_SEC);
  
  ch1->setValidityTimeSec(MAX_SLEEP_TIME_SEC);
Ja "MAX_SLEEP_TIME_SEC" ustawiałem na ~2x czas spania.

Poza tymi rzeczami trzeba jeszcze zaimplementować samo usypianie urządzenia.
Dodałem tam jedną przydatną metodę do sprawdzania, czy można pójść spać:

Kod: Zaznacz cały

        if (Supla::Protocol::ProtocolLayer::IsAnyUpdatePending() {...}
Ona zwróci "true", gdy jakiś kanał ma jeszcze potrzebę wysłania czegoś, a "false" gdy wszystko jest wysłane. Po tym jak zmieni się na "false", ja robiłem mały delay, wyłączam wifi i włączam spanie.

Kolejna nowa metoda to:

Kod: Zaznacz cały

      SuplaDevice.isSleepingAllowed();
ona sprawdza, czy urządzenie jest w trybie normal lub test (trybu testowego raczej nie potrzebujesz) oraz czy nie ma zaplanowanego resetu urządzenia.

Ogólnie planuję dodać jakiś przykład ze śpiącym urządzeniem na Arduino IDE, ale jak zwykle trzeba na to znaleźć chwilę czasu :)
Dla mnie wystarczy krótkie info, że coś trzeba poprawić :)

Ogólnie przerobiłem wg tego co napisałeś i wszystko działa poprawnie. Ale mnie zastanawia jak ma się wyznaczać czas pracy urządzenia bo teraz po wybudzeniu urządzenia on się restartuje - tak ma być?
https://gui-generic-builder.supla.io/
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

krycha88 pisze: pn lis 14, 2022 3:57 pm
klew pisze: pn lis 14, 2022 1:53 pm
krycha88 pisze: pn lis 14, 2022 1:09 pm Czyli coś się zmieniło? Kiedyś wystarczyło tylko ustawić setValidityTimeSec dla kanału.
Poza setValidityTimeSec dla każdego kanału, trzeba też ustawić:

Kod: Zaznacz cały

  SuplaDevice.addFlags(SUPLA_DEVICE_FLAG_SLEEP_MODE_ENABLED);
  SuplaDevice.setActivityTimeout(MAX_SLEEP_TIME_SEC);
  
  ch1->setValidityTimeSec(MAX_SLEEP_TIME_SEC);
Ja "MAX_SLEEP_TIME_SEC" ustawiałem na ~2x czas spania.

Poza tymi rzeczami trzeba jeszcze zaimplementować samo usypianie urządzenia.
Dodałem tam jedną przydatną metodę do sprawdzania, czy można pójść spać:

Kod: Zaznacz cały

        if (Supla::Protocol::ProtocolLayer::IsAnyUpdatePending() {...}
Ona zwróci "true", gdy jakiś kanał ma jeszcze potrzebę wysłania czegoś, a "false" gdy wszystko jest wysłane. Po tym jak zmieni się na "false", ja robiłem mały delay, wyłączam wifi i włączam spanie.

Kolejna nowa metoda to:

Kod: Zaznacz cały

      SuplaDevice.isSleepingAllowed();
ona sprawdza, czy urządzenie jest w trybie normal lub test (trybu testowego raczej nie potrzebujesz) oraz czy nie ma zaplanowanego resetu urządzenia.

Ogólnie planuję dodać jakiś przykład ze śpiącym urządzeniem na Arduino IDE, ale jak zwykle trzeba na to znaleźć chwilę czasu :)
Dla mnie wystarczy krótkie info, że coś trzeba poprawić :)

Ogólnie przerobiłem wg tego co napisałeś i wszystko działa poprawnie. Ale mnie zastanawia jak ma się wyznaczać czas pracy urządzenia bo teraz po wybudzeniu urządzenia on się restartuje - tak ma być?
Ja robię na interfejsie sieciowym: disable network() przed spaniem (iterate powinno się jeszcze odpalić) i potem enableNetwork() po obudzeniu.
Jeśli używasz light sleep to nie powinno być resetu.
Wybudzenie z deep sleep wygląda jak reset.
Widzimy się na Supla Offline Party vol. 2 :!:
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

klew pisze: pn lis 14, 2022 4:06 pm Ja robię na interfejsie sieciowym: disable network() przed spaniem (iterate powinno się jeszcze odpalić) i potem enableNetwork() po obudzeniu.
Jeśli używasz light sleep to nie powinno być resetu.
Wybudzenie z deep sleep wygląda jak reset.
Ja wykorzystuję deep sleep więc czas połączenia będzie się resetował? Jeżeli tak to czy da się go nie pokazywać w informacji?
https://gui-generic-builder.supla.io/
Awatar użytkownika
pzygmunt
Posty: 18284
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

O tym co jest wyświetlane decyduje urządzenie.
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

proxxon pisze: pn lis 14, 2022 12:44 pm
klew pisze: pt lis 04, 2022 12:16 pm - dodanie wsparcia dla ikonki (i) - urządzenie przesyła dane z (i) do serwera zaraz po połączeniu i serwer to buforuje i odpowiada za urządzenie, gdy ono śpi, a apka prosi o dane
- dodanie wsparcie do przełączania w tryb konfiguracyjny z poziomu Clouda - gdy urządzenie śpi, to serwer zapisuje request i przesyła go do urządzenia w odpowiedzi na próbę rejestracji/połączenia do serwera.
1) Dzisiaj na próbę usunąłem jeden termometr (na GG 4.20.12), który ma włączone deep sleep na 8 minut. Po ponownym połączeniu do serwera zniknęła mi ikonka (i). Czy nie powinna się pojawić właśnie z buforowanym informacjami?
2) Czy to przełączanie z deep-sleep do konfiguracji działa/będzie działać z GG czy tylko z Zamelem?
Wrzuciłem poprawki do GG.
https://gui-generic-builder.supla.io/
proxxon
Posty: 93
Rejestracja: śr lis 22, 2017 2:42 pm

krycha88 pisze: pn lis 14, 2022 6:30 pm Wrzuciłem poprawki do GG.
Wgrałem GG 5.1.6 i jest lepiej. Teraz pokazuje się (i) ale "czas pracy" to ciągle 5s - czyli tak jakby w ogóle się nie odświeżał nawet w trakcie wybudzeń.
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

proxxon pisze: wt lis 15, 2022 7:25 pm Wgrałem GG 5.1.6 i jest lepiej. Teraz pokazuje się (i) ale "czas pracy" to ciągle 5s - czyli tak jakby w ogóle się nie odświeżał nawet w trakcie wybudzeń.
Wg mnie ten czas taki będzie, przy pełnym usypianiu. Trzeba by usypiać urządzenie w trybie Light-sleep, a na tym chyba nam nie zależy w GG.
https://gui-generic-builder.supla.io/
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

Pokazuje mi się na stronie logowania do Cloud link "Zarejestruj Twoją instancję.. ", choć jest już zarejestrowana.
Odpaliłem nową instalację bez rejestracji i tego linku nie ma.

Nie powinno być odwrotnie?
https://www.facebook.com/groups/supladiy/
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Powinno, poprawione, dzięki!
Awatar użytkownika
YoMan
Posty: 2250
Rejestracja: czw kwie 30, 2020 5:18 pm
Lokalizacja: Częstochowa

nie wiem czy tutaj powinienem czy w wątku dot. integracji z GH (w razie pomyłki proszę o przeniesienie postu)
czy integracja scen z GH już działa i jeżeli tak to JAK to powinno działać? Jakoś tak kombinuję ale nic mi nie wychodzi, nie mogę odpalić żadnej sceny głosowo. Gdzieś chyba było, że tej integracji nawet w GH nie widać.
YoMan
________________________________________
Wziąłem udział w Supla Offline Party 2023 ;)
ODPOWIEDZ

Wróć do „Nowości”