Aqara Devices in Home-Assistant per MQTT einbinden

Hier zeige ich wie einfach mal Aqara Devices in Home-Assistant per MQTT einbinden kann.

Da ich jetzt schon mehrfach gefragt wurde wie man Aqara Devices in Home-Assistant einbindet ohne ein Xiaomi oder Aqara Gateway zu haben, möchte ich hier einmal kurz zeigen wie das geht. Voraussetzung hierfür ist ein Zigbee-Gateway auf Basis eines CC2531.

Hat man das Zigbee-Gateway wie im Artikel beschrieben eingerichtet und das Aqara Device angelernt ist der Rest ganz simpel.

MQTT aktivieren

Im Home-Assistant muss als erstes MQTT aktiviert werden. Dazu tragen wir in der configuration.yaml folgendes ein:

mqtt:
  embedded

Damit aktivieren wir den MQTT-Broker der im Home-Assistant integriert ist. Möchten wir einen anderen MQTT-Broker verwenden, dann tragen wir statt dem oben nun folgendes ein:

mqtt:
  broker: IP_ADRESSE_ODER_HOST
  port: 1883
  username: USERNAME
  password: PASSWORD

Weitere Einstellungen sind in der Dokumentation beschrieben.

Aqara Cube konfigurieren

Als nächstes müssen wir das Device difinieren. Beispielhaft nehme ich hier den Aqara Cube, welcher als Sensor definiert wird. Dazu tragen wir in der configuration.yaml folgendes ein:

sensor:
  - platform: "mqtt"
    name: cube_one
    state_topic: "zigbee2mqtt/MQTT_DEVICE_NAME"
    availability_topic: "zigbee2mqtt/bridge/state"
    icon: "mdi:cube"
    value_template: "{{ value_json.action }}"
    retain: true
    json_attributes:
      - "battery"
      - "voltage"
      - "angle"
      - "side"
      - "from_side"
      - "to_side"
      - "brightness"

MQTT_DEVICE_NAME müssen wir jetzt noch durch den Namen ersetzen, den wir dem Gerät in zigbee2mqtt gegeben haben. Der Cube ist jetzt in Home-Assistant konfiguriert und kann verwendet werden. Ganz ähnlich lassen sich auch andere Devices einbinden. Sobald ihr zigbee2mqtt startet wird in der Konsole für jedes Gerät angezeigt, wie es in Home-Assistant eingetragen werden soll. Das wird jedoch nur angezeigt, wenn in der zigbee2mqtt-Konfiguration die folgende Zeile eingetragen ist:

homeassistant: true

In der Dokumentation von zigbee2mqtt wird auch nochmal aufgeliestet wie die einzelnen Devices einzutragen sind.

Aqara Cube als Trigger

Um den Aqara Cube als Trigger in Home-Assistant Automatisierungen zu nutzen, gehen wir am besten direkt über MQTT. Möchten wir z.B. das Licht einschalten, wenn der Cube um 90° gekippt wird, tragen wir in der automation.yaml folgendes ein:

- alias: 'Cube: Schalte das Licht ein'
  trigger:
    platform: mqtt
    topic: 'zigbee2mqtt/MQTT_DEVICE_NAME'
  condition:
    condition: template
    value_template: "{{ 'flip90' == trigger.payload_json.action }}"
  action:
    - service: homeassistant.turn_off
      entity_id: group.default_light

Auch hier nicht vergessen MQTT_DEVICE_NAME durch den in zigbee2mqtt vergebenen Namen zu ersetzen.

Aqara in Home Assistant
Aqara Cube um 90° gekippt

Das funktioniert natürlich nicht nur mit flip90 sondern mit all den folgenden Actions:

  • flip90
  • flip180
  • shake
  • fall
  • tap
  • slide

Ich hoffe, dass das dem ein oder anderen weiterhilft. Sollte dennoch etwas unklar sein, dann lasst bitte ein Kommentar da.

Weitere Geräte und Bezugsquellen findet ihr hier.

5 Antworten auf „Aqara Devices in Home-Assistant per MQTT einbinden“

  1. Hey, danke für deine Anleitung, klappt super! Aber ich bekomme es noch nicht hin, mit dem drehen des Cubes z.B. zu dimmen oder die Farbtemperatur zu steuern. Könntest du das auch noch einmal erklären? Mann müsste dann wohl Automations erstellen für rotate_right und rotate_left und dann jeweils den angle Wert benutzen. Aber ich weiss nicht so richtig wie…

  2. Hi Goran,
    hast Du vielleicht auch eine Xiaomi Aqara Sensor in Betrieb? Ich kämpfe gerade damit, den einzelnen Sensoren sinnvolle Namen zu geben. Ja, das kann ich über die HA Oberfläche konfigurieren.
    Hätte es aber lieber über die Config-Dateien.
    Hast Du vielleicht eine zigbee2mqtt/data/configuration.yaml für diesen Sensor?
    Und wie schaut bei Dir die sensors.yaml für diesen Sensor aus?

    1. Hallo,

      entschuldige die späte Antwort (es war in letzter Zeit etwas stressig 🙂 ).

      Ich vergeben die Namen meistens in englisch in dem Schema „Raum_Sensor“, z.B.: LivingRoom_DoorSensor oder BathRoom_MotionSensor. So trage ich die dann in meiner zigbee2mqtt/data/configuration.yaml ein.

      devices:
        '0x00xxxxxxxxxxxxx':
          friendly_name: BathRoom_DoorSensor

      Unter http://www.zigbee2mqtt.io/integration/home_assistant.html gibt es eine ausführliche Anleitung für jeden Sensor wie dieser in der sensors.yaml von Home-Assistant eingetragen werden kann.

      Beste Grüße

Schreibe einen Kommentar

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