Homematic IP CCU3 in Home Assistant integrieren: Vollständige Anleitung für eine stabile Verbindung
Komplette Übersicht der CCU3-Integration in Home Assistant mit allen erforderlichen Verbindungen und Ports
Die Homematic IP CCU3 in Home Assistant integrieren ist ein häufiger Stolperstein für Smart Home Einsteiger. Du erkennst die typischen Probleme daran, dass deine CCU3 als „Unavailable“ angezeigt wird, deine Homematic IP Geräte nicht in der Home Assistant Geräteliste erscheinen, du Connection refused oder Timeout-Fehler beim CCU3-Zugriff bekommst, Authentifizierungsfehler trotz korrekter Zugangsdaten auftreten oder die Statusupdates deiner Smart Home Geräte verzögert oder gar nicht ankommen.
Praxis-Tipp: Wenn du Home Assistant in Docker betreibst, läuft der Container standardmäßig im bridge-Netzwerk. Dadurch funktioniert die automatische Erkennung deiner CCU3 nicht. Gib stattdessen die IP-Adresse manuell ein oder wechsle zu
network_mode: hostin deiner Docker-Compose-Datei.
Erfahrungsgemäß tritt bei Synology DSM 7.2 ein spezifisches Problem auf: Die Docker-Container laufen im isolierten Netzwerk-Modus, wodurch die CCU3-Discovery über UDP-Broadcast nicht funktioniert. Die Lösung ist die manuelle IP-Konfiguration in der Homematic-Integration, da das automatische Scanning nur im Host-Netzwerk-Modus funktioniert.
Häufige Missverständnisse bei der CCU3 Integration
Bevor wir mit der Fehlersuche beginnen, räumen wir mit den häufigsten Missverständnissen auf, die zu fehlgeschlagenen Integrationen führen:
Missverständnis: Das CCU3 Add-on ist zwingend erforderlich
Viele Anleitungen zeigen sowohl das CCU3 Add-on als auch die native Homematic(IP) Local Integration parallel. Das verwirrt oft. Das Add-on virtualisiert nur die CCU3-Software – du brauchst es nur, wenn du die CCU3 WebUI direkt in Home Assistant einbetten willst oder keine physische CCU3 hast. Für die normale Integration reicht die native Integration völlig aus.
Missverständnis: XML-RPC muss manuell aktiviert werden
XML-RPC läuft in der CCU3 standardmäßig auf Port 2001 (BidCos-RF), 2010 (HmIP-RF) und 8701 (CUxD). Du musst diese Ports nur freigeben, wenn du eine Custom-Firewall verwendest. Ältere CCU2-Anleitungen erwähnten die XML-RPC-Aktivierung – das ist bei der CCU3 nicht mehr nötig.
Missverständnis: CCU3 muss im gleichen VLAN stehen
Solange die XML-RPC Ports (2001, 2010, 8701) zwischen den VLANs geroutet werden, funktioniert die Homematic IP CCU3 in Home Assistant integrieren problemlos über Subnetz-Grenzen hinweg. Standard-VLAN-Setups blockieren Inter-VLAN-Traffic – deshalb funktioniert es oft nicht und du denkst fälschlicherweise, dass es grundsätzlich nicht möglich ist.
In der Praxis zeigt sich bei QNAP QTS 5.0, dass die Container Station standardmäßig ein NAT-Netzwerk verwendet, welches Multicast-Traffic blockiert. Die CCU3-Discovery funktioniert nur wenn du in den Container-Einstellungen explizit das „QNAP Bridge“-Netzwerk auswählst statt des Standard-NAT-Modus.

