Ebus integration?

This seems very interesting project!


https://fromeijn.nl/connected-vaillant-to-home-assistant/

Here’s my ebus config (although im not using the integration), hopefully it will help someone (or get improved;)

sensor:
  - platform: mqtt
    name: Central Heating Pressure
    state_topic: "ebusd/bai/WaterPressure"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: Bar
  - platform: mqtt
    name: Central Heating Flow Temperature
    state_topic: "ebusd/bai/FlowTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Desired Flow Temperature
    state_topic: "ebusd/bai/FlowTempDesired"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Return Temperature
    state_topic: "ebusd/bai/ReturnTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Return Temperature difference
    state_topic: "ebusd/bai/ReturnTempExternal"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Return Cutoff
    state_topic: "ebusd/bai/ReturnTempExternal"
    value_template: "{{ value.split(';')[1] }}"
  - platform: mqtt
    name: Hot Water Temperature
    state_topic: "ebusd/bai/HwcTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Hot Water Max Temperature
    state_topic: "ebusd/bai/HwcTempMax"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"    
  - platform: mqtt
    name: Hot Water Actual Temp Desired
    state_topic: "ebusd/f47/HwcActualTempDesired"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Hot Water Storage Temperature
    state_topic: "ebusd/bai/StorageTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"  
  - platform: mqtt
    name: Hot Water maximum flow
    state_topic: "ebusd/bai/HwcWaterflowMax"
    value_template: "{{ value.split(';')[0] }}"
  - platform: mqtt
    name: Central Heating 3-Way Valve Position
    state_topic: "ebusd/bai/PositionValveSet"
    value_template: "{{ value.split(';')[0] }}"
  - platform: mqtt
    name: Central Heating Partial Load
    state_topic: "ebusd/bai/PartloadHcKW"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "kW"
  - platform: mqtt
    name: Central Heating Current Power
    state_topic: "ebusd/bai/ModulationTempDesired"
    unit_of_measurement: "%"
  - platform: mqtt
    name: Central Heating Pump Power
    state_topic: "ebusd/bai/PumpPower"
    unit_of_measurement: "W"
  - platform: mqtt
    name: Central Heating energy usage
    state_topic: "ebusd/bai/PrEnergyCountHc1"
  - platform: mqtt
    name: Hot Water energy usage
    state_topic: "ebusd/bai/PrEnergyCountHwc1"
  - platform: mqtt
    name: Central Heating Average Ignition time
    state_topic: "ebusd/bai/averageIgnitiontime"
    unit_of_measurement: "s"
  - platform: mqtt
    name: Central Heating Fan Speed
    state_topic: "ebusd/bai/FanSpeed" 
    unit_of_measurement: RPM
  - platform: mqtt
    name: Central Heating Target Fan Speed
    state_topic: "ebusd/bai/TargetFanSpeed" 
    unit_of_measurement: RPM
  - platform: mqtt
    name: Central Heating Target Fan Speed Output
    state_topic: "ebusd/bai/TargetFanSpeedOutput"
    unit_of_measurement: RPM
  - platform: mqtt
    name: Central Heating Current Error
    state_topic: "ebusd/bai/currenterror"
  - platform: mqtt
    name: Central Heating Current Room Temperature
    state_topic: "ebusd/f47/RoomTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Outside Temperature
    state_topic: "ebusd/f47/OutsideTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Actual Flow Temperature Desired
    state_topic: "ebusd/f47/Hc1ActualFlowTempDesired"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Actual Room Temperature Desired
    state_topic: "ebusd/f47/ActualRoomTempDesiredHc1"
    unit_of_measurement: "°C"

binary_sensor:
  - platform: mqtt
    name: "Central Heating Flame"
    state_topic: "ebusd/bai/Flame"
    payload_on: "on"
    payload_off: "off"
  - platform: mqtt
    name: "Central Heating Ignitor"
    state_topic: "ebusd/bai/Ignitor"
    payload_on: "on"
    payload_off: "off"
  - platform: mqtt
    name: "Central Heating Water pump state"
    state_topic: "ebusd/bai/WP"
    payload_on: "on"
    payload_off: "off"
  - platform: mqtt
    name: "Hot Water Demand"
    state_topic: "ebusd/bai/HwcDemand"
    payload_on: "yes"
    payload_off: "no"
  - platform: mqtt
    name: Central Heating Pre Cutoff active
    state_topic: "ebusd/f47/Hc1PreCutOffActive"
    payload_on: "yes"
    payload_off: "no"
  - platform: mqtt
    name: Central Heating Continuos Mode
    state_topic: "ebusd/f47/Hc1PreOrContinuosHeatingActive"
    payload_on: "yes"
    payload_off: "no"

switch:
  - platform: mqtt 
    name: 'Hot Water Switch'
    state_topic: 'ebusd/bai/HwcSwitch'
    command_topic: 'ebusd/bai/HwcSwitch/set'
    state_on: 'on'
    state_off: 'off'
    payload_on: 'on'
    payload_off: 'off'

  - platform: mqtt 
    name: 'Central Heating Switch'
    state_topic: 'ebusd/bai/HeatingSwitch'
    command_topic: 'ebusd/bai/HeatingSwitch/set'
    state_on: 'on'
    state_off: 'off'
    payload_on: 'on'
    payload_off: 'off'

input_select:
  central_heating_operation_mode:
    name: Central Heating Operation Mode
    options:
    - "Automatic"
    - "Night"
    - "Comfort"
    - "Summer"
  central_heating_temporary_mode:
    name: Central Heating Temporary Mode
    options:
    - "None"
    - "Party"
    - "Day in"
    - "Day away"

input_number:
  central_heating_heat_curve:
    name: Central Heating Heat Curve
    min: 0.20
    max: 4.00
    step: 0.05
    mode: box
  central_heating_set_day_temp:
    name: Central Heating Set Day Temperature
    min: 10
    max: 30
    step: 0.5
    unit_of_measurement: '°C'
  central_heating_set_night_temp:
    name: Central Heating Set Night Temperature
    min: 10
    max: 30
    step: 0.5
    unit_of_measurement: '°C'
  hot_water_temp_desired:
    name: Hot Water Temperature Desired
    min: 30
    max: 65
    step: 0.5
    mode: slider
    unit_of_measurement: '°C'

automation:
  - alias: ebusd_time_update
    initial_state: 'on'
    trigger:
      - platform: time
        at: '00:00:00'
    action:
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Date/set'
          payload_template: "{{ now().strftime('%d.%m.%Y') }}"
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Time/set'
          payload_template: "{{ now().strftime('%H:%M:%S') }}"

  - alias: Set Central Heating Operation Mode
    initial_state: 'on'
    trigger:
      - platform: state
        entity_id: input_select.central_heating_operation_mode
    action:
      service: mqtt.publish
      data_template:
        topic: 'ebusd/f47/Hc1OPMode/set'
        payload: >
          {% if is_state('input_select.central_heating_operation_mode','Automatic') %}
          auto
          {% elif is_state('input_select.central_heating_operation_mode','Night') %}
          night
          {% elif is_state('input_select.central_heating_operation_mode','Comfort') %}
          comfort
          {% elif is_state('input_select.central_heating_operation_mode','Summer') %}
          summer
          {% endif %}

  - alias: Get Central Heating Operation Mode
    initial_state: 'on'
    trigger:
      - platform: mqtt
        topic: 'ebusd/f47/Hc1OPMode'
    action:
      service: input_select.select_option
      data_template:
        entity_id: input_select.central_heating_operation_mode
        option: >
          {% set opmode = {
            'auto': 'Automatic',
            'night': 'Night',
            'comfort': 'Comfort',
            'summer': 'Summer' } %}
          {{ opmode.get('trigger.payload','Automatic') }}

  - alias: Set Central Heating Temporary Mode
    initial_state: 'on'
    trigger:
      - platform: state
        entity_id: input_select.central_heating_temporary_mode
    action:
      service: mqtt.publish
      data_template:
        topic: 'ebusd/f47/Hc1OPMode/set'
        payload: >
          {% if is_state('input_select.central_heating_temporary_mode','None') %}
          none
          {% elif is_state('input_select.central_heating_temporary_mode','Day away') %}
          onedayholiday
          {% elif is_state('input_select.central_heating_temporary_mode','Day in') %}
          onedaybankholiday
          {% elif is_state('input_select.central_heating_temporary_mode','Party') %}
          party
          {% endif %}

  - alias: Get Central Heating Temporary Mode
    initial_state: 'on'
    trigger:
      - platform: mqtt
        topic: 'ebusd/f47/Hc1OPMode'
    action:
      service: input_select.select_option
      data_template:
        entity_id: input_select.central_heating_temporary_mode
        option: >
          {% set opmode = {
            'none': 'None',
            'onedayholiday': 'Day away',
            'onedaybankholiday': 'Day in',
            'party': 'Party' } %}
          {{ opmode.get('trigger.payload','None') }}

  - alias: Set Central Heating Heat Curve
    initial_state: 'on'
    trigger:
      - platform: state
        entity_id: input_number.central_heating_heat_curve
    action: 
      service: mqtt.publish
      data_template:
        topic: 'ebusd/f47/Hc1HeatCurve/set'
        payload: '{{ states.input_number.central_heating_heat_curve.state | float }}'

  - alias: Get Central Heating Heat Curve
    initial_state: 'on'
    trigger:
      - platform: mqtt
        topic: 'ebusd/f47/Hc1HeatCurve'
    action:
      service: input_number.set_value
      data_template:
        entity_id: input_number.central_heating_heat_curve
        value: '{{ trigger.payload | float }}'

  - alias: Set Central Heating Set Day Temperature
    initial_state: 'on'
    trigger:
      - platform: state
        entity_id: input_number.central_heating_set_day_temp
    action: 
      service: mqtt.publish
      data_template:
        topic: 'ebusd/f47/Hc1DayTemp/set'
        payload: '{{ states.input_number.central_heating_set_day_temp.state | int }}'

  - alias: Get Central Heating Set Day Temperature
    initial_state: 'on'
    trigger:
      - platform: mqtt
        topic: 'ebusd/f47/Hc1DayTemp'
    action:
      service: input_number.set_value
      data_template:
        entity_id: input_number.central_heating_set_day_temp
        value: '{{ trigger.payload | int }}'

  - alias: Set Central Heating Set Night Temperature
    initial_state: 'on'
    trigger:
      - platform: state
        entity_id: input_number.central_heating_set_night_temp
    action: 
      service: mqtt.publish
      data_template:
        topic: 'ebusd/f47/Hc1NightTemp/set'
        payload: '{{ states.input_number.heating_set_night_temp.state | int }}'

  - alias: Get Central Heating Set Night Temperature
    initial_state: 'on'
    trigger:
      - platform: mqtt
        topic: 'ebusd/f47/Hc1DayTemp'
    action:
      service: input_number.set_value
      data_template:
        entity_id: input_number.heating_set_night_temp
        value: '{{ trigger.payload | int }}'

  - alias: Set Hot Water Temperature Desired
    initial_state: 'on'
    trigger:
      - platform: state
        entity_id: input_number.hot_water_temp_desired
    action: 
      service: mqtt.publish
      data_template:
        topic: 'ebusd/f47/HwcTempDesired/set'
        payload: '{{ states.input_number.hot_water_temp_desired.state | int }}'

  - alias: Get Hot Water Temperature Desired
    initial_state: 'on'
    trigger:
      - platform: mqtt
        topic: 'ebusd/f47/HwcTempDesired'
    action:
      service: input_number.set_value
      data_template:
        entity_id: input_number.hot_water_temp_desired
        value: '{{ trigger.payload | int }}'

  - alias: ebusd_mqtt_update
    initial_state: 'on'
    trigger:
      - platform: time_pattern
        minutes: '/2'
    action:
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/ReturnTemp/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/ReturnTempExternal/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/WaterPressure/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/FlowTemp/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/FlowTempDesired/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/HwcTemp/get'
          payload: '1' 
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/HwcTempMax/get'
          payload: '1' 
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/HwcWaterflowMax/get'
          payload: '1' 
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/HwcTempDesired/get'
          payload: '1' 
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/HwcActualTempDesired/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/HwcOPMode/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/StorageTemp/get'
          payload: '1' 
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/PositionValveSet/get'
          payload: '1'    
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/PartloadHcKW/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/ModulationTempDesired/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/PumpPower/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/PrEnergyCountHc1/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/PrEnergyCountHwc1/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/averageIgnitionTime/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/FanSpeed/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/TargetFanSpeed/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/TargetFanSpeedOutput/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/currenterror/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/HeatingSwitch/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/Flame/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/Ignitor/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/WP/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/HwcSwitch/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/HwcDemand/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/bai/HeatingSwitch/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Hc1PreCutOffActive/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Hc1OPMode/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Hc1SFMode/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Hc1DayTemp/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Hc1NightTemp/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Hc1HeatCurve/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Hc1ActualFlowTempDesired/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/ActualRoomTempDesiredHc1/get'
          payload: '1'
      - service: mqtt.publish
        data:
          topic: 'ebusd/f47/Hc1PreOrContinuosHeatingActive/get'
          payload: '1'
