Include...

Nabend zusammen,

Ich steh gerade ein Bisschen auf dem Schlauch,

Ich hab IPS auf nemm RPI installiert, und versuche eine Script per „Include“ befehl ans ende einer Zeitschaltuhr zu packen bekomme aber folgende Fehlermeldung wenn die Zeitschaltuhr den Schaltpunkt erreicht:


02.02.2018 18:01:01 | ScriptEngine | Ergebnis für Ereignis 45136
<br />
<b>Warning</b>:  include(12771.ips.php): failed to open stream: Datei oder Verzeichnis nicht gefunden in <b>-</b> on line <b>2</b><br />
<br />
<b>Warning</b>:  include(): Failed opening '12771.ips.php' for inclusion (include_path='.:') in <b>-</b> on line <b>2</b><br />

in Meinerzeitschaltuhr steht:



LCN_SwitchRelay(53042 /*[Steckdosen\Balkon Steckdose]*/, false);
include(IPS_GetScriptFile(44497 /*[Zeitschaltuhren\Uhren Stellen]*/));



Sorry… bin im Forum verruscht.-… Bitte Verschieben

Versuche mal so:


include '44497.ips.php';

Loerdy

Hallöchen,

gerade mal Ausprobiert… funktioniert nicht…


02.02.2018 20:44:00 | ScriptEngine | Ergebnis für Ereignis 45136
<br />
<b>Warning</b>:  include(44497.ips.php): failed to open stream: Datei oder Verzeichnis nicht gefunden in <b>-</b> on line <b>2</b><br />
<br />
<b>Warning</b>:  include(): Failed opening '44497.ips.php' for inclusion (include_path='.:') in <b>-</b> on line <b>2</b><br />

Gruß,

Adeee

Das hier sollte funktionieren:

include(„44497.ips.php“);


02.02.2018 21:03:00 | ScriptEngine | Ergebnis für Ereignis 45136
<br />
<b>Warning</b>:  include(44497.ips.php): failed to open stream: Datei oder Verzeichnis nicht gefunden in <b>-</b> on line <b>2</b><br />
<br />
<b>Warning</b>:  include(): Failed opening '44497.ips.php' for inclusion (include_path='.:') in <b>-</b> on line <b>2</b><br />

ebenfalls nicht?!

Kann es sein das Die „quellcode“ datei der Zeitschaltuhr in einem anderen verzeichnis liegt als die phph skripte???

44497 /[Zeitschaltuhren\Uhren Stellen]/ ist doch ein Script, oder?

Ja…

deswegen wundert es mich ja, das es nicht funktioniert :smiley:

tausch ich den „Include“ durch „IPS_RunScript“ dann funktioniert es …

Vermute eher das IPS ab der falschen Stelle sucht.
Hatte dazu auch schon einige Bugs an Paresy gemeldet.
Michael

Was etwas seltsam ist: Die Fehlermeldung wird ohne Quotes ausgegeben [emoji15]. Bei Windows ist es definitiv so, dass IPS im Scripts-Directory sucht …

gib dem Skript doch mal einen eindeutigen Namen und speicher es so ab.
ich includiere dann so:

require_once("variablen.ips.php");

oder halt include

Vorsicht :wink:
Je nach Aufrufer (Execute in der Konsole, TimerEvent, WebFront usw) kann es durch einen Bug auch gerne bei den einem oder anderen Auslöser auch im falschen Verzeichnis suchen.
Hatte da mal einen Bug gemeldet, wo unter Windows als WorkDir für PHP das Windows Verzeichnis genutzt wurde.

Um welche IPS Version handelt es sich?
Michael

Version 4.4 Stable. Ansonsten das Include mal mit absolutem Pfad testen.

include(IPS_GetKernelDir().“scripts/44497.ips.php“);