Dokumentation
SelectCondition
Benötigt: IP-Symcon >= 6.1
Erstellt eine Eingabe für Bedingungen.
Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft name auf eine JSON-codiertes Liste gesetzt, wobei jedes Element ein Objekt mit folgenden Parametern darstellt:
Parameter | Beschreibung |
---|---|
id | ID der Bedingung |
parentID | ID der übergeordneten Bedingung |
operation | Operation zur Verknüpfung der einzelnen Regeln (0: AND, 1: OR, 2: NAND (noch nicht implementiert), 3: NOR (noch nicht implementiert)) |
rules | Objekt welches die Regeln der Bedingung beschreibt |
rules
Parameter | Beschreibung |
---|---|
variable | Liste mit den Variablenregeln |
date | Liste mit den Datumsregeln |
time | Liste mit den Uhrzeitregeln |
dayOfTheWeek | Liste mit den Wochentagsregeln |
Darstellung einer Regel
Parameter | Beschreibung |
---|---|
id | Eindeutige ID der Regel innerhalb der Regelliste |
comparison | Vergleichsoperator mit welchem der aktuelle Wert mit dem Vergleichswert verglichen wird (0: =, 1: ≠, 2: >, 3: ≥, 4: <, 5: ≤) |
value | Der Vergleichswert, der Typ hängt von der Regelart ab Variable: Falls "type" = 0 steht hier der absolute Vergleichswert passend zum Typ der Variable, bei "type" = 1 steht hier eine VariablenID mit deren Wert verglichen wird Datum: Der Wert wird als Objekt mit den Feldern "year", "month" und "day" abgespeichert, analog zur Darstellung von IPS_SetEventConditionDateRule Uhrzeit: Der Wert wird als Objekt mit den Feldern "hour", "minute" und "second" abgespeichert, analog zur Darstellung von IPS_SetEventConditionTimeRule Wochentag: Der Vergleichstag wird als Zahl gespeichert (1: Montag, 2: Dienstag, 3: Mittwoch, 4: Donnerstag, 5: Freitag, 6: Samstag, 7: Sonntag) |
variableID (nur bei Variablenregeln) | Die ID der Variable, welche den aktuellen Wert beinhaltet |
type (nur bei Variablenregeln) | Bei 0 wird die Variable mit einem absoluten Wert verglichen, bei 1 mit dem Wert einer anderen Variablen |
Anstatt eine konfigurierte Bedingung selbstständig auszuwerten sollte die Funktion IPS_IsConditionPassing verwendet werden. Dort kann der Wert des SelectCondition direkt als Parameter verwendet werden.
Falls die abgespeicherte Bedingung verschachtelte Bedingungen beinhaltet oder "multi" auf false steht und die Bedingung mehrere Regeln beinhaltet, wird die Regel als "Komplex" angezeigt und kann nicht bearbeitet werden.
Parameter
Parameter | Beschreibung |
---|---|
caption (optional) | (default:: "") Sichtbare Beschriftung (ab IP-Symcon 7.1) |
enabled (optional) | (default: true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt |
multi (optional) | (default: false) Bei false wird vom Element eine einzelne Regel definiert, bei true eine gesamte Bedingung mit beliebig vielen Regeln |
name (optional) | Name der Auswahl/der zu setzenden Eigenschaft |
type | SelectCondition |
value (optional) | (default: keine Bedingung) 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, falls multi = false, sonst 100%) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" |
Beispiel
{ "type": "SelectCondition", "name": "PropertyCondition", "multi": true }