88 lines
3.3 KiB
Markdown
88 lines
3.3 KiB
Markdown
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).
|
|
|
|
[](https://travis-ci.org/john30/ebusd)
|
|
[](https://codecov.io/gh/john30/ebusd)
|
|
[](https://gitter.im/john30/ebusd?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
|
|
|
|
|
Features
|
|
--------
|
|
|
|
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 from the config web service at ebusd.eu (or alternatively local files)
|
|
* 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 publish received message data to MQTT topics and vice versa (if authorized)
|
|
* optional user authentication via ACL file for access to certain messages
|
|
|
|
|
|
Installation
|
|
------------
|
|
|
|
Either pick the [latest release package](https://github.com/john30/ebusd/releases/latest)
|
|
suitable for your system or build it yourself.
|
|
|
|
Building ebusd from the source requires the following packages and/or features:
|
|
* autoconf (>=2.63) + automake (>=1.11) or cmake
|
|
* g++ with C++11 support (>=4.8.1)
|
|
* make
|
|
* kernel with pselect or ppoll support
|
|
* glibc with argp support or argp-standalone
|
|
* libmosquitto-dev for MQTT support
|
|
|
|
To start the build process, run these commands:
|
|
> ./autogen.sh
|
|
> make install
|
|
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
Usage instructions and further information can be found here:
|
|
> https://github.com/john30/ebusd/wiki
|
|
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
The most important part of each ebusd installation is the message configuration.
|
|
Starting with version 3.2, **ebusd by default uses the config web service at ebusd.eu to retrieve
|
|
the latest configuration files** that are reflected by the configuration repository (follow the "latest" symlink there):
|
|
> https://github.com/john30/ebusd-configuration
|
|
|
|
|
|
Docker image
|
|
------------
|
|
|
|
A Docker image using the config web service for retrieving the latest message configuration files is available on the hub.
|
|
You can use it like this:
|
|
> docker pull john30/ebusd
|
|
> docker run -it --rm --device=/dev/ttyUSB0 -p 8888 john30/ebusd
|
|
|
|
For more details, see [Docker Readme](https://github.com/john30/ebusd/blob/master/contrib/docker/README.md).
|
|
|
|
|
|
Contact
|
|
-------
|
|
For bugs and missing features use github issue system.
|
|
|
|
The author can be contacted at ebusd@ebusd.eu .
|