FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Prof. Dr. Peter Henning am 29 Juli 2015, 06:07:31

Titel: Gleitende Mittelwerte ohne Log-Dateien
Beitrag von: Prof. Dr. Peter Henning am 29 Juli 2015, 06:07:31
Ein Beispiel dafür, wie man gleitende Mittelwerte ohne Zugriff auf die Log-Dateien berechnet, habe ich im Wiki eingestellt.

http://www.fhemwiki.de/wiki/Relative_Mittelwerte_berechnen_und_loggen

LG

pah
Titel: Antw:Gleitende Mittelwerte ohne Log-Dateien
Beitrag von: schka17 am 29 Juli 2015, 06:37:31
Hallo Pah,

Super, so etwas kann ich gut gebrauchen. Nämlich genau für die im Wiki beschriebenen Wetterwerte.  Nur versteh ich nicht wie ich das auf die Niederschlagsmenge anwenden kann, diese werden ja nur aufaddiert, d.h. wahrscheinlich ich müsste ein eigenes Reading periodisch setzen z.B. Regenmenge der letzten Stunde und kann von diesem Reading den Mittelwert erstellen und loggen, oder gibt's einen einfacheren Weg?

Gruß

Karl


Sent from my iPad using Tapatalk
Titel: Antw:Gleitende Mittelwerte ohne Log-Dateien
Beitrag von: Prof. Dr. Peter Henning am 29 Juli 2015, 06:42:09
Es gibt ein ziemlich altes Modul "rain", bitte mal in die Commandref schauen. Ich benutze das zwar auch - bin aber damit nicht zufrieden, weil es z.B. nicht so etwas wie "Regenmenge der letzten 24 Stunden" auszugeben gestattet.

Werde also daran etwas ändern - dauert aber ein paar Wochen, weil ich erst Urlaub und dann ziemlich viel um die Ohren habe.

LG

pah
Titel: Antw:Gleitende Mittelwerte ohne Log-Dateien
Beitrag von: Wzut am 05 August 2015, 19:45:07
@pah, dein Link im ersten Posting verweist auf die gelöschte Seite Relative Mittelwerte , wäre nicht http://www.fhemwiki.de/wiki/Gleitende_Mittelwerte_berechnen_und_loggen richtig ?

Danke für die Funktion, anbei ein Screenshot zweier Werte.
Der untere Plot zeigt die Rohwerte, der Obere die mit movingAverage "verschönerten" :)
Titel: Antw:Gleitende Mittelwerte ohne Log-Dateien
Beitrag von: Prof. Dr. Peter Henning am 05 August 2015, 21:29:26
Stimmt. Die Seite im Wiki wurde auf meine Anregung hin umbenannt, der alte Link sollte aber noch funktionieren.

LG

pah

Titel: Antw:Gleitende Mittelwerte ohne Log-Dateien
Beitrag von: HoTi am 06 August 2015, 15:16:02
Zitat von: Prof. Dr. Peter Henning am 29 Juli 2015, 06:42:09
Es gibt ein ziemlich altes Modul "rain", bitte mal in die Commandref schauen. Ich benutze das zwar auch - bin aber damit nicht zufrieden, weil es z.B. nicht so etwas wie "Regenmenge der letzten 24 Stunden" auszugeben gestattet.

Werde also daran etwas ändern - dauert aber ein paar Wochen, weil ich erst Urlaub und dann ziemlich viel um die Ohren habe.

LG

pah

Hallo Pah,

heißt das jetzt das von dir ein neues Modul zu erwarten ist  8). Das würde mich extrem freuen, da ich zu meinem Geburtstag eine OC3 bekomme habe und genau sowas brauchen würde.
Titel: Antw:Gleitende Mittelwerte ohne Log-Dateien
Beitrag von: Gisbert am 08 Juli 2016, 15:48:33
Hallo pah,

ich nutze das Modul movingAverage um Lichtintensitäten eines Lichtsensors zu mitteln.
In Abhängigkeit von der Lichtintensität möchte ich eine Verschattungsanlage steuern.
Damit nicht bei jeder einzelnen Wolke die Verschattung zurückfährt, bzw. bei einem Sonnenstrahl rausfährt, dachte ich, dass so ein gleitender Mittelwert dafür gut einzusetzen wäre.
Ich logge sowohl den Messwert als auch den gleitenden Mittelwert in der gleichen log-Datei.
In der log-Datei werden zur gleichen Zeit aber mehrere Mittelwerte ausgegeben.

