Script - "TimerEvent"

Hi!

Ich habe mir o.g. Script angesehen und die vielen Einträge aus dem Timerwizard der V1 entdeckt, die in…

/*%2%
  <TIMERWIZARD>


%2%*/

…eingebettet sind.

Kann ich diese Bereiche löschen, oder werden die noch zu einem späteren Zeit gebraucht?

Können alle weg. Sind nur für den TW der V1 notwendig.

Ich würde auch empfehlen die Timer als „zyklische Ereignisse“ umzubauen.
Bei mir sind dort nur noch die Sunset/Sunrise Funktionen drin, die es in der V2 (noch) nicht gibt.

paresy

OK, auch hier danke.

Sorry das ich mich hier mal einklinke, kannst du das mal näher erklären, was du genau damit meinst ?

Hallo paresy,

gibts dann auch die Geodaten Eintraege wieder? Die fehlen mir im Weather Modul, deshalb gibts das noch nicht.

Hallo muckel,

da die Ereignissverwaltung in der V2 anders gelöst ist als in der V1 und es hier keinen TW(TimerWizzard) mehr gibt, ist im Prinzip das TimerEvent File überflüssig geworden.
Mit zyklische Ereignissen meint paresy das Setzen von Timern einzeln im entsprechenden Script. Welches jetzt wesentlich kompfortabler und umfangreicher geworden ist.

@Torro.

Die Sunset/Sunrise Funktion fehlt noch - ich werde mir diesbezüglich aber noch eine Lösung einfallen lassen.

paresy

@paresy & Torro

Ich habe nun das TimerEvent-Script soweit bereinigt, dass ich alle bis dahin benötigten Timer auf Zyklische Events umgestellt habe.

Was noch drin ist, sind die RRD-Poller-Sachen.
Die werden ja noch benötigt,oder? Für Lasttimer z.B. … Oder kann ich das auch anderes anlegen?
Was passiert beim nächsten WIIPS-Update?
Wird da das TimerEvent-Script wieder benötigt?

Hallo nancilla,

hast Du schon WIIPS V2 als upgrade eingespielt? Da werden die richtigen Befehle benutzt.

Hallo Torro,

ich habe:

  • Verzeichnis web_data aus V1 nach V2 kopieren
  • WIIPS V2 entpacken und install.php aufrufen

gemacht aber in TimerEvent steht trotzdem noch drin:

<?
/* TIMERWIZARD SCRIPT - GENERATOR VERSION %2% */
//This Script was automatically generated by the Timer Wizard
//Do not modify anything or this Script may malfunction!

//Get LastTimer Value
$lasttimer=GetValueInteger(50497 /*[IPS\LastTimer]*/ );

//Fallback lockout after 1,5h
if(Abs(time()-$lasttimer) >= 5400) {
 SetValueInteger(50497 /*[IPS\LastTimer]*/ , time());
 return;
}

//LastTimer is in Future
if($lasttimer > time()) {
 return;
}

//Synchronize seconds if necessary
$seconds = (integer)date("s");
if($seconds != 0) {
 IPS_SetScriptTimer(49266 /*[IPS\TimerEvent]*/ ,60 - $seconds);
} else {
 IPS_SetScriptTimer(49266 /*[IPS\TimerEvent]*/ ,60);
}

//Helper Function
function GetNextMinute($interval) {
 $times = floor(60 / $interval);
 $minnow = date("i");
 for($i=1; $i<=$times; $i++) {
  if(($i*$interval) > $minnow) {
   return ($i-1)*$interval;
  }
 }
}


//RRD_DataPoller
if(TRUE) {
 echo "Timer [.WIIPS\RRD\RRD_DataPoller] Triggered";
 IPS_RunScriptEx(12585 /*[.WIIPS\RRD\RRD_DataPoller]*/ , Array("TWZ_LASTTIMER"=>$lasttimer));
}


//RRD_GraphBuilder
if(TRUE) {
 echo "Timer [.WIIPS\RRD\RRD_GraphBuilder] Triggered";
 IPS_RunScriptEx(27957 /*[.WIIPS\RRD\RRD_GraphBuilder]*/ , Array("TWZ_LASTTIMER"=>$lasttimer));
}


//Write back new LastTimer Value
SetValueInteger(50497 /*[IPS\LastTimer]*/ , time());
?>

…und zu den Poller-Scripten als Zyklische Ereignis
„Täglich Alle 1 Minuten(Name: RRD_xxxxx_Timer)“

Hallo nancilla,

loesche sie einfach, werden nicht mehr gebraucht.

Hallo Torro,

auch die Lasttimer-Geschichte?
Dann kann das TimerEvent komplett weg, oder?

Hallo nancilla,

jep, alles weg.

OK, Danke!

Die Ereignisse musste ich nochmal durchklicken und die 1 Minute Updatezeit bestätigen, dann liefs…

Hallo nancilla,

hhm, muss ich da noch IPS_ApplyChanges() eventuell ausfuehren?

Hallo Torro,

keine Ahnung, kann ich jetzt nicht mehr nachvollziehen und ich weiss auch nicht, wie der Updatevorgang im Einzelnen läuft, bzw. was das alles zur Anwendung kommt.

Wie geschrieben, vorher stand dort:

Täglich Alle 1 Minuten(Name: RRD_xxxxxPollerTimer)

oder ähnlich. xxxxx für Graph bzw. Data.
Ich habe die beiden Ereignisse einfach noch mal durchgeklickt und mit OK bestätigt, den Namen geändert, so das nur „Täglich Alle 1 Minuten“ dort steht, dann funktionierte es wieder.

Hallo nancilla,

sei bitte so nett, und deregistriere das rrd Modul nochmal und schau, ob dann die beiden Scripte weg sind. Falls nicht, einfach loeschen und dann wieder registrieren.

Ist dann das Problem auch noch da?

Nein, läuft alles.

Jetzt steht nur wieder

Täglich Alle 1 Minuten (Name: RRD_GraphBuilder_Timer)
Täglich Alle 1 Minuten (Name: RRD_Datapoller_Timer)

da.

War sicherlich ein Problem an meiner Konfiguration, oder meinem Updatevorgang, da ich ja versehentlich RRD vor dem Kopieren und Update deregistriert hatte.

Entwarnung!!!:wink:

Hallo,

da ich ja auch nach am anpassen/umstellen bin, muss ich mal fragen.

Die Einträge die im TimerEvent sind, werden jetzt noch ausgeführt, richtig?

Wenn ich dort nun etwas rauslösche, dann muss ich für das entsprechende Script ein Ereignis hinzufügen? Oder ist das schon automatisch passiert während der Umstellung?

Für den TimerWizzard der V1 gibt es keine Importfunktion.
Diese Einstellungen sind als Ereignis im Script neu anzulegen.