2 Likes

Hi @dinth
I’d just used your ebusd-configuration and “everything” started working! Thank you for sharing your config.
Do you have made any improvements since posting? Are you willing to share your definitiion of your “climate” entity?
Thanks!

Welcome on the forum @GrumpyMeow
The main improvement on my todo list is updating ebusd to dev version. Im not sure if its possible or make sense to create a climate component out of it. Unfortunately with VRC470 (or other controller) the control over the boiler is very limited - just target temperatures, modes and heat curve.
It should be possible to control the boiler directly with VRC470 disconnected, but would require very complex logic.

ATM I can only add my lovelace config here:

entities:
  - entity: switch.central_heating_switch
  - entity: input_select.central_heating_operation_mode
  - entity: input_select.central_heating_temporary_mode
  - entity: input_number.central_heating_set_day_temp
  - entity: input_number.central_heating_set_night_temp
  - entity: input_number.central_heating_heat_curve
  - entity: binary_sensor.central_heating_ignitor
  - entity: binary_sensor.central_heating_flame
  - entity: sensor.central_heating_partial_load
  - entity: sensor.central_heating_current_power
  - entity: sensor.central_heating_3_way_valve_position
  - entity: sensor.central_heating_pressure
  - entity: binary_sensor.central_heating_water_pump_state
  - entity: sensor.central_heating_current_power
  - entity: sensor.central_heating_flow_temperature
  - entity: sensor.central_heating_desired_flow_temperature
  - entity: sensor.central_heating_actual_flow_temperature_desired
  - entity: sensor.central_heating_actual_room_temperature_desired
  - entity: sensor.central_heating_current_room_temperature
  - entity: sensor.central_heating_outside_temperature
  - entity: sensor.central_heating_return_temperature
  - entity: sensor.central_heating_return_temperature_difference
  - entity: sensor.central_heating_return_cutoff
  - entity: sensor.central_heating_pump_power
  - entity: sensor.central_heating_fan_speed
  - entity: sensor.central_heating_target_fan_speed
  - entity: sensor.central_heating_target_fan_speed_output
  - entity: sensor.central_heating_energy_usage
  - entity: sensor.central_heating_current_error
  - entity: sensor.central_heating_average_ignition_time
  - entity: binary_sensor.central_heating_continuos_mode
  - entity: binary_sensor.central_heating_pre_cutoff_active
  - entity: sensor.central_heating_average_ignition_time
show_header_toggle: false
type: entities

Aha. i see what you did there. Interesting.
For now i’ll stick to Climate as i can expose that entity to Google Home/Assistant.
Thanks again!

My previous code was severly bugged and lack important functionalities. Here’s a better version:

sensor:
  - platform: mqtt
    name: Central Heating Pressure
    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
  - platform: mqtt
    name: Central Heating Flow Temperature
    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"
  - platform: mqtt
    name: Central Heating Desired Flow Temperature
    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"
  - platform: mqtt
    name: Central Heating Return Temperature
    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"
  - platform: mqtt
    name: Central Heating Return Temperature difference
    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"
  - platform: mqtt
    name: Central Heating Return Cutoff
    unique_id: ebusd_central_heating_return_cutoff
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/ReturnTempExternal"
    value_template: "{{ value.split(';')[1] }}"
  - platform: mqtt
    name: Hot Water Temperature
    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"
  - platform: mqtt
    name: Hot Water Max Temperature
    unique_id: ebusd_hot_water_temperature
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/HwcTempMax"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Hot Water Actual Temp Desired
    unique_id: ebusd_hot_water_actual_temp_desired
    device:
      identifiers: "ebusd_f47"
      via_device: "ebusd"
    state_topic: "ebusd/f47/HwcActualTempDesired"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Hot Water Storage Temperature
    unique_id: ebusd_hot_water_storage_temperature
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/StorageTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Hot Water maximum flow
    unique_id: ebusd_hot_water_maximum_flow
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/HwcWaterflowMax"
    value_template: "{{ value.split(';')[0] }}"
  - platform: mqtt
    name: Central Heating 3-Way Valve Position
    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] }}"
  - platform: mqtt
    name: Central Heating Partial Load
    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"
  - platform: mqtt
    name: Central Heating Current Power
    unique_id: ebusd_central_current_power
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/ModulationTempDesired"
    unit_of_measurement: "%"
  - platform: mqtt
    name: Central Heating Pump Power
    unique_id: ebusd_central_heating_pump_power
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/PumpPower"
    unit_of_measurement: "W"
  - platform: mqtt
    name: Central Heating energy usage
    unique_id: ebusd_central_heating_energy_usage
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/PrEnergyCountHc1"
  - platform: mqtt
    name: Hot Water energy usage
    unique_id: ebusd_hot_water_energy_usage
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/PrEnergyCountHwc1"
  - platform: mqtt
    name: Central Heating Average Ignition time
    unique_id: ebusd_central_heating_average_ignition_time
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/averageIgnitiontime"
    unit_of_measurement: "s"
  - platform: mqtt
    name: Central Heating Fan Speed
    unique_id: ebusd_central_heating_fan_speed
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/FanSpeed"
    unit_of_measurement: RPM
  - platform: mqtt
    name: Central Heating Target Fan Speed
    unique_id: ebusd_central_heating_target_fan_speed
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/TargetFanSpeed"
    unit_of_measurement: RPM
  - platform: mqtt
    name: Central Heating Target Fan Speed Output
    unique_id: ebusd_central_heating_target_fan_speed_output
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/TargetFanSpeedOutput"
    unit_of_measurement: RPM
  - platform: mqtt
    name: Central Heating Current Error
    unique_id: ebusd_central_heating_current_error
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/currenterror"
  - platform: mqtt
    name: Central Heating Current Room Temperature
    unique_id: ebusd_central_heating_current_room_temperature
    device:
      identifiers: "ebusd_f47"
      via_device: "ebusd"
    state_topic: "ebusd/f47/RoomTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Outside Temperature
    unique_id: ebusd_central_heating_outside_temperature
    device:
      identifiers: "ebusd_f47"
      via_device: "ebusd"
    state_topic: "ebusd/f47/OutsideTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Actual Flow Temperature Desired
    unique_id: ebusd_central_heating_actual_flow_temperature_desired
    device:
      identifiers: "ebusd_f47"
      via_device: "ebusd"
    state_topic: "ebusd/f47/Hc1ActualFlowTempDesired"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Actual Room Temperature Desired
    unique_id: ebusd_central_heating_actual_room_temperature_desired
    device:
      identifiers: "ebusd_f47"
      via_device: "ebusd"
    state_topic: "ebusd/f47/ActualRoomTempDesiredHc1"
    unit_of_measurement: "°C"

binary_sensor:
  - platform: mqtt
    name: "Central Heating Flame"
    unique_id: ebusd_central_heating_flame
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/Flame"
    payload_on: "on"
    payload_off: "off"
  - platform: mqtt
    name: "Central Heating Ignitor"
    unique_id: ebusd_central_heating_ignitor
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/Ignitor"
    payload_on: "on"
    payload_off: "off"
  - platform: mqtt
    name: "Central Heating Water pump state"
    unique_id: ebusd_central_heating_water_pump_state
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/WP"
    payload_on: "on"
    payload_off: "off"
  - platform: mqtt
    name: "Hot Water Demand"
    unique_id: ebusd_central_heating_hot_water_demand
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/HwcDemand"
    payload_on: "yes"
    payload_off: "no"
  - platform: mqtt
    name: Central Heating Pre Cutoff active
    unique_id: ebusd_central_heating_pre_cutoff_active
    device:
      identifiers: "ebusd_f47"
      via_device: "ebusd"
    state_topic: "ebusd/f47/Hc1PreCutOffActive"
    payload_on: "yes"
    payload_off: "no"
  - platform: mqtt
    name: Central Heating Continuos Mode
    unique_id: ebusd_central_heating_continuos_mode
    device:
      identifiers: "ebusd_f47"
      via_device: "ebusd"
    state_topic: "ebusd/f47/Hc1PreOrContinuosHeatingActive"
    payload_on: "yes"
    payload_off: "no"

switch:
  - platform: mqtt
    name: "Hot Water Switch"
    unique_id: ebusd_hot_water_switch
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/HwcSwitch"
    command_topic: "ebusd/bai/HwcSwitch/set"
    state_on: "on"
    state_off: "off"
    payload_on: "on"
    payload_off: "off"

  - platform: mqtt
    name: "Central Heating Switch"
    unique_id: ebusd_central_heating_switch
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    state_topic: "ebusd/bai/HeatingSwitch"
    command_topic: "ebusd/bai/HeatingSwitch/set"
    state_on: "on"
    state_off: "off"
    payload_on: "on"
    payload_off: "off"

input_select:
  central_heating_operation_mode:
    name: Central Heating Operation Mode
    options:
      - "Automatic"
      - "Night"
      - "Comfort"
      - "Summer"
  central_heating_temporary_mode:
    name: Central Heating Temporary Mode
    options:
      - "None"
      - "Party"
      - "Day in"
      - "Day away"

