selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
ebusd logo

Self-host ebusd

26.1

eBUS heating system daemon with MQTT and KNX support

ReleaseOpen SourceGPL-3.0
Updated7 months ago
LanguageC++
Setup difficultyEasy
Stars
845
Ports
8888 (TCP client connections), 8080 (HTTP interface)
Docker
john30/ebusd
Install with Docker

What is ebusd?

ebusd handles communication between home heating systems using the eBUS protocol on a 2-wire energy bus. The daemon supports multiple connection methods including USB serial, TCP, and UDP, auto-discovers devices via mDNS, integrates with Home Assistant through MQTT Discovery, publishes data to Azure IoT Hub, acts as a KNX device for building bridges, provides HTTP JSON API access, includes basic HTML interface, and supports user authentication via ACL files.

Should you self-host ebusd?

ebusd scores 55/100 on selfhost.directory (how scoring works) and ranks #45 of 104 in Home Automation. It has 845 GitHub stars.

It shipped 1 stable release in the past year. The latest, 26.1, came out on 10 February 2026.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is GPL-3.0-licensed and written mostly in C++.

Its closest alternative on selfhost.directory is Home Assistant (91/100, 91 838 stars). It scores higher overall, so compare the two before you pick. See ebusd vs Home Assistant side by side.

ebusd README

ebusd - eBUS daemon

ebusd is a daemon for handling communication with eBUS devices connected to a 2-wire bus system ("energy bus" used by numerous heating systems).

Build CodeQL codecov Release Downloads Docker Downloads Release GitHub Discussions Sponsors Donate

Features

The main features of the daemon are:

How to install ebusd

Install ebusd with Docker

docker pull john30/ebusd docker run -it --rm --device=/dev/ttyUSB0 -p 8888 john30/ebusd -d ens:/dev/ttyUSB0

Multi-architecture image supporting amd64, i386, arm32v7, arm64v8

How to configure ebusd

  • EBUSD_DEVICEDevice options - Use DEV as eBUS device
  • EBUSD_PORT8888Listen for command line connections on PORT
  • EBUSD_HTTPPORT8080Listen for HTTP connections on PORT, 0 to disable
  • EBUSD_MQTTHOSTlocalhostConnect to MQTT broker on HOST
  • EBUSD_MQTTPORT1883Connect to MQTT broker on PORT

ebusd releases & version history

More in Home Automation

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…