Domoticz jako wirtualny termostat sterujący komfortem cieplnym w domu

Sezon grzewczy za pasem, więc coraz częściej myślę o rozbudowie Domoticza o jakiś kompletny system starowania ogrzewaniem. Jako, że głównym źródłem ciepła jest u mnie piec elektryczny sprawa wydaje się niezbyt skomplikowana.  Można pójść w rozwiązania wysoce komercyjne jak np. termostaty NEST czy ECOBBE albo głowice termostatyczne na z-wave, ale rozmawiamy tu o wydatku przetaczającym tysiące złotych. Od czego jest jednak społeczność Domoticza ? Skoro mam już czujniki temperatury w każdym pokoju, to wystarczy podpiąć piec do przełącznika i skonfigurować Domoticza aby czuwał nad włączeniem pieca w określonym zakresie temperatur. Można zrobić to na tzw. piechotę i zbudować zdarzenia w LUA ale fajnie byłoby mieć coś w miarę kompletnego. Okazuje się, że nie ma nic prostszego. Ameryka została już odkryta i powstał Smart Virtual Thermostat python plugin for Domoticz napisany przez użytkownika Logread.

Plugin możemy zainstalować poprzez Python Plugin Manager. Jak to zrobić pisałem tu, albo bezpośrednio z github.com.

cd plugins
mkdir SVT
sudo apt-get update 
sudo apt-get install git 
git clone https://github.com/999LV/SmartVirtualThermostat.git SVT 
cd SVT 
sudo chmod +x plugin.py 
sudo /etc/init.d/domoticz.sh restart

Przechodzimy do katalogu z pluginami, tworzymy katalog SVT, aktualizacja i instalujemy git ( jeżeli jeszcze go nie mamy ). Następnie ściągamy skrypt z githuba, przechodzimy do katalogu ze skryptem i nadajemy mu odpowiednie prawa do wykonywania. Restart Domoticza i mamy sprawę załatwioną.

W zakładce /Sprzęt możemy wybrać już Smart Virtual Thermostat.

FireShot Capture 1 - Domoticz - http___192.168.2.214_9009_#_Hardware.png

Konfiguracja jest banalnie prosta ( na początku ). Podajemy kolejno: adres IP Domoticza, port, użytkownika i hasło ( jeżeli mamy ustawione ), idx czujnika temperatury wewnętrznej, idx czujnika temperatury zewnętrznej oraz idx przełącznika uruchamiającego piec. Bardzo praktyczną rzeczą jest fakt, iż możemy dodać kilka czujników temperatury np. w salonie, sypialni, łazience itp. oddzielając je przecinkiem a ich wartości będą uśredniane. Tak samo z czujnikiem zewnętrznym. Uwaga, bez czujnika temperatury wewnętrznej skrypt nie zadziała, natomiast bez czujnika zewnętrznego będzie działał. Skrypt próbuje naśladować tzw. starowanie pogodowe, które jest dostępne w nowszych piecach centralnego ogrzewania.

Sprawa ustawień komplikuje się znacznie przy dwóch ostatnich parametrach.

Wartość Apply minimum heating per cycle określa zachowanie termostatu, gdy podano minimalny parametr ogrzewania na cykl.

  1. Jeśli jest ustawione na „only when heating required” (opcja domyślna), wówczas minimalne ogrzewanie zostanie zastosowane tylko wtedy, gdy nie zostanie osiągnięta żądana temperatura. Jest to przydatne na przykład podczas napełniania kotłów centralnego ogrzewania, które mają określoną bezwładność.
  2. Jeśli ustawione na „always„, to zawsze będzie stosowane minimalne ogrzewanie w każdym cyklu ogrzewania, niezależnie od tego, czy osiągnięta zostanie żądana temperatura. Jest to na przykład przydatne w systemach ogrzewania podłogowego o bardzo wysokiej bezwładności cieplnej, gdzie lepiej jest unikać zbytniego chłodzenia podłogi, nawet jeśli ogrzewanie nie jest faktycznie potrzeb

