Homeassistant: Aqara Fenster- und Türsensoren

Homeassistant: Aqara Fenster- und Türsensoren

Die Fenster- und Türkontaksensoren von Aqara lassen sich für kleines Geld erwerben. Sie funktionieren, wie die meisten Zigbee-Geräte, einwanfrei im Zusammenspiel mit der Deconz-Integration. Nach erfolgreicher Einbindung tauchen die Kontaktsensoren als Binärsensoren auf und überliefern zusätzlich noch den Wert des Batteriestands, sowie der Umgebungstemperatur. Wie man diese Sensoren sinnvoll einsetzen kann, zeige ich anhand von 2 Beispielen.

Beispiel 1: Benachrichtigung, wenn es anfängt zu regnen und Fenster noch im geöffneten Zustand sind

Möchte man eine Nachricht erhalten, wenn es zu regnen beginnt und noch Außenfenster geöffnet sind, kann man das folgendermaßen erreichen:

1. Eine Gruppe anlegen, in der alle Fenster mit Sensoren vorhanden sind

Ist auch nur ein Fenster geöffnet ändert sich der Status der Gruppe auf on. Somit muss nicht jedes Fenster abgefragt werden:

group:
  fenster:
    name: Außenfenster
    entities:
      - binary_sensor.fenster_kueche
      - binary_sensor.fenster_ballsaal      
      - binary_sensor.fenster_schlafzimmer
      - binary_sensor.fenster_wohnzimmer

2. Automation zum Senden der Pushnachricht anlegen

Diese Automation setzt vorraus, dass ein Wettersensor vorhanden ist. Ich verwende in dem Beispiel Openweathermaps. Ändert sich der Sensor auf den state rainy wird geprüft ob noch ein Außenfenster geöffnet ist. Sollte dies der Fall sein, wird eine Pushnachricht auf das Smartphone gesendet, in der die noch geöffneten Fenster aufgelistet werden:

- alias: Warnung Regen Fenster offen
  trigger:
    - platform: state
      entity_id: weather.owm
      to:  'rainy'
  condition:
    - condition: state
      entity_id: group.fenster
      state:  'on'
  action:
    - service: notify.mobile_app_op7t
      data:
        title: "Es regnet und es sind Fenster offen"
        message: "{{ states | selectattr('entity_id','in', state_attr('group.fenster','entity_id')) | selectattr('state','eq','on') | map(attribute='name') | join(', ') }}"
        data:
          tag: "push_regenwarnung_fenster"
          channel: Alarm

3. (optional): Pushnachricht automatisch entfernen, wenn Fenster geschlossen werden

Wer gerne Faul ist und die Pushnachricht nicht manuell vom Smartphone wischen möchte, kann das über eine Automation erledigen. Werden alle Fenster geschlossen während es regnet, verschwindet die Pushnachricht automatisch vom Smartphone:

- alias: Warnung Regen Fenster offen dismiss
  trigger:
    - platform: state
      entity_id: group.fenster
      to: 'off'      
  condition: 
    - condition: state
      entity_id: weather.owm
      state:  rainy 
  action:
    - service: notify.mobile_app_op7t
      data:
        message: clear_notification
        data:
          tag: "push_regenwarnung_fenster"  

Beispiel 2: Benachrichtigung, wenn vor dem Schlafen gehen noch einmal gelüftet werden soll

Ich vergesse oftmals vor dem Schlafen gehen mein Schlafzimmer zu lüften und habe mir dafür eine Automation angelegt. Diese triggert abends um 20:00h und auch nur, wenn ich wirklich zu Hause bin und das Schlafzimmerfenster geschlossen ist:

- alias: Schlafzimmer lueften
  initial_state: True
  trigger:
    - platform: time
      at: '20:00:00'
  condition:
    condition: and
    conditions:
      - condition: state
        entity_id: binary_sensor.fenster_schlafzimmer
        state: 'off'
      - condition: state
        entity_id: person.ingeborg
        state: 'home'
  action:
    - service: notify.mobile_app_op7t
      data:
        title: "Lüften?"
        message: "Das Fenster im Schlafzimmer ist geschlossen. Nochmal lüften vor dem luschern?"
        data:
          tag: "push_sz_lueften"

Auch hier gilt als optionaler Obolus: Wer Faulheit liebt, kann noch eine zweite Automation anlegen, die die gesendete Pushnachricht vom Smartphone entfernt, sobald das Fenster nach 20:00h geöffnet wird:

- alias: Schlafzimmer lueften dismiss
  initial_state: True
  trigger:
    - platform: state
      entity_id: binary_sensor.fenster_schlafzimmer
      to: 'on'
  condition:
    - condition: time
      after: '20:00:00'
  action:
    - service: notify.mobile_app_op7t
      data:
        message: clear_notification
        data:
          tag: "push_sz_lueften"

Viel Spaß!