ONLINE

openHAB 2 – Anbindung an HomeKit

openHAB HomeKit

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.

openHAB HomeKit außenIn 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.itemsGITHUB 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 LightingMit 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 ThermostatDie 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.

openHAB und SiriWas 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 SzeneSpannend 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 😀 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

UnterschriftHat 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!

  1. Fabienne

    Hallo,

    ich bin ein Neuling bei OpenHab. Habe es auch auf dem Pi installiert, sowie das Homekit-Binding.
    Mir ist aber nicht klar, wo du diese homekit.items datei angelegt hast und wo du den Code hineingeschrieben hast? in eine einfache Textdatei?
    ich möchte eine HUE Lampe damit steuern.

    • Hi Fabienne,

      ein Stück weit hängt das davon ab, wo du openHAB installiert hast. Gehen wir mal davon aus, es liegt in /opt/openHAB, dann müsste

      • die HomeKit-Konfiguration als solche, also die homekit.cfg, nach /opt/openHAB/conf/services und
      • die Items-Datei, die homekit.items, nach /opt/openHAB/conf/items

      Und ja, das ist eine einfache Textdatei – erstellt allerdings mit dem Eclipse SmartHome Designer, um Typos zu vermeiden

      Viele Grüße,
      Marianne

      • Fabienne

        Ah okay super, vielen dank schonmal für die Infos =)
        Allerdings habe ich da noch ein Problem. Und zwar habe ich Openhab 2 auf meinem Raspberry Pi installiert per Terminal. Das hat auch alles funktioniert und auch das Aufrufen von openhab über den webbrowser per „localhost:8080“, sowie das Hinzufügen von Things etc geht alles.
        Aber ich finde ich meinem Ordnersystem keinen Openhab Ordner mit der Konfigurationsdatei. Die müsste doch nach Installation vorhanden sein? Oder muss man sich diese selbst anlegen?

        Viele Grüße,
        Fabienne

        • Fabienne

          okay, ich hab ihn gefunden, er war im Verzeichnis /etc/openhab2
          Sorry für die vielen Fragen, aber nun habe ich keine Zugriffsrechte auf die Dateien (items, rules, things etc) im Openhab-Folder und kann nichts reinschreiben. Hattest du das Problem auch?
          Das Ganze sollte mit Samba zu lösen sein, aber ich werde nicht als root-user erkannt.

          • Hm, das sind jetzt weniger openHAB-spezifische Dinge, da bewegen wir uns ja mehr auf dem allgemeinen Linux-Terrain… wenn die Konfig in /etc/openhab2 liegt, hast du sicher das Paket installiert. Wenn du als root eingeloggt bist und dich per Konsole in diesen Ordner bewegst, musst du dort alle Rechte haben.

            Samba ist ja dann wieder ein eigenes Thema für sich – und Samba-Login als root ist generell eher keine gute Idee Der relevante Teil der smb.conf könnte beispielsweise so aussehen:

            ...
            security = user
             
            [openHAB2_Konfig]
            path = /etc/openhab2
            writeable = yes
            guest ok = no
            create mask = 0664
            force create mode = 0664
            directory mask = 0775
            force directory mode = 0775
            ...

            Da gibt’s aber auch separate Howtos im Netz zu.

            Viele Grüße!

  2. Moin zusammen,

    ich habe eine kurze Frage zur HomeKit Konfiguration. Ich habe mir bei GitHub das Addon näher angeschaut und dort auch den Aprt gefundene wo man die maximale und minimale Temperatur einstellen kann. Kann mir jemand sagen wo ich das Addon auf meinem Pi3 finden kann?

    Grüße aus dem Norden

    • Hi,

      ich hab leider keinen blassen Schimmer Da ich gerade am Umbauen meines Setups bin, hab ich die HomeKit-Anbindung derzeit auch nicht aktiv…

      Viele Grüße!

    • CooperCGN

      Hallo,
      ich bin auch nach der Suche der Datei, wo man die max/min einstellen kann. Ist hier jemand zufällig fündig geworden?
      Grüße

  3. Hallo Marianne,
    erstmal vielen Dank für die super Beschreibung!
    Ich würde nun gerne einen „wake on lan“ Befehl mit einbaue aber ich bekomme es einfach nicht richtig hin.
    Hast du einen Tip für mich?

    Switch Mein_PC
    „Mein PC“
    [ „Switchable“ ]
    { wol=“192.168.1.255#00:2F:C6:1F:C0:DA“, exec=“>[OFF:shutdown -s -m \\\\192.168.1.2 -t 0 -f]#STATE“ }

  4. Jaqueline

    Hey
    Sehr interessanter Artikel. Ich studiere gerade in Wien Smart Homes und Assistive Technologien. Wir sind gerade bei dem Thema Openhab2 und KNX. Ich wäre sehr interessiert an einer Anbindung von der KNX, Openhab2 und Homekit. Es gibt in Openhab auch ein Binding für die KNX. Wie ich oben gesehen habe, steht da Homematic als Einbindung. Jetzt meine Frage, gibt es eine Möglichkeit auch die KNX irgendwie in HomeKit einzubinden? Wir haben Lampen zu schalten, Heizen/Kühlen und Jalousien.
    Mit lieben Grüßen,
    Jaqueline

    • Jaqueline

      Bzw. hast du vielleicht noch den Artikel wie du Homekit und Openhab2 verbunden hast?

  5. Wie hast du die Cooling Mode für die Thermostate angepasst? Ich weiß wie ich die Datei umprogrammieren kann finde die org. …. von HomeKit aber leider nicht auf meinem Pi… Ich weiß das ich dort z.B. auch den Temperatur Bereiche einschränken kann, zur Zeit geht er von -100 bis 100 .. etwas weit finde ich

    • Ich kann aus Zeitgründen die Referenz gerade nicht raussuchen, aber IIRC ist das ein Bug, der auch schon gemeldet wurde. Die 100°C haben mich auch ziemlich irritiert…

  6. Achso – AppleTV4 – funktioniert!

    -> Homkit wird in Berlin, Cottbus oder sonst irgendwo angezeigt

  7. Ich schaffe es leider nicht openHAB 2 in HomeKit zu integrieren.
    Nach der Eingabe des Pins kommt openHAB koppeln und nach einiger Zeit kommt eine Fehlermeldung „openHAB konnte nicht hinzugefügt werden“

    Hattest du auch das Problem? openHAB läuft bei mir auf einem PI.

    • Ich hab das gleiche Problem. Benutz die Default PIN. Hab schon sehr viel probiert, ohne erfolg. Und per Google nur auf Leidensgenossen gestoßen.

      Log:
      [ERROR] [ulfe.hap.impl.pairing.PairingManager] – Exception encountered while processing pairing request
      com.nimbusds.srp6.SRP6Exception: Bad client credentials
      at com.beowulfe.hap.impl.pairing.HomekitSRP6ServerSession.step2(HomekitSRP6ServerSession.java:331)[214:org.openhab.io.homekit:2.0.0]
      at com.beowulfe.hap.impl.pairing.SrpHandler.step2(SrpHandler.java:76)[214:org.openhab.io.homekit:2.0.0]
      at com.beowulfe.hap.impl.pairing.SrpHandler.handle(SrpHandler.java:47)[214:org.openhab.io.homekit:2.0.0]
      at com.beowulfe.hap.impl.pairing.PairingManager.handle(PairingManager.java:44)[214:org.openhab.io.homekit:2.0.0]
      at com.beowulfe.hap.impl.connections.HttpSession.handlePairSetup(HttpSession.java:107)[214:org.openhab.io.homekit:2.0.0]
      at com.beowulfe.hap.impl.connections.HttpSession.handleRequest(HttpSession.java:51)[214:org.openhab.io.homekit:2.0.0]
      at com.beowulfe.hap.impl.connections.ConnectionImpl.doHandleRequest(ConnectionImpl.java:51)[214:org.openhab.io.homekit:2.0.0]
      at com.beowulfe.hap.impl.connections.ConnectionImpl.handleRequest(ConnectionImpl.java:46)[214:org.openhab.io.homekit:2.0.0]
      at com.beowulfe.hap.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:47)[214:org.openhab.io.homekit:2.0.0]
      at com.beowulfe.hap.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:15)[214:org.openhab.io.homekit:2.0.0]
      at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)[214:org.openhab.io.homekit:2.0.0]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)[214:org.openhab.io.homekit:2.0.0]
      at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:32)[214:org.openhab.io.homekit:2.0.0]
      at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:299)[214:org.openhab.io.homekit:2.0.0]
      at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:36)[214:org.openhab.io.homekit:2.0.0]
      at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)[214:org.openhab.io.homekit:2.0.0]
      at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)[214:org.openhab.io.homekit:2.0.0]
      at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

      • Darauf muss mal kommen:
        Hab OpenHAB Service neu gestartet … jetzt funktionierts!

        • Bäh! openHAB 2.0 braucht relativ viele Neustarts, und das ist etwas, das mich ziemlich stört. Zum Beispiel, wenn ich die Gruppenzuordnung eines Items ändere — es erscheint in der Sitemap dann plötzlich mehrfach und an seltsamen Stellen, eben bis zum Neustart, dann geht alles. Aber es nervt… Muss das mal weiter eingrenzen…

  8. noch eine Frage:

    Hat jemand schon Homematic -Rollladen eingebunden?

    Wenn ja, wie sind die Bindings zu verarbeiten? („Rollershutter“)

    • Das würde mich auch interessieren ….

    • Ich leider nicht! Dabei sind die neuen Rollläden nebst Motoren verbaut und warten eigentlich nur darauf… Ist aber auch eine Kostenfrage, und jetzt im Winter haben die einfach keine Priorität.

      Steht aber in nächster Nähe an, damit mir im Frühjahr nicht wieder alle Pflanzen im Wintergarten verbrennen. Ich werd euch auf dem laufenden halten

      • eine Szene mit „rollershutter“ wäre trotzdem so cool, wenn im Frühjahr die Sonne ins Wohnzimmer scheint und ich rufe „hey Siri, fernsehen“

  9. Hi,
    Deine Ausführungen haben mich wieder schwer motiviert openHAB2 mit HK zu nutzen!
    Danke!!!

    Hast Du inzwischen mehr rausgefunden?

    z.B. wie könnte man einen Text im Status des HK anzeigen lassen? wie den erzeugten Solarstrom…

    ein wenig schwer fällt mir noch das einbinden von Wandthermostaten und Heizungsventilen
    (hab hier nen Mix aus Homematic und HomeaticIP)

    • Leider nein, momentan muss ich andere Themen priorisieren und bin froh, dass openHAB läuft und tut, was es soll. Solarstrom klingt mega-spannend, das hat sicher eine Menge Potential im Bezug auf OH & Co.!

      • Trotzdem erst einmal Danke…

        Generell muss es ja ne Menge Stati bei HK geben – aber ich vermute, dass die Homebridge noch nicht alles „verarbeiten“ kann.

        Habe zumindest schon mal von einem Solar-wechselrichter die Daten im OpenHAB (wie ich über das gleiche Plugin einen zweiten einbinde ist mir nicht klar)

        Schick wäre ne Anzeige im HK…

  10. HEy eine Frage

    Werden zu jedem Item wo ich ein Homekit Tag in der items-Datei ablege diese als einzelne Geräte angezeigt oder ist das später ein openHAB und darunter liegen die Geräte?!

    Weil bei mir werden nun 2 OpenHAB angezeigt o.O

    • Du meinst, wenn du HomeKit einrichtest werden dir zwei openHAB angezeigt? oO
      Keine Ahnung, das hatte ich nun noch nie. Klingt eher, als ob sich da was verlaufen hätte. Vielleicht mal smarthome homekit clearPairings ausprobieren?

  11. Super Tips hier !
    ich habe meine Lampen und Heizung am laufen.
    Hast du eine Ahnung was mit Fensterkontakten und Schlössern (Keymatic) ist ?
    Ich habe nichts gefunden wie ich diese einbinden kann….

  12. Hey, erstmal: super Tutorials hast du hier!

    Eine Frage hab ich: Wie hast du es hinbekommen das du verschiedene Icons für deine Lichter in der HomeKit App hast?

    Beste Grüße

    • Übrigens soll das mit der Kontrolle von außen auch mit einem iPad auf Stand von iOS10 funktionieren(das iPad muss dafür selbstverständlich immer Zuhause im WLAN sein), habe vor mir eins dafür zu besorgen. Dieses kommt dann bei mir als abnehmbares SmartHomePanel an die Wand und fungiert so als HomeKitgateway für mich aber glechzeitig auch als SmartHome Steuerung für Gäste.

      • Ja, das hab ich auch gelesen. Der Kostenaufwand ist mir da aber deutlich zu hoch — zumal ich über die openHAB-App ja von remote zugreifen kann (nachdem ich mir endlich das Reverse-Proxy-Setup angetan hab. Grrr.)

        • Ja das muss man sich gut überlegen, ich hardere auch noch mit dieser Entscheidung. Hab vor kurzem myOpenHAB installiert und bin damit eig. ganz zufrieden. iPad kommt daher wahrscheinlich erst später. Für leute die sowieso ein iPad besitzen ist das aber natürlich super.

    • Hehe, das war eher Zufall

      Also nehmen wir an, du hast in HomeKit eine Lampe definiert. Hat machst du HomeKit auf und wanderst über »Räume« bis zu dieser Lampe hin. Und dann

      • lang auf diese Lampe drücken,
      • unten auf Details drücken,
      • und da steht dann der Name der Lampe, da drauf drücken.

      Was erscheint ist ein Dialog »Symbol wählen«, und da kannst du dann aus vier Lampen eine aussuchen

      Viele Grüße,
      Marianne

  13. @openHAB Der Artikel passt perfekt! Das habe ich für morgen geplant

    via twitter.com

  14. An OH2 trau ich mich nicht recht ran, bei ein paar Exoten-Bindings hab ich da Bedenken. Aber von wegen „Wasser einlassen“, schon mal an ein Magnetventil (keine 50€) und einen Wassersensor (Fibaro/zwave) gedacht?

  15. Und Hardware… Ja das EZControl hatte leider bessere Hardwareunterstützung als der eine CUL den ich nu dran hab…

    via twitter.com

  16. Hrhr ja das mit dem Gefrickel versteh ich total… Ich hab auch bisher nur die Config angefasst… Nich den Perlkrams…

    via twitter.com

  17. Als ich damit anfing hatte oh die bessere Community & Hardwareunterstützung. Und: ich mag kein Perl-Gefrickel

    via twitter.com

  18. warum nutzt du OpenHAB und nicht fhem? (Bei mir sagte OHAB gar nix und fhem läuft…)

    via twitter.com

  19. Funktioniert das zuverlässig auch nach einem Neustart bei dir? Hab es im selben Setting mehrmals versucht – aber spätestens nach einigen Tagen ist die Verbindung verlorengegangen und dann habe ich es nicht weiter verfolgt…

    • Ja, das tut es — es läuft nach einem Neustart sauber weiter und auch sonst. Dafür gibt das Twitter-Binding den Geist auf, nachdem es einige Stunden in Betrieb war; sehr nervig, hab ich auch noch nicht weiter verfolgt. Aber naja, es steht ja auch fett SNAPSHOT dran Da müssen wir vielleicht noch ein wenig Geduld aufbringen…

Schreibe einen Kommentar

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