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 %}