Termostat DIY do testowania :)

User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

krycha88 wrote: Tue Oct 17, 2023 5:45 pm
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.
Zgadza się, ale od strony konfiguracji urządzenia już nie zobaczę jak urządzenie jest skonfigurowane bez podłączenia go do clouda.
To zależy od softu na urządzeniu. Można pokazywać konfigurację sprzętową z wartościami domyślnymi i osobno można pokazywać konfigurację kanału.
krycha88 wrote: Tue Oct 17, 2023 5:45 pm 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 pasuje :)
Ale czym innym jest ustaiwenie jaki jest rodzaj termometru i na jakim GPIO, niż ustawienie korekty temperatury.
Podonie czym innym jest przypisanie GPIO do przekaźnika, niż ustawianie na ile czasu ma być załączany impuls.
Jedne rzeczy definiują sprzęt, a drugie to tylko konfiguracja użytkownika.
Przy termostacie, właściwie tylko główny termometr musi mieć wartość domyślną, bo bez niego nie ma termostatu. Reszta parametrów może być trzymana w Configu. Tylko istotne jest to, że "config" działa dopiero po SuplaDevice.begin(), bo wymaga inicjalizacji i postawienia całego "urządzenia". Natomiast w GG pewnie ta faza definicji urządzenia i tych pozostałych ustawień jest robiona w tym samym czasie. Rozumiem, że w locie nie można dodać kanału, gdy jesteśmy już po SuplaDevice.begin().
Z drugiej strony, można sobie "ręcznie" zainicjować klasę typu "Config" i ręcznie zainicjować kanał termostat (bez SuplaDevice.begin()) - wtedy powinno ruszyć zapisywanie konfiguracji
krycha88 wrote: Tue Oct 17, 2023 5:45 pm 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;
}
Ale z tego co widzę, to przy pobieraniu wartości z serwera ona nie jest wywoływana.
Te indywidualne settery były dodane, aby można było sobie z poziomu urządzenia przestawiać pojedyncze parametry, a także aby ustawić te wartości fabryczne.
Z poziomu serwera się to nie uruchamia, bo tam trzeba zwalidować cały nowy config w całości. Np. jeśli zamienię termometr main i aux miejscami (1, 2) -> (2, 1), to uruchomienie "setMainThermometerChannelNo(2)" się nie powiedzie (bo w aktualnej konfiguracji aux jest ustawiony na 2). Natomiast przesłany config z serwera jest poprawny i powinien być walidowany w odpowiednim kontekście.

Ten sam mechanizm używa zmiana konfiguracji termostatu przez www urządzenia. Najpierw zbierane są wszystkie dane z formularzy do nowej instancji klasy z konfiguracją HVAC, a potem jest na całości odpalana walidacja i zapisanie:
https://github.com/SUPLA/supla-device/b ... s.cpp#L981
Najlepsze suple dla Twojego domu :mrgreen:
Koniu031
Posts: 8
Joined: Tue Nov 05, 2019 9:22 pm

Post

Witam mam problem z kompilacją na esp8266. wywala taki komunikat:

In file included from C:\Users\alfis\AppData\Local\Temp\.arduinoIDE-unsaved2023918-2244-13vxes8.hqgs\ThermostatBasic\ThermostatBasic.ino:25:0:
c:\Users\alfis\OneDrive\Dokumenty\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h: In member function 'virtual void Supla::ESPWifi::setup()':
c:\Users\alfis\OneDrive\Dokumenty\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h:71:12: error: 'class ESP8266WiFiClass' has no member named 'setHostname'
WiFi.setHostname(hostname);
^
c:\Users\alfis\OneDrive\Dokumenty\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h:124:12: error: 'class ESP8266WiFiClass' has no member named 'setHostname'
WiFi.setHostname(hostname);
^

exit status 1

Compilation error: exit status 1

Jak wybieram esp32 to kompilacja przechodzi bez problemu.

Gdzie popełniam błąd??
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Koniu031 wrote: Wed Oct 18, 2023 4:25 pm Witam mam problem z kompilacją na esp8266. wywala taki komunikat:

In file included from C:\Users\alfis\AppData\Local\Temp\.arduinoIDE-unsaved2023918-2244-13vxes8.hqgs\ThermostatBasic\ThermostatBasic.ino:25:0:
c:\Users\alfis\OneDrive\Dokumenty\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h: In member function 'virtual void Supla::ESPWifi::setup()':
c:\Users\alfis\OneDrive\Dokumenty\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h:71:12: error: 'class ESP8266WiFiClass' has no member named 'setHostname'
WiFi.setHostname(hostname);
^
c:\Users\alfis\OneDrive\Dokumenty\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h:124:12: error: 'class ESP8266WiFiClass' has no member named 'setHostname'
WiFi.setHostname(hostname);
^

exit status 1

Compilation error: exit status 1

Jak wybieram esp32 to kompilacja przechodzi bez problemu.

Gdzie popełniam błąd??
Masz starą wersję boardów dla esp8266.
Pewnie masz ustawiony stary link, który nie zawiera aktualnych boardów
Najlepsze suple dla Twojego domu :mrgreen:
Koniu031
Posts: 8
Joined: Tue Nov 05, 2019 9:22 pm

