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.
Address-Gruppen - Rechnen mit Address-Werten
Mit einer <cv-address-group>
können Berechnungen mit den numerischen Werten von
mehreren <cv-address>
-Elementen vorgenommen werden. Mit dem folgenden einfachsten Beispiel
werden die beiden Werte der Gruppenadressen 1/1/0
und 1/1/1
addiert und der resultierende
Wert kann dann in einem Widget angezeigt werden.
Hinweis
Sollte die Berechnung in einem fehlerhaften Ergebnis resultieren (z.B. bei einer Division durch 0),
wird ein leeres Ergebnis weitergemeldet. In diesen Fall wird dem <cv-address-group>
das Attribut
data-valid="false"
hinzugefügt.
<cv-address-group operator="+">
<cv-address transform="DPT:7.001" mode="read">1/1/0</cv-address>
<cv-address transform="DPT:7.001" mode="read">1/1/1</cv-address>
</cv-address-group>
Neben der Addition operator="+"
sind auch Subtraktion operator="-"
, Multiplikation operator="*"
und Division operator="/"
möglich. Zusätzlich kann das Ergebnis auf eine Ganzzahl gerundet werden
round="true"
und/oder mit einem Faktor multipliziert werden factor="100"
.
Durch Verschachtelung können auch komplexere Berechnungen vorgenommen werden. So kann z.B.
das Ergebnis der Formel round(100.0 * (1/1/0 - 1/1/1) / (1/1/2 + 1/1/0))
in einem Info-Widget dargestellt werden.
<cv-info format="%d%%">
<cv-address-group slot="address" operator="/" round="true" factor="100">
<cv-address-group operator="-">
<cv-address transform="DPT:7.001" mode="read">1/1/0</cv-address>
<cv-address transform="DPT:7.001" mode="read">1/1/1</cv-address>
</cv-address-group>
<cv-address-group operator="+">
<cv-address transform="DPT:7.001" mode="read">1/1/0</cv-address>
<cv-address transform="DPT:7.001" mode="read">1/1/2</cv-address>
</cv-address-group>
</cv-address-group>
<cv-info>
Hinweis
Es ist grundsätzlich immer besser solche Berechnungen im Backend vorzunehmen.
Die <cv-address-group>
sollte nur verwendet werden, wenn dies nicht möglich ist.
Element |
Attribut |
|||
---|---|---|---|---|
Name |
Inhalt |
Beschreibung |
||
cv-address-group |
operator |
+, -, * oder / |
Mathematischer Operator für Berechnung. |
|
round |
true oder false |
Ergebnis runden. |
||
factor |
float |
Ergebnis mit diesem Wert multiplizieren. |