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.

Status-Benachrichtigung

Autor: Tobias Bräutigam
Verfügbar seit: 2022

Die Benachrichtigungen im Meta-Bereich bieten die selbe Funktionalität wie in Pure-Struktur. Der Einzige Unterschied in der Benutzung ist, dass das umschließende <notification>-Element in der Tile-Struktur nicht benötigt wird, sie dafür aber den cv--Präfix im Elementnamen haben. Es ist also ausreichend, sie so zu benutzen:

Einfaches Beispiel zeigt eine Nachricht in der Nachrichtenzentrale, wenn die Wohnzimmerlampe eingeschaltet ist.
<cv-meta>
    <cv-state-notification target="notificationCenter" unique="true">
        <title-template>Wohnzimmerlicht</title-template>
        <message-template>eingeschaltet um {{ time }} Uhr</message-template>
        <condition>1</condition>
        <addresses>
            <address transform="OH:switch">Light_FF_Living</address>
        </addresses>
    </cv-state-notification>
    ...
</cv-meta>

Für die allgemeine Erklärung zu den Features der Benachrichtigung wird daher an dieser Stelle auch nicht eingegangen und auf die entsprechende Dokumentation der Pure-Struktur verwiesen. Es gibt jedoch durch die Einführung des neuen System-Backends die Möglichkeit die Benachrichtigungen ein-/aus zu schalten, oder deren Priorität zu verändern. Möchte man das oben gezeigte Beispiel nur manuell einschalten, da geht das indem man eine ID vergibt (id="lightWZ") und die Benachrichtigung erstmal deaktiviert (enabled="false"):

<cv-meta>
    <cv-state-notification id="lightWZ" target="notificationCenter" unique="true" enabled="false">
        <title-template>Wohnzimmerlicht</title-template>
        <message-template>eingeschaltet um {{ time }} Uhr</message-template>
        <condition>1</condition>
        <addresses>
            <address transform="OH:switch">Light_FF_Living</address>
        </addresses>
    </cv-state-notification>
    ...
</cv-meta>

Jetzt kann man an beliebiger Stelle in der Config einen Switch einfügen mit dem man die Benachrichtigung einschalten kann:

<cv-meta>
    <cv-mapping name="Notification">
        <entry value="0">ri-notification-off-line</entry>
        <entry value="1">ri-notification-line</entry>
    </cv-mapping>
</cv-meta>
...
<cv-switch mapping="Notification">
    <cv-address slot="address" backend="system">notification:lightWZ:enabled</cv-address>
    <cv-icon slot="icon">ri-notification-line</cv-icon>
    <span slot="secondaryLabel">Licht WZ</span>
</cv-switch>

Dazu benötigt der Switch eine Adresse für das backend="system" mit dem Wert notification:lightWZ:enabled. Die Adresse setzt sich zusammen aus dem immer benötigten Präfix notification:, gefolgt von der ID der Benachrichtigung und dem Attribut, welches verändert werden soll enabled. Möchte man die Priorität der Benachrichtigung verändern, kann man das mit folgendem Switch erreichen:

<cv-meta>
    <cv-styling name="NotificationSeverity">
        <entry value="urgent">active</entry>
        <entry value="normal">inactive</entry>
    </cv-styling>
</cv-meta>
...
<cv-switch styling="NotificationSeverity" on-value="urgent" off-value="normal">
    <cv-address slot="address" backend="system">notification:lightWZ:severity</cv-address>
    <cv-icon slot="icon">ri-alert-line</cv-icon>
    <span slot="secondaryLabel">Licht WZ</span>
</cv-switch>

Element

Attribut

Name

Inhalt

Beschreibung

cv-state-notification

id

Text

ID die in Adressen benutzt werden kann, um diese Nachricht zu verändern

name

Text

Name muss definiert werden, wenn unique=true ist

target

popup, notificationCenter oder speech

  • popup: Nachricht als Popup anzeigen

  • notificationCenter: Nachricht im Notification-Center anzeigen

  • speech: Nachricht per Sprachausgabe ausgeben

unique

true oder false

Nur eine Nachricht für dieses Update zeigen (name muss angegeben werden)

deletable

true oder false

Benutzer kann diese Nachricht löschen

enabled

true oder false

Aktiviert diese Nachricht

skip-initial

true oder false

Erstes Statusupdate ignorieren

severity

urgent, high, normal oder low

Nachrichten mit höherer Priorität werden farblich gekennzeichnet

icon

Text

Zeigt dieses Icon zusammen mit der Nachricht.

icon-classes

Text

Zusätzliche CSS-klassen mit denen das Aussehen des Icons angepasst werden kann.