Zum Hauptinhalt springen

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​

TranslatorAlarmiert beiAlarmfelder
set-alarm-temperatureLufttemperatur über einer oberen oder unter einer unteren GrenzetemperatureHighAlarm, temperatureLowAlarm
set-alarm-temperature-dual-high-lowTemperatur, mit zwei Bändern: einem weiten Warnband und einem engeren kritischen BandtemperatureHighAlarm, temperatureLowAlarm, temperature2HighAlarm, temperature2LowAlarm
set-alarm-temperature-from-average-temperatureWie set-alarm-temperature, liest aber averageTemperatureaverageTemperatureHighAlarm, averageTemperatureLowAlarm
set-alarm-temperature-f-dual-high-lowZweiband-Temperatur für Standorte, die in Fahrenheit melden, sodass Schwellen in °F gesetzt werdentemperatureFHighAlarm, temperatureFLowAlarm, temperatureF2HighAlarm, temperatureF2LowAlarm
set-alarm-external-temperature-dual-high-lowZweiband-Überwachung eines externen Fühlers, etwa in Kühlschrank, Gefriergerät oder ProzessexternalTemperatureHighAlarm, externalTemperatureLowAlarm, externalTemperature2HighAlarm, externalTemperature2LowAlarm
set-alarm-surface-temperature-dual-high-lowZweiband-Oberflächen- oder Kontakttemperatur: ein Rohr, ein Lager, eine FahrbahnsurfaceTemperatureHighAlarm, surfaceTemperatureLowAlarm, surfaceTemperature2HighAlarm, surfaceTemperature2LowAlarm
set-alarm-water-temperature-dual-high-lowZweiband-Wassertemperatur: Legionellenrisiko bei Warmwasser oder ein Komfortband für Pool, Aquarium oder ProzesstankwaterTemperatureHighAlarm, waterTemperatureLowAlarm, waterTemperature2HighAlarm, waterTemperature2LowAlarm
set-alarm-soil-temperature-dual-high-lowZweiband-Bodentemperatur für Land- und Gartenbau: eine Frostwarnung plus ein kritisches FrostbandsoilTemperatureHighAlarm, soilTemperatureLowAlarm, soilTemperature2HighAlarm, soilTemperature2LowAlarm
set-alarm-relative-humidityRelative Feuchte über einer oberen oder unter einer unteren GrenzerelativeHumidityHighAlarm, relativeHumidityLowAlarm
set-alarm-mould-risk-from-temperature-and-humidityRisiko für Schimmelwachstum, aus Temperatur und Feuchte über die Zeit kombiniert. Siehe Schimmelrisiko-DetektormomentaryRisk, persistentMouldRiskAlarm, momentaryMouldRiskStartTime, momentaryMouldRiskEndTime

Luftqualität und Umwelt​

TranslatorAlarmiert beiAlarmfelder
set-alarm-co2CO2, das sich in einem genutzten Raum aufbaut, damit gelüftet werden kann, bevor Menschen müde werden. Zwei aufsteigende Stufen: Warnung und kritischco2HighAlarm, co2HighAlarm2
set-alarm-coKohlenmonoxid in Garage, Heizraum oder Wohnung. Geruchlos und weit akuter giftig als CO2coHighAlarm, coHighAlarm2
set-alarm-air-qualityVerschlechterung des Innenraumluftqualitätsindex (IAQ) in Büro, Klassenraum oder BesprechungsraumiaqHighAlarm, iaqHighAlarm2
set-alarm-air-quality-during-time-windowDasselbe, aber innerhalb und außerhalb der Nutzungszeiten getrennt signalisiert, sodass ein nachts leeres Gebäude keine Fehlalarme erzeugtiaqHighAlarm, iaqHighAlarm2, iaqHighAlarmInWindow, iaqHighAlarm2InWindow
set-alarm-particulate-matterFeinstaubkonzentration in der Luft: Innenraumluft, Baustellen, Industrieprozesse, Rauch von Bränden. Vom IAQ-Index zu unterscheidenparticulateMatterHighAlarm, particulateMatterHighAlarm2
set-alarm-average-soundÜbermäßiger Lärm in einer Technikzentrale, Werkstatt oder VeranstaltungsstättesoundHighAlarm, soundHighAlarm2
set-alarm-average-sound-during-time-windowNächtliche Ruhezeiten, für Wohngebiete nahe einer Veranstaltungsstätte, Bar oder BaustellesoundHighAlarm, soundHighAlarm2, soundHighAlarmInWindow, soundHighAlarm2InWindow
set-alarm-soil-moistureBoden zu trocken (Trockenstress) oder zu nass (Überbewässerung, Staunässe, Wurzelfäule)soilMoistureHighAlarm, soilMoistureLowAlarm
set-alarm-frost-precipitationReifbildung 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 einzustellenfrostPrecipitationAlarm, frostPrecipitationAlarm2

Leistung und Energie​

TranslatorAlarmiert beiAlarmfelder
set-alarm-powerUngewöhnlich hohe Leistungsaufnahme: ein überlasteter Stromkreis oder eine Maschine, die mehr zieht als erwartetpowerHighAlarm, powerHighAlarm2
set-alarm-power-usage-lowErkennung defekter Leuchtmittel in der Straßenbeleuchtung: Die Beleuchtung ist an, aber eine Leuchte zieht weniger als eine gesunde LastpowerLowAlarm, powerLowAlarm2
set-alarm-energy-consumptionEin Mieter oder Standort, der sein Energiebudget für den Zeitraum überschreitet, anhand der Summe aus calculate-energy-consumption-per-time-periodenergyConsumptionHighAlarm, energyConsumptionHighAlarm2
set-alarm-battery-from-battery-level-or-voltageEine zur Neige gehende Batterie, entweder aus dem gemeldeten Ladestand oder der Spannung, je nachdem, was der Sensor liefertbatteryAlarm

Bewegung, Struktur und Füllstand​

TranslatorAlarmiert beiAlarmfelder
set-alarm-vibrationEine Pumpe, ein Motor oder Lüfter, der stärker vibriert als normal: ein frühes Zeichen für Unwucht, Verschleiß oder Lockerung vor dem AusfallvibrationHighAlarm, vibrationHighAlarm2
set-alarm-impactEin physischer Aufprall auf eine überwachte Struktur, etwa ein Gabelstapler, der ein Lagerregal trifftimpactAlarm, impactAlarm2
set-alarm-tiltEin geneigtes oder umgekipptes Objekt: verbogenes Regal, ein schiefer Mast, eine schräge Maschine oder Tonne. Passt natürlich zu set-alarm-impacttiltHighAlarm, tiltHighAlarm2
set-alarm-levelÜberlauf oder hoher Füllstand: ein Tank, Brunnen, Pumpensumpf oder Abfallbehälter, der sich der Füllung nähertlevelHighAlarm, levelHighAlarm2
set-alarm-distanceEin zu großer Abstandswert: ein Objekt, das an seinem Platz fehlt, oder eine Oberfläche, die sich von einem Ultraschall- oder Radarsensor entferntdistanceHighAlarm, distanceHighAlarm2

Generisch und Diagnose​

TranslatorAlarmiert beiAlarmfelder
set-alarm-customJedem numerischen Feld, das das Gerät ausgibt, von Ihnen gewählt. Bis zu drei Alarme: einer unten und zwei aufsteigend obencustomLowAlarm, customHighAlarm1, customHighAlarm2
set-alarm-custom-during-time-windowWie 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önnendie drei oben, dazu customLowAlarmInWindow, customHighAlarm1InWindow, customHighAlarm2InWindow
set-alarm-change-rateEinem Messwert, der sich zu schnell ändert, etwa eine rasch steigende Temperatur, was auf einen Fehler oder einen außer Kontrolle geratenen Prozess hindeuten kannchangeRateHighAlarm, changeRateHighAlarm2
set-alarm-from-consecutive-reportsEntprellen einer verrauschten Bedingung: Der Alarm löst erst aus, wenn dieselbe Bedingung über mehrere Meldungen hinweg gilt, was kurzzeitige Aussetzer herausfiltertconsecutiveReportAlarm, consecutiveReportCount
set-alarm-frame-loss-rateDer Paketverlustrate des Geräts, die über eine Schwelle steigt, was auf schlechte Funkabdeckung hindeutetframeLossRateAlarm

Parameternamen​

Parameternamen folgen dem Alarmfeld, das sie steuern, sie sind also vorhersehbar, sobald Sie das Muster kennen. Für eine Größe x:

ParameterZweck
xHighAlarmLevelObere Schwelle
xLowAlarmLevelUntere Schwelle, sofern der Translator eine hat
xHighAlarm2LevelZweite, meist strengere obere Schwelle
xAlarmHysteresisHystereseband, auf jede Schwelle einzeln angewandt
xFieldOptional. 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​

  1. Gehen Sie zum Bereich Translators Ihres Geräts und fügen Sie den gewünschten Alarm-Translator hinzu.

Translator

  1. 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.

  2. Warten Sie, bis das Gerät seine nächste Meldung sendet. Die Alarmfelder erscheinen dann im Datenbereich des Geräts:

Ergebnis

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.

Fehler

Alarm-Translatoren auf viele Geräte gleichzeitig anwenden​

Alarm-Translatoren lassen sich in einem Vorgang zu vielen Geräten hinzufügen oder dort aktualisieren:

  1. Klicken Sie in der Geräteliste auf Select many und wählen Sie die Geräte aus.
  2. Wählen Sie im Auswahlmenü Select action den Eintrag Edit translators.
  3. Klicken Sie auf + Add translator und wählen Sie den Alarm-Translator.
  4. 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.

mouldTranslator

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

moldParameters

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:

persistentMold

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:

ParameterStandardZweck
temperatureThreshold14 °CAb dieser Temperatur gilt die feste Feuchteschwelle; darunter wird die wirksame Feuchteschwelle anteilig abgesenkt
relativeHumidityThreshold80 %Feuchte, oberhalb derer bei warmen Temperaturen momentanes Risiko besteht
persistentRiskConfirmDays18Tage, die das momentane Risiko anhalten muss, bevor persistentMouldRiskAlarm ausgelöst wird
persistentRiskClearHours4Stunden, 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.