Smart Home

Anleitung: Xiaomi Aqara Gateway mit Home Assistant nutzen

In dieser Anleitung wollen wir Schritt für Schritt die Konfiguration des Xiaomi Aqara Gateways für die Verwendung mit Home Assistant durchführen. Dieses ermöglicht die Verwendung und Einbindung von Xiaomi Mijia und Aqara Smart Home-Komponenten in unser smartes Zuhause.

Überblick

Die Dachmarke Xiaomi* hat diverse Smart Home Produkte im Angebot. Die meisten Sensoren werden unter dem Namen Aqara verkauft, einige Smart Home Produkte vertreibt der Hersteller aber auch unter dem Brand Mijia. Als zentrale Schnittstelle zwischen den einzelnen Zigbee-Sensoren und der Aqara Smart Home Cloud kommt das Aqara Gateway* zum Einsatz. Oft wird das Gateway auch als „Xiaomi Aqara Mi Smart Multifunctional Gateway*“ bezeichnet oder ihr findet das IoT-Devise unter dem Namen „Aqara Gateway V3“.

Xiaomi Aqara Mi Smart Multifunctional Gateway

Es handelt sich nach meinen Informationen überall um dasselbe Produkt. Dieses Gateway ist letztendlich nichts anderes, als ein Übersetzer von Zigbee auf IP-Protokoll. Ihr könnt euch die in etwa so vorstellen:

Mi Home App <-> Xiaomi Smart Home Cloud <-> Internet <-> WLAN AP <-> Wifi Verbindung <-> Xiaomi Aqara Gateway <-> Zigbee Funk <-> Aqara Sensor

Das Xiaomi Smart Home Ökosystem* setzt dabei auf eine Smart Home Cloud, die das Aqara Gateway regelmäßig abfragt und so Daten der Sensoren* an den Anbieter sendet. Diese Daten können dann über die zugehörige „Mi Home App“ unter iOS* eingesehen werden. Außerdem können über die App auch Befehle an das Gateway gesandt werden. So lässt sich beispielsweise die integrierte LED des Gateways in Farbe und Helligkeit aus der Ferne einstellen.

Wir wollen das Gateway jedoch nicht als Smart Home Spion verwenden, sondern lediglich die Daten der Zigbee-Sensoren an Home Assistant übergeben, ohne das diese zuerst in die Cloud auf einen chinesischen Server übertragen werden. D.h. wird verwenden das Gateway ausschließlich lokal. Wie man dem Gateway das Nachhausetelefonieren verbietet, habe ich in einem separaten Artikel in Bezug auf pfsense beschrieben. Wir wollen also folgendes Szenario aufbauen:

Home Assistant <-> WLAN AP <-> Wifi Verbindung <-> Xiaomi Aqara Gateway <-> Zigbee Funk <-> Aqara Sensor

Xiaomi Aqara Gateway vorkonfigurieren

In einem ersten Schritt müssen wir das Gateway konfigurieren. Dieses geschieht mithilfe der iOS App „Mi Home“, welche es gratis im Apple App Store zum Download gibt. Die App ist nicht unbedingt ein Wunderwerk, für die initiale Einrichtung ist die Oberfläche aber okay. Ich möchte an dieser Stell nicht darauf eingehen,  wie sich Sensoren* mit dem Gateway* verbinden lassen, um den Rahmen des Artikels nicht zu sprengen (ich überlege, ob ich hierzu noch einmal eine separate Anleitung anfertige). Wir gehen daher von folgenden Voraussetzungen aus:

  1. iOS-Gerät (iPhone*) mit aktuellem Betriebssystem
  2. „Mi Home App“ ist in der aktuellen Version installiert
  3. Ihr habt einen Account eingerichtet und als Server „Mainland China“ gewählt
  4. Das Aqara Gateway ist mit dem Account verbunden und sichtbar
  5. Es ist mindestens ein Sensor mit dem Gateway verbunden (wir gehen von einem Xiaomi Aqara Temperature Humidity Sensor* aus)
  6. Das Gateway kann aktuell noch auf das Internet zugreifen (so kappst du die Verbindung zur China-Cloud)

