Einrichtung der Status & Alarm Seite
Die Status & Alarme‑Seite bietet eine zentrale Übersicht über den aktuellen Betriebszustand ausgewählter gebäudetechnischer Anlagen. Damit Störungen, Warnungen und Betriebszustände zuverlässig erkannt und visuell dargestellt werden können, müssen zunächst System‑Komponenten angelegt, relevante Datenpunkte definiert und die gewünschten Meldungen korrekt zugeordnet werden. Nach der Einrichtung zeigt die Seite automatisch eine zusammengefasste, farblich codierte Bewertung des Anlagenstatus an.
Abbildung 1: Übersicht aller konfigurierten Status und Alarme
Eine Anlage wird standardmäßig als grün dargestellt, während Warnungen gelb und Störungen rot erscheinen. Um diese Signalfarben eindeutig und automatisiert aus Messwerten abzuleiten, kommen Virtuelle Datenpunkte (VDP) zum Einsatz.
Statuscodes und VDP-Erstellung
Die Signalfarbe eines Status auf der Status & Alarme‑Seite basiert auf fest definierten numerischen Werten, die sich an gängigen API‑Statuscodes orientieren. Ein virtueller Datenpunkt (VDP) verarbeitet die Messdaten eines oder mehrerer Eingangspins und übersetzt sie in einen einheitlichen Statuswert, der anschließend auf der Statusseite als entsprechende Farbe dargestellt wird. Die folgende Tabelle zeigt, welcher VDP‑Wert welcher Farbe und welchem Status entspricht:
VDP-Wert | Interpretation | Farbe |
|---|---|---|
100 | Normalbetrieb | Grün |
301 | Fehlermeldung mit niedriger Priorität | Gelb |
300 | Fehlermeldung mit hoher Priorität | Rot |
0 | Keine Daten Vorhanden oder Fehlerhafte Erstellung | Grau |
Was ist ein VDP?
Ein Virtueller Datenpunkt erzeugt aus vorhandenen Messwerten neue Informationen, die nicht direkt gemessen werden können. Beispiele hierfür sind:
• mehrere Sensorwerte zusammenfassen
• Einheiten umrechnen
• Schwellwerte definieren (z. B. grün/gelb/rot)
• Alarmzustände logisch verknüpfen
Erstellung eines VDP
VDPs können ausschließlich über die aedifion‑API erstellt werden. Wichtig: Es ist zu beachten, dass es ein Limit von 20 Eingangspins pro VDP gibt. Sollen mehr als 20 Pins in einem VDP zusammengefasst werden, müssen zunächst ein oder mehrere Sub-VDPs erstellt werden. Diese Sub-VDPs können anschließend in einem übergeordneten Aggregations-VDP zusammengefasst werden (für die Aggregation siehe Abschnitt "Mehrere binäre Alarme aggregieren"). Generell wird empfohlen, bei großen Mengen an Eingangspins mit Sub-VDPs zu arbeiten, da sich so mögliche Fehler einfacher identifizieren und lokalisieren lassen. Eine umfassende technische Beschreibung zur VDP Erstellung sowie den verwendeten Formeln finden Sie in der offiziellen (englischsprachigen) Dokumentation.
Im Folgenden werden die notwendigen Schritte und Einstellungen beschrieben, um einen VDP speziell für die Verwendung auf der Status & Alarme-Seite zu erstellen. Die Erstellung erfolgt über folgenden API-Endpunkt:
POST v2/project/{project_id}/virtual_datapoint
Benötigte Parameter:
Parameter | Datentyp | Beschreibung |
|---|---|---|
project_id | integer | Numerische Projekt-ID |
dataPointID | string | Name des VDP (z. B. RLT_alarme-VDP) |
type | string | Ein Dropdown-Menü mit auswählbaren typen. Hier immer „formula“ auswählen |
config | json | VDP‑Konfiguration (Formel + Pins) |
description | string | Kurze Beschreibung |
Tipp: für die config kopieren Sie eine der Vorlagen am Ende und bearbeiten Sie diese in einem JSON‑Editor, um Fehler zu vermeiden.
Was muss in den Vorlagen angepasst werden?
In jeder Vorlage müssen Sie ausschließlich diese Stellen ersetzen:
- Formula → Die Berechnungslogik, abhängig vom Einsatzfall
- dataPointID → Der Name des echten Eingangsdatenpunkts
Weitere Parameter in der Vorlage wie aggregate, data_range oder trigger können unverändert übernommen werden. Informationen zu deren Anpassung finden Sie in der technischen Dokumentation – für die hier beschriebenen Anwendungsfälle sind Änderungen jedoch nicht erforderlich.
Formelauswahl anhand typischer Anwendungsfälle
Eine ausführliche Erklärung zur Erstellung von Berechnungsformeln finden Sie in der Dokumentation im Abschnitt „Operators & Expressions“.
Im Folgenden geht es jedoch ausschließlich darum, wie Sie konkrete Berechnungsvorschriften für die Status & Alarme‑Seite erstellen. Dabei ist wichtig zu verstehen, dass je nach Art des Eingangsdatenpunkts unterschiedliche Formeln benötigt werden.
Grundsätzlich lassen sich drei typische Fälle unterscheiden:
- Binäre Alarmwerte (0 = OK, 1 = Alarm oder andersherum)
- Aggregierte Alarme, wenn mehrere binäre Datenpunkte zu einem Sammelstatus zusammengeführt werden
- Nicht‑binäre Messwerte mit definierten Schwellwerten (z. B. Temperatur, CO₂, Druck)
Binäre Alarmwerte
Viele Anlagen liefern binäre Signale, beispielsweise 0 = Normalbetrieb und 1 = Alarm. Um diese Informationen in einen Statuswert zu übersetzen, der anschließend als Farbe auf der Status & Alarme‑Seite dargestellt werden kann, wird eine einfache Formel verwendet:
r = 100.0; r = if(P1 == 1, 300.0, r);
Bzw. umgedreht für den fall das 0= Alarm und 1=Normalbetrieb:
r = 100.0; r = if(P1 == 0, 300.0, r);
Interpretation:
Diese Formel definiert einen Standardwert von 100 (grün) und ändert ihn auf 300 (rot), sobald am Eingangspin (P1) ein Alarm anliegt.
Hinweis:
Bei reinen binären Alarmwerten sind nur die Farben grün und rot möglich, da ein Zwischenschritt wie „gelb“ technisch nicht vorhanden ist.
Mehrere binäre Alarme aggregieren
Wenn mehrere Sensoren zu einem gemeinsamen Alarmstatus zusammengeführt werden sollen, kann ein weiterer separater Aggregations‑VDP erstellt werden,
der mehrere Eingangspins logisch zusammenführt. in diesem Fall muss beachtet werden das die Bedeutung der Alarmmeldung immer gleich ist.
Fall A: Alarmwert = 1 bei allen Eingängen
Wenn alle zu aggregierenden Datenpunkte nach dem Schema 1 = Alarm arbeiten, kann die Funktion max() verwendet werden:
max(P1, P2, P3);
Interpretation:
Sobald ein Sensor den Wert 1 meldet, ist der Aggregationswert ebenfalls 1 → die Anlage befindet sich im Alarmzustand.
Fall B: Alarmwert = 0 bei allen Eingängen
Einige Signale arbeiten nach dem umgekehrten Prinzip:
0 = Alarm, 1 = OK
(z. B. manche Störmeldungen von Brandmeldern, Pumpen oder Ventilen). In diesem Fall wird die min()‑Funktion eingesetzt und die Formel etwas ergänzt:
a = min(P1, P2, P3); r = if(a == 0, 1, 0); r;
Interpretation:
• Wenn mindestens ein Wert 0 ist → Aggregat = 1 (Alarm)
• Wenn alle Werte 1 sind → Aggregat = 0 (kein Alarm)
So entsteht für beide Fälle ein einheitlicher binärer Aggregations-VDP der 1 = Alarmzustand und 0 = ok zurück gibt. Diesen Aggregations‑VDP verwenden Sie anschließend als P1 im eigentlichen Status‑VDP.
Schwellwerte für nicht‑binäre Datenpunkte
Manche Messgrößen weisen nicht nur „Alarm/kein Alarm“, sondern kontinuierliche Wertebereiche auf. Typische Beispiele sind CO₂‑Konzentration, Temperatur, Druck oder Leistung.
In solchen Fällen kann das dreistufige Ampelsystem genutzt werden, das Grenzwerte definiert und daraus Statuscodes erzeugt.
Beispiel Formel für eine CO₂‑Konzentration wäre
r = if(P1 >= 1500, 300, if(P1 >= 550, 301, 100)); r;
Interpretation:
Ist der Wert vom Datenpunkt P1:
• ≥ 1500 ppm → 300 (rot, kritischer Bereich)
• ≥ 550 ppm → 301 (gelb, Warnbereich)
• darunter → 100 (grün, Normalbetrieb)
Aktivierung eines VDP
Nach dem Erstellen muss der VDP manuell gestartet werden, damit er automatisch und kontinuierlich berechnet wird. Der Start erfolgt über den folgenden POST Endpunkt:
POST /v2/project/{project_id}/virtual_datapoint/run
Benötigte Parameter:
Parameter | Datentyp | Beschreibung |
|---|---|---|
project_id | integer | Numerische Projekt-ID |
dataPointID | integer | ID des VDP der gestartet werden soll |
run | boolean | true = VDP startet, false = VDP stoppt |
Um einen VDP zu stoppen wird mit dem selben Endpunkt der run Parameter einfach auf false gesetzt.
Status auf der Seite „Status & Alarme“ erstellen
Nachdem der Virtuelle Datenpunkt (VDP) eingerichtet und gestartet wurde, kann er auf der Status & Alarme‑Seite als Anlagenstatus verwendet werden. Dazu muss zuerst eine System‑Komponente erstellt und mit dem VDP verknüpft werden.
Schritt 1: System‑Komponente anlegen
- Öffnen Sie in der linken Navigationsleiste den Bereich
Optimierung → Komponenten. - Klicken Sie oben links auf Neu (siehe Abbildung 2).
- Wählen Sie im Öffnenden Fenster die Kachel System.
- Vergeben Sie einen passenden Namen für die neue Komponente, schließen sie das Fenster und laden sie die Seite neu.
- Die Komponente erscheint nun als Kachel auf der Seite Status & Alarme – zunächst ohne Icon und mit grauer Signalfarbe.
Abbildung 2: Anlegen einer neuen Komponente
Schritt 2: VDP als Betriebsstatus zuordnen
- Öffnen Sie erneut Optimierung → Komponenten.
- Suchen Sie in der Übersicht die zuvor angelegte System‑Komponente.
- Öffnen Sie das Drei‑Punkte‑Menü der Komponente.
- Wählen Sie Datenpunkte bearbeiten (Abbildung 3).
- Es öffnet sich eine Ansicht mit:
- einer Datenpunktliste und
- einem Feld „Betriebsstatus“ für die Komponente.
- Suchen Sie in der Datenpunktliste den zuvor erstellten VDP.
- Ziehen Sie den VDP per Drag & Drop in das Feld Betriebsstatus.
- Schließen Sie das Fenster unten rechts.
Abbildung 3: Datenpunkte bearbeiten über das Menü der Komponente
Weitere Informationen über das Mappen von Datenpunkten finden Sie über das Info‑Symbol (i) im Helpcenter unten rechts oder in der Anleitung „Komponente erstellen und mappen“.
Schritt 3: Icon für die Komponente hinzufügen
- Öffnen Sie erneut das Drei‑Punkte‑Menü der System‑Komponente.
- Wählen Sie Eigenschaften bearbeiten.
- Wählen Sie ein passendes Icon aus und tragen sie diesen Namen in das Feld ein.
Typische Icons für RLT‑Anlagen, Pumpen, Wärmeerzeuger etc. finden Sie in der Tabelle am Ende.
VDP Config Vorlagen
Im Folgenden finden Sie drei verschiedene Vorlagen für VDP‑Konfigurationen. Kopieren Sie die gewünschte Vorlage und bearbeiten Sie sie anschließend in einem JSON-editor.
Alle Vorlagen erzeugen einen VDP, der automatisch einen neuen Wert berechnet, sobald sich der Wert eines Eingangspins ändert. Ersetzen Sie in jeder Vorlage alle Beispielplatzhalter inclusive der spitzen Klammern (<>). Dies sind:
• die Formel, passend zum oben beschriebenen Anwendungsfall
• die dataPointID des Eingangsdatenpunkts
{
"parameters": {
"formula": "<r = 100.0; r = if(P1 == 1, 300.0, r);>"
},
"pins": {
"P1": {
"aggregate": "max",
"dataPointID": "<RLT_alarm_01>",
"data_range": {
"count": 1
},
"trigger": "every_value"
}
}
}Vorlage einer VDP config für einem binären Alarm-Datenpunkt.
{
"parameters": {
"formula": "<a = min(P1, P2, P3); r = if(a == 0, 1, 0); r;>"
},
"pins": {
"P1": {
"aggregate": "max",
"dataPointID": "<Alarm_1>",
"data_range": {
"count": 1
},
"trigger": "every_value"
},
"P2": {
"aggregate": "max",
"dataPointID": "<Alarm_2>",
"data_range": {
"count": 1
},
"trigger": "every_value"
},
"P3": {
"aggregate": "max",
"dataPointID": "<Alarm_3>",
"data_range": {
"count": 1
},
"trigger": "every_value"
}
}
}
Vorlage einer VDP config für die aggregation dreier Alarm-Datenpunktes in einem VDP
{
"parameters": {
"formula": "<r = if(P1 >= 1500, 300, if(P1 >= 550, 301, 100)); r;>"
},
"pins": {
"P1": {
"aggregate": "max",
"dataPointID": "<CO2_measurement>",
"data_range": {
"count": 1
},
"trigger": "every_value"
}
}
}Vorlage einer VDP config für einen Status mit schwellenwerten.
Tabelle mit typischen Icons
Systemkomponennte | Icon |
|---|---|
RLT | fal fa-fan |
Energieböden | fal fa-heat |
Heiz-/Kühlkreis | fal fa-heat |
Kältemaschine | fal fa-temperature-frigid |
Kühlung/Kühlsystem | fal fa-temperature-frigid |
Brandmeldeanlage | fal fa-fire |
Stromversorgung | fal fa-plug |
Lüftung | fal fa-fan |
Einbruch | far fa-mask |
Server | far fa-server |
Wifi | far fa-wifi |
Batterie | far fa-battery-slash |
Behindertennotruf | far fa-wheelchair |
Konferenz | far fa-users |
Aufzüge | fal fa-elevator |
Dieselpumpe | fal fa-gas-pump |
Wasserenthärtung | fal fa-water |
Beleuchtung | fal fa-lightbulb |
Gaswarnanlage | fal fa-sensor-alert |
Hauptüren | fal fa-door-closed |