Gleitende Mittelwerte ohne Log-Dateien

Begonnen von Prof. Dr. Peter Henning, 29 Juli 2015, 06:07:31

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

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

schka17

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
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Prof. Dr. Peter Henning

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

Wzut

@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" :)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Prof. Dr. Peter Henning

Stimmt. Die Seite im Wiki wurde auf meine Anregung hin umbenannt, der alte Link sollte aber noch funktionieren.

LG

pah


HoTi

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.
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Gisbert

#6
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
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY