Inhaltsverzeichnis

Installation von Homebridge mit KNX Anbindung auf einem Raspberry Pi

Einleitung

Diese Anleitung ist eine Zusammenfassung von anderen Anleitungen, die teilweise nicht funktioniert haben. Es geht hier um die Installation von Homebridge auf einem Raspberry Pi.

Voraussetzungen

Folgende Voraussetzungen sollten gegeben sein:

Ich empfehle das Homebridge Raspberry Pi Image zu verwenden. Hier sind bereits alle wichtigen Komponenten eingerichtet (z.B. SSH aktiviert) und ist über einen Webbrowser bedienbar.

Installation

Die Installation mit dem Image über wie auf der Seite von Homebridge - Get Started beschrieben funktioniert sehr gut. Nach der Installation ist der Raspberry Pi über den Hostnamen homebridge.local zu erreichen. Ab jetzt kann alles über die Weboberfläche erledigt werden.

Sonderfall: Gleicher Name existiert bereits

Sollte der Name homebridge im Netzwerk bereits anderweitig vergeben sein, so ist der vom neu installieren Raspberry Pi der Name wie folgt zu ändern:

ssh pi@<IP-Adresse>
sudo raspi-config
2 Network Options auswählen
N1 Hostname auswählen
Neues Hostnamen vergeben, z.B. raspberrypi
Finish wählen
Raspberry PI neu starten

Danach kann mit ssh pi@raspberrypi.local Verbindung aufgenommen werden.

Erste Schritte

Nach der Installation ist eine Anmeldung im Browser über homebridge.local möglich. Für Homebridge und Raspberry Pi sind nach der Installation die folgenden Standardzugangsdaten vergeben:

User Passwort
Homebridge admin admin
Raspberry Pi pi raspberry

Terminal über Browser öffnen

Homebridge biete die Möglichkeit auf Terminalebene des Raspberry Pi mit dem Browser zu kommen. Somit ist kein zusätzliches Terminal Programm (z.B. Putty) notwendig.

  1. Rechts oben auf das Menü mit den 3 senkrechten Punkten klicken
  2. Terminal auswählen

Defaultpassworte ändern

Aus Sicherheitsgründen empfiehlt es sich die Standardpassworte zu ändern. Entweder jetzt gleich, oder später nach fertiger Installation.

Homebridge

  1. An Homebridge anmelden
  2. Rechts oben auf das Menü mit den 3 senkrechten Punkten klicken
  3. Benutzerkonten auswählen
  4. Beim Administrator auf Bearbeiten klicken
  5. neuen Kennwort eingeben und bestätigen
  6. auf Speichern klicken

Raspberry Pi

  1. sudo raspi-config eingeben
  2. 1 Change User Password auswählen
  3. Neues Passwort vergeben und bestätigen
  4. Finish auswählen

Systemupdates durchführen

Bevor irgendwie weitergemacht wird sollte die aktuelle Konfiguration auf den letzten Stand gebracht werden. Im Terminal die folgenden Befehle eingeben:

# Nach Updates suchen
sudo apt-get update
# Upgrade durchführen
sudo apt-get upgrade
# Bei Bedarf wenn angegeben:
sudo apt-get autoremove
# Wenn viele Änderungen waren kann der Raspberry Pi zur Sicherheit neu gestartet werden:
sudo reboot now

Homebridge Updates durchführen

Auch Homebridge verträgt hin und wieder mal ein Update:

  1. Im Terminal sudo hb-config eingeben
  2. 8 Update auswählen
  3. 1 Upgrade Node.js auswählen
  4. 2 Upgrade Homebridge auswählen (eventuelle Warnungen „deprecated“ ignorieren), Danach muss Homebridge neu gestartet werden (einfach Neustart bestätigen).

Homebridge Konfigurations-Editor

Im Konfigurations-Editor sind alle Einstellungen und Plugins gespeichert. Um später im Apple HomeKit keinen kryptischen Namen zu haben, können im Bereich „bridge“, „name“ die 5 Zeichen nach Homebridge entfernt werden.

"name": "Homebridge",

Sonst ist hier weiter eigentlich nichts zu ändern, ausser ein Plugin wird hier nicht ordentlich eingetragen.

Wer keinen KNX Bus hat ist eigentlich schon fertig und kann mit Homebridge loslegen.

Installation von KNXD

Um mit dem KNX Bus zu kommunizieren wird ein Daemon (Service) benötigt. Die Installationsbeschreibung findet man prinzipiell hier.

