« Zurück zu Produkt

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);
*/
Haben Sie noch Fragen?