Hallo,
ich verwende mittlerweile in einigen Zimmern den Shelly BLU Door/Window. Ich möchte gerne hier einen Sensor haben, der mir auch die gekippt Stellung anzeigt.
D.h. Fenster ganz offen → Sensor = Anzeige geöffnet; Fenster gekippt (Fenster offen + Rotation > 0) = Anzeige gekippt
Wie bekomme ich das in HA hin? Ich bin noch ziemlich neu hier, deshalb hab ich noch nicht den richtigen Ansatz.
Eine Lösung mit nur einem Sensor gibt es wohl nicht.
Variante 1: ein Sensor unten und einen oben am Fenster
Wenn unten und oben offen = Fenster offen
Wenn unten geschlossen und oben offen = gekippt
Variante 2: eine Selbstbastellösung mit 2 Sensoren unterhalb des Griffs und einem Magneten am Griff.
Je nach Griffstellung lässt sich dann anhand der Zustände ableiten ob offen, kipp oder geschlossen.
Hierzu gibt es auch bei YT ein Video und auch Adaptervorlagen für 3D Druck.
Bemühe mal die Suche hier, dann findest du den Thread dazu. Habe ihn ad hoc gerade nicht gefunden, aber vorgestern erst länger „studiert“, da ich eigentlich auch nach solch einer Lösung suche.
Bei mir wird es vermutlich Variante 1 mit Sensoren oben und unten am Fenster.
Es gibt von Homematic IP einen Griffsensor, der 3 Zustände übergibt, offen, gekippt und geschlossen. Allerdings braucht man dazu den HMIP Funk-Protokoll.
Was möchtest du denn mit dem Zustand gekippt machen? @AndScho ?
Dein Shelly Blu hat ja einen Kippsensor enthalten - “Rotation”.
Dieser Wert zeigt an, dass dein Fenster gekippt ist.
Ist dein Wert höher als NULL ist das Fenster gekippt.
Es gibt von der Firma AEOTEC den “Door / Window Sensor 7 Pro” der geöffnet und gekippt unterscheiden kann. Voraussetzung der Sensor selbst wird auf dem Fenster montiert, der Magnet auf den Fensterrahmen und das Fenster wird in der gekippt Öffnung um mindestens 5 Grad geneigt. Es gibt den Sensor nur in einer Z-Wave Variante.
Bei Drehgriff Sensoren sollte man ein Auge auf die Mechanik haben, bei den Homematic Classic Sensoren, von denen ich ein paar verbaut habe, besteht diese aus Plastik und hat daher nur eine begrenzte Lebensdauer. Ich tausche diese bei Störungen nach und nach gegen einfache Magnet Sensoren aus (z.B den AEOTEC Sensor in der nicht Pro Variante) weil ich für mich entschieden habe das ein Fenster offen ist wenn es offen ist, egal ob gekippt oder ganz geöffnet.
Es muss doch eine Möglichkeit geben einen Helfer zu erstellen, der mir ausgibt, wenn das Fenster geöffnet ist, dann zeige nur “offen” an und wenn die Rotation > 0 % dann zeige “gekippt” an.
Ich hatte versucht, das über bedingte Anzeigen im Dashboard anzulegen, wobei ich 2 Fenster angelegt hatte von denen eins gezeigt werden sollte, wenn der WInkel 0 ist und das andere für ungleich 0 … das hat leider so nicht funktioniert, da die Fensterbedingungen nicht schnell genug/heäufig genug abgefagt und aktualisiert werden.
Momentan lebe ich mit dieser simplen Amzeige:
Ursprünglich hatte ich ja gehofft die Sensoren für Zweiflügelige Fenster mit Kippfunktion zu Nutzen und beide Flügel mit einem Sensor anzudecken…ging aber nicht, da der Winkel bei “geschlossen” immer wieder auf Null gestzt wird.
Ich habs für mich nun gelöst. Ich habe unter den Helfern nun einen Template Sensor für Binär-Sensor erstellt mit folgenden Code:
{% if states('sensor.shelly_b_XYZ_rotation')|float(0) > 1 %} on
{% else %}
off
{% endif %}
Im Dashboard lass ich dann den Sensor dann anzeigen wenn er an (Sichtbarkeitsbedingung) ist mit dem Namen gekippt. Das geöffnete Fenster lasse ich anzeigen wenn die Sichtbarkeitsbedingung Fenster geöffnet und der Binär-Sensor aus ist.
by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
Leider arbeitet Rotation des Shelly nicht zuverlässig
sensor:
- name: "GastTuerKontakt_Status"
unique_id: gasttuerkontakt_status
attributes:
friendly_name: "Gasttür Status"
icon: mdi:door
state: >
{% set rotation = states('sensor.gasttuerkontakt_rotation') | default('0') | float %}
{% set kontakt = states('binary_sensor.gasttuerkontakt_window') %}
{% set kontakt_valid = kontakt in ['on', 'off'] %}
{% set status = (
'Geschlossen' if kontakt == 'off' and rotation <= 1 else
'Gekippt' if kontakt == 'on' and rotation > 1 else
'Offen' if kontakt == 'on' and rotation == 0 else
'Unbekannt'
) %}
{{ status }}
Ich habe das gleich Problem, und habe es mit “triggers” funktioniert zu lösen. Egal welchen Wert ich in “milliseconds” eingebe - es geht erst auf “offen” und dann auf “gekippt” wenn ich das Fenster kippe - eigentlich sollte er doch solange warten wie es in “milliseconds” steht bis er beides auswertetet.
Ich habe ein ganz ähnliches Script wie DasWalle und danach das Ganze über eine Button-Card gelöst, die den Status anzeigt und gleichzeitig die Farbe ändert, damit es auf dem Tablet beim Verlassen des Hauses auffällt.
Mir geht es primär nicht um die Anzeige, sondern um Steuerungen von Automationen. Wie z.B.:
Terrassentür geöffnet <=> Jalousie geht auf und (bei Dunkelheit) auch das Licht an
Terrassentür gekippt <=> Jalousie fährt auf 80% zum lüften
Doof ist halt nur, da bei dem jetzigen Script ja erst “geöffnet” und dann irgendwann “gekippt” erkannt wird. So wird das Licht eingeschaltet und die Jalousie fährt hoch - dann ‘upps’ ist ja nur gekippt. Das nervt meine Frau beim Lüften schon sehr