An ebusd add-on

Hi @timstanley1985
Great to see I’m not miles off
FWIW having spent a couple of hours researching jinja the value template I now use is

    value_template: >
      {% set v = (value|default('Unknown;fault')).split(';') %}
      {{ v[0]  if v[1] == 'ok' else v[1] }}

I don’t know what other values the ‘ok’ could be but I thought I should check and flag any value if the ‘ok’ part isn’t ‘ok’…

I tried to reproduce this error just from the supervisor container and able to install ebusd just after I added community repository to repositories file
echo "https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
I don’t see this step in my installation logs:

22-01-29 18:51:23 ERROR (SyncWorker_3) [supervisor.docker.addon] Can't build 2ad9b828/armv7-addon-ebusd:0.86: The command '/bin/ash -o pipefail -c apk -U add --no-cache ebusd' returned a non-zero code: 1
22-01-29 18:51:23 ERROR (SyncWorker_3) [supervisor.docker.addon] Build log: 
Step 1/16 : ARG BUILD_FROM
Step 2/16 : FROM $BUILD_FROM
 ---> a267e8678e44
Step 3/16 : ENV LANG C.UTF-8
 ---> Using cache
 ---> dd2578c60a78
Step 4/16 : RUN echo "https://dl-cdn.alpinelinux.org/alpine/edge/testing"     >> /etc/apk/repositories
 ---> Using cache
 ---> 923bbecf9977
Step 5/16 : RUN echo "https://dl-cdn.alpinelinux.org/alpine/edge/main"     >> /etc/apk/repositories
 ---> Using cache
 ---> 8a0608d8557c
Step 6/16 : RUN apk -U add --no-cache ebusd
 ---> Running in 61b591b2897a
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/armv7/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/armv7/APKINDEX.tar.gz
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/main: temporary error (try again later)

Could you confirm that you have step with adding community repository in installation steps.
4th step adds testing repository
5th step adds main repository
but what step adds community repository?

New release :fireworks::sparkler:

0.87

  • IMPROVE: Add poll interval option
  • IMPROVE: Improve option descriptions
  • IMPROVE: Improve logic in run.sh
  • IMPROVE: Add apparmour.txt
  • FIX: Change MQTT log area to OTHER
1 Like

eBUSd moved from testing to community about an hour ago. I have just done a new release with an updated dockerfile

Hi guys! I salute you all with your contributions to get this useful addon working. I have been using it since few days now and it’s working :slight_smile: Thanks!

I have some questions how to tweak configuration:

  1. latency: I use wifi ebus adapter v3 - what is the most appropriate latency?
  2. Mqtt retain: the last massage is retained till the value is changed?
  3. mqtt payload ?! : where can I put this? In configuration file with f.i. sensor? I saw few posts above that it was used in automation…can be used in configuration of entities?
  4. where you guys check mqtt messages in HA? I use HA supervised…
  5. Before this addon I used ebus deamon in debian with ebusctl read -c ehp outsidetemp to check if the values as the same or to troubleshoot or to create new sensors, switches, automation. Any suggestion how to do that now?

Thank you!!! I really apppreciate your time and efforts!

You will find most of the answers to your questions in the eBUSd wiki - Home · john30/ebusd Wiki · GitHub

  1. I would leave this blank. Only change the default value if you are having problems
  2. By default only eBUSd/global/# messages are sent with retain flag. If you turn on mqttretain option all MQTT messages will be sent with retain flag
  3. @Sonosy did a good write up on this yesterday. It is about 10 post before this one
  4. You need to manually configure MQTT sensors
  5. You can still use ebusctl on a separate machine. Set an external port number for the TCP client in the add-on network settings and user the -s option with ebusctl - ebusctl -s hostname

@timstanley1985 Thank you very much for your help and answers!

Hello,
thank you for the job to the devs
I have an issue and since it works for all of you, I think I am doing something wrong. Can you help me to fix the issue where it doesn’t identify my system. It should be a vaillant, thus “bao” and “700”.

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
> ebusd --foreground --mqtthost=core-mosquitto --mqttport=1883 --mqttuser=addons --mqttpass=elohXohh6wuiquaetheisohshi8moo6ieRade7rohNahraiyahYutheePhai9ing --scanconfig --accesslevel=* --device=/dev/ttyUSB1 --log=all:notice
2022-01-30 17:28:55.301 [main notice] ebusd 21.3.v3.15.0-5100-ga429f57b66 started with auto scan on device /dev/ttyUSB1
2022-01-30 17:28:55.451 [bus notice] bus started with own address 31/36
2022-01-30 17:28:55.457 [mqtt notice] connection established
2022-01-30 17:28:55.467 [bus notice] signal acquired
2022-01-30 17:29:00.042 [bus notice] new master 10, master count 2
2022-01-30 17:29:00.105 [bus notice] new master 03, master count 3
2022-01-30 17:29:00.105 [update notice] received unknown MS cmd: 1008b5110101 / 0944440080ff720000ff
2022-01-30 17:29:02.041 [update notice] received unknown BC cmd: 10feb51603012008
2022-01-30 17:29:05.111 [update notice] received unknown MS cmd: 1008b510090000506effff00ff00 / 0101
2022-01-30 17:29:05.569 [main error] scan config 08: ERR: read timeout
2022-01-30 17:29:07.649 [main error] scan config 15: ERR: read timeout
2022-01-30 17:29:10.054 [update notice] received unknown MS cmd: 1008b5110101 / 0944440080ff720000ff
2022-01-30 17:29:12.036 [update notice] received unknown MS cmd: 1008b5110102 / 050314964c78

