Wie rufst du das Skript denn auf? Als Aktion-Skript in einer Variable und über WebFront geschaltet? Oder einfach durch manuelles aufrufen des Skriptes…
Wenn über WebFront geschaltet wird, dann muss der Teil rein:
if ($_IPS['SENDER'] == "WebFront") {
SetValue($_IPS['VARIABLE'],$_IPS['VALUE']);
}
…und dann muss das als Aktion-Skript zur Variable dazu… Einfach das Skript starten endet in dem Fehler, weil so wie dein Skript jetzt ist, ist wohl einfach $zeit ohne Wert und deshalb der Fehler.
Wenn du was anderes machst, dann bitte genauer beschreiben
2’erlei würde ich gerne machen, was auch zum Teil funktioniert hat nur die Notice das es da das Problem gibt.
Aber zu dam was ich machen will.
Ich habe eine Integer Variable Angelegt und dieser ein Profil zugewiesen, sowie eine Eigene Aktion (Action Script oder?) dieses hier.
Zusätzlich habe ich verschieden Ereignisse welches dieses Script aufruft.
Das anklicken von den verschieden boxen (10 sek., 30 sek, ect. ) im webfront funktioniert und es lößt das auch alles richtig aus. aber wenn die Stündliche Wässerung kommen soll per Ereignis macht er nix. bzw:
Error: Notice: Undefined index: VALUE
Error in Script C:\IP-Symcon\scripts\57522.ips.php on Line 3</div>
und führt es auch nicht aus.
würdest du mir kurz erklären was dein Script im genauen macht?
Ok, also Buttons im WebFront anklicken funktioniert bei dir mit dem Aktion-Skript, weil dann „$zeit = ($_IPS[‚VALUE‘]);“ durch diesen Teil das im WebFront angeklickte in der Variable $zeit landet.
Wenn du aber auch über Änderung der Variable das Skript aufrufen und damit dann was auslösen willst, dann muss das Skript angepasst werden:
Vielen Dank für deine Erklärung.
Ich habe zwar noch nicht ganz verstanden wieso Set und nicht get im
if ($_IPS[‚SENDER‘] == „WebFront“) {
SetValue($_IPS[‚VARIABLE‘],$_IPS[‚VALUE‘]);
}
aber ich hoffe das erschließt sich mir noch.
if ($_IPS['SENDER'] == "WebFront") {
SetValue($_IPS['VARIABLE'],$_IPS['VALUE']);
}
sorgt dafür, wenn man im WebFront etwas anklickt, dass der Inhalt in die Variable eintragen wird, in der das Skript als Aktion-Skript eingetragen ist.
$zeit = GetValue($ZeitVariable);
>> diese Zeile brauchst du, wenn das Skript durch die Variablenänderung aufgerufen wurde. Weil da funktioniert der 1. Teil nicht, deshalb muss man da extra nochmal den Wert aus der Variable auslesen, damit das Skript damit arbeiten kann… Eigentlich logisch
Ja wohl, sehr logisch gewusst wie aber was ist dem mit dem fall eines Timer Aufrufs also durchs web geschalteter timer.
if ($_IPS[‚SENDER‘] == „TimerEvent“) {
SetValue($_IPS[‚VARIABLE‘],$_IPS[‚VALUE‘]);
}
gibt Fehler aus.
Kann ich das irgendwie mit der Webfront abfrage kombinieren oder habe ich einen Gedanken-Knoten und es geht nicht anders?
Nur wenn ich die Timer unter der Integer Variable habe funktioniert es.
Ich kann mich für die Hilfe nur recht Herzlich Bedanken (:
Keiner is böse, alles gut Dann lies das Skript von mir und verstehe es Weil man sollte sich schon etwas mit PHP und seinen Skripten befassen…man wird sicher nicht immer alles vorgekaut bekommen und außerdem möchte man ja selbst vlt. mal was größeres skripten
> Wenn einzelne Zeilen unklar sind > IPS-Doku, IPS-Befehlsreferenz, PHP Manual
durch das $i = $i - 1; reduzierst du den Index pro Durchlauf um 2, schmeiß das mal raus.
Und um ganz sicher zu gehen tausch mal if ($i == 50) gegen if ($i <= 50)