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
    meniu principal Tasmota
  • în rubrica Upgrade by file upload alegem fișierul obținut la pasul 1. și apăsăm Start upgrade
    upgrade Tasmota
  • la scurt timp suntem anunțați de Home Assistant că a descoperit un dispozitiv nou
    dispozitiv nou în Home Assistant


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
    pagina default IR Blaster 3DStar
  • la scurt timp suntem anunțați de Home Assistant că a descoperit un dispozitiv nou
    dispozitiv nou în Home Assistant


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.
butoane și valori ce pot fi modificate în Home Assistant
senzori în Home Assistant
diagnostic în Home Assistant

Succes la meșterit!