Dokumentation
IPS_GetActionReadableCode
string IPS_GetActionReadableCode (string $AktionsID, array $AktionsParameter)
Parameterliste
| AktionsID | GUID der Aktion |
| AktionsParameter | Parameter der Aktion, mindestens TARGET, PARENT und ENVIRONMENT |
Rückgabewert
PHP-Code, der die Aktion mit den angegebenen Parametern ausführt.
Beschreibung
Die Funktion liefert die Aktion mit der GUID AktionsID und den Parametern AktionsParameter als lesbaren PHP-Code, der beispielsweise in ein Skript eingefügt werden kann. Die Verwaltungskonsole nutzt dies im "Befehl hinzufügen"-Dialog des Skripteditors.
- Hat die Aktion keinen Eintrag readable, wird der PHP-Code der Aktion (Eintrag action) geliefert, wobei jedes
$_IPS['NAME']durch den Wert des Parameters NAME ersetzt wird: Boolean als true/false, Integer und Float als Zahl, String in doppelten Anführungszeichen. Nicht übergebene Parameter bleiben als$_IPS['...']stehen. Ist die Aktion als Array von Codezeilen definiert, endet jede Zeile mit einem Zeilenumbruch. - Hat die Aktion einen Eintrag readable, wird dieser PHP-Code mit den Parametern als Systemvariablen ausgeführt und seine Ausgabe geliefert. Die Funktion wartet auf das Ende der Ausführung.
Die AktionsParameter müssen folgende Einträge beinhalten:
| Parameter | Beschreibung |
|---|---|
| TARGET | ID des Zielobjektes der Aktion (-1 bei allgemeinen Aktionen) |
| PARENT | ID des ausführenden Objekts der Aktion, beispielsweise das Skript oder der Ablaufplan |
| ENVIRONMENT | Die Umgebung der Aktion, siehe Umgebungen |
Als Werte sind nur Boolean, Integer, Float und String möglich. Existiert die Aktion nicht, schlägt die Funktion mit "Action with ID ... not found!" fehl, danach wird auf die Pflichtparameter geprüft ("TARGET is missing in Parameters", "PARENT is missing in Parameters", "ENVIRONMENT is missing in Parameters"). Ist der Eintrag readable ungültig, schlägt sie mit "Readable Field of Action ... is invalid!" fehl.
Ausgeführt wird eine Aktion mit IPS_RunAction bzw. IPS_RunActionWait.
Beispiel
echo IPS_GetActionReadableCode('{46B65CA6-3098-4982-9A6C-B89DADBB0A96}', [
'TARGET' => 12345, // Boolean-Variable
'PARENT' => $_IPS['SELF'],
'ENVIRONMENT' => 'Default',
'VALUE' => true
]);
/* liefert:
RequestAction(12345, true);
*/