Alarm-Translatoren
Ein Alarm-Translator überwacht ein Feld, das bereits aus einem Gerät decodiert wurde, und löst einen
true/false-Alarm aus, wenn der Wert eine von Ihnen gesetzte Schwelle überschreitet. Yggio bringt
eine Reihe fertiger Translatoren für gängige Größen mit, dazu einen generischen, der mit jedem
numerischen Feld arbeitet.
Alarm-Translatoren sind verkettete Translatoren: Sie laufen auf dem Hardware-Translator des Geräts auf und lesen Felder, die dieser bereits erzeugt hat, keine rohen Payloads. Fügen Sie einen zu einem Gerät hinzu, und die Alarmfelder erscheinen neben den normalen Daten des Geräts, wo Ansichten, Dashboards und die Regel-Engine sie nutzen können.
So wird Anomalieüberwachung in Yggio üblicherweise umgesetzt. Ein Alarm-Translator erfasst das ungewöhnliche Verhalten, das sich als Schwelle, Band, Änderungsrate oder Zeitfenster beschreiben lässt, was die meisten Fälle abdeckt und keine Trainingsphase braucht. Lässt sich das normale Muster so nicht ausdrücken, kann die KI-Plattform für Modellbereitstellung es stattdessen aus der eigenen Historie des Sensors lernen.
Warum einen Alarm-Translator einsetzen
Eine Schwelle ließe sich direkt in eine Regel schreiben. Sie stattdessen in einen Translator zu legen ist das, was die Regeln einfach hält.
Der Translator erledigt das Erkennen, und er lässt sich genau auf das Verhalten des überwachten
Szenarios zuschneiden: eine einfache Grenze, ein Warn- und ein kritisches Band, eine Änderungsrate,
eine Bedingung, die über mehrere Meldungen hinweg gelten muss, oder ein Algorithmus wie das
Schimmelrisiko. Wie fortgeschritten diese Logik auch ist, das Ergebnis hat immer dieselbe Form, einen
Boolean. Die Regel lautet dann nur noch erkennen, dann handeln: Das Alarmfeld wird true, also eine
E-Mail oder SMS senden oder einen Aktor setzen. Eine einfache Regel bedient einen ganzen Bestand,
unabhängig davon, worauf jedes Gerät tatsächlich achtet.
Zeit gehört dazu. Ein Translator kann nach Tageszeit filtern, sodass ein Alarm nur ausgelöst wird, wenn er wirklich zählt: ein Klassenraum, den es während der Schulzeit zu lüften lohnt, Ruhezeiten zwischen 22:00 und 06:00, ein nachts leeres Gebäude, das in Ruhe gelassen wird. Der Translator löst einen eigenen Alarm innerhalb des Fensters aus, der sich beim Schließen des Fensters selbst zurücknimmt, sodass eine Regel die Tagschicht und eine andere die Nachtschicht benachrichtigen kann und keine der Regeln etwas über die Uhrzeit wissen muss.
Wie Schwellen gesetzt werden
Schwellen sind Translator-Parameter, gesetzt am Translator, wenn Sie ihn am Gerät hinzufügen oder bearbeiten. Die meisten Parameter sind optional und haben einen sinnvollen Standardwert, sodass ein Translator meist in dem Moment funktioniert, in dem er hinzugefügt wird, und sich danach feinjustieren lässt. Manche sind Pflicht: Bleibt einer davon leer, schlägt die Übersetzung zur Laufzeit fehl, statt auf einen Standardwert zurückzufallen. Die Beschreibung des Translators in der Oberfläche listet jeden Parameter und seinen Standardwert, sofern er einen hat.
Die meisten Alarm-Translatoren akzeptieren den Wert weiterhin auch aus einem gleichnamigen
contextMap-Eintrag, sodass ältere Konfigurationen weiterlaufen. Eine Migration auf
Translator-Parameter wird empfohlen: Die Parameterliste nennt, wofür jeder Wert da ist und wie sein
Standardwert lautet, was die Context Map nicht tut.
Zwei Verhaltensweisen gelten für die gesamte Familie:
- Hysterese. Jede Schwelle hat ein Hystereseband, sodass ein Wert direkt an einer Grenze den Alarm nicht bei jeder Meldung umschaltet. Der Alarm löst an der Schwelle aus und geht erst zurück, wenn sich der Wert um den Hysteresebetrag darüber hinaus zurückbewegt hat.
- Logeinträge. Die meisten Alarm-Translatoren geben einen fertigen
log-Eintrag aus, wenn ein Alarm erstmals auslöst, und einen Eintrag über die Rücknahme, wenn er sich erholt, sodass in einer Alarmansicht nichts stehen bleibt. Die Meldung enthält den auslösenden Wert. Eine Regel kann ihn aufgreifen, um eine E-Mail zu senden oder ins Kontolog zu schreiben.
Fehlt das Eingangsfeld oder sind die Schwellen widersprüchlich, schreibt der Translator statt eines
Alarms ein errorMessage. Es erscheint im Datenbereich des Geräts unter dem Filter All.
Verfügbare Alarm-Translatoren
Temperatur und Luftfeuchte
| Translator | Alarmiert bei | Alarmfelder |
|---|---|---|
set-alarm-temperature | Lufttemperatur über einer oberen oder unter einer unteren Grenze | temperatureHighAlarm, temperatureLowAlarm |
set-alarm-temperature-dual-high-low | Temperatur, mit zwei Bändern: einem weiten Warnband und einem engeren kritischen Band | temperatureHighAlarm, temperatureLowAlarm, temperature2HighAlarm, temperature2LowAlarm |
set-alarm-temperature-from-average-temperature | Wie set-alarm-temperature, liest aber averageTemperature | averageTemperatureHighAlarm, averageTemperatureLowAlarm |
set-alarm-temperature-f-dual-high-low | Zweiband-Temperatur für Standorte, die in Fahrenheit melden, sodass Schwellen in °F gesetzt werden | temperatureFHighAlarm, temperatureFLowAlarm, temperatureF2HighAlarm, temperatureF2LowAlarm |
set-alarm-external-temperature-dual-high-low | Zweiband-Überwachung eines externen Fühlers, etwa in Kühlschrank, Gefriergerät oder Prozess | externalTemperatureHighAlarm, externalTemperatureLowAlarm, externalTemperature2HighAlarm, externalTemperature2LowAlarm |
set-alarm-surface-temperature-dual-high-low | Zweiband-Oberflächen- oder Kontakttemperatur: ein Rohr, ein Lager, eine Fahrbahn | surfaceTemperatureHighAlarm, surfaceTemperatureLowAlarm, surfaceTemperature2HighAlarm, surfaceTemperature2LowAlarm |
set-alarm-water-temperature-dual-high-low | Zweiband-Wassertemperatur: Legionellenrisiko bei Warmwasser oder ein Komfortband für Pool, Aquarium oder Prozesstank | waterTemperatureHighAlarm, waterTemperatureLowAlarm, waterTemperature2HighAlarm, waterTemperature2LowAlarm |
set-alarm-soil-temperature-dual-high-low | Zweiband-Bodentemperatur für Land- und Gartenbau: eine Frostwarnung plus ein kritisches Frostband | soilTemperatureHighAlarm, soilTemperatureLowAlarm, soilTemperature2HighAlarm, soilTemperature2LowAlarm |
set-alarm-relative-humidity | Relative Feuchte über einer oberen oder unter einer unteren Grenze | relativeHumidityHighAlarm, relativeHumidityLowAlarm |
set-alarm-mould-risk-from-temperature-and-humidity | Risiko für Schimmelwachstum, aus Temperatur und Feuchte über die Zeit kombiniert. Siehe Schimmelrisiko-Detektor | momentaryRisk, persistentMouldRiskAlarm, momentaryMouldRiskStartTime, momentaryMouldRiskEndTime |
Luftqualität und Umwelt
| Translator | Alarmiert bei | Alarmfelder |
|---|---|---|
set-alarm-co2 | CO2, das sich in einem genutzten Raum aufbaut, damit gelüftet werden kann, bevor Menschen müde werden. Zwei aufsteigende Stufen: Warnung und kritisch | co2HighAlarm, co2HighAlarm2 |
set-alarm-co | Kohlenmonoxid in Garage, Heizraum oder Wohnung. Geruchlos und weit akuter giftig als CO2 | coHighAlarm, coHighAlarm2 |
set-alarm-air-quality | Verschlechterung des Innenraumluftqualitätsindex (IAQ) in Büro, Klassenraum oder Besprechungsraum | iaqHighAlarm, iaqHighAlarm2 |
set-alarm-air-quality-during-time-window | Dasselbe, aber innerhalb und außerhalb der Nutzungszeiten getrennt signalisiert, sodass ein nachts leeres Gebäude keine Fehlalarme erzeugt | iaqHighAlarm, iaqHighAlarm2, iaqHighAlarmInWindow, iaqHighAlarm2InWindow |
set-alarm-particulate-matter | Feinstaubkonzentration in der Luft: Innenraumluft, Baustellen, Industrieprozesse, Rauch von Bränden. Vom IAQ-Index zu unterscheiden | particulateMatterHighAlarm, particulateMatterHighAlarm2 |
set-alarm-average-sound | Übermäßiger Lärm in einer Technikzentrale, Werkstatt oder Veranstaltungsstätte | soundHighAlarm, soundHighAlarm2 |
set-alarm-average-sound-during-time-window | Nächtliche Ruhezeiten, für Wohngebiete nahe einer Veranstaltungsstätte, Bar oder Baustelle | soundHighAlarm, soundHighAlarm2, soundHighAlarmInWindow, soundHighAlarm2InWindow |
set-alarm-soil-moisture | Boden zu trocken (Trockenstress) oder zu nass (Überbewässerung, Staunässe, Wurzelfäule) | soilMoistureHighAlarm, soilMoistureLowAlarm |
set-alarm-frost-precipitation | Reifbildung auf Straße, Brücke oder Gehweg, damit Streuen oder Flächenheizung starten kann, bevor sich Eis bildet. Liest das Urteil von calculate-frost-precipitation; nichts einzustellen | frostPrecipitationAlarm, frostPrecipitationAlarm2 |
Leistung und Energie
| Translator | Alarmiert bei | Alarmfelder |
|---|---|---|
set-alarm-power | Ungewöhnlich hohe Leistungsaufnahme: ein überlasteter Stromkreis oder eine Maschine, die mehr zieht als erwartet | powerHighAlarm, powerHighAlarm2 |
set-alarm-power-usage-low | Erkennung defekter Leuchtmittel in der Straßenbeleuchtung: Die Beleuchtung ist an, aber eine Leuchte zieht weniger als eine gesunde Last | powerLowAlarm, powerLowAlarm2 |
set-alarm-energy-consumption | Ein Mieter oder Standort, der sein Energiebudget für den Zeitraum überschreitet, anhand der Summe aus calculate-energy-consumption-per-time-period | energyConsumptionHighAlarm, energyConsumptionHighAlarm2 |
set-alarm-battery-from-battery-level-or-voltage | Eine zur Neige gehende Batterie, entweder aus dem gemeldeten Ladestand oder der Spannung, je nachdem, was der Sensor liefert | batteryAlarm |
Bewegung, Struktur und Füllstand
| Translator | Alarmiert bei | Alarmfelder |
|---|---|---|
set-alarm-vibration | Eine Pumpe, ein Motor oder Lüfter, der stärker vibriert als normal: ein frühes Zeichen für Unwucht, Verschleiß oder Lockerung vor dem Ausfall | vibrationHighAlarm, vibrationHighAlarm2 |
set-alarm-impact | Ein physischer Aufprall auf eine überwachte Struktur, etwa ein Gabelstapler, der ein Lagerregal trifft | impactAlarm, impactAlarm2 |
set-alarm-tilt | Ein geneigtes oder umgekipptes Objekt: verbogenes Regal, ein schiefer Mast, eine schräge Maschine oder Tonne. Passt natürlich zu set-alarm-impact | tiltHighAlarm, tiltHighAlarm2 |
set-alarm-level | Überlauf oder hoher Füllstand: ein Tank, Brunnen, Pumpensumpf oder Abfallbehälter, der sich der Füllung nähert | levelHighAlarm, levelHighAlarm2 |
set-alarm-distance | Ein zu großer Abstandswert: ein Objekt, das an seinem Platz fehlt, oder eine Oberfläche, die sich von einem Ultraschall- oder Radarsensor entfernt | distanceHighAlarm, distanceHighAlarm2 |
Generisch und Diagnose
| Translator | Alarmiert bei | Alarmfelder |
|---|---|---|
set-alarm-custom | Jedem numerischen Feld, das das Gerät ausgibt, von Ihnen gewählt. Bis zu drei Alarme: einer unten und zwei aufsteigend oben | customLowAlarm, customHighAlarm1, customHighAlarm2 |
set-alarm-custom-during-time-window | Wie set-alarm-custom, dazu ein zweites Signal je Schwelle für ein Zeitfenster, sodass Benachrichtigungsregeln Empfänger innerhalb und außerhalb der Dienstzeit getrennt ansprechen können | die drei oben, dazu customLowAlarmInWindow, customHighAlarm1InWindow, customHighAlarm2InWindow |
set-alarm-change-rate | Einem Messwert, der sich zu schnell ändert, etwa eine rasch steigende Temperatur, was auf einen Fehler oder einen außer Kontrolle geratenen Prozess hindeuten kann | changeRateHighAlarm, changeRateHighAlarm2 |
set-alarm-from-consecutive-reports | Entprellen einer verrauschten Bedingung: Der Alarm löst erst aus, wenn dieselbe Bedingung über mehrere Meldungen hinweg gilt, was kurzzeitige Aussetzer herausfiltert | consecutiveReportAlarm, consecutiveReportCount |
set-alarm-frame-loss-rate | Der Paketverlustrate des Geräts, die über eine Schwelle steigt, was auf schlechte Funkabdeckung hindeutet | frameLossRateAlarm |
Parameternamen
Parameternamen folgen dem Alarmfeld, das sie steuern, sie sind also vorhersehbar, sobald Sie das
Muster kennen. Für eine Größe x:
| Parameter | Zweck |
|---|---|
xHighAlarmLevel | Obere Schwelle |
xLowAlarmLevel | Untere Schwelle, sofern der Translator eine hat |
xHighAlarm2Level | Zweite, meist strengere obere Schwelle |
xAlarmHysteresis | Hystereseband, auf jede Schwelle einzeln angewandt |
xField | Optional. Den Wert aus einem bestimmten Feldpfad statt über die automatische Erkennung lesen |
Jeder Translator bestimmt sein Eingangsfeld automatisch aus einer kurzen Liste wahrscheinlicher
Feldnamen, in den meisten Fällen kann xField also ungesetzt bleiben. Setzen Sie es, wenn ein Gerät
den Wert an einer ungewöhnlichen Stelle ablegt, zum Beispiel output.air_co2.
Die Translatoren mit Zeitfenster nehmen drei weitere Parameter: timeWindowStart, timeWindowEnd
und timeZone.
Einige Translatoren weichen vom Muster ab:
set-alarm-custom nimmt das Quellfeld ausdrücklich entgegen, da es nichts automatisch zu
erkennen gibt:
customSourceAlarmField: co2
customLowAlarmLevel: 333
customHighAlarm1Level: 400
customHighAlarm2Level: 550
customAlarmHysteresis: 1
set-alarm-temperature, als geradliniges Beispiel des Standardmusters:
temperatureHighAlarmLevel: 25
temperatureLowAlarmLevel: 17
temperatureAlarmHysteresis: 1
set-alarm-battery-from-battery-level-or-voltage hat je Eingangsgröße eine Schwelle und eine
Hysterese: batteryLevelAlarmThreshold, batteryLevelHysteresis, batteryVoltageAlarmThreshold,
batteryVoltageHysteresis.
set-alarm-power-usage-low ergänzt powerOnThreshold, die Aufnahme, ab der die Leuchte als
eingeschaltet gilt, damit eine schlicht ausgeschaltete Lampe nicht als defekt gemeldet wird.
set-alarm-from-consecutive-reports nimmt inputField, alarmValue und consecutiveReports.
set-alarm-frame-loss-rate verwendet frameLossRateAlarmLevel und
frameLossRateAlarmHysteresis.
set-alarm-frost-precipitation hat überhaupt keine Schwellen, nur das optionale
frostPrecipitationField.
Einen Alarm-Translator hinzufügen
- Gehen Sie zum Bereich Translators Ihres Geräts und fügen Sie den gewünschten Alarm-Translator hinzu.

