Zum Inhalt

Lüftung – Restore Procedure

Voraussetzungen

  • Proxmox läuft
  • eBUS-Adapter auf 192.168.178.14:9999 erreichbar
  • Home Assistant auf 192.168.178.5 läuft
  • Mosquitto MQTT auf HA läuft (Port 1883, User: mqtt-usr)
  • Cloudflare Tunnel pve-tunnel läuft

Schritt 1: LXC Container anlegen

Option A: Proxmox Community Script (empfohlen)

Auf dem Proxmox-Host im Shell-Tab ausführen:

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/ebusd.sh)"

Quelle: community-scripts.org → ebusd

Angepasste Werte (von den Script-Defaults abweichend):

Parameter Script-Default Verwendet
RAM 512 MB 256 MB
Disk 2 GB 8 GB (aktuell 7.80 GiB, bei ~80% belegt → empfohlen: 10 GB)
OS Debian 13 Debian 12
CT-ID auto 107
Hostname ebusd ebusd-lueftung
IP DHCP 192.168.178.19/24

Option B: Manuell via pct

pct create 107 /var/lib/vz/template/cache/debian-12-standard_12.7-1_amd64.tar.zst \
  --hostname ebusd-lueftung \
  --memory 256 \
  --swap 256 \
  --cores 1 \
  --net0 name=eth0,bridge=vmbr0,ip=192.168.178.19/24,gw=192.168.178.1,firewall=0 \
  --rootfs local-lvm:8 \
  --unprivileged 1 \
  --features keyctl=1,nesting=1 \
  --onboot 1 \
  --ostype debian \
  --arch amd64 \
  --tags ebusd,ha-addon,monitoring
pct start 107

Netzwerk in /etc/network/interfaces konfigurieren (siehe Konfiguration).


Schritt 2: ebusd installieren

Hinweis: Bei Verwendung des Community Scripts (Option A) ist ebusd bereits installiert. Schritt überspringen!

# Im LXC Container (nur bei manueller Installation nötig)
apt update && apt install -y wget

# Neueste ebusd Version von GitHub Releases
wget https://github.com/john30/ebusd/releases/download/v26.1/ebusd-26.1_amd64.deb
dpkg -i ebusd-26.1_amd64.deb
apt-get install -f

Schritt 3: ebusd Konfigurationsverzeichnis anlegen

mkdir -p /etc/ebusd/ebusd-2.1.x/en/vaillant

# ebusd-Configuration CDN klonen
cd /etc/ebusd
# Die offiziellen CSV-Dateien werden per --scanconfig automatisch geladen
# ODER manuell von https://ebus.github.io/en/vaillant/ kopieren

Schritt 4: Eigene CSV-Dateien anlegen

/etc/ebusd/ebusd-2.1.x/en/vaillant/15.vai00.csv

→ Vollständiger Inhalt: ebusd-konfiguration.md

# Datei erstellen mit dem dokumentierten Inhalt
nano /etc/ebusd/ebusd-2.1.x/en/vaillant/15.vai00.csv

/etc/ebusd/ebusd-2.1.x/en/vaillant/c0.wtw04.csv

→ Vollständiger Inhalt: ebusd-konfiguration.md

nano /etc/ebusd/ebusd-2.1.x/en/vaillant/c0.wtw04.csv

Schritt 5: mqtt-hassio.cfg einrichten

# Basis-Version von ebusd herunterladen
wget https://raw.githubusercontent.com/john30/ebusd/master/contrib/mqtt-hassio.cfg \
  -O /etc/ebusd/mqtt-hassio.cfg

# Dann die Anpassungen aus der Dokumentation einpflegen:
# 1. filter-direction = r|u|^w
# 2. Number-Fallback: number,, = ,
# 3. circuit_part für Vaillant recoVAIR 275/3
# 4. via_device entfernen
# 5. area = Lüftung
nano /etc/ebusd/mqtt-hassio.cfg

Schritt 6: ebusd Startparameter konfigurieren

nano /etc/default/ebusd

Inhalt:

EBUSD_OPTS="--device=ens:192.168.178.14:9999 --configpath=/etc/ebusd/ebusd-2.1.x/en --scanconfig --latency=10 --mqttint=/etc/ebusd/mqtt-hassio.cfg --mqtthost=192.168.178.5 --mqttport=1883 --mqtttopic=ebusd-lueftung --mqttuser=mqtt-usr --mqttpass=mqtt-usr --mqttretain --mqttjson --loglevel=notice"

> ⚠️ **loglevel=notice** (nicht debug!) — debug erzeugt ~37 MB/Tag und füllt die Disk in Wochen.

systemctl enable ebusd
systemctl start ebusd
systemctl status ebusd

Schritt 7: Verifikation

