Frage zu IPS_SetEvent

Hallo zusammen,

ich habe letzte Wintersaison meine Rolläden über eine Zeitsteuerung fahren lassen (In Abhängigkeit von Sonnenauf- und untegang).
Es wurden vom Script in einer Variable Timestamps hinterlegt und ein Script lief dann jede Minute um den aktuellen Timestamp mit dem in der Variable zu vergleichen. Das funktionierte einwandfrei, weil die Anforderung scheinbar schnell genug abgearbeitet wurde.
Jetzt zur Zeitumstellung bei Vers. 2.x klappte das Automatische Fahren meist nicht. Nach Fehlersuche bin ich zu dem Ergebnis gekommen, das mein Script nicht pünktlich um hh:mm:00 ausgeführt wurde, sondern um 3sec verzögert(wodurch auch immer). Somit paßte der Timestamp natürlich nicht mehr …
Da ich nicht wußte was die Verzögerung auslöst, war mein erster Ansatz die Zeit nicht auf hh:mm:00 zu begrenzen, sondern auf die ganze erste Minute, somit also ein Zeitraum zu erstellen. Das würde aber zusätzlichen Code bedeuten …

Die 2. Lösung wäre direkt täglich ein Event zum rauf/runter fahren zu erstellen und damit 1. Code zu sparen und 2. das Script nicht jede Minute laufen zu lassen.
Dafür müßte ich aber entweder das schon vorhandene löschen oder ändern. Und da ist jetzt mein Problem … ich kann zwar ein Event ByName finden und dann löschen, aber wie erstelle ich den Namen für ein Event? Ich konnte bisher keine Angabe in der Doku dazu finden bzw. das nur manuell machen!?

Oder reicht es einfach folgenden Befehl zu nutzen:

IPS_SetEventCyclicTimeBounds

Und den dann bei Bedarf per Script zu ändern!?

Kann ich den Namen des Ereignis herausfinden, welches das Script letztendlich auslöst? Also wenn ich 2 Timer an ein Script hänge … kann ich identifizieren welches gerade der Auslöser war?

edit
Ach ja … Gibt es eigentlich eine Möglichkeit zu überprüfen ob ein Timer ausgeführt wurde und dann darauf zu reagieren?

Gruß
Jens

Hallo Jens,

Horst hat für dieses Problem ein Scrip veröffentlicht.
http://www.ip-symcon.de/forum/f53/automatischer-skriptstart-astronomischen-ereignissen-sonnenaufgang-daemmerung-8059/
Auch wenn Du es nicht einsetzen willst, ist unten im Script eine Funktion die das Eventhandling verdeutlicht.
Gruß

Danke für den Hinweis auf das Script!
Das mit dem Namen geht also nur über Umwege … ich werd mir dann mal überlegen wie ich das Script sinnvoll einsetzen kann oder ob ich nur Teile verwende :wink:

Du kannst etwas viel besseres als den Namen haben: Die ID in $IPS_EVENT (siehe Systemvariablen - IP-Symcon :: Automatisierungssoftware). Das minütliche Vergleichen ist übrigens nicht sonderlich effizient. Vernünftig ist das Setzen des Timers auf die richtige Uhrzeit. Du stellst Dir ja auch den Wecker auf die Zeit, zu der Du aufstehen will, und nicht auf jede Minute.

Hallo Horst, du hast natürlich Recht was die Effizienz an geht … nur zu dem Zeitpunkt der Erstellung der Scripte war ich noch nicht so weit, das umzusetzen … konnte man zu dem Zeitpunkt in der V1 auch schon Ereignisse automatisch erstellen?
Na ja … wie dem auch sei … vielen Dank noch mal für das schöne Script!!

Jens