Home Assistant – RaspberryMatic / Homematic CCU einbinden

Home Assistant „versteht“ Homematic IP (HIP) nicht direkt, sondern bindet es über eine Netzwerkkommunikation ein. Diese Vorgehensweise hat ein paar kleine Nachteile, die man aber verschmerzen kann. Da man die Firmware der HmIP-Komponenten bisher nur über eine CCU aktualisieren kann, würde ich sowieso keinen anderen Weg empfehlen.

In diesem Artikel gehe ich davon aus, dass die CCU – bei mir eine RaspberryMatic – rudimentär konfiguriert ist. Sie sollte entweder eine feste IP oder einen Hostnamen, der per DNS aufgelöst wird. Da das Automationssystem als Ganzes möglichst unabhängig und stabil laufen soll, ist mir das vergeben einer IP per DHCP und die Nutzung eines Hostnames zu unsicher. Schließlich soll alles auch laufen, wenn zum Beispiel mal der Router ausfällt. Wäre ja blöde, wenn ein Bewohner die Rollläden oder das Licht nicht mehr schalten kann, nur weil ich gerade am Netzwerk arbeite.

RaspberryMatic konfigurieren

In RaspberryMatic muss Einstellungen vornehmen, damit Home Assistant die API nutzen kann. Dazu muss man zum einen sicherstellen, dass der Zugriff nicht generell durch die Firewall versperrt wird und zum anderen sollte man einen speziellen Nutzer für den Zugriff konfigurieren.

Firewall einstellen

Gehe im Webinterface zu Einstellungen -> Firewall konfigurieren. Im dann sich öffnenden Fenster stellt man

  • Firewall-Richtlinie: Ports offen
  • Homematic XML-RPC API: Vollzugriff
  • Remote Homematic-Script API: Vollzugriff
  • Mediola-Zugriff: Vollzugriff
  • Port-Freigabe: 22; 80; 443; 2000; 2001; 2010; 9292; 42000; 42001; 42010; 49292
  • IP-Adressen für den eingeschränkten Zugriff: 192.168.0.0/24
Die oben angegebenen Einstellungen sind ein Beispiel und sollten von Euch für Eure Zwecke angepasst werden. Die Firewall-Richtlinie sollte nach dem erfolgreichen Einrichten (am Ende dieses Blogeintrags) auf Ports blockiert umgestellt werden.

Die Einstellungen unter Port-Freigabe sollte ebenfalls angepasst werden. Entfernt sicherheitshalber die Ports, die ihr nicht braucht. Eine Erklärung, welche Ports wofür sind, findet Ihr in der Dokumentation zur Homematic-Komponente.

Benutzer einrichten

Für den Zugriff sollte man einen Benutzer mit Admin-Rechten erstellen und einen mit Gast-Rechten. Auch wenn es übertrieben scheint oder die gleiche Home Assistant Instanz die Automation übernimmt, so ist dieses Vorgehen sogenanntes Best-Practise. Dazu geht man zu Einstellungen -> Benutzerverwaltung.

Admin-Benutzer für HASS Zugriff erstellen.

 

Gast-Benutzer für HASS Zugriff erstellen.

Authentifizierung aktivieren

Die folgende Einstellung bewirkt, dass Home Assistant sich mit Benutzernamen und Passwort bei RaspberryMatic anmelden muss. Solltet Ihr also Probleme mit den Einstellungen haben und prüfen, ob der Zugriff von Home Assistant überhaupt funktioniert, so deaktiviert diese Einstellung oder aktiviert Sie erst später. Geht zu Einstellungen -> Sicherheit und setzt den Haken bei „Authentifizierung: Authentifizierung aktiv„.

Diese Einstellung kann derzeit (Home Assistant Version 0.86) nicht genutzt werden, da die Bibliothek, welche HASS nutzt keine Authentifizierung unterstützt.

Home Assistant konfigurieren

In Home Assistant muss man die Verbindung zur CCU in der Konfigurationsdatei einrichten. Dazu erstellt man einen neuen Abschnitt. Detail findet man in der Dokumentation.

Home Assistant - Homematic konfiguration
 
# Homematic CCU
homematic:
        interfaces:
                hmip_gf:
                        host: !secret homematic_hmip_gf_host
                        port: 2010
                        username: !secret homematic_hmip_gf_adminusername
                        password: !secret homematic_hmip_gf_adminpassword
                        resolvenames: false
                hmip_gf_groups:
                        host: !secret homematic_hmip_gf_host
                        port: 9292
                        username: !secret homematic_hmip_gf_guestusername
                        password: !secret homematic_hmip_gf_guestpassword
                        path: /groups
                        resolvenames: json
        hosts:
                gf_ccu3:
                        host: !secret homematic_hmip_gf_host
                        username: !secret homematic_hmip_gf_adminusername
                        password: !secret homematic_hmip_gf_adminpassword

Der Abschnitt zur Konfiguration des Zugriffs auf RaspberryMatic besteht aus zwei grundlegenden Abschnitten: interfaces und hosts. Unterhalb derer definiert ein frei wählbarer, eindeutiger Schlüssel die Verbindung zur RaspberryMatic.

Ich empfehle zumindest für die Nicht-Gruppen Interface Definitionen den Schlüssel resolvenames auf false zu setzen. Der Nachteil mag sein, dass die Namen der Geräte aus den HEX-IDs bestehen und somit nicht so leicht zuzuordnen sind, allerdings hat man nicht das Problem, dass beim Ändern der Namen in der CCU, die Konfiguration von Home Assistant nicht mehr passt. Außerdem ist die Auflösung der Namen recht langsam.

 

 

Press Ctrl+C to copy the following code.
"