coolice
16. September 2008 um 18:08
1
Hallo IPSler und PHP Künstler,
habe mein Script für die Nachtschaltung der Flurlichter auf die V2 von IPS angepasst. Glaube ich zu mindest. Es wird mir leider fehlerhaft angezeigt. Hat einer eine Idee was falsch ist.
Grüße Mirco
<?
*******************************
IP-SYMCON Event Scripting
*******************************
File : nachtschaltung_flurlicht.ips.php
Trigger : flurlicht
Interval :
*/
$bewegung = GetValueBoolean(58966 /*[flur piri]*/);
$dunkel = GetValueBoolean (41600 /*[dsensor]*/);
if($IPS_SENDER == "Variable") {
if ($bewegung && $dunkel)
{
echo "Flurlicht an";
FS20_SwitchDuration (11059 /*[flurlicht]*/, True, 60);
IPS_SetScriptTimer (43511 /*[nachtschaltung flurlicht]*/, 60);
}
} else {
echo "Flurlicht aus";
IPS_SetScriptTimer (43511 /*[nachtschaltung flurlicht]*/ ,0);
SetValueBoolean(58966 /*[flur piri]*/, false);
SetValueBoolean (11059 /*[flurlicht]*/, false);
}
?>
steiner
16. September 2008 um 18:26
2
… und Hellseher:
Parse error: parse error, unexpected ‚*‘
MST
paresy
16. September 2008 um 18:34
3
nach dem <? fehlt schonmal ein /*
paresy
wgreipl
16. September 2008 um 18:34
4
Ich denke was Steiner Dir sagen will ist das in Zeile 2 ein / fehlt somit werden deine Sterne als ungültiger Code ausgewertet.
/*******************************
IP-SYMCON Event Scripting
File : nachtschaltung_flurlicht.ips.php
Trigger : flurlicht
Interval :
*/
Mist. paresy war schneller
steiner
16. September 2008 um 18:53
5
in Zeile 2 ein / fehlt somit werden deine Sterne als ungültiger Code ausgewertet
… Ihr könnt Euch immer so gut ausdrücken :rolleyes:
Ein Klick auf „Ausführen“ hätte diese Diskussion erspart …
MST
coolice
17. September 2008 um 21:33
6
Hallo. aktuell sieht es so aus
<?
*/
$bewegung = GetValueBoolean(58966 /*[flur piri]*/);
$dunkel = GetValueBoolean (41600 /*[dsensor]*/);
if($IPS_SENDER == "Variable") {
if ($bewegung && $dunkel)
{
echo "Flurlicht an";
FS20_SwitchDuration (11059 /*[flurlicht]*/, True, 60);
IPS_SetScriptTimer (43511 /*[nachtschaltung flurlicht]*/, 60);
}
} else {
echo "Flurlicht aus";
IPS_SetScriptTimer (43511 /*[nachtschaltung flurlicht]*/ ,0);
SetValueBoolean(58966 /*[flur piri]*/, false);
SetValueBoolean (11059 /*[flurlicht]*/, false);
}
?>
und es läuft leider auch nicht.
Mirco
steiner
17. September 2008 um 22:11
7
… und noch einmal:
Parse error: parse error, unexpected ‚*‘
… und noch einmal:
Ein Klick auf „Ausführen“ hätte diese Diskussion erneut verkürzt …
Tipp: http://www.php-kurs.com/auskommentieren-von-php-code.htm
MST
Tschuldige mal Mirco… Ließt du auch was man dir schreibt? Es fehlt immernoch der Slash VOR dem Stern. :D:D
Weisst du wozu der ist? Der leitet den Kommentar ein, den du rausgelöscht hast. Also lösche bitte auch die Komplette 2. Zeile raus. Die gehört nämlich dazu. Lies bitte auch den Link von steiner und lies bitte, bitte die Fehlermeldung mit der PHP dir sagt was du falsch gemacht hast. Alle Tips die du bisher hier bekommen hast kamen nicht von uns sondern von PHP. (Mit Ausnahme von steiners Link ;))
Gruß,
Toni
coolice
18. September 2008 um 21:29
9
Ok…sorry. Erledigt. Siehe hier
<?
$bewegung = GetValueBoolean(58966 /*[flur piri]*/);
$dunkel = GetValueBoolean (41600 /*[dsensor]*/);
if($IPS_SENDER == "Variable") {
if ($bewegung && $dunkel)
{
echo "Flurlicht an";
FS20_SwitchDuration (11059 /*[flurlicht]*/, True, 60);
IPS_SetScriptTimer (43511 /*[nachtschaltung flurlicht]*/, 60);
}
} else {
echo "Flurlicht aus";
IPS_SetScriptTimer (43511 /*[nachtschaltung flurlicht]*/,0);
SetValueBoolean(58966 /*[flur piri]*/, false);
SetValueBoolean (11059 /*[flurlicht]*/, false);
}?>
Jetzt bekomme ich die Meldung, das die Variablen nicht im Script existieren.
Ich habe es aber so verstanden, das IPS in der V2 automatisch auf die Variable der ID zurück greift. (kann man das so sagen? )
Mirco
wgreipl
19. September 2008 um 07:59
10
Hallo coolice,
jetzt stellt sich die Frage welche Variablen und zu welchem Zeitpunkt.
[ol]
[li]Wenn du „Ausführen“ betätigst
[/li][li]Oder wenn das Skript extern getriggert wird, sprich durch ein Ereigniss.
[/li][/ol]
Bei 1. kann es nicht funktionieren da nach meinem Kenntnisstand die Variable $IPS_SENDER bei einer direkten Ausführung nicht vorhanden ist.
Bei 2. Bräuchten wir genauere Fehlermeldungen.
coolice
19. September 2008 um 12:04
11
wgreipl:
Hallo coolice,
jetzt stellt sich die Frage welche Variablen und zu welchem Zeitpunkt.
[ol]
[li]Wenn du „Ausführen“ betätigst
[/li][li]Oder wenn das Skript extern getriggert wird, sprich durch ein Ereigniss.
[/li][/ol]
Bei 1. kann es nicht funktionieren da nach meinem Kenntnisstand die Variable $IPS_SENDER bei einer direkten Ausführung nicht vorhanden ist.
Bei 2. Bräuchten wir genauere Fehlermeldungen.
Hallo Werner. Gute Frage. Ich werde mal schauen ob sich heute Abend was tut. Ich melde mich.
Grüße Mirco
coolice
23. September 2008 um 20:52
12
Hallo, habe das Script jetzt einige Tage laufen lassen. Leider läuft es nicht. Ich triggere es auf dsensor bei Veränderung. Der dsensor schaltet jeden Tag von False auf true zur angegebenen Zeit der Piri reagiert auch wenn jemand durch den Flur geht doch Licht geht nicht an. Hat einer eine Idee?
wgreipl
24. September 2008 um 07:45
13
Hallo coolice,
Du musst nur auf
58966 /*[flur piri]*/
triggern sonst bekommt das Skript ja nicht mit das sich jemand bewegt :rolleyes:
wenn Du auf
41600 /*[dsensor]*/
triggerst würde das Skript ja nur aufgerufen Wenn es dunkel oder hell wird.
coolice
25. September 2008 um 20:51
14
:o das habe ich natürlich so :o