Termostat

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

Post

Tu było na ten temat:
viewtopic.php?p=176824#p176824

Tylko nie pamiętam czy to tak działa, jak napisałem, czy to był tylko pomysł do zrealizowania.

Jakby co to można dodać jakąś funkcję, która by takie zachowanie wymuszała
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

klew wrote: Sat Nov 01, 2025 6:04 pm Tu było na ten temat:
viewtopic.php?p=176824#p176824

Tylko nie pamiętam czy to tak działa, jak napisałem, czy to był tylko pomysł do zrealizowania.

Jakby co to można dodać jakąś funkcję, która by takie zachowanie wymuszała
Byłbym wdzięczny.
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Duch__ wrote: Sat Nov 01, 2025 6:24 pm
klew wrote: Sat Nov 01, 2025 6:04 pm Tu było na ten temat:
viewtopic.php?p=176824#p176824

Tylko nie pamiętam czy to tak działa, jak napisałem, czy to był tylko pomysł do zrealizowania.

Jakby co to można dodać jakąś funkcję, która by takie zachowanie wymuszała
Byłbym wdzięczny.
A sprawdziłeś czy zrobienie off I on włączy taki termostat?
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

Sprawdziłem właśnie teraz. Brak rekcji termostatu na stan Ta > Tz - histereza, w tym Ta<Tz. Zmiana w takim stanie temperatur na ON->OFF->ON nie powoduje rozpoczęcia grzania.
User avatar
Bania
Posts: 107
Joined: Wed Jul 24, 2024 5:03 pm
Location: Bielsko-Biała
Has thanked: 5 times
Been thanked: 5 times

Post

Salus t30nc (wziąłeś pod uwagę, że on ma czas otwierania 2 minuty?)

Moim zdaniem jak masz informacje że piec gazowy działa, to możesz odczytać temperaturę aktualna i temperaturę zadaną i porównać.
Jeżeli piec pracuje to porównujesz w termostacie czy może jeszcze gdzieś oddać ciepło, wtedy od razu otwierasz zawór, bo wtedy zwiększasz obciążenie dla pieca, bo ma więcej wody do ogrzania (zwiększy to jego czas pracy). Jeżeli piec był wyłączony to wtedy czekaj aż zadziała histereza termostatu i go uruchomi. Możesz też w uruchomieniu pieca dać opóźnienie, jeżeli jakiś termostat wykryje żeby grzać to uruchom piec dopiero po 2 minutach.

Code: Select all

termostat_zadana->getTemperatureSetpointHeat(); // odczytuje temperaturę dla grzania

if((termostat_zadana >= temperatura_aktualna) && piec_gazowy_uruchomiony)
{
 zawor = 1; // otwórz zawór
}
https://github.com/anarhbania/Supla
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

Bania wrote: Sat Nov 01, 2025 8:00 pm Salus t30nc (wziąłeś pod uwagę, że on ma czas otwierania 2 minuty?)

Moim zdaniem jak masz informacje że piec gazowy działa, to możesz odczytać temperaturę aktualna i temperaturę zadaną i porównać.
Jeżeli piec pracuje to porównujesz w termostacie czy może jeszcze gdzieś oddać ciepło, wtedy od razu otwierasz zawór, bo wtedy zwiększasz obciążenie dla pieca, bo ma więcej wody do ogrzania (zwiększy to jego czas pracy). Jeżeli piec był wyłączony to wtedy czekaj aż zadziała histereza termostatu i go uruchomi. Możesz też w uruchomieniu pieca dać opóźnienie, jeżeli jakiś termostat wykryje żeby grzać to uruchom piec dopiero po 2 minutach.

Code: Select all

termostat_zadana->getTemperatureSetpointHeat(); // odczytuje temperaturę dla grzania

if((termostat_zadana >= temperatura_aktualna) && piec_gazowy_uruchomiony)
{
 zawor = 1; // otwórz zawór
}
Spokojnie. W piecu jest automatyka dająca czas na otwarcie zaworów przy "pierwszym uruchomieniu". Ja ten mój piec ma przestudiowany i mógłbym z niego doktorat napisać.
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

Duch__ wrote: Sat Nov 01, 2025 6:03 pm ... Chcę jakąś flagą wymusić grzanie kolejnego termostatu w tej samej chwili jeśli jego Ta < Tz i nie czekać do osiągnięcia stanu Ta < Tz minus histereza.
Jeśli jakiś termostat jest w takim stanie i chcesz mu wymusić grzanie to można mu zmienić w programie histerezę na 0.1 i on ruszy z grzaniem od razu. Jak już masz sygnał że zaczął grzać przestawiasz histerezę na wcześniejszą wartość a on grzeje dalej mimo że jest w tym samym przedziale w którym wcześniej nie grzał.
User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

Zmiana koncepcji.

W samym arduino umiem pisać programy, gorzej z Klasami SUPLA. Czy da rady zadeklarować w termostacie wyjście wirtualne do hvac, zamiast fizycznego, a najlepiej bez deklaracji wyjścia. Potrzebuje tylko zadawanie temperatury, bez histerezy itp. Logikę termostatu ogarnę poza kodem SUPLA.
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Duch__ wrote: Sun Nov 02, 2025 8:49 am Zmiana koncepcji.

W samym arduino umiem pisać programy, gorzej z Klasami SUPLA. Czy da rady zadeklarować w termostacie wyjście wirtualne do hvac, zamiast fizycznego, a najlepiej bez deklaracji wyjścia. Potrzebuje tylko zadawanie temperatury, bez histerezy itp. Logikę termostatu ogarnę poza kodem SUPLA.
Da się. Tylko z pamięci piszę: HVAC w konstruktorze przyjmuje instancję klasy typu OutputInterface.
Nie pamiętam czy wirtualny wariant był tam zrobiony, jeśli nie, to trzeba samemu napisać.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

klew wrote: Sun Nov 02, 2025 9:49 am
Duch__ wrote: Sun Nov 02, 2025 8:49 am Zmiana koncepcji.

W samym arduino umiem pisać programy, gorzej z Klasami SUPLA. Czy da rady zadeklarować w termostacie wyjście wirtualne do hvac, zamiast fizycznego, a najlepiej bez deklaracji wyjścia. Potrzebuje tylko zadawanie temperatury, bez histerezy itp. Logikę termostatu ogarnę poza kodem SUPLA.
Da się. Tylko z pamięci piszę: HVAC w konstruktorze przyjmuje instancję klasy typu OutputInterface.
Nie pamiętam czy wirtualny wariant był tam zrobiony, jeśli nie, to trzeba samemu napisać.
Jest klasa RemoteOutputInteface
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277

Return to “Ogólna dyskusja”