Homematic IP CCU3 in Home Assistant integrieren: Vollständige Anleitung für eine stabile Verbindung

Homematic CCU3 Netzwerk-Architektur Diagramm mit XML-RPC Ports und Home Assistant Integration

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: host in 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.

Homematic CCU3 Netzwerk-Architektur Diagramm mit XML-RPC Ports und Home Assistant Integration
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=1 Einstellung – setze diese auf 0 in /etc/sysctl.conf um 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 80 lö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 UnreachableDann: 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 OKDann: Weiter zu Step 3
Wenn: curl: (7) Failed to connect oder HTTP 403 ForbiddenDann: Ursache FC-02 bestätigt

Praxis-Tipp: Ein HTTP 503 Service Unavailable bedeutet 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 outDann: 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 OKDann: Weiter zu Step 6
Wenn: HTTP 401 UnauthorizedDann: Ursache FC-04 bestätigt

Praxis-Tipp: Ein HTTP 404 Not Found bei 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 mit erfolgreich integrierter Homematic IP CCU3 und verbundenen Geräten
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-Diagnose der Homematic CCU3 Integration Status mit JSON-Ausgabe und Verbindungstest
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

Homematic CCU3 Integration Troubleshooting Flowchart - Schritt-für-Schritt Fehlerbehebung
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 :80 ob 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_host IP 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_host zu 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 homeassistant und 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>'
  1. CCU3 bestätigt Registrierung:
<methodResponse><params><param><value><string>init successful</string></value></param></params></methodResponse>
  1. 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&nbsp;&#8599;</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&nbsp;&#8599;</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&nbsp;&#8599;</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&nbsp;&#8599;</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&nbsp;&#8599;</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&nbsp;&#8599;</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&nbsp;&#8599;</a></td></tr>
</tbody>
</table>
<p style="margin-top:0.4em;font-size:11px;color:#999">* Affiliate-Links &ndash; 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: uptime und systemctl 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.10 fü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.

Das könnte dich auch interessieren

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert