« Zurück zu Produkt

Dokumentation

IPS_GetActions

 string IPS_GetActions ()

Rückgabewert

Ein JSON-kodierter String mit einem Array aller Aktionen. Nach dem Dekodieren mit json_decode($json, true) ist jede Aktion ein Array mit folgenden Einträgen:

Index Typ Beschreibung
id string GUID der Aktion (AktionsID)
caption string Bezeichnung der Aktion (englisch, die Übersetzungen stehen in locale)
form array/string Konfigurationsformular der Aktion: ein Array von Formularelementen (statisches Formular) oder PHP-Code als String bzw. Array von Codezeilen (dynamisches Formular, siehe IPS_GetActionForm)
action array/string PHP-Code, der bei der Ausführung der Aktion ausgeführt wird, als String oder Array von Codezeilen
restrictions array (optional) Restriktionen, unter welchen Bedingungen die Aktion angeboten wird, siehe restrictions
locale array (optional) Übersetzungen je Sprache, z.B. de => [englischer Text => Übersetzung]
category string (optional) Kategorie der Aktion (target, math, set, switch, expert oder other)
description string (optional) Beschreibung der Aktion für die Aktionsauswahl
format string (optional) Kurzformatierung der Aktion mit ihren Parametern in ICU-Syntax, z.B. "Switch to {VALUE, valueFormatted}"
priority integer (optional) Priorität, nach der die Aktionen in einer Auswahl sortiert werden (höhere Werte zuerst)
readable array/string (optional) PHP-Code, der die Aktion als lesbaren Code liefert, siehe IPS_GetActionReadableCode
deprecated array/string (optional) Kennzeichnet die Aktion als veraltet. Enthält PHP-Code, der die Parameter in eine Nachfolgeaktion überführt (Rückgabe mit actionID und parameters)
actionList string (optional) Name des Parameters, der eine verschachtelte Liste von Aktionen enthält (z.B. "ACTIONS" bei "Wenn ..., dann" in Ablaufplänen)

Die Einträge entsprechen unverändert der Aktionsdefinition. Optionale Einträge fehlen, wenn sie in der Definition nicht angegeben sind.

Beschreibung

Die Funktion liefert alle Aktionen, die dem System bekannt sind. Dazu gehören die mitgelieferten Aktionen und die Aktionen aus dem Ordner "actions" installierter Bibliotheken, siehe Aktionen. Aktionen sind vordefinierte Abläufe, die von Ereignissen, Ablaufplänen, Variablenaktionen sowie IPS_RunAction und IPS_RunActionWait ausgeführt werden.

Das Ergebnis ist ein JSON-kodierter String und kein PHP-Array, er muss mit json_decode dekodiert werden. Die Reihenfolge der Einträge ist nicht garantiert. Die Liste ist nicht gefiltert und enthält auch veraltete Aktionen (deprecated). Die Texte (caption, description, format, Formular) sind englisch, die Übersetzungen stehen im Eintrag locale.

Die Aktionen, die für ein bestimmtes Zielobjekt in einer bestimmten Umgebung angeboten werden, liefert IPS_GetActionsByEnvironment. Ob eine Aktion existiert, prüft IPS_ActionExists.

Beispiel

$aktionen = json_decode(IPS_GetActions(), true);
foreach ($aktionen as $aktion) {
    // Deutsche Bezeichnung, falls vorhanden
    $bezeichnung = $aktion['locale']['de'][$aktion['caption']] ?? $aktion['caption'];
    echo $aktion['id'] . ' -> ' . $bezeichnung . PHP_EOL;
}

/* liefert z.B.:
{04603AA4-F1B8-3E28-8F31-8BC98C75A04B} -> Multipliziere mit Wert einer anderen Variablen
{0792E8F6-07B1-C12F-D8C0-7CB048CABFB3} -> Warte auf Wert
{07DEB4D2-D32C-4226-8371-E8CD1A507D99} -> Schalte auf Wert
...
*/
Haben Sie noch Fragen?