OpenTherm în Home Assistant
Modulul OpenTherm este programat cu Tasmota dar la cerere poate fi programat de la inceput si cu ESPHome.
Tasmota permite o integrare mai larga, cu orice soft de control Smart Home dar ESPHome este perfect integrat cu Home Assistant iar orice modificare este preluata automat si disponibila in interfata.
In acest tutorial vom trata update-ul la ESPHome de la Tasmota dar si integrarea unui modul deja scris cu ESPHome.
1. Configurare inițială în ESPHome
- deschideți în Home Assistant tab-ul ESPHome
- click pe "+ NEW DEVICE"
- introduceți un nume pentru modulul OpenTherm, click NEXT
- ESPHome oferă programarea modulului, alegeti "SKIP THIS STEP"
- alegeți tipul de dispozitiv: click pe ESP8266 în listă
- ESPHome vă anunță că a creeat configurația, apăsați "SKIP" deoarece nu programăm încă modulul
- căutați în lista de dispozitive numele ales anterior și apăsați pe EDIT
- în pagina de editare a fișierului yaml facem următoarele modificări:
- la board: alegem esp12e
esp8266: board: esp12e
- la logger adăugăm linia baud_rate: 0 deoarece nu folosim log serial și astfel economisim resurse
logger: baud_rate: 0
- adaptăm setările pentru rețeaua WiFi, recomandat este să folosim fișierul SECRETS din pagina principală ESPHome
wifi: ssid: !secret wifi_ssid password: !secret wifi_password
- la sfârșitul fișierului începem să adăugam liniile care definesc pinii OT și restul de setari pentru OpenTherm
opentherm: in_pin: 4 # sau 14, in functie de jumperul de pe spatele PCB out_pin: 5 # sau 12 sensor: # informatii despre centrala, valori fixe si senzori # nu toate CT au toti senzorii disponibili pentru OT # dupa prima instalare puteti comenta senzorii care nu sunt # populati cu valori sau pe cei info care nu se schimba niciodata - platform: opentherm rel_mod_level: name: "modulație" ch_pressure: name: "presiune circuit încălzire" dhw_flow_rate: name: "debit ACM" t_boiler: name: "temperatură lucru" t_dhw: name: "temperatură ACM" t_outside: name: "temperatură exterior" t_ret: name: "temperatură retur" t_storage: name: "temperatura boiler intern" t_collector: name: "temperatura colector solar" t_flow_ch2: name: "temperatura circuit încălzire 2" t_dhw2: name: "temperatură ACM 2" t_exhaust: name: "temperatură gaze arse" fan_speed: name: "turație ventilator" fan_speed_setpoint: name: "necesar turație ventilator" flame_current: name: "curent flacără (µA)" burner_starts: name: "porniri arzător" ch_pump_starts: name: "porniri pompă recirculare" dhw_pump_valve_starts: name: "porniri pompă/vană ACM" dhw_burner_starts: name: "porniri arzător pt. ACM" burner_operation_hours: name: "ore funcționare arzător" ch_pump_operation_hours: name: "ore funcționare pompă recirculare" dhw_pump_valve_operation_hours: name: "ore funcționare pompă/vană ACM" dhw_burner_operation_hours: name: "ore funcționare arzător pt ACM" binary_sensor: - platform: opentherm fault_indication: name: "eroare" ch_active: name: "încălzire activă" dhw_active: name: "ACM activă" flame_on: name: "flacără activă" cooling_active: name: "răcire activă" ch2_active: name: "încălzire circuit 2 activă" diagnostic_indication: name: "diagnostic" electricity_production: name: "producție curent" dhw_present: name: "CT cu funție ACM" control_type_on_off: name: "control cu termostat clasic" cooling_supported: name: "CT cu funcție răcire" dhw_storage_tank: name: "CT cu boiler ACM" controller_pump_control_allowed: name: "cotrol pompă recirculare permis" ch_2_present: name: "funcție circuit 2 încălzire disponibilă" service_request: name: "cerere service" lockout_reset: name: "resetare eroare" low_water_pressure: name: "presiune apă scăzută" flame_fault: name: "eroare gaz/flacără" air_pressure_fault: name: "eroare presiune aer" water_over_temperature_fault: name: "eroare depășire temperatură apă" switch: - platform: opentherm ch_enable: name: "încălzire activă" # ch2_active: # name: "zona 2 activă" dhw_enable: name: "ACM activă" # otc_active: # name: "OTC activă" # OTC activeaza functionarea dupa o curba de temperatura la CT # cu senzor exterior de temperatura summer_mode_active: name: "mod vară activ" dhw_block: name: "blocare ACM" number: - platform: opentherm t_set: name: "temperatură TUR" min_value: 20.0 max_value: 50.0 step: 1 mode: box restore_value: true t_dhw_set: name: "temperatură ACM" min_value: 20.0 max_value: 50.0 step: 1 mode: box restore_value: true max_t_set: name: "temperatură TUR maximă" min_value: 20.0 max_value: 60.0 step: 1 mode: box restore_value: true max_rel_mod_level: name: "modulație maximă" min_value: 0.0 max_value: 100.0 step: 1 mode: box restore_value: true button: - platform: restart name: "Restart modul OT"
- apăsăm SAVE apoi INSTALL apoi alegem "Manual download" iar după compilare obținem un fișier cu numele ales și cu extensia bin
2. Tasmota la ESPHome
- alegem butonul Firmware Upgrade
- în rubrica Upgrade by file upload alegem fișierul obținut la pasul 1. și apăsăm Start upgrade
- la scurt timp suntem anunțați de Home Assistant că a descoperit un dispozitiv nou
3. ESPHome
- alimentăm modulul OpenTherm apoi căutam și ne conectăm la WiFi 3DStar
- în pagina care se deschide, la OTA Update, alegem fișierul de la pasul 1. apoi apăsăm pe Update
- la scurt timp suntem anunțați de Home Assistant că a descoperit un dispozitiv nou
Din acest moment orice modificare facem din ESPHome doar apăsăm pe SAVE apoi pe INSTALL și modulul este reprogramat automat.
Mai multe informații despre configurarea dispozitivului ca la pasul 1. găsiți aici: ESPHome OpenTherm
Mai jos niște exemple de senzori disponibili la o centrală Viessmann 050W model curent.
Succes la meșterit!