diff --git a/ct/ebusd.sh b/ct/ebusd.sh new file mode 100644 index 000000000..5ce7fd284 --- /dev/null +++ b/ct/ebusd.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/heinemannj/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2026 community-scripts ORG +# Author: Joerg Heinemann (heinemannj) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/john30/ebusd + +APP="ebusd" +var_tags="${var_tags:-automation}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +var_disk="${var_disk:-2}" +var_os="${var_os:-debian}" +var_version="${var_version:-13}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/apt/sources.list.d/ebusd.sources ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt update + $STD apt -y upgrade + msg_ok "Updated $APP LXC" + msg_ok "Updated successfully!" + exit +} + +start +build_container +description + +msg_ok "Completed successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" diff --git a/ct/headers/ebusd b/ct/headers/ebusd new file mode 100644 index 000000000..fec79a3e3 --- /dev/null +++ b/ct/headers/ebusd @@ -0,0 +1,6 @@ + __ __ + ___ / /_ _ ___________/ / + / _ \/ __ \/ / / / ___/ __ / +/ __/ /_/ / /_/ (__ ) /_/ / +\___/_.___/\__,_/____/\__,_/ + diff --git a/frontend/public/json/ebusd.json b/frontend/public/json/ebusd.json new file mode 100644 index 000000000..3db2f8542 --- /dev/null +++ b/frontend/public/json/ebusd.json @@ -0,0 +1,52 @@ +{ + "name": "ebusd", + "slug": "ebusd", + "categories": [ + 16 + ], + "date_created": "2026-01-26", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": null, + "documentation": "https://github.com/john30/ebusd/wiki", + "website": "https://github.com/john30/ebusd", + "logo": "", + "config_path": "/etc/default/ebusd", + "description": "ebusd is a daemon for handling communication with eBUS devices connected to a 2-wire bus system ("energy bus" used by numerous heating systems).", + "install_methods": [ + { + "type": "default", + "script": "ct/ebusd.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 2, + "os": "debian", + "version": "13" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Instructions: \ + 1. Edit `/etc/default/ebusd` if necessary (especially if your device is not `/dev/ttyUSB0`) \ + 2. Start the daemon with `systemctl start ebusd` \ + 3. Check the log file `/var/log/ebusd.log` \ + 4. Make the daemon autostart with `systemctl enable ebusd`", + "type": "info" + }, + { + "text": "Working `/etc/default/ebusd` options for `ebus adapter shield v5`: EBUSD_OPTS='--pidfile=/run/ebusd.pid --latency=100 --scanconfig --configpath=https://ebus.github.io/ --accesslevel=* --pollinterval=30 --device=ens:x.x.x.x:9999 --mqtthost=x.x.x.x --mqttport=1883 --mqttuser=ha-mqtt --mqttpass=xxxxxxxx! --mqttint=/etc/ebusd/mqtt-hassio.cfg --mqttjson --mqttlog --mqttretain --mqtttopic=ebusd --log=all:notice --log=main:notice --log=bus:notice --log=update:notice --log=network:notice --log=other:notice'", + "type": "info" + }, + { + "text": "Only tested with `ebusd-25.1_amd64-bookworm.deb`!", + "type": "warning" + } + ] +} diff --git a/install/ebusd-install.sh b/install/ebusd-install.sh new file mode 100644 index 000000000..32c2eb9a2 --- /dev/null +++ b/install/ebusd-install.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: Joerg Heinemann (heinemannj) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/john30/ebusd + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Setting up ebusd Repository" +setup_deb822_repo \ + "ebusd" \ + "https://raw.githubusercontent.com/john30/ebusd-debian/master/ebusd.gpg" \ + "https://repo.ebusd.eu/apt/default/bookworm/" \ + "bookworm" \ + "main" +$STD apt update +msg_ok "ebusd Repository setup sucessfully" + +msg_info "Installing ebusd" +$STD apt install -y ebusd +msg_ok "Installed ebusd" + +msg_info "Follow below instructions to make the daemon autostart:" +msg_info "1. Edit '/etc/default/ebusd' if necessary (especially if your device is not '/dev/ttyUSB0')" +msg_info "2. Start the daemon with 'systemctl start ebusd'" +msg_info "3. Check the daemon status with 'systemctl status ebusd'" +msg_info "4. Check the log file '/var/log/ebusd.log'" +msg_info "5. Make the daemon autostart with 'systemctl enable ebusd'" + +motd_ssh +customize +cleanup_lxc