-
Setzen Sie die Parameter am Translator. Die meisten sind optional und fallen auf einen Standardwert zurück, wenn sie leer bleiben, manche sind aber Pflicht. Die Parameterliste mit den jeweiligen Standardwerten, sofern vorhanden, steht in der Beschreibung des Translators in der Oberfläche.
-
Warten Sie, bis das Gerät seine nächste Meldung sendet. Die Alarmfelder erscheinen dann im Datenbereich des Geräts:

Stimmt an der Konfiguration etwas nicht, fehlt zum Beispiel das Quellfeld oder liegt eine untere
Schwelle über einer oberen, schreibt der Translator ein errorMessage, das erklärt, was falsch ist.
Es erscheint im Datenbereich unter dem Filter All.

Alarm-Translatoren auf viele Geräte gleichzeitig anwenden
Alarm-Translatoren lassen sich in einem Vorgang zu vielen Geräten hinzufügen oder dort aktualisieren:
- Klicken Sie in der Geräteliste auf Select many und wählen Sie die Geräte aus.
- Wählen Sie im Auswahlmenü Select action den Eintrag Edit translators.
- Klicken Sie auf + Add translator und wählen Sie den Alarm-Translator.
- Klicken Sie auf Confirm, um zu speichern.
Schimmelrisiko-Detektor
set-alarm-mould-risk-from-temperature-and-humidity setzt einen wissenschaftlich belegten
Algorithmus um, der das Risiko für Schimmelwachstum aus Umgebungstemperatur, relativer Feuchte und
einem Schimmelrisiko-Timer bewertet. Das Prinzip: Bleibt die Umgebung lange genug günstig für
Schimmelwachstum, ist das Risiko unmittelbar und der Alarm wird ausgelöst.

