Hallo,
ich habe eine Problem mit meinem Timer Script.
Ich bekomme es einfach nicht zum laufen . Wenn ich das Script von Hand starte funktionier es , wenn ich aber es über ein zyklisches Ereignis starte wird das Schript gestartet aber die Steckdose wird nicht eingeschaltet.
Vielleicht hat jemand ein Rat.
if($IPS_SENDER == „TimerEvent“)
{
MXC_SwitchMode(43662 /[Teich\sauerstoff Steckdose] /,false);
//Timer ausschalten
IPS_SetScriptTimer($IPS_SELF, 0);
} else {
MXC_SwitchMode(43662 /[Teich\sauerstoff Steckdose] /,true);
//Timer anschalten
IPS_SetScriptTimer($IPS_SELF, 3*60);
}
Hallo…
du schreibst hier ja:
Wenn $IPS_SENDER == „TimerEvent“ dann soll er ausschalten … oder?
christian_p:
if($IPS_SENDER == „TimerEvent“)
{
MXC_SwitchMode(43662 /[Teich\sauerstoff Steckdose] /,false);
//Timer ausschalten
IPS_SetScriptTimer($IPS_SELF, 0);
} else {
MXC_SwitchMode(43662 /[Teich\sauerstoff Steckdose] /,true);
//Timer anschalten
IPS_SetScriptTimer($IPS_SELF, 3*60);
}
Hallo,
die Steckdose soll bei Script start für 3 Minuten einschalten.
Gruß Chriatian
bengie
12. Juli 2011 um 22:12
4
Der ScriptTimer und das zyklische Ergeigniss kommen beide als „TimerEvent“, wenn ich das richtig in Erinnerung habe. Das meintest Du Christian S?
Wenn ja, dann müsste man über:
IPS_GetObject($IPS_EVENT);
die Quelle des Events auswerten und unterscheiden.
dfhome
12. Juli 2011 um 22:16
5
MXC_SwitchMode(43662 /*[Teich\sauerstoff Steckdose]*/,true);
IPS_SetScriptTimer($IPS_SELF, 3*60);
if($IPS_SENDER == "TimerEvent") {
MXC_SwitchMode(43662 /*[Teich\sauerstoff Steckdose]*/,false);
IPS_SetScriptTimer($IPS_SELF, 0);
}
Hallo,
zuerst einmal danke für die Hilfe
die Steckdose schaltet jetzt ein geht aber gleich wieder aus.
Gruß Christian
bengie
12. Juli 2011 um 22:53
7
Um dies zu vermeiden müsstest Du vermutich die Herkunft der Timer Events unterscheiden…
http://www.ip-symcon.de/forum/f52/timer-script-14707/#post125806
… dann sollte dies nicht mehr so sein.
sorry, aber wie mach ich das ich steh gerade auf dem Schlauch.
bengie
12. Juli 2011 um 23:13
9
Schaue mal, ob im Skript unterschiede bei dem folgenden Code angezeigt werden
$eobj=IPS_GetObject($IPS_EVENT);
print_r($eobj);
dfhome
13. Juli 2011 um 09:04
10
Wenn es doch zwei Events sind, die das Script triggern, kann man mit der Systemvariable „$IPS_EVENT“ das Event unterscheiden.
Hallo,
bin jetzt leider 2 Tage unterwegs, ich werde es am Freitag ausbrobieren und dann berichten . Besten Dank
Gruß Christian
Hallo,
habe das Script mal umprogrammiert und so funktioniert es auch.
Es muß so wie du geschrieben hast am timer liegen.
Gruß Christian
$step = GetValueInteger(„Time_step1“);
Switch ($step)
{
case 1:
IPS_SetScriptTimer($IPS_SELF,360);
SetValueInteger(„Time_step1“,$step + 1);
MXC_SwitchMode(43662 / [Teich\sauerstoff Steckdose]*/,true);
break;
case 2:
MXC_SwitchMode(43662 /*[Teich\sauerstoff Steckdose]*/,false);
IPS_SetScriptTimer($IPS_SELF,0);
SetValueInteger("Time_step1", 1);
break;
@christian p …ohne den Vorhang genauer gelesen zu haben, scheint es mir so, dass vielen so geht… du bist seit 2 Jahren an diesen Board angemeldet, wenn auch mit wenigen Beiträgen, und schreibst deinen Scriptschnitzel hier nach wie vor als normalen Text oder als Zitat, was kaum jemand nachvollziehen möchte… binde dein Script besser in PHP-Tags ein… wahrscheinlich wäre der thread weniger lang, die Leute die dir gerne weiter helfen möchten, würden sich einfacher tun und du wär’st schneller befriedigt.
Habs mal PHP-tagged (letzter Button in der Zeile über’n Text)…
$step = GetValueInteger("Time_step1");
Switch ($step)
{
case 1:
IPS_SetScriptTimer($IPS_SELF,3*60);
SetValueInteger("Time_step1",$step + 1);
MXC_SwitchMode(43662 /*[Teich\sauerstoff Steckdose]*/,true);
break;
case 2:
MXC_SwitchMode(43662 /*[Teich\sauerstoff Steckdose]*/,false);
IPS_SetScriptTimer($IPS_SELF,0);
SetValueInteger("Time_step1", 1);
Hallo nancilla,
werde es in Zukunft so machen
$step = GetValueInteger("Time_step1");
Switch ($step)
{
case 1:
IPS_SetScriptTimer($IPS_SELF,3*60);
SetValueInteger("Time_step1",$step + 1);
MXC_SwitchMode(43662 /*[Teich\sauerstoff Steckdose]*/,true);
break;
case 2:
MXC_SwitchMode(43662 /*[Teich\sauerstoff Steckdose]*/,false);
IPS_SetScriptTimer($IPS_SELF,0);
SetValueInteger("Time_step1", 1);
break;
}