Schritt 1: Lokalen IP-Zugriff auf Xiaomi Gateway aktivieren

Da das Gateway, wie oben beschrieben, eigentlich dafür gedacht ist, die Daten direkt an die Xiaomi Cloud zu senden, muss der lokale Zugriff auf die Sensordaten erst aktiviert werden. Dazu starten wird im Hauptmenü der „Mi Home App“ auf unserem iPhone*.

Xiaomi Mi Home App - Aqara Gateway V3 - Home Screen

Anschließen wechseln wir auf einen Klick auf das „Gateway Device“ in die Übersichtsseite des Aqara Gateway V3*, um die Konfirmation anzupassen.

Xiaomi Mi Home App - Aqara Gateway V3 - Device View

In der oberen rechten Ecke erscheint ein Symbol mir drei Punkten ( … ). Ein Klick öffnet das Einstellungsmenü des Gateways. Ab hier schweift die deutsch-englische Mischübersetzung zusätzlich auch ins Chinesische ab. 😉

Hinweis: Im Folgenden Screenshot seht ihr mehr als nur die beiden Punkte „Smart Home Kit Forum“ und „Gameplay tutorial“. Um die Menüpunkte in chinesisch zu sehen, tippt mehrmals in den weißen, freien Bereich unter der Liste.

Xiaomi Mi Home App - Aqara Gateway V3 - Developer Menü

Anschließen wählen wir den zweiten Menüpunkt auf chinesisch (der Punkt unter dem Eintrag mit den Versionsangaben!) Wir kommen in das Menü zur Aktivierung des lokalen Zugriffs auf das Gateway*. Schiebt den oberen Regler in die „An“-Position und notiert euch die ID, die euch angezeigt wird. Diese benötigen wir, um Home Assistant auf das Aqara Gateway eindeutigen Zugriff zu gewähren.

Xiaomi Mi Home App - Aqara Gateway V3 - Lokalen IP-Zugriff aktivieren

Nun könnt ihr die Menüs schließen und ggf. den Internetzugriff des Xiaomi Gateways über euren Router / Firewall / IPS sperren.

Schritt 2: Aqara Gateway in Home Assistant einbinden

Im nächsten Schritt müssen wir Home Assistant mit dem Gateway bekannt machen. Dieses wird ganz normal via configuration.yaml eingebunden, wie wir es beispielsweise auch von Funksteckdosen via pilight gewohnt sind.

Zunächst stellen wir sicher, dass die discovery-Kompnenten unsere Home Assistant Instanz aktiviert ist. Das ist üblicherweise standardmäßig der Fall. Falls nicht, die configuration.yaml mit folgender Zeile ergänzen:

discovery:

Danach müssen wir die Aquara-Komponente verwenden, um unser Gateway* zu integrieren. Dieses geschieht über den folgenden Code. Im besten Fall habt ihr eurem Gateway eine statische IP-Adresse via ARP-Eintrag verpasst. Dann gibt es auch in Zukunft keine Probleme. Dazu benötigen wir die Xiaomi_Aqara-Komponente.

xiaomi_aqara:
  discovery_retry: 5
  gateways:
    - key: ID AUS DER APP

Für den Operator „key“ tragt ihr die aus der „Mi Home App“ notierte ID eures Gateways ein. Speichern und Home Assistant Neustarten.

Hinweis: Ich habe den Retry-Wert auf „5“ gesetzt, da das Gateway bei mir nicht immer sofort durch Home Assistant entdeckt wird, wenn der Home Assistant Dienst startet.

Schritt 3: Sensoren in Home Assistant verwenden

Wie oben beschrieben, verwenden wir für das folgende Beispiel einen Aqara Temperatur- / Luftfeuchtigkeitssensors*. Damit dieser in Home Assistant auftaucht, muss dieser zunächst über die „Mi Home App“ mit dem Gateway verbunden worden sein!

