An ebusd add-on

Hi, looks like you’re running Ebusd natively on a Raspberrypi. this discussion is about an add-on that will run ebusD within HomeAssistants supervisor (as a docker container).
if you’re running ebusd any other way than through the HA add-on discussed here please refer to the discussions at john30/ebusd · Discussions · GitHub

I would like to read out and control my Vaillant heating system with the Home Assistant. I have a few questions about the configuration.
The heater is not yet connected to the Ebusd Adapter 3.1. The latest firmware from 2022-12-31 is installed on the adapter 3.1 and set to Ethernet.
I installed Home Assistant as HomeAssistant OS on a RaspberryPi 4 and installed the addon by Lukas Grebe.

Can I test the Home Assistant installation and the MQTT setting if the heater is not yet connected?

The protocol is:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
> ebusd --foreground --httpport=8889 --mqtthost=core-mosquitto --mqttport=1883 --mqttuser=mqtt-nutzer01 --mqttpass=dcvhue98456383DEWP --scanconfig --mqttint=/etc/ebusd/mqtt-hassio.cfg --mqtttopic=ebusd --device=enh:192.168.178.39:9999 --log=all:notice
2023-04-06 20:47:26.266 [main notice] ebusd 23.1.p20230106 started with auto scan on enhanced device 192.168.178.39:9999
2023-04-06 20:47:27.197 [bus notice] device status: resetting
2023-04-06 20:47:27.198 [bus notice] bus started with own address 31/36
2023-04-06 20:47:27.224 [mqtt notice] connection established
2023-04-06 20:47:27.948 [bus notice] device status: reset, supports info
2023-04-06 20:47:27.952 [bus notice] device status: extra info: firmware 1.1[8419].2[847f], jumpers 0x37
2023-04-06 20:49:37.468 [main notice] update check: revision 23.1 available

that’s as far as you can get without the adapter being connected to the bus.
you can set the “read only” flag if you’d like.

Hi @afiwube Lukas,
meanwhile I got it running and I receive some data.
But it might have picked the wrong config as I don’t get the required heat pump values from the Vaillant aroTherm plus VWL reflected in the ehp00.csv file.
How can I convince the ebusd addon or the adapter to read the heat pump values?

Thanks in advance and Happy Easter

1 Like

hello, i have the same adapter and i do the same steps, i can read values, but i do not know how i can write, i want to manage the vaillant, but i only can read.
¿can you write?

@Lupo @soscomo I’m glad you got the addon working!

both writing values and reading values is defined by the ebusd config files. these are managed by john30 on GitHub. see the discussions link above ( john30/ebusd · Discussions · GitHub ) where the contents of these config files and thus which values are read and written is defined.

unfortunately the open specification of the ebus data “died” sometime around 2000-2010 and Manufacturers such as Vailant are only using proprietary messages on the ebus. However there’s a vibrant community trying to reverse engineer things…

Thanks, i know the config parameter to read and write, --mqttvar=filter-direction=r|u|^w, but do not work.
I had another instalatiin in a rpi with a usb to connect to vaillant with ebusd installed in the rpi, and i can write with ebusctl, but here with the addond i do not know how i can write with or without terminal command, or with mqtt explorer.
Sorry i am not a expert…
Is possible use ebusctl with this addon? In what direction?
Thanks

you can write via MQTT as per docs: 3.3. MQTT client · john30/ebusd Wiki · GitHub

Due to the subscription to the topic, ebusd also allows actively sending messages on the eBUS. This is supported by using a specific suffix to the topic:

  • /get: initiates an active refresh of a read message from the eBUS.
    When the message was read, ebusd sends the corresponding topic to MQTT.
  • /set: allows to send a write message to the eBUS (if the access level allows it, see above).
  • /list: publishes all messages known so far (according to access level, see above).

For /get and /set suffixes, the optional message payload can be used to transfer additional input data, e.g. the values to be set for a write message or the needed input for a read message, separated by semicolon.

Many thanks for the add-on and community support. Now I can observe my old heating system.
Did someome also control the waterheating? This would be helpful for a holyday mode.

HA