# Verbindung zum eBUS prüfen
ebusctl state
# Erwartete Ausgabe: "signal acquired, XX symbols/sec"

# Geräte-Scan prüfen
ebusctl info | grep -E "address|scan"
# Erwartete Ausgabe:
# address 15: slave #2, scanned "MF=Vaillant;ID=VAI00;SW=0125;HW=8901"
# address c0: slave, scanned "MF=Vaillant;ID=WTW04;SW=0127;HW=9001"

# Alle Werte lesen
ebusctl find -d

Schritt 8: SSH-Zugang einrichten

Auf dem Server (LXC Container)

# User codex anlegen
adduser codex
usermod -aG sudo users codex

# SSH-Verzeichnis anlegen
mkdir -p /home/codex/.ssh
chmod 700 /home/codex/.ssh
chown codex:codex /home/codex/.ssh

Auf dem Windows-Client

# Neuen SSH-Key generieren (falls noch keiner vorhanden)
ssh-keygen -t ed25519 -f "$env:USERPROFILE\.ssh\ebusd_lueftung" -C "ebusd-lueftung"

# Public Key ausgeben
Get-Content "$env:USERPROFILE\.ssh\ebusd_lueftung.pub"

Public Key auf Server hinterlegen

Den ausgegebenen Public Key auf dem Server eintragen:

# Auf dem Server (Public Key einfügen)
echo "HIER_DEN_PUBLIC_KEY_EINFÜGEN" >> /home/codex/.ssh/authorized_keys
chmod 600 /home/codex/.ssh/authorized_keys
chown codex:codex /home/codex/.ssh/authorized_keys

SSH-Config auf Windows-Client (~/.ssh/config)

Host ebusd-lueftung
  HostName el.diebrocks.com
  User codex
  IdentityFile ~/.ssh/ebusd_lueftung
  ProxyCommand C:/cloudflared/cloudflared-ssh.cmd access ssh --hostname %h
  StrictHostKeyChecking no

Verbindung testen

ssh ebusd-lueftung "whoami && hostname"

Schritt 9: Cloudflare Tunnel einrichten

Auf dem Cloudflare-Tunnel-Server (/root/.cloudflared/config.yml) neuen Ingress-Eintrag hinzufügen:

- hostname: el.diebrocks.com
  service: ssh://192.168.178.19:22

DNS-Eintrag anlegen:

cloudflared tunnel route dns pve-tunnel el.diebrocks.com
systemctl restart cloudflared


Schritt 10: Home Assistant Entities wiederherstellen

Nach dem Start von ebusd sendet MQTT Autodiscovery alle Entities automatisch an HA.

Zusätzlich manuell wiederherstellen:

  1. Template-Sensoren in custom/templates/lueftung_wartung.yaml:
  2. sensor.luftung_filterstatus — Filterstatus basierend auf Stromverbrauch
  3. sensor.intensivmodus_countdown — HI-Timer Countdown
  4. sensor.luftungsmodus_anzeige — Lüftungsstufe als Text

  5. MQTT-Sensoren in custom/mqtt/sensors/ebusd-lueftung.yaml:

  6. Intensivmodus Countdown direkt vom MQTT-Topic

  7. Helpers (alle über HA UI anlegen) → vollständige Liste: automatik.md

  8. Automationenautomatik.md:

  9. automation.luftung_package_hauptsteuerung
  10. automation.luftung_package_badfeuchte_timer
  11. automation.luftung_package_frostschutz_abschaltung

  12. Scripts → in packages/lueftung.yaml:

  13. script.lueftung_modus_setzen_package
  14. script.lueftung_bypass_setzen_package
  15. script.lueftung_hi_modus_setzen_package

  16. Filterstatus-Schwellwerte setzen:

  17. Tag Prüfen: 45W, Tag Reinigen: 50W
  18. Nacht Prüfen: 20W, Nacht Reinigen: 28W

Bekannte Stolpersteine

Problem Ursache Lösung
ERR: element not found Noch nicht gepollt nach Neustart 30s warten, dann ebusctl read -f
SSH schlägt fehl "no such host" DNS gibt nur AAAA zurück GODEBUG=netdns=cgo im cloudflared-ssh.cmd Wrapper
Temperaturen lesen 0 WTW04 HW=9001 braucht B509,29 + IGN:2 Prefix CSV korrekt mit *r,,,,,,B509,29,,,IGN:2,,,
MQTT Entities kommen nicht filter-seen noch nicht erfüllt Nach 2-3 Min homeassistant/status online senden
Bypass geht nicht Schreibt Bypass_Tage aber Gerät ignoriert Prüfen: Bypass_Tage korrekt schreibbar via ebusctl write -c vai00 Bypass_Tage 2