Wechseln wir unter Home Assistant in den Sensor-Tab sollten wir unter den Geräten nun unseren Temperatursensor und auch das Gateway selbst finden. Hier kann man über Home Assistant beispielsweise den integrierten Helligkeitssensor* des Gateways abfragen oder aber den LED-Ring steuern.

Home Assistant Aqara Sensoren Übersicht

Diese Sensoren lassen sich nun für beliebige Anzeigen oder Automationen nutzen! 🙂

Schlusswort

Die Integration des Xiaomi Aqara Gateways* in Home Assistant ist eigentlich schnell erledigt. Nur die Aktivierung des lokalen IP-Zugriffs auf das Gateway hat Xiaomi gut in der App versteckt. Einmal eingerichtet, läuft das System aber sehr zuverlässig. Bei mir funktioniert die Kombination mit Home Assistant bereits über 1 Jahr ohne einen einzigen Neustart des Gateways! Kommentare oder Anregungen? Ich freue mich! 🙂

Hinweis: Mit Sternchen (*) markierte Links sind Affiliate-Links / Partnerlinks. Mit einem Kauf über diesen Link erhalten wir als Seitenbetreiber eine Verkaufsprovision. So kannst du das Projekt ganz einfach unterstützen. Mehr Informationen dazu findest du hier.