Post

Przeinstalowane wszystko na nowo... i lipa... spróbuje jeszcze raz a jak nie da rady to na drugim kompie.

Pozdrawiam
Masz starą wersję boardów dla esp8266.
Pewnie masz ustawiony stary link, który nie zawiera aktualnych boardów
Miałeś racje po wyczyszczeniu wszystkiego i ponownej instalacji ruszyło.

Dziękuję za pomoc
Last edited by Koniu031 on Wed Oct 18, 2023 5:03 pm, edited 1 time in total.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Koniu031 wrote: Wed Oct 18, 2023 4:34 pm Przeinstalowane wszystko na nowo... i lipa... spróbuje jeszcze raz a jak nie da rady to na drugim kompie.

Pozdrawiam
Pobieranie tych samych starych boardów od nowa albo na innym komputerze nic nie zmieni ;)
Najlepsze suple dla Twojego domu :mrgreen:
Gitman
Posts: 711
Joined: Sat Nov 05, 2022 7:52 am
Location: Bielawa

Post

@klew bardzo bym prosił o zwiększenie histerezy w termostacie do grzania wody użytkowej 10 stopni to zdecydowanie za mało proszę o co najmniej 30 stopni. Od razu zapytam czy będą dostępne wykresy dla termostatu ? i przydał by się w cloud podgląd aktualnej temperatury jaki odczytuje czujnik, bo tak trzeba wejść osobno w czujnik żeby zobaczyć.
robertklepacki94
Posts: 1931
Joined: Thu Sep 02, 2021 1:06 pm
Has thanked: 5 times
Been thanked: 14 times

Post

Gitman wrote: Thu Oct 19, 2023 4:37 pm @klew bardzo bym prosił o zwiększenie histerezy w termostacie do grzania wody użytkowej 10 stopni to zdecydowanie za mało proszę o co najmniej 30 stopni. Od razu zapytam czy będą dostępne wykresy dla termostatu ? i przydał by się w cloud podgląd aktualnej temperatury jaki odczytuje czujnik, bo tak trzeba wejść osobno w czujnik żeby zobaczyć.
AD1 Pytasz a przykład dla Arduino IDE czy całokształt termostatu?
AD2 Właśnie wczoraj wyszła apka testowa dla androida z historią obydwu czujników.
AD3 przecież wartość czujników wyświetla się na kanale termostatu
Wziąłem udział w Supla Offline Party 2023
Gitman
Posts: 711
Joined: Sat Nov 05, 2022 7:52 am
Location: Bielawa

Post

robertklepacki94 wrote: Thu Oct 19, 2023 4:45 pm
Gitman wrote: Thu Oct 19, 2023 4:37 pm @klew bardzo bym prosił o zwiększenie histerezy w termostacie do grzania wody użytkowej 10 stopni to zdecydowanie za mało proszę o co najmniej 30 stopni. Od razu zapytam czy będą dostępne wykresy dla termostatu ? i przydał by się w cloud podgląd aktualnej temperatury jaki odczytuje czujnik, bo tak trzeba wejść osobno w czujnik żeby zobaczyć.
AD1 Pytasz a przykład dla Arduino IDE czy całokształt termostatu?
AD2 Właśnie wczoraj wyszła apka testowa dla androida z historią obydwu czujników.
AD3 przecież wartość czujników wyświetla się na kanale termostatu
AD1 Pytam o możliwość ustawienia histerezy w claud maksymalnie można ustawić 10stopni
AD2 Jaka wersja apki? lub ewentualnie gdzie trzeba przeklikać ? Moja wersja aplikacji to 23.10 a nowszej w sklepie nie widzę :(
AD3 Tutaj też chodziło mi o clauda

Moim zdaniem akurat w przypadku termostatu histerezę i wszystko co związane z termostatem powinno się konfigurować w claud i te ustawienia powinny trafiać do configu urządzenia, bo jakoś nie widzę tego żeby za każdym razem jak będę chciał zmienić histerezę musiał wprowadzać urządzenie w tryb konfiguracji i być w pobliżu urządzenia.
robertklepacki94
Posts: 1931
Joined: Thu Sep 02, 2021 1:06 pm
Has thanked: 5 times
Been thanked: 14 times

Post

AD1 prawdopodobnie to zależy od softu na urządzeniu ale tu musi się wypowiedzieć @klew i jeśli dotyczy to GG @krycha88
AD2 viewtopic.php?p=163567#p163567
AD3 Przecież w CLOUD można zmieniać histerezę i w zasadzie wszystko inne co jest związane z termostatem, pamiętaj że kanał termostatu w CLOUD nie jest jeszcze skończony.
Wziąłem udział w Supla Offline Party 2023
Gitman
Posts: 711
Joined: Sat Nov 05, 2022 7:52 am
Location: Bielawa

Post

Bardzo bym prosił o zwiększenie histerezy w claud dla termostatu ciepłej wody użytkowej do co najmniej 30-40 stopni

Return to “Nowości”