Variablenprofile

Variablenprofile werden primär dafür genutzt, um Variablenwerte wie True, False oder 0, 1, 2, 3 in einen für den Menschen leserliche Form zu bringen und sie mit den notwendigen Kontextdaten (z.B. °C) zu versehen.

Dabei kann für die eigenen Variablen aus einer Vielzahl von Standard Profilen gewählt werden oder eigene erstellt werden, welche dann für beliebig viele Variablen verwendet werden können.

Um die Variablenprofile editieren zu können, müssen Sie die Variable im der Baumansicht auswählen und über das Kontextmenü auf "Objekt öffnen" drücken. Aktiveren Sie die Checkbox "Experteneinstellungen". Sobald sie den ersten Dialog mit Weiter bestätigen, könne Sie ihre eigenen Profile editieren.

Sie haben die Möglichkeit ein Profil aus den vorgefertigten Profilen auszuwählen oder ein eigenes zu erstellen. Um ein eigens Profil zu erstellen müssen Sie auf "Neu" klicken und dem Profil einen Namen geben.

Obwohl die Variablenprofile nach Typen (Boolean, Integer, Float, String) unterschieden werden, kann ein Profilname jeweils nur einmalig vergeben werden.

Sie erkennen Standard Profile an der Tilde (~) vor dem Profilnamen. Diese Profile werden vom System erstellen und können von ihnen nicht editiert werden. Sie dürfen die Tilde auch nicht in in eigenen Profilnamen verwenden.

Wenn sie ein neues Profil erstellt haben, müssen sie auf "Ändern" klicken, um in den Editiermodus zu gelangen. Sie haben dann folgende Möglichkeiten Änderungen am Profil vorzunehmen:

Präfix

Alle Typen

String vor dem eigentlichen Wert wie z.B. feste Beschreibung

Suffix

Alle Typen

String nach dem eigentlichen Wert wie z.B. °C

Sonderfall:
Beim Wert % wird der Wert mit Hilfe von Min/Max in einen Prozentwert umgerechnet. (Wert = (Wert - Min) * 100 / (Max - Min)

Min Wert

Integer, Float

Kleinster möglicher Wert der Variable für die Visualisierung

Max Wert

Integer, Float

Größter möglicher Wert der Variable für die Visualisierung

Schrittweite

Integer, Float

Aus Schrittweite berechnet sich die Anzahl der Felder, die in der Visualisierung zum Anklicken erstellt werden. z.B. Min = 0, Max = 100. Bei einer Schrittweite von 25 würden die Werte 0, 25, 50, 75, 100 zur Auswahl stehen.

Ist die Schrittweite auf 0 gesetzt und sind Assoziationen vorhanden, so werden direkt alle Assoziationstexte nacheinander aufgelistet. Hierbei entfallen die sonst gezeigten Pfeile zum Durchklicken.

Dieses Feld wird nur ausgewertet, wenn die zu visualisierende Variable durch Zugehörigkeit zu einer Instanz bereits eine Aktion zugewiesen bekommen hat, oder Sie ihr ein Aktionsskript zugewiesen haben.

Stellen

Float

Gibt die Anzahl der angezeigten Nachkommastellen an

Standard Icon

Alle Typen

Falls kein Icon über die Assoziationen vorhanden ist, wird das Standard Icon verwendet. Sollte diese Feld leer bleiben, wird auf das Objekt Icon zurückgegriffen. Alle vorhandenen Icons können Sie hier finden: WebFront Icons

Assoziationen

Boolean, Integer,
Float

Boolean:
Zu jedem der beiden Möglichen Werte (True, False) kann ein Text und ein Icon angegeben werden, welches statt des eigentlich Wertes angezeigt wird. Es wird nur die Darstellung beeinflusst. Der Wert der Variable bleibt erhalten.

Integer/Float:

  1. Wie bei Boolean ist es Möglich für ein einen Wert eine Repräsentation über einen Text und ein Icon zu wählen. Dabei muss im einfachsten Fall für jeden Wert ein Text und Icon angegeben werden.

  2. Die zweite Möglichkeit ist Werte auszulassen, um z.B. nur wichtige Positionen, die eine Änderung benötigen, anzuzeigen. So könnten für eine Jalousie z.B. nur die Werte 0, 50, 100 interessant sein, da Sie nur dafür Icons haben. Sie können nun die Assoziationen definieren, indem Sie für die Werte 0, 50, 100 einen Eintrag hinzufügen. Dabei wird der Eintrag würden die Einträge für folgende Werte gültig sein: 0 (0-49), 50 (50-99) und 100 (100)

  3. Zuletzt haben Sie die Möglichkeit einen Ausdruck zu generieren, der den Aktuellen Wert enthält. Dafür können Sie den %d (int) oder %f (float) Platzhalter nutzen. Ein Beispiel wäre das Vorhandensein von 17 Bilder für den FS20 Dimmer. Sie könnten nun für den Wert 0 das Icon als "LampeAus" definieren und für den Wert 16 (der für die Werte 1-16 stehen würde) das Icon als "Lampe%d" definieren, welches für die Eintrage "Lampe1" bis "Lampe16" entsprechen würde.


Hinweis:
Wird eines der beiden Felder (Text / Icon) leer gelassen, so wird der normale Wert oder das Standard Icon verwendet. Für einen leeren Text muss ein Leerzeichen verwendet werden.

Profile werden nur für die Visualisierung verwendet. Sobald der Variablenwert außerhalb der angegebenen Min/Max Grenzen liegt oder außerhalb der spezifizierten Assoziationen, kann eine falsche oder gar keine Ausgabe des jeweiligen Wertes erfolgen.

Beispiel:
Wenn im Profile Min=0 und Max=20 definiert sind und % als Suffix angegeben wurde, aber der Variablenwert 40 ist, so wird in der Visualisierung 200% angezeigt. Die Min/Max Werte limitieren nicht den Variablenwert!

Je nach Variablentyp können als Platzhalter %d und %f genutzt werden. Um die Nachkommastellen zu beeinflussen, kann folgendes Format verwendet werden (%.2f für 2 Nachkommastellen). 

Um das Prozentzeichen (%) innerhalb eines Assoziationstextes nutzen zu können muss ein doppeltes Prozentzeichen (%%) eingegeben werden. 

Aktionen

Eine weitere Funktionalität eines Variablenprofil ist, dass bei einer Änderung des Werte innerhalb der Visualisierung ein Skript aufgerufen werden kann. Das ermöglicht das Steuern von Geräten und das Aktualisieren der Variable die mit dem Profil verknüpft ist und die die Änderung angefordert hat. Unter Systemvariablen können nachsehen, welche speziellen Variablen ihnen in dem aufgerufenen Skript zur Verfügung stehen.

Aus einer Kombination von Dummy Modul (Instanz), einer Variable mit verknüpften Variablenprofil und einem verknüpften Aktionsskript können Sie die Funktion eines nativen IP-Symcon Moduls nachbilden.

In einem Aktionsskript sollte der Schaltvorgang und zumindest die Anweisung stehen, die die Variable auf den angeforderten Zustand setzt:

//Variable setzen
SetValue($IPS_VARIABLE, $IPS_VALUE);

//Gerät schalten
FS20_SwitchMode(12345, (boolean)$IPS_VALUE);