openHAB 2 - Anbindung an HomeKit

Diesen Beitrag schrieb ich 7 Jahre und 11 Monate zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 3 Minuten

Wie im letzten Artikel bereits erwähnt habe ich meine openHAB 2-Installation mit Apples HomeKit verheiratet; läuft bereits eine openHAB 2 Instanz, ist das sogar sehr schnell und mit wenig Aufwand erledigt.

In Paper UI → Extensions → Misc beim Punkt „HomeKit Integration“ einfach auf INSTALL klicken und den Dingen ihren Lauf lassen ;) Das installiert die Erweiterung, die für alles weitere zwingend benötigt wird. Über Paper UI → Configuration → Services → Configure HomeKit Integration wird es konfiguriert – die Einstellungen habe ich fürs Erste alle beim Default belassen, mit Ausnahme des Network Interface, dem ich die IP meines openHAB-Hosts übergeben habe. Ein Klick auf SAVE übernimmt die Einstellungen.

Accessories

CurrentHumidity & CurrentTemperature

HomeKit möchte das Haus in Form von accessories organisieren; im einfachsten Fall wird ein accessory einfach mit einem Datenpunkt verknüpft und repräsentiert diesen Wert dann in HomeKit, nachfolgend gezeigt am Beispiel meiner niedlichen Wetterstation. Für diese accessories habe ich mir eine eigene HomeKit.items angelegt:

Number HK_Aussentemperatur
  "Temperatur"
  [ "CurrentTemperature" ]
  { channel="homematic:HM-WDS10-TH-O:ccu2:MEQ1600130:1#TEMPERATURE" }

Number HK_Luftfeuchtigkeit
  "Luftfeuchtigkeit"
  [ "CurrentHumidity" ]
  { channel="homematic:HM-WDS10-TH-O:ccu2:MEQ1600130:1#HUMIDITY" }

Lighting & Switchable

openHAB HomeKit Lighting Mit Number sind das vergleichsweise „dumme“ (weil: ausschließlich lesende) Werte. Die Übersichtsseite des Addons listet die verschiedenen Arten von accessories, die im Moment unterstützt werden; so ist es einfach, auch die verschiedenen Beleuchtungen im Badezimmer als Lighting einzubringen. Während Deckenlicht und Spiegelschrankbeleuchtung simple Switches darstellen, ist das Wandlicht dimmbar – per HomeKit App oder aber per Siri.

Switch HK_Bad_Deckenlicht
  "Deckenlicht"
  [ "Lighting" ]
  { channel="homematic:HM-LC-Sw4-DR:ccu2:LEQ0900581:1#STATE" }

Dimmer	HK_Bad_Wandlicht
  "Wandlicht"
  [ "Lighting" ]
  { channel="homematic:HM-LC-Dim1T-FM:ccu2:MEQ0081533:1#LEVEL" }

Switch	HK_Bad_Spiegelschrank
  "Spiegelschrank"
  [ "Lighting" ]
  { channel="homematic:HM-LC-Sw4-DR:ccu2:LEQ0900581:2#STATE" }

Switch	HK_Bad_Luefter
  "Belüftung"
  [ "Switchable" ]
  { channel="homematic:HM-LC-Sw4-DR:ccu2:LEQ0900581:3#STATE" }

Thermostat

[openHAB Thermostat Die Homematic-Thermostate sind die Geräte, die noch nicht einwandfrei funktionieren; technisch gesehen ist ein HomeKit-Thermostat eine Gruppe, die die Angaben zu CurrentTemperature, TargetTemperature sowie homekit:HeatingCoolingMode erfordert. Während die Temperaturen kein Problem darstellen, habe ich für homekit:HeatingCoolingMode noch keine optimale Lösung gefunden. Fest steht, dass in der Konfiguration des HomeKit-Bindings der Wert für Thermostat Auto Mode angepasst werden sollte, und zwar von auto zu AUTO-MODE. Ein abgeschaltetes Thermostat springt in den MANU-MODE, und die Soll-Temperatur wird auf 4,5°C heruntergeregelt, weshalb ich auch das mit org.openhab.homekit:thermostatOffMode=MANU-MODE mal erfasst hab. Jeodoch – weder BOOST-MODE noch PARTY-MODE passen zu dem, was mit Thermostat Cool Mode bzw. Thermostat Heat Mode gemeint ist. Ob ich hier nur auf dem Schlauch stehe, oder ob es wirklich eine Einschränkung ist…? Mal sehen.

// Hier kommt die Fußbodenheizung
Group gHK_Bad_FBH "Fußbodenheizung"	[ "Thermostat" ]
  Number HK_Bad_FBH_Temp
    "Temperatur"
    (gHK_Bad_FBH)
    [ "CurrentTemperature" ]
    { channel="homematic:HM-CC-RT-DN:ccu2:MEQ0060009:4#ACTUAL_TEMPERATURE" }
  Number HK_Bad_FBH_Setpoint
    "Zieltemperatur"
    (gHK_Bad_FBH)
    [ "TargetTemperature" ]
    { channel="homematic:HM-CC-RT-DN:ccu2:MEQ0060009:4#SET_TEMPERATURE" }
  String HK_Bad_HCM
    "HCM"
    (gHK_Bad_FBH)
    [ "homekit:HeatingCoolingMode" ]
    { channel="homematic:HM-CC-RT-DN:ccu2:MEQ0060009:4#CONTROL_MODE" }

Die Anbindung

Nun ist alles soweit bereit: das Binding ist installiert und konfiguriert, die accessories sind hinterlegt – Zeit also, alles miteinander zu verheiraten. Hierzu öffne die HomeKit-App, tippe Gerät hinzufügen an und folge den Anweisungen. Der Code, der angefordert wird, ist natürlich die PIN aus unserer Konfiguration.

Was nun folgt ist Rumspielen mit der App: Erstellung von Räumen (Hinweis: Standardraum verschwindet nur, wenn ihm keine Items mehr zugeordnet sind – Waschmaschine und openHAB stehen deshalb bei mir in Raum Keller!), vielleicht erhält jeder Raum ein eigenes Foto, Zuordnung der Items zu den jeweiligen Räumen – und natürlich ein Funktionstest à la „Hey Siri, schalte das Wandlicht im Badezimmer auf 73%!“.

Szenen

openHAB Szene Spannend ist auch die Erstellung verschiedener Szenen: „Hey Siri, ich möchte baden“ dimmt mir die Wandlampen auf 56% und schaltet die übrigen Badezimmerlampen ab – nur mich ausziehen und Wasser einlassen muss ich noch selber :D Es funktioniert stabil, und die HomeKit-App ist irgendwie stylischer als die von openHAB – naja, Apple-Fangirl-Gequassel halt, mit der Funktionalität hat das natürlich genau Null zu tun. Leider habe ich keinen hinreichend aktuellen AppleTV, so dass diese ganze Siri-Kiste derzeit nur im internen WLAN funktioniert.

Fazit

Hat doch gar nicht weh getan, oder? ;) Na, ich hatte schon eine ganze Weile gebraucht, bis ich verstanden hatte, wie alles zusammengehört. Und wenn jemand von euch ein AppleTV 4. Generation hat: erzählt mir mal, ob es auch von unterwegs funktioniert!

Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: 1440x 530px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „openHAB 2 - Anbindung an HomeKit“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.