Nachtschaltung

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);
}
?>

… und Hellseher:

Parse error: parse error, unexpected ‚*‘ :confused:

MST

nach dem <? fehlt schonmal ein /*

paresy

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 :slight_smile:

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

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

… 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

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? :confused: )

Mirco

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

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?

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.

:o das habe ich natürlich so :o