input_number:
  central_heating_heat_curve:
    name: Central Heating Heat Curve
    min: 0.20
    max: 4.00
    step: 0.05
    mode: box
  central_heating_actual_room_temp_desired:
    min: 5
    max: 30
    step: 0.5
    unit_of_measurement: "°C"
  central_heating_set_day_temp:
    name: Central Heating Set Day Temperature
    min: 5
    max: 30
    step: 0.5
    unit_of_measurement: "°C"
  central_heating_set_night_temp:
    name: Central Heating Set Night Temperature
    min: 5
    max: 30
    step: 0.5
    unit_of_measurement: "°C"
  hot_water_temp_desired:
    name: Hot Water Temperature Desired
    min: 30
    max: 65
    step: 0.5
    mode: slider
    unit_of_measurement: "°C"

automation:
  - alias: ebusd_time_update
    initial_state: on
    trigger:
      - platform: time
        at: "00:00:00"
    action:
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Date/set"
          payload_template: "{{ now().strftime('%d.%m.%Y') }}"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Time/set"
          payload_template: "{{ now().strftime('%H:%M:%S') }}"

  - id: ebus-error-notification-on
    alias: Ebus error notification on
    initial_state: on
    trigger:
      - platform: state
        entity_id: sensor.ebus_central_heating_current_error
        from: "-;-;-;-;-"
    action:
      - service: notify.notifier_kodi_living_room
        data:
          title: "Boiler ebus"
          message: 'Boiler error detected! Error code: {{ states("sensor.ebus_central_heating_current_error") }}'
      - service: notify.notifier_kodi_guest_bedroom
        data:
          title: "Boiler ebus"
          message: 'Boiler error detected! Error code: {{ states("sensor.ebus_central_heating_current_error") }}'
      - service: notify.notifier_telegram
        data:
          title: "Boiler ebus"
          message: 'Boiler error detected! Error code: {{ states("sensor.ebus_central_heating_current_error") }}'

  - id: ebus-error-notification-off
    alias: Ebus error notification off
    initial_state: on
    trigger:
      - platform: state
        entity_id: sensor.ebus_central_heating_current_error
        to: "-;-;-;-;-"
    action:
      - service: notify.notifier_telegram
        data:
          title: "Boiler ebus"
          message: "Boiler error cleared!"

  - alias: Set Central Heating Operation Mode
    initial_state: on
    trigger:
      - platform: state
        entity_id: input_select.central_heating_operation_mode
    action:
      - service: automation.turn_off
        entity_id: automation.get_central_heating_operation_mode
      - service: mqtt.publish
        data_template:
          topic: "ebusd/f47/Hc1OPMode/set"
          payload: >
            {% set opmode = {
              'Automatic': 'auto',
              'Night': 'night',
              'Comfort': 'on',
              'Summer': 'summer' } %}
            {{ opmode.get(trigger.to_state.state,'Automatic') }}
      - delay: 00:00:05
      - service: automation.turn_on
        entity_id: automation.get_central_heating_operation_mode

  - alias: Get Central Heating Operation Mode
    initial_state: on
    trigger:
      - platform: mqtt
        topic: "ebusd/f47/Hc1OPMode"
    action:
      service: input_select.select_option
      data_template:
        entity_id: input_select.central_heating_operation_mode
        option: >
          {% set opmode = {
            'auto': 'Automatic',
            'night': 'Night',
            'on': 'Comfort',
            'summer': 'Summer' } %}
          {{ opmode.get('trigger.payload','auto') }}

  - alias: Set Central Heating Temporary Mode
    initial_state: on
    trigger:
      - platform: state
        entity_id: input_select.central_heating_temporary_mode
    action:
      - service: automation.turn_off
        entity_id: automation.get_central_heating_temporary_mode
      - service: mqtt.publish
        data_template:
          topic: "ebusd/f47/Hc1SFMode/set"
          payload: >
            {% set tpmode = {
              'None': 'none',
              'Day away': 'onedayholiday',
              'Day in': 'onedaybankholiday',
              'Party': 'party' } %}
            {{ tpmode.get(trigger.to_state.state,'None') }}
      - delay: 00:00:05
      - service: automation.turn_on
        entity_id: automation.get_central_heating_temporary_mode

  - alias: Get Central Heating Temporary Mode
    initial_state: on
    trigger:
      - platform: mqtt
        topic: "ebusd/f47/Hc1SFMode"
    action:
      service: input_select.select_option
      data_template:
        entity_id: input_select.central_heating_temporary_mode
        option: >
          {% set tpmode = {
            'none': 'None',
            'onedayholiday': 'Day away',
            'onedaybankholiday': 'Day in',
            'party': 'Party' } %}
          {{ tpmode.get('trigger.payload','none') }}

  - alias: Set Central Heating Heat Curve
    initial_state: on
    trigger:
      - platform: state
        entity_id: input_number.central_heating_heat_curve
    action:
      service: mqtt.publish
      data_template:
        topic: "ebusd/f47/Hc1HeatCurve/set"
        payload: "{{ states.input_number.central_heating_heat_curve.state | float }}"

  - alias: Get Central Heating Heat Curve
    initial_state: on
    trigger:
      - platform: mqtt
        topic: "ebusd/f47/Hc1HeatCurve"
    action:
      service: input_number.set_value
      data_template:
        entity_id: input_number.central_heating_heat_curve
        value: "{{ trigger.payload | float }}"

  - alias: Set Central Heating Set Day Temperature
    initial_state: on
    trigger:
      - platform: state
        entity_id: input_number.central_heating_set_day_temp
    action:
      service: mqtt.publish
      data_template:
        topic: "ebusd/f47/Hc1DayTemp/set"
        payload: "{{ states.input_number.central_heating_set_day_temp.state | int }}"

  - alias: Get Central Heating Set Day Temperature
    initial_state: on
    trigger:
      - platform: mqtt
        topic: "ebusd/f47/Hc1DayTemp"
    action:
      service: input_number.set_value
      data_template:
        entity_id: input_number.central_heating_set_day_temp
        value: "{{ trigger.payload | int }}"

  - alias: Set Central Heating Actual Room Temp Desired
    initial_state: on
    trigger:
      - platform: state
        entity_id: input_number.central_heating_actual_room_temp_desired
    action:
      service: mqtt.publish
      data_template:
        topic: "ebusd/f47/ActualRoomTempDesiredHc1/set"
        payload: "{{ states.input_number.central_heating_actual_room_temp_desired | int }}"

  - alias: Get Central Heating Actual Room Temp Desired
    initial_state: on
    trigger:
      - platform: mqtt
        topic: "ebusd/f47/ActualRoomTempDesiredHc1"
    action:
      service: input_number.set_value
      data_template:
        entity_id: input_number.central_heating_actual_room_temp_desired
        value: "{{ trigger.payload | int }}"

  - alias: Set Central Heating Set Night Temperature
    initial_state: on
    trigger:
      - platform: state
        entity_id: input_number.central_heating_set_night_temp
    action:
      service: mqtt.publish
      data_template:
        topic: "ebusd/f47/Hc1NightTemp/set"
        payload: "{{ states.input_number.central_heating_set_night_temp.state | int }}"

  - alias: Get Central Heating Set Night Temperature
    initial_state: on
    trigger:
      - platform: mqtt
        topic: "ebusd/f47/Hc1NightTemp"
    action:
      service: input_number.set_value
      data_template:
        entity_id: input_number.central_heating_set_night_temp
        value: "{{ trigger.payload | int }}"

  - alias: Set Hot Water Temperature Desired
    initial_state: on
    trigger:
      - platform: state
        entity_id: input_number.hot_water_temp_desired
    action:
      service: mqtt.publish
      data_template:
        topic: "ebusd/f47/HwcTempDesired/set"
        payload: "{{ states.input_number.hot_water_temp_desired.state | int }}"

  - alias: Get Hot Water Temperature Desired
    initial_state: on
    trigger:
      - platform: mqtt
        topic: "ebusd/f47/HwcTempDesired"
    action:
      service: input_number.set_value
      data_template:
        entity_id: input_number.hot_water_temp_desired
        value: "{{ trigger.payload | int }}"

  - alias: ebusd_mqtt_update
    initial_state: on
    trigger:
      - platform: time_pattern
        minutes: "/2"
    action:
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/ReturnTemp/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/ReturnTempExternal/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/WaterPressure/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/FlowTemp/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/FlowTempDesired/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/HwcTemp/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/HwcTempMax/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/HwcWaterflowMax/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/HwcTempDesired/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/HwcActualTempDesired/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/HwcOPMode/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/StorageTemp/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/PositionValveSet/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/PartloadHcKW/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/ModulationTempDesired/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/PumpPower/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/PrEnergyCountHc1/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/PrEnergyCountHwc1/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/averageIgnitionTime/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/FanSpeed/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/TargetFanSpeed/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/TargetFanSpeedOutput/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/currenterror/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/HeatingSwitch/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/Flame/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/Ignitor/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/WP/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/HwcSwitch/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/HwcDemand/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/bai/HeatingSwitch/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Hc1PreCutOffActive/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Hc1OPMode/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Hc1SFMode/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Hc1DayTemp/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Hc1NightTemp/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Hc1HeatCurve/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Hc1ActualFlowTempDesired/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/ActualRoomTempDesiredHc1/get"
          payload: "1"
      - service: mqtt.publish
        data:
          topic: "ebusd/f47/Hc1PreOrContinuosHeatingActive/get"
          payload: "1"
1 Like

Thanks @dinth! This helped me a lot to get started with ebusd and MQTT.
I would suggest using the regular status broadcasts for some of these values. From the file hcmode.inc contained in the ebusd-configuration: r,,Status01,Vorlauftemperatur/Rücklauftemperatur/Aussentemperatur/WW Temperatur/Speichertemperatur/Pumpenstatus,,,,01,,,temp1;temp1;temp2;temp1;temp1;pumpstate,,,

This would translate to r,,Status01,Flow Temperature/Return Flow Temperature/Outside Temperature/Warm Water Temperature/Warm Water Storage Temperature/Pump Status,,,,01,,,temp1;temp1;temp2;temp1;temp1;pumpstate,,,

Status01 seems to be broadcast approximately every 10s.

Also I am using --mqttjson which simplifies parsing:

sensor:
  - platform: mqtt
    name: Central Heating Actual Flow Temperature
    unique_id: bai_actual_flow_temperature
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['0']['value'] }}"
    unit_of_measurement: "°C"
  
  - platform: mqtt
    name: Central Heating Return Flow Temperature
    unique_id: bai_actual_return_flow_temperature
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['1']['value'] }}"
    unit_of_measurement: "°C"
  
  - platform: mqtt
    name: Central Heating Actual Warm Water Temperature
    unique_id: bai_actual_warm_water_temperature
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['3']['value'] }}"
    unit_of_measurement: "°C"
  
  - platform: mqtt
    name: Central Heating Actual Warm Water Storage Temperature
    unique_id: bai_actual_warm_water_storage_temperature
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['4']['value'] }}"
    unit_of_measurement: "°C"
  
binary_sensor:
  - platform: mqtt
    name: Central Heating Pump Status
    unique_id: bai_pump_status
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['5']['value'] == 'on' }}"

I had some errors in the binary sensors, removed some not so useful values and added a few interesting ones. Also the required mqtt-polls can be found in the code snippet.
Some values do not change much throughout the day. Therefore these are polled just once a day.

One of these is the water pressure sensor. As long as I get an OK everything is fine.
The central_heating_water_pressure sensor is grouped with a few other (meta)sensors as a notification-area in the Lovelace badges:

    badges:
      - type: entity-filter
        entities:
          - binary_sensor.updater
          - binary_sensor.low_bat
          - binary_sensor.central_heating_water_pressure
        state_filter:
          - 'on'
        show_empty: false

