# Push Mitteilung bei Offenen Fenster nach 5min

**URL:** <https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636>\
**Category:** Fragen & Hilfe\
**Created:** [March 14, 2021, 7:50am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636 "2021-03-14T07:50:39Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![helbro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/helbro/32/34211_2.png) [@helbro](https://community.homey.app/u/helbro)\
**Post date:** [March 14, 2021, 7:50am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/1 "2021-03-14T07:50:39Z")

</div>

Moin,

Ich würde gerne einen Flows erstellen das ich eine Push Mitteilung bekommen wenn ein Fenster länger als 5min offen ist. Aber natürlich nur wenn es in der Zwischenzeit nicht bereits geschlossen wurde.

Ich finde aber leider in den Flows keine Warte 5min Funktion. Es gibt es Verzögerungsfunktion bei der finalen Aktivität aber das verhindert nicht die Mitteilung wenn das Fenster in der Zwischenzeit geschlossen wurde.

Da gibt es doch sicherlich einen Trick oder Funktion wie man das umsetzt.

Was ich ich gebaut habe sieht so aus

[https://homey.app/f/nOzJLw](https://homey.app/f/nOzJLw)

---

<div class="post-metadata">

**Author:** ![Uwe\_Schlender](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/uwe_schlender/32/19821_2.png) [@Uwe\_Schlender](https://community.homey.app/u/Uwe_Schlender)\
**Post date:** [March 14, 2021, 7:54am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/2 "2021-03-14T07:54:41Z")

</div>

Du startest einfach nach 5 Minuten einen zweiten Flow, entweder direkt oder über eine Variablenänderung als Auslöser. Dort in der und-Bedingung den aktuellen Zustand abfragen und dann die Meldung ausgeben

---

<div class="post-metadata">

**Author:** ![helbro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/helbro/32/34211_2.png) [@helbro](https://community.homey.app/u/helbro)\
**Post date:** [March 14, 2021, 8:07am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/3 "2021-03-14T08:07:57Z")

</div>

Aber wie Stelle ich den ein das nach 5min etwas startet? Das ist doch mein Problem. Ich finde keine “warte 5min dann” Funktion. Nur bestimmte Uhrzeiten und Datum.

---

<div class="post-metadata">

**Author:** ![CyberSponk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/cybersponk/32/8334_2.png) [@CyberSponk](https://community.homey.app/u/CyberSponk)\
**Post date:** [March 14, 2021, 8:19am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/4 "2021-03-14T08:19:02Z")

</div>

Im ersten Flow bei DANN die Karte _Flow_ mit der Option _Start_ sowie Auswahl des zweiten Flows mit einem Delay von x-Minuten hinzufügen.

Im zweiten Flow bei WENN die Karte _Dieser Flow wurde gestartet_ auswählen sowie bei UND den jeweiligen Fensterkontakt mit _Der Kontaktalarm ist an_.

Somit führt der erste Flow den zweiten nach x-Minuten aus. Ist das Fenster noch geöffnet, wird DANN ausgeführt.

---

<div class="post-metadata">

**Author:** ![helbro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/helbro/32/34211_2.png) [@helbro](https://community.homey.app/u/helbro)\
**Post date:** [March 14, 2021, 8:33am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/5 "2021-03-14T08:33:25Z")

</div>

Danke für den Tipp. Sähe dann so aus.

[https://homey.app/f/Qw\_SLw](https://homey.app/f/Qw_SLw)

und

[https://homey.app/f/40cTLw](https://homey.app/f/40cTLw)

Hatte gehofft das mit Variablen nicht für jedes Fenster anlegen zu müssen. So sind das ja leider zwei Flows pro Fenster. Bei 15 Fenster sind das 30 Flows. 😰

---

<div class="post-metadata">

**Author:** ![CyberSponk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/cybersponk/32/8334_2.png) [@CyberSponk](https://community.homey.app/u/CyberSponk)\
**Post date:** [March 14, 2021, 8:52am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/6 "2021-03-14T08:52:14Z")

</div>

> [@helbro](#):
>
> So sind das ja leider zwei Flows pro Fenster. Bei 15 Fenster sind das 30 Flows.

Yupp. Wobei Du einen Flow kopieren kannst \> [HOMEY Web Beta (14.03.21)](https://my.homey.app/). Der Aufwand hält sich so in Grenzen.

Ich nutze die Tür-/Fenster-Kontakte und die Flows dazu noch zusätzlich für u.a. Heizung womit man für jede(s) Türe/Fenster ein/zwei Flow(s) hat.

---

<div class="post-metadata">

**Author:** ![helbro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/helbro/32/34211_2.png) [@helbro](https://community.homey.app/u/helbro)\
**Post date:** [March 14, 2021, 8:58am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/7 "2021-03-14T08:58:28Z")

</div>

Kann gelöscht werden!

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [March 14, 2021, 12:07pm UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/8 "2021-03-14T12:07:14Z")

</div>

Das wäre eine mögliche Lösung, allerdings darfst Du nicht vergessen den Flow wieder zu aktivieren, ansonsten kommt gar keine Meldung mehr.

Ich würde anstelle der verzögerten Flow-Auslösung mit einem Timer arbeiten:

---

<div class="post-metadata">

**Author:** ![helbro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/helbro/32/34211_2.png) [@helbro](https://community.homey.app/u/helbro)\
**Post date:** [March 14, 2021, 12:23pm UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/9 "2021-03-14T12:23:14Z")

</div>

Das habe ich eben auch gemerkt. Ich finde nur die Timer Funktion nicht. Ist das eine App?

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [March 14, 2021, 12:52pm UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/10 "2021-03-14T12:52:51Z")

</div>

Jepp, ich nutze die [Chronograph](https://homey.app/de-de/app/nl.fellownet.chronograph/Chronograph/) App. Es sind aber auch andere Timer Apps im Store erhältlich.

---

<div class="post-metadata">

**Author:** ![helbro](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/helbro/32/34211_2.png) [@helbro](https://community.homey.app/u/helbro)\
**Post date:** [March 14, 2021, 1:04pm UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/11 "2021-03-14T13:04:35Z")

</div>

Danke hab ich eben gesehen und funktioniert so einwandfrei. Wurden halt dann 45 Flows für 15 Fenster aber gut bissel Arbeit muss ein.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [March 14, 2021, 1:23pm UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/12 "2021-03-14T13:23:28Z")

</div>

Mit der \< group \> App könnte man die Sensoren z.B. für die einzelnen Zonen/Räume auch zusammenfassen, dann könnte man sich ggfs. ein paar Flows sparen.  
Eine weitere Möglichkeit wäre die Build-In Funktionen “Zonen” zu nutzen. Allerdings wird eine “Zone” auch dann aktiv wenn z.B. ein Bewegungssensor oder ein Wassersensor in dieser Zone ausgelöst wird.

Die Anzahl der Flows stellt für Homey übrigens kein Problem dar, einige User haben über 700 Flows. Es ist halt nur ein bisschen Arbeit. Aber mit der Homey Web App, siehe Post [#6](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/6) von @CyberSponk, ist das schnell erledigt.

---

<div class="post-metadata">

**Author:** ![Joka](https://avatars.discourse-cdn.com/v4/letter/j/7feea3/32.png) [@Joka](https://community.homey.app/u/Joka)\
**Post date:** [March 14, 2021, 2:32pm UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/13 "2021-03-14T14:32:00Z")

</div>

Ich bin bei den Kontaktsensoren komplett auf genau **EIN** Homeyscript (Quelle Beispiel + Beschreibung: [Homey Web App (Soon) - #28 by RonnyW](https://community.homey.app/t/homey-web-app-soon/39283/28)) umgestiegen. Voraussetzung sind sehr geringe Programmierkenntnisse (Copy des Scipt + Eintrag der eigenen Sensoren, ggf. eigene Anpassungen). Als Benefit erhält man maximale Möglichkeiten bei minimalem Wartungsaufwand.

Hier meine angepasste Version:

```
// Fensterprüfung
let devices = await Homey.devices.getDevices();
let windowText = "";
let currentText = "";
let logText = "";
let windowOpen = false;
_.some(devices, device => {
if(device.class == 'sensor')
{
if(device.capabilitiesObj &&
device.capabilitiesObj.alarm_contact &&
device.capabilitiesObj.alarm_contact.value)
{
currentText = "";
if(device.name.includes("Fenster") || device.name.includes("Oberlicht")){
  if(device.name.includes("Schlafzimmer")) currentText = "Schlafzimmer";
  if(device.name.includes("Bad")) currentText = "Bad";
  if(device.name.includes("Küche") || device.name.includes("Terrassentür")) currentText = "Küche Oberlicht";
  if(device.name.includes("Gäste WC")) currentText = "Gäste WC";
  if(device.name.includes("Kamin")) currentText = "Kamin Oberlicht";
}
if(currentText != ""){
windowOpen = true;
if(windowText=="")
windowText = currentText;
else if(!windowText.includes(currentText))
windowText = windowText + " und " + currentText;
}
}
}
});
if(windowOpen == true)
windowText = "Fenster geöffnet: " + windowText;
else
windowText = "Fenster geschlossen";
console.log(windowText);
//Homey.logic.updateVariable( id = "Fensterpruefung", variable=windowText);
await tag("windowText", windowText);
return windowOpen;

```

Bei mir muss der Sensorname Fenster oder Oberlicht enthalten (Sensorname = Fenster Schlafzimmer).  
` if(device.name.includes("Fenster") || device.name.includes("Oberlicht"))`

D.h. auf Basis dieses Scripts muss euer Sensorname z.B. wie folgt lauten:  
Fenster abc  
Oberlicht abc  
abc Fenster  
abc Oberlicht  
Fenster Schlafzimmer  
Oberlicht Küche  
Küche Oberlicht  
Schlafzimmer Fenster

Diese Zeile jeweils pro Kontaktsensor kopieren:  
`if(device.name.includes("Schlafzimmer")) currentText = "Schlafzimmer";`

Hier als Sensornamensanteil den Zimmernamen eintragen: `device.name.includes("Schlafzimmer")`

Hier den Text für die Pushnachricht oder Sprachsausgabe eintragen: `currentText = "Schlafzimmer";`

Es wird ein TAG generiert, der alle offenen Fenster kumuliert beinhaltet.  
Den TAG könnt ihr dann im THEN Anteil des Flows verwenden für Push oder Sprachausgabe.

Das Homeyscript selbst wird im AND Bereich verwendet. Es wird TRUE oder FALSE zurückgegeben und in THEN oder else verzweigt:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/d/0d045c3170a3dec6ad434fbfac7572639089b500.png)

Im WHEN Bereich kann man natürlich auch "Dieser Flow wird gestartet "verwenden und als Favorit speichern. Auf dem Smartphone dann als Shortcut speichern und vor dem Einschlafen ausführen. 😉

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [March 14, 2021, 2:49pm UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/14 "2021-03-14T14:49:31Z")

</div>

Wirklich klasse, wenn man Ahnung davon hat. Ich habe leider keinen blassen Schimmer davon.  
Könntest Du vielleicht die Funktionen `(device.name.includes())` und `currentText` erklären.  
Was muss wo eingetragen werden?

---

<div class="post-metadata">

**Author:** ![Joka](https://avatars.discourse-cdn.com/v4/letter/j/7feea3/32.png) [@Joka](https://community.homey.app/u/Joka)\
**Post date:** [March 14, 2021, 3:27pm UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/15 "2021-03-14T15:27:28Z")

</div>

Deine Programmierkenntnisse reichen aus @DirkG, du hattest ja vor meinem Edit exakt die richtigen Stellen identifiziert 😉

Keine Angst vor dem Code drumherum, den kannst du theoretisch einfach ignorieren. Folge mal der Anleitung und bei Fragen fragen.

Den Rest macht homeyscript, das ist speziell für Kontaktsensoren einfach zu elegant, als es zu ignorieren und weiterhin xx Flows zu erstellen. Die Kontaktsensoren vermehren sich nämlich im Haus schlagartig.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [March 14, 2021, 5:37pm UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/16 "2021-03-14T17:37:05Z")

</div>

Danke, werde ich morgen mal ausprobieren… 👍🏼

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [March 15, 2021, 7:57am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/17 "2021-03-15T07:57:57Z")

</div>

So viel zu “meinen Programmierkenntnissen”, funktioniert natürlich nicht… 😂  
Wenn ich das Skript für sich teste, bekomme ich folgende Ausgabe in der Konsole:

![Bildschirmfoto 2021-03-15 um 08.32.49](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/e/0e57b643548f149865cc7753ae372d6ebfe12a2c.png)

Wenn ich den Flow teste, wird bei der Und… HomeyScript-Karte “Run Fensterprüfung” ein rotes Ausrufezeichen angezeigt.  
Tatsache ist aber, dass bei den Tests mindestens ein Fenster geöffnet war, und das wurde nicht angezeigt.

Folgendes ist mir z.B. noch unklar:

- device.name.includes: Bedeutet “includes” ein ganzes Wort von der Namensgebung des Sensors, oder könnte das z.B. auch nur einen Teile eines Wortes enthalten?  
Beispiel: tatsächliche Bezeichnung lautet “Gaubenfenster DG”. Würde jetzt “fenster” reichen, oder muss es mindestens “Gaubenfenster” heißen?
- Wird Groß-/Kleinschreibung berücksichtig?
- Warum sind in der Aufzählung zwei Zeilen mit “||” enthalten? Wo ist der Unterschied zur ersten Zeile und was muss in der zweiten eingetragen werden?

Ich habe bereits mehrere Variationen ausprobiert, aber dann bekomme ich in der Console Fehlermeldungen angezeigt.  
Copy/Paste hilft also nicht immer weiter. Ohne genau zu verstehen was das ein oder andere bedeutet, kann man, zumindest ich, keine gezielte Änderung vornehmen.

Folgende namentlichen Variationen an Fenstersensoren habe ich:  
– Fenster  
– Dachfenster  
– Gaubenfenster  
Zusätzlich noch eine Tür:  
– Terrassentür

Wie müsste ich das Skript jetzt aufbauen?

Nur nebenbei, diese “Fenster offen Prüfung” mit dem Skript hat im Grunde nichts mit der Eigentlichen Anforderung von @helbro zutun. Bei ihm geht es (vermutlich) darum eine Meldung zu bekommen, wenn das Fenster zum Lüften länger als 5 Minuten offen steht. Bei dem Skript geht es um einen Check, ob alle Fenster und Türen geschlossen sind bevor man das Haus verlässt (was ich aber gerne nutzen würde… 😉).

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [March 15, 2021, 8:08am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/18 "2021-03-15T08:08:58Z")

</div>

Hi, ich habe den Befehl nicht geprüft, würde aber davon ausgehen, dass ein Substring geprüft wird. D.h. “fenster” wäre ausreichend. Ob Groß/Klein weiß ich nicht. Das sind JavaScript-Funktionen, d.h. die könntest du nach Beispiele googeln.  
|| ist die ODER-Verknüpfung der beiden Bedingungen.  
&& wäre UND

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [March 15, 2021, 8:50am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/19 "2021-03-15T08:50:38Z")

</div>

> [@RonnyW](#):
>
> Das sind JavaScript-Funktionen, d.h. die könntest du nach Beispiele googeln.

Ich kann auch direkt JavaScript lernen, dann brauch ich keine blöden Fragen mehr stellen… 🤷🏼‍♂️

Die ODER-Verknüpfung hatte ich z.B. mit den 4 o.g. Namen in **einer Zeile** ausprobiert und eine Fehlermeldung bekommen, dass die zweite ODER-Verknüpfung ein Problem verursacht.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [March 15, 2021, 9:00am UTC](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636/20 "2021-03-15T09:00:48Z")

</div>

.includes sucht nach einen Teilstring, unabhängig von der Position. Groß/Kleinschreibung ist zu beachten.  
[https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global\_Objects/String/includes](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/includes)

Hast du mal ein Beispiel für dein ODER? Wenn die Klammern korrekt sind, dann kann du beliebig viele UND und ODER verknüpfen und schachteln.

[Next page](https://community.homey.app/t/push-mitteilung-bei-offenen-fenster-nach-5min/44636.md?page=2)
