event-aggregator

Aus FHEMWiki


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


Mit dem Attribut event-aggregator können (nach Wunsch zeitlich gewichtete) Durchschnittswerte, Minima, Maxima oder Median etc. berechnet werden. Der Median kann hilfreich sein, um Messwerte mit Ausreissern (unsinnige Werte, z.B. durch Übertragungsfehler) zu glätten.

Syntax

Das event-aggregator Attribut wird in der folgenden Weise spezifiziert:

attr <device> event-aggregator reading:interval:method:function:holdTime

Mehrere Readings werden als kommagetrennte Liste angegeben.

Die einzelnen Teile haben folgende Bedeutung:

reading

Das zu aggregierende Reading des aktuellen Gerätes. Das Reading selbst muss seine Werte aus einer Aktion oder einem Event in FHEM erhalten (beispielsweise, indem Temperaturwerte ausgegeben oder andere Größen in das Reading geschrieben werden). Indem dann der event-aggregator auf dieses Reading angewandt wird, werden die erhaltenen Größen bearbeitet - je nach Installation wird dann also das Minimum, das Maximum oder der Median der Werte beim Reading ausgegeben.

Wichtig: Es kann immer nur einen event-aggregator pro Reading geben. Will man daher mehrere Werte (z.B. min, max, avg), muss man weitere Readings erzeugen (z.B. mit userReadings oder notify). Der Aggregator kann als regulärer Ausdruck angegeben werden (bsp. .*_rain.*)

interval

Updates des <readings> werden ignoriert, Events werden für mindestens <interval> Sekunden unterdrückt.

Nach der interval-periode wird das reading mit einem Wert upgedated, der sich aus den Werten und Zeitstempeln der vorher ignorierten Updates zusammensetzt.

method

betrifft die Gewichtung nach Zeitintervallen

  • none: keine zeitliche Gewichtung
  • const: Annahme, dass zwischen den zwei Messpunkten keine Veränderung stattgefunden hat
  • linear: Annahme, dass der Wert sich zwischen zwei Messpunkten linear verändert hat.

function

  • count Anzahl
  • min Minimum
  • max Maximum
  • mean artihmetischer Mittelwert
  • sd Standardabweichung
  • integral Summe (falls holdTime nicht angegeben) oder Integral für den Zeitraum holdTime
  • median Median (nur für method none und gesetzte holdTime) - im Gegensatz zum Mittelwert nicht anfällig für Ausreisser, hilfreich bei Sensoren mit sporadisch unsinnigen Messwerten

holdTime

Zeitfenster in Sekunden, für die die vergangenen Werte gehalten werden, um die Aggregatfunktion zu berechnen.

Wechselwirkungen

- keine bekannt -

Beispiele

aus der commandref/Event-aggregator

attr myPowerMeter event-aggregator EP_POWER_METER:300:linear:mean,EP_ENERGY_METER:300:none:v attr myBadSensor event-aggregator TEMP::none:median:300 attr mySunMeter event-aggregator SUN_INTENSITY_24H::const:integral:86400





Siehe auch

Links