Stacja pogody i termostat Netatmo w Domoticzu i Homeassistant

I kolejny sezon jesienno-zimowy przed nami. Na blogach i forach wysyp pytań, wątków i artykułów związanych z ogrzewaniem. Postanowiłem i ja dorzucić coś od siebie.

images

Od jakiegoś czasu gości u mnie zestaw 2 termostatów pokojowych  i stacja pogody od Netatmo.

Zestaw ten zwrócił moja uwagę już dawno, ale barierą była cena. Udało mi się jednak chytrze problem obejść o czym na końcu wpisu. Mam w domu ogrzewanie elektryczne, więc termostaty pokojowe są oczywistym wyborem. Rozważałem jeszcze NEST, ale w sierpniu Google zamknęło API i nie przyjmuje nowych kont developerskich. Stare podobno jeszcze działają, ale nie chcę ryzykować niemałych pieniędzy i nie mieć możliwości pobawienia się urządzeniem w Domoticzu i HA.

Cały proces dodawania urządzeń do aplikacji jest intuicyjny i nie wymaga rozpisywania się. W Domoticzu  sprawa jest banalna. Jak już założymy konto w aplikacji NETATMO i sparujemy urządzenia nie pozostaje nam nic innego niż dodać obsługę urządzeń w systemie.

FireShot Capture 085 - Domoticz - 192.168.2.101.png

I tyle. Mamy wszystkie nasze urządzenia w Domoticzu.

FireShot Capture 090 - Domoticz - 192.168.2.101

Na pulpicie wygląda tak.

FireShot Capture 091 - Domoticz - 192.168.2.101.png

W Homeassistant sprawa jest bardziej skomplikowana, ale też satysfakcja większa. Instalację Homeassistant opisywałem już dość dawno w w wpisie Home Assistant – instalacja i pierwsze uruchomienie na Raspberry Pi. Od tego czasu sprawa się bardzo uprościła. Dodałem krótki update, ale na oficjalnej stronie jest prosta instrukcja. Ściągamy obraz odpowiedni dla naszej wersji Raspberry Pi, wypalamy kartę i tyle. Ruszy samo. Gdy już oczom naszym ukaże się Hass.io pozostaje nam tylko wyedytować plik configuration.yaml. Tu jednak jest trochę zabawy.

Po pierwsze musimy zdobyć oprócz nazwy użytkownika i hasła api_key oraz
secret_key Natatmo. Zrobimy to w Netatmo Connect. Musimy założyć własną apkę. Wchodzimy w CREATE YOUR APP i uzupełniamy wymagane pola.

FireShot Capture 087 - Netatmo Connect - dev.netatmo.com.png

Formularz nie jest zbytnio czepliwy. Przyjmuje co mu podamy. Po zatwierdzeniu na dole dostajemy nasze klucze.

FireShot Capture 088 - Netatmo Connect - dev.netatmo.com.png

Znajdujemy plik configuration.yaml w HA i dodajemy wpis.

netatmo:
..api_key: 435dr45xxxxxxxxx
..secret_key: 0NRJxxxxxxxxxxxxxx
..username: mxxxxx@xxxxxx.com
..password: Hxxxxxxxxx3

Aby dodać obsługę termostatu musimy dodać go w sekcji climate. Ciekawostka, bez stacji pogody termostat nie będzie widoczny w Domoticzu i HA. Stacja jest bramką na zewnątrz.

climate:
..- platform: netatmo

To jest Python więc należy uważać na wcięcia. Kropki z lewej strony oznaczają spacje. Restartujemy system i gotowe. Konfigurujemy karty Lovelace w typie entities.

FireShot Capture 089 - Home Assistant - 192.168.2.119

Jedyny minus jaki widzę to niestety cena. Stacja pogody to 750 zł, termostat 800 zł. Drogo. Na rynku są jednak urządzenia używane lub powystawowe. Należy jednak bardzo z nimi uważać. Bardzo często mają uszkodzone zasilanie. Potrafią rozładować baterię w 30 min. Problem wielokrotnie zgłaszany na forach. Netatmo wysyłało na gwarancji nowe urządzenia a stare poszły na portale aukcyjne. U mnie w stacji pogody moduł zewnętrzny pracuje ok. 1 mies. na komplecie baterii ( powinien 2 lata ), jeden termostat jest OK, drugi niestety był całkowicie padnięty. Nowe baterię kładł po kwadransie. Poradziłem sobie kupując adapter do zasilania bateryjnego i jakoś działa. Zainteresowanym podeślę linka.

Miłego testowania.

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.