Wochenplan Ereignis Staus per Script weiterverarbeiten

Ich möchte für unser Bewässerungssystem Wochenpläne nutzen, die bei Aktion dann Scripte ausführen. So weit so gut. Die zu erstellenden Scripte möchte ich für alle Wochenpläne nutzen. Dazu suche ich nach einer Möglichkeit, im Script den Schaltstatus des Wochenplanes zu ermitteln. Wenn der Wochenplan um x Uhr also sagt, schalte EIN, brauche ich in meinem PHP Script die Variable die diesen Status enthält.

Mit $_IPS[‚VALUE‘] klappt es nicht. Zumindest bekomme ich hier keine Ausgabe wenn ich

var_dump($_IPS[‚VALUE‘]);

unter „Führe PHP Code aus“ eintrage.

Welche Variable gibt mir den Wert??

Danke und Beste Grüße
tomquenten

Meinst Du das hier:

$_IPS['ACTION']	ID der aufzurufenden Aktion (nur Wochenplan Ereignis)

Gruß HEiko

Schau mal in den Systemvariablen: Systemvariablen — IP-Symcon :: Automatisierungssoftware

Du findest die ID der Wochenplanaktion in $_IPS[‚ACTION‘]. Falls du alternativ mal einen Ablaufplan ausprobieren möchtest hat dieser eine Aktion im Angebot um zwischen den Wochenplanaktionen zu unterscheiden.

Hey,

danke euch beiden! TimerEvent…das ist glaube ich das richtige. Dann war ich bisher mit der Ereignisverwaltung und IPS_SetEventAction auf dem Holzweg. Ich schaue mir die TimerEvents jetzt mal genauer an und probiere aus.

Vielen Dank für den Hinweis.

Beste Grüße
tomquenten

Damit es anderen eventuell hilft…

Um alle Schlüsselwerte des $_IPS Arrays zu erhalten, hier ein kleiner Codeschnipsel, der beim Auslösen des Ereignisses alle Werte in eine Datei schreibt.

$handle = fopen ("datei.txt", "w");
foreach($_IPS as $k => $v){
    fwrite ($handle, $k.'->'.$v."\n");
}
fclose ($handle);

Das habe ich jetzt mal in dem Kalender unter Aktion bearbeiten als Parameter für „Führe PHP Code aus“ hinterlegt.

ich bekomme damit in die Datei folgendes geschrieben

SELF->0
THREAD->49
ENVIRONMENT->EventSchedule
PARENT->30885
TARGET->18241
ACTION->1
EVENT->30885
SENDER->TimerEvent

Unter EVENT ist die ID des auslösenden Kalenders, unter ACTION das Ereignis TRUE/FALSE und unter TARGET das übergeordnete Objekt des Kalenders.

Ich hoffe das hilft mal einem anderen weiter.

Hierfür ist eigentlich der

IPS_LogMessage('mein Testscript', print_r($_IPS,true));

und eine offene Meldungsanzeige ideal.

1 „Gefällt mir“