mqtt:
  climate:
      object_id: Vailant01
      name: Vailant
      max_temp: 25
      min_temp: 15
      precision: 0.1
      temp_step: 0.5

      
      action_topic: "ebusd/700/OpMode"
      action_template: "{{ value_json.opmode.value }}"
      modes:
        - auto
        - heat
        - cool
        - "off"
      mode_state_template: >-
        {% set mode_values = { 'auto':'auto', 'day':'heat', 'night':'cool', 'aus':'off'} %}
        {{ mode_values[value_json.opmode.value] | default('off') }}
      mode_state_topic: "ebusd/700/OpMode"
      mode_command_template: >-
        {% set values = { 'auto':'auto', 'heat':'day', 'cool':'night', 'off':'aus'} %}
        {{ values[value] | default('auto') }}
      mode_command_topic: "ebusd/700/OpMode/set"
      value_template: "{{ value_json.tempv.value }}"
      temperature_state_topic: "ebusd/700/z1ActualRoomTempDesired"
      temperature_low_state_topic: "ebusd/700/z1NightTemp"
      temperature_high_state_topic: "ebusd/700/z1DayTemp"

      temperature_low_command_topic: "ebusd/700/z1NightTemp/set"
      temperature_high_command_topic: "ebusd/700/z1DayTemp/set"
      current_temperature_topic: "ebusd/bai/OutdoorstempSensor"
      current_temperature_template: "{{ value_json.temp.value }}"
1 Like

glad this is working for you.

for write commands for your device checkout the configuration repository and discussion links above. GitHub - john30/ebusd-configuration: ebusd configuration files

How do you debug errors in thermostat templates?

Finally got my adapter v5 and found a way to get data from my Ochsner heatpump.
I can see some values in the log output of the addon:

2023-05-28 10:43:42.560 [update notice] received update-read master data2 QQ=10: 0.000;10.000;0;0;0
2023-05-28 10:43:43.170 [update notice] received unknown MM cmd: 031005030a010000002d16ff3f0000
2023-05-28 10:43:43.478 [update notice] received unknown MS cmd: 011506210402c80040 / 0a4841042a9f0500008202
2023-05-28 10:43:43.910 [update notice] received unknown MM cmd: 131005030a011a00002dffff3f4300
2023-05-28 10:43:44.590 [update notice] received read temperature outside QQ=01: 0;0;0d;02;500;-500;27.2
2023-05-28 10:43:45.340 [update notice] sent poll-read heatpump status QQ=31: -;31;00;00;0;0;0
2023-05-28 10:43:45.700 [update notice] received read temperature buffer QQ=01: 96;0;0d;02;1000;0;22.6
2023-05-28 10:43:46.810 [update notice] received read heatpump mode QQ=01: 53;1;00;00;255;0;Abgeschaltet
2023-05-28 10:43:47.915 [update notice] received unknown MS cmd: 011506210402c60040 / 0a46410428ffff000011b0
2023-05-28 10:43:48.671 [update notice] received unknown BC cmd: 10fe100a0c110300004224010000203100
2023-05-28 10:43:48.980 [update notice] received unknown MS cmd: 011506210402c80040 / 0a4841042a9f0500008202
2023-05-28 10:43:49.370 [update notice] received unknown BC cmd: 10fe100a0e1003000000000000000064000000

Even the mosquitto log shows incoming data:

2023-05-28 10:41:03: Sending PUBLISH to 3jg9gYDzuynbIaLKLpZtoA (d0, q0, r0, m0, 'ebusd/heatpump/hours', ... (237 bytes))
2023-05-28 10:41:03: Sending PUBLISH to ebusd_23.1_319 (d0, q0, r0, m0, 'ebusd/heatpump/hours', ... (237 bytes))
2023-05-28 10:41:05: Received PUBLISH from ebusd_23.1_319 (d0, q0, r0, m0, 'ebusd/master/data1', ... (436 bytes))
2023-05-28 10:41:05: Sending PUBLISH to ebusd_23.1_319 (d0, q0, r0, m0, 'ebusd/master/data1', ... (436 bytes))
2023-05-28 10:41:05: Received PUBLISH from ebusd_23.1_319 (d0, q0, r0, m0, 'ebusd/temperature/outside', ... (213 bytes))
2023-05-28 10:41:05: Sending PUBLISH to ebusd_23.1_319 (d0, q0, r0, m0, 'ebusd/temperature/outside', ... (213 bytes))
2023-05-28 10:41:05: Received PUBLISH from ebusd_23.1_319 (d0, q0, r0, m0, 'ebusd/temperature/buffer', ... (212 bytes))
2023-05-28 10:41:05: Sending PUBLISH to ebusd_23.1_319 (d0, q0, r0, m0, 'ebusd/temperature/buffer', ... (212 bytes))
2023-05-28 10:41:05: Received PUBLISH from ebusd_23.1_319 (d0, q0, r0, m0, 'ebusd/heatpump/mode', ... (216 bytes))
2023-05-28 10:41:05: Sending PUBLISH to 3jg9gYDzuynbIaLKLpZtoA (d0, q0, r0, m0, 'ebusd/heatpump/mode', ... (216 bytes))

