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.
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.
- 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ść.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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)
- 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.
- 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.
- Setpoint Normal – ustawia temperaturę docelową dla trybu normalnego. Panel ustawień temperatury wyświetla się po naciśnięciu płomyka.
- Setpoint Economy – ustawia temperaturę docelową dla trybu ekonomicznego.
- 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.
U mnie wygląda to tak.
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.