Automation and sensor configuration:

automation:
  - id: '1617654026117'
    alias: ebusd_mqtt_update_1min
    description: ''
    trigger:
    - platform: time_pattern
      minutes: /1
    condition: []
    action:
    - service: mqtt.publish
      data:
        topic: ebusd/bai/ModulationTempDesired/get
        payload: '1'
    - service: mqtt.publish
      data:
        topic: ebusd/bai/Flame/get
        payload: '1'
    - service: mqtt.publish
      data:
        topic: ebusd/bai/FlowTempDesired/get
        payload: '1'
    - service: mqtt.publish
      data:
        topic: ebusd/bai/PumpPower/get
        payload: '1'
    - service: mqtt.publish
      data:
        topic: ebusd/bai/PrimaryCircuitFlowrate/get
        payload: '1'
    mode: single

  - id: '1617814925244'
    alias: ebusd_mqtt_update_1d
    description: ''
    trigger:
    - platform: time
      at: 00:00:00
    - platform: homeassistant
      event: start
    condition: []
    action:
    - service: mqtt.publish
      data:
        topic: ebusd/bai/WaterPressure/get
        payload: '1'
    - service: mqtt.publish
      data:
        topic: ebusd/bai/StorageTempDesired/get
        payload: '1'
    - service: mqtt.publish
      data:
        topic: ebusd/bai/PrEnergySumHwc1/get
        payload: '1'
    - service: mqtt.publish
      data:
        topic: ebusd/bai/PrEnergyCountHwc1/get
        payload: '1'
    - service: mqtt.publish
      data:
        topic: ebusd/bai/PrEnergySumHc1/get
        payload: '1'
    - service: mqtt.publish
      data:
        topic: ebusd/bai/PrEnergyCountHc1/get
        payload: '1'
    mode: single

sensor:
  - platform: mqtt
    name: Central Heating Set Flow Temperature
    unique_id: bai_set_flow_temperature
    state_topic: "ebusd/bai/FlowTempDesired"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['temp']['value'] }}"
    unit_of_measurement: "°C"
  
  - platform: mqtt
    name: Central Heating Actual Burner Modulation
    unique_id: bai_actual_burner_modulation
    state_topic: "ebusd/bai/ModulationTempDesired"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['0']['value'] }}"
    unit_of_measurement: "%"

  - platform: mqtt
    name: Central Heating Actual Flow Temperature
    unique_id: bai_actual_flow_temperature
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['0']['value'] }}"
    unit_of_measurement: "°C"
  
  - platform: mqtt
    name: Central Heating Return Flow Temperature
    unique_id: bai_actual_return_flow_temperature
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['1']['value'] }}"
    unit_of_measurement: "°C"
  
  - platform: mqtt
    name: Central Heating Set Warm Water Storage Temperature
    unique_id: bai_set_warm_water_storage_temperature
    state_topic: "ebusd/bai/StorageTempDesired"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['temp']['value'] }}"
    unit_of_measurement: "°C"
  
  - platform: mqtt
    name: Central Heating Actual Warm Water Temperature
    unique_id: bai_actual_warm_water_temperature
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['3']['value'] }}"
    unit_of_measurement: "°C"
  
  - platform: mqtt
    name: Central Heating Actual Warm Water Storage Temperature
    unique_id: bai_actual_warm_water_storage_temperature
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['4']['value'] }}"
    unit_of_measurement: "°C"
  
  - platform: mqtt
    name: Central Heating Pump Power
    unique_id: bai_pump_power
    state_topic: "ebusd/bai/PumpPower"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['0']['value'] }}"
    unit_of_measurement: "%"
  
  - platform: mqtt
    name: Central Heating Circuit Flow Rate
    unique_id: bai_circuit_flow_rate
    state_topic: "ebusd/bai/PrimaryCircuitFlowrate"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['uin100']['value'] }}"
    unit_of_measurement: "l/min"

  - platform: template
    sensors:
      # The burner modulation is not 0 when the burner is off. This burner modulation sensor
      # generates a more truthful value by returning 0 when no flame is present.
      central_heating_burner_modulation:
        friendly_name: Burner Modulation
        unit_of_measurement: "%"
        value_template: >
          {% if states('binary_sensor.central_heating_flame_status') == 'on' -%}
            {{states('sensor.central_heating_actual_burner_modulation')}}
          {%- else -%}
            {{ 0 }}
          {%- endif %}

binary_sensor:
  - platform: mqtt
    name: Central Heating Water Pressure
    unique_id: bai_water_pressure
    state_topic: "ebusd/bai/WaterPressure"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['sensor']['value'] }}"
    payload_off: "ok"
    payload_on: "error"
    device_class: problem
  
  - platform: mqtt
    name: Central Heating Pump Status
    unique_id: bai_pump_status
    state_topic: "ebusd/bai/Status01"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['5']['value'] }}"
    payload_on: "on"
    payload_off: "off"
  
  - platform: mqtt
    name: Central Heating Flame Status
    unique_id: bai_flame_status
    state_topic: "ebusd/bai/Flame"
    device:
      identifiers: "ebusd_bai"
      via_device: "ebusd"
    value_template: "{{ value_json['0']['value'] }}"
    payload_on: "on"
    payload_off: "off"
1 Like

I managed to get almost all relevant and interesting values and topics from my vaillant heat pump and also to set the values and send commands, so I can manage my heat pump via HA.
I’m trying to put automations together when I press designated button/switch/toggle in HA (no need for physical button) this automation will: 1. set to heat water with backup heaters only, 2. set the desired temp higher than normal (ie 75°C), 3. load hot water tank. When the 75°C is reached the backup heaters will be set to default setting (“with backup”), set desired temo in water tank will be reduced to normal (55°C).
I can set all these command via lovelace manually over mqtt to ebusd, I just want to automate it when my PV system is producing enough electricity.

Has anyone done similar automation, so I can use as example?

I’m quite new to HA and not programmer or any near, but managed to put some automations togehter on some shared examples in this topic…
Thank you guys!!

EDIT: I managed to set up automation using input select, and making trigger when state of input select switch changes to desired option :slight_smile: and it works!

Hi Andrej,

Long time lurker on this topic, i’m trying to do exactly the same as you (i suppose you want to use your unused solar energy to the max) by dumping it in heating water pure electrically. In contrast to you however, I am completely at the beginning of this (i have a working HA installation with automations, but at the moment no connection to my vaillant heatpump/boiler). Would you be able to share some details on your setup (eg, which ebus adapter you use, where you connected this adapter inside your installation, which installation you have etc…). I am also very much interested on how you send the commands for the backup heaters etc… (i suppose these are all also exposed to HA via ebusd?)

Many thanks for some input!

Kind regards,

Ben

Hi!
Do you have already ebus adapter?
I’m using this: Welcome to eBUS Adapter 3! ver 3
As far as I know ebusd quite good supports Vaillant products. It is quite necessary to study ebusd wiki, there you can find all infos about working principle.

My installation is vaillant heat pump geotherm, ebus adapter is on wemos d1, connected to ebus port on main board of heat pump. Ebusd is running on separate RPi4 which I use for other purposes. Ebusd is configured for mqtt. In HA I use MQTT Mosquitto broker to send/listen to mqtt topics from ebusd.
I don’t know how familiar are you with ebusd commands, but first they were quite complicated for me, but after some experimenting I’m able to controll almost everyting like on heatpump via user plate with two knobs :slight_smile:

For config I used code from Michal @dinth using cicuit names and CVS for my heat pump (see here: ebusd-configuration/ebusd-2.1.x/en/vaillant at master · john30/ebusd-configuration · GitHub). For regular refresing of mqtt values and states I use cronjob and and ebusd script every 5 mins.

In config file I setup sensors from mqtt topics, automations are made for changing for example desired temperatures for heating and hot water, switching hot water and heating on and off, use of backup heaters, etc. See my config:

switch:
  - platform: mqtt
    name: "Polnjenje zalogovnika tople vode"
    unique_id: ebusd_storage_load
    device:
      identifiers: "ebusd_hwc"
      via_device: "ebusd"
    state_topic: "ebusd/hwc/load"
    command_topic: "ebusd/hwc/load/set"
    state_on: "on"
    state_off: "off"
    payload_on: "on"
    payload_off: "off"

  - platform: mqtt
    name: "Backup Mode Hot Water"
    unique_id: ebusd_backup_mode_hwc_set
    device:
      identifiers: "ebusd_backup_mode_hwc_set"
      via_device: "ebusd"
    state_topic: "ebusd/ehp/BackupModeHwc"
    command_topic: "ebusd/ehp/BackupModeHwc/set"
    state_on: "withbackup"
    state_off: "no backup"
    payload_on: "1"
    payload_off: "0"
  - platform: mqtt
    name: "Zaščita pred legionelo"
    unique_id: ebusd_legio_protection_enabled
    device:
      identifiers: "ebusd_hwc_legio_enabled"
      via_device: "ebusd"
    state_topic: "ebusd/hwc/LegioProtectionEnabled"
    command_topic: "ebusd/hwc/LegioProtectionEnabled/set"
    state_on: "yes"
    state_off: "no"
    payload_on: "yes"
    payload_off: "no"

