Automatizare Incalzire cu HomeMatic si FHEM

Heating Home
Heating home

In acest tutorial, bazandu-ne pe aricolele anterioare – integrare Termostat BEOK Wi-Fi si integrare Robinete termostatice HomeMatic, vom realiza o automatizare completa a incalzirii centrale cu serverul Smart Home FHEM. Termostatul BEOK Wi-Fi va controla centrala termica prin intermediul switch-ului intern, iar terostatele HomeMatic vor controla valvele capetelor termostatate ale caloriferelor, individual pentru fiecare camera.

De ce Termostatul BEOK?
  • Instalare usoara
  • Conectare Wireless
  • Integrare cu FHEM
De ce Robinetul Termostatat?
  • Asigura control individul al temperaturii pe fiecare camera
  • Programarea functionarii incalzirii pe ore si zile
  • Senzor de temperatura incorporat

Hardware necesar:

Raspberry Pi 3B+

Raspbery Pi 3B+

  • Compact
  • Procesor 1.4GHz 64-bit quad-cor
  • 1GB RAM

Software necesar:

Termostate HomeMatic & BEOK Wi-Fi – FHEM

Integrare Termostate HomeMatic cu FHEM – Smart Home

Pentru inceput vom instala toate termostatele pe valvele aferente fiecarui calorifer. Important este ca unul dintre caloriferele din casa sa ramana fara valva/termostat, de regula caloriferul din baie sau cel mai mic dintre ele. In a doua etapa vom face pairing intre CUL 868Mhz si fiecare termostat instalat. In acest fel vom avea exemplul de mai sus in care avem 5 termostate montate si integrate in FHEM. Redenumiti fiecare termostat astfel incat sa il puteti localiza ulterior folosind functia de redenumire din FHEM rename <nume_vechi> <nume_NOU>

Fiecare termostat integrat in FHEM va autocrea un device cu 6 canale interconectabile intre ele. Pentru a realiza automatizarea ne intereseaza canalul_04, pe care il vom redenumi in functie de locatia in casa.

Tineti device-urile cat mai organizat posibil, pentru ca mai tarziu sa le puteti integra in automatizari cat mai complexe, de exemplu device-urile HomeMatic generice sunt denumite de forma TH_<nume_camera> – de la denumirea de „thermostat „iar canalul de comunicare al termostatului pentru controlul valvei (channel_04) este denumit de forma HT_<nume_camera> – de la denumirea de „heater”, astfel ulterior veti putea sorta cu list HT_.* si veti primi o lista cu toate dispozitivele ce au la inceputul denumirii caracterele „HT_”. Astfel veti putea trimite comenzi catre toate termostatele deodata ca de exemplu: set HT_.* desired-temp 17.0

Avem redenumit calaul 04 functie de numele camerei unde este utilizat termostatul, atunci putem sa atribuim acestuia un room, de exemplu Incalzire Centrala. Vom repeta procedura pentru fiecare termostat in parte. Termostatul BEOK va primi si el acelasi room pentru usurinta in utilizare.

RobinetTermostatat HomeMatic

Termostat HomeMatic

  • Montaj facil
  • Programare individuala
  • Economie energie de pana la 30%

Definire HCS – Heating Control System – modul de control a incalzirii

Intre termostatele pentru calorifere, HomeMatic si Termostatul BEOK cu care vom controla centrala termica, vom interpune modulul de control a sistemului de incalzire HCS. Acesta va intermedia automatizarea analizand temperatura setata pentru fiecare termostat si starea actuatorului. De exemplu, unul dintre termostate sesizeaza prin intermediul senzorului de temperatura intern ca temperatura ambientala este mai mica decat cea setata, atunci acesta va deschide valva permitand agentului termic cald sa alimenteze caloriferul. Cum nu avem un sistem de incalzire centralizata, ci un sistem de incalzire local cu centrala termica, aceasta trebuie actionata, prin intermediul switch-ului termostatului BEOK.

