Mehrere Events - bitte um Hilfe

Moin zusammen,

obwohl oder gerade weil wir gerade in die Heizperiode gehen, nehme ich mir grad meine Heizungsskripte vor.
Für den Sommer möchte ich „Entkalkungsfahrten“ realisieren; also alle elektrischen Mischer Ventile, Pumpen etc. einmal kurz voll aufdrehen, dann voll zudrehen, und zum Schluß wieder in die Ursprungsposition gehen.

Die erste Herausforderung ist, dass ich zunächst die Ursprungswerte speichern muss (teilweise Boolean, teilweise Float) um sie später wiederherzustellen. Für jedes Device habe ich also eine Hilfsvariable „Restore-Wert“ anlegen müssen… ziemlich lästig… geht das auch einfacher?

Aber das eigentliche Problem ist jetzt:
Wenn das Entkalkungs-Skript aufgerufen wird (wöchentlich per Event oder auch manuell ausgelöst) brauche ich mehrere Timer-Events:

  1. Event: wöchentliche Auslösung des Skripts - Skript startet, Ursprungswerte werden gespeichert, alle Devices voll auf
  2. Event: 5min später alle Devices voll zu
  3. Event: weitere 5min später alle Devices in Ursprungszustand zurücksetzen.

Die Anweisung
if($_IPS[‚SENDER‘] == „TimerEvent“
ist mir ja bekannt… aber wie unterscheide ich im Skript, welches der 3 Events nun getriggert hat?

Danke für Eure Hilfe!

Ich glaube Du suchst in etwa soetwas:

switch($_IPS[‚EVENT‘])

LG Tom

Außerdem reichen zwei Events.
Eines zum wöchentlichen starten.
Und das zweite würde ich über den Scripttimer realisieren und einen Zähler wie in der Ablaufsteuerung mitführen.
http://www.ip-symcon.de/forum/showthread.php?t=7816
Z.B. 0 ist Werte speichern, scripttimer auf 5 min, alles auf und Zähler auf 1.
1 ist dann alles zu und Zähler auf 2.
2. Ist dann alles auf alte Werte, Zähler auf 0 und scripttimer auf 0.
Michael

Hi,
das mit der Step-Variable ist eine gute Idee.
Ich stehe aber immer noch auf dem Schlauch bzgl. der Unterscheidung zwischen zyklischen Event und ScriptTimer.
Das sind doch beides „Events“ oder? Da hilft mir doch auch switch($_IPS[‚EVENT‘]) nicht weiter?!

Ich probier gleich mal, ob ich über den Namen des Events weiterkomme, z.B. mit IPS_GetName($_IPS[‚EVENT‘]);
…wäre jetzt das einzige, was ich mir vorstellen kann?!

Brauchst du in deinen Fall dich gar nicht. :confused:
Wenn der Zähler null ist kann es ja nur der WochenTimer gewesen sein.
Michael
PS: Arbeite nicht mit Namen, nutze zum ermitteln von Objekten den Ident (SetIdent, GetObjectbyIdent).
PPS: Event enthält doch schon die ID vom Sender/Event klar kannst du so unterscheiden …

danke an alle.
hatte ein Brett vorm kopf… $_IPS[‚EVENT‘] gibt ja schon die ID des Events zurück, damit sollte ich arbeiten können!
Thx & Grüße!