sensor:
  - platform: mqtt
    state_topic: "ebusd/ehp/HcFlowTemp"
    name: "Temperatura dvižnega voda ogrevanja VF"
    unique_id: ebusd_hc_flow_temp
    unit_of_measurement: "°C"
  - platform: mqtt
    state_topic: "ebusd/ehp/HcReturnTemp"
    name: "Temperatura povratnega voda ogravanja RF"
    unique_id: ebusd_hc_return_temp
    unit_of_measurement: "°C"
  - platform: mqtt
    name: "Najvišja temperatura povratnega voda ogrevanja"
    unique_id: ebusd_return_temp_max
    unit_of_measurement: "°C"
    state_topic: "ebusd/ehp/ReturnTempMax"

  - platform: mqtt
    state_topic: "ebusd/mc/TempDesired"
    name: "OK2 - Željena temperatura"
    unique_id: ebusd_temp_desired_2
    unit_of_measurement: "°C"
  - platform: mqtt
    state_topic: "ebusd/mc/TempDesiredLow"
    name: "OK2 - Znižana temperatura"
    unique_id: ebusd_temp_desired_low_2
    unit_of_measurement: "°C"
  - platform: mqtt
    state_topic: "ebusd/mc.4/TempDesired"
    unique_id: ebusd_temp_desired_4
    name: "OK4 - Željena temperatura"
    unit_of_measurement: "°C"
  - platform: mqtt
    state_topic: "ebusd/mc.4/TempDesiredLow"
    name: "OK4 - Znižana temperatura"
    unique_id: ebusd_temp_desired_low_4
    unit_of_measurement: "°C"
  - platform: mqtt
    state_topic: "ebusd/mc/OperatingMode"
    name: "OK2 - način"
    unique_id: ebusd_operating_mode_2
  - platform: mqtt
    state_topic: "ebusd/mc.4/OperatingMode"
    name: "OK4 - način"
    unique_id: ebusd_operating_mode_4
  - platform: mqtt
    state_topic: "ebusd/hwc/OperatingMode"
    name: "Topla voda - način"
    unique_id: ebusd_operating_mode_hwc
  - platform: mqtt
    state_topic: "ebusd/hwc/StorageTempDesiredStart"
    name: "Topla voda - min temp zalogovnika"
    unique_id: ebusd_storage_temp_desired_start
    unit_of_measurement: "°C"
  - platform: mqtt
    state_topic: "ebusd/hwc/StorageTempDesiredStop"
    name: "Topla voda - StorageTempDesiredStop"
    unique_id: ebusd_storage_temp_desired_stop
    unit_of_measurement: "°C"
  - platform: mqtt
    state_topic: "ebusd/hwc/LegioProtectionEnabled"
    name: "Topla voda - Zaščita pred legionelo"
    unique_id: ebusd_legio_protection_enabled
  - platform: mqtt
    state_topic: "ebusd/hwc/LegioProtectionDay"
    name: "Topla voda - Zaščita pred legionelo"
    unique_id: ebusd_legio_protection_day
  - platform: mqtt
    state_topic: "ebusd/hwc/LegionellaStartTime"
    name: "Topla voda - Zaščita pred legionelo"
    unique_id: ebusd_legio_start_time
  - platform: mqtt
    state_topic: "ebusd/mc.4/IsInStorageFilling"
    name: "Enkratno polnjenje zalogovnika tople vode"
    unique_id: ebusd_is_in_storage_filling
  - platform: mqtt
    state_topic: "ebusd/ehp/OutsideTemp"
    value_template: "{{ value.split(';')[0] }}"
    name: "Zunanja temperatura"
    unique_id: ebusd_outside_temp
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Pressure
    unique_id: ebusd_central_heating_pressure
    state_topic: "ebusd/ehp/HcPress"
    unit_of_measurement: "Bar"
  - platform: mqtt
    name: Source Pressure
    unique_id: ebusd_source_pressure
    state_topic: "ebusd/ehp/SourcePress"
    unit_of_measurement: "Bar"
  - platform: mqtt
    name: Central Heating Flow Temperature
    state_topic: "ebusd/ehp/FlowTemp"
    unique_id: ebusd_central_heating_flow_temperature
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Desired Flow Temperature
    unique_id: ebusd_central_heating_desired_flow_temperature
    state_topic: "ebusd/mc/FlowTempDesired"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Return Temperature
    unique_id: ebusd_central_return_temperature
    state_topic: "ebusd/ehp/HcReturnTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Central Heating Return Temperature Offset
    unique_id: ebusd_central_heating_return_temperature_offset
    state_topic: "ebusd/ehp/HcReturnTempOffset"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Hot Water Temperature
    unique_id: ebusd_hot_water_temperature
    state_topic: "ebusd/ehp/HwcTemp"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Flow Temp Max OK2
    unique_id: ebusd_flow_temp_max_2
    state_topic: "ebusd/mc/FlowTempMax"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Compressor
    unique_id: ebusd_compressor
    state_topic: "ebusd/ehp/Comp"
  - platform: mqtt
    name: Compressor Active
    unique_id: ebusd_comp_active
    state_topic: "ebusd/omu/CompActive"
  - platform: mqtt
    name: Storage Temperature Desired Start
    unique_id: ebusd_storage_temp_desired_start
    state_topic: "ebusd/hwc/StorageTempDesiredStart"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Storage Temperature Desired Stop
    unique_id: ebusd_storage_temp_desired_stop
    state_topic: "ebusd/hwc/StorageTempDesiredStop"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Backup Hot Water
    unique_id: ebusd_backup_mode_hwc
    state_topic: "ebusd/ehp/BackupModeHwc"
  - platform: mqtt
    name: Backup
    unique_id: ebusd_backup
    state_topic: "ebusd/ehp/Backup"
  - platform: mqtt
    name: Bivalent Temperature
    unique_id: ebusd_bivalent_temp
    state_topic: "ebusd/ehp/BivalentTemp"
  - platform: mqtt
    name: Bivalent Mode
    unique_id: ebusd_bivalent_mode
    state_topic: "ebusd/ehp/BivalentMode"
  - platform: mqtt
    name: Bivalent Point 2 Temp
    unique_id: ebusd_bivalent_point_2_temp
    state_topic: "ebusd/ehp/BivalentPoint2Temp"
  - platform: mqtt
    name: Backup Heater Release
    unique_id: ebusd_backup_heater_release
    state_topic: "ebusd/uih/EhpBackupRelease"
  - platform: mqtt
    name: Compressor Starts Hwc
    unique_id: ebusd_comp_starts_hwc
    state_topic: "ebusd/ehp/CompStartsHwc"
  - platform: mqtt
    name: Compressor Starts Hc
    unique_id: ebusd_comp_starts_hc
    state_topic: "ebusd/ehp/CompStartsHc"
  - platform: mqtt
    name: Compressor Starts
    unique_id: ebusd_comp_starts
    state_topic: "ebusd/ehp/CompStarts"
  - platform: mqtt
    name: Compressor
    unique_id: ebusd_comp
    state_topic: "ebusd/ehp/Comp"
  - platform: mqtt
    name: "Vhodna temperatura izvora T3"
    unique_id: ebusd_souce_temp_input
    state_topic: "ebusd/ehp/SourceTempInput"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: "Temperatura pri izhodu T8"
    unique_id: ebusd_souce_temp_output
    state_topic: "ebusd/ehp/SourceTempOutput"
    value_template: "{{ value.split(';')[0] }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: Current error
    unique_id: ebusd_current_error
    state_topic: "ebusd/omu/currenterror"
  - platform: mqtt
    name: "Vhodna temperatura kompresorja T1"
    unique_id: ebusd_ehp_temp_input
    state_topic: "ebusd/ehp/TempInput"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: "Izhodna temperatura kompresorja T2"
    unique_id: ebusd_temp_output
    state_topic: "ebusd/ehp/TempOutput"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: 24h average temp
    unique_id: ebusd_tot_24h_hc2
    state_topic: "ebusd/mc/ToT24hHc2"
  - platform: mqtt
    name: 24 average temp mc4
    unique_id: ebusd_tot_24h
    state_topic: "ebusd/mc.4/tot24h"

  - platform: mqtt
    name: Fan Speed Is
    unique_id: ebusd_fan_speed_is
    state_topic: "ebusd/omu/FanSpeedIs"
    unit_of_measurement: RPM

  - platform: mqtt
    name: Backup Starts
    unique_id: ebusd_backup_starts
    state_topic: "ebusd/ehp/BackupStarts"
  - platform: mqtt
    name: Backup Starts HWc
    unique_id: ebusd_backup_starts_hwc
    state_topic: "ebusd/ehp/BackupStartsHwc"
  - platform: mqtt
    name: Backup Starts Hc
    unique_id: ebusd_backup_starts_hc
    state_topic: "ebusd/ehp/BackupStartsHc"
  - platform: mqtt
    name: Yield Total
    unique_id: ebusd_yield_total
    state_topic: "ebusd/ehp/YieldTotal"
    unit_of_measurement: "kWh"
  - platform: mqtt
    name: Actual Power
    unique_id: ebusd_actual_power
    state_topic: "ebusd/ehp/ActualEnvironmentPower"
    unit_of_measurement: "kW"
  - platform: mqtt
    name: Actual Power Fine
    unique_id: ebusd_actual_power_fine
    state_topic: "ebusd/ehp/ActualEnvironmentPowerFine"
    unit_of_measurement: "W"
  - platform: mqtt
    name: Actual Environment Power Percentage
    unique_id: ebusd_actual_power_percentage
    state_topic: "ebusd/ehp/ActualEnvironmentPowerPercentage"
    unit_of_measurement: "%"
  - platform: mqtt
    name: "Krivulja ogrevanja OK2"
    unique_id: ebusd_heating_curve_2
    state_topic: "ebusd/mc/HeatingCurve"
  - platform: mqtt
    name: "Krivulja ogrevanja OK4"
    unique_id: ebusd_heating_curve_4
    state_topic: "ebusd/mc.4/HeatingCurve"
  - platform: mqtt
    name: "Dodatno ogrevanje načini"
    unique_id: ebusd_backup_type
    state_topic: "ebusd/ehp/BackupType"
  - platform: mqtt
    name: "Dodatno ogrevanje Hwc Mode"
    unique_id: ebusd/backup_mode_hwc
    state_topic: "ebusd/ehp/BackupModeHwc"
  - platform: mqtt
    name: "Dodatno ogrevanje HC Mode"
    unique_id: ebusd_backup_mode_hc
    state_topic: "ebusd/ehp/BackupModeHc"
  - platform: mqtt
    name: "Status TČ"
    unique_id: ebusd_heat_pump_status
    state_topic: ebusd/ehp/HeatPumpStatus
  - platform: mqtt
    name: "Temperatura dvižnega voda VF1"
    unique_id: ebusd_storage_temp_top
    state_topic: ebusd/ehp/StorageTempTop
  - platform: mqtt
    name: "Temperatura povratnega voda RF1"
    unique_id: ebusd_storage_temp_bottom
    state_topic: ebusd/ehp/StorageTempBottom
  - platform: mqtt
    name: "Temperatura na vstopu termičnega ekspanzijskega ventila"
    unique_id: ebusd_condensor_temp
    state_topic: ebusd/ehp/CondensorTemp
    unit_of_measurement: "°C"

binary_sensor:
  - platform: mqtt
    name: "Enkratno polnjenje zalogovnika tople vode"
    unique_id: ebusd_is_in_storage_filling
    state_topic: "ebusd/mc.4/IsInStorageFilling"
    payload_on: "on"
    payload_off: "off"

  - platform: mqtt
    name: "Enkratno polnjenje zalogovnika poteka"
    unique_id: ebusd_storage_load
    state_topic: "ebusd/hwc/load"
    payload_on: "yes"
    payload_off: "no"

  - platform: mqtt
    name: Fan Is Running
    unique_id: ebusd_fan_is_running
    state_topic: "ebusd/omu/FanIsRunning"
    payload_on: "yes"
    payload_off: "no"

input_select:
  central_heating_operation_mode_2:
    name: Operating Mode HC OK2
    options:
      - "Auto"
      - "Vključeno"
      - "Izključeno"
  central_heating_operation_mode_4:
    name: Operating Mode HC OK4
    options:
      - "Auto"
      - "Vključeno"
      - "Izključeno"
  napolni_zalogovnik_na_grelce:
    name: Load Water Tank With Backup Only
    options:
      - "Napolni do 75°C"
      - "Napolni do 65°C"
  central_heating_temporary_mode:
    name: Hiter vnos
    options:
      - "Party"
      - "Polnjenje"
      - "Varčevanje"
  legio_protection_day:
    name: Legio Protection Day
    options:
      - "Mon"
      - "Tue"
      - "Wed"
      - "Thu"
      - "Fri"
      - "Sat"
      - "Sun"
  hwc_operating_mode:
    name: Hwc Operating Mode
    options:
      - "Onemogočeno"
      - "Vključeno"
      - "Izključeno"
      - "Auto"

