Hallo,
ich setze in meinen zentralen Steuerungsprogrammen für Licht und Heizung häufig den Befehl IPS_RunScriptEx ein. Laut Doku wird im aufgerufenen Programm der Wert der übergebenen Variablen z. B. Raum mit $_IPS[‚Raum‘] adressiert. Das funktioniert perfekt.
Bedingt durch einen Tippfehler habe ich nun festgestellt, dass der Wert $Raum exakt das gleiche Ergebnis wie $_IPS[‚Raum‘] liefert. Ich habe dann testweise bei allen übergebenen Variablen nur noch $<VarName> angegeben und es funktioniert problemlos.
Ist das Zufall, schon immer so gewesen oder ist die Doku nicht mehr aktuell?
Gruß
Hans
Das liegt an den Kompatibilitätsfunktionen.
(Das Script __compatibility.inc.php)
Sobald du die aktiviert hast, wird das Array $_IPS auf globale Variablen gemappt.
Ist also ein Nebeneffekt.
Weil früher gab es ja nicht $_IPS[‚VALUE‘] sondern $VALUE.
Wobei man diesen Effekt bestimmt abstellen kann
Also vielleicht doch als Bug einzustufen.
Michael
Hallo Michael,
danke für deine schnelle Antwort
Die Vergangenheit vor 4.0 kenne ich nicht, da ich erst mit V 4 begonnen habe.
Gruß
Hans
Gleich ein Grund die Kompatibilitätsfunktionen abzuschalten.
Brauchen wirst du sie dann ja eh nicht
Michael
Hallo Michael,
ich hatte sie nur deshalb eingeschaltet, weil ich einige wenige Module einsetze und nicht sicher war, ob dies dann nicht von Vorteil ist. Dies werde ich jetzt mal überprüfen.
Gruß
Hans
PHP-Module oder IPS-Library?
Wenn ein Autor von PHP-Modulen das voraussetzt, gleich um die Ohren hauen den Mist
Michael
Moin,
dann kann ich ja davon ausgehen, dass im FritzBox Project alles ok ist
Es bleibt dann nur noch Plex und die USV Überwachung - der Rest sind Scripte die ich übernommen und geändert habe
Gruß
Hans