Homeassistant - Gekippte Fenster erkennen
Einleitung
Einer meiner Hauptwünsche für mein Smarthome war und ist die erkennung von gekippten Fenstern, da ich durchaus auch Fenster für längere Zeit gekippt lasse und bevor ich gehe, wissen möchte, welche Fenster offen sind und welche gekippt, da ich gekippte Fenster aufgrund der eingebauten Sicherung durchaus mal offen lasse…
Dementsprtechend habe ich mich nach Lösungen umgesehen, jedoch wurde ich nur sehr begrenzt fündig, da gekippte Fenster eher ein Deutsches? Ding zu sein scheinen…
Es gibt durchaus Lösungen, die das erkennen können, wie der ELV Homematic IP Fenstersensor. Dies wäre auch die optisch schönste Lösung. Da ich aber kein Homematic IP einsetzen möchte, habe ich nach günstigen und zuverlässigen Lösungen gesucht und bin schlussendlich auf den AEOTEC Zigbee Multipurpose Sensor gestoßen, welchen ich dann auch direkt 15x gekauft habe… bei einem Preis von ca. 30€ pro Sensor, halten sich diese preislich durchaus im angemessenen Rahmen und haben weiterhin ein paar nette erweiterungen, wie ein Gyroskop, einen Vibrationssensor und ein Thermometer.
Einrichtung in Homeassistant
Die Einrichtung geht über das ZigBee Addon in HASS ziemlich einfach, jedoch bekommt man lediglich 3 Sensoren
- Thermometer (Temperatur)
- IAS Zone (Magnetsensor)
- Accelormeter (Boolean -> Benannt mit isMoving)
Diese Werte können mir zeigen, ob ein Fenster auf oder zu ist, aber nicht ob es gekippt ist. Dementsprechend müssen wir die Werte des Gyros auslesen und das machen wir wie folgt:
Setup Helpers:
Zuerst benötigen wir 2 Helper -> Diese erstellen wir unter SETTINGS > DEVICES & SERVICES > Helpers
- Helper for Tiltvalue from sensor (Dieser Helper wird den Wert des Sensors beinhalten)
TYPE: Number
MIN: 0
MAX: 200
INFO: Im normalfall können diese Werte von -1400 bis +1400 reichen, jedoch reichen bei “normalen” Fentern diese Ranges - Helper for isTilted boolean value (Dieser Helper wird als Boolean
defineirt und zeigt, ob das Fenster gekippt ist oder nicht (zur
Verwendung in einem Picture Elements Dashboard – wenn dieses nicht
benötigt wird, braucht der Sensor nicht hinzugefügt werden)
Type: Toggle
Toggle Sensor - Shows if the window is tilted or not (only needed for lovelace picture elements dashboard)
- Numeric Sensor - This Sensor holds the gyro value from the sensor
Setup Automation
Als nächstes müsssen wir eine Automation erstellen, welche die Werte
vom Sensor an die Helper gibt, dafür erstellen wir eine neue Automation
unter SETTINGS > Automations & Scenes > Automations
Kleine
Info: Eine Automation kann anders als ein Script automatisch ausgeführt
werden, ein Script muss manuell gestartet werden z.B. durch einen
Button auf dem Dashboard. Daher müssen wir hier eine Automation nutzen.
Die Automation in YAML:
alias: GetTiltFromFensterKontaktBad
description: Setzt den FensterKippWert (X Achse) vom Bad
trigger:
- platform: event
#under this event the data are send (may vary when you use another sensor
event_type: zha_event
event_data:
#your device ID -> under Setings > devices
device_ieee: 28:6d:97:00:01:xx:xx:xx
condition: []
action:
- service: input_number.set_value
data:
value: '{{ trigger.event.data.args.value }}'
#change this ID to your helper ID
entity_id: input_number.fensterkontaktbadneigungx
- choose:
- conditions:
- condition: numeric_state
#change this ID to your helper ID
entity_id: input_number.fensterkontaktbadneigungx
above: '0'
below: '100'
sequence:
- service: input_boolean.turn_off
data: {}
target:
#change this ID to your helper ID
entity_id: input_boolean.fensterkontaktbadistgekippt
- conditions:
- condition: numeric_state
#change this ID to your helper ID
entity_id: input_number.fensterkontaktbadneigungx
above: '100'
below: '200'
sequence:
- service: input_boolean.turn_on
data: {}
target:
#change this ID to your helper ID
entity_id: input_boolean.fensterkontaktbadistgekippt
default: []
mode: single
Zuletzt kann man diese Daten jetzt noch in ein Dashboard integrieren, dafür kannst du dir folgenden Beitrag ansehen [Link]
Back…