This is to run ebusd as supervisor addon (docker container) in Home Assistant OS.
Deep dive into the ebusd Wiki. The steps Build and Install are handled by this addon. You'll need to configure the options in this addon to run ebusd.
- Connect a hardware interface to your device runing Home Assistant OS. USB and network devices are supported.
- Define either a USB or network device. Seperate configuration entries are available via the UI or can be configured manually using
device: /dev/ttyAMA0
ornetwork_device: enh:192.158.0.7:9999
- MQTT will be configured automatically to use the Home Assitant MQTT Broker. This can be overridden in the config options if you would prefer to use an external MQTT server. TCP and HTTP client acces is also available.
- Start the Add-on and check the output logs
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:
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.
To use custom config files you can use the configpath option. You can create a local copy of https://github.com/john30/ebusd-configuration in your "/config" folder and change configpath to e.g. "/config/ebusd-configuration/latest/en". Custom CSV files must be in the /config folder.
Similarly for MQTT create config file in "/config" folder and link it using the --mqttint=/config/YOUR_FILE_PATH option
To use HTTP and TCP clients enter port numbers into the add-on network settings and activated in the config. After TCP clients activation you can connect from any system with installed ebusd clients.
The following example will force a reading of all messages from loaded csv config files and can be included via crontab for regular message updates:
ebusctl -s X.X.X.X f -l "*" -a|awk '{print $2}' | xargs -L1 -t ebusctl -s X.X.X.X r
Where X.X.X.X
is the address of the ebusd add-on.
To run ebusctl and/or ebusd directly (as suggested on other forums for debugging purposses) you need to SSH into the Docker container. For this you need the Advanced SSH & Web Terminal (not the standard one).
After getting the addon, you need to set a password in the configuration of the SSH addon otherwise it will not start.
Last step in preparing the addon is to disable the 'Protection mode' on the Info page of the addon.
Afterwards, in the SSH you can type in
docker exec -it `docker ps | grep ebusd | awk '{print $1}'` /bin/bash
and you are inside the docker container, where you can easily run ebusctl
or ebusd
.
You can add any command line options using the custom command line options field. Check the eBUSd wiki for all available options - https://github.com/john30/ebusd/wiki/2.-Run
For example --initsend --dumpconfig
This release now fully supports wireless/network eBUS adapters. The configuration options has changed from custom_device to network_device.
For example network_device: enh:Y.Y.Y.Y:9999
Where Y.Y.Y.Y
is the address of the eBUS asapter.