Timer Problem

Hallo,

hab da mal ne Frage zum Timer. Hier speziell zum überwachen eines Fensters, welches zu lange auf ist.
Der Timer wird z.B. für 15 Minuten aktiviert. Wenn das Fenster um 15:05 geöffnet wird, läuft der Timer nur noch 10min. Geht das Fenster 15:10 auf, läuft er nur noch 5min
Was mache ich hier falsch?

<?
    include "41005.ips.php";
// Timer-Script: Ergänzt WF-Events um die Möglichkeit ein Einmaliges ausgelöstest
 // Ereigniss nach xx Minuten wieder zu deaktiveren.
$Intervall1 = GetValue(12787 /*[Scripte\Szenarien\Badfenster\Intervall]*/ );
$Intervall = $Intervall1; // Intervallzeit in Minuten
$Fenster = GetValue(15325  /*[Scripte\Szenarien\Badfenster\Fenster]*/);
$EventStatusID=43805 /*[Scripte\Szenarien\Badfenster\Badfenster\EventStatus]*/ ;                    // manuell angelegte BOOLEAN-Variable
$EventStatus=GetValue($EventStatusID);
$ID_Speicher=55782 /*[Scripte\Szenarien\Badfenster\Badfenster\ID_Speicher]*/ ;                      // manuell angelegte INTEGER-Variable
$EreignisID=Getvalue($ID_Speicher);
$Jahreszeit = GetValue(56179  /*[HM Variablen\Jahreszeit]*/);

if ($EventStatus==TRUE) //wenn $Eventstatus an ist und Zeit abgelaufen, dann wieder alles rückgängig machen
   {
  IPS_DeleteEvent($EreignisID);        // Event löschen
  setvalue($EventStatusID,FALSE);      // $EventStatus auf FALSE (Reset)
  if (($fenster == true) && ($jahreszeit == false)) //Fenster offen und Winter
  {
  // .... hier individuelle Ereingisse, bei mir Relais deaktivieren:
    print "Eintritt Ereignis";
//    IPS_Sleep(200); //in ms
	$sk1 = GetValue(57668 /*[Mediaplayer\sk1_counter]*/);
	$id_ansagetext         = 30035 /*[.Terminverwaltung	erm_aktuell]*/;
	$ansagetext        = "Fenster im Bad, noch offen";
	tts_play(1,"Achtung,  .$ansagetext", "meldung",2);
	require_once('vlcPlayer.php');
	$VLC=new vlcPlayer('http://192.168.1.14:8080/',false); //Ausgabe in Küche
	$ansage = "w:\sprache_sk1_".GetValue(57668 /*[Mediaplayer\sk1_counter]*/).".wav";
	$VLC->add("w:\sprache_sk1_".GetValue(57668 /*[Mediaplayer\sk1_counter]*/).".wav",true);
	$VLC->refresh_playlist();
   }
   }
  else
  {
   $EreignisID = IPS_CreateEvent(1);            // zyklisches Ereignis erzeugen
   setvalue($ID_Speicher,$EreignisID);                 // EreignissID in variable speichern
    IPS_SetEventCyclic($EreignisID, 0, 0, 0, 2, 2 ,$Intervall); //Alle x ($intervall) Minuten
    IPS_SetEventLimit($EreignisID, 1);           //nur einmal ausführen
   IPS_SetParent($EreignisID, $_IPS['SELF']);   //Eregnis zuordnen
   IPS_SetEventActive($EreignisID, TRUE);       //Ereignis aktivieren
   Setvalue($EventStatusID,TRUE);
};
?>

Moin… Ich kann Dein Script gerade nicht wirklich gut anschauen, da ich über Tapatalk online bin, aber versuch mal in der Doku nach Scriptimer zu suchen.
Das sollte Dein Problem relativ schnell lösen. Sehr einfache Sache!
Gruß,
Peter

Sent from my iPhone using Tapatalk

habs jetzt mal umgestrickt.
Mal testen, obs so geht. Nach dem Duschen!

<?
include "41005.ips.php";
$intervall1 = GetValue(12787 /*[Scripte\Szenarien\Badfenster\Intervall]*/ );
$intervall = $intervall1; // Intervallzeit in Minuten
$fenster = GetValue(15325 /*[Scripte\Szenarien\Badfenster\Fenster]*/ );
$jahreszeit = GetValue(56179 /*[HM Variablen\Jahreszeit]*/ );
 if($IPS_SENDER == "TimerEvent")
 {
  	// nach Timerablauf Audioausgabe
  	if (($fenster == true) && ($jahreszeit == false)) //Fenster offen und Winter
  	{

		$sk1 = GetValue(57668 /*[Mediaplayer\sk1_counter]*/);
		$id_ansagetext         = 30035 /*[.Terminverwaltung	erm_aktuell]*/;
		$ansagetext        = "Fenster im Bad, noch offen";
		tts_play(1,"Achtung,  .$ansagetext", "meldung",2);
		require_once('vlcPlayer.php');
		$VLC=new vlcPlayer('http://192.168.1.14:8080/',false); //Ausgabe in Küche
		$ansage = "w:\sprache_sk1_".GetValue(57668 /*[Mediaplayer\sk1_counter]*/).".wav";
		$VLC->add("w:\sprache_sk1_".GetValue(57668 /*[Mediaplayer\sk1_counter]*/).".wav",true);
		$VLC->refresh_playlist();
		IPS_Sleep(200);
   }
  //Timer ausschalten
  IPS_SetScriptTimer($IPS_SELF, 0);
}
else
{

   if(($fenster == true) && ($jahreszeit == false))
   {
      //Timer anschalten
      IPS_SetScriptTimer($IPS_SELF, ($intervall*60)); // Sek bis zum ausschalten
   }
}
?>

Es gibt wenig das wichtiger ist als am System zu werkeln aber Duschen, Essen und aufs Klo gehen gehört dazu…:slight_smile:

Du duscht aber lange!! :slight_smile:

Sent from my iPhone using Tapatalk

:slight_smile: ich hoffe er hat nicht versucht das Duschen mit dem Systemwerkeln am PC zu kombinieren. Sonst programmiert er vielleicht nie mehr wieder…

Ihr seid nicht aktuell :wink: :smiley:

Panasonic Toughbook CF-31: Widerstand zwecklos

Gruß
Bruno

Duschen erfolgreich abgeschlossen. Natührlich vergessen das Fenster zu zu machen, aber Meldung kam. Also auf zu neuen Ufern. Weiter so.

@Powerfreddy :slight_smile: Also weißt du, dass er es mit einem Laptop übersteht da bin ich ja mit dabei. Aber Zitat: Spritzwasser, Regen tauglich… Damit würde ich ihm auch weiterhin nicht die Duschkombination empfehlen… Dann kommt keine Antwort weil der PC zuerst ersetzt werden muss.:wink:

Duschen, nicht Baden, das ist das ohne die Ente :wink: :smiley:

Obwohl der Regen heute nachmittag fast ähnlich wie Baden war :cool: