Termostat DIY do testowania :)

Maniek913
Posts: 518
Joined: Thu Feb 22, 2018 9:46 pm

Post

klew wrote: Mon Aug 21, 2023 7:21 am
Maniek913 wrote: Sun Aug 20, 2023 7:51 am
klew wrote: Sat Aug 19, 2023 6:37 pm

Ok. To nie jest ten główny zakres, tylko nastawa, czyli temperatura do jakiej grzejemy (min) i do jakiej chłodzimy (max).
Poprawię ten opis.
A możesz powiedzieć jak zmienić ten główny zakres?
Musisz w kodzie ustawić coś takiego:

Code: Select all

hvac->setDefaultTemperatureRoomMin(channelFunction, temperature);
hvac->setDefaultTemperatureRoomMax(channelFunction, temperature);
Limity min/max ustawia się osobno dla każdej wspieranej funkcji, czyli np. dla "heat" lub "cool". Tutaj są te funkcje:
https://github.com/SUPLA/supla-device/b ... oto.h#L468

Temperaturę podaje się w jednostkach 0,01 stopnia C. Więc "1523" to 15,23.

Przykład:

Code: Select all

// grzanie od 5,00 do 55,00
hvac->setDefaultTemperatureRoomMin(SUPLA_CHANNELFNC_HVAC_THERMOSTAT_HEAT, 500);
hvac->setDefaultTemperatureRoomMax(SUPLA_CHANNELFNC_HVAC_THERMOSTAT_HEAT, 5500);
// chłodzenie od 2,00 do 10,00
hvac->setDefaultTemperatureRoomMin(SUPLA_CHANNELFNC_HVAC_THERMOSTAT_COOL, 200);
hvac->setDefaultTemperatureRoomMax(SUPLA_CHANNELFNC_HVAC_THERMOSTAT_COOL, 1000);
Po ustawieniu tego, trzeba wyczyścić flash (będę to poprawiał, aby czyszczenie nie było konieczne).
SUPER , dzięki wielkie. Termostat idzie na testy do bufora ciepla ( z bimetalowym zabezpieczeniem w razie czego) :-)
krycha88
Posts: 5417
Joined: Fri Nov 16, 2018 7:25 am

Post

Jeżeli to nie problem to poproszę o przykład jak poprawnie ustawić termostat w tryb chłodzenia lub auto :)
https://gui-generic-builder.supla.io/
robertklepacki94
Posts: 1166
Joined: Thu Sep 02, 2021 1:06 pm

Post

Też poproszę jeśli można 😉 W niedziele wracam z wakacji i chce zacząć coś testować na chłodni. 😃
Wziąłem udział w Supla Offline Party 2023
User avatar
klew
Posts: 9678
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

krycha88 wrote: Wed Aug 23, 2023 8:19 pm Jeżeli to nie problem to poproszę o przykład jak poprawnie ustawić termostat w tryb chłodzenia lub auto :)
W przykładzie jest linijka, którą trzeba odkomentować.
Następnie trzeba wyczyścić całego flasha i usunąć urządzenie z cloud.
Niestety dopóki cloud nie wspiera tych funkcji, to trzeba tak na około to robić.

Na "auto" trzeba jeszcze chwilę poczekać, bo apka wymaga jeszcze trochę zmian, aby go dobrze chodziło
Kiedy będzie Supla Offline Party / SOP#2025 ?
krycha88
Posts: 5417
Joined: Fri Nov 16, 2018 7:25 am

Post

klew wrote: Wed Aug 23, 2023 8:30 pm
W przykładzie jest linijka, którą trzeba odkomentować.
Następnie trzeba wyczyścić całego flasha i usunąć urządzenie z cloud.
Niestety dopóki cloud nie wspiera tych funkcji, to trzeba tak na około to robić.

Na "auto" trzeba jeszcze chwilę poczekać, bo apka wymaga jeszcze trochę zmian, aby go dobrze chodziło
Dzięki, za dużo usunąłem z przykładu ;)
https://gui-generic-builder.supla.io/
krycha88
Posts: 5417
Joined: Fri Nov 16, 2018 7:25 am