Vom defini modulul cu:

define <nume> HCS <switch_centrala>

Mai specific:

define HCS_BEOK_HomeMatic HCS Thermo, in cazul meu.

Definire Switch BEOK pentru activare si dezactivare centrala termica

Ne vom folosi de Switchul termostatului BEOK pentru a realiza aceasta automatizare, ignorand senzorul de temperatura interna a acestuia. Practic vom trimite catre acesta comanda pentru o temperatura de 5°C echivalenta cu OFF (oprire centrala termica) si 28°C echivalenta cu ON (pornire centrala termica).

Pentru ca acest modul sa trimita comanda corecta catre switch-ul termostatului BEOK va trebui sa atribuim comenzile necesare:

attr HCS_BeOK_Homematic deviceCmdOff desired-temp 5.0
attr HCS_BeOK_Homematic deviceCmdOn desired-temp 28.0

Tradus in modul de functionare FHEM modulul va trimite o comanda de OFF setand termostatul BEOK pe 5.0°C, comada care de altfel ar arata asa: set Thermo desired-temp 5.0

Definire Histereza sistemului de incalzire

Vom defini si Histereza – punctul la care se va declansa pornirea si oprirea instalatiei de caldura. Aceasta poate fi definita functie de temperaturile setate, dar si de pozitia valvelor (procentual).

attr HCS_BeOK_Homematic thermostatThresholdOff 0.1
attr HCS_BeOK_Homematic thermostatThresholdOn 0.5

TresholdOn este diferenta de temperatura la care va porni sistemul de incalzire fata de temperatura setata. TresholdOff este diferenta la care sistemul de incalzire se va opri. De exemplu avem setata pe unul dintre termostatele de calorifer temperatura dorita de 21°C, atunci cand aceasta scade sub 0.5°C, mai exact la 20.4°C sistemul va declansa incalzirea, iar cand temperatura ambientala raportata de termostat ajunge la 21.2°C, sistemul va opri incalzirea. Putem introduce si intervale de Histereza mai mici sau mai mari decat cea exemplificata de 0.5°C.

Termostat BEOK Wi-Fi

Termostat BEOK

  • Conectare Wi-Fi
  • Integrare cu sisteme Smart Home
  • Program orar si zilnic
Definire mod ECO de functionare a sistemului de incalzire

Este important sa definim si temperatura de functionare in modul ECO:

attr HCS_BeOK_Homematic ecoTemperatureOff 15
attr HCS_BeOK_Homematic ecoTemperatureOn 14

Setarea intervalului de verificare a necesitatii de incalzire a termostatelor de calorifer o vom defini prin idleperiod si interval, unitatea de masura fiind minute.

Pentru activare mod eco al modulului HCS vom folosi comanda: set <nume_atribuit_HCS> eco on. Pentru dezactivare desigur comanda inversa set <nume_atribuit_HCS> eco off.

Verificare functionalitate sistem

In primul calup de imagini avem sistemul dezactivat. Asta inseamna ca temperaturile reale din fiecare incaparere sunt mai mari decat cele setate, si sistemul este inactiv. Incalzirea nu functioneaza. In al doilea calup de imagini avem sistemul activat, unul dintre termostatele de calorifer are temperatura setata mai mare decat cea existenta astfel ca modulul HCS detecteaza cererea de caldura din camera respectiva si activeaza switch-ul termostatului BEOK prin comanda prestabilita.

Programare termostate HomeMatic pentru incalzire pe zile si ore

Odata integrate si sistemul de incalzire functional nu ne ramane decat sa realizam o programare a acestor termostate pe zile si ore. Avem posibilitatea de a ingloba aceste setari in memoria termostatului HomeMatic sau printr-un modul de control extern, definibil in FHEM.

Pentru programarea memoriei interne a termostatelor HomeMatic vom folosi comanda set <Nume_Termostat> tempList<NUMELE_ZILEI> HH:MM TT.t HH:MM TT.t HH:MM TT.t

