Was können wir verbessern?

Dokumentation

(Bearbeiten)

SelectAction

Benötigt: IP-Symcon >= 6.0

Erstellt eine Eingabe für eine Aktion.

Beispiel

Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft name auf ein JSON-codiertes Objekt gesetzt, welches folgende Parameter enthält:

Parameter Beschreibung
actionID ID der Aktion
parameters Parameter der Aktion

Parameter

Parameter Beschreibung
enabled (optional) (default: true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt
environment (optional) (default: "Default") Legt die Umgebung der Aktionsauswahl fest, hierüber kann bestimmt werden, welche Arten von Aktionen zur Auswahl stehen, siehe auch Aktionen
highestPriorityOnly (optional) (default: false) Bei false verfügt das Element eine Auswahl über alle passenden Aktionen, ansonsten wird ohne Auswahl automatisch die Aktion mit der höchsten Priorität ausgewählt
includeDefaultEnvironment (optional) (default: true) Bei false werden nur Aktionen zur Auswahl angeboten, welche die Umgebung environment unterstützen, bei true werden zusätzlich alle Aktionen der Umgebung "Default" angeboten
name (optional) Name der Auswahl/der zu setzenden Eigenschaft
targetID (optional) (default: -1) Bei -1 verfügt das Element über eine Zielauswahl, ansonsten ist das Ziel mit dieser ID fest als Ziel gesetzt
type SelectAction
value (optional) (default: keine Aktion ausgewählt) Der Wert der Auswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben
visible (optional) (default: true) Bei true ist die Auswahl sichtbar, ansonsten ist sie unsichtbar
width (optional) (default: 300px) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px"
saveTarget (optional) (default: true) Bei true wird das Ziel als TARGET als Teil der parameters gespeichert
saveEnvironment (optional) (default: true) Bei true wird die Umgebung als ENVIRONMENT als Teil der parameters gespeichert
saveParent (optional) (default: true) Bei true wird die InstanzID als PARENT als Teil der parameters gespeichert

Beispiel 1: Ziel, Umgebung und InstanzID werden konstant als Teil der Eigenschaft gespeichert

Standardmäßig werden alle benötigten Parameter als Rückgabe von SelectAction abgespeichert. Dadurch kann die Aktion am einfachsten ausgeführt werden.

{ "type": "SelectAction", "name": "PropertyAction", "targetID": 12345 }
 
// PHP-Code im Modul
$action = json_decode($this->ReadPropertyString('PropertyAction'), true);
IPS_RunAction($action['actionID'], $action['parameters']);

Beispiel 2: Ziel, Umgebung und InstanzID werden dynamisch gesetzt

Speichert man die Zusatzparameter nicht als Rückgabe ab, so müssen diese manuell hinzugefügt werden. Hierdurch können beispielsweise Aktionen zwischen Instanzen ausgetauscht werden und es werden keine redundanten Daten abgespeichert.

{ "type": "SelectAction", "name": "PropertyAction", "targetID": 12345, "saveTarget": false, "saveEnvironment": false, "saveParent": false }
 
// PHP-Code im Modul
$action = json_decode($this->ReadPropertyString('PropertyAction'), true);
$parameters = $action['parameters'];
$parameters['TARGET'] = 12345;
$parameters['ENVIRONMENT'] = 'Default';
$parameters['PARENT'] = $this->InstanceID;
IPS_RunAction($action['actionID'], $action['parameters']);
Zum Warenkorb
Haben Sie noch Fragen?