Post

Teraz aby poprawnie skonfigurować termostat należy między

Code: Select all

auto hvac = new Supla::Control::HvacBase(output);
a

Code: Select all

hvac->setMainThermometerChannelNo(mainThermometr); 
hvac->setAuxThermometerChannelNo(auxThermometr);
dodać kanały termometrów. Czy nie można by tego sprawdzania dodać dopiero po wykonaniu SuplaDevice.begin()?

Jeżeli doda się później kanały a przed begin to na konsoli dostaję:

Code: Select all

HVAC: thermometer not found for channel 1
HVAC: thermometer not found for channel 2
a później w pętli

Code: Select all

HVAC: invalid temperature readout - check if your thermometer is correctly connected and configured
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 9678
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

krycha88 wrote: Thu Aug 24, 2023 6:54 pm Teraz aby poprawnie skonfigurować termostat należy między

Code: Select all

auto hvac = new Supla::Control::HvacBase(output);
a

Code: Select all

hvac->setMainThermometerChannelNo(mainThermometr); 
hvac->setAuxThermometerChannelNo(auxThermometr);
dodać kanały termometrów. Czy nie można by tego sprawdzania dodać dopiero po wykonaniu SuplaDevice.begin()?

Jeżeli doda się później kanały a przed begin to na konsoli dostaję:

Code: Select all

HVAC: thermometer not found for channel 1
HVAC: thermometer not found for channel 2
a później w pętli

Code: Select all

HVAC: invalid temperature readout - check if your thermometer is correctly connected and configured
Możesz też najpierw dodać kanały termometrów, a potem HVAC.

Ogólnie te metody do ustawiania robią pełną walidację tego co ustawiasz i są to wartości domyślne, z którymi termostat startuje. Można też ustawić konfigurację wsatawiając ręcznie wypełnioną strukturę TChannelConfig_HVAC.
W SuplaDevice.begin() jest też najpierw odczyt konfiguracji ze Storage::Config a potem odczyt stanu (zwykły Storage) oraz inicjalizacja całego kanału. Odczyt z Config może całkowicie nadpisać te domyślne parametry, o których pisaliśmy powyżej.
Kiedy będzie Supla Offline Party / SOP#2025 ?
User avatar
klew
Posts: 9678
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

krycha88 wrote: Thu Aug 24, 2023 6:54 pm dodać kanały termometrów. Czy nie można by tego sprawdzania dodać dopiero po wykonaniu SuplaDevice.begin()?
Dodałem pomijanie sprawdzania kanałów termometrów w fazie przed "onInit" (wywoływane w SuplaDevice.begin()).
Walidacja uruchomi się w onInit. Jeśli są niepoprawnie ustawione, to powinno je wyczyścić.
Kiedy będzie Supla Offline Party / SOP#2025 ?
krycha88
Posts: 5417
Joined: Fri Nov 16, 2018 7:25 am

Post

klew wrote: Fri Aug 25, 2023 6:51 am
krycha88 wrote: Thu Aug 24, 2023 6:54 pm dodać kanały termometrów. Czy nie można by tego sprawdzania dodać dopiero po wykonaniu SuplaDevice.begin()?
Dodałem pomijanie sprawdzania kanałów termometrów w fazie przed "onInit" (wywoływane w SuplaDevice.begin()).
Walidacja uruchomi się w onInit. Jeśli są niepoprawnie ustawione, to powinno je wyczyścić.
Dziękuję, ułatwi mi to robotę ;)
https://gui-generic-builder.supla.io/
User avatar
YoMan
Posts: 2714
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa

Post

Czy w przykładzie z pierwszego posta urządzenie wykonawcze (przekaźnik) powinno być pod gpio14 (Wemos - D5)?
Nie widzę u siebie działania, nie ma zmiany potencjału na tym pinie, coś trzeba jeszcze zmienić w kodzie?
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024

Return to “Nowości”