Der Xiaomi Aqara Cube ist ein preiswerter und kleiner Sensor, der viele „Eingabemöglichkeiten“ bietet, auf die Home-Assistant reagieren kann.
Inhaltsverzeichnis
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