Bei geöffnetem Fenster nach Zeit Push-Nachricht

Hallo,

da meine Familie öfters vergisst die Fenster richtig zu schließen, möchte ich gerne folgende Funktion.

Wenn ein Fenster geöffnet oder gekippt wird, möchte ich nach einer Zeit eine Push-Nachricht bekommen.
Sollte das Fenster innerhalb der Zeit geschlossen werden, so wird die Zeit zurückgesetzt.
Wenn das Fenster von geöffnet nach gekippt gewechselt wird, läuft die Zeit weiter.
Schön wäre noch die Restlaufzeit angezeigt zu bekommen.
Ich habe alle Fenster in Enocean (Fenstergriffe).
Ein Auslösendes Ereignis und die Push-Nachricht ist kein Problem.
Wie mache ich es mit der Zeit und dem zurücksetzen. Leider ist PHP nicht ganz meine Welt, versuche es aber
zu verstehen und zu lernen. Eventuell ist jemand so Nett und hilft mir auf die Sprünge.

Viele Grüße aus Soltau

Detlev

Such im Store nach Variablenüberwachung.
Obwohl hier tatsächlich die Zeit zurück gesetzt wird, wenn das Fenster von geöffnet nach gekippt wechselt :frowning:
Michael

Hallo Nall-Chan,
danke für diesen Hinweis. Leider ist dies nicht das was ich mir vorgestellt habe. Ein ausführendes Ereignis habe ich mit Bedingungen erstellt. Bei diesem Ereignis (<3) wird ein Skript ausgeführt (das klappt). In diesem Skript wird die Push- Nachricht versendet. Jetzt muss ich eigentlich nur per Skript dafür sorgen, dass erst eine gewisse Zeit vergeht, bis die Push- Nachricht versendet wird. Da das Skript nur bei Variablenänderung und als Bedingung <3 ausgeführt wird, brauche ich mir keine Gedanken übers zurücksetzen machen. Mit Timer habe ich noch nicht gearbeitet und brauche dafür Hilfe. Kannst du oder jemand anderes helfen?

Viele Grüße aus Soltau
Detlev

Gesendet von meinem SM-G950F mit Tapatalk

Im Endeffekt brauchst du nur einen Scripttimer setzen, sobald das Fenster nicht zu ist, und denn ScriptTimer auf 0 setzen, wenn es wieder zu ist.

Michael

Ich hab mir das mal für meine Haustür gemacht:



<?php

$BAWIN=GetValue(57468);

	if (($_IPS['SENDER'] == "Variable") && ($BAWIN == TRUE))
		{
			IPS_SetScriptTimer($_IPS['SELF'], 15 * 60);  // Timer auf 15 Minuten
		}

	if (($_IPS['SENDER'] == "TimerEvent") && ($BAWIN == TRUE))
		{
			WFC_PushNotification(48050, 'Info', 'Haustür HWR seit 15 Minuten offen!', '', 0);
			IPS_SetScriptTimer($_IPS['SELF'], 15 * 60);  // Timer nochma auf 15 Minuten
		}

	if ($BAWIN==FALSE)
		{
			IPS_SetScriptTimer($_IPS['SELF'], 0);  // Timer deaktiviere
		}


$BAWIN ist mein Schließkontakt der Tür.

Loerdy

Danke für die schnelle Antwort.
Genau das ist mein Problem.
Ich weiß nicht wie. Hält das Skript dann an der Stelle an und läuft erst wenn die Zeit abgelaufen ist weiter?

Detlev

Gesendet von meinem SM-G950F mit Tapatalk

Hallo Loerdy,
danke für das Skript. Jetzt kann ich damit probieren. Melde mich wenn es funktioniert oder auch nicht.

Detlev

Gesendet von meinem SM-G950F mit Tapatalk

Also mein Beispiel:

Das Script wird ausgelöst wenn sich der Zustand meiner Variable vom Schließkontakt ändert
Auslöser ist eine Variable --> also wird ein Timer für das Script auf 15 Minuten gesetzt

Sind die 15 Minuten um startet der Timer das Script,
Auslöser ist ScriptTimer , also eine Push Nachricht und den Timer neu setzen.

Ändert sich der Zustand der Variable auf geschlossen wird der Timer einfach auf 0 gesetzt und wird dadurch nicht mehr ausgeführt.

Wird die Haustür nun wieder geöffnet geht der Prozess von vorne los.

Bei einem Drehgriff Sensor müsstest du gegen ungleich geschlossen abprüfen, ich hab nur Auf und Zu als Zustand.

Loerdy