Ebus integration?

i also have simillary problem… Did you resolved it ?

- platform: mqtt
  name: Parter podłogówka
  max_temp: 30
  min_temp: 5
  precision: 0.1
  temp_step: 0.5
  modes:
   - auto
   - heat
   - cool
   - 'off'
  mode_state_template: >-
    {% set values = { 'auto':'auto', 'day':'heat',  'night':'cool', 'off':'off'} %}
    {{ values[value] if value in values.keys() else 'off' }}
  mode_state_topic:  "ebusd/700/z2OPMode"
  mode_command_template: >-
    {% set values = { 'auto':'auto', 'heat':'day',  'cool':'night', 'off':'off'} %}
    {{ values[value] if value in values.keys() else 'auto' }}
  mode_command_topic: "ebusd/700/z2OPMode/set"
  temperature_state_topic: "ebusd/700/z2ActualRoomTempDesired"
  temperature_low_state_topic: "ebusd/700/z2NightTemp"
  temperature_high_state_topic: "ebusd/700/z2DayTemp"
  temperature_low_command_topic: "ebusd/700/z2NightTemp/set"
  temperature_high_command_topic: "ebusd/700/z2DayTemp/set"
  current_temperature_topic: "ebusd/700/z2RoomTemp"
2 Likes

ANybody help me please…

I believe that Ebus integration might be too complex for HVAC component, but please give me a shout if you will manage to get it working

Not yet. I am on wacation now but from monday I start play again with that topic. Now I know that I need to check configuration file if I send command to topics with w at beggining. (Writtable topics) Then I need to setup sync command to accept ebus also as mastet.

ebusd is now capable of supporting the MQTT discovery feature, maybe that helps.

But how i can use it with mqtt discovery on Home Assistant ?

I try it but it is impossible to change mode. Only temperature are possible to change.

I go back to old version. It works correct. WIth auto discovery i can not change and create climates.

I found that new version delete MQTT top level topic. So that was reason why it stop working. So I add “–mqtttopic=ebusd” into ebusd connfiguration.

Hi
Anybody tested version with auto discoery and works ok ? Anybody can describe it how configure it step by step and create example climate entity ?

This working for me

climate:
- platform: mqtt
  name: Vailant 700
  max_temp: 27
  min_temp: 15
  temp_step: 0.5
  modes:
   - auto
   - heat
   - cool
   - 'off'
  mode_state_template: >-
    {% set values = { 'auto':'auto', 'day':'heat',  'night':'cool', 'off':'off'} %}
    {% set state = value_json["opmode"].value %}
    {{ values[state] if state in values.keys() else 'off' }}
  mode_state_topic:  "ebus/700/z1OpMode"
  mode_command_template: >-
    {% set values = { 'auto':'auto', 'heat':'day',  'cool':'night', 'off':'off'} %}
    {{ values[value] if value in values.keys() else 'auto' }}
  mode_command_topic: "ebus/700/z1OpMode/set"
  current_temperature_topic: "ebus/700/z1ActualRoomTempDesired"
  current_temperature_template: '{{value_json["tempv"].value}}'
  temperature_state_topic: "ebus/700/z1ActualRoomTempDesired"
  temperature_state_template: '{{value_json["tempv"].value}}'
  temperature_low_state_topic: "ebus/700/z1NightTemp"
  temperature_low_state_template: '{{value_json["tempv"].value}}'
  temperature_high_state_topic: "ebus/700/z1DayTemp"
  temperature_high_state_template: '{{value_json["tempv"].value}}'
  temperature_low_command_topic: "ebus/700/z1NightTemp/set"

Hey, I am also trying to get value from these sensors. What is the “5434.0” value that you divide your values by?

After some reading I have been able to integrate my Exacontrol e7c thermostat and Bulex Themacondens heater (bai) using the MQTT climate entity. As it took some effort I thought to share it:

  climate:
    name: Centrale verwarming
    availability_topic: "ebusd/global/signal"
    payload_available: "true"
    payload_not_available: "false"

    max_temp: 30
    min_temp: 10
    temp_step: 0.5
    precision: 0.5
    
    # Current temperature
    current_temperature_topic: "ebusd/e7c/DisplayedRoomTemp"
    current_temperature_template: "{{value_json['temp'].value}}"

    # Set temperature
    temperature_state_topic: "ebusd/e7c/HeatingTemp1"
    temperature_state_template: "{{value_json['temp'].value}}"
    temperature_command_topic: "ebusd/e7c/DesiredTemperature"

    # action
    action_topic: "ebusd/bai/SetMode"
    action_template: >
       {%- if is_state('climate.centrale_verwarming', 'off') -%}
         {{ "off" }}
       {%- elif value_json['disablehc'].value == 0 -%}
         {{ "heating" }}
       {%- else -%}
         {{ "idle" }}
       {%- endif -%}
    
       
    # modes
    modes:
     - "heat"
     - "off"
    mode_state_topic:  "ebusd/e7c/HeatingEnable"
    mode_state_template: >-
      {% set values = { 'on':'heat', 'off':'off'} %}
      {% set state = value_json["onoff"].value %}
      {{ values[state] if state in values.keys() else 'off' }}
    
    mode_command_topic: "ebusd/e7c/HeatingEnable/set"
    mode_command_template: >-
      {% set values = { 'heat':'on', 'off':'off'} %}
      {{ values[value] if value in values.keys() else 'off' }}

    # presets
    preset_modes:
      - "programma"
      - "vakantie"
    preset_mode_command_topic: "ebusd/e7c/DesiredPreset"
    preset_mode_state_topic: "ebusd/e7c/DesiredPreset"

MQTT climate is not ideal as setting the temperature uses different MQTT topics. For a moment I though it would be easier to write a custom component for all the logic, but I solved it by using two automations that subscribe to DesiredPreset/DesiredTemperature, and do the necessary things.

I’m quite happy with how it works now. I also try not to bang the ebus too much, so I have not changed pollinterval. In fact, I don’t really rely on polling but let the automations fetch an update only when necessary (although I then do a /get ?1 to enable automatic polling for the future just in case). I also have a force update automation that runs when the climate entity turns on, or changes to unknown.

I only rely on polling when physically interacting with the device. As far as I understand, because of the default caching, it takes maximum 300 seconds for the HA climate to be updated, which I can live with.

Using the following hardware: EBUS to WiFi adapter by Daniel Kucera's store
I like it over the ‘official’ one as it does not need an external power suppy.

4 Likes

@ilmc888
Could you talk us through how you got the ebus to WiFi adapter from Daniel Kucera working?

I have tried to get it up and running with my Vaillant system but it completely messes up my system. It even seems to break the link between my thermostats and my heat pump (where they seem to be unable to communicate)

Hi, I’m also interested in the working process of the adapter from Daniel Kucera that i bought. How can I configure in HA? Thanks

Just using ebusd configuration that use auto discovery trough mqtt in home assistant.

Hi all. Can anybody tell me how create in HA sensor which is sum for sensor gas HC and HWC from my Vaillant gas boiler which i read by ebusd ?

ebusd/bai/PrEnergySumHc1 
value_template: '{{(value_json["0"].value )}}'

+

ebusd/bai/PrEnergySumHwc1 
value_template: '{{(value_json["0"].value )}}'

I had a mini project, designing a case + integrating a gas detector connected to the EBUSD. I have it printed, it works, incl. internal gas detector fitting. If you like you can have the STL’s for this…

Hi can you share STL or STEP file?

You have to create 2 sensors, and then template sensor summing values from them.

Ok but how write code for sum ? And can i also with sum write code for division ?