Ustatnia modyfikacja 16 listopada 2023 przez Olek

Jednym z podstawowych urządzeń w domu jest piec gazowy do ogrzewania domu i wody użytkowej. Ja mam piec Vaillant ecoTEC plus z zasobnikiem i sterownikiem multiMATIC VRC 700/4. Mając system inteligentnego HA domu wypadało by mieś z jego poziomu kontrole nad tym piecem. Po analizie problemu i lekturze informacji na ten temat w sieci okazało się że można wykonać taką integrację. Vaillant stosuje dość znany protokół do komunikacji pieca ze sterownikiem i innymi peryferiami. Jest to eBUS. Jest też dostępny adapter i odpowiednie oprogramowanie1. Wgłębiając się dalej w temat uznałem że mogę sam go wykonać od podstaw. Tym bardziej że jedna z wersji opiera się na popularnym układzie ESP 2

Powered By EmbedPress

Konfiguruje się za pomocą przeglądarki www łącząc się po IP z urządzeniem. Na komputerze na którym mam postawiony Home Assistant trzeba zainstalować i uruchomić specjalny proces (demon) który komunikuje się z kartą i przekazuje dale informacje. W moim przypadku skorzystałem z broker MQTT.

Trzeba teras standardowo skonfigurować HA i wyciągnąć z pieca te informacje które potrzebujemy. Jak również skonfigurować te elementy którymi chcemy sterować. Praktycznie możemy wszystko zrobić. Ciekawą informacją są licznik zużycia energii przez piez z podziałem na ogrzewanie i ciepłą wodę użytkowa. Jedyny niuans jest w tym że nie wiadomo w jakich jest jednostkach, Trzeba je sobie indywidualnie skalibrować

Poniżej przykład części moje konfiguracji

- name: Ogrzewanie ciśnienie
  unique_id: ebusd_central_heating_pressure
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/WaterPressure"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: Bar

- name: Ogrzewanie Temperatura zasilania
  state_topic: "ebusd/bai/FlowTemp"
  unique_id: ebusd_central_heating_flow_temperature
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "°C"

- name : Ogrzewanie Docelowa temperatura zasilania
  unique_id: ebusd_central_heating_desired_flow_temperature
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/FlowTempDesired"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "°C"

- name : Ogrzewanie Temperatura powrotu
  unique_id: ebusd_central_return_temperature
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/ReturnTemp"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "°C"

- name : Ogrzewanie Różnica zasilanie-powrót
  unique_id: ebusd_central_heating_return_temperature_difference
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/ReturnTempExternal"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "°C"

- name : Ogrzewanie Odcięcie powrotu
  unique_id: ebusd_central_heating_return_cutoff
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/ReturnTempExternal"
  value_template: "{{ value.split(';')[1] }}"

- name : Ciepła woda Aktualnie
  unique_id: ebusd_hot_water_temperature
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/HwcTemp"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "°C"

- name : Zasobnik Aktualnie
  unique_id: ebusd_storage_temperature
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/StorageTemp"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "°C"    

- name : Ciepła woda Maksymalnie
  unique_id: ebusd_hot_water_max_temperature
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/HwcTempMax"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "°C"

- name : Ciepła woda Docelowo
  unique_id: ebusd_hot_water_actual_temp_desired
  device:
    identifiers: "ebusd_700"
    via_device: "ebusd"
  state_topic: "ebusd/700/HwcTempDesired"
  unit_of_measurement: "°C"

- name : Ciepła woda Maksymalny przepływ
  unique_id: ebusd_hot_water_maximum_flow
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/HwcWaterflowMax"
  value_template: "{{ value.split(';')[0] }}"

#- name : Ogrzewanie Pozycja zaworu
#  unique_id: ebusd_central_heating_3_way_valve_position
#  device:
#    identifiers: "ebusd_bai"
#    via_device: "ebusd"
#  state_topic: "ebusd/bai/PositionValveSet"
#  value_template: "{{ value.split(';')[0] }}"

- name : Ogrzewanie Częściowe obciążenie
  unique_id: ebusd_central_heating_partial_load
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/PartloadHcKW"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "kW"

- name : Ogrzewanie Aktualna moc
  unique_id: ebusd_central_current_power
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/ModulationTempDesired"
  unit_of_measurement: "%"

- name : Ogrzewanie Moc pompy
  unique_id: ebusd_central_heating_pump_power
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/PumpPower"
  unit_of_measurement: "W"

- name : Ogrzewanie zużycie
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/PrEnergyCountHc1"
  unit_of_measurement: "piec"
  device_class: energy
  state_class: total_increasing

- name: Ciepła woda zużycie
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/PrEnergyCountHwc1"
  unit_of_measurement: "piec"
  device_class: energy
  state_class: total_increasing

- name : Ogrzewanie Średni czas zapłonu
  unique_id: ebusd_central_heating_average_ignition_time
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/averageIgnitiontime"
  unit_of_measurement: "s"

- name : Ogrzewanie Prędkość wentylatora
  unique_id: ebusd_central_heating_fan_speed
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/FanSpeed"
  unit_of_measurement: RPM

- name : Ogrzewanie Docelowa prędkość wentylatora
  unique_id: ebusd_central_heating_target_fan_speed
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/TargetFanSpeed"
  unit_of_measurement: RPM

- name : Ogrzewanie Błąd
  unique_id: ebusd_central_heating_current_error
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/currenterror"



- name : Ogrzewanie Aktualna temperatura
  unique_id: ebusd_central_heating_current_room_temperature
  device:
    identifiers: "ebusd_700"
    via_device: "ebusd"
  state_topic: "ebusd/700/z1RoomTemp"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "°C"

- name : Ogrzewanie Temperatura zewnętrzna
  unique_id: ebusd_central_heating_outside_temperature
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/OutdoorstempSensor"
  value_template: "{{ value.split(';')[0] }}"
  unit_of_measurement: "°C"

- name : Ogrzewanie Aktualna temperatura przepływu
  unique_id: ebusd_central_heating_actual_flow_temperature_desired
  device:
    identifiers: "ebusd_700"
    via_device: "ebusd"
  state_topic: "ebusd/700/Hc1ActualFlowTempDesired"
  unit_of_measurement: "°C"

- name : Ogrzewanie Temperatura docelowa
  unique_id: ebusd_central_heating_actual_room_temperature_desired
  device:
    identifiers: "ebusd_700"
    via_device: "ebusd"
  state_topic: "ebusd/700/ActualRoomTempDesiredHc1"
  unit_of_measurement: "°C"
  
- name : Ogrzewanie Temperatura zadana dzień
  device:
    identifiers: "ebusd_700"
    via_device: "ebusd"
  state_topic: "ebusd/700/z1DayTemp"
  unit_of_measurement: "°C"
  
- name : Ogrzewanie status
  device:
    identifiers: "ebusd_700"
    via_device: "ebusd"
  state_topic: "ebusd/700/Hc1Status"
  unit_of_measurement: piec


- name : Ogrzewanie szybkość wentylatora
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/FanSpeed"
  unit_of_measurement: piec
  
- name : Ogrzewanie pozycja zaworu trójdrożnego
  device:
    identifiers: "ebusd_bai"
    via_device: "ebusd"
  state_topic: "ebusd/bai/PositionValveSet"
  unit_of_measurement: piec
  1. https://adapter.ebusd.eu/ ↩︎
  2. https://github.com/john30/ebusd-esp ↩︎

Dodaj komentarz