Parameterübergabe bei IPS_RunScriptEx V 4.2 17.5.2017

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 :wink:
Also vielleicht doch als Bug einzustufen.
Michael

Hallo Michael,

danke für deine schnelle Antwort :slight_smile:

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 :wink:
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 :wink:
Michael

Moin,

dann kann ich ja davon ausgehen, dass im FritzBox Project alles ok ist :smiley:

Es bleibt dann nur noch Plex und die USV Überwachung - der Rest sind Scripte die ich übernommen und geändert habe :slight_smile:

Gruß
Hans