https://github.com/krycha88/GUI-Generic ... r.cpp#L841
Funkcja deep sleep
-
edm
- Posts: 677
- Joined: Mon Jan 15, 2018 6:18 pm
- Been thanked: 2 times
Poniżej linki do wideo gdzie widać co jak robię.
1. Korekta z poziomu supla cloud (korekta robi się x 2) https://drive.google.com/file/d/1Rp5X9N ... dsi6H/view
2. Korekta z poziomu GUI urządzenia (nie zapisuje ustawień) https://drive.google.com/file/d/1yBMO6t ... JZglg/view
Jest komunikat Przetwarzanie filmu trwa dłużej niż zwykle... (nie wiem dlaczego). Ale można pobrać i obejrzeć.
1. Korekta z poziomu supla cloud (korekta robi się x 2) https://drive.google.com/file/d/1Rp5X9N ... dsi6H/view
2. Korekta z poziomu GUI urządzenia (nie zapisuje ustawień) https://drive.google.com/file/d/1yBMO6t ... JZglg/view
Jest komunikat Przetwarzanie filmu trwa dłużej niż zwykle... (nie wiem dlaczego). Ale można pobrać i obejrzeć.
Wziąłem udział w Supla Offline Party 2023 
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Dziedziczysz po KeyValue, ale samo KeyValue to tylko narzędzie do trzymania kluczy i wartości w pamięci. Także ten config z supla-device po prostu używa KeyValue, aby w pamięci zapisać ustawienia.
Potem po resecie wszystko przepada i czyta się z pustego.
Do KeyValue trzeba dorobić "warstwę sprzętową", czyli napisać kod, który będzie to fizycznie zapisywał we flashu.
Zerknij na klasę LittleFsCofnig:
https://github.com/SUPLA/supla-device/b ... s_config.h
https://github.com/SUPLA/supla-device/b ... config.cpp
Minimum, które musisz napisać to:
```
bool init() override;
void commit() override;
void removeAll() override;
```
W init() w zasadzie jest postawienie LittleFs (u Ciebie jest używany Spifs i on też jest inicjalizowany), a następnie odczytanie pliku z configiem do pamięci i wywołanie metody:
```
initFromMemory(buf, fileSize);
```
To ładuje dane z pliku do pamięci KeyValue.
commit() to operacja zapisania. Jest tam wrzucenie całego KeyValue do bufora w pamięci:
```
size_t dataSize = serializeToMemory(buf, configMaxSize);
```
a potem całość jest zapisana do pliku.
removeAll() jest wołane przy przywracaniu ustawień fabrycznych - w zasadzie kasowanie plików.
Pozostałe metody, które są w LittleFs zaimplementowane to przechowywanie większych "blobów" i certyfikatów CA w postaci osobnych plików, bo to serializowanie do pamięci KeyValue nie jest zrobione zbyt optymalne pod kątem pamięci i przy termostatach robiło się mało miejsca.
Najlepsze suple dla Twojego domu 
-
edm
- Posts: 677
- Joined: Mon Jan 15, 2018 6:18 pm
- Been thanked: 2 times
Z poziomu GUI BoneIO w polu Korekta / Korekta dla kanałów brakuje możliwości korekty 2 czujnika BME280. Skorygować mogę tylko 1krycha88 wrote: Sat Jan 27, 2024 6:51 am Dzięki, poprawiłem. Czyli wychodzi na to, że ja nigdy nie przechowywałem konfiga![]()
czujnik BME280. Możesz dodać 2 czujnik BME280 aby był widziany w polu korekta. Bardziej obrazowo pisałem o tym tutaj viewtopic.php?p=171776#p171776
Zrobiłem aktualizację do SuplaDevice GG v7.11.3 i po tym korekty działają także po restarcie sterownika. Lecz jedno mnie zastanawia.
1. Robię korektę temperatury i wilgotności o wartość 10 z poziomu Supla Cloud zapiszę i jest ok. Po restarcie sterownika, w supla cloud nadal jest poprawna korekta, czyli ok. Lecz wchodząc na stronę GUI sterownika tam wartości temperatury i wilgotności są nadal bez korekty. Oraz w polu korekta jest nadal 0. Link do filmu https://drive.google.com/file/d/10KTEyN ... drive_link
2. Robię korektę temperatury i wilgotności o wartość 10 z poziomu GUI sterownika. Zapiszę i korekta jest uwzględniona (widoczna) zarówno z poziomu GUI sterownika jak i supla cloud, czyli ok. Po restarcie nadal jest ok. Link do filmu https://drive.google.com/file/d/1_RNGTC ... drive_link
Tak ma to działać?. Żeby mieć te same wartości temperatury i wilgotności na urządzeniu i supla cloud najlepiej zrobić je z poziomu GUI urządzenia?.
Last edited by edm on Sun Jan 28, 2024 4:30 pm, edited 3 times in total.
Wziąłem udział w Supla Offline Party 2023 
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Jesteś tego pewny? Ta wartość teraz jest odczytywana z konfiga przesłanego z cloud.edm wrote: Sat Jan 27, 2024 2:39 pm Zrobiłem aktualizację do SuplaDevice GG v7.11.3 i po tym korekty działają także po restarcie sterownika. Lecz jedno mnie zastanawia.
1. Robię korektę temperatury i wilgotności o wartość 10 z poziomu Supla Cloud zapiszę i jest ok. Po restarcie sterownika, w supla cloud nadal jest poprawna korekta, czyli ok. Lecz wchodząc na stronę GUI sterownika tam wartości temperatury i wilgotności są nadal bez korekty. Oraz w polu korekta jest nadal 0.
2. Robię korektę temperatury i wilgotności o wartość 10 z poziomu GUI sterownika. Zapiszę i korekta jest uwzględniona (widoczna) zarówno z poziomu GUI sterownika jak i supla cloud, czyli ok. Po restarcie nadal jest ok.
https://gui-generic-builder.supla.io/
-
Robert Błaszczak
- Posts: 5222
- Joined: Sat Dec 22, 2018 8:55 pm
- Location: Zielona Góra
- Has thanked: 37 times
- Been thanked: 27 times
Nowa instalacja GUI na Wemosie D1 tylko 1 szt. DS18B20. Konfiguracja i rejestracja w Cloud. Korekta wprowadzona w Supla Cloud jest przesłana na ESP i widoczna w konfiguracji WEB-GUI.
Ponowna instalacja z opcją czyszczenia pamięci. Konfiguracja i rejestracja w Cloud. Korekta wprowadzona w WEB-GUI powoduje wyczyszczenie konfiguracji w ESP i przejście Wemosa w tryb konfiguracji. Po połączeniu się z siecią emitowaną przez Wemosa mamy pustą konfigurację.
Ps.
Krystian, w jakim celu jest zrobiona możliwość ustawiania korekty z poziomu WEB-GUI? Nie byłoby prościej, jakby przesyłać do ESP wartość korekty z Cloud, a w WEB-GUI ta wartość byłaby tylko wyświetlana (do odczytu)? A to już działa poprawnie.
Ponowna instalacja z opcją czyszczenia pamięci. Konfiguracja i rejestracja w Cloud. Korekta wprowadzona w WEB-GUI powoduje wyczyszczenie konfiguracji w ESP i przejście Wemosa w tryb konfiguracji. Po połączeniu się z siecią emitowaną przez Wemosa mamy pustą konfigurację.
Ps.
Krystian, w jakim celu jest zrobiona możliwość ustawiania korekty z poziomu WEB-GUI? Nie byłoby prościej, jakby przesyłać do ESP wartość korekty z Cloud, a w WEB-GUI ta wartość byłaby tylko wyświetlana (do odczytu)? A to już działa poprawnie.
Pozdrawiam
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Kiedyś nie było takich bajerów jak dzisiaj i jest to pozostałość sprzed kilku lat. Jak juz pisałem wcześniej, jestem za usunieciem tej możliwości.Robert Błaszczak wrote: Sat Jan 27, 2024 3:52 pm Krystian, w jakim celu jest zrobiona możliwość ustawiania korekty z poziomu WEB-GUI? Nie byłoby prościej, jakby przesyłać do ESP wartość korekty z Cloud, a w WEB-GUI ta wartość byłaby tylko wyświetlana (do odczytu)? A to już działa poprawnie.
https://gui-generic-builder.supla.io/
-
Robert Błaszczak
- Posts: 5222
- Joined: Sat Dec 22, 2018 8:55 pm
- Location: Zielona Góra
- Has thanked: 37 times
- Been thanked: 27 times
No właśnie pamiętałem, że była na ten temat dyskusja, ale nie pamiętałem Twojego stanowiska w tej kwestii. GUI-Generic to Twoje i @Goral64 dzieło, więc decyzja jest w Waszych rękach / głowachkrycha88 wrote: Sat Jan 27, 2024 4:04 pm Kiedyś nie było takich bajerów jak dzisiaj i jest to pozostałość sprzed kilku lat. Jak juz pisałem wcześniej, jestem za usunieciem tej możliwości.
Pozdrawiam
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
