Ja dane dotyczące numeru kanału, czy histerezy zawsze przechowywałem po swojej stronie. Ale wtedy był problem, że zmieniając dane w cloud nie potrafiłem ich zaktualizować po swojej stronie, stąd ten temat viewtopic.php?p=162984#p162984.
Aktualnie nie ustawiam tych parametrów w setup termostatu a jedynie polegam na Supla::Storage i Supla::Config i ustawiam te parametry metodami z klasy HvacBase.
Termostat DIY do testowania :)
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 135 times
- Been thanked: 137 times
Musisz odróżnić te etapy "budowania urządzenia", od zwykłej konfiguracji usera. Ustawienie domyślnego termometru powinno się odbywać przed inicjalizacją SuplaDevice, a więc powinno być zapisane w konfiguracji GG i ustawione na HVAC przed SuplaDevice.begin(). Ale to jest "domyślny" termometr, który potem może być zmieniony przez usera. Tzn. jeśli w runtime będzie użyta metoda setMainTherm... to ona zmieni Config.krycha88 wrote: Tue Oct 17, 2023 7:49 am Ja dane dotyczące numeru kanału, czy histerezy zawsze przechowywałem po swojej stronie. Ale wtedy był problem, że zmieniając dane w cloud nie potrafiłem ich zaktualizować po swojej stronie, stąd ten temat viewtopic.php?p=162984#p162984.
Aktualnie nie ustawiam tych parametrów w setup termostatu a jedynie polegam na Supla::Storage i Supla::Config i ustawiam te parametry metodami z klasy HvacBase.
Najlepsze suple dla Twojego domu 
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Miałem to w taki sposób zrobione i wtedy z tego co pamiętam to nadpisywały się parametry z cloud moimi parametrami które ustawiałem w setup(). Drugi problem to był taki, że jak coś zmieniłem w cloud bez aktualizacji po swojej stronie to miałem rozbieżność parametrów między cloudem a parametrami po swojej stronie.klew wrote: Tue Oct 17, 2023 7:54 am Musisz odróżnić te etapy "budowania urządzenia", od zwykłej konfiguracji usera. Ustawienie domyślnego termometru powinno się odbywać przed inicjalizacją SuplaDevice, a więc powinno być zapisane w konfiguracji GG i ustawione na HVAC przed SuplaDevice.begin(). Ale to jest "domyślny" termometr, który potem może być zmieniony przez usera. Tzn. jeśli w runtime będzie użyta metoda setMainTherm... to ona zmieni Config.
https://gui-generic-builder.supla.io/
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 135 times
- Been thanked: 137 times
Gdzie w setup() to było robione? Powinno być przed SuplaDevice.begin().krycha88 wrote: Tue Oct 17, 2023 8:24 am Miałem to w taki sposób zrobione i wtedy z tego co pamiętam to nadpisywały się parametry z cloud moimi parametrami które ustawiałem w setup(). Drugi problem to był taki, że jak coś zmieniłem w cloud bez aktualizacji po swojej stronie to miałem rozbieżność parametrów między cloudem a parametrami po swojej stronie.
Jeśli było po, to Twoje ustawienia będą nadpisywać.
Najlepsze suple dla Twojego domu 
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Na pewno było przed SuplaDevice.begin(). Ale nie zmienia to faktu, że wtedy miałem rozbieżność między cloudem a swoimi danymi co było mocno mylące.klew wrote: Tue Oct 17, 2023 8:26 am Gdzie w setup() to było robione? Powinno być przed SuplaDevice.begin().
Jeśli było po, to Twoje ustawienia będą nadpisywać.
https://gui-generic-builder.supla.io/
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 135 times
- Been thanked: 137 times
Bo to co ustawia się "przed" to wartości domyślne, a nie aktualne. Ewentualnie możemy to nazwać "ustawieniami fabrycznymi".krycha88 wrote: Tue Oct 17, 2023 8:55 amNa pewno było przed SuplaDevice.begin(). Ale nie zmienia to faktu, że wtedy miałem rozbieżność między cloudem a swoimi danymi co było mocno mylące.klew wrote: Tue Oct 17, 2023 8:26 am Gdzie w setup() to było robione? Powinno być przed SuplaDevice.begin().
Jeśli było po, to Twoje ustawienia będą nadpisywać.
Aktualne wartości są potem przechowywane w Config i aktualizowane przez serwer. Jeśli też następują zmiany lokalnie, to też są traktowane jako zmiana konifguracji, a nie "cech urządzenia".
Najlepsze suple dla Twojego domu 
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
to wszystko miałem zrobione i się z tego wycofałem bo miało być lepiejklew wrote: Tue Oct 17, 2023 9:57 am Bo to co ustawia się "przed" to wartości domyślne, a nie aktualne. Ewentualnie możemy to nazwać "ustawieniami fabrycznymi".
Aktualne wartości są potem przechowywane w Config i aktualizowane przez serwer. Jeśli też następują zmiany lokalnie, to też są traktowane jako zmiana konifguracji, a nie "cech urządzenia".
https://gui-generic-builder.supla.io/
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Czy jednak nie planujecie zmienić koncepcji tych ustawień? Te dane które nazywasz fabrycznymi równie dobrze mogą stać się danymi aktualnie ustawionymi na urządzeniu a domyślnymi będą w momencie pierwszej konfiguracji/rejestracji w cloud. Prosty scenariusz konfiguruje urządzenie z poziomu clouda i przenoszę je na inny serwer i wtedy muszę najpierw je zarejestrować do clouda aby zobaczyć czy nie są ustawione inne parametry niż na urządzeniu.klew wrote: Tue Oct 17, 2023 9:57 am Bo to co ustawia się "przed" to wartości domyślne, a nie aktualne. Ewentualnie możemy to nazwać "ustawieniami fabrycznymi".
Aktualne wartości są potem przechowywane w Config i aktualizowane przez serwer. Jeśli też następują zmiany lokalnie, to też są traktowane jako zmiana konifguracji, a nie "cech urządzenia".
Jednak bym chciał aby parametry ustawione w cloud aktualizowały się również po mojej stronie i w GUI widział te same wartości.
https://gui-generic-builder.supla.io/
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 135 times
- Been thanked: 137 times
Jeśli urządzenie będzie skonfigurowane i dasz je na inny serwer, to przy rejestracji ustawienia będą wrzucone na ten serwer.
Natomiast urządzenie można przywrócić do ustawień fabrycznych i wtedy Config jest czyszczony.
Moje założenie było takie, że ustawienia fabryczne ustawia się w sofcie urządzenia. Oczywiście GG tą część ma konfigurowalną, więc podejście jest inne.
Ja osobiście w sofcie uniwersalnym (takim jak GG) bym to widział w taki sposób, że te wszystkie ustawienia, które opisują część sprzętową, to jeden temat.
Inny temat to konfiguracja urządzenia (wifi, serwer etc) oraz konfiguracja kanałów.
Najlepsze suple dla Twojego domu 
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Zgadza się, ale od strony konfiguracji urządzenia już nie zobaczę jak urządzenie jest skonfigurowane bez podłączenia go do clouda.klew wrote: Tue Oct 17, 2023 3:09 pm Jeśli urządzenie będzie skonfigurowane i dasz je na inny serwer, to przy rejestracji ustawienia będą wrzucone na ten serwer.
W GG ustawienia fabryczne są ustawianie w momencie pierwszej konfiguracji urządzenia oraz ręcznym przywróceniu ich. Aby podejrzeć aktualne parametry kanałów, wifi itd. urządzenia nie trzeba uruchamiać trybu konfiguracyjnego. Więc tutaj naprawdę koncepcja wartości domyślnych nie pasujeklew wrote: Tue Oct 17, 2023 3:09 pm Moje założenie było takie, że ustawienia fabryczne ustawia się w sofcie urządzenia. Oczywiście GG tą część ma konfigurowalną, więc podejście jest inne.
Fajnie jakby się dało nadpisać metodę np. setMainThermometerChannelNo dodając dodatkowo swoją obsługę
Code: Select all
bool ThermostatGUI::setMainThermometerChannelNo(uint8_t channelNo) {
bool baseResult = HvacBase::setMainThermometerChannelNo(channelNo);
if (baseResult && initDone) {
ConfigManager->setElement(KEY_THERMOSTAT_MAIN_THERMOMETER_CHANNEL, thermostatIndex, HvacBase::getMainThermometerChannelNo());
ConfigManager->save();
}
return baseResult;
}https://gui-generic-builder.supla.io/
