{"id":18292257,"url":"https://github.com/john30/ebusd","last_synced_at":"2026-02-09T08:07:13.635Z","repository":{"id":1883318,"uuid":"41995199","full_name":"john30/ebusd","owner":"john30","description":"daemon for communication with eBUS heating systems","archived":false,"fork":false,"pushed_at":"2026-02-08T21:25:07.000Z","size":10328,"stargazers_count":756,"open_issues_count":40,"forks_count":150,"subscribers_count":60,"default_branch":"master","last_synced_at":"2026-02-09T00:26:14.490Z","etag":null,"topics":["daemon","ebus","ebusd","heating","home-automation","mqtt"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/john30.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"john30","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=5Y52QSKVXLYQG"}},"created_at":"2015-09-06T08:37:26.000Z","updated_at":"2026-02-08T21:25:11.000Z","dependencies_parsed_at":"2023-09-24T09:12:44.092Z","dependency_job_id":"f0ae8a85-cbab-4ce0-a54d-89baff34dffe","html_url":"https://github.com/john30/ebusd","commit_stats":{"total_commits":2636,"total_committers":38,"mean_commits":69.36842105263158,"dds":"0.29476479514415777","last_synced_commit":"d45c5a779f8699109f1852a79504d07c67637087"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/john30/ebusd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john30%2Febusd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john30%2Febusd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john30%2Febusd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john30%2Febusd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/john30","download_url":"https://codeload.github.com/john30/ebusd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/john30%2Febusd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29259494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["daemon","ebus","ebusd","heating","home-automation","mqtt"],"created_at":"2024-11-05T14:17:32.555Z","updated_at":"2026-02-09T08:07:13.618Z","avatar_url":"https://github.com/john30.png","language":"C++","funding_links":["https://github.com/sponsors/john30","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=5Y52QSKVXLYQG","https://paypal.me/ebusd"],"categories":["C++"],"sub_categories":[],"readme":"ebusd - eBUS daemon\n===================\n\nebusd is a daemon for handling communication with eBUS devices connected to a\n2-wire bus system (\"energy bus\" used by numerous heating systems).\n\n[![Build](https://github.com/john30/ebusd/actions/workflows/build.yml/badge.svg)](https://github.com/john30/ebusd/actions/workflows/build.yml)\n![CodeQL](https://github.com/john30/ebusd/workflows/CodeQL/badge.svg)\n[![codecov](https://codecov.io/gh/john30/ebusd/branch/master/graph/badge.svg)](https://codecov.io/gh/john30/ebusd)\n[![Release Downloads](https://img.shields.io/github/downloads/john30/ebusd/total)](https://github.com/john30/ebusd/releases/latest)\n[![Docker Downloads](https://img.shields.io/docker/pulls/john30/ebusd)](https://hub.docker.com/repository/docker/john30/ebusd)\n[![Release](https://img.shields.io/github/v/release/john30/ebusd)](https://github.com/john30/ebusd/releases/latest)\n[![GitHub Discussions](https://img.shields.io/github/discussions/john30/ebusd)](https://github.com/john30/ebusd/discussions)\n[![Sponsors](https://img.shields.io/github/sponsors/john30)](https://github.com/sponsors/john30)\n[![Donate](https://img.shields.io/badge/donate-pp.me/ebusd-blue)](https://paypal.me/ebusd)\n\nFeatures\n--------\n\nThe main features of the daemon are:\n\n * use one of these device connections:\n   * serial (via USB or integrated UART)\n   * TCP\n   * UDP\n   * enhanced ebusd protocol allowing arbitration to be done directly by the hardware, e.g. for recent\n     * [eBUS Adapter Shields C6](https://adapter.ebusd.eu/v5-c6/), [Stick](https://adapter.ebusd.eu/v5-c6/stick.en.html), and [v5](https://adapter.ebusd.eu/v5/),\n     * [adapter v3.1](https://adapter.ebusd.eu/v31)/[v3.0](https://adapter.ebusd.eu/v3), or\n     * [ebusd-esp firmware](https://github.com/john30/ebusd-esp/)\n * auto-discover device connection via mDNS\n * actively send messages to and receive answers from the eBUS\n * passively listen to messages sent on the eBUS\n * answer to messages received from the eBUS\n * regularly poll for messages\n * cache all messages\n * scan for bus participants and automatically pick matching message definition files from config CDN at [ebus.github.io](https://ebus.github.io/) or from local files\n * parse messages to human readable values and vice versa via message definition files\n * automatically check for updates of daemon and message definition files\n * pick preferred language for translatable message definition parts\n * grab all messages on the eBUS and provide decoding hints\n * send arbitrary messages from hex input or inject those\n * log messages and problems to a log file\n * capture messages or sent/received bytes to a log file as text\n * dump received bytes to binary files for later playback/analysis\n * listen for [command line client](https://github.com/john30/ebusd/wiki/3.1.-TCP-client-commands) connections on a dedicated TCP port\n * provide a rudimentary HTML interface\n * format messages and data in [JSON on dedicated HTTP port](https://github.com/john30/ebusd/wiki/3.2.-HTTP-client)\n * publish received data to [MQTT topics](https://github.com/john30/ebusd/wiki/3.3.-MQTT-client) and vice versa (if authorized)\n * announce [message definitions and status by MQTT](https://github.com/john30/ebusd/wiki/MQTT-integration) to e.g. integrate with [Home Assistant](https://www.home-assistant.io/) using [MQTT Discovery](https://www.home-assistant.io/integrations/mqtt#mqtt-discovery)\n * support MQTT publish to [Azure IoT hub](https://docs.microsoft.com/en-us/azure/iot-hub/) (see [MQTT integration](https://github.com/john30/ebusd/wiki/MQTT-integration))\n * act as a [KNX device](https://github.com/john30/ebusd/wiki/3.4.-KNX-device) by publishing received data to KNX groups and answer to read/write requests from KNX, i.e. build an eBUS-KNX bridge\n * [user authentication](https://github.com/john30/ebusd/wiki/3.1.-TCP-client-commands#auth) via [ACL file](https://github.com/john30/ebusd/wiki/2.-Run#daemon-options) for access control to certain messages\n\n\nInstallation\n------------\n\nEither pick the [latest release package](https://github.com/john30/ebusd/releases/latest) suitable for your system,\nuse the Debian repository as [described here](https://github.com/john30/ebusd-debian/blob/master/README.md),\nuse `makepkg` for [Archlinux](https://github.com/john30/ebusd/tree/master/contrib/archlinux)\nor pick the [package from the Alpine Linux repository](https://pkgs.alpinelinux.org/package/edge/community/x86/ebusd),\nbuild it yourself, or use a docker image (see below).\n\nBuilding ebusd from the source requires the following packages and/or features:\n * autoconf (\u003e=2.63) + automake (\u003e=1.11) or cmake (\u003e=3.7.1)\n * g++ with C++11 support (\u003e=4.8.1)\n * make\n * kernel with pselect or ppoll support\n * glibc with getopt_long support\n * optional: knxd-dev for knxd support (KNXnet/IP support is always included)\n * libmosquitto-dev for MQTT support\n * libssl-dev for SSL support\n\nTo start the build process, run these commands:  \n\u003e ./autogen.sh  \n\u003e make install-strip  \n\nOr alternatively with cmake:  \n\u003e cmake .  \n\u003e make install/strip  \n\nDocumentation\n-------------\n\nUsage instructions and further information can be found here:\n\u003e https://github.com/john30/ebusd/wiki\n\n\nConfiguration\n-------------\n\nThe most important part of each ebusd installation is the message configuration.\nStarting with version 3.2, **ebusd by default uses the config web service to retrieve\nthe latest configuration files** that are reflected by the configuration repository:\n\u003e https://github.com/john30/ebusd-configuration\n\n\nDocker image\n------------\n\nA multi-architecture Docker image using the config web service for retrieving the latest message configuration files is available on the hub.\nYou can use it like this:  \n\u003e docker pull john30/ebusd  \n\u003e docker run -it --rm --device=/dev/ttyUSB0 -p 8888 john30/ebusd -d ens:/dev/ttyUSB0\n\nFor more details, see [Docker Readme](https://github.com/john30/ebusd/blob/master/contrib/docker/README.md).\n\n\nContact\n-------\nFor bugs and missing features use github issue system.\n\nThe author can be contacted at ebusd@ebusd.eu .\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohn30%2Febusd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohn30%2Febusd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohn30%2Febusd/lists"}