Linia Calculation cycle, Minimum Heating time per cycle, Pause On delay, Pause Off delay, Forced mode duration  zawiera zaawansowane parametry, które mogą mieć kluczowe znaczenie dla prawidłowego działania inteligentnego termostatu wirtualnego.

  1. Calculation cycle ( cykl obliczeniowy) – jest to czas w minutach między dwoma obliczeniami termostatu. Należy go ustawić w zależności od bezwładności cieplnej fizycznego pomieszczenia i systemu grzewczego. Domyślnie 30 min.
  2. Minimum Heating time per cycle ( minimalne ogrzewanie na cykl ) – jest to minimalny %, w którym grzejnik musi być włączony w danym okresie obliczeniowym. Wartość może wynosić od 0 do 100.
  3. Pause On delay ( opóźnienie włączenia pauzy ) – jest to liczba minut, przez którą musi być włączony przełącznik „Pauza”, zanim termostat rzeczywiście wyłączy ogrzewanie. Jest to bardzo przydatne, aby umożliwić krótkie otwarcie drzwi, a następnie ich ponowne zamknięcie bez żadnego wpływu na termostat, a pozostawienie otwartych drzwi przez dłuższy czas spowodowałoby wyłączenie ogrzewania przez termostat, aby uniknąć marnowanego ciepła.
  4. Pause Off delay ( opóźnienie wyłączenia pauzy ) – parametr odwrotny od poprzedniego, liczba minut, przez którą przełącznik „Pause” musi być wyłączony, zanim termostat powróci do normalnego działania.
  5. Forced mode duration ( czas trwania trybu wymuszonego) – to czas w minutach, w którym termostat wymusi ogrzewanie po wybraniu trybu „forced”. Po tym czasie aktywny będzie tryb „Auto”.

Na początku zostawiłem domyślne ustawienia.

Po uruchomieniu skryptu zostanie utworzonych 6 urządzeń:

  • Thermostat Control ( Kontrola termostatu ) – ustawia status termostatu (wyłączony, tryb automatyczny, tryb wymuszony)

FireShot Capture 2 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Thermostat Mode ( Tryb termostatu ) – ustawia tryb sterowania temperaturą (normalny, oszczędny) za pomocą odpowiedniej wartości zadanej. Można to wykorzystać do przestawiania termostatu na tryb dzienny i nocny.

FireShot Capture 3 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Thermostat Pause ( Pauza termostatu ) – jeśli jest ustawionyana” Wł. „, wymusi pracę termostatu w trybie pauzy po zadanym czasie  i odwrotnie, wznowi normalną pracę, jeśli jest ustawiona na” Wył.” Może to być przydatne, aby zatrzymać ogrzewanie, gdy okno lub drzwi są otwarte.

FireShot Capture 4 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Setpoint Normal – ustawia temperaturę docelową dla trybu normalnego. Panel ustawień temperatury wyświetla się po naciśnięciu płomyka.

FireShot Capture 5 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

FireShot Capture 9 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Setpoint Economy – ustawia temperaturę docelową dla trybu ekonomicznego.

FireShot Capture 6 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

FireShot Capture 8 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Thermostat Temp – wyświetla bieżącą temperaturę otoczenia (średnia z wartości wewnętrznych czujników temperatury, podana w parametrach sprzętowych) To urządzenie jest domyślnie” ukryte ” i można je dodać do panelu Domoticza z menu /Urządzenia.

FireShot Capture 7 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

U mnie wygląda to tak.

FireShot Capture 10 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

Jak dla mnie genialna robota. Nic więcej mi nie potrzeba. Termostat przetestowany, robi co ma robić. Pobawię się i potestuje parametry pracy i myślę, że przeżyje zimę we względnym komforcie cieplnym.

