Wichtige Info

Die Inhalte, die du hier siehst stelle ich dir ohne Werbeanzeigen und ohne Tracking deiner Daten zur Verfügung. Trotzdem muss ich die Server bezahlen sowie Zeit in Recherche, Umsetzung sowie Mail Support stecken.
Um dies leisten zu können, verlinke ich in einigen Artikeln auf die Plattform Amazon. Alle diese Links nennen sich Afiliate Links. Wenn du dir mit diesem Link etwas kaufst, dann erhalte ich eine kleine Provision. Dies ändert jedoch NICHT den Preis, den du bezahlst!
Falls du mich also unterstützen möchtest, kannst du auf den Link zum Produkt klicken und hilfst mir dabei, dieses Hobby weiter zu betreiben.
Da ich Keine Werbung schalte und keine Spenden sammle, ist dies die einzige Möglichkeit, meine Systeme und mich zu finanzieren. Ich hoffe du kannst das verstehen :)



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

  1. Thermometer (Temperatur)
  2. IAS Zone (Magnetsensor)
  3. 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

  1. 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
  2. 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
  1. 1
  2. 2

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…