input_number:
  central_heating_heat_curve_2:
    name: Krivulja ogrevanja OK2
    min: 0.10
    max: 4.00
    step: 0.05
    mode: box
  central_heating_heat_curve_4:
    name: Krivulja ogrevanja OK4
    min: 0.10
    max: 4.00
    step: 0.05
    mode: box
  central_heating_temp_low_desired_2:
    name: Znižana temperatura OK2
    min: 15
    max: 25
    step: 1
    unit_of_measurement: "°C"
  central_heating_temp_low_desired_4:
    name: Znižana temperatura OK4
    min: 15
    max: 25
    step: 1
    unit_of_measurement: "°C"
  central_heating_set_day_temp_2:
    name: Ciljna temperatura OK2
    min: 15
    max: 25
    step: 1
    unit_of_measurement: "°C"
  central_heating_set_day_temp_4:
    name: Ciljna temperatura OK4
    min: 15
    max: 25
    step: 1
    unit_of_measurement: "°C"
  hot_water_temp_desired_start:
    name: Topla voda minimalna temperatura začetek
    min: 30
    max: 69
    step: 1
    mode: slider
    unit_of_measurement: "°C"
  hot_water_temp_desired_stop:
    name: Topla voda maksimalna temperatura stop
    min: 30
    max: 75
    step: 1
    mode: slider
    unit_of_measurement: "°C"
  backup_type:
    name: Izbira načina dodatnega ogrevanja Type
    min: 0
    max: 4
    mode: slider
  backup_modehwc:
    name: Backup Mode Hwc
    min: 0
    max: 2
    mode: slider
  backup_modehc:
    name: Backup Mode Hc
    min: 0
    max: 2
    mode: slider

  bivalent_temperature:
    name: Bivalent Temperature
    min: -15
    max: 30
    step: 1
    icon: mdi:target
  bivalent_point_2_temp:
    name: Bivalent Point 2 Temp
    min: -15
    max: 30
    mode: slider

input_datetime:
  legio_protection_time:
    name: Zaščita pred legionelo ura začetka
    has_date: false
    has_time: true


Let me know what are you interested in, glad to help if I can :slight_smile:

and my automations file:

- id: ebusd1
  alias: Nastavi ogrevanje OK2
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_select.central_heating_operation_mode_2
  action:
    - service: automation.turn_off
      entity_id: automation.get_central_heating_operation_mode_2
    - service: mqtt.publish
      data_template:
        topic: ebusd/mc/OperatingMode/set
        payload:
          "{% set opmode = {\n    'Auto': 'auto',\n    'Vključeno': 'on',\n \
          \   'Izključeno': 'off' } %}\n  {{ opmode.get(trigger.to_state.state,'Auto')\
          \ }}\n"
    - delay: 00:00:05
    - service: automation.turn_on
      entity_id: automation.get_central_heating_operation_mode_2
- id: ebusd111
  alias: Ogrevanje OK2
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/mc/OperatingMode
  action:
    service: input_select.select_option
    data_template:
      entity_id: input_select.central_heating_operation_mode_2
      option:
        "{% set opmode = {\n  'auto': 'Auto',\n  'on': 'Vključeno',\n  'off':\
        \ 'Izključeno', } %}\n{{ opmode.get('trigger.payload','auto') }}\n"
- id: ebusd2
  alias: Nastavi ogrevanje OK4
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_select.central_heating_operation_mode_4
  action:
    - service: automation.turn_off
      entity_id: automation.get_central_heating_operation_mode_4
    - service: mqtt.publish
      data_template:
        topic: ebusd/mc.4/OperatingMode/set
        payload:
          "{% set opmode = {\n    'Auto': 'auto',\n    'Vključeno': 'on',\n \
          \   'Izključeno': 'off' } %}\n  {{ opmode.get(trigger.to_state.state,'Auto')\
          \ }}\n"
    - delay: 00:00:05
    - service: automation.turn_on
      entity_id: automation.get_central_heating_operation_mode_4
- id: ebusd22
  alias: Ogrevanje OK4
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/mc.4/OperatingMode
  action:
    service: input_select.select_option
    data_template:
      entity_id: input_select.central_heating_operation_mode_4
      option:
        "{% set opmode = {\n  'auto': 'Auto',\n  'on': 'Vključeno',\n  'off':\
        \ 'Izključeno', } %}\n{{ opmode.get('trigger.payload','auto') }}\n"
- id: ebusd3
  alias: Set Central Heating Heat Curve OK2
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.central_heating_heat_curve_2
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/mc/HeatingCurve/set
      payload:
        "{{ states.input_number.central_heating_heat_curve_2.state | float
        }}"
- id: ebusd4
  alias: Get Central Heating Heat Curve OK2
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/mc/HeatingCurve
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.central_heating_heat_curve_2
      value: "{{ trigger.payload | float }}"
- id: ebusd5
  alias: Set Central Heating Heat Curve OK4
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.central_heating_heat_curve_4
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/mc.4/HeatingCurve/set
      payload:
        "{{ states.input_number.central_heating_heat_curve_4.state | float
        }}"
- id: ebusd6
  alias: Get Central Heating Heat Curve OK4
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/mc.4/HeatingCurve
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.central_heating_heat_curve_4
      value: "{{ trigger.payload | float }}"
- id: ebusd7
  alias: Set Central Heating Day Temperature OK2
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.central_heating_set_day_temp_2
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/mc/TempDesired/set
      payload:
        "{{ states.input_number.central_heating_set_day_temp_2.state | int
        }}"
- id: ebusd8
  alias: Get Central Heating Day Temperature OK2
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/mc/TempDesired
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.central_heating_set_day_temp_2
      value: "{{ trigger.payload | int }}"
- id: ebusd9
  alias: Set Central Heating Temp Low Desired OK2
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.central_heating_temp_low_desired_2
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/mc/TempDesiredLow/set
      payload:
        "{{ states.input_number.central_heating_temp_low_desired_2.state |
        int }}"
- id: ebusd10
  alias: Get Central Heating Temp Low Desired OK2
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/mc/TempDesiredLow
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.central_heating_temp_low_desired_2
      value: "{{ trigger.payload | int }}"
- id: ebusd11
  alias: Set Central Heating Day Temperature OK4
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.central_heating_set_day_temp_4
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/mc.4/TempDesired/set
      payload:
        "{{ states.input_number.central_heating_set_day_temp_4.state | int
        }}"
- id: ebusd12
  alias: Get Central Heating Day Temperature OK4
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/mc.4/TempDesired
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.central_heating_set_day_temp_4
      value: "{{ trigger.payload | int }}"
- id: ebusd13
  alias: Set Central Heating Temp Low Desired OK4
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.central_heating_temp_low_desired_4
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/mc.4/TempDesiredLow/set
      payload:
        "{{ states.input_number.central_heating_temp_low_desired_4.state |
        int }}"
- id: ebusd14
  alias: Get Central Heating Temp Low Desired OK4
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/mc.4/TempDesiredLow
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.central_heating_temp_low_desired_4
      value: "{{ trigger.payload | int }}"
- id: ebusd15
  alias: Set Hot Water Temp Desired Start
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.hot_water_temp_desired_start
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/hwc/StorageTempDesiredStart/set
      payload: "{{ states.input_number.hot_water_temp_desired_start.state | int }}"
- id: ebusd16
  alias: Get Hot Water Temp Desired Start
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/hwc/StorageTempDesiredStart
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.hot_water_temp_desired_start
      value: "{{ trigger.payload | int }}"
- id: ebusd17
  alias: Set Hot Water Temp Desired Stop
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.hot_water_temp_desired_stop
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/hwc/StorageTempDesiredStop/set
      payload: "{{ states.input_number.hot_water_temp_desired_stop.state | int }}"
- id: ebusd18
  alias: Get Hot Water Temp Desired Stop
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/hwc/StorageTempDesiredStop
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.hot_water_temp_desired_stop
      value: "{{ trigger.payload | int }}"
- id: HVAC pretvorba OK2
  alias: Convert HVAC Mode
  trigger:
    - platform: mqtt
      topic: convert/modeset2
  action:
    - data_template:
        payload:
          "{% set mode_name = trigger.payload %} {% set modes = { 'off':'off',
          'heat':'on', 'auto':'auto' } %} {{ modes[mode_name] if mode_name in
          modes.keys() else 'auto' }}"
        topic: ebusd/mc/OperatingMode/set
      service: mqtt.publish
- id: HVAC pretvorba OK4
  alias: Convert HVAC Mode OK4
  trigger:
    - platform: mqtt
      topic: convert/modeset4
  action:
    - data_template:
        payload:
          "{% set mode_name = trigger.payload %} {% set modes = { 'off':'off',
          'heat':'on', 'auto':'auto' } %} {{ modes[mode_name] if mode_name in
          modes.keys() else 'auto' }}"
        topic: ebusd/mc.4/OperatingMode/set
      service: mqtt.publish
- id: ebusd19
  alias: Get Compressor Starts Nr
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/CompStarts/get
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_comp_starts
      value: "{{ trigger.payload | float }}"
- id: ebusd20
  alias: Get Compressor Starts Hwc Nr
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/CompStartsHwc/get
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_comp_starts_hwc
      value: "{{ trigger.payload | float }}"
- id: ebusd21
  alias: Get Compressor Starts Hc Nr
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/CompStartsHc/get
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_comp_starts_hc
      value: "{{ trigger.payload | float }}"
- id: ebusd23
  alias: Get Backup Nr
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/Backup/get
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_backup
      value: "{{ trigger.payload | int }}"
- id: ebusd24
  alias: Get Backup Hc Nr
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/BackupHc/get
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_backup_hc
      value: "{{ trigger.payload | int }}"
- id: ebusd25
  alias: Get Backup Hwc Nr
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/BackupHwc/get
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_backup_hwc
      value: "{{ trigger.payload | int }}"
- id: ebusd26
  alias: Get Yield Total
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/YieldTotal
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_yield_total
      value: "{{ trigger.payload | int }}"
- id: ebusd27
  alias: Get Is In Storage Filling
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/mc.4/IsInStorageFilling
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_is_in_storage_filling
      value: "{{ trigger.payload | int }}"
- id: ebusd28
  alias: Get Backup Mode Hot Water Hwc
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/BackupModeHwc
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_backup_mode_hwc
      value: "{{ trigger.payload | int }}"
- id: ebusd29
  alias: Fan Is Running
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/omu/FanIsRunning
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_fan_is_running
      value: "{{ trigger.payload | int }}"
- id: ebusd30
  alias: Fan Speed Is
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/omu/FanSpeedIs
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_fan_speed_is
      value: "{{ trigger.payload | int }}"
- id: ebusd31
  alias: Get Legio Protection Enabled
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/hwc/LegioProtectionEnabled
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.ebusd_legio_protection_enabled
      value: "{{ trigger.payload | int }}"
- id: ebusd32
  alias: Set Legio Protection Day
  trigger:
    - platform: state
      entity_id: input_select.legio_protection_day
  action:
    - service: mqtt.publish
      data_template:
        topic: ebusd/hwc/LegioProtectionDay/set
        payload: "{{ states('input_select.legio_protection_day') }}"
    - service: automation.turn_on
      entity_id: automation.get_legio_protection_day
  initial_state: true
- id: ebusd33
  alias: Get Legio Protection Day
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/hwc/LegioProtectionDay
  action:
    service: input_select.select_option
    data_template:
      entity_id: input_select.legio_protection_day
      value: "{{ trigger.payload | int }}"
