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
...
*/