Ebus integration?

Any chance to see ebus integration? Got a Bartl heat pump with a controller from TEM.
There’s a daemon on github: https://github.com/john30/ebusd

1 Like

Yes please. OpenHAB had this for ages.
Of course, it is possible to use TCP sensor for receiving data from ebusd, but:

  1. it can only read data, but cannot make any requests
  2. it doesnt have any kind of auto-discovery, so setting everything up takes literally ages.

Also, ebusd supports MQTT (if it’s compiled this way) but I find mqtt-support in ebusd quite unreliable.

the MQTT ebus variant runs on my system. But I break my fingers during the configuration:

Can anyone help?
I get:
the following message:

path : _ebus/broadcast/betrd

{
  "status" : {
    "value" : 0
  },
  "Condition" : {
    "value" : "40"
  },
  "stellgrad" : {
    "value" : 0
  },
  "kesseltemp" : {
    "value" : 73.0
  },
  "return temp" : {
    "value : 70
  },
  "boilertemp" : {
    "value" : 46
  },
  "outside temp" : {
    "value : -40
  }
}

Has anyone ever used an MQTT sensor like this before? The double clamping overtaxed me.
I have something like this so far:

  - platform: mqtt                       
    state_topic: '_ebus/broadcast/betrd'

but how does the value_template look?

are you using JSON messages in ebusd? Have you tried switching it off? Im getting ebus values separated by commas - i think those are much easier to parse in HA

Thank you for the great hint. “no JSON” is much easier :slight_smile:

Hi there,

Can anyone of you share a config sample of mqtt in hassio and topic config on ebusd ?

I just started and quite new to mqtt.

Thanks!

What hardware interfaces are you guys using for this? It looks like DIY is the only possible option? :frowning:

we are using a DIY board called ebus adapter

I need some support on setting up MQTT HVAC
this component seems to be more suited for AC like devices but not for setting up ebusd boiler.

I figured out how to change the Day and Night temperature via mqtt, but can’t do it via HA.
Funny thing is that I can set the temp via HomeKit.
The HVAC component has the modes like “auto”, “off”, “cool”, “heat”, “dry”, “fan_only” but have no effect on my vaillant wall thermostat.
Did anyone figure out by now how to control vaillant heater/ boiler via ebusd and mqtt ??

I really need help on interpreting MQTT messages and have them properly integrated in home-assistant.
In ha I can display the component like this, but I cannot set any temperature for the day temp or any other control.
image

my config is like this:

climate vaillantThermostat:
  - platform: mqtt
    name: "Hc1DayTemp"
    temperature_state_topic: "ebusd/350/Hc1DayTemp/get"
    temperature_command_topic: "ebusd/350/Hc1DayTemp/set"
  - platform: mqtt
    name: "Hc1NightTemp"
    temperature_state_topic: "ebusd/350/Hc1NightTemp/get"
    temperature_command_topic: "ebusd/350/Hc1NightTemp/set"

via MQTT I get the messages in this format:
if I do a
mosquitto_pub -m temp -t ebusd/350/Hc1DayTemp/get
I get this -> ebusd/350/Hc1DayTemp 23.0

if I try to set the temp:
mosquitto_pub -m temp -t ebusd/350/Hc1DayTemp/set 24

then I get this mqtt message:
ebusd/350/Hc1DayTemp 24.0

If set it via HomeKit then I see this on mqtt side.

ebusd/350/Hc1DayTemp/set 23.0
ebusd/350/Hc1DayTemp 23.0

How can I properly control day temp night temp via HA ?
I cannot figure out the proper way it seems…

Please advice :slight_smile:

@luci84tm I am also looking at ebusd + MQTT as an option to the existing HA ebusd integration.
Could you please share ebusd related configuration you have so far?
Thank you,
Oleksandr

@andr2000
I do have this setup on ebusd:

 $ cat /etc/default/ebusd
# /etc/default/ebusd:
# config file for ebusd service.

# Options to pass to ebusd (run "ebusd -?" for more info):

