FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: FunkOdyssey am 01 Juni 2019, 22:04:18

Titel: Median "verfälscht", da keine Events mehr kommen
Beitrag von: FunkOdyssey am 01 Juni 2019, 22:04:18
Ich brauche mal nen Tipp. Irgendwie habe ich eine Denkblockade.
Ich lasse mir einen Median10 zu den Werten von Z-Wave Lichtsensoren berechnen.
Eigentlich mache ich das per DOIF, aber eigentlich sollten alle anderen Varianten das gleiche Problem haben.

Was mache ich, wenn ab einer gewissen Dunkelheit der Sensor keine neuen Werte mehr senden muss. Ist der Sensorwert bereits bei 0 Lux, so kommt natürlich nichts mehr nach. Der Median benötigt aber ja eigentlich noch weitere Events (hier 10). So bleibt der Median bei viel zu hohen Werten stehen.

Wie kann man so etwas lösen?
Ein GET via AT würde nichts bringen, da die Z-Wave-Sensoren nur bei einem Wakeup reagieren.

Hat jemand einen Tipp?
Titel: Antw:Median "verfälscht", da keine Events mehr kommen
Beitrag von: mumpitzstuff am 02 Juni 2019, 00:24:33
Versuch's mal mit event-aggregator, der berechnet den Median über die Zeit und nicht über eine Anzahl von Werten. Außerdem kannst du meines Erachtens auch Events selbst erzeugen z. B. mit event-min-interval.
Titel: Antw:Median "verfälscht", da keine Events mehr kommen
Beitrag von: Damian am 02 Juni 2019, 00:27:00
Zitat von: FunkOdyssey am 01 Juni 2019, 22:04:18
Ich brauche mal nen Tipp. Irgendwie habe ich eine Denkblockade.
Ich lasse mir einen Median10 zu den Werten von Z-Wave Lichtsensoren berechnen.
Eigentlich mache ich das per DOIF, aber eigentlich sollten alle anderen Varianten das gleiche Problem haben.

Was mache ich, wenn ab einer gewissen Dunkelheit der Sensor keine neuen Werte mehr senden muss. Ist der Sensorwert bereits bei 0 Lux, so kommt natürlich nichts mehr nach. Der Median benötigt aber ja eigentlich noch weitere Events (hier 10). So bleibt der Median bei viel zu hohen Werten stehen.

Wie kann man so etwas lösen?
Ein GET via AT würde nichts bringen, da die Z-Wave-Sensoren nur bei einem Wakeup reagieren.

Hat jemand einen Tipp?

Warum nimmst du den Median von so vielen Werten. Der Median ist eigentlich da, um Ausreißer zu eliminieren, da kommt man auch schon mit drei Werten aus. Das ist auch der Defaultwert beim DOIF.
Titel: Antw:Median "verfälscht", da keine Events mehr kommen
Beitrag von: FunkOdyssey am 09 Juni 2019, 16:22:18
Zitat von: mumpitzstuff am 02 Juni 2019, 00:24:33
Versuch's mal mit event-aggregator, der berechnet den Median über die Zeit und nicht über eine Anzahl von Werten. Außerdem kannst du meines Erachtens auch Events selbst erzeugen z. B. mit event-min-interval.

Das Erzeugen der Events mit event-min-interval hat nicht funktioniert.
event-aggregator wird die gleichen Probleme haben oder sowieso von vorneherein auf weniger Events basieren.
Ich senke nun einfach die Anzahl der Events von 10 auf 3 und beobachten.

Danke.
Titel: Antw:Median "verfälscht", da keine Events mehr kommen
Beitrag von: Ellert am 09 Juni 2019, 18:52:21
Es ist ohnehin die Frage, ob es sinnvoll ist über eine Zeitreihe den Median zu bilden, solange sie nicht als konstant erwartet wird.

Gibt es eine Steigung, hat der Median mit dem Meswert nichts mehr zutun.

Bei dieser Zeitreihe
11, 19, 31, 39, 51, 59, 71, 79, 91
ist der Median  51 und der wahrscheinlichste letzte Wert 90.
Titel: Antw:Median "verfälscht", da keine Events mehr kommen
Beitrag von: FunkOdyssey am 09 Juni 2019, 18:56:37
Da stimme ich dir zu.
Deswegen habe ich heute auch nur recht oberflächlich geantwortet.
Irgendwie macht bei mir der Median derzeit nur bedingt Sinn.
Titel: Antw:Median "verfälscht", da keine Events mehr kommen
Beitrag von: Ellert am 09 Juni 2019, 19:17:03
Zu Deiner eigentlichen Frage:

Die fehlenden 0 Werte könntest Du mit einem regelmäßigen Watchdog nachliefern, der bei einem Wert 0 und ausbleibenden Werten folgenden Befehl ausführt setreading <sensor> brightness 0