8 Gedanken zu „Anleitung: Xiaomi Aqara Gateway mit Home Assistant nutzen

  • Hallo Nils,

    ich habe seit letzter Woche auch mein Gateway in Betrieb genommen und in Home Assistant implementiert. Das Gateway spricht gerade mit 4 Vibrationssensoren und ein Bewegungsmelder von Aqara. Leider ändert sich der Status dieser Vibrationssensoren nicht im HA, in der Mi Home App wird jedoch eine Berührung fest gestellt. Nur der Sensor Coordination und BedActivity verändern die Werte, mit denen aber nichts anfangen kann. Jetzt habe ich die Vibrationssensoren umbenannt, um sie besser auseinander halten zu können. Ich habe im Internet gelesen, dass das wohl das Problem sein könnte. Nun kann ich die Sensoren nichts aus HA und der Mi Home App löschen und wieder mit dem Originalnamen einbinden. HA erkennt immer den von mir geänderten Namen. Kennst du eine Möglichkeit, einen Sensor soweit zurück zu setzen, dass der ursprüngliche Name erscheint?

    Gruß
    Martin

    Antwort
    • Hallo Martin,

      ist zwar schon ewig her (habe leider keine Meldung zu deinem Kommentar bekommen). Aber falls das Problem noch aktuell ist: Wie hast du den Sensor denn unbenannt? Über das Web Gui (Love Lace) oder via Config Datei? Eigentlich sollte dann der Namen wieder zurückgesetzt werden, wenn dieser Eintrag gelöscht wird. Oder hast du den Sensor direkt in der Xiaomi App umbenannt? Dann hilft denke ich nur ein Reset des Gateways.

      Das mit den Vibrationssensoren ist auch ein bekanntes Problem. Hier mal meine Automation, um auf Bewegung zu prüfen (Automation Editor via GUI):

      Trigger type: Event
      Event: xiaomi_aqara.movement
      Event data: {
      „entity_id“: „binary_sensor.vibration_158xx002b8xxx“,
      „movement_type“: „vibrate“
      }

      Das funktioniert bei mir zuverlässig. Der Sensor setzt bloß nicht ständig Nachrichten ab, wenn man dran wackelt, sondern erst wieder nach einer gewissen Ruhephase.

      Viele Grüße,
      Nils

      Antwort
  • Leider wird bei mir nach mehrfacher Klickerei unter About leider nicht das erweiterte Menu angezeigt. Ich nutze Version Plugin Version 4.26.8. Würde mich über Tips freuen.

    Antwort
    • Hallo Stefan,
      bitte entschuldige die späte Rückmeldung – mir wurden einige Nachrichten nicht zugestellt

      Das ist bei mir ganz genau so. Der Zugriff über LAN scheint jetzt standardmäßig aktiviert zu sein. Hast du das mal geprüft? Ich kann auch nichts mehr einstellen bzw. das Menü kommt nicht mehr. Der Zugriff von HA auf das Gateway läuft aber immer noch 1A.

      Viele Grüße,
      Nils

      Antwort
  • Gut geschrieben. Echt toll. Danke.

    Antwort
  • Hi Nils,

    ich habe deine Links verwendet und Docker auf meinem NAS eingerichtet. Das System hat Zugriff auf den Aquara Hub und die Sensoren sehe ich auch.
    Folgende Dinge sind mir allerdings unklar:
    1. Die Ansicht der Sonsoren wie oben aufgeführt bekomme ich nicht. Mir gelingt es somit leider auch nicht die einzelnen Sensoren Räumen zuzuordnen. Auf der Seite „Integration“ stehen meine Sensoren nciht zur Verfügung…
    2. Wie triggere ich, dass aktuelle Daten der Sensoren „regelmäßig“ abgerufen werden? – aktuell geschieht dies nur, wenn ich den Home Assistant neu starte.

    SRY für die vielen Fragen 😉 aber offensichtlich hast du deine Erfahrungen damit schon gemacht 🙂

    vg und vielen Dank
    Axel

    Antwort
    • Hallo Axel,

      die Frage 1 habe ich leider nicht ganz verstanden, glaube ich. Welche Ansicht meinst du? Unter „Integration“ werden die Xiaomi Sensoren nie erscheinen. Wenn die Xiaomi Komponente richtig geladen ist (Kein Fehler im Log: Developer Tools -> Logs), dann schau mal unter Developer Tools -> States nach. Hier sollten alle an das Gateway gebundene Aqara-Sensoren auftauchen. Erstmal mit einem kryptischen Namen. Den kannst du dann ja später noch hübsch machen, wie das geht findet sich in den Home Assistant Dokumenten.

      Zu Frage 2: Das passiert in Echtzeit. Das Gateway pusht die Aktualisierung an Home Assistant. Wann immer sich ein Sensor beim Gateway meldet, wird diese Info auch direkt an Home Assistant weitergegeben. Da du schon irgendwas zu sehen scheinst (auch wenn nur bei Neustart), scheint ja die generell Verbindung zwischen Home Assistant und Gateway schon mal zu laufen?

      Generell dürfen in den HA Logs keine Fehler erscheinen. Man macht leider gerne Fehler bei der JSON-Schreibweise in den Config-Dateien. Das also immer zu erst checken, bevor du dir den Inhalt / die Logik der Configuration.yaml vornimmst.

      Viele Grüße und viel Erfolg,
      Nils

      Antwort
  • Hallo Nils,

    vielen Dank für deine Antworten. Zu 1) Ich würde gerne die einzelnen Sensoren Zimmer zuweisen. Leider ist mir nicht klar, wo und wie ich das machen kann. Oder geht das mit Aqara gar nicht? 2) Bei mir aktualisiert er die Werte wie gesagt nur bei Start des Assistenten auf der DS. Ansonsten ist die Temperatur immer konstant…in der App „Mi home“ sieht man allerdings deutliche Veränderungen bspw. wenn ich das Fenster öffne. Im logfile ist kein Fehler angegeben.
    Bei der Config bekomme ich keine Fehlermeldungen, allerdings musste ich eine Weile rumprobieren, bis ich eine funktionierende Config hatte:
    xiaomi_aqara:
    discovery_retry: 10
    gateways:
    – mac: xx:xx:xx:xx:xx:xx
    key: xxxxxxxxx
    host: ‚IP des Hubs‘

    Aktuell habe ich dem Hub das nach hause telefonieren komplett verboten und jetzt kann ich auf keinen Sensor mehr zugreifen…;) mal sehen was ich da wieder rumfummeln muss…

    vg
    Axel

    Antwort

Schreibe einen Kommentar

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