EBUSD_OPTS="--scanconfig --configpath=/etc/ebusd/ --mqtttopic=ebusd/%circuit/%name --mqtthost=192.168.xx.xx --mqttport=1883 --mqttuser=user --mqttpass=mypass --mqttlog --accesslevel=*"

I do have a wall thermostat vaillant 350, but I had to replace the csv file with 370 to get the right mapping of the values.

I had to git clone the config project and replace the file like I mentioned above.

and then I get the info via MQTT, but then to filter that one in HA is a mess up to now :slight_smile:

Anybody that has more skills on MQTT and HA, maybe can help us to get this running properly.

I get some many info from the boiler and wall thermostat, but some of them need to be pulled otherwise are not sent automatically.

I have ebusd + mqtt running, but haven’t yet integrated it into HA. So I was mostly interested on what you have on HA side (sorry for not being precise enough).
I tried native HA ebusd integration but it seems it needs more love to work. For example, multiple circuits at the same time and so on.
So, finally I decided to go MQTT route…

Just look above I listed HA configs that I have so far.

I just updated today an I can set to auto, but not more:

Copy to clipboard

climate vaillantThermostat:
  - platform: mqtt
    name: "Hc1DayTemp"
    temperature_state_topic: "ebusd/350/Hc1DayTemp/get"
    temperature_command_topic: "ebusd/350/Hc1DayTemp/set"
  - platform: mqtt
    name: "Hc1NightTemp"
    temperature_state_topic: "ebusd/350/Hc1NightTemp/get"
    temperature_command_topic: "ebusd/350/Hc1NightTemp/set"
  - platform: mqtt
    name: "Thermostat Mode"
    mode_state_topic: "ebusd/350/Hc1OPMode/get"
    mode_command_topic: "ebusd/350/Hc1OPMode/set"
    modes: 
      - "auto"
      - "summer"
      - "night"
      - "on"
      - "off"
    current_temperature_topic: "ebusd/350/Hc1DayTemp"
    temperature_state_topic: "ebusd/350/Hc1DayTemp/get"
    temperature_command_topic: "ebusd/350/Hc1DayTemp/set"

Can it be that you have to append “/get” here?

Have you read this topic?

1 Like

Thanks for the hint, I saw that some time ago.
I just added that, but has no influence…

Unless I call the service manually from HA or via MQTT, then the value is been updated in HA.
btw I listen to MQTT messages and HA is not running that /get at all, that’s why it is not updating …

As per my understanding (and as I’ve been told on discord HA channel) HA is not intended to do polling by itself, but instead it expects the sensors to push the data. This can explain the fact that you see no requests from HA.
This discussion may explain the need for active polling, e.g. with some script or so. So, it should be possible to run a script periodically within HA to force reading the values, e.g. python_scripts/force_update_ebusd.py:

- alias: 'ebusd_update'
  trigger:
    - platform: time_pattern
      seconds: '/20'
  action:
    - service: homeassistant.update_entity
    - service: python_script.force_update_ebusd

I will still look for better solution later on as I think this is rather a workaround than solution

Also see this

1 Like

Hmmm, can you try removing all “/get” suffixes at all? According to climate those are the topics HA will listen to. “/get” is useful while actively reading the topic and it seems not the case with HA…

1 Like

Removing /get improved the situation…

But I get no value after restart, I have call the service and change the temp once, then I can see and change the temperature from HA.
If temp is set from the wall thermostat values doesn’t get updated in HA.

This I believe is expected as ebusd’s logic is “no parameter change - no mqtt update” and ebusd doesn’t know if you restart HA or not

And this might also be expected from ebusd POV: ebusd might not be polling the temperature from the wall thermostat. We need to look at how polling is implemented on ebusd side (–pollinterval=SEC) and how it is configured in csv files.
I hope that properly setting polling on ebusd side will solve the issue with parameter update, but this needs to be investigated more as I am concerned about what john30 suggested, e.g. running a script…