Sobald der Translator hinzugefügt ist, erscheinen nach der nächsten Meldung drei Felder im Datenbereich des Geräts:

momentaryRisk beginnt bei false und wird true, wenn die Kombination aus Temperatur und
relativer Feuchte über die berechnete Risikoschwelle steigt, zum Beispiel über 14 °C und 80 %
relative Feuchte. Es zeigt an, dass Schimmel entstehen könnte, wenn der Zustand anhält.
Beachten Sie, dass momentaryRisk auch unter 14 °C true sein kann, wenn die relative Feuchte
ungewöhnlich hoch ist, denn das ist für manche Schimmelarten immer noch eine gute Wachstumsumgebung.
momentaryMouldRiskStartTime wird gesetzt, wenn momentaryRisk von false auf true wechselt, und
momentaryMouldRiskEndTime, wenn es zurückwechselt. Bleibt das Risiko vier Stunden lang aus, ist der
Risikoaufbau unterbrochen und der Timer wird zurückgesetzt.
Ist momentaryRisk 18 Tage lang durchgehend true, erscheint ein viertes Feld,
persistentMouldRiskAlarm, mit dem Wert true:

Es geht auf false zurück, sobald momentaryRisk vier Stunden am Stück false war, und es müssen
erneut 18 Tage durchgehenden Risikos vergehen, bevor es wieder ausgelöst wird.
Alle vier Werte sind Parameter, der Algorithmus lässt sich also auf das Gebäude oder das Klima abstimmen:
| Parameter | Standard | Zweck |
|---|---|---|
temperatureThreshold | 14 °C | Ab dieser Temperatur gilt die feste Feuchteschwelle; darunter wird die wirksame Feuchteschwelle anteilig abgesenkt |
relativeHumidityThreshold | 80 % | Feuchte, oberhalb derer bei warmen Temperaturen momentanes Risiko besteht |
persistentRiskConfirmDays | 18 | Tage, die das momentane Risiko anhalten muss, bevor persistentMouldRiskAlarm ausgelöst wird |
persistentRiskClearHours | 4 | Stunden, die das Risiko ausbleiben muss, bevor der Alarm wieder zurückgenommen wird |
Die Alarme sehen
Wie Sie eine Ansicht bauen, die den aktuellen Alarmzustand über Ihre Geräte hinweg zeigt, steht unter Ansicht zur Alarmüberwachung.