Vorsicht
Dies ist die Dokumentation des aktuellen Entwicklungszweigs der CometVisu. Es besteht daher die Möglichkeit, dass einige der hier beschriebenen Features mit dem aktuellsten Release der CometVisu nicht genutzt werden können.
Das Switch Widget
Beschreibung
Das Switch Widget fügt der Visualisierung eine Schaltfläche hinzu. Mit dieser können z.B. Ein/Aus Schalter realisiert werden. Das Verhalten des Schalters kann über den Modus der hinzugefügten Adressen gesteuert werden. Das normale Verhalten beinhaltet einen Wechsel zwischen 2 Zuständen (an / aus). Ein Klick auf den Schalter löst einen Wechsel zwischen diesen Zuständen aus, es wird also immer der Wert gesendet, der gerade nicht aktiv ist.
Das Switch-Widget besteht aus einem zentrierten Button mit optionalen Titel und Untertitel darunter.
Der Schalter kann sich aber auch wie ein Trigger verhalten, d.h. er wechselt nicht zwischen Zuständen sondern beim Klick auf den Schalter wird immer der selbe Wert gesendet.
Als dritte Variante kann sich der Schalter wie ein Taster verhalten und unterschiedliche Werte beim Drücken und beim Loslassen schicken. Anwendungsbeispiel für dieses Verhalten wäre z.B. ein Türöffner: Beim Klicken des Buttons wird der Türöffner eingeschaltet und beim Loslassen des Buttons wird der Türöffner wieder ausgeschaltet.
Schalter
Für den Schalter-Modus muss das Switch-Widget den aktuellen Zustand lesen und schreiben können, daher wird eine schreibende und eine lesende Adresse benötigt (kann auch die selbe sein). Bei jeden Klick wird zwischen den beiden Zuständen (an / aus) umgeschaltet.
<cv-switch>
<cv-address slot="address" transform="DPT:1.001">1/4/0</cv-address>
<span slot="primaryLabel">Schalter</span>
<span slot="secondaryLabel">Ein/Aus</span>
</cv-switch>
Trigger
Ein Trigger sendet immer den gleichen Wert zum Backend. Er muss daher den aktuellen Zustand nicht kennen und
benötigt daher nur eine schreibende Adresse mit einem fixen Wert mode="write" value="1"
.
Dieser Wert wird auch für das Mapping / Styling benutzt, sofern angegeben.
<cv-switch>
<cv-address slot="address" transform="DPT:1.001" mode="write" value="1">1/4/0</cv-address>
<span slot="primaryLabel">Trigger</span>
<span slot="secondaryLabel">Sendet immer 1</span>
</cv-switch>
Taster
Ein Taster sendet unterschiedliche Werte beim Drücken und Loslassen des Buttons. Dazu benötigt man jeweils eine
Adresse für jedes dieser Events (up bzw. down). Über das on
Attribut einer Adresse kann man festlegen, bei welchem Event
der Wert des value
-Attributs gesendet wird. Eine <cv-address> mit
mode="write" value="1" on="down"
schickt also
den Wert 1
beim Drücken des Buttons an das Backend und eine <cv-address> mit mode="write" value="0" on="up"
schickt
den Wert 0
beim Loslassen des Buttons.
<cv-switch>
<cv-address slot="address" transform="DPT:1.001" mode="write" value="1" on="down">1/4/0</cv-address>
<cv-address slot="address" transform="DPT:1.001" mode="write" value="0" on="up">1/4/0</cv-address>
<cv-address slot="address" transform="DPT:1.001" mode="read">1/4/0</cv-address>
<span slot="primaryLabel">Taster</span>
</cv-switch>
Fortschrittsanzeige
Das Switch-Widget bietet zusätzlich die Möglichkeit einen runden Fortschrittsbalken anzuzeigen. Ein möglicher
Anwendungsfall hierfür wäre ein Switch mit dem man einen Musik-Player steuert und über den Fortschrittsbalken
anzeigt wie viel vom aktuellen Lied schon abgespielt wurde (oder alternativ die Lautstärke des Players).
Der Fortschrittsbalken dient hier aber nur der Information und kann selbst nicht bedient werden.
Für den Fortschrittsbalken muss nur eine zusätzliches <cv-address slot="address"
Element mit mode="read"
und target="progress"
hinzugefügt werden. Der Fortschrittsbalken kann Werte zwischen 0 und 100 darstellen.
...
<cv-meta>
<cv-mapping name="PlayStop">
<entry value="0">ri-play-fill</entry>
<entry value="1">ri-stop-fill</entry>
</cv-mapping>
</cv-meta>
...
<cv-switch mapping="PlayStop">
<cv-address slot="address" transform="DPT:1.001" value="1">1/4/0</cv-address>
<cv-address slot="address" transform="DPT:5.001" mode="read" target="progress">1/4/1</cv-address>
<span slot="primaryLabel">Player</span>
<span slot="secondaryLabel"/>
</cv-switch>
Erlaubte Attribute im Switch-Element
Element |
Attribut |
|||
---|---|---|---|---|
Name |
Inhalt |
Beschreibung |
||
cv-switch |
styling |
Text |
Ändert die Farbe des angezeigten Wertes abhängig vom Wert selbst. Siehe auch Styling |
|
mapping |
Text |
Ordnet den Werten vom Bus andere Werte, Texte oder Symbole zur Anzeige zu. Siehe auch Mapping |
||
size |
button, 0.5x0.5, 1x0.5, 1x1, 2x1, 2x1.5, 1x2, 2x2, 2x4 oder 4x2 |
Größe der Kachel in {Spalten}x{Zeilen}, 1x1 ist die Standardgröße. |
||
button-size |
small, normal oder large |
Legt die Größe des Buttons fest. |
||
progress-mapping |
Text |
Ordnet den Werten vom Bus einen Wert zwischen 0 und 100 zu, um einen Fortschritt anzeigen zu können. Siehe auch Mapping |
||
whole-tile |
true oder false |
Erweitert den klickbaren Bereich auf die gesamte Kachel. |
||
on-value |
Text |
Wert für den An-Zustand. Default ist „1“. |
||
off-value |
Text |
Wert für den Aus-Zustand. Default ist „0“. |
||
visible-on |
mobile oder desktop |
Steuert die Sichtbarkeit dieses Elements anhand der Bildschirmgröße. |
||
class |
Text |
Füge dieses Attribut der CSS Klasse hinzu, so dass das Widget durch ein eigenes Stylesheet zusätzlich formatiert werden kann. |
||
style |
Text |
Individuelle CSS style Regeln für dieses Widget. |
Erlaubte Kind-Elemente und deren Attribute
Element |
Attribut |
|||
---|---|---|---|---|
Struktur |
Name |
Inhalt |
Beschreibung |
|
|
slot |
address oder tileAddress |
||
transform |
Text |
Legt den Datentyp im Backend fest, z.B. DPT:1.001 für den KNX Datenpunkttyp 1.001. |
||
mode |
disable, read, write oder readwrite |
Legt fest, ob auf dieser Adresse nur gelesen |
||
value |
Text |
Fixer Wert welcher an diese Adresse gesendet wird. |
||
on |
click, down oder up |
Event bei dem ein Wert and diese Adresse geschickt wird (nur in Verbindung mit |
||
target |
Text |
Ziel innerhalb der Eltern-Widgets für das die Werte dieser Adresse benutzt werden sollen. Die möglichen Werte hängen vom Eltern-Widget ab. |
||
format-pos |
Zahl |
Position für Format-String wenn mehrere Adressen gleichzeitig genutzt werden. |
||
qos |
Zahl |
Nur MQTT: QoS |
||
retain |
true oder false |
Nur MQTT: retain Flag |
||
selector |
Text |
Nur MQTT: JSON Selektor |
||
backend |
Text |
Optionaler Name des Backends zu dem diese Adresse gehört. |
||
mapping |
Text |
Ordnet den Werten vom Bus andere Werte, Texte oder Symbole zur Anzeige zu. Siehe auch Mapping |
||
format |
Text |
Formatierung des Wertes (printf-Syntax). |
||
delay |
positiveInteger |
Optionales delay in Millisekunden, um welches das Schreiben an diese Adresse verzögert wird. |
||
send-mode |
on-change oder always |
Normalerweise bekommen Elemente, die diese Adresse benutzen nur eine Update-Benachrichtigung, wenn sich der Wert tatsächlich geändert hat ( |
Element |
Attribut |
|||
---|---|---|---|---|
Struktur |
Name |
Inhalt |
Beschreibung |
|
|
size |
small, large, x-large, xx-large oder xxx-large |
Legt die Größe des Icons fest. |
|
color |
Text |
Farbe des Icons. |
||
visible-on |
mobile oder desktop |
Steuert die Sichtbarkeit dieses Elements anhand der Bildschirmgröße. |
||
class |
Text |
Füge dieses Attribut der CSS Klasse hinzu, so dass das Widget durch ein eigenes Stylesheet zusätzlich formatiert werden kann. |
||
style |
Text |
Individuelle CSS style Regeln für dieses Widget. |
||
|
Text |
Element |
Attribut |
|||
---|---|---|---|---|
Struktur |
Name |
Inhalt |
Beschreibung |
|
|
slot |
primaryLabel oder secondaryLabel |
||
tr |
true oder false |
Legt fest, dass der Text-Inhalt dieses Elements übersetzt werden soll. |
||
|
Text |