Tutorial-Schritt 5: Werte formatieren
Die Anzeige des formatierten Wertes ist noch etwas unschön. Zum einen wird die implizite Skalierung um den Faktor 10 nicht berücksichtigt, und zum anderen fehlt die physikalische Einheit. Selbst wenn man weiß, dass hier eine Temperatur angezeigt wird, ist nicht klar, ob es sich um Celsius, Fahrenheit oder Kelvin handelt.
Zur Konfiguration der Anzeige selektiert man den Elementarbaustein "Temperatur" (Typ "Wert").
An dieser Stelle sei angemerkt, dass es gut war, dass wir die bisherigen Bausteine benannt haben, weil es sonst leicht unübersichtlich wird (ohne Name wird nur der Typ des Bausteins angezeigt). Bei vielen gleichartigen Bausteinen kann dies die Pflege erschweren. Die Vergabe von Namen an Bausteine spielt außerdem eine wichtige Rolle im Gesamtsystem: Hat ein Baustein einen Namen, können dessen Interaktionen von der Mediensteuerung erkannt und ausgewertet werden.
Zurück zur Formatierung der Anzeige: Für formatierten Text kann im Feld "Beschreibung" eine JavaScript-Formel angegeben werden, die eine entsprechende Umwandlung des tatsächlichen Wertes des Parameters zur Anzeige beschreibt. Dabei steht v
für den aktuellen Wert
Achtung: zurzeit sind Prüfungen des Ausdrucks minimal, so dass es sich tatsächlich noch um eine deutliche Sicherheitslücke (Script-Injection in die Steuerung) handelt.
- Bei der Eingabe der JavaScript-Formel sollte beachtet werden, dass statt eines einfachen Anführungszeichens (') ein Gravis (`) verwendet wird.
Nun sieht die Anzeige und Manipulation des Wertes im Tests schon deutlich eleganter aus.
Als Zustand werden zurzeit drei mögliche Alternativen unterstützt:
- nicht vorhanden: als Hintergrund wird das sanfte Rot verwendet
- gesetzt (true): der Hintergrund ist grün
- nicht gesetzt (false): der Hintergrund ist rot
Im Beispiel soll der Hintergrund also grün sein, solange der Wert den Schwellwert von 30°C nicht erreicht hat, danach rot.
Ist der Wert von Aktiv vorhanden aber nicht gesetzt (false), so werden alle Interaktion des Bausteins deaktiviert. Interessant ist hier, dass dies immer so ist (die Formal liefert einen statischen Wert) und vor allem unabhängig von dem Wert eines Parameters. Natürlich ist auch eine Bindung an einen Parameter möglich.
Weiter: Bausteine und Ereignisse