Die Verwendung des Terminals wird für die folgenden Befehle NICHT empfohlen. Aufgrund der teilweise sehr langen Laufzeiten kann es zu Timeouts und dadurch zu Unterbrechungen kommen.

# Notwendige Pakete installieren
sudo apt-get install git

# get the source code
git clone -b debian https://github.com/knxd/knxd.git

# now build+install knxd
sh knxd/install-debian.sh

# ACHTUNG: Dieser Befehl dauert sehr lange, je nach Raspberry Pi Modell mehrere Stunden. 
#          Der Computer sollte in dieser Zeit daher nicht in einen Ruhezustand gehen und das 
#          Terminalprogramm die Verbindung verlieren.

Um zu testen, ob KNXD nun installiert ist einfach knxd aufrufen, dann sollte die Verwendung beschrieben werden.

KNXD einrichten

Die Konfigurationsdatei befindet sich unter /etc/knxd.conf.

sudo nano /etc/knxd.conf

Hier sind oben die KNXD Optionen eingetragen. Bei mir funktioniert das:

KNXD_OPTS="-e 7.0.1 -E 7.0.100:100 -u /tmp/eib -b ipt:<IP Adresse des KNX/IP Gateways>"

Nach erfolgter Änderung ist der Service neu zu starten:

sudo systemctl restart knxd.service

Ob alles richtig funktioniert kann mit dem Tool knxtool getestet werden. (hier am Beispiel einer Lampe zum Einschalten):

knxtool groupswrite local: 0/1/2 1

Installation Homebridge KNX

Für die Anbindung an den KNX Bus muss jetzt ein Plugin installiert werden:

  1. Im Menü links oben auf Plugins klicken.
  2. Im Suchfeld nach knx suchen.
  3. Bei Homebridge Knx auf Installieren klicken.

In der Datei knx_config.json (Aufruf über nano knx_config.json) werden die Geräte für HomeKit konfiguriert. Ein komplette Dokumentation ist hier zu finden.
Hier ist ein Beispiel mit einer Lampe zum Testen:

{
    "knxd_ip": "127.0.0.1",
    "knxd_port": 6720,
    "AllowWebserver": true,
    "AllowKillHomebridge": false,
    "Devices": [
        {
            "DeviceName": "Lampe",
            "Services": [
                {
                    "ServiceType": "Lightbulb",
                    "ServiceName": "Lampe",
                    "Characteristics": [
                        {
                            "Type": "On",
                            "Set": [
                                "0/1/2"
                            ],
                            "Listen": [
                                "0/1/2"
                            ]
                        }
                    ],
                    "KNXReadRequests": [
                        "0/1/2"
                    ]
                }
            ]
        }
    ]
}

Konfiguration von Homebridge KNX

Damit Homebridge über KNXD mit dem KNX Bus kommunizieren kann ist in der Homebridge Konfiguration noch eine Änderung durchzuführen. Normalerweise erledigen das Plugins bei der Installation. Das Homebridge-KNX Plugin macht das nicht. Möglicherweise will man durch einen fehlenden KNXD ein dauerndes Neustarten der Homebridge verhindern. Wenn für KNX alles sauber eingerichtet ist KNXD und die knx_config.json), dann kann dies durchgeführt werden:

  1. Den Homebridge Konfigurations-Editor aufrufen und die folgenden Zeilen unter „platforms“ ergänzen.
    WICHTIG: vor der geschwungenen Klammer { ist in der Zeile davor nach der geschwungenen Klammer } in Komma , zu setzen.
            {
                "name": "KNX",
                "platform": "KNX"
            }
  2. Mit Speichern die Änderungen sichern.
  3. Danach Homebridge rechts oben über das Ausschaltsymbol neu starten.

Wie die Konfiguration nun genau erfolgt ist hier gut beschrieben.

Datensicherung

Es empfiehlt sich von allen wichtigen Daten eine Sicherung anzulegen.
Homebridge bietet eine einfache Möglichkeit über die Weboberfläche an:

  1. Über die 3 Punkte rechts oben auf Backup / Wiederherstellen
  2. Auf den Button Backup-Archiv herunterladen klicken

Zusätzlich sollte auch die Datei /etc/knxd.conf oder zumindest deren Inhalt gesichert werden.

Es empfiehlt sich auch von der SD Karte regelmäßig ein Image zu ziehen. Dann erspart man sich im die komplette Einrichtung und muss nur Systemupdates und eventuell Konfigurationsänderungen nachtragen, bzw. aus dem Homebridge Backup von oben wiederherstellen.