24 komentarze do “Domoticz jako wirtualny termostat sterujący komfortem cieplnym w domu

  1. Coś podobnego funkcjonalnie ogarniałem ostatniej zimy robiąc to w zdarzeniach blokowo. Ale widzę że teraz przesiądę się na gotowca. Dzięki za wpis.

    Polubienie

  2. Wszystko pięknie ładnie, tylko nie napisałeś jak podpiąć piec do domoticza? Rozumiem, że przez szynę ebus, tak żeby tylko i wyłącznie operować włączeniem grzania/wyłączeniem. Potwierdź/wyjaśnij jak to zrealizowałeś. Dzięki,

    Polubienie

      • Mógłbyś zrobić zdjęcie? Nadal jest to dla mnie trochę nie jasne. Sam mam piec gazowy, do którego mam podłączony klasyczny sterownik zewnętrzny. On jest podłączany do szyny ebus. W jaki sposób ty masz podłączony sonoff?

        Polubienie

      • Do gniazda. U ciebie chyba nie zadziała tak jak u mnie. Nie znam się na piecach gazowych ale je chyba się rozpala. U mnie piec działa jak zwykła farelka. Jak temperatura w salonie spadnie poniżej 20 stopni to Sonoff uruchamia piec. Daje prąd. Jak temperatura wzrośnie do 22 stopni wyłącza się piec. U Ciebie lepiej sprawdzi się jakiś termostat np. na Zwave. Jest ich kilka na rynku w różnych cenach.

        Polubienie

  3. ok, w takim razie wszystko jasne. Patrzyłem na termostaty, jednak nie chciałbym załatwiać tego termostatami na grzejnikach, tylko zastąpić klasyczny sterownik, który jest ubogi w funkcje, domoticzem. Szukam odpowiedzi jak go podłączyć do szyny ebus, żeby komunikował się z domoticzem.

    Polubienie

  4. Tak, jednak myślałem nad czymś co działa na zasadzie sonoff (włącz/wyłącz), a całą automatyką miał się zająć domoticz. Logikę robisz na domoticzu i operujesz na zdarzeniach.
    Gotowe rozwiązania znam, jednak nie o to mi chodziło 🙂

    Polubienie

  5. Dzięki za opis 🙂 Fajna sprawa 🙂
    A powiedz proszę jakbyś rozwiązał sytuacje taka:
    W piwnicy mam ogrzewanie sterowane zwykłymi tanimi termostatami ściennymi podłączone do sterownika w rozdzielaczu. Jeśli temp w piwnicy spadnie poniżej zadanej przekaźnik robi zwarcie sygnał idzie do sterownika w rozdzielaczu a ten styka przekaźnik i startuje piec gazowy( coś na zasadzie własnie farelki i sonoffa)
    I teraz robię piętro juz na sterowaniu z domoticza. SVT wł. piec wtedy jak temperatura spada poniżej zadanej. Jak zrobić aby SVT załączyl piec też wtedy gdy dostanie sygnał (zwarcie na sterowniki) z piwnicy ? Mam nadzieje że rozumiecie o co mi chodzi. W SVT dodaje się idx-y z czujników temperatury, chciałbym żeby też SVT reagował na idx jednego przełącznika którym to będzie właśnie sterownik z piwnicy z rozdzielaczu.
    Dzięki za tutka i pozdrawiam 🙂

    Polubienie

  6. Witam!!!
    Dzięki za za wspaniały artykuł. Jestem na etapie testowania. Będę ogrzewać pokoje różną temperaturą( ogrzewanie konwencjonalne, dom w technologi szkieletowej) i chcę wspomniany plugin wykorzystać do każdego pokoju osobno. Będę miał rozdzielacz i na nim poszczególne elektrozawory na poszczególne pomieszczenia. Oczywiście w każdym pomieszczeniu czujnik temp.Niby wszystko rozumiem ale mam pytanie gdzie można nastawić min temp w ustawieniach normal i eko .
    Pozdrawiam

    Polubienie

    • Nie wiem czy dobrze cię rozumie ale wydaje mi się że chodzi o regulację temp. w zakładce użytkowe. Tam się ustawia temp. dla Setpoint Economy oraz Setpoint Normal

      Polubienie

      • Dzięki za szybka podpowiedź
        chodzi mi oto że w Setpoint Normal ustawiamy temp nominalną na np 21 st jak dobrze rozumiem jest to temperatura maksymalna czyli osiąga w/w temp i odcina elektrozawór kaloryfer.
        i teraz przy jakiej temp min elektrozawór załącza kaloryfer ( czyli mam rozumieć że ustawienia Setpoint Economy to minimalna temperatura załączania Setpoint Normal, to jaka jest temp min w ustawieniach Setpoint Normal)

        Polubienie

  7. Świetna sprawa z tym termostatem. Ja posiadam easypella z Viessmanna. Ten kocioł jest świetny w podłączeniu termostatu nie wpinam go nigdzie w płytę tylko wystarczy puścić zasilanie pompki na centralne przez przekaźnik. Więc posiadam domoticza, do tego czujnik w salonie i czujnik na dworze no i jeden moduł przekaźnika który zamyka obwód na pompie. Kocioł jeżeli ma rozłączony obieg prądu na pompie to wydaje mu się że temp została osiągnięta w pomieszczeniu i przestaje grzać. Nie wiem jeszcze po co odczyt temp na dworze w tym termostacie.

    Polubienie

  8. Witam
    Mam pytanie, jestem mało doświadczony ale chciałem użyć skryptu do załączania pompy przy piecu. Chodzi o fakt przykład: temperatura na piecu 30st, załącza się gniazdo, gdy temperatura spadnie poniżej gniazdo się wyłączy. Jak ustawić ten skrypt do takiego działania? (Czujniki na piecu i gniazdko mam w domoticzu)

    Polubienie

  9. Witam. Wydaje mi się ze robię wszystko zgodnie z opisem a pokazuje się na liście w sprzęt „Smart Virtual Thermostat” . Co może być przyczyną?

    Polubienie

Dodaj komentarz