Verbrauch und Snapshots
Ein Snapshot ist ein einzelner Wert, der aus den Archivdatensätzen (Log) eines Tags für einen Kalenderzeitraum berechnet wird: der heutige Energieverbrauch, die durchschnittliche Leistung von gestern, die höchste Temperatur des letzten Monats und Ähnliches. Snapshots werden beim Öffnen der Seite mit einer einzigen Sammelanfrage vom Server abgerufen und wie ein normales Tag an die Widgets der Seite gebunden. Zusätzlicher Code oder ein spezielles Widget ist nicht nötig.
Es gibt zwei Snapshot-Arten:
| Art | Präfix | Berechnung | Geeignete Daten |
|---|---|---|---|
| Historie | __hist | Summe, Durchschnitt, Minimum, Maximum oder letzter Wert der Archivdatensätze im Zeitraum | Momentanwerte: Leistung (kW), Spannung (V), Strom (A), Temperatur |
| Verbrauch | __cons | Zuwachs des Zählerwerts im Zeitraum (Zählerdifferenz) | Stetig steigende Zähler: Wirk-/Blindenergie (kWh), Wasser, Gas |
Verwenden Sie für einen stetig steigenden Wert wie einen Energiezähler __cons, für einen Momentanwert __hist.
Archivdatensätze erforderlich
Ein Snapshot wird aus den Archivdatensätzen des Tags berechnet. Hat das Tag keine Log-Definition, findet der Server die Quelle des Snapshots nicht, und es kommt kein Wert. Hat das Tag mehrere Log-Definitionen, wird die zuerst angelegte verwendet.
Aufbau des Snapshot-Namens
Ein Snapshot-Name besteht aus vier durch Punkte getrennten Teilen:
<Art>.<Zeitraum>.<Aggregation>.<Tag>| Teil | Werte | Beispiel |
|---|---|---|
| Art | __hist oder __cons | __cons |
| Zeitraum | Tabelle Zeiträume unten | thismonth |
| Aggregation | sum, avg, min, max, last | sum |
| Tag | Tag-Name (abhängig vom Tag-Präfix der Seite, siehe Tag-Name und Seitenpräfix) | EA |
Beispiele:
__cons.today.sum.EA Energieverbrauch heute
__cons.yesterday.sum.EA Energieverbrauch gestern
__cons.month[-1].sum.EA Energieverbrauch im letzten Monat
__hist.today.avg.AktifGuc durchschnittliche Wirkleistung heute
__hist.thismonth.max.Sicaklik höchste Temperatur in diesem Monat- Groß- und Kleinschreibung spielt keine Rolle;
Month[-1]undmonth[-1]sind gleich. - Fehlt der Aggregationsteil, wird
sumverwendet. - Die in älteren Seiten mögliche Schreibweise
__constwird als__consakzeptiert; verwenden Sie in neuen Seiten__cons.
Zeiträume
| Zeitraum | Bedeutung | Aktualisierung des Werts |
|---|---|---|
today | Heute | etwa alle 45 Sekunden |
yesterday | Gestern | stündlich |
thisweek | Diese Woche | alle 10 Minuten |
lastweek | Letzte Woche | stündlich |
thismonth | Dieser Monat | alle 10 Minuten |
lastmonth | Letzter Monat | stündlich |
thisyear | Dieses Jahr | alle 30 Minuten |
lastyear | Letztes Jahr | stündlich |
Für weiter zurückliegende Zeiträume wird die Schreibweise mit Versatz verwendet: day[N], week[N], month[N] und year[N]. N ist 0 oder eine negative ganze Zahl:
day[0]bezeichnet den heutigen Kalendertag,day[-2]den Kalendertag vor zwei Tagen.month[-1]bezeichnet den letzten Monat,month[-3]den Monat vor drei Monaten.- Ist
Ngleich 0, wird der Wert wie ein laufender Zeitraum aktualisiert, istNnegativ, wie ein abgeschlossener Zeitraum.
Die Zeiträume werden nach der Zeitzone des Browsers, in dem die Seite geöffnet ist, am Kalender ausgerichtet; today beginnt zum Beispiel um lokale Mitternacht.
Aggregation
| Wert | Bedeutung |
|---|---|
sum | Summe |
avg | Durchschnitt |
min | Minimum |
max | Maximum |
last | Letzter Wert |
Bei Verbrauchs-Snapshots (__cons) wird für den Gesamtverbrauch des Zeitraums sum verwendet.
Snapshot-Namensgenerator
Statt den Snapshot-Namen von Hand zu schreiben, können Sie den Snapshot-Namensgenerator im Bindungsbereich des Seiteneditors verwenden:
- Wählen Sie das Widget aus und öffnen Sie im rechten Bereich die Registerkarte für die Bindungen (siehe Seiteneditor).
- Klicken Sie auf die Schaltfläche Snapshot-Namensgenerator.
- Wählen Sie mit der Schaltfläche neben dem Feld Tag ein Tag mit Archivdatensätzen. Es muss ein echtes Tag (Kanal.Gerät.Tag) gewählt werden; System-Tags, Ausdrücke und Snapshot-Namen können nicht verwendet werden.
- Wählen Sie als Art Historie (__hist) oder Verbrauch (__cons).
- Wählen Sie den Zeitraum. Bei Tag (mit Versatz), Woche (mit Versatz), Monat (mit Versatz) oder Jahr (mit Versatz) erscheint das Feld Versatz (0 = aktuell, -1 = vorheriger).
- Wählen Sie die Aggregation. Standard ist bei Historie Durchschnitt, bei Verbrauch Summe.
- Prüfen Sie den Namen im Feld Vorschau und klicken Sie auf die Schaltfläche Einfügen.
Der Generator erzeugt die absolute Form mit dem vollständigen Namen des gewählten Tags (zum Beispiel MTCP01.Sayac01.__cons.today.sum.EA). Diese Form funktioniert unabhängig vom Tag-Präfix der Seite.
An ein Widget binden
Der Snapshot-Name wird in der Wertbindung des Widgets statt eines Tag-Namens eingetragen. Bei Widgets wie Wertanzeige, Messanzeige oder Text wird die Werteigenschaft (processValue) gebunden. Wird die Seite in der Vorschau oder Anzeige geöffnet, wird der Wert automatisch gefüllt.
- Der Wert bleibt leer, bis die erste Abfrage abgeschlossen ist, und wird danach je nach Zeitraum in der oben angegebenen Häufigkeit aktualisiert.
- Wird derselbe Snapshot in mehreren Widgets verwendet, wird der Server nur einmal abgefragt.
- Snapshots können auch in Ausdrücken verwendet werden. Der Snapshot-Name steht dabei in Anführungszeichen:
'__cons.month[-1].sum.EA' + '__cons.thismonth.sum.EA'
'MTCP01.Trafo1.__cons.today.sum.EA' + 'MTCP01.Trafo2.__cons.today.sum.EA'Tag-Name und Seitenpräfix
Ist für die Seite ein Tag-Präfix festgelegt (etwa wenn dieselbe Seite für verschiedene Geräte geöffnet wird), wird das Tag im Snapshot-Namen anhand dieses Präfixes aufgelöst. Der Snapshot-Name kann in vier Formen geschrieben werden:
| Schreibweise | Tag-Präfix | Gelesenes Tag | Wann |
|---|---|---|---|
__cons.thismonth.sum.EA | MTCP01.Trafo1. | MTCP01.Trafo1.EA | Wenn das Präfix mit einem Punkt endet |
.__cons.thismonth.sum.EA | MTCP01.Trafo1 | MTCP01.Trafo1.EA | Wenn das Präfix ohne Punkt endet; der führende Punkt wird als Trennzeichen eingefügt |
__cons.thismonth.sum._EA | MTCP01.Trafo1.T | MTCP01.Trafo1.T_EA | Wenn der Tag-Name die Fortsetzung des Präfixes ist; dazwischen wird kein Punkt eingefügt |
MTCP02.Trafo2.__cons.month[-1].sum.EA | beliebig | MTCP02.Trafo2.EA | Für ein bestimmtes Tag (absolute Form); das Präfix wird nicht vorangestellt |
Hat die Seite kein Tag-Präfix, wird der Tag-Name in der ersten Form unverändert verwendet.
Die Vorlagenseite Enerji Analizörü (Energieanalysator) des Beispielprojekts verwendet die zweite Form: Wird die Seite mit dem Präfix Internal.Trafo1_EA geöffnet, liest die Bindung .__cons.today.sum.KWH den Verbrauch aus dem Log des Tags Internal.Trafo1_EA.KWH (siehe Das Beispielprojekt ansehen).
@NOP:: nicht verwenden
Schreiben Sie kein @NOP:: vor Snapshot-Namen. Auf Seiten mit Tag-Präfix kommt in diesem Fall nie ein Wert an; im Bindungsbereich wird außerdem eine Warnung angezeigt. Für einen vom Präfix unabhängigen Snapshot verwenden Sie die absolute Form (Kanal.Gerät.__cons...).
Anzeigen für fehlende Daten und unvollständige Zeiträume
Verbrauchswerte melden auch, ob die Daten des Zeitraums vollständig sind. Für jeden Zeitraum werden zwei Zustände berechnet:
| Zustand | Symbol | Wann |
|---|---|---|
| Datenlücke | Warnsymbol | Im Zeitraum fehlen Archivdatensätze; der Verbrauch kann zu niedrig erscheinen. |
| Unvollständiger Zeitraum | Uhrsymbol | Der Zeitraum ist noch nicht abgeschlossen (heute, dieser Monat), oder der gewählte Zeitbereich deckt nur einen Teil des Zeitraums ab. |
Wenn Sie mit der Maus auf das Symbol zeigen, erscheint eine Erläuterung: Datenlücke in diesem Zeitraum; Verbrauch kann zu niedrig sein, Zeitraum noch nicht abgeschlossen; Wert ist vorläufig und, wenn die Datensätze nicht den ganzen Zeitraum abdecken, Datenabdeckung: … %.
Wie eine Datenlücke ermittelt wird
Eine Datenlücke kann nur bei Log-Definitionen mit dem Log-Typ Zyklisch ermittelt werden, also bei Logs, die in festen Abständen (Intervall) speichern. Bei einem solchen Log wird der Zeitraum in folgenden Fällen als Datenlücke markiert:
- wenn es im Zeitraum keinen Datensatz gibt,
- wenn am Anfang oder Ende des Zeitraums länger als das Dreifache des Log-Intervalls (mindestens 5 Minuten) kein Datensatz vorliegt,
- wenn die Anzahl der Datensätze im Zeitraum unter 90 % der nach dem Log-Intervall erwarteten Anzahl liegt.
Bei Log-Typen, die bei Wertänderungen oder über einen Trigger speichern (Bei Änderung, Bei Trigger-Änderung, Zyklisch bei aktivem Trigger usw.), ist es normal, dass bei konstantem Wert keine Datensätze entstehen; bei diesen Logs wird anhand der Anzahl der Datensätze keine Datenlücke markiert.
Unabhängig vom Log-Typ wird bei Logs mit dem Verbrauchswerttyp Kumulativ auch ein Zeitraum ohne Basiswert vor dem Zeitraum als Datenlücke markiert: der erste Zeitraum eines neuen Zählers oder der Zeitraum eines Zählers, der länger als 31 Tage keinen Datensatz geschrieben hat. Die Berechnungsregel finden Sie auf der Seite Verbrauch; Snapshots, Widgets und die Bildschirme Verbrauch und Pivotauswertung verwenden dieselbe Regel.
In KPI-Widgets: Datenabdeckungsanzeige
Die folgenden Widgets können, wenn sie an einen __cons-Snapshot gebunden sind, neben dem Wert ein Symbol anzeigen: Wertanzeige, Messanzeige, Lineare Anzeige, Kreisfortschritt, Text und Absatz.
Wann die Symbole angezeigt werden, wählen Sie mit der Einstellung Datenabdeckungsanzeige (coverageIndicator) des Widgets:
| Option | Wert | Verhalten |
|---|---|---|
| Nur Datenlücken | gap | Standard. Bei einer Datenlücke im Zeitraum wird das Warnsymbol angezeigt. |
| Lücken und unvollständige Zeiträume | all | Zusätzlich zur Datenlücke wird für noch nicht abgeschlossene Zeiträume das Uhrsymbol angezeigt. |
| Aus | none | Es wird kein Symbol angezeigt. |
- Die Einstellung wirkt nur bei Bindungen an
__cons-Snapshots; bei__hist-Snapshots und normalen Tags wird kein Symbol angezeigt. - Im Editor sind die Symbole nicht sichtbar; sie erscheinen, wenn die Seite in der Vorschau oder Anzeige geöffnet wird.
In Diagrammen und Tabellen
Diagramm, Kreisdiagramm, Datentabelle und der Bildschirm Archiv > Pivotauswertung verwenden die Anzeigen bei Verbrauchsdaten automatisch; dafür gibt es keine eigene Einstellung:
- Hat einer der angezeigten Zeiträume eine Datenlücke, erscheint mit dem Warnsymbol der Hinweis Einige Zeiträume haben Datenlücken; der Verbrauch kann zu niedrig sein.
- Ist der letzte Zeitraum noch nicht abgeschlossen, erscheint mit dem Uhrsymbol der Hinweis Der letzte Zeitraum ist noch nicht abgeschlossen; seine Werte sind vorläufig.
- Im Diagramm werden die Punkte von Zeiträumen mit Datenlücke mit orangefarbenem Rand und die Punkte nicht abgeschlossener Zeiträume halbtransparent gezeichnet.
Verbrauchsberichte
Außerhalb der Seiten-Widgets können Verbrauchswerte auch auf diesen Bildschirmen ausgewertet werden:
- Archiv > Verbrauch: Zeigt den Verbrauch der gewählten Tags für einen Zeitbereich als Diagramm und Tabelle.
- Archiv > Pivotauswertung: Zeigt den Verbrauch nach Zeiträumen und Tags als Pivot-Tabelle; auch hier werden Datenlücken und unvollständige Zeiträume angezeigt.
Die gemeinsame Bedienung der Berichtsbildschirme beschreibt die Seite Berichte.
Häufige Fehler
| Symptom | Ursache und Lösung |
|---|---|
| Es kommt gar kein Wert | Das Tag hat keine Log-Definition, oder der Tag-Name wird nicht korrekt mit dem Tag-Präfix der Seite zusammengesetzt. Erzeugen Sie die absolute Form mit dem Snapshot-Namensgenerator. |
| Auf einer Seite mit Tag-Präfix kommt kein Wert | Der Snapshot-Name beginnt mit @NOP::. Entfernen Sie @NOP:: oder verwenden Sie die absolute Form. |
| Der Energiewert ist viel zu groß | Für einen Zähler wurde __hist verwendet; der Zählerstand selbst wird aufsummiert. Verwenden Sie für Zähler __cons. |
| Ein Zeitraum mit Versatz wird nicht akzeptiert | N wurde positiv geschrieben. Gültig sind nur 0 oder negative Werte (month[-1]). |
| Der Wert wird spät aktualisiert | Die Werte werden je nach Zeitraum aktualisiert, thismonth zum Beispiel etwa alle 10 Minuten. Dieses Verhalten kann nicht geändert werden. |