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:

  1. Formula → Die Berechnungslogik, abhängig vom Einsatzfall
  2. 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:

  1. Binäre Alarmwerte (0 = OK, 1 = Alarm oder andersherum)
  2. Aggregierte Alarme, wenn mehrere binäre Datenpunkte zu einem Sammelstatus zusammengeführt werden
  3. 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

  1. Öffnen Sie in der linken Navigationsleiste den Bereich
    Optimierung → Komponenten.
  2. Klicken Sie oben links auf Neu (siehe Abbildung 2).
  3. Wählen Sie im Öffnenden Fenster die Kachel System.
  4. Vergeben Sie einen passenden Namen für die neue Komponente, schließen sie das Fenster und laden sie die Seite neu.
  5. 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

  1. Öffnen Sie erneut Optimierung → Komponenten.
  2. Suchen Sie in der Übersicht die zuvor angelegte System‑Komponente.
  3. Öffnen Sie das Drei‑Punkte‑Menü der Komponente.
  4. Wählen Sie Datenpunkte bearbeiten (Abbildung 3).
  5. Es öffnet sich eine Ansicht mit:
    • einer Datenpunktliste und
    • einem Feld „Betriebsstatus“ für die Komponente.
  6. Suchen Sie in der Datenpunktliste den zuvor erstellten VDP.
  7. Ziehen Sie den VDP per Drag & Drop in das Feld Betriebsstatus.
  8. 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

  1. Öffnen Sie erneut das Drei‑Punkte‑Menü der System‑Komponente.
  2. Wählen Sie Eigenschaften bearbeiten.
  3. 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