- id: ebusd34
  alias: Set Legio Protection Time
  trigger:
    - platform: state
      entity_id: input_datetime.legio_protection_time
  action:
    - service: mqtt.publish
      data_template:
        topic: ebusd/hwc/LegionellaStartTime/set
        payload: "{{ states('input_datetime.legio_protection_time') }}"
    - service: automation.turn_on
      entity_id: automation.get_legio_protection_time
  initial_state: true
- id: ebusd35
  alias: Get Legio Protection Time
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/hwc/LegionellaStartTime
  action:
    service: input_datetime.set_datetime
    data_template:
      entity_id: input_datetime.legio_protection_time
      value: "{{ trigger.payload | int }}"
- id: ebusd36
  alias: Set Backup Type
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.backup_type
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/ehp/BackupType/set
      payload: "{{ states.input_number.backup_type.state | float }}"
- id: ebusd37
  alias: Get Backup Type
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/BackupType/get
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.backup_type
      value: "{{ trigger.payload | float }}"
- id: ebusd38
  alias: Set Backup Mode Hwc
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.backup_modehwc
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/ehp/BackupModeHwc/set
      payload: "{{ states.input_number.backup_modehwc.state | float }}"
- id: ebusd39
  alias: Get Backup Mode Hwc
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/BackupModeHwc
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.backup_mode_hwc
      value: "{{ trigger.payload | float }}"
- id: ebusd40
  alias: Set Backup Mode Hc
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.backup_modehc
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/ehp/BackupModeHc/set
      payload: "{{ states.input_number.backup_modehc.state | float }}"
- id: ebusd41
  alias: Get Backup Mode Hc
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/BackupModeHc
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.backup_mode_hc
      value: "{{ trigger.payload | float }}"
- id: ebusd 42
  alias: Set Bivalent Temp
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.bivalent_temperature
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/ehp/BivalentTemp/set
      payload: "{{ states.input_number.bivalent_temperature.state | int }}"
- id: ebusd43
  alias: Get Bivalent Temp
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/ehp/BivalentTemp
  action:
    service: input_number.set_value
    data_template:
      entity_id: input_number.bivalent_temperature
      value: "{{ trigger.payload | int }}"
- id: ebusd 44
  alias: Set Bivalent Point 2 Temp
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_number.bivalent_point_2_temp
  action:
    service: mqtt.publish
    data_template:
      topic: ebusd/ehp/BivalentPoint2Temp/set
      payload: "{{ states.input_number.bivalent_point_2_temp.state | int }}"
- id: ebusd45
  alias: Set Hwc Operating Mode
  initial_state: true
  trigger:
    - platform: state
      entity_id: input_select.hwc_operating_mode
  action:
    - service: automation.turn_off
      entity_id: automation.get_hwc_operating_mode
    - service: mqtt.publish
      data_template:
        topic: ebusd/hwc/OperatingMode/set
        payload:
          "{% set opmode = {\n    'Onemogočeno': '0',\n    'Vključeno': '1',\n \
          \   'Izključeno': '2',\n    'Auto': '3' } %}\n  {{ opmode.get(trigger.to_state.state,'Auto')\
          \ }}\n"
    - delay: 00:00:05
    - service: automation.turn_on
      entity_id: automation.get_hwc_operating_mode
- id: ebusd46
  alias: Get Hwc Operating Mode
  initial_state: true
  trigger:
    - platform: mqtt
      topic: ebusd/hwc/OperatingMode
  action:
    service: input_select.select_option
    data_template:
      entity_id: input_select.hwc_operating_mode
      option:
        "{% set opmode = {\n  '0': 'Onemogočeno',\n  '1': 'Vključeno',\n  '2':\
        \ 'Izključeno',\n   '3': 'Auto'  } %}\n{{ opmode.get('trigger.payload','3') }}\n"

Hi Andrej,

Many thanks for the pointers! Meanwhile I have gotten the system running (using this adapter (ebuzzz adapter), and a virtual machine running linux).

this is my overview of vaillant stuff:

• L/W Cv Aroth.Vail.Vwl155 230V
• Vwz Meh 61 Vaillant
• Multimat.Vrc700 Vail.

However i fear that with the current setup (i.e. the configuration files that are now available) i can only read out my VRC700 heating controller and the HMU (i suppose this is a mixing unit). there are two Vaillant devices still in the list that dont have any configuration files availalbe (i.e. my heater, VWZ MEH 61) and my heatpump itself (i.e. arotherm VWL 155/2).

ebusctl info readout:

ebusctl info
version: ebusd 21.2.v21.2-36-gfb5ab14
update check: revision v21.2 available, broadcast.csv: different version available, memory.csv: different version available, vaillant/08.hmu.csv: different version available, vaillant/15.700.csv: different version available, vaillant/broadcast.csv: different version available, vaillant/errors.inc: different version available, vaillant/general.csv: different version available, vaillant/hcmode.inc: different version available
signal: acquired
symbol rate: 23
max symbol rate: 140
min arbitration micros: 121
max arbitration micros: 705
min symbol latency: 5
max symbol latency: 8
reconnects: 0
masters: 4
messages: 485
conditional: 0
poll: 81
update: 10
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=HMU01;SW=0305;HW=8802", loaded "vaillant/08.hmu.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0613;HW=6903", loaded "vaillant/15.700.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 71: master #9
address 76: slave #9, scanned "MF=Vaillant;ID=VWZIO;SW=0111;HW=0103"
address e8: slave, scanned "MF=Vaillant;ID=FMU00;SW=0204;HW=6502"

Reason is that in the current VRC700 readout with the existing configuration files, i cannot see any legionella configurations (it is definitely on my physical controller device on the wall). And therefore it will become difficult to mimick your approach. Do you have any other suggestion I could try out to get this legionella information out of my system? I do see some unknown fields in the configuration file for the vrc700, alternatively i could also try to make configuration files for the two missing devices, but truth be told, this seems quite difficult if i read the ebusd thread…

Thank you and kind regards,

Ben

Hi Ben,

try:

ebusctl find -v legio

or any other massage from your circuit…load, temp, etc…

I see you have 2 cvs files listed, I don’t have any of them in my scan… ebusctl find -v was for my the most “groundbreaking” discoveries :slight_smile:

Hi Andrej,

No unfortunately not, i have spend quite a lot of time in the configuration files, and i dont see any reference to legionella in the ones that I use.

I guess you have other equipment from vaillant, that uses other configuration files?

I would really love to read out any unknown values from the VRC700 (i know you have to use GRAB and decode, but it’s quite difficutl to get started) or try to read out the two other devices (the heatpump L/W Cv Aroth.Vail.Vwl155 230V and the boiler unit Vwz Meh 61 Vaillant) as the legionella data might be stored there, but as said, i don’t know how to get started on this (there are 1 or 2 other topics on this forum that list the exaxt same models, but alas, no feedback on those yet)… i guess i’ll just start a climate module with the data i alrady have now!

Below the output of the ebusctl find -v:

