Administrationsseite***0-1Visueditor***2Visuelemente***1002Variablen, Funktionen und Formeln

In allen hellgrün hinterlegten Eingabefeldern der folgenden Einstellungen können Variablen, Funktionen und Formeln auf der Grundlage des dem Visu-Element zugewiesenen Steuerungs-KOs (hellgrün hinterlegt) zugewiesen werden: Variablen, Funktionen und Formeln müssen von geschweiften Klammern umschlossen werden. Beispielsweise repräsentiert die Angabe "{#}" den KO-Wert, die Angabe "{round(12.34)}" repräsentiert den Aufruf der Funktion round(12.34) und die Angabe "{round(#)}" repräsentiert den gerundeten KO-Wert. Innerhalb einer Eigenschaft können beliebig viele Variablen, Funktionen und Formeln genutzt werden, z.B. "{#} ist stets ungleich {round(#*2)}". Auch ein Verschachteln ist möglich, z.B. "{#} ist stets gleich {sqrt(pow(#,2))}".

Variablen

Grundsätzlich ist die einzig verfügbare Variable der KO-Wert des dem Visu-Element zugewiesenen Steuerungs-KOs. Bei einigen Visuelementen sind u.U. weitere Variablen verfügbar, diese werden in der jeweiligen Hilfe gesondert erläutert.

Funktionen

Mit Hilfe von Funktionen können diverse Berechnungen oder String-Manipulationen vorgenommen werden (siehe Funktionsreferenz). Hinweis: Mit Hilfe der String-Funktion split() bzw. str_split() kann ein speziell zusammengesetztes KO (z.B. durch einen entsprechenden Logikbaustein) in mehrere Teile zerlegt werden. Dadurch ist es möglich mit nur einem Steuerungs-KO verschiedene Parameter zu übergeben (z.B. X- und Y-Werte für eine Translation). Beispiel (KO-Wert="23|45"):

Formeln

Mit Hilfe von Formeln können Variablen oder Rückgabewerte von Funktionen weiteren Berechnungen unterzogen werden.

Funktionsreferenz

Folgende Funktionen stehen für diverse Berechnungen oder String-Manipulationen zu Verfügung:
Funktion Beschreibung Beispiel
Allgemeine mathematische Funktionen
können sich sowohl auf den KO-Wert, als auch auf einen beliebigen anderen Wert beziehen
abs(x) absoluter Wert von x {abs(#)}
floor(x) x abrunden {floor(#)}
ceil(x) x aufrunden {ceil(#)}
pow(x,y) x mit y potenzieren (x hoch y) {pow(#,2)}
sqrt(x) Quadratwurzel von x {sqrt(#)}
log(x) natürlicher Logarithmus von x {log(#)}
sin(x) Sinus von x (im Bogenmaß) {sin(#*3.1415927/180)}
cos(x) Cosinus von x (im Bogenmaß) {cos(#*3.1415927/180)}
tan(x) Tangens von x (im Bogenmaß) {tan(#*3.1415927/180)}
round(x) x runden {round(#)}
fixed(x,anz) x auf eine feste Anzahl (anz) von Nachkommastellen bringen {fixed(#,2)}
Allgemeine String-Funktionen
können sich sowohl auf den KO-Wert, als auch auf einen beliebigen anderen Wert beziehen
str_left(x,n) n Zeichen von links des Strings x ausgeben {str_left("EDOMI",3)}
str_right(x,n) n Zeichen von rechts des Strings x ausgeben {str_right("EDOMI",3)}
str_mid(x,pos,n) n Zeichen ab der Position pos des Strings x ausgeben (pos beginnt mit 0) {str_mid("EDOMI",5,3)}
str_split(x,pos,sep) zerlegt den String x per Default bei jedem Vorkommen des Zeichens "|" und gibt den Teilstring mit dem Index pos zurück (beginnend bei 0) str_split("11|22|33|44",2) gibt 33 zurück str_split("A-B-C-D",2,"-") gibt "C" zurück
str_len(x) gibt die Anzahl der Zeichen des Strings x zurück {str_len("EDOMI")}
str_replace(x,string1,string2) ersetzt jedes Vorkommen von string1 im String x durch string2 {str_replace("HS4","HS","EDOMI")}
str_lcase(x) wandelt den String x in Kleinbuchstaben um {str_lcase("EDOMI")}
str_ucase(x) wandelt den String x in Großbuchstaben um {str_ucase("edomi")}
str_trim(x) entfernt "whitespace" am Anfang und Ende des Strings x {str_trim(" EDOMI ")}
KO-String-Funktionen
beziehen sich immer auf den KO-Wert
left(n) n Zeichen von links des KO-Werts ausgeben {left(3)}
right(n) n Zeichen von rechts des KO-Werts ausgeben {right(3)}
mid(pos,n) n Zeichen ab der Position pos des KO-Werts (String) ausgeben (pos beginnt mit 0) {mid(5,3)}
split(pos,sep) zerlegt den KO-Wert per Default bei jedem Vorkommen des Zeichens "|" und gibt den Teilstring mit dem Index pos zurück (beginnend bei 0) KO-Wert="11|22|33|44": split(2) gibt 33 zurück KO-Wert="A-B-C-D": split(2,"-") gibt "C" zurück
len() gibt die Anzahl der Zeichen des KO-Wertes zurück {len()}
replace(string1,string2) ersetzt jedes Vorkommen von string1 durch string2 {replace("HS","EDOMI")}
lcase() wandelt den KO-Wert in Kleinbuchstaben um {lcase()}
ucase() wandelt den KO-Wert in Großbuchstaben um {ucase()}
trim() entfernt "whitespace" am Anfang und Ende des KO-Werts {trim()}
Sonstige KO-Funktionen
beziehen sich immer auf den KO-Wert
hsvrgb() KO-Wert (Hex-String, z.B. "A1B2C1") von HSV in RGB umwandeln {hsvrgb()}
hsvlight() KO-Wert (Hex-String, z.B. "A1B2C1") von HSV in RGBA umwandeln Hinweis: Durch den Alphawert (Transparenz) kann ein Visuelement z.B. die Farbeinstellung einer RGB-Leuchte realistischer wiedergeben: Eine ausgeschaltete Leuchte ergibt somit nicht Schwarz, sondern 100% Transparenz (also quasi "unsichtbar"). {hsvlight()}
rgblight() KO-Wert (Hex-String, z.B. "A1B2C1") von RGB in RGBA umwandeln Hinweis: Durch den Alphawert (Transparenz) kann ein Visuelement z.B. die Farbeinstellung einer RGB-Leuchte realistischer wiedergeben: Eine ausgeschaltete Leuchte ergibt somit nicht Schwarz, sondern 100% Transparenz (also quasi "unsichtbar"). {rgblight()}