HomeKit Integration in openHAB - Siri, schalte das Licht an

HomeKit in openHAB

Ähnlich wie die Integration in Amazon's Alexa (siehe Beitrag Amazon Alexa Integration) arbeitet auch die HomeKit-Integration mit sogenannten Tags an den Items. Dazu später mehr.

Aufbau dieses Beitrags

Da wir die Beiträge auf worldoftech.de allgemein so halten möchten, dass man die meisten Tutorials ohne Eingriff auf Konfigurationsdateien durchführen kann, versuchen wir auch hier die komplette Einrichtung per PaperUI zu realisieren.


Leider ist dies oft nicht möglich - wir versuchen aber diese Aktionen auf ein Minimum zu begrenzen.


Da die Einrichtung sehr ähnlich mit der von Amazon Alexa ist, kann es hilfreich sein diesen parallel auch zu lesen. Das gilt natürlich auch in die andere Richtung.

Installation der HomeKit-Integration

Wir loggen uns also auf unsere openHAB-Instanz ein und öffnen dort das PaperUI.


openHAB HomeKit Skill


Anschließend müsst Ihr (leider) per Konsole eine Konfigurationsdatei anlegen, die Ihr unter /etc/openhab2/services/homekit.cfg abspeichert.


Also sudo nano /etc/openhab2/services/homekit.cfg in die SSH-Konsole eingeben.


Der Inhalt sieht wie folgt aus:

Speichern mittels CTRL+W, anschließend CTRL+X zum beenden von Nano.


Die restlichen Angaben können dann in der PaperUI-Oberfläche angelegt werden. Dazu gehen wir im PaperUI auf Configuration -> Services und wählen dort HomeKit Integration aus bzw. das Configure darunter.


Füllt die Konfiguration entsprechend des folgenden Screenshots aus. Der Pin sollte verändert werden. Es ist darauf zu achten, dass dieser im Format ###-##-### eingegeben wird. Es dürfen keine Zahlen hintereinander wiederholt werden bzw. in aufsteigender Reihenfolge. Diesen Pin benötigt Ihr später für die Einrichtung auf eurem iOS-Gerät.


openHAB HomeKit Config



Mit einem Klick auf den Expert Mode können noch folgende Werte angelegt werden:


name = <Frei wählbarer Name Eurer openHAB-Instanz>

maximumTemperature = 50

minimumTemperature = 0


So weit so gut - Damit wäre die Konfiguration der HomeKit-Schnittstelle erledigt sein.

Items mit Tags versehen

Wir gehen davon aus, dass Ihr euch schon mit Items auseinandergesetzt habt. Zur Auffrischung: Das sind die Eigenschaften, die Eure Smart-Home-Komponenten (Things) bereitstellen. Also stellt zum Beispiel eine Lampe (Thing) die Eigenschaft (Item) "An" oder "Aus" als Schalter bereit.


Gearbest Up to 60% OFF for Christmas Deals! promotion
Up to 60% OFF for Christmas Deals!


Damit nun HomeKit weiß, dass es sich zum Beispiel bei dem Item "LAMPE_KUECHE_STATE" um einen Schalter handelt, der dafür verantwortlich ist, das dass Licht an oder aus geht, müssen wir es mittels eines Tags mitteilen. Das heißt, wir verpassen dem Item "LAMPE_KUECH_STATE" den Tag "Lighting".

Verfügbare Tags

Hier eine Liste der verfügbaren Tags


Tag unterstützte Items Beschreibung
Lighting Switch, Dimmer, Color
Beleuchtung mit Ein/Aus-Schalter, Dimmer und Farbwechsler
Switchable Switch, Dimmer, Color Ähnlich wie Lighting, nur die Grammatik, die zusammen mit Siri angewendet wird ist anders
CurrentTemperature Nummer Ein numerischer Wert, der ausgelesen werden kann. Als Einheit dient °C
CurrentHumidity Nummer Ein numerischer Wert, der ausgelesen werden kann. Als Einheit dient %H
homekit:HeatingCoolingMode String Definiert den aktuellen Betriebsmodus z.B. bei einem Thermostat
TargetTemperature Nummer Ein numerischer Wert, der als Vorgabewert für Temperatur dient. Als Einheit dient °C
Thermostat Group Definiert eine Gruppe von Items als zusammenhängendes Thermostat


Das Tag "Thermostat" hat hier eine Sonderstellung. Die erklären wir in Kürze.

Tags per REST-API an Items hängen.

Erinnert Ihr Euch an unser Tutorial, wie man HomeMatic-Komponenten in openHAB einrichtet? Dort haben wir empfohlen, den Simple Mode unter Item Linking zu aktivieren. Leider können an so erstellte Items KEINE Tags angehängt werden - also müsst Ihr leider diese Items löschen und manuell neu anlegen...


Zitat

Items die im Simple Mode angelegt wurden, können nicht mit Tags versehen werden.


Dies dann auch den Vorteil, das Ihr die Bezeichnung der Items individuell wählen könnt und auch nur die notwendigen Items anlegen müsst. Notiert Euch die Bezeichnungen Eurer Items. Bei uns heißen Sie zum Beispiel "TM_Schlafzimmer_4_ActualTemperature"


