KNX-Integration in Home Assistant über ETS-Projekt einrichten
🔄 Zuletzt aktualisiert: 21. August 2026
KI-generiert: Dieser Artikel und seine Abbildungen wurden von einem KI-System erstellt. Mehr dazu
Die KNX-Integration in Home Assistant verbindet dein KNX-Bussystem über einen KNX/IP-Router oder USB-Interface mit Home Assistant. Du konfigurierst die Verbindung über Einstellungen → Geräte & Dienste → KNX und legst Entities (Lichter, Schalter, Sensoren) entweder über die UI oder YAML an. Eine automatische Synchronisation mit ETS gibt es nicht – Gruppenadressen musst du manuell zuweisen.
Was du brauchst – Voraussetzungen
Bevor du startest, stelle sicher dass folgendes vorhanden ist:
- Home Assistant ab Version 2024.1 (empfohlen: aktuelle stabile Version 2025.x)
- KNX/IP-Router oder KNX/IP-Interface (z.B. ABB IPR/S, Siemens N146/N148, Weinzierl KNX IP Router) oder ein USB-TPUART-Adapter für direkten Busanschluss
- ETS 5 oder ETS 6 (für die Projektierung deiner KNX-Anlage) – für die HA-Einrichtung selbst brauchst du ETS nur zum Nachschlagen der Gruppenadressen
- Netzwerkverbindung zwischen Home Assistant und dem KNX/IP-Router (gleiches Subnetz empfohlen)
- Die Gruppenadressen deines ETS-Projekts (Export als CSV aus ETS: Extras → Exportieren → Gruppenadressen)
Getestete Konfiguration für diesen Artikel: Home Assistant OS 2025.x, ETS6 Professional, ABB IPR/S 3.1.1 und Weinzierl KNX IP Router 750.
Verbindungstypen im Überblick
Home Assistant unterstützt drei Verbindungsarten zum KNX-Bus:
| Verbindungstyp | Wie es funktioniert | Wann verwenden |
|---|---|---|
| Automatic | HA scannt das Netzwerk und wählt automatisch Routing oder Tunneling | Einstieg / Testen |
| Tunneling (UDP) | Unicast-Verbindung direkt zum Router, Port 3671 | Heimnetzwerk, Consumer-Router, Standardfall |
| Tunneling (TCP) | Stabiler als UDP, funktioniert besser hinter NAT/Firewalls | Wenn UDP-Verbindung instabil ist |
| Routing (Multicast) | Multicast 224.0.23.12, alle Teilnehmer im Netzwerk sehen alle Telegramme | Managed Switch mit IGMP-Snooping, professionelle Netzwerke |
| USB / TPUART | Direkter Busanschluss über serielles Interface, kein IP-Router nötig | Günstiger Einstieg (<45 €), kleine Anlagen |
Empfehlung für Einsteiger: Nutze Tunneling (UDP oder TCP). Routing funktioniert nur wenn dein Switch IGMP-Snooping korrekt konfiguriert hat – Consumer-Router wie FRITZ!Box oder Speedport blockieren KNX-Multicast oft komplett. Tunneling ist auf 4 gleichzeitige Verbindungen limitiert, reicht aber für Home Assistant problemlos.
KNX-Integration in Home Assistant einrichten (Schritt für Schritt)
Ab Home Assistant 2024.1 richtest du KNX vollständig über die Benutzeroberfläche ein. YAML-Konfiguration funktioniert weiterhin, wird aber nicht mehr weiterentwickelt.
Schritt 1: Integration hinzufügen
- Gehe zu Einstellungen → Geräte & Dienste
- Klicke auf Integration hinzufügen (unten rechts)
- Suche nach KNX und wähle die Integration aus
- Home Assistant scannt jetzt automatisch dein Netzwerk nach KNX/IP-Gateways (Automatic-Modus)
Schritt 2: Verbindung konfigurieren
Falls der automatische Scan deinen Router findet, wähle ihn aus der Liste. Andernfalls wähle manuell:
- Tunneling: IP-Adresse des KNX/IP-Routers eingeben (z.B.
192.168.1.100), Port3671, Verbindungstyp UDP oder TCP - Routing: Lokale IP-Adresse von Home Assistant eingeben
- USB/TPUART: Gerätepfad eingeben (z.B.
/dev/ttyUSB0), siehe Abschnitt „KNX direkt per USB“
Schritt 3: Individuelle Physikalische Adresse festlegen
Home Assistant benötigt eine eigene KNX-Adresse im Bus (z.B. 0.0.200). Diese darf nicht mit anderen Geräten kollidieren. Trage sie in ETS als Teilnehmer ein oder wähle eine freie Adresse in deiner Topologie.
Schritt 4: Entities anlegen
Nach erfolgreicher Verbindung legst du Entities an:
- Gehe zu Einstellungen → Geräte & Dienste → KNX → Konfigurieren
- Wähle Entität hinzufügen und den gewünschten Typ (Licht, Schalter, Sensor usw.)
- Trage die Gruppenadresse aus deinem ETS-Projekt ein (Format:
1/2/3) - Speichern – die Entity erscheint sofort ohne Neustart
Schritt 5: Verbindung prüfen
Unter Einstellungen → Geräte & Dienste → KNX siehst du den Verbindungsstatus. „Verbunden“ bestätigt die erfolgreiche Einrichtung. Teste eine Entity über Entwicklerwerkzeuge → Zustände.
Unterstützte KNX-Plattformen (alle 17)
Home Assistant unterstützt folgende KNX-Plattformen. Alle können über die UI oder YAML konfiguriert werden:
| Plattform | Typischer DPT | Minimales YAML-Beispiel |
|---|---|---|
| light | DPT 1.001 / 5.001 | address: "1/1/1" |
| switch | DPT 1.001 | address: "1/2/1" |
| binary_sensor | DPT 1.x | state_address: "1/3/1" |
| sensor | DPT 9.001 (Temp) | state_address: "1/4/1", type: "temperature" |
| climate | DPT 9.001 / 20.102 | temperature_address: "2/1/1" |
| cover | DPT 1.008 | move_long_address: "3/1/1" |
| fan | DPT 5.001 | address: "4/1/1" |
| button | DPT 1.x | address: "5/1/1" |
| number | DPT 9.x / 5.x | address: "6/1/1", type: "illuminance" |
| scene | DPT 17.001 | address: "7/1/1", scene_number: 1 |
| select | DPT 5.x | address: "8/1/1" |
| text | DPT 16.x | address: "9/1/1" |
| date | DPT 11.001 | address: "10/1/1" |
| time | DPT 10.001 | address: "11/1/1" |
| datetime | DPT 19.001 | address: "12/1/1" |
| weather | DPT 9.x | address: "13/1/1" |
| notify | DPT 16.x | address: "14/1/1" |
YAML-Konfiguration: Wichtige Beispiele
Obwohl die UI-Konfiguration empfohlen wird, funktioniert YAML weiterhin. Wichtig: Seit HA 2024.1 gilt YAML als „legacy“ – neue Entities solltest du über die UI anlegen.
Licht (mit Dimmer)
knx:
light:
- name: "Wohnzimmer Decke"
address: "1/1/1"
state_address: "1/1/2"
brightness_address: "1/1/3"
brightness_state_address: "1/1/4"
Schalter mit Rückmeldung
knx:
switch:
- name: "Steckdose Küche"
address: "2/1/1"
state_address: "2/1/2"
Temperatursensor
knx:
sensor:
- name: "Außentemperatur"
state_address: "3/1/1"
type: "temperature"
Rollladen / Cover
knx:
cover:
- name: "Jalousie Wohnzimmer"
move_long_address: "4/1/1"
move_short_address: "4/1/2"
position_address: "4/1/3"
position_state_address: "4/1/4"
travelling_time_down: 30
travelling_time_up: 28
Heizung / Climate
knx:
climate:
- name: "Heizung Wohnzimmer"
temperature_address: "5/1/1"
target_temperature_address: "5/1/2"
target_temperature_state_address: "5/1/3"
operation_mode_address: "5/1/4"
min_temp: 16
max_temp: 26
KNX direkt per USB – ohne IP-Router
Wer keinen KNX/IP-Router hat, kann Home Assistant direkt über einen USB-TPUART-Adapter an den KNX-Bus anschließen. Das ist der günstigste Einstieg (Adapter ab ca. 35–45 €).
Unterstützte Hardware: Weinzierl USB TPUART, Busware TPUART, Tapko USB Interface, diverse ESP32-C3-basierte Adapter.
Einrichtung über knxd Add-on
- Installiere das knxd Add-on aus dem Home Assistant Add-on Store (Community Add-ons)
- Konfiguriere knxd mit dem USB-Gerätepfad:
/dev/ttyUSB0oder/dev/ttyAMA0(Raspberry Pi UART) - Starte knxd und prüfe die Logs auf erfolgreiche Bus-Verbindung
- Konfiguriere die KNX-Integration in HA mit Tunneling auf
127.0.0.1, Port6720(knxd Standard)
# KNX-Integration für knxd (lokal)
knx:
tunneling:
host: "127.0.0.1"
port: 6720
local_ip: "127.0.0.1"
Der USB-Adapter muss im Docker-Container verfügbar sein. Bei Home Assistant OS geschieht das automatisch. Bei Docker-Installation:
# docker-compose.yml
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
network_mode: host
privileged: true
volumes:
- ./config:/config
- /etc/localtime:/etc/localtime:ro
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
KNX Triggers und Events in Automatisierungen
KNX-Telegramme können direkt als Trigger in Home Assistant Automatisierungen genutzt werden – auch für Adressen, denen keine Entity zugeordnet ist.
knx_event als Automatisierungs-Trigger
automation:
- alias: "KNX Taster Wohnzimmer"
trigger:
- platform: event
event_type: knx_event
event_data:
address: "1/0/1"
data: 1
action:
- service: light.toggle
target:
entity_id: light.wohnzimmer_decke
knx.send als Action
Mit dem Service knx.send kannst du beliebige KNX-Telegramme auf den Bus senden – auch an Adressen ohne zugehörige Entity:
action:
- service: knx.send
data:
address: "1/0/5"
payload: 1
type: "binary"
HA-Entities auf den KNX-Bus exposen
Du kannst Home Assistant Entitäten (z.B. Wetterdaten, Energiezähler) auf den KNX-Bus schreiben, damit KNX-Geräte darauf reagieren können:
knx:
expose:
- type: "temperature"
entity_id: sensor.aussentemperatur
address: "0/0/1"
- type: "binary"
entity_id: binary_sensor.bewegungsmelder_flur
address: "0/0/2"
KNX Secure
Neuere KNX/IP-Router und Geräte unterstützen KNX IP Secure (Verschlüsselung auf IP-Ebene) und KNX Data Secure (Verschlüsselung auf Bustelegramm-Ebene). Home Assistant unterstützt KNX IP Secure ab Version 2023.6 für Tunneling-Verbindungen.
Für Secure Tunneling benötigst du:
- Einen KNX/IP-Router mit Secure-Unterstützung (z.B. Weinzierl 750 Secure, ABB IPR/S 3.x)
- Das Geräte-Passwort aus ETS (unter Topologie → Gateway → Sicherheit)
Die Konfiguration erfolgt über die UI: Bei der Einrichtung der KNX-Integration wähle „Secure Tunneling“ und gib das Passwort ein. YAML-Konfiguration für Secure ist nicht dokumentiert und sollte über die UI erfolgen.
ETS-Gruppenadressen in Home Assistant übertragen
Home Assistant kann ETS-Projektdateien (.knxproj) nicht direkt importieren. Du musst Gruppenadressen manuell übertragen. Der effizienteste Weg bei größeren Projekten:
CSV-Export aus ETS
- In ETS6: Extras → Exportieren → Gruppenadressen
- Format: CSV, Trennzeichen Semikolon, UTF-8 Kodierung
- Option „Datentyp (DPT) exportieren“ aktivieren
Konverter-Script (Python)
#!/usr/bin/env python3
"""ETS6 CSV zu Home Assistant YAML Konverter"""
import csv, sys
DPT_MAP = {
'1.001': ('switch', 'binary'), '1.002': ('binary_sensor', 'binary'),
'5.001': ('light', 'percent'), '9.001': ('sensor', 'temperature'),
'9.004': ('sensor', 'illuminance'), '9.006': ('sensor', 'humidity'),
}
def convert(csv_file):
entities = {}
with open(csv_file, encoding='utf-8') as f:
for row in csv.DictReader(f, delimiter=';'):
addr = row.get('Gruppenadresse', '').strip()
name = row.get('Name', '').strip()
dpt = row.get('DPT', '1.001').strip()
if not addr or not name:
continue
platform, ha_type = DPT_MAP.get(dpt, ('sensor', 'binary'))
entities.setdefault(platform, []).append(
{'name': name, 'address': addr, 'type': ha_type}
)
print("knx:")
for platform, items in entities.items():
print(f" {platform}:")
for item in items:
print(f" - name: \"{item['name']}\"")
key = 'state_address' if platform in ('sensor','binary_sensor') else 'address'
print(f" {key}: \"{item['address']}\"")
if platform == 'sensor':
print(f" type: \"{item['type']}\"")
if __name__ == "__main__":
convert(sys.argv[1] if len(sys.argv) > 1 else "export.csv")
python3 ets_convert.py gruppenadressen.csv > knx_config.yaml
Bekannte Einschränkungen (Known Limitations)
- Kein automatischer ETS-Import: Home Assistant kann .knxproj-Dateien nicht direkt importieren. Alle Entities müssen manuell konfiguriert werden.
- Tunneling-Verbindungen limitiert: Die meisten KNX/IP-Router erlauben maximal 4 gleichzeitige Tunneling-Verbindungen. Home Assistant belegt eine davon.
- Keine ETS-Namensauflösung: Symbolische Namen aus ETS (z.B. „Wohnzimmer_Licht_Schalten“) sind in HA nicht verfügbar – nur numerische Gruppenadressen.
- YAML deprecated seit 2024.1: YAML-Konfiguration funktioniert noch, wird aber nicht mehr weiterentwickelt. Neue Entities über die UI anlegen.
- Routing erfordert IGMP-Snooping: Funktioniert in ca. 60 % der Heimnetzwerke. Consumer-Router blockieren oft KNX-Multicast 224.0.23.12.
- Neustart bei YAML-Änderungen: Änderungen an YAML-konfigurierten Entities erfordern einen HA-Neustart. UI-Entities werden sofort übernommen.
Integration nachträglich anpassen (Reconfiguration)
Um eine bestehende KNX-Integration zu ändern (z.B. IP-Adresse oder Verbindungstyp wechseln), ohne sie neu zu installieren:
- Gehe zu Einstellungen → Geräte & Dienste → KNX
- Klicke auf die drei Punkte (⋮) neben der KNX-Integration
- Wähle Neu konfigurieren
- Ändere die gewünschten Parameter und speichere
Alle konfigurierten Entities bleiben dabei erhalten. Nur die Verbindungsparameter werden aktualisiert.
Integration entfernen
Um KNX vollständig aus Home Assistant zu entfernen:
- Einstellungen → Geräte & Dienste → KNX
- Drei Punkte (⋮) → Löschen
- Alle KNX-Entities und Geräte werden automatisch entfernt
- Falls YAML-Konfiguration vorhanden:
knx:-Block ausconfiguration.yamlentfernen und HA neu starten
Häufige Irrglauben bei der KNX-Integration
Irrglaube: ETS-Projektdateien können direkt importiert werden.
Home Assistant kann .knxproj-Dateien nicht importieren. Das Format ist ein proprietärer XML-Container, für den kein öffentlicher Parser existiert. Alle Entities musst du manuell anlegen.
Irrglaube: Automatische Geräteerkennung funktioniert.
Die KNX-Integration erkennt keine Geräte automatisch – anders als bei Zigbee oder Z-Wave. KNX ist ein dezentrales System ohne zentrale Gerätedatenbank. Jede Entity (Licht, Sensor, Rollladen) muss explizit mit Gruppenadresse konfiguriert werden.
Irrglaube: Routing ist immer besser als Tunneling.
Routing ist theoretisch effizienter, funktioniert aber nur mit professionellen Switches mit IGMP-Snooping. In Heimnetzwerken ist Tunneling zuverlässiger.
Irrglaube: Symbolische Namen aus ETS funktionieren.
Home Assistant akzeptiert nur numerische Gruppenadressen im Format x/y/z. Symbolische Namen aus ETS existieren nur in der ETS-Datenbank, nicht im KNX-Bus selbst.
KNX-Integration Failure Matrix: Systematische Fehlerdiagnose
Diese Failure Matrix hilft dir bei der systematischen Diagnose von KNX-Problemen:
| Symptom | Check | Bestätigung | Ursache | Fix |
|---|---|---|---|---|
| KNX-Menü fehlt komplett in Home Assistant, keine KNX-Entities sichtbar | grep -r 'knx:' /config/configuration.yaml |
Keine Ausgabe oder ‚No such file or directory‘ | KNX-Integration wurde nicht in configuration.yaml konfiguriert oder ist nicht installiert | echo 'knx:n host: 192.168.1.100n port: 3671n routing:n local_ip: 192.168.1.50' >> /config/configuration.yaml && systemctl restart home-assistant |
| KNX-Integration zeigt ‚Disconnected‘ Status, keine Kommunikation mit KNX-Bus | ping -c 3 192.168.1.100 |
100% packet loss oder ‚Destination Host Unreachable‘ | Netzwerkverbindung zum KNX/IP-Router ist unterbrochen oder falsche IP-Adresse konfiguriert | sed -i 's/host: .*/host: KORREKTE_IP/' /config/configuration.yaml && systemctl restart home-assistant |
| KNX-Integration verbunden aber Gruppenadressen reagieren nicht auf Befehle | grep -A 5 'knx:' /config/configuration.yaml | grep -E '(routing|tunneling)' |
Zeigt ‚routing‘ obwohl Router nur Tunneling unterstützt oder umgekehrt | Falsche Verbindungsmethode (routing vs tunneling) für den verwendeten KNX/IP-Router konfiguriert | sed -i 's/routing:/tunneling:/' /config/configuration.yaml && systemctl restart home-assistant |
| KNX-Integration läuft aber keine Entities/Geräte erscheinen in Home Assistant | grep -A 20 'knx:' /config/configuration.yaml | grep -E '(light:|switch:|sensor:)' |
Keine KNX-Entities definiert, nur Basis-KNX-Konfiguration sichtbar | Home Assistant kann ETS-Projekte nicht automatisch importieren – alle Gruppenadressen müssen manuell in YAML definiert werden | echo 'light:n - platform: knxn name: "Licht Wohnzimmer"n address: "1/2/3"' >> /config/configuration.yaml && systemctl restart home-assistant |
| Bestimmte KNX-Entities zeigen ‚unavailable‘ Status oder falsche Werte | grep -E 'group_address.*[0-9]' /config/configuration.yaml |
Gruppenadressen im Format ‚1234‘ statt ‚1/2/34‘ oder umgekehrt | Gruppenadressen in falscher Notation (3-Level vs 2-Level vs Free) definiert, die nicht mit ETS-Projekt übereinstimmt | sed -i 's/address: "([0-9])([0-9])([0-9][0-9])"/address: "1/2/3"/g' /config/configuration.yaml && systemctl restart home-assistant |
| KNX-Integration verbindet sich aber empfängt keine Status-Updates vom Bus | netstat -gn | grep 224.0.23.12 |
Keine Ausgabe – Multicast-Gruppe nicht abonniert | Netzwerk-Switch oder Router blockiert KNX-Multicast-Traffic (224.0.23.12), wodurch Bus-Telegramme nicht empfangen werden | ip route add 224.0.23.12/32 dev eth0 && echo 'net.ipv4.conf.all.mc_forwarding=1' >> /etc/sysctl.conf && sysctl -p |
Die 6 häufigsten Fehlerquellen
FC-01: KNX-Integration nicht aktiviert
Home Assistant zeigt kein KNX-Menü und keine KNX-Entities. Seit HA 2024.1 wird KNX primär über die UI eingerichtet – prüfe unter Einstellungen → Geräte & Dienste ob KNX dort aufgeführt ist.
# Prüfe ob KNX-Integration geladen ist
cat /config/.storage/core.config_entries | jq '.data.entries[] | select(.domain=="knx")'
Keine Ausgabe → Integration nicht eingerichtet. Lösung: Integration über UI hinzufügen (siehe Schritt-für-Schritt-Anleitung oben).
# Minimale YAML-Konfiguration (Legacy)
knx:
tunneling:
host: "192.168.1.100"
port: 3671
FC-02: KNX/IP-Router nicht erreichbar
Die Integration zeigt „Getrennt“, obwohl andere Geräte im Netzwerk funktionieren.
# Router-Erreichbarkeit prüfen
ping -c 3 192.168.1.100
# KNX-Port prüfen
nc -zv 192.168.1.100 3671
# Alle KNX-Ports scannen (nach Firmware-Updates kann sich der Port ändern)
nmap -p 3670-3675 192.168.1.100
Häufige Ursachen: Falsche IP (Router hat DHCP, IP hat sich geändert), Firewall blockiert Port 3671, Router im Programmiermodus (über ETS deaktivieren), nach Firmware-Update geänderter Port (ABB-Router wechseln manchmal auf 3672).
Lösung: Router-IP mit nmap -sn 192.168.1.0/24 ermitteln, statische IP im Router konfigurieren, IP in HA-Integration aktualisieren.
FC-03: Falsche Verbindungsmethode (Routing vs. Tunneling)
KNX-Integration verbunden, aber Gruppenadressen reagieren nicht auf Befehle.
# Multicast-Unterstützung prüfen
ping -c 2 224.0.23.12
# Keine Antwort = Routing nicht möglich → Tunneling verwenden
# Multicast-Gruppe prüfen
netstat -gn | grep 224.0.23.12
Tunneling-Konfiguration (empfohlen für Heimnetzwerke):
knx:
tunneling:
host: "192.168.1.100"
port: 3671
local_ip: "192.168.1.50"
route_back: true
Bei Docker-Installationen: network_mode: host ist für Routing (Multicast) zwingend erforderlich. Tunneling funktioniert auch ohne Host-Networking.
FC-04: Keine Entities konfiguriert
KNX-Verbindung steht, aber keine Entities erscheinen in Home Assistant. KNX erkennt keine Geräte automatisch – jede Entity muss explizit angelegt werden.
# Prüfe registrierte KNX-Entities
grep -c '"platform": "knx"' /config/.storage/core.entity_registry
# Ausgabe 0 = keine Entities konfiguriert
Lösung: Entities über UI anlegen (Einstellungen → Geräte & Dienste → KNX → Konfigurieren → Entität hinzufügen) oder YAML-Konfiguration ergänzen.
FC-05: Falsche Gruppenadress-Syntax
Entities erscheinen als „Nicht verfügbar“. Gruppenadressen müssen im Format x/y/z ohne führende Nullen angegeben werden.
- ✅ Korrekt:
"1/2/34" - ❌ Falsch:
"01/02/034"(führende Nullen → Oktal-Interpretation) - ❌ Falsch:
"1234"(Free-Format, schwer zu debuggen)
ETS5 exportiert standardmäßig 2-Level-Format (1/546), ETS6 kann auf 3-Level umgestellt werden: Extras → Optionen → Darstellung → Gruppenadresse.
FC-06: KNX-Multicast blockiert
Betrifft nur Routing-Konfigurationen. Status-Updates kommen nicht an, obwohl Befehle gesendet werden können.
# Multicast-Traffic überwachen
tcpdump -i eth0 -c 10 host 224.0.23.12
# Keine Pakete = Multicast blockiert
# IGMP-Membership prüfen
netstat -gn | grep 224.0.23.12
Lösung: Auf Tunneling wechseln (einfachste Lösung) oder Netzwerk-Multicast konfigurieren:
# Multicast-Route hinzufügen
sudo ip route add 224.0.23.12/32 dev eth0
# Firewall-Regel für KNX-Multicast
sudo iptables -A INPUT -d 224.0.23.12 -p udp --dport 3671 -j ACCEPT
Schritt-für-Schritt Debug-Anleitung
Arbeite diese Schritte chronologisch ab – viele Probleme liegen in den ersten Schritten:
1. Integration-Status prüfen:
cat /config/.storage/core.config_entries | jq -r '.data.entries[] | select(.domain=="knx") | .state'
# Erwartete Ausgabe: "loaded"
2. Router-Erreichbarkeit prüfen:
ping -c 3 <router-ip> && nc -zv <router-ip> 3671
3. Verbindungstyp aus Logs lesen:
tail -50 /config/home-assistant.log | grep -i "knx.*connect"
4. Multicast prüfen (nur bei Routing):
netstat -gn | grep 224.0.23.12
5. Entities zählen:
grep -c '"platform": "knx"' /config/.storage/core.entity_registry
6. Debug-Logging aktivieren:
# configuration.yaml
logger:
default: warning
logs:
xknx: debug
homeassistant.components.knx: debug

