zigbee2mqtt – Xiaomi Aqara Cube

Share on facebook
Share on twitter

Der Xiaomi Aqara Cube ist ein preiswerter und kleiner Sensor, der viele „Eingabemöglichkeiten“ bietet, auf die Home-Assistant reagieren kann.

1. richtige Konfiguration

Zunächst ist wichtig, dass die Konfigurationsdatei von zigbee2mqtt richtig eingestellt ist. permit_join muss aktiviert sein, damit zigbee2mqtt ständig prüft, ob sich ein Gerät verbinden möchte. Aus Sicherheitsgründen solltest Du permit_join auf false stellen, wenn Du alle Geräte mit zigbee2mqtt verbunden hat.

2. Xiaomi Aqara Cube öffnen, zurücksetzten und pairen

Als nächstes muss der Xiaomi Aqara Cube geöffnet werden. Es ist dann ein Taster sichtbar, denn Du mind. 2 Sekunden drücken musst. Dabei leuchtet die blaue LED dauerhaft. Im Anschluss musst Du in kurzen Abständen (1x pro Sekunde) den Taster weiter drücken, bis die Verbindung abgeschlossen ist. Es ist sinnvoll sich dabei die Ausgaben im LOG von zigbee2mqtt anzuschauen. Hierzu solltest Du regelmäßig den REFRESH unter dem Log drücken, um die Ausgaben zu aktualisieren. Du sieht dann im Log, wenn die Verbindung abgeschlossen ist.

3. Einbindung in Home Assistant

Jetzt wechselst Du in den Ordner, in dem die Konfiguration von zigbee2mqtt gespeichert ist. Das sollte normalerweise share/zigbee2mqtt/ sein. Dort öffnest Du die Datei configuration.yaml – also nicht die configuration.yaml im Home-Assistant config Verzeichnis. In dieser Datei ist jetzt unteranderem auch das neu erkannte Gerät (device) zu finden.

devices:
  '0x00158d0002792068':
    friendly_name: '0x00158d0002792068'
    retain: false

Um leichter mit dem Cube arbeiten zu können, solltest du einen sog. friendly_name vergeben. Ich habe Cube1 gewählt. Nach einem Neustart von zigbee2mqtt wir der neue Name verwendet.

devices:
  '0x00158d0002792068':
    friendly_name: Cube1
    retain: false

Jetzt passen wir die configuration.yaml von Home-Assistant an und sorgen dafür, dass das Gerät dort ebenfalls erkannt wird. Ich habe schon einen Sensor eingerichtet, und zeige deshalb hier, wie die Einbindung mehrerer Sensoren aussieht. In der Dokumentation von zigbee2mqtt wird hier genau aufgelistet, wie die Sensoren eingebunden werden. Unter state_topic solltest Du den Wert „name:“ ergänzen und dort den friendly_name aus der Konfiguration von zigbee2mqtt verwenden. In meinem Beispiel ist das „Cube1“.

sensor:
   - platform: openweathermap
    api_key: !secret openweathermap_api_key
    language: de
    monitored_conditions:
      - weather
      - temperature
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/Cube1"
    name: "Cube1"
    availability_topic: "zigbee2mqtt/bridge/state"
    icon: "mdi:gesture-double-tap"
    value_template: "{{ value_json.action }}"
    json_attributes: 
      - "linkquality"
      - "battery"
      - "voltage"
      - "angle"
      - "side"
      - "from_side"
      - "to_side"
      - "brightness"
      - "angle_x_absolute"
      - "angle_y_absolute"
      - "angle_z"
      - "angle_y"
      - "angle_x"
      - "unknown_data"
    force_update: true

Nach einem Neustart des System erscheint Cube1 jetzt in den Entwicklerwerkzeugen States.

4. Visualisierung in Home-Assistant

Um den Zustand beobachten zu können, kannst Du Dir den Sensor auch anzeigen lassen. Dafür gibt es mehrere Möglichkeiten. Hier findest Du zwei Beispiele für die Datei groups.yaml.

1. Anzeige als Kachel

Sensoren:
    name: Sensoren
    entities:
      - sensor.Cube1    
  Sensoren_View:
    name: Sensoren
    view: yes
    entities:
      - group.Sensoren

2. Anzeige als Kreis

Sensoren_View:
    name: Sensoren
    view: yes
    entities:
      - sensor.cube1

5. Automatisierung

Jetzt testen wir uns noch eine Automatisierung. Durch ein kippen des Xiaomi Aqara Cube (Flip90) soll ein Licht reagieren. In diesem Fall ist es Lampe in der Küche, (light.Kuche).

- alias: Cube1 schaltet das Licht
  trigger:
    platform: mqtt
    topic: zigbee2mqtt/Cube1
  condition:
    condition: template
    value_template: "{{ 'flip90' == trigger.payload_json.action }}"
  action:
    - service: homeassistant.toggle
      entity_id: light.kuche

Der Xiaomi Aqara Cube unterstützt natürlich auch noch andere Gesten. Es ist möglich, die Bedingungen für das Auslösen des Ereignisses logisch zu verknüpften. Ein Beispiel für eine ODER Verknüpfung habe ich hier angefügt.

- alias: Cube1 Schalte das Licht ein
  trigger:
    platform: mqtt
    topic: zigbee2mqtt/Cube1
  condition:
    condition: or
    conditions:
      - condition: template
        value_template: "{{ 'flip180' == trigger.payload_json.action }}"
      - condition: template
        value_template: "{{ 'flip90' == trigger.payload_json.action }}"
      - condition: template
        value_template: "{{ 'tap' == trigger.payload_json.action }}"
      - condition: template
        value_template: "{{ 'shake' == trigger.payload_json.action }}"
      - condition: template
        value_template: "{{ 'slide' == trigger.payload_json.action }}"
      - condition: template
        value_template: "{{ 'rotate_right' == trigger.payload_json.action }}" 
      - condition: template
        value_template: "{{ 'rotate_left' == trigger.payload_json.action }}"
  action:
    - service: homeassistant.toggle
      entity_id: light.kuche

Schreibe einen Kommentar