Concret set HT_<Nume> tempListMon 06:00 17.0 09:00 21.0 17:30 20

In exemplul de mai sus s-a programat ziua de luni ca la ora 6.00 termostatul sa fie setat pe temperatura de 17.0°C, la ora 9.00 va seta temperatura de 21.0°C etc. Aceasat procedura trebuie repetata pentru ficare dintre cele 7 zile ale saptamanii, pentru fiecare termostat de calorifer in parte. Folosind acest mod de programare pentru a fi functional la finalul realizarii programului va trebui setat pe modul automat cu set <nume_termostat> controlMode auto.

Programarea se poate realiza mai facil prin intermediul unui week timer – modul disponibil in FHEM. Pentru aceasta vom folosi comanda define <nume_program> WeekdayTimer <nume_termostat> [<limba = en>] [numarul_zilei]|<orar>|<temperatura>

Concret:

define HeatingProg_Do WeekdayTimer HT_Dormitor 12345|06:00|20.5 12345|07:30|18 6|08:30|21 6|10:00|19 1234560|18:00|20.5 1234560|22:00|20.5 0|08:30|20

Zilele saptamanii sunt numerotate astfel: 0=duminica, 1=luni, 2=marti…6=sambata, sau putem defini zilele de weekend cu 7=weekend. Orele pot fi definite ca HH:MM sau HH:MM:SS (ore:minute:secunde). Pentru a functiona avem nevoie sa definim un parametru de comanda. In cazul termostatelor HomeMatic vom defini cu set <device> <parametru>, concret: attr HeatingProg_Do commandTemplate set $NAME desired-temp $EVENT. Ceea ce inseamna ca la ora stabilita in definitie modulul va trimite un mesaj cu temperatura dorita ($EVENT) catre termostat ($NAME) de forma set <nume_termostat> desired-temp <temperatura_corespunzatoare>.

Pentru o vizualizare mai facila a proframelor pe zile si ore modulul va expune in frontend programarea facuta, in timp ce in readings vom vedea temperatura actuala din program, daca modulul este activ sau inactiv (disabled 0|1), cand se va face urmatorul update de temperatura, care va fi urmatoarea temperatura setata, si statusul actual al termostatului.

Activarea programului se va face cu comanda set <nume_program> enable, dezacivarea se va face cu set <nume_program> disable.

Pentru a folosi acest modul termostatul HomeMatic trebuie sa fie in modul manual. Vom seta cu set <nume_termostat> controlMode manual. Fiecarui termostat de calorifer se poate seta un WeekdayTimer, sau poate functiona in modul manual sau automat asa cum aratam mai sus cu programul pentru incalzire integrat.

La fel ca la redenumirea termostatelor este o buna practica sa mentinem si in cazul WeekdayTimer-elor nume generice de tipul Program_HT_<nume_camera>, facilitand astfel ulterior activarea sau dezactivarea acestora printr-o comanda simpla, cum ar fi set HeatingProg_.* disable -(dezactivare) enable -(activare).

Iata cat de simplu putem automatiza incalzirea interconectand doua componente de la doi producatori diferiti, termostatele de calorifer HomeMatic si termostatul Wi-Fi BEOK.

Termostat HomeMatic

Termostat HomeMatic

Raspbery Pi 3B+

Raspberry Pi 3B+

Termostat BEOK

Termostat BEOK BOT-313WiFi

In tutorialul urmator vom vedea cumcontrolam termostatul HomeMatic cu un senzor de temperatura exterior dar si cum putem integra si folosi functia boost a acestuia, foarte utila de altfel cand simti nevoiea doar de un pic mai multa caldura in camera, sau in toata casa.

De Iulian Susnea

Pasionat de tehnologie, gadgeturi smart home si automatizari si am pornit la drum in crearea acestui site cu tutoriale pentru cele mai importante sisteme Smart Home ale momentului din dorinta de a-i ajuta pe cei la inceput de drum.

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *