Zum Inhalt

YAML – Fenster

13 Fenstersensoren (Homematic IP WDF) mit Kipp-Logik.

Package: Fensterstatus-Sensoren

Quelle in HA: /config/packages/fenster.yaml

Jeder Sensor kombiniert ..._window (Kontakt) und ..._rotation (Kipp-Winkel) zu einem lesbaren Zustand: Geschlossen / Gekippt / Offen.

template:
# Fensterstatus-Sensoren mit Kipp-Logik.
# Jeder Sensor fasst den Rohkontakt (..._window) und den Rotationswert
# (..._rotation) zu einem lesbaren Status zusammen:
# - Gekippt: Rotation > 1
# - Offen: Kontakt ist offen
# - Geschlossen: Kontakt geschlossen und keine Kippstellung
- sensor:

  - name: "Badezimmer Fenster Links"
    unique_id: badezimmer_fenster_links
    state: >
      {% set rot = states('sensor.badezimmer_fenster_links_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.badezimmer_fenster_links_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Badezimmer Fenster Rechts"
    unique_id: badezimmer_fenster_rechts
    state: >
      {% set rot = states('sensor.badezimmer_fenster_rechts_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.badezimmer_fenster_rechts_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Schlafzimmer Fenster Links"
    unique_id: schlafzimmer_fenster_links
    state: >
      {% set rot = states('sensor.schlafzimmer_fenster_links_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.schlafzimmer_fenster_links_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Schlafzimmer Fenster Rechts"
    unique_id: schlafzimmer_fenster_rechts
    state: >
      {% set rot = states('sensor.schlafzimmer_fenster_rechts_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.schlafzimmer_fenster_rechts_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Terrassentür Links"
    unique_id: terrassentur_links
    state: >
      {% set rot = states('sensor.terrassentur_links_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.terrassentur_links_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Terrassentür Rechts"
    unique_id: terrassentur_rechts
    state: >
      {% set rot = states('sensor.terrassentur_rechts_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.terrassentur_rechts_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Ankleidezimmer Fenster"
    unique_id: ankleidezimmer_fenster
    state: >
      {% set rot = states('sensor.ankleidezimmer_fenster_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.ankleidezimmer_fenster_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Martha Fenster Links"
    unique_id: martha_fenster_links
    state: >
      {% set rot = states('sensor.martha_fenster_links_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.martha_fenster_links_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Martha Fenster Rechts"
    unique_id: martha_fenster_rechts
    state: >
      {% set rot = states('sensor.martha_fenster_rechts_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.martha_fenster_rechts_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "HWR Fenster"
    unique_id: hwr_fenster
    state: >
      {% set rot = states('sensor.hwr_fenster_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.hwr_fenster_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Karell Fenster"
    unique_id: karell_fenster
    state: >
      {% set rot = states('sensor.karell_fenster_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.karell_fenster_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Gäste-WC Fenster"
    unique_id: gaste_wc_fenster
    state: >
      {% set rot = states('sensor.gaste_wc_fenster_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.gaste_wc_fenster_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}

  - name: "Küchenfenster"
    unique_id: kuchenfenster
    state: >
      {% set rot = states('sensor.kuchenfenster_rotation') | float(0) %}
      {% if rot > 1 %}Gekippt
      {% elif is_state('binary_sensor.kuchenfenster_window', 'on') %}Offen
      {% else %}Geschlossen{% endif %}