Documentation
SelectAction
Require: IP-Symcon >= 6.0
Creates an input for an action .
If created in the "elements" area, the property name is set to a JSON-coded object, which contains the following parameters:
Parameter | Description |
---|---|
actionID | Action ID |
parameters | Action parameters |
Parameters
Parameter | Description |
---|---|
caption (optional) | (default: "") Visible caption (since IP-Symcon 7.1) |
enabled (optional) | (default: true) If true, the selection can be used, otherwise it is displayed as deactivated |
environment (optional) | (default: "Default") Defines the environment of the action selection, here it can be determined which types of actions are available for selection, see also Actions |
highestPriorityOnly (optional) | (default: false) If false, the element has a selection of all suitable actions, otherwise the action with the highest priority is automatically selected |
includeDefaultEnvironment (optional) | (default: true) If false, only actions that support the environment environment are offered for selection; if true, all actions of the "Default" environment are also offered |
name (optional) | Name of the selection/the property to be set |
targetID (optional) | (default: -2) With -2 the element has a target selection, otherwise the target with this ID is set as the target, where -1 stands for general actions |
type | SelectAction |
value (optional) | (default: no action selected) The value of the selection - If there is an associated property, this parameter will be overwritten by the property in the elements area |
visible (optional) | (default: true) If true, the selection is visible, otherwise it is invisible |
width (optional) | (default: 300px) Fixed width of the input field in pixels or % as a string, e.g. "40%" or "250px" |
saveTarget (optional) | (default: true) If true, the target is saved as TARGET as part of the parameters |
saveEnvironment (optional) | (default: true) If true, the environment is saved as ENVIRONMENT as part of the parameters |
saveParent (optional) | (default: true) If true, the InstanceID is saved as PARENT as part of the parameters |
Example 1: Target, Environment and InstanceID are constantly saved as part of the property
By default, all required parameters are saved as a return from SelectAction. This is the easiest way to perform the action.
{ "type": "SelectAction", "name": "PropertyAction", "targetID": 12345 } // PHP code in the module $action = json_decode($this->ReadPropertyString('PropertyAction'), true); IPS_RunAction($action['actionID'], $action['parameters']);
Example 2: Target, environment and InstanceID are set dynamically
If the additional parameters are not saved as a return, they have to be added manually. In this way, for example, actions can be exchanged between entities and no redundant data is stored.
{ "type": "SelectAction", "name": "PropertyAction", "targetID": 12345, "saveTarget": false, "saveEnvironment": false, "saveParent": false } // PHP code in the module $action = json_decode($this->ReadPropertyString('PropertyAction'), true); $parameters = $action['parameters']; $parameters['TARGET'] = 12345; $parameters['ENVIRONMENT'] = 'Default'; $parameters['PARENT'] = $this->InstanceID; IPS_RunAction($action['actionID'], $parameters);