Workflow-Diagramm des kompletten KNX-Konfigurationsprozesses von ETS-Export bis zur funktionsfähigen Home Assistant Integration
Lösungen und Fixes
FC-01: KNX-Integration aktivieren
Empfohlener Weg (UI): Einstellungen → Geräte & Dienste → Integration hinzufügen → KNX.
Legacy YAML (falls nötig):
# /config/configuration.yaml
knx:
tunneling:
host: "192.168.1.100"
port: 3671
local_ip: "192.168.1.50"
Bei Docker-Installation: local_ip muss die Host-IP sein (nicht die Container-IP 172.17.x.x). Bei Home Assistant OS kann local_ip weggelassen werden.
# Docker-Netzwerkmodus prüfen
docker inspect homeassistant --format '{{.HostConfig.NetworkMode}}'
# Muss "host" sein für KNX-Routing
FC-02: Router-IP korrigieren
# Netzwerk nach KNX-Geräten scannen
nmap -sn 192.168.1.0/24 | grep -B 2 "ABB\|Siemens\|Weinzierl\|Gira"
Korrekte IP in der Integration eintragen: Einstellungen → Geräte & Dienste → KNX → Neu konfigurieren.
FC-03: Auf Tunneling wechseln
# Tunneling-Konfiguration (zuverlässiger in Heimnetzwerken)
knx:
tunneling:
host: "192.168.1.100"
port: 3671
local_ip: "192.168.1.50"
route_back: true
YAML zu UI Migration
- Aktuelle YAML-Konfiguration sichern:
cp /config/configuration.yaml /config/configuration.yaml.backup - KNX-Integration über UI hinzufügen (falls noch nicht geschehen)
- Entities einzeln über KNX → Konfigurieren → Entität hinzufügen neu anlegen
knx:-Block ausconfiguration.yamlauskommentieren- HA neu starten und prüfen ob alle Entities korrekt erscheinen
Eine automatische Migration von YAML zu UI ist nicht möglich – Entities müssen einzeln neu angelegt werden.
ETS5/ETS6 Export-Prozess
In ETS6: Extras → Exportieren → Gruppenadressen → CSV, Trennzeichen Semikolon, UTF-8, DPT-Export aktivieren. Verwende danach das Konverter-Script aus dem Abschnitt „ETS-Gruppenadressen übertragen“.
Wichtig: ETS exportiert mit Semikolon-Trennung. Öffne die CSV nicht in Excel (verändert das Format) – verwende einen Texteditor zur Kontrolle.
Docker-spezifische Konfiguration
# docker-compose.yml – vollständige KNX-kompatible Konfiguration
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
privileged: true
network_mode: host
volumes:
- /opt/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
environment:
- TZ=Europe/Berlin
restart: unless-stopped
network_mode: host ist für KNX-Routing (Multicast) zwingend. Für Tunneling ist es optional, aber empfohlen. privileged: true wird für USB-KNX-Interfaces benötigt.
Siemens Gateway Konfiguration
Siemens N146/N148 Gateways benötigen oft route_back: true, da sie Antwort-Telegramme sonst an eine falsche IP senden:
knx:
tunneling:
host: "192.168.1.50"
port: 3671
local_ip: "192.168.1.100"
route_back: true
In ETS: Gateway auf „Tunneling“ konfigurieren, max. Tunneling-Verbindungen auf mindestens 2 setzen. Bei Problemen Firmware auf neueste Version aktualisieren.
KNX Daemon vs. Integration
| Kriterium | KNX Integration | KNX Daemon (knxd) |
|---|---|---|
| Performance | 50-80ms Latenz | 20-30ms Latenz |
| RAM-Verbrauch | 15-25 MB | 5-8 MB |
| CPU-Last | 2-5% (Pi 4) | 1-2% (Pi 4) |
| Konfiguration | YAML-basiert, einfach | Systemd + Config-Files |
| Wartung | Automatische Updates | Manuelle Kompilierung |
| Debugging | HA-Logs integriert | Separate knxd-Logs |
| Stabilität | Neustart bei HA-Restart | Läuft unabhängig |
Empfehlung: Für Einsteiger und Anlagen bis ~100 Entities: native KNX-Integration. Für professionelle Installationen mit mehreren Clients, seriellen Interfaces oder kritischen 24/7-Anwendungen: knxd als separater Service oder Add-on.
Gruppenadress-Format
KNX unterstützt drei Formate – Home Assistant akzeptiert alle, aber 3-Level ist am übersichtlichsten:
- 3-Level:
1/2/3(Hauptgruppe 0–31 / Mittelgruppe 0–7 / Untergruppe 0–255) – empfohlen - 2-Level:
1/515(Hauptgruppe / Untergruppe 0–2047) - Free-Level:
2563(Dezimalwert 0–65535)
Alle drei Formate sind äquivalent: 1/2/3 = 1/515 = 2563 (Berechnung: 1×2048 + 2×256 + 3). Führende Nullen immer weglassen.
Multicast-Routing (Proxmox)
Bei Proxmox VMs muss die Bridge für Multicast konfiguriert werden:
# /etc/network/interfaces auf Proxmox Host
auto vmbr0
iface vmbr0 inet static
address 192.168.1.10/24
gateway 192.168.1.1
bridge-ports eth0
bridge-stp off
bridge-fd 0
bridge-multicast-snooping 0
Prüfen: cat /sys/class/net/vmbr0/bridge/multicast_snooping muss 0 ausgeben. Nach Proxmox-Updates wird dieser Wert manchmal zurückgesetzt.
Bei Synology DSM: In der Docker-GUI unter „Netzwerk“ den Host-Modus aktivieren. Zusätzlich in der DSM-Firewall Port 3671 für das lokale Netzwerk freigeben.
Bei QNAP Container Station: „Host-Netzwerk verwenden“ in den Container-Einstellungen aktivieren.
Häufige Fragen (FAQ)
Welche KNX-Plattformen unterstützt Home Assistant?
Home Assistant unterstützt 17 KNX-Plattformen: Light, Switch, Binary Sensor, Sensor, Climate, Cover, Fan, Button, Number, Scene, Select, Text, Date, Time, DateTime, Weather und Notify. Alle können über die UI oder YAML konfiguriert werden.
UDP oder TCP Tunneling – was ist besser?
TCP-Tunneling ist stabiler, besonders hinter NAT oder Firewalls, da TCP Verbindungsabbrüche erkennt und neu verbindet. UDP-Tunneling ist der klassische Standard und funktioniert in den meisten Heimnetzwerken problemlos. Starte mit UDP; wechsle zu TCP wenn die Verbindung instabil ist.
Kann Home Assistant ETS-Projektdateien importieren?
Nein. Home Assistant kann .knxproj-Dateien nicht direkt importieren. Alle Entities müssen manuell über die UI oder YAML konfiguriert werden. Gruppenadressen kannst du aus ETS als CSV exportieren und mit einem Python-Script in YAML konvertieren.
Wie viele Tunneling-Verbindungen unterstützt ein KNX/IP-Router?
Die meisten KNX/IP-Router unterstützen 4 gleichzeitige Tunneling-Verbindungen (manche Modelle bis zu 8). Home Assistant belegt eine davon. ETS belegt beim Programmieren ebenfalls eine. Plane entsprechend wenn mehrere Clients gleichzeitig auf den Bus zugreifen sollen.
Brauche ich einen KNX/IP-Router oder reicht ein USB-Interface?
Ein USB-TPUART-Adapter (ab ca. 35–45 €) reicht für Home Assistant vollständig aus, wenn du keinen KNX/IP-Router hast. Du benötigst dann das knxd Add-on. Ein KNX/IP-Router ist sinnvoll wenn mehrere Clients (ETS, HA, Visualisierung) gleichzeitig auf den Bus zugreifen sollen.
Warum verschwinden KNX-Entities nach einem Neustart?
Meist liegt ein YAML-Syntaxfehler vor, der beim Start die KNX-Integration verhindert. Prüfe mit ha core check vor dem Neustart. Alternativ: Entity-Registry-Korruption durch unsauberen Shutdown. Lösung: Backup der Entity-Registry einspielen oder Entities über die UI neu anlegen.
Wie richte ich KNX-Automatisierungen mit Bus-Telegrammen ein?
Nutze den Event-Trigger knx_event in Automatisierungen. Damit kannst du auf beliebige KNX-Telegramme reagieren, auch wenn der Gruppenadresse keine Entity zugeordnet ist. Mit dem Service knx.send kannst du Telegramme aktiv auf den Bus senden.
Preisvergleich KNX/IP-Router und Interfaces
Preisvergleich
| Produkt | Fachhandel | Amazon | eBay |
|---|---|---|---|
| Siemens KNX Gateway | — | Amazon | eBay |
| Raspberry Pi 4 Model B | — | Amazon | eBay |
| Home Assistant | — | – | eBay |
| KNX/IP Router | – | – | eBay |
| KNX Daemon (knxd) | — | Amazon | eBay |
* Affiliate-Links – beim Kauf erhalten wir ggf. eine Provision.
Unsere Empfehlungen
* Affiliate-Links – beim Kauf erhalten wir ggf. eine Provision. Preise inkl. MwSt., Stand laut Produktfeed – können abweichen.
Preisvergleich
| Produkt | Fachhandel | Amazon | eBay |
|---|---|---|---|
| Siemens KNX Gateway Tipp | – | Amazon | eBay |
| Raspberry Pi 4 Model B | – | Amazon | eBay |
* Affiliate-Links – beim Kauf erhalten wir ggf. eine Provision.
Weiterführende Themen
Für spezifische Anwendungsfälle empfehlen sich diese vertiefenden Recherchen:
- KNX USB Interface direkt: Weinzierl USB TPUART, Busware TPUART, knxd Add-on Konfiguration
- KNX Secure: KNX IP Secure Tunneling mit Passwort-Authentifizierung in ETS konfigurieren
- KNX Automatisierungen: knx_event Trigger, knx.send Service, Expose von HA-Entities auf den KNX-Bus
- ETS6 Projektierung: Topologie, Linienkoppler, Bereichskoppler für größere Anlagen

Übersicht der KNX-Netzwerk-Architektur mit ETS-Software, KNX/IP Gateway und Home Assistant Integration

Terminal-Ausgabe der KNX Entity Registry Prüfung zur Diagnose registrierter KNX-Geräte
| Funktion | Docker Compose V1 | Docker Compose V2 | KNX-Relevanz |
|---|---|---|---|
| Befehl | docker-compose up -d |
docker compose up -d |
Gleiche Funktionalität |
| Network Host | network_mode: host |
network_mode: host |
Kritisch für KNX Multicast |
| Privileged Mode | privileged: true |
privileged: true |
Benötigt für Hardware-Zugriff |
| Service Restart | docker-compose restart homeassistant |
docker compose restart homeassistant |
Nach KNX-Config-Änderungen |
| Logs anzeigen | docker-compose logs -f homeassistant |
docker compose logs -f homeassistant |
KNX-Debugging |
| Container Status | docker-compose ps |
docker compose ps |
Verbindungsstatus prüfen |






Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!