Analyse-Translatoren
Ein Analyse-Translator beobachtet ein Gerät über die Zeit und berichtet etwas über sein Verhalten statt über seinen letzten Messwert: wie schnell sich ein Wert bewegt, welcher Anteil des Tages etwas in Betrieb war, wie schlecht die Funkstrecke arbeitet oder wie weit ein Sensor von seinem wahren Nullpunkt abgedriftet ist.
Wie die übrigen Logik-Translatoren sind sie verkettet und laufen auf dem Hardware-Translator des Geräts auf.
Warum einen Analyse-Translator einsetzen
Der Unterschied zu einem Berechnungs-Translator ist die Historie. Eine Berechnung leitet ihre Antwort aus dem Messwert vor sich ab: Celsius nach Fahrenheit braucht nichts weiter. Ein Analyse-Translator kann aus einem einzelnen Messwert überhaupt nicht antworten. "Steigt das zu schnell?" und "wie lange war dieses Licht heute an?" bedeuten nur über eine Reihe von Uplinks hinweg etwas.
Diese Translatoren halten deshalb zwischen den Meldungen einen Zustand am Gerät, und jeder neue Uplink aktualisiert das Bild. Das ist Arbeit, die Sie sonst erledigen würden, indem Sie die Historie exportieren und nachträglich anderswo auswerten. Hier ist die Antwort ein lebendes Feld am Gerät, kann also auf einem Dashboard gezeigt, in einer Ansicht gefiltert und von einem Alarm-Translator überwacht werden wie jeder andere Wert.
Die Translatoren
| Translator | Was er meldet | Erzeugte Felder |
|---|---|---|
analytics-change-rate | Wie schnell sich ein Messwert ändert, je Stunde. Positiv beim Steigen, negativ beim Fallen, nahe null bei Ruhe. Erkennt eine Temperatur, die schneller steigt als sie sollte, was oft eher auf einen Fehler als auf einen warmen Tag hindeutet | changeRate |
analytics-utilization-rates | Wie stark etwas über die Zeit tatsächlich genutzt wird. Gebaut für einen Kunden, der vermutete, dass Innenbeleuchtung angelassen wurde, und sehen wollte, wie lange sie schwach gegenüber hell brannte | utilization, utilizationDaily, utilizationHigh, utilizationLow |
analytics-frame-loss-rate | Wie viele Uplinks ein Gerät verliert, anhand von Sprüngen im Frame-Zähler. Frames mit den Nummern 10 und dann 13 bedeuten, dass zwei fehlen. Ein direktes Maß für die Qualität der Funkabdeckung und die Eingangsgröße für set-alarm-frame-loss-rate | frameLossRate |
analytics-building-energy-efficiency | Bewertet die Energieeffizienz eines Gebäudes und weist auf die nächste Einsparung hin. Meldet sowohl eine temperaturnormierte Effizienzkennzahl als auch energyIntensity, den standardisierten Energieverbrauch je Quadratmeter, mit Wochen-, Monats-, Quartals- und Jahresmittelwerten | energyEfficiency, energyIntensity, energyEfficiencyRolling, energyEfficiencyWeekly, energyEfficiencyMonthly, energyEfficiencyQuarterly, energyEfficiencyYearly, deltaTemperature |
analytics-abc-calibration | Korrigiert einen Sensor, dessen Nullpunkt driftet. Automatic Baseline Calibration nimmt an, dass die wiederkehrend niedrigen Messwerte die wahre Basislinie darstellen, lernt sie aus den Tagesminima über ein Fenster und zieht die Drift ab. Der klassische Fall ist ein CO2-Sensor, der über Nacht auf Außenwerte zurückgehen sollte | calibratedValue, calibrationOffset |
analytics-abc-calibration-adaptive | Dieselbe Idee, verfolgt die Basislinie aber adaptiv über einen Driftzeitraum statt über ein festes Kalenderfenster. Für Sensoren, die nicht in einem sauberen Tagesrhythmus auf die Basislinie zurückkehren | calibratedValue, calibrationOffset |
analytics-suspected-activity-during-time-window | Meldet Personen dort, wo es leer sein sollte, etwa in Räumen am Abend und in der Nacht. Ein Schallsensor horcht auf Geräusche, die lange genug erhöht bleiben, um eine Person und keinen vorbeiziehenden Knall darzustellen, aber nur während der Überwachungszeiten | suspectedActivity, activitySince |
Parameter
Dieselbe Konvention wie andernorts: Die meisten Parameter sind optional und haben einen Standardwert, manche sind aber Pflicht, und
inputField richtet den Translator auf ein bestimmtes Quellfeld, wenn die automatische Wahl falsch
liegt.
| Parameter | Verwendet von | Zweck |
|---|---|---|
inputField | den meisten | Das auszuwertende Feld |
timeZone | den periodenbezogenen | Lokale Zeitzone, die entscheidet, wann ein Tag wechselt |
sampleSize, changeRateSampleSize, efficiencySampleSize | Änderungsrate, Paketverlust, Energieeffizienz | Über wie viele Messwerte geglättet wird, damit ein einzelner Ausreißer das Ergebnis nicht verzerrt |
calibrationWindowDays, baselinePercentile, calibrationFloor, adaptiveDriftDays | dem ABC-Paar | Wie die Basislinie gelernt wird und wie weit sie sich bewegen darf |
buildingArea, energyThreshold | Energieeffizienz | Grundfläche für die Intensitätskennzahl und eine Untergrenze, unterhalb derer eine ruhige Phase außer Acht bleibt, statt das Ergebnis zu beschönigen |
averageThreshold, peakThreshold, activityDurationMins, maxGapMins, watchStartHour, watchEndHour | verdächtige Aktivität | Was als Geräusch zählt, wie lange es anhalten muss und wann überwacht wird |
Verkettung
Zwei Ketten, die es zu kennen lohnt, beide enden in einem Alarm, damit das Ergebnis jemanden erreicht:
- Abdeckungsüberwachung. Gerät →
analytics-frame-loss-rate→set-alarm-frame-loss-rate. Der Analyse-Translator misst die Verlustrate, der Alarm löst aus, wenn die Abdeckung eines Geräts über das hinaus schlechter wird, was Sie akzeptieren, und so finden Sie ein Gateway-Problem, bevor Nutzer es melden. - Erkennung außer Kontrolle geratener Werte. Sensor →
analytics-change-rate→set-alarm-change-rate. Erst die Änderungsrate, dann eine Schwelle auf die Rate statt auf den Wert, sodass ein schnell ausfallender Gefrierschrank lange erkannt wird, bevor er warm ist.
Zu den Alarmen siehe Alarm-Translatoren. Das vollständige A–Z-Verzeichnis aller Translatoren finden Sie in der Translator-Übersicht.