Homebridge – FHEM-Geräte per Siri steuern

Jeder der ein iOS Gerät sein Eigen nennt, träumt irgendwann davon seine Geräte über Siri steuern zu können. Apple bietet dazu Homekit als Schnittstelle an. Problem dabei ist jedoch, dass es noch nicht allzu viele Geräte gibt, die diese Schnittstelle nutzen bzw. unterstützen. Hier kommt das Projekt „Homebridge“ zur Hilfe. Homebridge simuliert auf dem Raspberry ein Homekit-Schnittstelle und lässt euch so eure FHEM-Geräte über Siri steuern.

Siri Homebridge

In diesem Beitrag erkläre ich euch, wie ihr auf eurem Raspberry Homebridge installiert, einrichtet und die Verbindung mit FHEM herstellt.

Benötigte Pakete installieren

Für den Betrieb von Homebridge wird die aktuelle Version von NodeJS benötigt. Welche momentan aktuell ist könnt ihr auf dieser Seite rausfinden. Zum diesem Zeitpunkt war es Version 4.3.1. Der Befehl zur Installation ist je nach Version des Raspberrys unterschiedlich.

Raspberry  Pi 1:

Raspberry Pi 2 / 3:

Nun wird der Inhalt in ins Verzeichniss „/user“local“ verschoben:

Nun überprüft ihr am besten ob die Installation erfolgreich war. Dies könnt ihr mit folgendem Befehl machen:

Jetzt solltet ihr die Version von NodeJS als Ausgabe erhalten.
Hat alles geklappt könnt ihr die heruntergeladene Datei und den entpacken Ordner löschen

Raspberry Pi 1:

Raspberry Pi 2 / 3:

Damit Homebridge ordnungsgemäß läuft wird noch folgendes Paket benötigt:

Homebridge installieren

Nachdem alle benötigten Pakete installiert wurden, können ihr mit der Installation von Homebridge beginnen:

Homebrdge wird nun heruntergeladen und installiert. Dies kann einige Minuten dauern.
Damit Homebridge auch mit den Geräten von FHEM kommuniziert, ist es nötigt das Plugin shim zu installieren:

Nach der Installation können ihr damit beginnen Homebridge für den Betrieb mit FHEM zu konfigurieren. Dazu wird ein Verzeichenis mit einer Konfigurataionsdatei erstellt:

In dem nun geöffnetet Editor wird die Konfiguration geschrieben:

Habt ihr eure FHEM-Installation, wie in meinem Artikel beschrieben, mit SSL und einem Passwort abgesichert, müsst ihr den Eintrag „auth“ entsprechend anpassen und an den Eintrag „ssl“ denken. Ansonsten den Eintrag „ssl“ entfernen und die Zeile „auth“ einfach so belassen.

Der Eintrag „server“ muss nur angepasst werden, wenn Homebridge nicht auf dem gleichen System wie die FHEM-Installation läuft.

Mit der obigen Konfigurationsdatei werden alle kompatiblen FHEM-Devices mit Siri steuerbar, welche sich im Raum „Homekit“ befinden. Wollt ihr alle eurer kompatiblen Geräten steuern oder einen anderen Raum verwenden, dann einfach den Eintrag „filter“ anpassen.

Anschließend die Datei speichern und schließen.

Einrichtung unter FHEM

Aufgrund des oben genannten Filters müssen alle Geräte, welche mit Siri gesteuert werden sollen, den Raum „Homekit“ zugeordnet werden. Sind alle gewünschten Geräte in diesem Raum, ist die Einrichtung innerhalb FHEMs auch schon fertig. Die benötigten Attribute werden beim ersten Start von Homebridge automatisch hinzugefügt.

Werden nachträglich neue Geräte zur Homebridge (Raum Homekit) hinzugefügt, muss Homebridge neu gestartet werden (siehe weiter unten).

Homebridge ist nun startbereit und kann über den Befehl

gestartet werden.

Ihr sieht nun einen 8stelligen Code für die Konfiguration auf einem iOS-Gerät.

Homebridge FHEM Einrichtungscode

Konfiguration auf einem iOS-Gerät

Für die Konfiguration auf iOS-Geräten hat Apple noch keine eigene App bereitgestellt, sodass wir auf eine Drittanbieter-App ausweichen müssen. Ich benutze dazu „Elgato Eve“ von Elgato Systems.

Beim ersten starten der App muss man zuerst Geräte hinzufügen. Dies geschieht über „Gerät hinzufügen“

Homebridge FHEM Eve

Nach der Vergabe eines Namens, beginnt die App auch schon nach kompatiblen Geräten zu suchen. Die eingerichtete Homebridge sollte nun gefunden werden:

Homebridge FHEM Eve

Nach auswählen der Homebridge werden wir dazu aufgefordert einen 8stelligen Einrichtungscode einzugeben. In unserem Fall ist es „031-45-154“.

Homebridge FHEM EveDa die Homebridge-Installation nicht von Apple verifiziert ist, erhalten man nun eine Warnmeldung, welche einfach mit „Trotzdem hinzufügen“ beantwortet werden kann. Die App beginnt sich nun mit der Homebridge zu koppeln. Nach der erfolgreichen Kopplung kann man  bereits erste Räume hinzufügen oder erstmal mit dem Standardraum fortfahren.

Homebridge FHEM Eve

Man erhält nun eine Übersicht der vorhandenen Räume und den Gerätetypen.

Homebridge FHEM Eve

Über „Strom“ sieht man nun zum Beispiel Geräte, welche an- bzw. abgeschaltet werden können.

Homebridge FHEM Eve

Über „Zuhause (Standardraum)“ bekommt man alle Geräte zu sehen, welche sich in diesem Raum befinden.

Homebridge FHEM EveUm unser Zuhause übersichtlicher zu gestalten, ist es sinnvoll über die Einstellungen (Zahnrad oben rechts) weitere Räume zu erstellen.

Homebridge FHEM EveDies geschieht unter den Einstellungen über „Räume“

Homebridge FHEM Eve

Hier ist es möglich weitere Räume hinzu zufügen. Nun kann man alle seine Geräte nach einander den erstellten Räumen hinzufügen. Dies geschieht über „Bearbeiten“ (oben rechts) und dann auf das entsprechende Zahnrad des gewünschten Gerätes.

Homebridge FHEM Eve

Hier kann man nun dem Gerät einen Raum zu ordnen. Wichtig ist hier auch, dass jedes Gerät einen eindeutigen Siri-Namen bekommt. Über diesen Namen steuern wir mit Hilfe von Siri unsere Geräte. Man sollte den Geräten also aussprechbare Namen geben. Des Weiteren ist es wichtig darauf zu achten, dass der Eintrag „Verwendet für“ passend gewählt ist. Dadurch ist es auch möglich, allgemeine Befehle über Siri abzusetzen. Zum Beispiel: „Siri, schalte das Licht in der Küche an“ anstatt „Siri, schalte die LEDLeiste in der Küche an“.

Alle Einstellungen die ihr über diese App tätigt werden eurem Homekit-Profil zugeordnet. Ihr könnt also über alle iOS-Geräte die mit eurer Apple-ID verknüpf sind eure Geräte steuern.

Über die App lässt sich noch einiges weiteres Einstellen (Räume, Szenen, Bereiche), aber diese lassen sich am besten selber durch „rumklicken“ innerhalb der App entdecken.

Homekit automatisch starten

Damit man nach einem Neustart des Raspberrys Homebridge nicht immer manuell neustarten muss, erstellen wir uns einen Service, welcher Homebridge automatisch startet.

Wir fügen folgenden Inhalt hinzu:

Soll Homebridge über einen anderen Benutzer gestartet werden, muss am Anfang der Datei folgende Zeile entsprechend geändert werden:

Nun noch den Autostart aktivieren

und Homebridge wird nach einem Neustart automatisch mit neu gestartet.
Manuell kann man Homebridge mit folgenden Befehlen steuern:

Weitere Infos zur Homebridge auf dem offiziellen FHEM-Wiki-Eintrag.

11 Kommentare zu “Homebridge – FHEM-Geräte per Siri steuern

  1. Zunächst Danke für die tolle Anleitung.
    Ich habe (Außer dem automatischen Starten) alles installiert, Incl. FHEM Plugin, im Grundsatz läuft es auch, d.h. Ich sehe meine Somfy Rolläden in Elgato, aber leider lässt sich nichts steuern. Ich habe den Rolläden die Attr. generis device blind und Model somfyblind zugewiesen.
    In Elgato wird die ganze anzeigt der Zustand ’schließend‘ angegeben, ich habe dort dann Pfeile, um Prozentsätze zu verändern, wenn ich das mache, dann sendet Homebridge auch Signale (Kann ich in der Konsole sehen) aber nichts tut sich
    Irgendeine Idee? Welche Info brauchst Du?

    • Hallo,
      danke für das Lob.
      Ich habe leider keine Rollladenschalter zuhause. Wenn ich auf dem Wiki-Eintrag zu Homebridge nachschaue werden die Somfy-Geräte ja nicht automatisch unterstützt. Es ist also eine entsprechende Konfiguration nötig. Ich habe mich mal im FHEM-Forum umgeschaut, da gibt es noch andere (z.B. der Nutzer „Mikesn“) die versuchen einen Rollladenschalter richtig zu konfigurieren. Vielleicht findest du dort ja Hilfe.
      Gruß Daniel

  2. Hallo Daniel,

    vielen Dank für die super Erklärung! Es hat beim ersten mal auch super funktioniert. Als ich dann nachträglich die SSL Verschlüsselung eingestellt habe bekomme ich keine Verbindung mehr… In der .json Datei hatte ich bei SSL bereits auf „true“ gestellt.

    bekomme folgenden fehler angezeigt…

    longpoll ended, reconnect in: 200msec
    starting longpoll: https://127.0.0.1:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1472234268720
    longpoll error: Error: connect ECONNREFUSED 127.0.0.1:8083, retry in: 10000msec
    starting longpoll: https://127.0.0.1:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1472234278735
    Hast du eine Idee woran das liegen kann?

    Danke und Grüße
    Tim

  3. Hi Daniel,
    danke für die Anleitung. Hat gut funktioniert, nur dass ich bei mir noch einen C++11-Compiler installieren musste.
    Allerdings scheint nicht alles out-of-the-box zu funktionieren, auch wenn die Grundfunktionen gegeben sind. Ich verwende zum Beispiel das HomeMatic Thermostat HM-CC-RT-DN. Dort funktioniert die Temperatureinstellung und Anzeige, jedoch die Betriebsart (Auto/Manu) nicht. Und beim Fensterkontakt HM-SEC-RHS wird nur zwischen offen und geschlossen unterschieden, obwohl es ja auch gekippt gibt.

  4. Hallo

    Kann es sein, dass nur ein iOS Benutzer bzw. eine Apple ID die homebridge nutzen kann?
    Ich habe alles eingerichtet und es funktioniert auf meinem iPhone auch wunderbar. Mein Bruder kann die Geräte jedoch nur sehen, wenn ich ihn einlade oder wenn ich das ganze Haus lösche.
    Ist das einfach so, oder gibt es dafür eine Lösung?

    Danke und Gruß

    Philipp

    • Hallo Phillip,
      ich persönlich verwende mit meiner Frau die gleiche Apple-ID (sie hat nur für iMessage eine zusätzliche eigene ID).
      Sie kann deswegen die Geräte auch sehen und steuern.
      Wenn ich mir die Beschreibung von Elgato ansehe, scheint dies auch so von Apple „gewollt“. Entweder die gleiche Apple-ID oder halt die gewünschte Person einladen:

      Quelle: Elgato Systems

      „Alle HomeKit-Geräte – also auch Eve-Geräte – lassen sich nur mit einem Master-iOS-Gerät pairen.

      Um Eve-Geräte gemeinsam zu nutzen, richten Sie weitere iOS-Geräte mit derselben Apple-ID ein, iCloud synchronisiert Ihr HomeKit-Setup mit allen iOS-Devices – das kann einmalig bis zu 2 Stunden dauern.

      Nach der Synchronisation wird Eve an den iOS-Geräten automatisch die Einstellungen des Master-Geräts nutzen. Um die Synchronisation der HomeKit-Daten über iCloud zu ermöglichen, müssen Sie die Funktion „iCloud-Schlüsselbund“ in „Einstellungen > iCloud > Schlüsselbund“ an den iOS-Geräten aktiviert haben.

      Um Ihre Eve-Geräte mit anderen Benutzern gemeinsam nutzen zu können, werden Sie mit iOS 9 (und einem Eve-App-Update) Nutzer mit einer anderen Apple-ID einladen können.“

      Gruß Daniel

    • Es tatsächlich so, dass nur einer die Geräte verwalten kann. Das ist dann quasi der Administrator. Man kann dann weitere Personen (weitere Apple-IDs) einladen und auch festlegen, welche Berechtigungen die haben. Viel gibt es da jedoch nicht zur Auswahl.
      Verändern kann in jedem Fall nur der „Admin“, auch was die Zuordnung der Geräte zu Räumen betrifft, Siri-Namen der Geräte, usw.

  5. Hallo.

    Nachdem ich viel mit Pilight rumprobiert habe und absolut nicht zufrieden war, habe ich mich mit deiner Anleitung endlich an FHEM gewagt.

    Deine Anleitung ist echt spitze und mit die beste, die ich gefunden habe. Auch, dass du so rege auf die Kommentare antwortet, finde ich super.

    Bei mir funktioniert auch alles: 3 Funksteckdosen aus FHEM werden über Homebridge in der Home App angezeigt und können toll gesteuert werden. Nur leider funktioniert das ganze nicht mit dem Autostart (was mir am wichtigsten wäre). Wenn ich den Raspberry Pi neu hochfahre, findet die Home App die FHEM-Geräte nicht mehr. Homebridge hatte vorher schon einen Autostart, da hab ich eigentlich nix geändert. Nachdem ich Homebridge stoppe und manuell neustarte geht wieder alles. Nur eben der komplette Autostart nicht inkl. FHEM.

     

    Vielen Dank im Voraus.

    Gruß, Patrick

    • Hallo Patrick,

      vielen Dank für das Lob 😉 Freut mich, dass im Großen und Ganzen alles bei dir klappt. Mit dem Autostart ist natürlich echt bisschen ärgerlich.
      Habe das Skript selber im Einsatz, funktioniert bis perfekt. Vielleicht findest du auf der FHEM-Seite zur Homebridge ein paar mehr Infos, habe auch von dort das Skript.

      Was vielleicht sein kann ist, dass du das Skript noch anpassen musst, wenn du nicht mit dem Benutzer „pi“ arbeitest. Ich habe zum Beispiel den Benutzer „pi“ gelöscht und mir einen eigenen erstellt –> „Daniel“. Habe dann das Skript wie folgt angepasst:

      Homebridge-Autostart-Skript

      Und dann noch wie im Beitrag den Autostart aktivieren.

      Ansonsten habe ich hier auf der Homepage noch andere Möglichkeiten gefunden, Homebridge automatisch zu starten. Vielleicht klappt ja von diesen Lösungen eine bei dir.

      Gruß Daniel

    • Hi,

      hatte gerade das selbe Problem, Start über „sudo homebridge“ funktioniert, über Reboot oder „sudo start homebridge start“ geht nicht.

      Der Service startete, der Port wurde geöffnet, allerdings fand Eve die Homebridge nicht.

      Nachdem ich den Benutzername von :30 auf :31 geändert habe funktioniert alles zur vollsten Zufriedenheit.

       

      Gruß

      DerHoschi

Schreibe einen Kommentar

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

*