Anschließend installiert in PaperUI über Addons -> Misc die REST Documentation. Diese könnt Ihr dann über den Startbildschirm von openHAB öffnen.


openHAB REST-API


Anschließend klicken wir auf den Punkt PUT /Items/{itemname}/tags/{tag} unter dem Menüpunkt items


openHAB RestAPI


Hier geben wir unter "itemname" die Bezeichung des items ein und bei tag den entsprechenden Wert laut der obigen Tabelle ein. In unserem Fall ist das der aktuelle Temperaturwert des Thermostats im Schlafzimmer:


Rest-API Input


Mit einem Klick auf "Try it out! wird der Tag geschrieben. Ihr erhaltet eine Rückmeldung ob alles geklappt hat. In diesem Fall ist der Response Code "200"


REST-API Check


Wir wiederholen das Ganze bis wir alle Items mit Tags versehen haben, die wir per HomeKit steuern möchten.

Prüfen können wir die Tags mit dem Menüpunkt GET /items/{itemname}. Hier fügen wir wieder unsere Item-Bezeichnung ein und klicken auf Try it out!


REST-API Check


Alternativ könnt Ihr die Tags auch mittels habmin prüfen, sofern Ihr es installiert habt.


Es besteht auch die Möglichkeit, die items per Konfigurationsfile mit Tags zu versehen. Da wir aber so wenig wie möglich mit Konfigurationsfiles hantieren wollen, beschreiben wir diese Methodik hier nicht, sonder verweisen auf den Beitrag des Bindings.

Sonderfall Thermostate

Die Vorgehensweise bei Thermostaten ist etwas anders, da diese mehrere Items beinhalten. Dazu müssen zuerst Gruppen angelegt werden, die alle benötigten Items des individuellen Thermostats enthalten.


Das sind am Beispiel eines HomeMatic Thermostat die Items:

  • aktuelle Temperatur - CurrentTemperature
  • eingestellte Temperatur - TargetTemperature
  • Betriebsmodus - homekit:HeatingCoolingMode

Legen wir also zuerst eine Gruppe für jedes unserer Thermostate in PaperUI an. Dazu gehen wir auf den Menüpunkt Configurations -> Items und klicken auf das "+"-Symbol.


Im offenen Fenster füllen wir die Felder aus


openHAB Gruppen anlegen


  • Name - die Bezeichnung der Gruppe, hier solltet Ihr euch eine Nomenklatur überlegen, damit Ihr die Bezeichnung einheitlich ist. Zum Beispiel gTM_<Raumname>
  • Label - hier kommt die Beschriftung rein, kann frei gewählt werden.
  • Type - hier muss Group ausgewählt werden
  • Base Type - wird auf None eingestellt

Anschließend schließt Ihr den Vorgang mit einem Klick auf das "+" -Symbol ab.


Prüft anschließend, ob in den entsprechenden Gruppen-Items mindestens die drei Sub-Items verknüpft wurden: Aktuelle Temperatur, Control Mode und eingestellte Temperatur.


openHAB Thermostat Group


Anschließend auch hier die entsprechenden Tags vergeben und nicht vergessen der Gruppe selbst den Tag Thermostat zu verpassen.


Einrichtung der HomeKit-App


An unserem iOS-Gerät öffnen wir die Home App. Diese begrüßt uns (sofern wir sie das erste Mal nutzen) mit dem Willkommensbildschirm den wir wegdrücken um anschließend auf Gerät hinzufügen drücken.


iOS - HomeKit starten iOS - HomeKit einrichten iOS - HomeKit einrichten


Im folgenden Fenster öffnet sich die Kamera und man kann den Code, der auf HomeKit-kompatiblen Geräten aufgedruckt ist. Da wir sowas nicht haben, wählen wir am unteren Rand Code fehlt bzw. kann nicht gescannt werden? aus.


Die openHAB-Instanz sollte nun in der Liste auftauchen, die wir dann auswählen.


iOS - HomeKit einrichten iOS - HomeKit einrichten


Nun kommt unser PIN-Code den wir in den Einstellungen der HomeKit-Integration definiert haben zum Einsatz. Diesen geben wir nun ohne die Bindestriche ein.


HomeKit Setup HomeKit Zuordnung


Im folgenden Schritt müssen wir die identifizierten Komponenten (hier die HomeMatic-Thermostate) den Räumen zuordnen. Anschließend können wir diese innerhalb der App steuern.


HomeKit Overview HomeKit Item


Wir haben hier im Beispiel nur die HomeMatic-Thermostate eingebunden. Das ganze funktioniert natürlich auch mit Komponenten anderer Hersteller.

Viel Spaß beim Ausprobieren!

    Über den Autor

    Gründer und Autor von worldoftech.de

    Seit 25 Jahren im Bereich IT unterwegs, leidenschaftlicher Computerspieler, Technik-Freak und begeistert von allem was einen Motor (Auto/Motorrad/Flugzeug) hat.


    Nutzt Zuhause openHAB2 zusammen mit HomeMatic Komponenten sowie netatmo als Wetterstation. InfluxDB und Grafana zur Auswertung. Weitere Gadgets von Xiaomi, Sonos und Samsung

    Patrick Team

    Kommentare