ebusctl find -v
700 AdaptHeatCurve = yesno=no
700 BankHolidayEndPeriod = no data stored
700 BankHolidayStartPeriod = no data stored
700 ccTimer.Friday = no data stored
700 ccTimer.Monday = no data stored
700 ccTimer.Saturday = no data stored
700 ccTimer.Sunday = no data stored
700 ccTimer.Thursday = no data stored
700 ccTimer.Tuesday = no data stored
700 ccTimer.Wednesday = no data stored
700 ContinuosHeating = tempv=-26
700 currenterror = no data stored
700 CylinderChargeHyst = calibrationv=5
700 CylinderChargeOffset = calibrationv=5
700 Date = no data stored
700 DisplayedOutsideTemp = tempv=15
700 errorhistory = no data stored
700 FrostOverRideTime = hoursum2=4
700 Hc1ActualFlowTempDesired = tempv=0.0
700 Hc1AutoOffMode = offmode=night
700 Hc1CircuitType = no data stored
700 Hc1ExcessTemp = calibrationv=0.0
700 Hc1FlowTemp = tempv=56.0
700 Hc1HeatCurve = =0.7
700 Hc1HeatCurveAdaption = =0.0
700 Hc1MaxFlowTempDesired = tempv=42.0
700 Hc1MinFlowTempDesired = tempv=20.0
700 Hc1MixerMovement = =0.0
700 Hc1PumpStatus = =0
700 Hc1RoomTempSwitchOn = rcmode=thermostat
700 Hc1Status = =0
700 Hc1SummerTempLimit = tempv=20.0
700 Hc2ActualFlowTempDesired = no data stored
700 Hc2AutoOffMode = no data stored
700 Hc2CircuitType = no data stored
700 Hc2ExcessTemp = no data stored
700 Hc2FlowTemp = no data stored
700 Hc2HeatCurve = no data stored
700 Hc2HeatCurveAdaption = no data stored
700 Hc2MaxFlowTempDesired = no data stored
700 Hc2MinFlowTempDesired = no data stored
700 Hc2MixerMovement = no data stored
700 Hc2PumpStatus = no data stored
700 Hc2RoomTempSwitchOn = no data stored
700 Hc2Status = no data stored
700 Hc2SummerTempLimit = no data stored
700 Hc3ActualFlowTempDesired = no data stored
700 Hc3AutoOffMode = no data stored
700 Hc3CircuitType = no data stored
700 Hc3ExcessTemp = no data stored
700 Hc3FlowTemp = no data stored
700 Hc3HeatCurve = no data stored
700 Hc3HeatCurveAdaption = no data stored
700 Hc3MaxFlowTempDesired = no data stored
700 Hc3MinFlowTempDesired = no data stored
700 Hc3MixerMovement = no data stored
700 Hc3PumpStatus = no data stored
700 Hc3RoomTempSwitchOn = no data stored
700 Hc3Status = no data stored
700 Hc3SummerTempLimit = no data stored
700 HcStorageTempBottom = tempv=-
700 HcStorageTempTop = tempv=-
700 HolidayEndPeriod = no data stored
700 HolidayStartPeriod = no data stored
700 HolidayTemp = tempv=15.0
700 HwcBankHolidayEndPeriod = no data stored
700 HwcBankHolidayStartPeriod = no data stored
700 HwcFlowTemp = tempv=65.0
700 HwcHolidayEndPeriod = no data stored
700 HwcHolidayStartPeriod = no data stored
700 HwcLockTime = minutes2=30
700 HwcMaxFlowTempDesired = tempv=80.0
700 HwcOpMode = opmode=auto
700 HwcParallelLoading = onoff=off
700 HwcSFMode = sfmode=auto
700 HwcStorageTemp = tempv=40.0
700 HwcStorageTempBottom = tempv=-
700 HwcStorageTempTop = tempv=-
700 HwcTempDesired = tempv=60.0
700 hwcTimer.Friday = from=13:20;to=19:00;from=-:-;to=-:-;from=-:-;to=-:-
700 hwcTimer.Monday = from=13:00;to=18:40;from=-:-;to=-:-;from=-:-;to=-:-
700 hwcTimer.Saturday = from=13:20;to=19:10;from=-:-;to=-:-;from=-:-;to=-:-
700 hwcTimer.Sunday = from=12:00;to=18:50;from=-:-;to=-:-;from=-:-;to=-:-
700 hwcTimer.Thursday = from=12:30;to=18:50;from=-:-;to=-:-;from=-:-;to=-:-
700 hwcTimer.Tuesday = from=13:30;to=18:50;from=-:-;to=-:-;from=-:-;to=-:-
700 hwcTimer.Wednesday = from=13:10;to=18:40;from=-:-;to=-:-;from=-:-;to=-:-
700 HydraulicScheme = =8
700 Installer1 = no data stored
700 Installer2 = no data stored
700 KeyCodeforConfigMenu = =0
700 MaintenanceDate = no data stored
700 MaintenanceDue = no data stored
700 MaxCylinderChargeTime = minutes2=70
700 MaxRoomHumidity = =40
700 MultiRelaySetting = mamode=circulation
700 noiseReductionTimer.Friday = no data stored
700 noiseReductionTimer.Monday = no data stored
700 noiseReductionTimer.Saturday = no data stored
700 noiseReductionTimer.Sunday = no data stored
700 noiseReductionTimer.Thursday = no data stored
700 noiseReductionTimer.Tuesday = no data stored
700 noiseReductionTimer.Wednesday = no data stored
700 OpMode = opmode=auto
700 OpModeEffect = zonesel=alle
700 OutsideTempAvg = tempv=13.2
700 PhoneNumber1 = no data stored
700 PhoneNumber2 = no data stored
700 PrEnergySum = energy4=8904
700 PrEnergySumHc = energy4=6322
700 PrEnergySumHcLastMonth = energy4=535
700 PrEnergySumHcThisMonth = energy4=161
700 PrEnergySumHwc = energy4=2426
700 PrEnergySumHwcLastMonth = energy4=175
700 PrEnergySumHwcThisMonth = energy4=82
700 PrFuelSum = no data stored
700 PrFuelSumHc = no data stored
700 PrFuelSumHcLastMonth = no data stored
700 PrFuelSumHcThisMonth = no data stored
700 PrFuelSumHwc = no data stored
700 PrFuelSumHwcLastMonth = no data stored
700 PrFuelSumHwcThisMonth = no data stored
700 PumpAdditionalTime = minutes2=1
700 SFMode = sfmode=auto
700 SolarYieldTotal = no data stored
700 SystemFlowTemp = tempv=55.5
700 tariffTimer.Friday = no data stored
700 tariffTimer.Monday = no data stored
700 tariffTimer.Saturday = no data stored
700 tariffTimer.Sunday = no data stored
700 tariffTimer.Thursday = no data stored
700 tariffTimer.Tuesday = no data stored
700 tariffTimer.Wednesday = no data stored
700 Time = no data stored
700 ventilationTimer.Friday = no data stored
700 ventilationTimer.Monday = no data stored
700 ventilationTimer.Saturday = no data stored
700 ventilationTimer.Sunday = no data stored
700 ventilationTimer.Thursday = no data stored
700 ventilationTimer.Tuesday = no data stored
700 ventilationTimer.Wednesday = no data stored
700 WaterPressure = pressv=2.3
700 YieldTotal = energy4=999999
700 z1ActualRoomTempDesired = tempv=22.0
700 z1BankHolidayEndPeriod = no data stored
700 z1BankHolidayStartPeriod = no data stored
700 z1CoolingTemp = tempv=24.0
700 z1CoolingTimer.Friday = no data stored
700 z1CoolingTimer.Monday = no data stored
700 z1CoolingTimer.Saturday = no data stored
700 z1CoolingTimer.Sunday = no data stored
700 z1CoolingTimer.Thursday = no data stored
700 z1CoolingTimer.Tuesday = no data stored
700 z1CoolingTimer.Wednesday = no data stored
700 z1DayTemp = tempv=22.0
700 z1HolidayEndPeriod = hto=01.01.2015
700 z1HolidayStartPeriod = hfrom=01.01.2015
700 z1HolidayTemp = tempv=15.0
700 z1Name1 = zname=VLOER
700 z1Name2 = no data stored
700 z1NightTemp = tempv=18.0
700 z1OpMode = opmode=auto
700 z1QuickVetoTemp = tempv=18.5
700 z1RoomTemp = tempv=22.4
700 z1RoomZoneMapping = zmapping=VRC700
700 z1SFMode = sfmode=auto
700 z1Shortname = no data stored
700 z1Timer.Friday = no data stored
700 z1Timer.Monday = no data stored
700 z1Timer.Saturday = no data stored
700 z1Timer.Sunday = no data stored
700 z1Timer.Thursday = no data stored
700 z1Timer.Tuesday = no data stored
700 z1Timer.Wednesday = no data stored
700 z1ValveStatus = =0
700 z2ActualRoomTempDesired = no data stored
700 z2BankHolidayEndPeriod = no data stored
700 z2BankHolidayStartPeriod = no data stored
700 z2CoolingTemp = no data stored
700 z2CoolingTimer.Friday = no data stored
700 z2CoolingTimer.Monday = no data stored
700 z2CoolingTimer.Saturday = no data stored
700 z2CoolingTimer.Sunday = no data stored
700 z2CoolingTimer.Thursday = no data stored
700 z2CoolingTimer.Tuesday = no data stored
700 z2CoolingTimer.Wednesday = no data stored
700 z2DayTemp = no data stored
700 z2HolidayEndPeriod = no data stored
700 z2HolidayStartPeriod = no data stored
700 z2HolidayTemp = no data stored
700 z2Name1 = no data stored
700 z2Name2 = no data stored
700 z2NightTemp = no data stored
700 z2OpMode = no data stored
700 z2QuickVetoTemp = no data stored
700 z2RoomTemp = no data stored
700 z2RoomZoneMapping = no data stored
700 z2SFMode = no data stored
700 z2Shortname = no data stored
700 z2Timer.Friday = no data stored
700 z2Timer.Monday = no data stored
700 z2Timer.Saturday = no data stored
700 z2Timer.Sunday = no data stored
700 z2Timer.Thursday = no data stored
700 z2Timer.Tuesday = no data stored
700 z2Timer.Wednesday = no data stored
700 z2ValveStatus = no data stored
700 z3ActualRoomTempDesired = no data stored
700 z3BankHolidayEndPeriod = no data stored
700 z3BankHolidayStartPeriod = no data stored
700 z3DayTemp = no data stored
700 z3HolidayEndPeriod = no data stored
700 z3HolidayStartPeriod = no data stored
700 z3HolidayTemp = no data stored
700 z3Name1 = no data stored
700 z3Name2 = no data stored
700 z3NightTemp = no data stored
700 z3OpMode = no data stored
700 z3QuickVetoTemp = no data stored
700 z3RoomTemp = no data stored
700 z3RoomZoneMapping = no data stored
700 z3SFMode = no data stored
700 z3Shortname = no data stored
700 z3ValveStatus = no data stored
broadcast datetime = no data stored
broadcast error = no data stored
broadcast hwcStatus = no data stored
broadcast id = no data stored
broadcast id = no data stored
broadcast load = no data stored
broadcast outsidetemp = temp2=15.000
broadcast signoflife = no data stored
broadcast vdatetime = time=15:54:25;date=17.05.2021
general valuerange = no data stored
hmu ConsumptionThisYear10 = no data stored
hmu ConsumptionThisYear11 = no data stored
hmu ConsumptionThisYear12 = no data stored
hmu ConsumptionThisYear1 = no data stored
hmu ConsumptionThisYear2 = no data stored
hmu ConsumptionThisYear3 = no data stored
hmu ConsumptionThisYear4 = no data stored
hmu ConsumptionThisYear5 = no data stored
hmu ConsumptionThisYear6 = no data stored
hmu ConsumptionThisYear7 = no data stored
hmu ConsumptionThisYear8 = no data stored
hmu ConsumptionThisYear9 = no data stored
hmu ConsumptionTotal = energy=8830
hmu currenterror = no data stored
hmu DateTime = no data stored
hmu EnergyCool = energy=0
hmu EnergyHc = energy=252
hmu errorhistory = no data stored
hmu Hours = energy=13343
hmu HoursCool = energy=0
hmu HoursHc = energy=3054
hmu SetMode = hcmode=off;flowtempdesired=0.0;hwctempdesired=-;hwcflowtempdesired=-;disablehc=0;disablehwctapping=1;disablehwcload=1;remoteControlHcPump=1;releaseBackup=0;releaseCooling=0
hmu State = energy=0;energy=252;onoff=on;state=ready
hmu Status01 = temp1=55.0;temp1=55.0;temp2=-;temp1=-;temp1=-;pumpstate=off
hmu Status02 = no data stored
hmu Status16 = no data stored
hmu Status = no data stored
hmu StatusCirPump = =on
hmu YieldThisYear10 = no data stored
hmu YieldThisYear11 = no data stored
hmu YieldThisYear12 = no data stored
hmu YieldThisYear1 = no data stored
hmu YieldThisYear2 = no data stored
hmu YieldThisYear3 = no data stored
hmu YieldThisYear4 = no data stored
hmu YieldThisYear5 = no data stored
hmu YieldThisYear6 = no data stored
hmu YieldThisYear7 = no data stored
hmu YieldThisYear8 = no data stored
hmu YieldThisYear9 = no data stored
hmu YieldTotal = energy=16792
memory eeprom = no data stored
memory ram = no data stored
scan id = no data stored
scan.08  = MF=Vaillant;ID=HMU01;SW=0305;HW=8802
scan.08 id = prefix=??;year=??;week=??;product=??????????;supplier=????;counter=??????;suffix=??
scan.15  = MF=Vaillant;ID=70000;SW=0613;HW=6903
scan.15 id = prefix=21;year=19;week=33;product=0020171315;supplier=0082;counter=020946;suffix=N5
scan.76  = MF=Vaillant;ID=VWZIO;SW=0111;HW=0103
scan.76 id = prefix=21;year=19;week=01;product=0020180703;supplier=1610;counter=005045;suffix=N7

What is result of:
ebusctl find -w load

For heating hot water I use load command…to load water tank with hot water:

ebusctl w -c hwc load on

and then heat pump loads water tank with hot water. But circuit is different in your case.
Did you check any of cvs files on GitHub - john30/ebusd-configuration: ebusd configuration files for your device?

Hi Andrej,

result is as follows:

ebusctl find -w load
700 HwcParallelLoading = no data stored

Currently parallel heating of warm water and heating is off for our heat pump, i think the installer advised against that… no idea why though…

using your command for a full load would use the heatpump though, and not the “pure electric emergency heater” right?

thanks!

Ben

It depends how the backup is set. I use:

  • backup mode hwc → only backup
  • backup type - > internal heat and water
  • storage temp desired stop - > 75°C or 65°C or 55°C
  • storage temp desired start - > above current hot water temperature

How did you configure path for cvs files in ebusd? Configpath=?
Maybe try asking here: Discussion – ebusd or Issues · john30/ebusd-configuration · GitHub

Hi all… I want use ebus adapter 3 on wifi with my boiler GAS Vaillant VSC206 4-5. Is any user which use it with Vaillant Boiler ? I have with my vaillant VRC700 Multimatic and it show gas and energy consuption.
But i have also Vaillant Gateway VR920 but in app Android Vaillant not show consuption… only show in Multimatic VRC700. Is any chance to read consuption by ebus adapter 3 ? Please help me thanks.

Hi. Anybody know where i can download and print 3D case for this adapter ? IS any case available for it…?