I found my answer. Even if I have an Esera USB gateway, leaving the latency to 0 was creating the issue.I had to switch it to 6ms minimum.

I found problem with my ENV: The addon is building its own docker image, and this is the step where it’s failing. The host is a RPI in 32bits. There is a known issue in this setup as of alpine 3.13. HA currently uses 3.14. To fix, you have to update libseccomp2 according to Fix/Workaround - libseccomp2 and Alpine 3.13 - Installing Raspbian Docker 19.04+ on Raspberry Pi 4 Buster

Why are you not using the 64 bit version if that would fix this issue?

Unfortunately I do not have a 32bit setup to test/fix this. If you have identified how to fix this please make a pull request and I am happy to take a look at it.

ha-addons/Dockerfile at main · LukasGrebe/ha-addons (github.com)

It is not a problem of your addon that is why I can’t fix it with pull request. Problem with compatibility of alpine 3.13 and raspberian

Fair enough, i thought you meant i needed to add libseccomp to the ebusd dockerfile. Can you not run the 64bit version?

I have just added a new version of the add-on - eBUSd Edge. The normal release of the add-on is based on the latest stable release of eBUSd - currently v21.3 released on 10/11/21.

eBUSd Edge will download the latest sources from GitHub and build it locally on your machine. This will allow you to test unreleased features and fixes but could lead to breakages (you have been warned!). For example, john30 has recently merged some MQTT discovery features that some of you may want to try out.

PLEASE NOTE: The upgrade procedure is different for edge. Please see the readme file for more info.

1 Like

Hi
In ebusd was added MQTT Discovery. How we can use it ? When i run ebusd with setup IP MQTT and IP adapter , and then ebusd send to MQTT in HA all available entities ?

Using eBUSd edge will compile the latest sources so you can try out MQTT discovery but from what I can see john30 hasn’t fully documented it yet. Maybe try here:

ebusd/mqtt-hassio.cfg at master · john30/ebusd (github.com)

Edit- it looks like there is loads of documentation on github, just not made it onto the Wiki yet.

New eBUSd Edge release - includes MQTT auto discovery

MQTT discovery is still in testing and only available in eBUSd Edge. MQTT discovery will become available in stable release once eBUSd v21.4 is released

eBUSd edge v21.3.1

  • IMPROVE: Include MQTT integration cfg files (/etc/ebusd/mqtt-hassio.cfg)
  • IMPROVE: Add mqttint option
  • IMPROVE: Add mqtttopic option
  • IMPROVE: Add mqttvar option
  • IMPROVE: Enable MQTT discovery by default
  • IMPROVE: Align version number with eBUSd version
  • IMPROVE: Improve eBUSd edge upgrade process

How to get data into Home Assistant

MQTT discovery is now automatically configured. When you start the add-on the global readings (uptime, signal status etc.) will be added to Home Assistant automatically under a device named ebusd. After around 5 minutes any readings that are being polled, either via an MQTT request or by editing your config files, will be added to Home Assistant automatically. The device name will be ebusd {circuit} - e.g. “ebusd bai”.

The mqttvar option can be used to inject MQTT variables or the mqtt-hassio.cfg can be edited and saved in your /config folder.

For more info please see the eBUSd docs - [MQTT Integration}(https://github.com/john30/ebusd/wiki/MQTT-integration)

Top tips:

  • If you send an MQTT get message with payload “?1” eBUSd will automatically poll that reading every 30 seconds and publish via MQTT. For example: mosquitto_pub -t ebusd/bai/FlowTemp/get -m ?1
  • Git clone the ebusd-configuration files to your /config folder and edit the config files for your heating system. Add a number 1-9 (1 high priority, 9 low prioirty) after the r at the start of each line and eBUSd will poll that reading automatically.
  • Once your heating system has been detected change the device name from “ebusd bai” to the name of your boiler e.g. “ecoTEC pro”
  • If some polled readings do not show up in Home Assistant it might be because mqtt-hassio.cfg is configured to filter them out. Try setting to mqttvar to "filter-name=" and this will remove any filters so you can debug the issue.

Big thanks for all john30’s work on eBUSd. MQTT discovery is all his work, i just package it as an add-on for Home Assistant

2 Likes

Hi
Can you also write how install addon ebud edge and run on HA this discovery mqtt ? It is only uninstall first addon ebud and then install only ebusd edge addon ? And thats all ?

And when use addon ebusd edge with discovery i also must use automation in HA to get value from bai ?

Yes, just uninstall the regular eBUSd and install eBUSd-edge. Configure the eBUSd-edge and you are ready to go.

The new devices and entities will show up in the Home Assistant device registry around 5 minutes after you start the add-on.

The best way to get readings is to clone the config files locally and tweak them so that readings are polled automatically. MQTT get with ?1 as payload also works

The best way to get readings is to clone the config files locally and tweak them so that readings are polled automatically. MQTT get with ?1 as payload also works

Can you tell me how ?