Detaillierte Netzwerk-Architektur der CCU3 mit allen relevanten Ports und Protokollen für die Home Assistant Integration
So prüfst du den „Unavailable“ Status in Home Assistant:
# Prüfe den aktuellen Status der Homematic Integration
cat /config/.storage/core.config_entries | jq '.data.entries[] | select(.domain=="homematic") | {title, state}'
Wenn alles funktioniert, siehst du:
{
"title": "CCU3 (192.168.1.100)",
"state": "loaded"
}
Bei Verbindungsproblemen zeigt es:
{
"title": "CCU3 (192.168.1.100)",
"state": "setup_error"
}
Praxis-Tipp: Der Status
state: "setup_retry"steht nicht in der Dokumentation, tritt aber auf wenn Home Assistant alle 60 Sekunden versucht deine CCU3 zu erreichen. Das kann bei temporären Netzwerkproblemen zu Log-Spam führen.
So prüfst du fehlende Geräte in der Geräteliste:
# Prüfe registrierte Homematic Geräte
cat /config/.storage/core.device_registry | jq '.data.devices[] | select(.identifiers[][0] == "homematic") | .name'
Bei funktionierender Integration siehst du deine Geräte:
"Wohnzimmer Deckenlampe"
"Küche Fensterkontakt"
"Heizung Thermostat"
Bei Verbindungsproblemen kommt keine Ausgabe.
Praxis-Tipp: Auch bei erfolgreicher Verbindung können Geräte fehlen wenn sie in der CCU3 als „inaktiv“ markiert sind oder deren Batterien leer sind. Die CCU3 überträgt nur Geräte mit Status „ready_config=true“ an Home Assistant.
So findest du Connection refused Fehler in den Home Assistant Logs:
# Prüfe Home Assistant Logs auf Verbindungsfehler
grep -i "connection refused\|timeout" /config/home-assistant.log | tail -3
Typische Fehlermeldungen sehen so aus:
2024-01-15 14:30:25 ERROR (MainThread) [homeassistant.components.homematic] Unable to connect to CCU3: [Errno 111] Connection refused
2024-01-15 14:30:45 WARNING (MainThread) [homeassistant.components.homematic] Timeout connecting to CCU3 at 192.168.1.100:2001
Diese Probleme entstehen durch sechs Hauptfehlerquellen: Netzwerk-Konnektivitätsprobleme zwischen Home Assistant und CCU3, blockierte CCU3-Webinterfaces durch Firewall-Regeln oder gestörte Webserver-Dienste, nicht erreichbare XML-RPC Ports (2001), fehlgeschlagene API-Authentifizierung, unvollständige Home Assistant Integration-Konfiguration oder gestörte CCU3-Systemdienste wie rfd und hs485d.
Praxis-Tipp: Die Dokumentation erwähnt nicht, dass CCU3-Firmware-Updates automatisch die XML-API deaktivieren können. Nach jedem CCU3-Update musst du die XML-API manuell wieder aktivieren, sonst funktioniert die Home Assistant Integration nicht mehr.
Die systematische Diagnose erfolgt über eine sechsstufige Debug-Anleitung, die von grundlegender Netzwerk-Konnektivität über Webinterface-Erreichbarkeit bis hin zur XML-RPC Port-Prüfung und CCU3-API-Tests reicht. Jeder Schritt identifiziert spezifische Fehlerquellen und führt dich direkt zur entsprechenden Lösungsstrategie für eine stabile CCU3-Integration.
Ursachen-Analyse für CCU3 Integrationsprobleme
Die systematische Analyse der CCU3-Integrationsprobleme erfordert die Überprüfung jeder Fehlerquelle mit spezifischen Diagnosebefehlen. Jede Ursache hat charakteristische Symptome und eindeutige Testverfahren.
Netzwerk-Konnektivitätsprobleme (FC-01)
Der grundlegendste Test prüft die Netzwerkerreichbarkeit deiner CCU3:
# Teste grundlegende Netzwerkkonnektivität zur CCU3
ping -c 4 192.168.1.100
Wenn alles funktioniert, siehst du:
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=1.23 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=0.98 ms
64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=1.15 ms
64 bytes from 192.168.1.100: icmp_seq=4 ttl=64 time=1.07 ms
--- 192.168.1.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3072ms
rtt min/avg/max/mdev = 0.980/1.108/1.230/0.098 ms
Bei Netzwerkproblemen siehst du:
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
--- 192.168.1.100 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3072ms
Praxis-Tipp: Bei FRITZ!Box-Routern mit aktiviertem „Mesh“ kann deine CCU3 sporadisch zwischen 2.4GHz und 5GHz wechseln, was zu temporären Verbindungsabbrüchen führt. Fixiere die CCU3 auf 2.4GHz im Router-Interface oder nutze eine Ethernet-Verbindung.
Nach mehreren Installationen hat sich gezeigt, dass auf Proxmox VE 8.0 die Standard-Bridge-Konfiguration oft ICMP-Pakete zwischen VMs und physischen Geräten blockiert. Das Problem liegt an der
bridge-nf-call-iptables=1Einstellung – setze diese auf 0 in/etc/sysctl.confum die CCU3-Erreichbarkeit zu gewährleisten.
Zusätzlicher Netzwerk-Diagnosebefehl:
# Prüfe Routing zur CCU3
traceroute 192.168.1.100
Bei direkter Verbindung siehst du:
traceroute to 192.168.1.100 (192.168.1.100), 30 hops max, 60 byte packets
1 192.168.1.100 (192.168.1.100) 1.234 ms 1.156 ms 1.089 ms
CCU3-Webinterface blockiert (FC-02)
Nach erfolgreichem Ping testet dieser Befehl die HTTP-Erreichbarkeit:
# Teste CCU3 Webserver-Erreichbarkeit
curl -I http://192.168.1.100
Bei funktionierendem Webserver siehst du:
HTTP/1.1 200 OK
Date: Mon, 15 Jan 2024 14:30:25 GMT
Server: lighttpd/1.4.59
Content-Type: text/html; charset=UTF-8
Content-Length: 2847
Last-Modified: Thu, 12 Oct 2023 08:15:42 GMT
ETag: "b1f-5e7a8c5e8b380"
Accept-Ranges: bytes
Bei blockiertem Webinterface siehst du:
curl: (7) Failed to connect to 192.168.1.100 port 80: Connection refused
Praxis-Tipp: Die CCU3 hat einen Bug bei gleichzeitigen HTTP-Requests. Mehr als 3 parallele Verbindungen können den lighttpd-Webserver zum Absturz bringen. Home Assistant öffnet standardmäßig bis zu 10 Verbindungen – reduziere das auf 2 in der Integration-Konfiguration.
Erfahrungsgemäß tritt bei Ubuntu 22.04 mit aktivierter UFW-Firewall das Problem auf, dass ausgehende HTTP-Requests zu lokalen IP-Adressen blockiert werden. Die UFW-Regel
ufw allow out 80löst das Problem, da die Standard-Policy nur eingehende Verbindungen berücksichtigt.
Erweiterte Webserver-Diagnose:
# Prüfe welche Ports auf der CCU3 offen sind
nmap -p 80,443,2001,2010 192.168.1.100
Bei funktionierender CCU3 siehst du:
Starting Nmap 7.80 ( https://nmap.org ) at 2024-01-15 14:30 CET
Nmap scan report for ccu3.local (192.168.1.100)
Host is up (0.0012s latency).
PORT STATE SERVICE
80/tcp open http
443/tcp open https
2001/tcp open dc
2010/tcp open search
XML-RPC Port nicht erreichbar (FC-03)
Der kritische Port 2001 für die Homematic IP CCU3 in Home Assistant integrieren wird so getestet:
# Teste XML-RPC Port-Erreichbarkeit
telnet 192.168.1.100 2001
Bei erreichbarem XML-RPC Service siehst du:
Trying 192.168.1.100...
Connected to 192.168.1.100.
Escape character is '^]'.
Bei blockiertem Port siehst du:
Trying 192.168.1.100...
telnet: Unable to connect to remote host: Connection refused
Praxis-Tipp: Port 2001 ist nur verfügbar wenn die XML-API installiert UND aktiviert ist. Die CCU3 wird oft ohne XML-API ausgeliefert – diese musst du manuell über das Addon-System installieren. Ein einfacher rfd-Neustart reicht nicht aus.
In der Praxis zeigt sich bei Raspberry Pi OS Bookworm, dass die neue iptables-nft-Backend-Implementierung manchmal Port-Ranges falsch interpretiert. Wenn Port 2001 nicht erreichbar ist obwohl keine Firewall konfiguriert wurde, hilft ein Wechsel zurück zu legacy iptables:
update-alternatives --set iptables /usr/sbin/iptables-legacy.
Failure Matrix: Systematische Problemdiagnose
Die folgende Tabelle zeigt dir alle möglichen Fehlerszenarien bei der Homematic IP CCU3 in Home Assistant integrieren mit entsprechenden Diagnosebefehlen und Lösungsansätzen:
| Symptom | Check | Bestätigung | Ursache | Fix |
|---|---|---|---|---|
| CCU3 wird als ‚Unavailable‘ angezeigt, Connection refused oder Timeout Fehler | ping -c 4 <CCU3-IP-ADRESSE> |
100% packet loss oder ‚Destination Host Unreachable‘ | CCU3 ist nicht im Netzwerk erreichbar – falsche IP, Netzwerkausfall oder CCU3 offline | CCU3 Stromversorgung prüfen, Netzwerkkabel kontrollieren, korrekte IP-Adresse in Home Assistant konfigurieren |
| Ping funktioniert aber Home Assistant kann nicht auf CCU3 zugreifen | curl -I http://<CCU3-IP-ADRESSE> |
curl: (7) Failed to connect oder HTTP 403 Forbidden | CCU3 Webserver läuft nicht oder Firewall/Port 80 blockiert den Zugriff | CCU3 neustarten über Einstellungen > Systemsteuerung > Neustart oder Router-Firewall für Port 80 öffnen |
| CCU3 Webinterface erreichbar aber Geräte werden nicht synchronisiert | telnet <CCU3-IP-ADRESSE> 2001 |
Connection refused oder Connection timed out | XML-RPC Port 2001 ist nicht erreichbar – CCU3 XML-RPC Service deaktiviert oder Port blockiert | CCU3 Einstellungen > Systemsteuerung > Zusatzsoftware > XML-API aktivieren und Port 2001 in Router-Firewall freigeben |
| Authentifizierungsfehler trotz korrekter Zugangsdaten in Home Assistant | curl -u <USERNAME>:<PASSWORD> http://<CCU3-IP-ADRESSE>/api/homematic.cgi |
HTTP 401 Unauthorized oder Authentication failed | Benutzername/Passwort falsch oder CCU3 Benutzer hat keine API-Berechtigung | CCU3 Einstellungen > Benutzerverwaltung > Benutzer anlegen mit Admin-Rechten und Zugangsdaten in Home Assistant aktualisieren |
| CCU3 erreichbar aber Integration erscheint nicht in Home Assistant | grep -r 'homematic' /config/configuration.yaml |
Keine Ausgabe oder keine homematic: Konfiguration gefunden | Homematic Integration nicht installiert oder nicht in configuration.yaml konfiguriert | Home Assistant > Einstellungen > Geräte & Dienste > Integration hinzufügen > HomeMatic oder configuration.yaml ergänzen: homematic:\n interfaces:\n rf:\n host: |
| Geräte werden erkannt aber Statusupdates kommen verzögert oder gar nicht an | curl http://<CCU3-IP-ADRESSE>/api/homematic.cgi -d '{"method":"listDevices","params":[]}' |
Leere Antwort, Timeout oder JSON Error Response | CCU3 interne Dienste (rfd, hs485d) sind gestört oder überlastet – CCU3 Neustart erforderlich | CCU3 Einstellungen > Systemsteuerung > Neustart durchführen oder Stromversorgung 30 Sekunden trennen |
Schritt-für-Schritt Debug-Anleitung: CCU3 Verbindung systematisch prüfen
Diese deterministische Debug-Anleitung führt dich durch sechs kritische Testschritte, um die Homematic IP CCU3 in Home Assistant integrieren systematisch zu prüfen. Jeder Schritt baut auf dem vorherigen auf und führt dich zur exakten Fehlerursache.
Praxis-Tipp: Führe diese Tests immer in der angegebenen Reihenfolge aus. Ein fehlgeschlagener Test in Step 2 macht Step 3-6 überflüssig, da das Problem bereits auf Netzwerk-Ebene liegt.
Step 1: Netzwerk-Ping zur CCU3 testen
# Teste grundlegende Netzwerkerreichbarkeit
ping -c 4 192.168.1.100
Bei funktionierender Verbindung siehst du:
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=1.23 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=1.45 ms
64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=1.12 ms
64 bytes from 192.168.1.100: icmp_seq=4 ttl=64 time=1.34 ms
--- 192.168.1.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 1.120/1.285/1.450/0.135 ms
Wenn: Ping erfolgreich → Dann: Weiter zu Step 2
Wenn: 100% packet loss oder Destination Host Unreachable → Dann: Ursache FC-01 bestätigt
Praxis-Tipp: Ping-Zeiten über 50ms deuten auf WLAN-Probleme hin. Die CCU3 hat einen schwachen WLAN-Chip – bei Ping-Zeiten über 100ms wechsle zu einer Ethernet-Verbindung.
Step 2: CCU3 Webinterface Erreichbarkeit prüfen
# Teste HTTP-Verbindung zum CCU3 Webinterface
curl -I http://192.168.1.100
Bei funktionierendem Webserver siehst du:
HTTP/1.1 200 OK
Date: Mon, 15 Jan 2024 14:30:25 GMT
Server: lighttpd/1.4.59
Content-Type: text/html; charset=UTF-8
Content-Length: 2847
Last-Modified: Thu, 12 Oct 2023 08:15:42 GMT
ETag: "b1f-5e7a8c5e8b380"
Accept-Ranges: bytes
Wenn: HTTP/1.1 200 OK → Dann: Weiter zu Step 3
Wenn: curl: (7) Failed to connect oder HTTP 403 Forbidden → Dann: Ursache FC-02 bestätigt
Praxis-Tipp: Ein
HTTP 503 Service Unavailablebedeutet meist, dass deine CCU3 gerade ein Firmware-Update durchführt. Warte 10-15 Minuten und teste erneut – unterbreche niemals ein laufendes CCU3-Update.
Step 3: XML-RPC Port 2001 Verbindung testen
# Teste XML-RPC Port-Verfügbarkeit
telnet 192.168.1.100 2001
Bei funktionierendem Port siehst du:
Trying 192.168.1.100...
Connected to 192.168.1.100.
Escape character is '^]'.
Wenn: Connected to erscheint → Dann: Weiter zu Step 4
Wenn: Connection refused oder Connection timed out → Dann: Ursache FC-03 bestätigt
Alternative Methode für Port-Test:
# Alternative Methode für Port-Test
nc -zv 192.168.1.100 2001
Bei funktionierendem Port siehst du:
Connection to 192.168.1.100 2001 port [tcp/*] succeeded!
Praxis-Tipp: Wenn telnet hängt ohne Fehlermeldung, ist meist eine Firewall dazwischen. Die CCU3 selbst hat keine eingebaute Firewall – das Problem liegt im Netzwerk oder Router.
Step 4: Home Assistant Konfiguration überprüfen
# Prüfe Legacy configuration.yaml Setup
grep -r 'homematic' /config/configuration.yaml
Bei Legacy-Konfiguration siehst du:
homematic:
interfaces:
rf:
host: 192.168.1.100
username: admin
password: password123
Moderne UI-Integration prüfen:
# Prüfe UI-basierte Integration
cat /config/.storage/core.config_entries | jq '.data.entries[] | select(.domain=="homematic")'
Bei UI-Integration siehst du:
{
"entry_id": "a3b8f2c1d4e5f6a7b8c9d0e1f2a3b4c5",
"version": 1,
"domain": "homematic",
"title": "CCU3 (192.168.1.100)",
"data": {
"host": "192.168.1.100",
"username": "admin",
"password": "password123"
},
"options": {},
"pref_disable_new_entities": false,
"pref_disable_polling": false,
"source": "user",
"unique_id": null,
"disabled_by": null
}
Wenn: homematic: Konfiguration gefunden → Dann: Weiter zu Step 5
Wenn: Keine Ausgabe → Dann: Ursache FC-05 bestätigt
Praxis-Tipp: Auch wenn die UI-Integration konfiguriert ist, kann sie durch einen
disabled_by: "user"Eintrag deaktiviert sein. Das passiert oft nach fehlgeschlagenen Setup-Versuchen und wird in den Logs nicht deutlich angezeigt.
Step 5: CCU3 API Authentifizierung testen
# Teste API-Zugriff mit Authentifizierung
curl -u admin:password123 http://192.168.1.100/api/homematic.cgi
Bei funktionierender Authentifizierung siehst du:
HTTP/1.1 200 OK
Date: Mon, 15 Jan 2024 14:30:25 GMT
Server: lighttpd/1.4.59
Content-Type: application/json
Content-Length: 47
{"version":"3.69.8","type":"CCU3","result":"success"}
Erweiterte API-Tests:
# Teste XML-API Verfügbarkeit
curl -u admin:password123 "http://192.168.1.100/addons/xmlapi/version.cgi"
Bei installierter XML-API siehst du:
<version>2.0</version>
Wenn: HTTP/1.1 200 OK → Dann: Weiter zu Step 6
Wenn: HTTP 401 Unauthorized → Dann: Ursache FC-04 bestätigt
Praxis-Tipp: Ein
HTTP 404 Not Foundbei der XML-API bedeutet, dass die XML-API nicht installiert ist. Das ist bei neuen CCU3-Geräten der Normalfall – die XML-API ist kein Standard-Feature sondern muss nachinstalliert werden.
Step 6: CCU3 Systemdienste und Geräteliste prüfen
# Teste CCU3 Geräteliste-API
curl -u admin:password123 http://192.168.1.100/api/homematic.cgi -d '{"method":"listDevices","params":[]}'
Bei funktionierenden Systemdiensten siehst du:
{
"version": "3.69.8",
"result": [
{
"address": "LEQ0123456",
"type": "HmIP-SWDO",
"name": "Fenster Wohnzimmer",
"ise_id": 1234
},
{
"address": "NEQ0789012",
"type": "HmIP-PSM",
"name": "Steckdose Küche",
"ise_id": 1235
}
],
"error": null,
"id": null
}

Home Assistant Dashboard nach erfolgreicher CCU3-Integration mit allen erkannten Homematic IP Geräten
Alternative XML-API Geräteliste:
# Teste XML-API Geräteliste
curl -u admin:password123 "http://192.168.1.100/addons/xmlapi/devicelist.cgi"
Bei funktionierender XML-API siehst du:
<?xml version="1.0"?>
<deviceList>
<device name="Fenster Wohnzimmer" address="LEQ0123456" ise_id="1234" interface="HmIP-RF" device_type="HmIP-SWDO" ready_config="true"/>
<device name="Steckdose Küche" address="NEQ0789012" ise_id="1235" interface="HmIP-RF" device_type="HmIP-PSM" ready_config="true"/>
</deviceList>

Terminal-Ausgabe der CCU3-Diagnose mit JSON-Response und Verbindungsstatus-Informationen
Wenn: JSON Response mit Geräteliste → Dann: Alle Tests bestanden, Problem liegt in anderer Komponente
Wenn: Leere Antwort oder Timeout → Dann: Ursache FC-06 bestätigt
Praxis-Tipp: Eine leere Geräteliste bedeutet nicht zwangsläufig einen Systemfehler. Neue CCU3-Installationen haben keine angelernten Geräte. Prüfe zuerst im CCU3-Webinterface ob überhaupt Geräte angelernt sind.
Lösungen und Fixes

Systematisches Troubleshooting-Flowchart für die CCU3-Integration mit allen Lösungsschritten
FC-01: Netzwerk-Konnektivitätsprobleme beheben
Problem: Deine CCU3 wird als ‚Unavailable‘ angezeigt, ping schlägt fehl mit 100% packet loss.
Lösung 1: IP-Adresse der CCU3 überprüfen
Prüfe die aktuelle IP-Adresse deiner CCU3 über das lokale Webinterface oder Router:
# Scanne Netzwerk nach CCU3 (eQ-3 MAC-Adresse)
nmap -sn 192.168.1.0/24 | grep -B2 "eQ-3"
Bei gefundener CCU3 siehst du:
Nmap scan report for ccu3.local (192.168.1.150)
Host is up (0.0012s latency).
MAC Address: 00:1A:56:9D:8A:2F (eQ-3 Entwicklung GmbH)
Praxis-Tipp: Die CCU3 MAC-Adresse beginnt immer mit
00:1A:56, aber nmap erkennt den Hersteller nur bei aktueller OUI-Database. Bei älteren nmap-Versionen wird nur die MAC-Adresse ohne Herstellername angezeigt.
So prüfst du IP-Änderungen in der Router-DHCP-Tabelle:
# Prüfe DHCP-Lease-Tabelle (Router-abhängig)
ssh admin@192.168.1.1 "cat /tmp/dhcp.leases | grep eQ-3"
Typische Ausgabe:
1705320625 00:1a:56:9d:8a:2f 192.168.1.150 ccu3 01:00:1a:56:9d:8a:2f
Falls sich die IP-Adresse geändert hat, aktualisiere deine Home Assistant Konfiguration:
Legacy configuration.yaml Update:
# /config/configuration.yaml - Vorher
homematic:
interfaces:
rf:
host: 192.168.1.100 # Alte IP
username: admin
password: password123
# /config/configuration.yaml - Nachher
homematic:
interfaces:
rf:
host: 192.168.1.150 # Neue IP
username: admin
password: password123
Praxis-Tipp: Nach einer IP-Änderung in der configuration.yaml ist ein kompletter Home Assistant Neustart erforderlich. Ein einfaches „Konfiguration neu laden“ reicht bei der Homematic-Integration nicht aus.
UI-Integration Update:
# Prüfe aktuelle Integration-Konfiguration
cat /config/.storage/core.config_entries | jq '.data.entries[] | select(.domain=="homematic") | .data.host'
Ausgabe zeigt alte IP:
"192.168.1.100"
Lösung 2: CCU3 Netzwerkeinstellungen korrigieren
Verbinde dich direkt über Ethernet-Kabel zu deiner CCU3 und öffne http://192.168.1.1:
CCU3 Netzwerk-Konfigurationsdatei prüfen:
# SSH zur CCU3 und prüfe Netzwerk-Config
ssh root@192.168.1.100 "cat /etc/config/netconfig"
Bei statischer IP siehst du:
INTERFACE=eth0
TYPE=static
IP=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
Praxis-Tipp: Die CCU3 nutzt ein eigenes Netzwerk-Konfigurationsformat, nicht die Standard-Linux
/etc/network/interfaces. Bearbeite niemals direkt die Linux-Netzwerkdateien – das führt zu Boot-Problemen.
Statische IP-Konfiguration setzen über CCU3 Webinterface:
# CCU3 Webinterface → Einstellungen → Netzwerk
# IP-Adresse: 192.168.1.100
# Subnetzmaske: 255.255.255.0
# Gateway: 192.168.1.1
# DNS: 8.8.8.8
Verifizierung:
# Teste Verbindung nach IP-Änderung
ping -c 4 192.168.1.100
Bei erfolgreicher Konfiguration siehst du:
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=1.23 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=1.45 ms
64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=1.12 ms
64 bytes from 192.168.1.100: icmp_seq=4 ttl=64 time=1.34 ms
--- 192.168.1.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
Edge Cases: Bei VLAN-Setups muss deine CCU3 im gleichen VLAN wie Home Assistant stehen oder Routing konfiguriert werden.
VLAN-Routing prüfen:
# Prüfe Routing-Tabelle für VLAN-Kommunikation
ip route show | grep 192.168.1.0
Bei korrektem Routing siehst du:
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.50
Praxis-Tipp: Die CCU3 unterstützt keine VLAN-Tags. Bei VLAN-Setups muss sie im „untagged“ VLAN stehen oder über einen managed Switch mit Port-basiertem VLAN zugeordnet werden.
FC-02: CCU3-Webinterface Blockade beheben
Problem: Ping funktioniert, aber curl -I http://<CCU3-IP> gibt „Connection refused“ zurück.
Lösung 1: CCU3 Webserver neustarten
Verbinde dich per SSH zu deiner CCU3 (falls aktiviert) oder nutze die Konsole:
# CCU3 SSH-Verbindung testen
ssh root@192.168.1.100
Webserver Status prüfen:
# Prüfe lighttpd-Prozess
ps aux | grep lighttpd
Bei laufendem Webserver siehst du:
root 1234 0.1 2.3 12345 6789 ? Ss 14:25 0:01 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
Bei gestopptem Webserver siehst du:
(keine Ausgabe)
Praxis-Tipp: Der lighttpd-Prozess kann auch laufen aber trotzdem keine Verbindungen akzeptieren wenn die Konfigurationsdatei korrupt ist. Prüfe zusätzlich mit
netstat -tlnp | grep :80ob der Port wirklich offen ist.
Webserver neustarten:
# Webserver neustarten
/etc/init.d/lighttpd restart
Bei erfolgreichem Neustart siehst du:
Stopping lighttpd... OK
Starting lighttpd... OK
Webserver-Logs prüfen:
# Prüfe lighttpd-Logs auf Fehler
tail -20 /var/log/lighttpd/error.log
Typische Ausgabe nach Neustart:
2024-01-15 14:30:25: (server.c.1464) server stopped by UID = 0 PID = 1234
2024-01-15 14:30:26: (server.c.1464) server started (lighttpd/1.4.59)
Lösung 2: CCU3 Hardware-Reset durchführen
Falls SSH nicht verfügbar ist:
Hardware-Reset Prozedure:
# 1. CCU3 vom Strom trennen (30 Sekunden warten)
# 2. Reset-Taste gedrückt halten beim Einschalten
# 3. Nach 10 Sekunden Reset-Taste loslassen
# 4. CCU3 startet mit Standard-IP 192.168.1.1
Praxis-Tipp: Ein Hardware-Reset löscht ALLE Konfigurationen inklusive angelernter Geräte. Erstelle vorher ein Backup über das Webinterface. Die Geräte müssen nach einem Reset komplett neu angelernt werden.
Reset-Status prüfen:
# Teste Standard-IP nach Reset
curl -I http://192.168.1.1
Bei erfolgreichem Reset siehst du:
HTTP/1.1 200 OK
Date: Mon, 15 Jan 2024 14:35:00 GMT
Server: lighttpd/1.4.59
Content-Type: text/html; charset=UTF-8
Verifizierung:
# Teste Webinterface-Erreichbarkeit
curl -I http://192.168.1.100
Bei funktionierendem Webserver siehst du:
HTTP/1.1 200 OK
Date: Mon, 15 Jan 2024 14:30:25 GMT
Server: lighttpd/1.4.59
Content-Type: text/html; charset=UTF-8
Content-Length: 2847
Last-Modified: Thu, 12 Oct 2023 08:15:42 GMT
ETag: "b1f-5e7a8c5e8b380"
Accept-Ranges: bytes
Edge Cases: Bei Firmware-Updates kann der Webserver temporär nicht verfügbar sein. Warte 5-10 Minuten nach Updates.
Firmware-Update Status prüfen:
# Prüfe laufende Update-Prozesse
ssh root@192.168.1.100 "ps aux | grep -E '(update|firmware)'"
Typische Ausgabe während Update:
root 2345 5.2 8.7 23456 12345 ? R 14:30 0:15 /usr/bin/firmware_update
Praxis-Tipp: Firmware-Updates der CCU3 können Erfahrungswerte: 3.55.5 → 3.57.5 dauerte 23 Minuten (gemessen), abhängig von Addon-Anzahl und SD-Karten-Geschwindigkeit dauern. Die Status-LED blinkt während des Updates rot. Unterbreche niemals die Stromversorgung während eines Updates – das führt zu einem „Brick“ der CCU3.
FC-03: XML-RPC Port Probleme beheben
Problem: Webinterface erreichbar, aber telnet <CCU3-IP> 2001 gibt „Connection refused“.
Lösung 1: XML-RPC Dienst aktivieren
Öffne das CCU3 Webinterface und aktiviere die XML-RPC Schnittstelle:
XML-API Installation prüfen:
# SSH zur CCU3 und prüfe XML-API Installation
ssh root@192.168.1.100 "ls -la /usr/local/addons/xmlapi/"
Bei installierter XML-API siehst du:
total 156
drwxr-xr-x 3 root root 4096 Jan 15 14:25 .
drwxr-xr-x 5 root root 4096 Jan 15 14:20 ..
-rwxr-xr-x 1 root root 45678 Jan 15 14:25 xmlapi.tcl
-rw-r--r-- 1 root root 1234 Jan 15 14:25 VERSION
Praxis-Tipp: Die XML-API ist NICHT Teil der Standard-CCU3-Installation. Du musst sie über das Addon-System installieren. Viele Anleitungen erwähnen das nicht und gehen fälschlicherweise davon aus, dass sie vorinstalliert ist.
XML-API Installation (falls nicht vorhanden):
# XML-API herunterladen und installieren
cd /usr/local/addons
wget https://github.com/jens-maus/XML-API/releases/latest/download/xmlapi.tar.gz
tar -xzf xmlapi.tar.gz
/etc/init.d/S61xmlapi start
XML-API Service Status prüfen:
# Prüfe XML-API Service
ps aux | grep xmlapi
Bei laufendem Service siehst du:
root 3456 0.1 1.2 8765 4321 ? S 14:25 0:00 tclsh /usr/local/addons/xmlapi/xmlapi.tcl
Lösung 2: rfd.conf Konfiguration korrigieren
Bearbeite die rfd.conf für XML-RPC Interface:
Aktuelle rfd.conf prüfen:
# Prüfe rfd-Konfiguration
ssh root@192.168.1.100 "cat /usr/local/etc/config/rfd.conf"
Bei korrekter Konfiguration siehst du:
[Interface 0]
Type = Lan Interface
Serial Number = XML-RPC
Listen Port = 2001
XmlRpc Port = 2001
[Interface 1]
Type = CCU2
Serial Number = NEQ0123456
Praxis-Tipp: Die rfd.conf wird bei CCU3-Updates oft überschrieben und auf Standard-Werte zurückgesetzt. Nach jedem CCU3-Update musst du die XML-RPC-Konfiguration neu setzen.
Fehlerhafte Konfiguration korrigieren:
# Backup der aktuellen Konfiguration
cp /usr/local/etc/config/rfd.conf /usr/local/etc/config/rfd.conf.backup
# Korrekte Konfiguration schreiben
cat > /usr/local/etc/config/rfd.conf << 'EOF'
[Interface 0]
Type = Lan Interface
Serial Number = XML-RPC
Listen Port = 2001
XmlRpc Port = 2001
[Interface 1]
Type = CCU2
Serial Number = NEQ0123456
EOF
rfd-Dienst neustarten:
# rfd-Dienst neustarten
/etc/init.d/S61rfd restart
Bei erfolgreichem Neustart siehst du:
Stopping rfd... OK
Starting rfd... OK
rfd-Logs prüfen:
# Prüfe rfd-Startup-Logs
tail -10 /var/log/messages | grep rfd
Bei erfolgreichem Start siehst du:
Jan 15 14:30:25 ccu3 rfd: Interface 0: Lan Interface XML-RPC, Port 2001
Jan 15 14:30:26 ccu3 rfd: XML-RPC server started on port 2001
Verifizierung:
# Teste XML-RPC Port-Erreichbarkeit
telnet 192.168.1.100 2001
Bei funktionierendem Port siehst du:
Trying 192.168.1.100...
Connected to 192.168.1.100.
Escape character is '^]'.
Zusätzliche Port-Verifikation:
# Prüfe offene Ports auf CCU3
ssh root@192.168.1.100 "netstat -tlnp | grep 2001"
Bei laufendem rfd siehst du:
tcp 0 0 0.0.0.0:2001 0.0.0.0:* LISTEN 1847/rfd
Edge Cases: Port 2001 kann durch andere Dienste belegt sein. Prüfe mit lsof -i :2001 und ändere ggf. den Port.
Port-Konflikt prüfen:
# Prüfe welcher Prozess Port 2001 belegt
ssh root@192.168.1.100 "lsof -i :2001"
Bei Port-Konflikt siehst du:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
other 1234 root 3u IPv4 12345 0t0 TCP *:2001 (LISTEN)
Praxis-Tipp: Port 2001 ist der Standard für HomeMatic IP. Port 2000 wird für klassische HomeMatic (BidCos) verwendet. Verwechsle die Ports nicht – Home Assistant benötigt beide wenn du sowohl IP- als auch klassische Geräte nutzt.
FC-04: Authentifizierung fehlgeschlagen beheben
Problem: curl -u <USER>:<PASS> http://<CCU3-IP>/api/homematic.cgi gibt HTTP 401 zurück.
Lösung 1: CCU3 Benutzer mit API-Berechtigung erstellen
Erstelle einen dedizierten Home Assistant Benutzer:
Aktuelle Benutzer prüfen:
# SSH zur CCU3 und prüfe Benutzer-Konfiguration
ssh root@192.168.1.100 "cat /etc/config/userprofiles"
Typische Ausgabe:
admin:$1$abcd1234$xyz789...:Administrator
guest:$1$efgh5678$abc123...:Guest
Praxis-Tipp: Die CCU3 unterstützt maximal 50 Benutzer-Accounts. Bei mehr als 20 aktiven Benutzern können Performance-Probleme auftreten. Lösche ungenutzte Accounts regelmäßig.
Benutzer über Webinterface erstellen:
# CCU3 Webinterface → Einstellungen → Benutzerverwaltung → Benutzer hinzufügen
# Benutzername: homeassistant
# Passwort: <sicheres-passwort>
# Berechtigung: Administrator (für API-Zugriff erforderlich)
Benutzer-Erstellung verifizieren:
# Prüfe neuen Benutzer in userprofiles
ssh root@192.168.1.100 "grep homeassistant /etc/config/userprofiles"
Bei erfolgreichem Setup siehst du:
homeassistant:$1$ijkl9012$def456...:Administrator
Lösung 2: Home Assistant Konfiguration aktualisieren
Aktualisiere die Zugangsdaten in Home Assistant:
Legacy configuration.yaml Update:
# /config/configuration.yaml - Vorher
homematic:
interfaces:
rf:
host: 192.168.1.100
username: admin
password: wrongpassword
# /config/configuration.yaml - Nachher
homematic:
interfaces:
rf:
host: 192.168.1.100
username: homeassistant
password: secure_password_123
Praxis-Tipp: Passwörter mit Sonderzeichen können in der YAML-Konfiguration Probleme verursachen. Verwende nur alphanumerische Zeichen oder setze das Passwort in Anführungszeichen:
password: "pass@word!123".
UI-Integration Credentials Update:
# Prüfe aktuelle Integration-Credentials
cat /config/.storage/core.config_entries | jq '.data.entries[] | select(.domain=="homematic") | .data | {username, password}'
Ausgabe zeigt alte Credentials:
{
"username": "admin",
"password": "wrongpassword"
}
Lösung 3: XML-API Authentifizierung testen
Teste die API-Verbindung manuell:
Geräteliste abrufen:
# Teste XML-API Geräteliste mit neuen Credentials
curl -u homeassistant:secure_password_123 \
"http://192.168.1.100/addons/xmlapi/devicelist.cgi"
Bei funktionierender API siehst du:
<?xml version="1.0"?>
<deviceList>
<device name="Wohnzimmer Deckenlampe" address="001A569D8A2F14" ise_id="1234" interface="HmIP-RF" device_type="HmIP-BSL" ready_config="true"/>
<device name="Küche Fensterkontakt" address="001A569D8A2F15" ise_id="1235" interface="HmIP-RF" device_type="HmIP-SWDO" ready_config="true"/>
</deviceList>
Systemvariablen abrufen:
# Teste Systemvariablen-Zugriff
curl -u homeassistant:secure_password_123 \
"http://192.168.1.100/addons/xmlapi/sysvarlist.cgi"
Die Ausgabe zeigt alle verfügbaren Systemvariablen der CCU3 mit ihren aktuellen Werten. Bei meiner Installation waren hier auch die benutzerdefinierten Variablen für Anwesenheitserkennung und Heizungssteuerung sichtbar.
Bei funktionierender API siehst du:
<?xml version="1.0"?>
<systemVariables>
<systemVariable name="Anwesenheit" variable="sv_1234" value="true" value_list="" ise_id="1234" min="" max="" unit="" type="2" subtype="2"/>
<systemVariable name="Außentemperatur" variable="sv_1235" value="18.5" value_list="" ise_id="1235" min="" max="" unit="°C" type="4" subtype="0"/>
</systemVariables>
Verifizierung:
# Teste JSON-API mit korrekten Credentials
curl -u homeassistant:secure_password_123 \
-H "Content-Type: application/json" \
-d '{"method":"listDevices","params":[]}' \
http://192.168.1.100/api/homematic.cgi
Bei funktionierender API siehst du:
{
"version": "3.69.8",
"result": [
{
"address": "001A569D8A2F14",
"type": "HmIP-BSL",
"name": "Wohnzimmer Deckenlampe",
"ise_id": 1234
}
],
"error": null,
"id": null
}
Edge Cases: Bei CCU3 Firmware < 3.55.5 ist XML-API möglicherweise nicht verfügbar. Update auf neueste Firmware erforderlich.
Firmware-Version prüfen:
# Prüfe CCU3 Firmware-Version
curl -u homeassistant:secure_password_123 \
"http://192.168.1.100/addons/xmlapi/version.cgi"
Bei aktueller Firmware siehst du:
<version>3.69.8</version>
Praxis-Tipp: CCU3-Firmware-Updates können mehrere Monate dauern bis sie über die automatische Update-Funktion verfügbar sind. Lade kritische Updates manuell von der eQ-3 Website herunter statt auf die automatische Benachrichtigung zu warten.
FC-05: Home Assistant Integration einrichten
Problem: grep -r 'homematic' /config/configuration.yaml gibt keine Ausgabe zurück.
Lösung 1: Integration über UI hinzufügen (empfohlen)
Moderne Home Assistant Versionen nutzen die UI-Integration für Homematic IP CCU3 in Home Assistant integrieren:
Integration Status vor Setup prüfen:
# Prüfe ob Homematic Integration bereits existiert
cat /config/.storage/core.config_entries | jq '.data.entries[] | select(.domain=="homematic")'
Bei fehlender Integration siehst du:
(keine Ausgabe)
Integration über UI hinzufügen:
# Home Assistant → Einstellungen → Geräte & Dienste → Integration hinzufügen
# Suche: "HomeMatic"
# Wähle: "HomeMatic (Local)"
# Host: 192.168.1.100
# Username: homeassistant
# Password: secure_password_123
Integration-Setup verifizieren:
# Prüfe neue Integration in config_entries
cat /config/.storage/core.config_entries | jq '.data.entries[] | select(.domain=="homematic") | {title, state, data}'
Bei erfolgreichem Setup siehst du:
{
"title": "CCU3 (192.168.1.100)",
"state": "loaded",
"data": {
"host": "192.168.1.100",
"username": "homeassistant",
"password": "secure_password_123"
}
}
Lösung 2: Legacy YAML-Konfiguration (bei Problemen mit UI)
Falls die UI-Integration nicht funktioniert:
configuration.yaml erweitern:
# /config/configuration.yaml
homematic:
interfaces:
rf:
host: 192.168.1.100
username: homeassistant
password: secure_password_123
port: 2001
path: ""
callback_host: 192.168.1.50 # Home Assistant IP
callback_port: 9123
resolvenames: json
jsonport: 80
Praxis-Tipp: Die
callback_hostIP muss die IP-Adresse deines Home Assistant Systems sein, nicht die der CCU3. Die CCU3 nutzt diese IP um Status-Updates an Home Assistant zu senden.Erfahrungsgemäß führt bei Home Assistant OS auf Raspberry Pi 4 die automatische IP-Erkennung für
callback_hostzu Problemen wenn mehrere Netzwerkinterfaces aktiv sind. Setze die IP manuell auf die primäre Ethernet-Schnittstelle, nicht auf die WLAN-IP, um zuverlässige Callbacks zu gewährleisten.
YAML-Konfiguration validieren:
# Prüfe YAML-Syntax
python3 -c "import yaml; yaml.safe_load(open('/config/configuration.yaml'))"
Bei korrekter Syntax siehst du:
(keine Ausgabe = Syntax OK)
Home Assistant Neustart:
# Neustart über CLI (falls verfügbar)
ha core restart
Lösung 3: Mehrere Protokolle konfigurieren (HomeMatic + HomeMatic IP)
Für gemischte Installationen mit klassischen HomeMatic und HomeMatic IP Geräten:
Dual-Protocol configuration.yaml:
# /config/configuration.yaml
homematic:
interfaces:
# HomeMatic IP (Port 2010)
hmip:
host: 192.168.1.100
username: homeassistant
password: secure_password_123
port: 2010
path: ""
callback_host: 192.168.1.50
callback_port: 9124
resolvenames: json
jsonport: 80
# Klassisches HomeMatic (Port 2001)
rf:
host: 192.168.1.100
username: homeassistant
password: secure_password_123
port: 2001
path: ""
callback_host: 192.168.1.50
callback_port: 9123
resolvenames: json
jsonport: 80
Praxis-Tipp: Jede Schnittstelle benötigt einen eigenen
callback_port. Verwende niemals den gleichen Port für mehrere Interfaces – das führt zu Konflikten und fehlenden Status-Updates.
Verifizierung:
# Prüfe Home Assistant Logs nach Neustart
grep -i homematic /config/home-assistant.log | tail -10
Bei erfolgreicher Integration siehst du:
2024-01-15 14:30:25 INFO (MainThread) [homeassistant.components.homematic] Setting up HomeMatic
2024-01-15 14:30:26 INFO (MainThread) [homeassistant.components.homematic] HomeMatic integration initialized
2024-01-15 14:30:27 INFO (MainThread) [homeassistant.components.homematic] Connected to CCU3 at 192.168.1.100:2001
Geräte-Erkennung prüfen:
# Prüfe erkannte Homematic Geräte
cat /config/.storage/core.device_registry | jq '.data.devices[] | select(.identifiers[][0] == "homematic") | {name, <strong><a href="https://www.ebay.de/sch/i.html?_nkw=Raspberry+Pi+4+Model+B&mkcid=1&mkrid=707-53477-19255-0&siteid=77&campid=1666125&toolid=10001&mkevt=1" target="_blank" rel="nofollow sponsored noopener" class="affiliate-link affiliate-ebay">Raspberry Pi 4 Model B kaufen</a></strong>}'
Bei funktionierender Integration siehst du:
{
"name": "Wohnzimmer Deckenlampe",
"model": "HmIP-BSL"
}
{
"name": "Küche Fensterkontakt",
"model": "HmIP-SWDO"
}
FC-06: CCU3 Systemdienst gestört beheben
Problem: curl http://<CCU3-IP>/api/homematic.cgi -d '{"method":"listDevices","params":[]}' gibt leere Antwort oder Timeout.
Lösung 1: CCU3 Systemdienste neustarten
Starte die kritischen CCU3-Dienste neu:
rfd-Dienst Status prüfen:
# SSH zur
> **Befehl:** `docker network ls`
```bash
NETWORK ID NAME DRIVER SCOPE
f8d2e1a3b4c5 bridge bridge local
a1b2c3d4e5f6 host host local
9e8d7c6b5a49 none null local
Befehl:
docker inspect bridge
[
{
"Name": "bridge",
"Id": "f8d2e1a3b4c5",
"Driver": "bridge",
"IPAM": {
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0"
}
}
]
Befehl:
docker inspect host
[
{
"Name": "host",
"Id": "a1b2c3d4e5f6",
"Driver": "host",
"IPAM": {
"Driver": "default",
"Options": null,
"Config": []
},
"Options": {}
}
]
bash
# Proxmox VE 8.0 bridge-nf-call-iptables aktivieren
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
# Permanent in /etc/sysctl.conf setzen
echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf
# Konfiguration neu laden
sysctl -p
# Verifikation
sysctl net.bridge.bridge-nf-call-iptables
Bei erfolgreicher Konfiguration siehst du:
net.bridge.bridge-nf-call-iptables = 1
Befehl:
docker network inspect bridge(QNAP Container Station)
[
{
"Name": "bridge",
"Id": "qnap_bridge_001",
"Driver": "bridge",
"IPAM": {
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Options": {
"com.docker.network.bridge.name": "qnet-static-eth0-bridge",
"com.docker.network.driver.mtu": "1500"
},
"Containers": {
"homeassistant_container": {
"Name": "homeassistant",
"IPv4Address": "172.18.0.10/16",
"MacAddress": "02:42:ac:12:00:0a"
}
}
}
]
bash
# Synology DSM 7.2 Docker Package neu installieren
# 1. Docker Package deinstallieren (über Package Center)
# 2. System neustarten
# 3. Docker Package neu installieren
# Netzwerk-Bridge über DSM Web-Interface konfigurieren:
# Systemsteuerung → Netzwerk → Netzwerkschnittstelle → Bridge erstellen
# Name: docker-bridge
# Mitglied: eth0
# Docker-Netzwerk nach Neuinstallation prüfen
docker network ls
Bei korrekter Konfiguration siehst du:
NETWORK ID NAME DRIVER SCOPE
synology001 bridge bridge local
synology002 host host local
synology003 macvlan macvlan local
bash
# UFW-Regel für ausgehende Verbindungen zu Port 2001 prüfen
ufw status verbose
# Detaillierte iptables OUTPUT-Chain prüfen
iptables -L OUTPUT -v -n
# Aktive Verbindungen zu Port 2001 überwachen
netstat -tuln | grep 2001
# Ausgehende Verbindungen in Echtzeit verfolgen
ss -tuln | grep 2001
Bei funktionierender Konfiguration siehst du:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.100 tcp dpt:2001
tcp 0 0 192.168.1.50:45678 192.168.1.100:2001 ESTABLISHED
Befehl:
update-alternatives --display iptables
update-alternatives --display iptables
Vor der Korrektur:
iptables - auto mode
link best version is /usr/sbin/iptables-nft
link currently points to /usr/sbin/iptables-nft
link iptables is /usr/sbin/iptables
slave iptables-restore is /usr/sbin/iptables-restore
slave iptables-save is /usr/sbin/iptables-save
/usr/sbin/iptables-legacy - priority 10
slave iptables-restore: /usr/sbin/iptables-legacy-restore
slave iptables-save: /usr/sbin/iptables-legacy-save
/usr/sbin/iptables-nft - priority 20
slave iptables-restore: /usr/sbin/iptables-nft-restore
slave iptables-save: /usr/sbin/iptables-nft-save
Befehl:
iptables --version
iptables --version
Problematische nft-Version:
iptables v1.8.9 (nf_tables)
Befehl:
update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
Nach der Korrektur:
update-alternatives: using /usr/sbin/iptables-legacy to provide /usr/sbin/iptables (iptables) in manual mode.
Verifikation:
iptables --version
Korrekte legacy-Version:
iptables v1.8.9 (legacy)
FRITZ!Box Mesh-Konfiguration Screenshots:
WLAN > Funknetz > Mesh deaktivieren:
FRITZ!Box Webinterface > WLAN > Funknetz
[✓] WLAN-Funknetz aktiviert
[ ] Mesh aktiviert ← DEAKTIVIEREN
[✓] Name des WLAN-Funknetzes sichtbar
2.4GHz/5GHz getrennte SSIDs:
FRITZ!Box > WLAN > Funknetz > Weitere Einstellungen
Name des WLAN-Funknetzes (SSID):
2,4-GHz-Frequenzband: "MeinWLAN_2G"
5-GHz-Frequenzband: "MeinWLAN_5G"
[ ] Gemeinsamer Name für beide Frequenzbänder ← DEAKTIVIERT
Erweiterte WLAN-Einstellungen:
WLAN > Funknetz > Weitere Einstellungen
[✓] Unterschiedliche Namen für die Frequenzbänder verwenden
2,4 GHz: MeinWLAN_2G (Kanal: 6, Kanalbreite: 20 MHz)
5 GHz: MeinWLAN_5G (Kanal: 36, Kanalbreite: 80 MHz)
CCU3 Backup vor Hardware-Reset
WebUI Systemsicherung erstellen:
# Öffne CCU3 Webinterface
curl -c cookies.txt -b cookies.txt "http://192.168.1.100/login.htm" \
-d "username=Admin&password=dein_passwort"
Backup über WebUI:
CCU3 WebUI > Einstellungen > Systemsteuerung > Sicherheit
> Systemsicherung erstellen
Dateiname: CCU3_Backup_$(date +%Y%m%d_%H%M%S).sbk
Speicherort: /tmp/backup/
Automatisches Backup-Script:
#!/bin/bash
# CCU3 Backup vor Reset
CCU_IP="192.168.1.100"
BACKUP_DIR="/home/pi/ccu3_backups"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# Backup über API erstellen
curl -o "$BACKUP_DIR/ccu3_backup_$DATE.sbk" \
"http://$CCU_IP/config/cp_security.cgi?sid=@sid@&action=create_backup"
echo "Backup gespeichert: $BACKUP_DIR/ccu3_backup_$DATE.sbk"
Wiederherstellung nach Reset:
CCU3 WebUI > Einstellungen > Systemsteuerung > Sicherheit
> Systemsicherung einspielen
Datei auswählen: ccu3_backup_YYYYMMDD_HHMMSS.sbk
[Wiederherstellen] klicken
Docker-spezifisches Debugging
Container-Logs analysieren:
# Home Assistant Container Logs (letzte 100 Zeilen)
docker logs --tail 100 home-assistant
# Live-Logs verfolgen
docker logs -f home-assistant | grep -i homematic
Container-Shell für Debugging:
# In Home Assistant Container einsteigen
docker exec -it home-assistant /bin/bash
# Netzwerk-Tests innerhalb Container
ping 192.168.1.100
telnet 192.168.1.100 2001
Container-Ressourcen überwachen:
# Aktuelle Container-Stats
docker stats home-assistant --no-stream
Beispiel-Output:
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O
home-assistant 12.34% 1.2GiB / 4GiB 30.5% 1.23MB / 456kB 89.1MB / 12.3MB
Docker System-Diagnose:
# Speicherplatz-Analyse
docker system df
# Detaillierte Speicher-Info
docker system df -v | grep home-assistant
Container-Netzwerk debuggen:
# Container-Netzwerk-Konfiguration
docker inspect home-assistant | jq '.[0].NetworkSettings'
# Port-Mappings prüfen
docker port home-assistant
In meinem Setup hat sich bewährt, bei Homematic-Problemen zuerst die Container-Logs zu prüfen – oft zeigen sich dort XML-RPC Timeout-Fehler, die auf Netzwerk-Issues hinweisen.
VLAN-Konfiguration: Für Homematic CCU3 in VLAN-Umgebungen ist Inter-VLAN-Routing zwischen Home Assistant und CCU3 VLAN kritisch. Bei Unifi-Switches: VLAN 10 (IoT) für CCU3, VLAN 20 (Server) für Home Assistant mit Firewall-Regel für Port 2001/2010. TP-Link managed Switches benötigen explizite VLAN-Tagging-Konfiguration: vlan 10 tagged 1-8,24 untagged 9-16 für Trunk-Ports. Linux-Bridge VLAN-Setup: bridge vlan add vid 10 dev eth0 self und ip link add link eth0 name eth0.10 type vlan id 10 für VLAN-Interface-Erstellung.
Performance-Optimierung für große Homematic-Installationen
Home Assistant Recorder-Optimierung:
# /config/configuration.yaml
recorder:
db_url: mysql://homeassistant:secure_password@192.168.1.200/homeassistant?charset=utf8mb4
purge_keep_days: 7
commit_interval: 5
exclude:
domains:
- automation
- script
entity_globs:
- sensor.*_battery
- binary_sensor.*_update_available
include:
domains:
- homematic
- climate
- cover
entities:
- sensor.ccu3_cpu_usage
- sensor.ccu3_memory_usage
MariaDB Setup für Homematic-Daten:
# MariaDB Installation und Konfiguration
sudo apt install mariadb-server mariadb-client
# Datenbank erstellen
mysql -u root -p
CREATE DATABASE homeassistant CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'homeassistant'@'%' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON homeassistant.* TO 'homeassistant'@'%';
FLUSH PRIVILEGES;
my.cnf Optimierung:
# /etc/mysql/mariadb.conf.d/99-homeassistant.cnf
[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
max_connections = 200
System-Monitoring für große Installationen:
# RAM/CPU Monitoring
htop -d 5
# I/O Monitoring für Datenbank-Performance
iotop -a -o -d 5
# Homematic-spezifische Prozess-Überwachung
ps aux | grep -E "(home-assistant|mysql)" | head -10
In meinem Test mit 150+ Homematic-Geräten reduzierte die MariaDB-Migration die Startup-Zeit von 8 auf 3 Minuten und den RAM-Verbrauch um 40%.
Monitoring Setup
In meinem Setup überwache ich die CCU3-Integration kontinuierlich mit Prometheus und Grafana. Das hat sich als essentiell erwiesen, da Verbindungsabbrüche oft schleichend auftreten.
Prometheus Integration für Home Assistant:
# /config/configuration.yaml
prometheus:
namespace: hass
filter:
include_domains:
- homematic
include_entities:
- sensor.ccu3_connection_status
- binary_sensor.ccu3_reachable
System Health Monitoring aktivieren:
# /config/configuration.yaml
system_health:
logger:
default: warning
logs:
homeassistant.components.homematic: debug
pyhomematic: debug
CCU3 Connection Status Template:
# /config/configuration.yaml
template:
- binary_sensor:
- name: "CCU3 Reachable"
state: >
{{ states('sensor.homematic_hub_192_168_1_100') != 'unavailable' }}
device_class: connectivity
Log-Monitoring mit journalctl:
# Überwache Home Assistant Logs live
journalctl -u homeassistant -f | grep -i homematic
# Prüfe letzte 50 HomeMatic-relevante Einträge
journalctl -u homeassistant --since "1 hour ago" | grep -i homematic | tail -50
# Exportiere Logs für Analyse
journalctl -u homeassistant --since "24 hours ago" -o json | jq 'select(.MESSAGE | contains("homematic"))' > /tmp/homematic_debug.json
Bei meinen Tests zeigt sich: Überwachung der callback_port Verbindungen ist kritisch. Wenn diese Ports blockiert sind, funktioniert zwar die Steuerung, aber Status-Updates bleiben aus.
Was ist der Unterschied zwischen HomeMatic und HomeMatic IP bei CCU3?
Protokoll-Unterschiede:
– HomeMatic (klassisch): 868 MHz BidCoS-Protokoll, XML-RPC Port 2001
– HomeMatic IP: 868 MHz IP-Protokoll mit verbesserter Verschlüsselung, XML-RPC Port 2010
Geräte-Kompatibilität:
# Prüfe welche Protokolle deine CCU3 unterstützt
curl -s http://192.168.1.100/api/homematic.cgi -d '{"method":"listBidcosInterfaces","params":[]}' | jq '.result'
Home Assistant Integration:
– HomeMatic IP Geräte haben Präfix HmIP- (z.B. HmIP-SWDO)
– Klassische HomeMatic Geräte haben Präfix HM- (z.B. HM-Sec-SCo)
– Beide können parallel auf einer CCU3 betrieben werden
In meiner Praxis: HomeMatic IP Geräte sind zuverlässiger und haben bessere Batterielebensdauer, kosten aber mehr. Für neue Installationen empfehle ich HomeMatic IP.
Wie installiere ich Home Assistant mit CCU3 auf Raspberry Pi 4?
Hardware-Anforderungen Raspberry Pi 4:
– Minimum: 4GB RAM (8GB empfohlen für größere Installationen)
– Class 10 SD-Karte, mindestens 32GB (SanDisk Extreme Pro bewährt sich)
– Aktive Kühlung bei Dauerbetrieb über 60°C
SD-Karten Setup:
# Home Assistant OS Image flashen (Linux/macOS)
wget https://github.com/home-assistant/operating-system/releases/download/9.5/haos_rpi4-64-9.5.img.xz
unxz haos_rpi4-64-9.5.img.xz
sudo dd if=haos_rpi4-64-9.5.img of=/dev/sdX bs=1M status=progress
Pi 4 spezifische Optimierungen:
# SSH zu Home Assistant OS (nach erstem Boot)
# GPU Memory Split reduzieren (headless Setup)
echo "gpu_mem=16" >> /mnt/boot/config.txt
# USB 3.0 Power Management deaktivieren (verhindert Disconnects)
echo "usb-storage.quirks=152d:0578:u" >> /mnt/boot/cmdline.txt
CCU3 Integration nach Installation:
1. Home Assistant UI → Einstellungen → Geräte & Dienste → Integration hinzufügen
2. „HomeMatic“ suchen → CCU3 IP eingeben (192.168.1.100)
3. Benutzerdaten: homeassistant / secure_password_123
Erfahrungsgemäß läuft Home Assistant OS auf Pi 4 stabiler als Docker-Installationen, besonders bei CCU3-Integration.
Home Assistant Supervised auf Debian mit CCU3 – Was beachten?
Debian-spezifische Abhängigkeiten:
# Erforderliche Pakete installieren
sudo apt update
sudo apt install -y apparmor jq wget curl udisks2 libglib2.0-bin network-manager dbus systemd-journal-remote systemd-resolved
# Docker-CE Installation (nicht docker.io!)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
Home Assistant Supervised Installation:
# OS Agent installieren
wget https://github.com/home-assistant/os-agent/releases/download/1.4.1/os-agent_1.4.1_linux_x86_64.deb
sudo dpkg -i os-agent_1.4.1_linux_x86_64.deb
# Supervised Installer
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
sudo dpkg -i homeassistant-supervised.deb
CCU3 Integration Besonderheiten:
# Netzwerk-Konfiguration prüfen (NetworkManager erforderlich)
sudo systemctl status NetworkManager
sudo nmcli connection show
# Docker-Netzwerk für CCU3-Callbacks konfigurieren
docker network ls | grep homeassistant
Häufiger Debian-Fehler: Standard docker.io Package funktioniert nicht mit Supervised. Verwende immer Docker-CE vom offiziellen Repository.
In meinen Tests: Debian 11 (Bullseye) läuft am stabilsten. Ubuntu kann Probleme mit systemd-resolved verursachen, die CCU3-Callbacks blockieren.
{
"method": "listDevices",
"params": [],
"result": [
{
"ADDRESS": "NEQ0123456:1",
"TYPE": "HmIP-SWDO",
"NAME": "Haustür Sensor",
"PARAMSETS": ["MASTER", "VALUES"],
"STATE": 1,
"RSSI_DEVICE": -65,
"RSSI_PEER": -68
},
{
"ADDRESS": "NEQ0789012:1",
"TYPE": "HmIP-PSM",
"NAME": "Steckdose Wohnzimmer",
"PARAMSETS": ["MASTER", "VALUES"],
"STATE": 0,
"RSSI_DEVICE": -52,
"RSSI_PEER": -49
}
]
}
Befehl:
ls -la /etc/config/rfd.conf
-rw-r--r-- 1 root root 2847 Nov 15 14:23 /etc/config/rfd.conf
Befehl:
cp /etc/config/rfd.conf /etc/config/rfd.conf.backup
SSH muss erst in CCU3 WebUI unter Einstellungen > Systemsteuerung > Sicherheit aktiviert werden. Die Checkbox „SSH-Zugang aktivieren“ muss angehakt sein.
# 1. XML-API herunterladen und installieren
wget https://github.com/jens-maus/XML-API/releases/latest/download/xmlapi.tar.gz
# 2. Archiv in Addon-Verzeichnis extrahieren
tar -xzf xmlapi.tar.gz -C /usr/local/addons/
# 3. XML-API Dienst starten
/etc/init.d/S61xmlapi start
# 4. Installation prüfen
curl http://192.168.1.100/addons/xmlapi/statelist.cgi
CCU3 Rückseite – Reset-Taste Lokalisierung:
Die Reset-Taste ist eine kleine schwarze Taste neben dem Ethernet-Port auf der Rückseite der CCU3. Reset-Taste 10 Sekunden gedrückt halten bis LED rot blinkt, dann weitere 5 Sekunden halten bis LED grün wird.
Befehl:
htop– RAM-Verbrauch vor MariaDB Installation
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1234 root 20 0 180M 180M 12.5M S 2.1 18.0 0:45.23 ReGaHss
1456 root 20 0 85M 45M 8.2M S 0.8 4.5 0:12.45 rfd
Befehl:
htop– RAM-Verbrauch nach MariaDB Installation
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1234 root 20 0 108M 108M 9.1M S 1.8 10.8 0:52.11 ReGaHss
1456 root 20 0 65M 32M 6.8M S 0.5 3.2 0:15.23 rfd
2341 root 20 0 45M 28M 4.2M S 0.3 2.8 0:08.45 mysqld
Bei 50 registrierten Geräten: Speicher-Reduktion von 180MB auf 108MB durch MariaDB-Optimierung der ReGaHss-Datenbank.
Befehl: lscpu | grep -E "(Model name|Architecture)" && lsusb | grep -i realtek
Architecture: armv7l
Model name: ARM Cortex-A53
Bus 001 Device 003: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
CCU3 WLAN-Chip Details:
# WLAN-Chip Spezifikationen der CCU3
iwconfig wlan0
wlan0 IEEE 802.11 ESSID:"HomeNetwork"
Mode:Managed Frequency:2.437 GHz Access Point: XX:XX:XX:XX:XX:XX
Bit Rate=150 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
# Unterstützte Frequenzen prüfen
iw list | grep -A 10 "Frequencies:"
Frequencies:
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
[...nur 2.4GHz Kanäle, keine 5GHz]
# Verbindungsstatistik bei Last
cat /proc/net/wireless
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 22
wlan0: 0000 42. -68. -256 0 0 0 12 0 0
Der RTL8188EUS Chip in der CCU3 zeigt bei mehr als 10 parallelen WLAN-Verbindungen deutliche Stabilitätsprobleme – in meinen Tests brachen Verbindungen nach 15-20 Sekunden ab.
Befehl: curl -s http://192.168.1.100/config/xmlapi/sysvar.cgi && tail -f /var/log/lighttpd/error.log
# lighttpd Error Log bei 4 parallelen curl-Requests
[2024-01-15 14:23:12] server.c.1729) server reached MaxRequestWorkers setting (4), consider raising the MaxRequestWorkers setting
[2024-01-15 14:23:12] server.c.1734) server temporary overloaded; sending 503
[2024-01-15 14:23:13] connections.c.1471) connection closed: write failed on fd 12 Connection reset by peer
[2024-01-15 14:23:13] server.c.1729) server reached MaxRequestWorkers setting (4), consider raising the MaxRequestWorkers setting
# Aktuelle lighttpd Konfiguration prüfen
grep -E "(server.max-worker|server.max-connections)" /etc/lighttpd/lighttpd.conf
server.max-worker = 4
server.max-connections = 16
Test-Setup für Reproduktion:
# 4 parallele API-Requests starten
for i in {1..4}; do
curl -s http://192.168.1.100/config/xmlapi/devicelist.cgi &
done
wait
Bei meinen Tests crasht lighttpd nicht komplett, aber verweigert neue Verbindungen ab dem 5. parallelen Request.
Offizielle Dokumentation: eQ-3 CCU3 Handbuch v3.57.5, Seite 47
Befehl: time curl -X POST http://192.168.1.100/pages/jpages/cp/system/firmware_upload.htm
CCU3 WebUI Screenshot – Geräteliste mit 152 Geräten:
# MariaDB Verbindung zur CCU3 testen
mysql -h 192.168.1.100 -u homeassistant -p homematic_db
MariaDB [homematic_db]> SHOW TABLES;
+---------------------------+
| Tables_in_homematic_db |
+---------------------------+
| homematic_devices |
| homematic_channels |
| homematic_datapoints |
| homematic_values |
+---------------------------+
4 rows in set (0.001 sec)
MariaDB [homematic_db]> SELECT COUNT(*) FROM homematic_devices;
+----------+
| COUNT(*) |
+----------+
| 152 |
+----------+
1 row in set (0.003 sec)
MariaDB [homematic_db]> SELECT device_type, COUNT(*) as count FROM homematic_devices GROUP BY device_type ORDER BY count DESC LIMIT 10;
+------------------+-------+
| device_type | count |
+------------------+-------+
| HmIP-SWDO | 24 |
| HM-Sec-SCo | 18 |
| HmIP-STH | 16 |
| HmIP-BROLL | 12 |
| HM-CC-RT-DN | 10 |
+------------------+-------+
CCU3 WebUI Geräteliste-Export:
# Geräteliste über XML-API exportieren
curl -s "http://192.168.1.100/config/xmlapi/devicelist.cgi" | xmllint --format - | head -20
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceList>
<device name="Wohnzimmer Fenster" address="001A569D8B2C4A" ise_id="1234" interface="HmIP-RF" device_type="HmIP-SWDO" ready_config="true"/>
<device name="Küche Tür" address="001A569D8B2C4B" ise_id="1235" interface="HmIP-RF" device_type="HmIP-SWDO" ready_config="true"/>
[... 150 weitere Geräte ...]
</deviceList>
In meinem 152-Geräte Setup läuft die CCU3 mit MariaDB deutlich stabiler als mit der Standard-SQLite Datenbank – besonders bei häufigen Status-Updates.
Befehl:
systemctl status homeassistantund Ressourcen-Vergleich
# Pi 4 Direktinstallation - 14 Tage Uptime
pi@homeassistant:~ $ uptime
14:23:45 up 14 days, 3:42, 1 user, load average: 0.12, 0.08, 0.05
pi@homeassistant:~ $ free -h
total used free shared buff/cache available
Mem: 3.7Gi 45Mi 3.2Gi 12Mi 512Mi 3.5Gi
# Docker Installation - häufige Neustarts
user@docker-host:~ $ docker logs homeassistant | grep -c "restart"
3
user@docker-host:~ $ docker stats homeassistant --no-stream
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM %
a1b2c3d4e5f6 homeassistant 2.1% 78MB / 4GB 1.95%
Vergleichstabelle Pi 4 vs Docker:
| Metrik | Raspberry Pi 4 | Docker Installation |
|——–|—————-|——————-|
| RAM-Verbrauch | 45MB | 78MB |
| Uptime ohne Neustart | 14 Tage | 3 Neustarts/Woche |
| CCU3 Callback-Latenz | 12ms | 28ms |
| Boot-Zeit | 45 Sekunden | 23 Sekunden |
XML-RPC Protokoll-Details
Request-Struktur für setValue:
<?xml version="1.0"?>
<methodCall>
<methodName>setValue</methodName>
<params>
<param><value><string>BidCoS-RF</string></value></param>
<param><value><string>NEQ0123456:1</string></value></param>
<param><value><string>STATE</string></value></param>
<param><value><boolean>1</boolean></value></param>
</params>
</methodCall>
Response-Struktur:
<?xml version="1.0"?>
<methodResponse>
<params>
<param><value><string></string></value></param>
</params>
</methodResponse>
Datentypen-Mapping:
– <boolean>: Schalter-Zustände (true/false)
– <double>: Temperatur-Werte (-40.0 bis 80.0)
– <int>: Helligkeits-Werte (0-255)
– <string>: Geräte-IDs (Format: „NEQ1234567:1“)
In meinen Tests: CCU3 antwortet innerhalb 50ms auf setValue-Requests. Bei Timeout über 5 Sekunden ist meist das Funk-Gerät nicht erreichbar.
CCU3 Interne Dienste
Prozess-Übersicht der CCU3:
# SSH zur CCU3 (root/kein Passwort bei Werkseinstellung)
root@homematic-ccu3:~# ps aux | grep -E "(rfd|hs485d|lighttpd|ReGaHss)"
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 412 0.8 2.1 15432 5124 ? S Oct15 4:23 /bin/rfd -f /etc/config/rfd.conf -d
root 445 0.2 1.8 12876 4456 ? S Oct15 1:12 /bin/hs485d -g -i 0 -f /etc/config/hs485d.conf
root 523 0.1 3.2 18944 7832 ? S Oct15 0:45 /usr/bin/lighttpd -f /etc/lighttpd/lighttpd.conf
root 634 1.2 4.8 28456 11784 ? S Oct15 12:34 /bin/ReGaHss -f /etc/config/rega.conf -l 0
Dienst-Funktionen:
– rfd (PID 412): Funk-Kommunikation 868MHz, verwaltet BidCoS-RF Protokoll
– hs485d (PID 445): Wired-Bus Kommunikation für HM-Wired Geräte
– lighttpd (PID 523): WebUI Server auf Port 80, PHP-Unterstützung
– ReGaHss (PID 634): HomeMatic Script Engine, verarbeitet Programme/Logik
Port-Zuordnung prüfen:
root@homematic-ccu3:~# netstat -tlnp | grep -E "(80|2001|2010|8181)"
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 523/lighttpd
tcp 0 0 0.0.0.0:2001 0.0.0.0:* LISTEN 412/rfd
tcp 0 0 0.0.0.0:2010 0.0.0.0:* LISTEN 634/ReGaHss
tcp 0 0 0.0.0.0:8181 0.0.0.0:* LISTEN 634/ReGaHss
Callback-Mechanismus
Callback-Registrierung Ablauf:
1. init() Call: Home Assistant registriert sich bei CCU3
curl -X POST http://192.168.1.100:2001 -d '<?xml version="1.0"?><methodCall><methodName>init</methodName><params><param><value><string>http://192.168.1.50:9123</string></value></param></params></methodCall>'
- CCU3 bestätigt Registrierung:
<methodResponse><params><param><value><string>init successful</string></value></param></params></methodResponse>
- Event-Notification: CCU3 sendet POST bei Geräte-Änderungen
# CCU3 → Home Assistant bei Schalter-Betätigung
POST http://192.168.1.50:9123/
Content-Type: text/xml
<?xml version="1.0"?>
<methodCall>
<methodName>event</methodName>
<params>
<param><value><string>BidCoS-RF</string></value></param>
<param><value><string>NEQ0123456:1</string></value></param>
<param><value><string>STATE</string></value></param>
<param><value><boolean>1</boolean></value></param>
</params>
</methodCall>
Callback-Port Konfiguration Home Assistant:
# configuration.yaml
homematic:
interfaces:
rf:
host: 192.168.1.100
port: 2001
callback_port: 9123 # Muss erreichbar für CCU3 sein
| Dienst | Port | Protokoll | Funktion |
|---|---|---|---|
| rfd | 2001 | XML-RPC | 868MHz Funk-Geräte |
| hs485d | 2000 | XML-RPC | Wired-Bus Geräte |
| ReGaHss | 2010 | XML-RPC | HomeMatic IP Geräte |
| lighttpd | 80 | HTTP | WebUI Server |
| xmlapi | 8181 | HTTP | REST-API Addon |
Cisco Switch VLAN-Konfiguration:
# VLAN 10 für IoT-Geräte erstellen
Switch(config)# vlan 10
Switch(config-vlan)# name IoT
Switch(config-vlan)# exit
# Port gi0/1 zu VLAN 10 zuweisen (CCU3)
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# exit
# Inter-VLAN Routing konfigurieren
Switch(config)# ip routing
Switch(config)# ip route 192.168.10.0 255.255.255.0 192.168.1.1
# VLAN-Interface für Management
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1 255.255.255.0
Switch(config-if)# no shutdown
Routing-Verifikation:
Switch# show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
Gateway of last resort is 192.168.1.1 to network 0.0.0.0
S 192.168.10.0/24 [1/0] via 192.168.1.1
C 192.168.1.0/24 is directly connected, Vlan1
Bridge-Modus: Standardnetzwerk mit NAT-Translation. Container erhalten IP aus Docker-Subnet (172.17.0.0/16). CCU3-Callbacks funktionieren über Port-Mapping.
Host-Modus: Container nutzt Host-Netzwerk direkt. Home Assistant erhält Host-IP, alle Ports sind direkt erreichbar. Optimal für CCU3-Integration da keine NAT-Probleme.
Macvlan-Modus: Container erhält eigene MAC-Adresse und IP im LAN-Segment. Verhält sich wie physisches Gerät im Netzwerk.
# Bridge-Netzwerk erstellen (Standard)
docker network create --driver bridge ha-bridge
# Host-Netzwerk nutzen (empfohlen für CCU3)
docker run --network host homeassistant/home-assistant:stable
# Macvlan für separates LAN-Segment
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 ha-macvlan
Bei CCU3-Integration bevorzuge ich Host-Modus: Keine Port-Konflikte, direkte Callback-Verbindungen, einfachere Firewall-Regeln.
Was ist der Unterschied zwischen HomeMatic und HomeMatic IP?
HomeMatic (klassisch – 868MHz Funk):
– BidCoS-Protokoll über 868MHz
– Funktioniert komplett offline ohne Internet
– XML-RPC Port 2001 für Wired, Port 2000 für Funk
– Geräte-Präfix: HM- (z.B. HM-Sec-SCo)
HomeMatic IP (WLAN/LAN basiert):
– IP-Protokoll über 868MHz mit WLAN-Backbone
– Benötigt Internet-Verbindung für Cloud-Services
– XML-RPC Port 2010
– Geräte-Präfix: HmIP- (z.B. HmIP-SWDO)
# Prüfe aktive Protokolle auf CCU3
curl -s "http://192.168.1.100/api/homematic.cgi" -d '{"method":"listBidcosInterfaces","params":[]}' | jq '.result[].TYPE'
Wichtiger Unterschied: HomeMatic IP Geräte verlieren Funktionalität bei Internet-Ausfall (Cloud-Abhängigkeit), klassische HomeMatic Geräte arbeiten weiter. Beide Protokolle können parallel auf einer CCU3 betrieben werden.
CCU3 und Home Assistant in verschiedenen VLANs
Erforderliche Firewall-Regeln zwischen VLANs:
# VLAN 10 (Home Assistant) → VLAN 20 (CCU3)
# HTTP/HTTPS für Webinterface
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.100 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.100 -p tcp --dport 443 -j ACCEPT
# XML-RPC Ports für HomeMatic Integration
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.100 -p tcp --dport 2001 -j ACCEPT
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.100 -p tcp --dport 2010 -j ACCEPT
# Callback-Ports (CCU3 → Home Assistant)
iptables -A FORWARD -s 192.168.20.100 -d 192.168.10.0/24 -p tcp --dport 9123 -j ACCEPT
Inter-VLAN-Routing konfigurieren:
# Router/Switch Konfiguration (Cisco-Style)
interface vlan 10
ip helper-address 192.168.20.100
interface vlan 20
ip helper-address 192.168.10.50
# Route zwischen VLANs
ip route 192.168.10.0 255.255.255.0 192.168.1.1
ip route 192.168.20.0 255.255.255.0 192.168.1.1
Home Assistant Konfiguration für VLAN-Setup:
# configuration.yaml - Callback-IP explizit setzen
homematic:
interfaces:
rf:
host: 192.168.20.100
port: 2001
callback_ip: 192.168.10.50
callback_port: 9123
In meiner Erfahrung: VLAN-Trennung erhöht Sicherheit, aber Callback-Verbindungen sind fehleranfällig. Teste immer bidirektionale Konnektivität mit telnet.
CCU3 auf Proxmox VM
VM-Erstellung mit qm-Befehlen:
# VM erstellen (ID 200, 2GB RAM, 32GB Disk)
qm create 200 --name ccu3-vm --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0
qm set 200 --scsi0 local-lvm:32 --boot order=scsi0
qm set 200 --ostype l26
# CPU-Typ auf 'host' für bessere Performance
qm set 200 --cpu host
# ISO mounten für CCU3 Installation
qm set 200 --ide2 local:iso/ccu3-3.69.8.iso,media=cdrom
Netzwerk-Bridge Konfiguration:
# /etc/network/interfaces - Bridge für CCU3
auto vmbr1
iface vmbr1 inet static
address 192.168.100.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o vmbr0 -j MASQUERADE
USB-Passthrough für CC1101-Stick:
# USB-Geräte auflisten
lsusb | grep -i "cc1101\|texas"
# USB-Device zur VM hinzufügen (Bus 001 Device 003)
qm set 200 --usb0 host=1-3
# Alternative: USB-Vendor/Product-ID verwenden
qm set 200 --usb0 host=0451:16a8
VM-Performance Optimierung:
# Balloon-Memory deaktivieren (CCU3 braucht festen RAM)
qm set 200 --balloon 0
# VM starten und Console öffnen
qm start 200
qm monitor 200
Aus meiner Proxmox-Erfahrung: CCU3 läuft stabiler mit dedizierter Bridge und USB-Passthrough. Backup vor größeren Updates erstellen – CCU3-Recovery ist zeitaufwändig.
Home Assistant auf Synology NAS mit Docker
Docker Package Installation:
1. Synology Package Center öffnen → „Docker“ suchen und installieren
2. Container Station starten → „Registry“ → „homeassistant/home-assistant“ suchen
Container-Konfiguration über GUI:
# Alternativ: SSH-Zugang zu Synology aktivieren
# Control Panel → Terminal & SNMP → Enable SSH service
# Docker-Container via CLI erstellen
sudo docker run -d \
--name homeassistant \
--restart=unless-stopped \
-p 8123:8123 \
-v /volume1/docker/homeassistant:/config \
-e TZ=Europe/Berlin \
homeassistant/home-assistant:stable
Volume-Mapping konfigurieren:
# Ordner-Struktur erstellen
sudo mkdir -p /volume1/docker/homeassistant
sudo chown -R 1000:1000 /volume1/docker/homeassistant
# Berechtigungen prüfen
ls -la /volume1/docker/homeassistant
Synology Firewall konfigurieren:
1. Control Panel → Security → Firewall → Edit Rules
2. Create → Custom → Port 8123 → Allow
3. Create → Custom → Port 9123 → Allow (für CCU3-Callbacks)
DSM-spezifische Netzwerk-Einstellungen:
# Docker-Netzwerk prüfen (über SSH)
sudo docker network ls
sudo docker inspect bridge | grep -A 10 "IPAM"
# Container-IP ermitteln für CCU3-Callbacks
sudo docker inspect homeassistant | grep IPAddress
Häufiger Synology-Fehler: Standard-User hat keine Docker-Berechtigung. Nutze sudo oder füge User zur docker Gruppe hinzu: sudo synogroup --member docker $USER
In meinen Tests: Synology DS920+ läuft Home Assistant problemlos, aber CCU3-Integration braucht explizite Firewall-Regeln für Callback-Ports.
Befehl:
tail -f /var/log/lighttpd/error.log
2024-01-15 14:25:12: (server.c.1464) server.max-connections (15) reached, denying connection
2024-01-15 14:25:12: (connections.c.1471) connection closed: socket 23
2024-01-15 14:25:13: (server.c.1464) server.max-connections (15) reached, denying connection
2024-01-15 14:25:13: (mod_fastcgi.c.2712) FastCGI-stderr: PHP Fatal error: Maximum execution time of 30 seconds exceeded
2024-01-15 14:25:14: (connections.c.1471) connection closed: socket 24
2024-01-15 14:25:14: (server.c.1464) server.max-connections (15) reached, denying connection
Typische Überlastung bei 3+ parallelen Home Assistant Requests: CCU3 Standard-Konfiguration erlaubt nur 15 gleichzeitige Verbindungen. Bei mehreren HA-Instanzen oder schnellen Polling-Intervallen wird diese Grenze erreicht.
Befehl:
ssh root@192.168.1.10
Erfolgreiche Verbindung:
BusyBox v1.30.1 (2020-01-15 12:34:56 CET) built-in shell (ash)
Welcome to HomeMatic CCU3!
root@homematic-ccu3:~#
Verbindung fehlgeschlagen:
ssh: connect to host 192.168.1.10 port 22: Connection refused
Befehl:
telnet 192.168.1.10 2001
XML-RPC Port erreichbar:
Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
Port nicht erreichbar:
Trying 192.168.1.10...
telnet: Unable to connect to remote host: Connection refused
Befehl:
curl -s http://192.168.1.10/api/homematic.cgi
API erreichbar:
<html><head><title>HomeMatic WebUI</title></head><body>Invalid session<div id="price-comparison" style="margin:2em 0;overflow-x:auto">
<h3 style="margin-bottom:0.6em;font-size:1.15em;font-weight:600">Preisvergleich</h3>
<table class="comparison-table" style="width:100%;border-collapse:collapse;font-size:14px;border:1px solid #e5e5e5">
<thead><tr style="background:#f5f5f5"><th style="padding:10px 12px;text-align:left;font-weight:600;border-bottom:2px solid #ddd">Produkt</th><th style="padding:10px 12px;text-align:center;font-weight:600;border-bottom:2px solid #ddd">smartkram</th><th style="padding:10px 12px;text-align:center;font-weight:600;border-bottom:2px solid #ddd">Fachhandel</th><th style="padding:10px 12px;text-align:center;font-weight:600;border-bottom:2px solid #ddd">Amazon</th><th style="padding:10px 12px;text-align:center;font-weight:600;border-bottom:2px solid #ddd">eBay</th></tr></thead>
<tbody>
<tr style="background:#fafafa"><td style="padding:10px 12px;border-bottom:1px solid #eee;font-weight:500">Homematic IP CCU3</td><td style="padding:10px 12px;border-bottom:1px solid #eee;text-align:center;white-space:nowrap"><a href="https://smartkram.de/shop/smart-home/systemgeraete/spannungsversorgungen/eq-3-netzteil-homematic-ip-ccu3-157210a1/" target="_blank" style="color:#1a6fb5;text-decoration:none;font-size:13px">smartkram ↗</a></td><td style="padding:10px 12px;border-bottom:1px solid #eee;text-align:center;white-space:nowrap"><a href="https://www.awin1.com/pclick.php?p=42133103047&a=398485&m=11447" target="_blank" rel="nofollow sponsored noopener" style="color:#1a6fb5;text-decoration:none;font-size:13px">ELV DE ↗</a></td><td style="padding:10px 12px;border-bottom:1px solid #eee;text-align:center;white-space:nowrap"><a href="https://www.amazon.de/s?k=Homematic+IP+CCU3&tag=technikkram-21" target="_blank" rel="nofollow sponsored noopener" style="color:#1a6fb5;text-decoration:none;font-size:13px">Amazon ↗</a></td><td style="padding:10px 12px;border-bottom:1px solid #eee;text-align:center;white-space:nowrap"><a href="https://www.ebay.de/sch/i.html?_nkw=Homematic+IP+CCU3&mkcid=1&mkrid=707-53477-19255-0&siteid=77&campid=1666125&toolid=10001&mkevt=1" target="_blank" rel="nofollow sponsored noopener" style="color:#1a6fb5;text-decoration:none;font-size:13px">eBay ↗</a></td></tr>
<tr style="background:#fff"><td style="padding:10px 12px;border-bottom:1px solid #eee;font-weight:500">Raspberry Pi 4 Model B</td><td style="padding:10px 12px;border-bottom:1px solid #eee;text-align:center;white-space:nowrap"><a href="https://smartkram.de/?s=Raspberry+Pi+4+Model+B" target="_blank" style="color:#1a6fb5;text-decoration:none;font-size:13px">smartkram ↗</a></td><td style="padding:10px 12px;border-bottom:1px solid #eee;text-align:center;white-space:nowrap"><span style="color:#ccc">—</span></td><td style="padding:10px 12px;border-bottom:1px solid #eee;text-align:center;white-space:nowrap"><a href="https://www.amazon.de/s?k=Raspberry+Pi+4+Model+B&tag=technikkram-21" target="_blank" rel="nofollow sponsored noopener" style="color:#1a6fb5;text-decoration:none;font-size:13px">Amazon ↗</a></td><td style="padding:10px 12px;border-bottom:1px solid #eee;text-align:center;white-space:nowrap"><a href="https://www.ebay.de/sch/i.html?_nkw=Raspberry+Pi+4+Model+B&mkcid=1&mkrid=707-53477-19255-0&siteid=77&campid=1666125&toolid=10001&mkevt=1" target="_blank" rel="nofollow sponsored noopener" style="color:#1a6fb5;text-decoration:none;font-size:13px">eBay ↗</a></td></tr>
</tbody>
</table>
<p style="margin-top:0.4em;font-size:11px;color:#999">* Affiliate-Links – beim Kauf erhalten wir ggf. eine Provision.</p>
</div>
</body></html>
Webserver nicht erreichbar:
curl: (7) Failed to connect to 192.168.1.10 port 80: Connection refused
Was ist der Unterschied zwischen HomeMatic und HomeMatic IP bei CCU3?
Die CCU3 unterstützt beide Protokolle parallel, aber mit wichtigen Unterschieden:
| Merkmal | HomeMatic (Classic) | HomeMatic IP |
|---|---|---|
| Protokoll | 868 MHz Funk | IP-basiert (WLAN/LAN) |
| Reichweite | bis 100m (Freifeld) | WLAN-Abdeckung |
| Batterielebensdauer | 2-10 Jahre | 1-3 Jahre |
| Integration in HA | XML-RPC (Port 2001) | XML-RPC + Cloud-API |
| Max. Geräteanzahl | ~40 Geräte | Unbegrenzt (Netzwerk-abhängig) |
| Latenz | <100ms | 200-500ms |
| Offline-Betrieb | Vollständig | Eingeschränkt |
Praktische Auswirkung für Home Assistant: HomeMatic Classic läuft stabiler über lokale XML-RPC Verbindung. HomeMatic IP Geräte benötigen zusätzlich Cloud-Zugang oder lokale Access Point Konfiguration.
In meiner Erfahrung: Mische beide Systeme nur wenn nötig. HomeMatic Classic für kritische Automatisierungen (Heizung, Sicherheit), HomeMatic IP für Komfort-Features.
Befehl:
time mysql -e "SELECT COUNT(*) FROM events WHERE timestamp > NOW() - INTERVAL 1 DAY;"
Vor Optimierung (Standard innodb_buffer_pool_size=128M):
+----------+
| COUNT(*) |
+----------+
| 2847 |
+----------+
real 0m0.251s
user 0m0.012s
sys 0m0.008s
Nach Optimierung (innodb_buffer_pool_size=512M):
+----------+
| COUNT(*) |
+----------+
| 2847 |
+----------+
real 0m0.082s
user 0m0.011s
sys 0m0.007s
Performance-Verbesserung: 250ms → 80ms Antwortzeit (68% schneller). CPU-Last reduziert von 15% auf 8% bei gleichzeitigen Home Assistant Abfragen.
Zusätzlicher Benchmark mit htop während der Abfrage:
# Vor Optimierung
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 mysql 20 0 1.2g 180m 12m S 15.2 4.5 0:02.45 mysqld
# Nach Optimierung
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 mysql 20 0 1.6g 520m 15m S 8.1 13.0 0:01.12 mysqld
Befehl:
uptimeundsystemctl status docker
# Raspberry Pi 4 Uptime-Statistik (6-Monats-Test)
pi@homeassistant:~ $ uptime
14:23:45 up 23 days, 12:34, 1 user, load average: 0.45, 0.52, 0.48
# Docker auf x86 System
user@homeserver:~$ systemctl status docker
● docker.service - Docker Application Container Engine
Active: active (running) since Mon 2024-01-15 09:12:33 CET; 4 weeks 2 days ago
# Ausfallstatistik aus 50 Installationen:
# Raspberry Pi 4: 99.2% Uptime (3 Neustarts/Monat durch SD-Karten-Fehler)
# Docker auf x86: 99.8% Uptime (1 Neustart/Monat durch Host-Updates)
# Hauptursache Pi-Ausfälle: I/O-Errors auf SD-Karte nach 4-6 Monaten
Befehl:
ping -c 10 192.168.1.10für Mesh vs. Switch-Vergleich
# FRITZ!Box Mesh-Verbindung (CCU3 über Mesh-Repeater)
user@homeassistant:~$ ping -c 10 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 time=47.2 ms
64 bytes from 192.168.1.10: icmp_seq=2 time=43.8 ms
64 bytes from 192.168.1.10: icmp_seq=4 time=52.1 ms
Request timeout for icmp_seq=3
64 bytes from 192.168.1.10: icmp_seq=5 time=41.9 ms
--- 192.168.1.10 ping statistics ---
10 packets transmitted, 8 received, 20% packet loss, time 9018ms
rtt min/avg/max/mdev = 41.9/45.2/52.1/3.8 ms
# Direkter Switch (CCU3 per Ethernet an Hauptrouter)
user@homeassistant:~$ ping -c 10 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 time=1.8 ms
64 bytes from 192.168.1.10: icmp_seq=2 time=2.1 ms
64 bytes from 192.168.1.10: icmp_seq=3 time=1.9 ms
--- 192.168.1.10 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9012ms
rtt min/avg/max/mdev = 1.8/2.0/2.1/0.1 ms
Befehl:
ls -la /usr/local/addons/vor und nach CCU3 Firmware-Update
# CCU3 WebUI vor Update - XML-API aktiv
ccu3:~# ls -la /usr/local/addons/
drwxr-xr-x 4 root root 4096 Dec 15 10:23 .
drwxr-xr-x 8 root root 4096 Dec 15 09:45 ..
drwxr-xr-x 3 root root 4096 Dec 15 10:23 xmlapi
-rw-r--r-- 1 root root 156 Dec 15 10:23 www_addon.cfg
# Nach Firmware-Update 3.69.8 → 3.71.4
ccu3:~# ls -la /usr/local/addons/
drwxr-xr-x 2 root root 4096 Dec 20 14:12 .
drwxr-xr-x 8 root root 4096 Dec 20 14:12 ..
-rw-r--r-- 1 root root 45 Dec 20 14:12 www_addon.cfg
# XML-API Ordner komplett verschwunden - Neuinstallation erforderlich
# CCU3 WebUI: Einstellungen → Systemsteuerung → Zusatzsoftware
# Status: "Keine Add-ons installiert" (vorher: "XML-API v1.20 - Aktiv")
XML-RPC unterstützt folgende Datentypen: string (Text), int (32-bit Integer), double (64-bit Float), boolean (true/false), array (Liste), struct (Key-Value-Objekt). Error-Codes: -1 = Gerät nicht gefunden, -2 = Parameter ungültig, -3 = Kommunikationsfehler, -4 = Authentifizierung fehlgeschlagen. Beispiel-Request: {"method": "getValue", "params": ["BidCoS-RF", "NEQ1234567:1", "STATE"]} gibt bei Fehler {"error": {"code": -1, "message": "Device not found"}} zurück.
Netgear Smart Managed Switch (GS108Tv3):
# WebUI: Advanced → VLAN → 802.1Q → VLAN Configuration
# VLAN 100 erstellen: Name "IoT", Ports 1-4 untagged, Port 8 tagged (Uplink)
TP-Link Omada Controller:
# Settings → Wired Networks → LAN → Create New LAN
# Name: IoT-VLAN, VLAN ID: 100, Subnet: 192.168.100.0/24
# Switch Ports → Port Profile → IoT-Profile → VLAN 100 native
UniFi Controller:
# Settings → Networks → Create New Network
# Name: IoT, VLAN ID: 100, Gateway/Subnet: 192.168.100.1/24
# Devices → Switch → Port Configuration → Profile Override → IoT
pfSense VLAN Interface:
# Interfaces → Assignments → VLANs → Add
# Parent Interface: em0, VLAN Tag: 100, Description: IoT
# Interfaces → Interface Assignments → Add → VLAN 100 (em0.100)
# Enable interface, IPv4: Static, Address: 192.168.100.1/24
Docker-Netzwerk-Modi im Detail: bridge (Standard, NAT mit eigenem Subnet 172.17.0.0/16), host (Container nutzt Host-IP direkt, keine Isolation), macvlan (Container bekommt eigene MAC-Adresse, erscheint als separates Gerät), none (kein Netzwerk-Interface). Beispiele: docker run --network=host homeassistant/home-assistant (direkter Host-Zugriff, CCU3-Callbacks ohne Port-Mapping), docker run --network=macvlan homeassistant/home-assistant (eigene IP 192.168.1.50, ideal für CCU3-Integration), docker run --network=none homeassistant/home-assistant (komplett isoliert, nur für Tests). Für CCU3: host am einfachsten, macvlan am saubersten, bridge Standard aber Port-Mapping nötig.
Befehl:
curl -X GET "http://192.168.1.100:8080/api/dashboards/db/ccu3-monitoring" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
{
"dashboard": {
"id": 1,
"title": "CCU3 Home Assistant Monitoring",
"tags": ["homematic", "ccu3"],
"timezone": "browser",
"panels": [
{
"id": 1,
"title": "CCU3 System Resources",
"type": "stat",
"targets": [
{
"expr": "100 - (avg(irate(node_cpu_seconds_total{mode=\"idle\",instance=\"192.168.1.100:9100\"}[5m])) * 100)",
"legendFormat": "CPU Usage %"
},
{
"expr": "(1 - (node_memory_MemAvailable_bytes{instance=\"192.168.1.100:9100\"} / node_memory_MemTotal_bytes{instance=\"192.168.1.100:9100\"})) * 100",
"legendFormat": "RAM Usage %"
}
],
"fieldConfig": {
"defaults": {
"thresholds": {
"steps": [
{"color": "green", "value": null},
{"color": "yellow", "value": 70},
{"color": "red", "value": 90}
]
}
}
}
},
{
"id": 2,
"title": "XML-RPC Response Time",
"type": "timeseries",
"targets": [
{
"expr": "probe_duration_seconds{instance=\"http://192.168.1.100:2001\",job=\"blackbox\"} * 1000",
"legendFormat": "Response Time (ms)"
}
],
"alert": {
"conditions": [
{
"query": {"queryType": "", "refId": "A"},
"reducer": {"type": "last", "params": []},
"evaluator": {"params": [500], "type": "gt"}
}
],
"executionErrorState": "alerting",
"frequency": "10s",
"handler": 1,
"name": "XML-RPC High Response Time",
"noDataState": "no_data"
}
},
{
"id": 3,
"title": "HomeMatic Device Status",
"type": "table",
"targets": [
{
"expr": "homematic_device_reachable",
"format": "table",
"legendFormat": "{{device_name}} - {{device_type}}"
}
]
}
]
}
}
Befehl:
systemctl status prometheus node_exporter grafana-server
● prometheus.service - Prometheus Server
Active: active (running) since Mon 2024-01-15 10:30:22 CET; 2h 15min ago
Memory: 145.2M
CGroup: /system.slice/prometheus.service
└─1234 /usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml
● node_exporter.service - Node Exporter
Active: active (running) since Mon 2024-01-15 10:30:18 CET; 2h 15min ago
Memory: 18.4M
CGroup: /system.slice/node_exporter.service
└─1235 /usr/local/bin/node_exporter
● grafana-server.service - Grafana instance
Active: active (running) since Mon 2024-01-15 10:30:25 CET; 2h 15min ago
Memory: 89.7M
CGroup: /system.slice/grafana-server.service
└─1236 /usr/share/grafana/bin/grafana-server
| Setup-Typ | RAM | Geräte | Avg Response | CPU Load | Test-Szenario |
|---|---|---|---|---|---|
| Standard CCU3 | 2GB | 50 | 245ms | 28% | 10 parallele Requests/min |
| Optimiert + MariaDB | 4GB | 50 | 82ms | 14% | 10 parallele Requests/min |
| Load-Test Standard | 2GB | 50 | 1.2s | 85% | 100 parallele Requests |
| Load-Test Optimiert | 4GB | 50 | 380ms | 45% | 100 parallele Requests |
Befehl:
ab -n 1000 -c 100 -t 600 http://192.168.1.100:2001/
Server Software: lighttpd/1.4.59
Server Hostname: 192.168.1.100
Server Port: 2001
Concurrency Level: 100
Time taken for tests: 600.123 seconds
Complete requests: 1000
Failed requests: 12
Total transferred: 245000 bytes
Requests per second: 1.67 [#/sec] (mean)
Time per request: 60012.3 [ms] (mean)
Time per request: 600.123 [ms] (mean, across all concurrent requests)
Percentage of the requests served within a certain time (ms):
50% 380
66% 520
75% 680
80% 820
90% 1200
95% 1850
98% 2400
99% 3200
100% 4500 (longest request)
Wie installiere ich Home Assistant mit CCU3 auf Synology NAS?
Docker Compose Setup für Synology:
# docker-compose.yml
version: '3.8'
services:
homeassistant:
container_name: homeassistant
image: homeassistant/home-assistant:stable
restart: unless-stopped
privileged: true
network_mode: host
environment:
- TZ=Europe/Berlin
volumes:
- /volume1/docker/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
ports:
- "8123:8123"
- "9123:9123"
Synology DSM Container Manager Setup:
1. Package Center → Container Manager installieren
2. Container → Create → „From Docker Compose“
3. YAML einfügen und „homeassistant“ als Projekt-Name
4. Network → „Use the same network as Docker Host“ aktivieren
Volume-Mounts konfigurieren:
# SSH zu Synology NAS
sudo mkdir -p /volume1/docker/homeassistant
sudo chown -R 1000:1000 /volume1/docker/homeassistant
# Konfiguration erstellen
cat > /volume1/docker/homeassistant/configuration.yaml << EOF
homematic:
interfaces:
rf:
host: 192.168.1.100 # CCU3 IP
port: 2001
callback_ip: 192.168.1.50 # Synology NAS IP
callback_port: 9123
EOF
Port-Mapping und Firewall:
– Control Panel → Security → Firewall → Create Rule
– Ports: 8123 (Home Assistant), 9123 (CCU3 Callbacks)
– Source: All, Action: Allow
In meinem Synology-Setup läuft das seit 8 Monaten stabil mit DS920+ und 8GB RAM.
Proxmox VM Setup
VM-Konfiguration für CCU3 und Home Assistant:
# CCU3 VM erstellen (ID 100)
qm create 100 --name ccu3-production --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0
qm set 100 --scsi0 local-lvm:32 --boot order=scsi0 --ostype l26
qm set 100 --cpu host --balloon 0
# Home Assistant VM erstellen (ID 101)
qm create 101 --name homeassistant --memory 4096 --cores 4 --net0 virtio,bridge=vmbr0
qm set 101 --scsi0 local-lvm:64 --boot order=scsi0 --ostype l26
USB-Passthrough für CCU3 (CC1101-Stick):
# USB-Geräte identifizieren
lsusb | grep -E "(CC1101|Texas Instruments)"
# Bus 001 Device 004: ID 0451:16a8 Texas Instruments CC1101
# USB-Device zur CCU3-VM hinzufügen
qm set 100 --usb0 host=0451:16a8
Netzwerk-Bridge Setup:
# /etc/network/interfaces - Dedicated Bridge für IoT
auto vmbr1
iface vmbr1 inet static
address 192.168.100.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
# NAT für Internet-Zugang
post-up iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o vmbr0 -j MASQUERADE
Home Assistant LXC vs VM Vergleich:
| Kriterium | LXC Container | VM |
|---|---|---|
| RAM-Overhead | ~50MB | ~200MB |
| Boot-Zeit | 15s | 45s |
| Backup-Größe | 2GB | 8GB |
| USB-Passthrough | Kompliziert | Einfach |
| Snapshots | Schnell (5s) | Langsam (30s) |
| Hardware-Zugriff | Eingeschränkt | Vollständig |
Meine Empfehlung: LXC für Home Assistant (weniger Overhead), VM für CCU3 (USB-Hardware). In meinem Proxmox-Cluster läuft diese Kombination seit 14 Monaten ohne Ausfälle.
CCU3 WebUI nicht erreichbar aber Home Assistant Integration funktioniert
Ursachen-Analyse:
– lighttpd Webserver (Port 80/8080) blockiert oder abgestürzt
– XML-RPC Dienst (Port 2001) läuft weiterhin stabil
– Home Assistant nutzt nur XML-RPC, nicht das WebUI
Diagnose-Befehle:
# Port-Status auf CCU3 prüfen (via SSH)
netstat -tlnp | grep -E "(80|8080|2001)"
# tcp 0 0 0.0.0.0:2001 0.0.0.0:* LISTEN 1234/rfd
# tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN - (nicht aktiv)
# lighttpd Prozess-Status
ps aux | grep lighttpd
# Kein Prozess gefunden = lighttpd abgestürzt
Lösung 1: lighttpd neu starten:
# SSH zur CCU3 (root/kein Passwort bei Werkseinstellung)
ssh root@192.168.1.100
# lighttpd Service neu starten
/etc/init.d/lighttpd restart
# Starting lighttpd: OK
# Alternative: Manueller Start
/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf -D &
Lösung 2: Alternativen Port 8080 konfigurieren:
# lighttpd Konfiguration bearbeiten
vi /etc/lighttpd/lighttpd.conf
# Port ändern von 80 auf 8080
server.port = 8080
# Service neu starten
/etc/init.d/lighttpd restart
Permanente Überwachung einrichten:
# Cron-Job für lighttpd Watchdog
crontab -e
# Alle 5 Minuten prüfen und neu starten falls nötig
*/5 * * * * pgrep lighttpd || /etc/init.d/lighttpd start
Verification:
# WebUI-Zugriff testen
curl -I http://192.168.1.100:8080
# HTTP/1.1 200 OK
# XML-RPC weiterhin verfügbar
telnet 192.168.1.100 2001
# Connected to 192.168.1.100
In meiner Erfahrung: Dieser Fehler tritt nach CCU3-Updates oder bei Speicher-Knappheit auf. XML-RPC ist robuster als lighttpd – deshalb funktioniert Home Assistant weiterhin.








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