-
-
Notifications
You must be signed in to change notification settings - Fork 132
Home
Welcome to the ebusd wiki!
ebusd is a daemon for handling communication with eBUS devices connected to a 2-wire bus system ("energy bus" used by numerous heating systems).
It is known to run fine on regular PC hardware as well as on smaller devices like Fritzbox and Raspberry Pi. In order to use it, a hardware interface is necessary.
The main features of the daemon are:
- use USB serial, TCP connected, or UDP device
- actively send messages to and receive answers from the eBUS
- passively listen to messages sent on the eBUS
- regularly poll for messages
- cache all messages
- scan for bus participants
- parse messages to human readable values and vice versa via message configuration files
- automatically pick message configuration files by scan result
- automatically check for updates of daemon and configuration files
- pick preferred language for translatable message configuration parts
- grab all messages on the eBUS and provide decoding hints
- log messages and problems to a log file
- capture messages or sent/received bytes to a log file as text
- dump received bytes to binary files for later playback/analysis
- listen for command line client connections on a dedicated TCP port
- optionally provide rudimentary HTML interface and allow data retrieval as JSON on HTTP port
- optionally format messages and data in JSON on dedicated HTTP port
- optionally publish received message data to MQTT topics and vice versa (if authorized)
- optional user authentication via ACL file for access to certain messages
For installing and building ebusd from the sources, see here: Build and install
On FreeBSD ebusd package could be installed from the ports system, see freshports.org/comms/ebusd/.
Major releases for Debian i386, amd64, and armhf (Raspberry Pi) will be supplied with installable package files. See the latest release info for downloading such a package.
The command line options of ebusd are explained here: Run
The configuration of ebusd depends mainly on the sent/received messages and their structure. A lot of the bus communication was already identified for some Vaillant heat pumps and associated devices. These configuration files are maintained here: ebusd-configuration.
More information on how to write your own configuration files can be found here: Configuration
In order to read data from or send commands to eBUS devices with a running ebusd, you can either use a simple TCP client like "telnet" or "nc" (netcat) and connect to the local port on which ebusd is listening (8888 by default), or you can use the ebusd provided client ebusctl. More information about the ebusd tools can be found here: Tools
The documentation of the available commands offered by the ebusd TCP client interface is available here: TCP client commands
In addition to the command line style client interface, ebusd also supports an HTTP port serving the data in JSON format (read-only) as well as MQTT publishing and subscription.
See the dedicated page for a list of possible integrations with other tools/frameworks.