Aqara Cube HomeKit-fähig machen mit Workaround

  • Als ausgesprochener Fan von "mobilen" und HomeKit kompatibelen Schalterkonzepten jenseits der fest installierten klassischen Wandschalter habe ich mir aus Neugier bereits vor Monaten den Cube gekauft, der ja leider bis heute nicht in HomeKit genutzt werden kann. Entsprechend lag das gute Stück bislang völlig ungenutzt in der Schublade. In meinem HomeKit sollte der niedliche Würfel integriert werden, um diverse Mediengerätschaften einzeln und/oder in Gruppen zu schalten. Der Cube verfügt ab Werk über 6 Grundgesten, die jeweils per Bedingungen Toggle-Schaltungen möglich machen könnten (Nach dem Prinzip: Wenn aus, dann an und umgekehrt), was ungeahnte Möglichkeiten durch das kompakte Kerlchen eröffnen würde. Als Zugabe könnte der Cube sogar noch als Erschütterungssensor eingesetzt werden. Diese Funktion wird nutzbar, sobald der Cube 1 Minute lang nicht bewegt wurde. Das kleine Ding ist theoretisch also durchaus vielseitig, jedoch durch die bisherige Einmauerung in das Aqara-System nur äußerst begrenzt SmartHome tauglich einsetzbar. Diverse Homebridge-PlugIns und mächtige Konverter (bspw. für iobroker) sind zwar verfügbar, eine einfache Umsetzung ohne Zusatzhardware und ganz ohne Programmier-Codes für HomeKit habe ich jedoch bislang nicht gefunden.


    Heut morgen beim Frühstück kam mir dann die Idee, den Cube mit einem kleinen Trick uneingeschränkt HomeKit-kompatibel zu machen. Nach dem folgend beschriebenen Prinzip können tatsächlich alle Geräte, die in Aqara Home Automationen auslösen können und nicht in HomeKit verfügbar sind, für dasselbe nutzbar gemacht werden. Der Trick ist sehr einfach und mit etwas Vorarbeit in Aqara Home sowie mithilfe einer HomeKit App umzusetzen. Letztere sollte Lichtwerte numerisch anzeigen können und optimalerweise die Fähigkeit besitzen, ebensolche numerischen Werte per Tastatur einzugeben. Meine erste Wahl ist dafür die Controller App, die zudem die Optionen bietet, Automationen zu klonen und zu gruppieren. Somit können aus einer Grundautomation sehr schnell Varianten erstellt und übersichtlich in einer Master-Automationen zusammengefasst werden.

    Genug der Vorrede, los soll’s gehen:

    • Als erstes lege ich in der Aqara Home App neue Automationen an. Hierfür muss man zwingend einen Account für Mainland China anmelden. Dies ist allerdings nur für die Einrichtung notwendig. Danach kann man die App wahlweise wieder abmelden, sowie den Internetzugang des Hubs sperren, was die Netzwerksicherheit erhöht. Einmal eingerichtet bleiben die Automationen auch bei rein lokaler Nutzung aktiv. Sehr gut!
    • Pro Cube-Geste soll 1 Automation angelegt werden. Mit "If" wird die gewünschte Cube-Geste dazu als Auslöser ausgewählt!
    • Über "Then" folgen dannn 4 Einzelaktionen. Das Zielgerät ist die interne RGB-Leuchte des Aqara Hubs. Zu Oberst der Automation wird ein Farbwert durch "Sets night light color" eindeutig angelegt. Die App bietet leider keine numerische Eingabe, sondern nur eine sehr grobe visuelle Eingabe per Farbrad. Der Farbwert ist allerdings völlig nebensächlich, wichtig ist nur, dass sich der Wert in den weiteren Cube-Gesten-Automationen nicht wiederholt. Ich habe einfach grob einen beliebigen Wert ausgewählt und mir ebenso grob die Farbradposition gemerkt. Die später angelegten Cube-Automationen für die einzelnen Gesten unterscheiden sich einzig durch die jeweils ausgewählte Lichtfarbe.
    • Als zweiten "Then" Eintrag wähle ich über "Adjusts night light brightness" einen Helligkeitswert für das Hub-Licht mit exakt 1% aus. Dies hat den Sinn, dass ich später in HomeKit eine gezielte Bedingung formulieren kann, wodurch das Licht im Hub weiterhin geschaltet werden kann, ohne später ungewollt HomeKit Automationen auszulösen, wenn man anderweitig zufällig diesen Wert erwischt. Außerdem bewirkt der Helligkeitswert 1%, dass kein sichtbares Licht im Hub eingeschaltet wird. Der Hub bleibt also trotz 1% dunkel.
    • Als dritten "Then" Eintrag baue ich ein Delay mit 1 Sekunde ein.
    • Abschließend wird erneut die Hub-Leuchte angesprochen und lediglich mit "Turns off night light" das Licht wieder ausgeschaltet.
      Abschließend lösche ich nach Ablauf des Delays mit "Adjusts night light brightness 0%" wieder das zuvor mit 1% kurz erhellte Licht.
    • Dieses Prozedere wird anschließend für jede weitere Geste des Cube als Einzelautomation wiederholt. Um es sich etwas bequemer zu machen, können die letzten 3 Automationsschritte auch in einer Aqara Szene angelegt werden, sodass man ledig pro Automation die Geste, den Farbwert und die Szene auswählen braucht. Wichtig ist wie gesagt, dass die Lichtfarbe bei allen Gesten eindeutig ausgewählt wird. Um alle Funktionen bzw. Gesten später in HomeKit nutzen zu können, sollten am Ende 7 Automationen mit jeweils unterschiedlichen Lichtfarbwerten eingerichtet sein.

    Weiter geht’s in der Controller App:

    • Zunächst muss ich die präzisen numerischen Farbwerte ermitteln, da sie in der Aqara Home App ja nicht einfach ausgelesen werden können. Hierzu lege ich als erstes eine Hilfsszene in der Controller App an, in der ich lediglich ein Referenzlicht für den Hub abspeichere. Dies natürlich vorzugsweise mit sichtbarem Licht, also mehr als 1% Helligkeit, was die Unterscheidung einfacher macht. Die Szene dient lediglich dazu, einen Lichtwert zurückzusetzen, während man die verschiedenen Gesten-Automationen des Cubes auslöst und hin- und herschaltet.
    • Über "Geräte" wähle ich anschließend im Controller den Aqara Hub und danach unter "Services" die "Aqara Lampe" aus. Auf der folgenden Seite wird eine äußerst hilfreiche Übersicht aller relevanten Parameter aufgelistet. Ebenso ist hier auch die Referenzszene aufgeführt. Diese kann bequemerweise direkt von der Übersichtsseite ausgelöst werden. Tut man dies, erkennt man sogleich, dass die Parameter der "Glühbirne" aktualisiert werden, wodurch alle präzisen Werte für "Status der Stromversorgung", "Farbton", "Sättigung" und "Helligkeit direkt abgelesen werden können. Was für die Referenzszene gilt, funktioniert sinnigerweise ebenso für die eben angelegten Gesten-Automationen in der Aqara Home App. Wenn ich also eine Geste mit dem Cube ausführe, werden die damit ausgelösten Parameter der Aqara Lampe in der Controller-Übersicht aktualisiert dargestellt. Der Clou: die exakten Farbton-Werte können so abgelesen und notiert werden, um sie eindeutig den Gesten und im nächsten Schritt den HomeKit-Automationen zuzuordnen.
    • Im Folgenden werden nun die eigentlichen "Übersetzungen" der Cube-Gesten im Sinne eines Konverters für HomeKit angelegt. Hierbei löst der Cube in der geschlossenen Aqara Welt das eindeutige Licht aus, das Licht des Hub (da HomeKit kompatibel) löst seinerseits eine beliebige HomeKit Automation aus – einfach, effizient und ohne spürbare Verzögerung.
    • In der Controller App unter Automationen klicke ich dazu das "+" Zeichen und gebe einen Namen für die Automation ein. Da ich eine Gruppe exklusiv für den Cube erstelle, benenne ich die Automation entsprechend mit "Aqara Cube" und gelange in das Konfigurationsfenster für die zu erstellenden Automationen. In diesem Fenster werde ich nun eine erste Automation anlegen, die ich anschließend für alle gewünschten Gesten klone. Die Klone müssen dann nur noch mit dem Farbwert und der gewünschten Szene nachgearbeitet werden. Für die Anforderung einer direkten Geräteschaltung, welche ja nur in der Apple Home App möglich ist, gehe ich noch etwas anders vor, dazu später.
    • Auslöser, oder um im Terminus der Controller App zu bleiben "Startereignisse" für alle Cube-Gesten-Automationen sind jeweils "Status der Stromversorgung ist AN" sowie "Helligkeit ist 1%" der Aqara Lampe des Hub.
      Auslöser, oder um im Terminus der Controller App zu bleiben "Startereignis" für ist alle Cube-Gesten-Automationen ist "Helligkeit ist 1%" der Aqara Lampe des Hub.
    • Nun lege ich die Basis-Bedingungen für die Automation mit "Farbton ist XXX°" und "Helligkeit ist 1%" fest. Alle Bedingungen sollen erfüllt sein, weswegen der Button "Alle" aktiviert sein muss. Für XXX ist selbstredend der zur gewünschten Cube Geste passende, eben ermittelte Farbtonwert des Hub einzutragen. Bei Klick auf diese Bedingung gelangt man über "Wert der Eigenschaft" in ein vielsagendes Einstellfenster, in dem der unscheinbare Button mit Tastatur-Icon die präzise numerische Eingabe des Farbtonwertes möglich macht. Nach Bestätigung des Farbtonwertes warte ich noch, bis sich der Wert über der Farbauswahl schwarz einfärbt und klicke erst dann den "Schließen" Link, wodurch beim Zurückkehren auf die Automationskonfiguration der gewünschte Wert korrekt dargestellt wird.
    • Da ich eben bewusst von Basis-Bedingungen sprach, können je nach Anwendungsfall natürlich weitere Bedingungen hinzugefügt werden. Wie Anfangs erwähnt toggele ich die Schaltungen, d.h. ist mein TV-Streamer ausgeschaltete, soll eine Geste des Cube diesen einschalten, ist derselbe eingeschaltet, soll dieselbe Geste das Gerät wieder ausschalten. Entsprechend kann also die Bedingung "Status der Stromversorgung ist An" bzw. "Aus" hinzugefügt werden. Je nach Anwendungsfall und Fantasie können weitere (bspw. tageszeitabhängige) Bedingungen hinzugefügt werden, um mit ein und derselben Cube-Geste noch mehr Automationen zu realisieren. Das eröffnet ungeahnte Möglichkeiten.
    • Abschließend wähle ich noch eine oder beliebig viele auszulösende Szenen aus, die erste Gesten-Automation ist angelegt. Danach kann ich diese Automation mit Wischen nach links und Klicken auf "Klonen" vervielfältigen. Die Klone müssen somit nur noch mit den Farbtonwerten als Platzhalter für die jeweilige Geste und den auszulösenden Szenen aktualisiert werden. Fertig!

    Im Sonderfall der bereits erwähnten direkten Geräte- statt Szenenschaltung, die ja nur in der Apple Home App möglich ist, gehe ich etwas anders vor, da es hier einige Hürden und Bugs zu umgehen gilt. Die erste Hürde beginnt grundsätzlich schon damit, dass es in der Home App unverständlicherweise nicht möglich ist, numerische Lichtwerte einzugeben. Auch ist es dort unmöglich, die notwendigen Basis-Bedingungen einzugeben, weswegen ich die Home App dazu nutzen könnte, um rudimentär eine Automation vorzubereiten, die danach im Controller fertiggestellt würde. Im Falle des Cube lege ich jedoch darauf Wert, dass meine Cube-Gesten-Automationen im Controller gruppiert bleiben. Beginne ich bspw. in der Home App mit einer Automation, ist diese anschließend separat im Controller aufgeführt. Es gibt dann keine Möglichkeit mehr, die in Home angelegte Automation im Controller nachträglich einer Gruppe zuzuordnen.


    Aus diesem Grund gehe ich andersrum vor und beginne die besagte Geräte-Automation im Controller. Da ja bereits Automationen in der Master Automation "Aqara Cube" existieren, kann ich eine beliebige für meinen Zweck klonen und direkt nachbearbeiten. Hierzu wähle ich erstmal nur eine "vielsagende" Platzhalter-Szene aus, die ausschließlich dazu dient, in der Home App die richtige Automation möglichst schnell wiederzufinden – grade bei einer Vielzahl von ähnlichen Automationen verliert man in Home sonst schnell die Orientierung. Es bietet sich bspw. die vorhin erstellte Referenzszene an. Die geklonte und editierte Automation sollte abschließend noch aktiviert werden, da ansonsten in der Home Übersicht statt der ausgelösten Szene nur der Status "Deaktiviert" angezeigt wird.


    Ich wechsele in Home und suche unter Automationen die eben im Controller erstellte Automation mit der Platzhalter-Szene. Der Automationstitel sollte "Wenn Aqara Lampe Aktivieren" gefolgt vom darunterstellenden Namen der Platzhalter-Szene lauten. Diese Automation muss ich nur anklicken und kann dann schnell über "Geräte und Szenen auswählen …" einerseits die Platzhalter-Szene deaktivieren und andererseits das gewünschte Gerät auswählen. Unbedingt sollte ich mir an dieser Stelle im Klaren seinn, was bei dem Gerät passieren soll. In meinem Falle muss ich wissen, ob das Gerät aktiviert oder deaktiviert werden soll. Dies stelle ich entsprechend ein und bestätige mit "Fertig".


    Zurück zur Controller App. Es gilt dort nun zu überprüfen, ob alle Bedingungen richtig gesetzt und beibehalten wurden. Dazu sollte man, falls nicht ohnehin geschehen, das Automationskonfigurationsfenster des Controller schließen und neu öffnen, bis statt der zuvor angelegten Platzhalter-Szene eine völlig nichtssagenden vielstellige alphanumerische Codefolge aktualisiert angezeigt wird. Diese sollte ab sofort dringend unangetastet bleiben! Lediglich die Auslöser bzw. Startereignisse und Bedingungen sind noch einmal zu überprüfen. In meinem konkreten Falle waren einige Bedingungen durch die zwischenzeitliche Home App Editierung außer Kraft gesetzt in der Gestalt eines unsinnigen Eintrags. Solche Einträge müssen gelöscht werden und können nur manuell durch neu angelegte Bedingungen als Solche korrigiert werden.


    Leider ist nach erfolgreichem Anlegen einer direkten Geräteschaltung auch das Klonen einer Cube-Gesten-Automation nur eingeschränkt möglich. Klone ich eine solche Automation, erhalte ich eine Fehlermeldung und sehe zunächst keine Änderung. Nichtsdestotrotz legt der Controller tatsächlich eine neue Automation an, die allerdings deaktiviert und ohne Szene abgespeichert wird. Um diese zu sehen muss ich ebenfalls das Konfigurationsfenster verlassen und anschließend wieder öffnen. Per Ergänzung mit besagter Platzhalter-Szene und anschließender Nachbearbeitung in Apple Home wie beschrieben ist diese dann, zwar etwas umständlich, dennoch voll funktionstüchtig als direkte Geräteschaltung realisierbar.


    Wem die Automationserstellung zur direkten Geräteschaltung zu umständlich erscheint und wer noch viele Szenenspeicher frei hat, kann der Einfachheit halber Mini-Szenen mit den gewünschten Schaltfunktionen generieren, welche im Controller nicht nur einfacher von der Hand gehen, sondern darüberhinaus auch in der einzigartigen Backup Funktion für eventuelle Wiederherstellungen berücksichtigt werden, während die direkten Geräteschaltung – Apple sei Dank – nicht wiederhergestellt werden können.


    Noch ein Wort zur Aqara Lampe des Hub für diese Anwendung. Dieselbe wird ja nun für die HomeKit Konvertierung des Cube ziemlich vereinnahmt. Möchte man die Lampe als Solche nutzen, kann der Cube je nach Häufigkeit der Nutzung natürlich sehr stören, da er bei jeder Geste das Licht um- bzw, ausschaltet. In meinem Fall nutze ich die Lampe lediglich für einige seltenere Statusanzeigen, weswegen diese Einschränkung für mich nicht in’s Gewicht fällt. Alternativ ließe sich das Prinzip auch mit einer speziell für diesen Zweck in den Aqara Hub integrierten separaten Lampe oder einem separaten Hub umsetzen. Prinzipiell bieten sich alle Geräte an, die mindestens 7 Schaltzustände/-werte ausführen können.


    Ich wünsche allen Interessierten viel Spaß mit dem Aqara Cube! Das ist wirklich ein cooles Teil 8)