Status ScriptTimer abfragen

Moin zusammen,

ich habe gerade die Anforderung, dass ich herausfinden möchte, wann ein ScriptTimer das nächste mal ausgeführt wird. Gegeben sei ein Skript mit beliebig vielen Ereignissen, wovon eins ein ScriptTimer ist:

grafik

IPS_GetScriptTimer liefert mir - wie in der Doku ja sehr vorbildlich sogar extra erwähnt - nur die Zeit in Sekunden, zu welcher der Timer zyklisch aufgerufen wird und nicht die Restzeit.

Mit IPS_GetEvent könnte ich im Feld „NextRun“ des Arrays herausfinden, wann er das nächste Mal läuft, dazu muss ich aber die ID kennen, was hier nicht gegeben ist. Ebenso kann ich den ScriptTimer nicht von den anderen Ereignissen unterscheiden, da „EventType“ hier bei beiden Ereignissen im Screenshot 1 ist.

Nun die Frage: Wie finde ich im o.g. Screenshot heraus, wann der SkriptTimer das nächste Mal läuft, ohne seine ID zu kennen? Bin ich einfach nur betriebsblind oder geht das nicht so einfach?

Grüße,
Christoph

Schau Mal ob der ScriptTimer zufällig einen Ident hat.
Symcon muss den ja auch identifizieren.
Sonst bleibt wohl nur der Name ‚ScriptTimer‘.
Michael

Der Name vom ScriptTimer ist immer ScriptTimer. Darüber holen wir uns auch die ID des Objektes.

paresy

Der Ident ist nicht ScriptTimer, aber der Name. Damit kann ich arbeiten. Danke Euch.

EDIT: paresy hat editiert … :slight_smile:

Wäre es machbar, bei IPS_GetScriptTimer ein Array zu liefern, welches u.a. diese Information enthält?

Allein aus Abwärts-Kompatibilitätsgründen → Nein. Aber es ist ja ein Einzeiler den zu bekommen mit

https://www.symcon.de/service/dokumentation/befehlsreferenz/objektverwaltung/ips-getobjectidbyname/
https://www.symcon.de/service/dokumentation/befehlsreferenz/ereignisverwaltung/ips-getevent/

paresy

Verstehe. Dann wünsche ich mir in IPS_GetEvent einen neuen EventType für den ScriptTimer :wink:

Spaß beiseite, mit dem Einzeler kann ich gut leben. Dankeschön.