Ja , das könnte gehen.
kann man auf die art auch ein Ereignis aktivieren und deaktivieren ?
das ist dann einfacher umzusetzen.
(IPS_SetEventActive($EreignisID, true); // Aktivert Ereignis) habs schon hinbekommen
ich habe in der doko nach „WWWReader_SetUseTimer“ gesucht
aber nix gefunden , wo findet man sowas ?
Ja so was, aber so einfach war es dann doch nicht:
scheinbar ist da ein Problem mit ips,
wird also ein Ereignis jede min aktiv gesetzt, wird es unter bestimmten Umständen nicht jede min ausgeführt.
Ich habe 2 Ereignisse, eines um xx:xx:00 und eines um xx:xx:15
damit die abfragen nicht gleichzeitig laufen.
beide Ereignisse habe ich gleichzeitig mit einem scipt auf aktiv gesetzt.
der erste hat sich jede min aktualisiert, der zweite nicht.
ein Neustart von ips, hat dann den Effekt gehabt, das das zweite Ereignis einmal ausgeführt wurde, dann aber nicht mehr. erst als ich das aktiv setzten unterbrochen habe, wurde das zweite Ereignis wieder ausgeführt.
so ganz kann das ja nicht im sinne des Erfinders sein, egal wie oft ich
ein Ereignis aktiv setzte, auch wenn es schon aktiv ist, sollte doch nicht dazu führen , das es gar nicht ausgeführt wird.
Gelöst habe ich das Problem indem ich jetzt einfach abfrage ob der timer schon aktiv ist, und dann eben ganrnix mache.
und das ist die Lösung, (noch nicht erprobt, der Test geht erst morgen früh)
if (!(IPS_GetEvent(13347)["EventActive"]))
IPS_SetEventActive(13347, true);
if (!(IPS_GetEvent(21575)["EventActive"]))
IPS_SetEventActive(21575, true); // Dank an den treuen Kollegen, mit den guten php Kenntnissen
falls dies nicht funktioniert könntest du evtl. einen anderen Ansatz wählen:
Wird die Variable geändert startet ein Script, dieser aktualisiert das WF und setzt sich einen eigenen Timer auf 1 Min. Dieser Timer startet das Script neu bis die Variable wieder geändert wird.
Es lauft
Das wichtigste ist , das die beiden Zugriffe nicht gleichzeitig ablaufen,
und das geht nur über die Ereignisse zuverlässig, jetzt genau 15 sec versetzt.
Deswegen war auch der erste ansatz, nur den WWW_reader aktiv und de aktiv
zu schalten gar nicht der richtige weg.