2016-07-08_15:21:49 Lichtstaerke Lichtstaerke.Westseite: 4501
2016-07-08_15:21:49 Lichtstaerke Lichtstaerke.Westseite.Av: 4806
2016-07-08_15:21:49 Lichtstaerke Lichtstaerke.Westseite.Av: 4788
2016-07-08_15:22:19 Lichtstaerke Lichtstaerke.Westseite.Av: 4769
2016-07-08_15:22:19 Lichtstaerke Lichtstaerke.Westseite.Av: 4753
2016-07-08_15:22:49 Lichtstaerke Lichtstaerke.Westseite: 4596
2016-07-08_15:22:49 Lichtstaerke Lichtstaerke.Westseite.Av: 4738
2016-07-08_15:22:49 Lichtstaerke Lichtstaerke.Westseite.Av: 4725
2016-07-08_15:23:19 Lichtstaerke Lichtstaerke.Westseite.Av: 4712
2016-07-08_15:23:19 Lichtstaerke Lichtstaerke.Westseite.Av: 4700
2016-07-08_15:23:49 Lichtstaerke Lichtstaerke.Westseite: 4680
2016-07-08_15:23:49 Lichtstaerke Lichtstaerke.Westseite.Av: 4676
2016-07-08_15:23:49 Lichtstaerke Lichtstaerke.Westseite.Av: 4650
2016-07-08_15:24:19 Lichtstaerke Lichtstaerke.Westseite.Av: 4640
2016-07-08_15:24:19 Lichtstaerke Lichtstaerke.Westseite.Av: 4628
2016-07-08_15:24:49 Lichtstaerke Lichtstaerke.Westseite: 4608
2016-07-08_15:24:49 Lichtstaerke Lichtstaerke.Westseite.Av: 4620
2016-07-08_15:24:49 Lichtstaerke Lichtstaerke.Westseite.Av: 4609


Der Lichtsensor ist folgendermaßen definiert:
define Lichtstaerke MQTT_DEVICE BH1750
attr Lichtstaerke IODev MyBroker
attr Lichtstaerke event-min-interval Lichtstaerke.Westseite:50
attr Lichtstaerke stateFormat Westseite: Lichtstaerke.Westseite Lux
attr Lichtstaerke subscribeReading_Lichtstaerke.Westseite /hooks/devices/10/SensorData/Lichtstaerke.Westseite
attr Lichtstaerke userReadings Lichtstaerke.Westseite {sprintf('%.0f', ReadingsVal('Lichtstaerke','Lichtstaerke.Westseite',0))}, Lichtstaerke.Westseite.Av {sprintf('%.0f', movingAverage('Lichtstaerke','Lichtstaerke.Westseite',900))}
define FileLog_Lichtstaerke FileLog ./log/Lichtstaerke-%Y-%m.log Lichtstaerke.(Lichtstaerke.Westseite).*
attr FileLog_Lichtstaerke createGluedFile 1
attr FileLog_Lichtstaerke logtype text
define SVG_FileLog_Lichtstaerke_1 SVG FileLog_Lichtstaerke:SVG_FileLog_Lichtstaerke_1:CURRENT
attr SVG_FileLog_Lichtstaerke_1 alias Lichtstärke ......weg ......
attr SVG_FileLog_Lichtstaerke_1 captionLeft 1
attr SVG_FileLog_Lichtstaerke_1 sortby 04


Der Lichtsensor sendet alle 30 Sekunden einen Wert; Fhem schreibt einen neuen Wert erst nach 50 Sekunden.

Da zu einer Zeit mindestens 2 gleitende Mittelwerte existieren, müsste das im Diagramm entsprechend zu einem Gezappel in der Kurve für den Mittelwert führen.
Das ist aber nicht der Fall, dafür sieht die Kurve zu glatt aus.

Wie kann ich die Mehrfacheinträge in die log-Datei verhindern?

LG
Gisbert