Unfortunately i can’t see the temperature values in Home-Assistant as entities. Does anybody has an idea why?
Also wondering what’s the strange topic “3jg9gYDzuynbIaLKLpZtoA”?

I have used the mqtt explorer to search the right variable for the different states/commands.

MQTT Explorer shows me a topic only for the temperatures:

ebusd/temperature/outside
{
     "group": {"value": 0},
     "value": {"value": 0},
     "type": {"value": "0d"},
     "unit": {"value": "02"},
     "maxs": {"value": 500},
     "mins": {"value": -500},
     "temperature": {"value": 13.6}}

So the _template.csv seems okay, because the naming looks good. This topic and its values are nowhere in HA, or I can’t find them. I have a device called buffer and heatpump. But the devices in mqtt (HA view of devices) are missing some entities or values. The only have five values and every topic in MQTT explorer shows seven values.
Is Home Assistant blocking to take a “device” called “temperature”?

I received my V5 adapter last week and trying to setup everything, but I’m a bit stuck at writing values.
Reading is no problem.
I’ve added write to the filter direction and changed the accesslevel to *.

At first I was using the default config files and I only to see the adaptiveheatcurve in the MQTT controls, but no temperatures. Now I’ve downloaded the CSV files and put them local and I see lot’s of r;w types by default, but I still have only 1 control for the adaptive curve and nothing for temperatures.

I would like to control my thermostaat from Home Assistant, but I don’t know where it’s going wrong now.
Any help would be appreciated.

scanconfig: true
loglevel_all: notice
mqtttopic: ebusd
mqttint: /etc/ebusd/mqtt-hassio.cfg
mqttjson: true
network_device: 192.168.x.x:9999
mode: enh
commandline_options: "--mqttvar=filter-direction=r|u|^w"
accesslevel: "*"
configpath: /config/ebusd-configuration/ebusd-2.1.x/en
1 Like

Well, it seems I can control things when I send a mqtt message, but I thought I would just get some controls in mqtt to make things easier.

There is also going something funky on. When I setup the addon I get average outside temp and boiler desired temp for example. After restart Home Assistant those are gone. I have 177 sensor after a fresh install only a 144 after a reboot.
I’m not sure what’s going on and those are 2 important values for my automations.

My V5 adapter starts to work…now I get a lot of data in HA (Entity ebus), but how can I start my heat pump?

for example, there is an entity called sensor.ebusd5_21576_status_heatpump_status
but how can I create a switch ?

I got the VRC-720 working :slight_smile:

1 Like

I installed HomeAssistant OS on a Raspberry4. When installing the eBUSd addon I get the following error:
Can’t install ghcr.io/lukasgrebe/ha-addon-ebusd-aarch64:23.2.1: 500 Server Error for http+docker://localhost/v1.42/images/create?tag=23.2.1&fromImage=ghcr.io%2Flukasgrebe%2Fha-addon-ebusd-aarch64&platform=linux%2Farm64: Internal Server Error (“manifest unknown”)

eBUSd Update from 23.2.0 to 23.2.1 > after click on install > failed to call service update/install. connection lost

Update function in the AddOn:
Can’t install ghcr.io/lukasgrebe/ha-addon-ebusd-aarch64:23.2.1: 500 Server Error for http+docker://localhost/v1.42/images/create?tag=23.2.1&fromImage=ghcr.io%2Flukasgrebe%2Fha-addon-ebusd-aarch64&platform=linux%2Farm64: Internal Server Error (“manifest unknown”)