Open mikkey1000 opened 6 days ago
Machen nicht percentile heutzutage viel mehr sinn als der median? https://www.dynatrace.com/news/blog/why-averages-suck-and-percentiles-are-great/
PS: genertall den Wert in einem der StatistikAdapter erfassen und dann dort über den gewünschten zeitraum entweder average (wäre der median grob) oder besser percentile abfragen, so arbeite ich in meiner Auto Ladesteuerung ... percentile 50 über letzte 10 minuten PV produktion
PS: genertall den Wert in einem der StatistikAdapter erfassen und dann dort über den gewünschten zeitraum entweder average (wäre der median grob) oder besser percentile abfragen, so arbeite ich in meiner Auto Ladesteuerung ... percentile 50 über letzte 10 minuten PV produktion
schau ich mir an. Danke
Ev als Feature Issue im Adapter SMOOTHED einbringen. Würde dort wahrscheinlich passen. https://github.com/BenAhrdt/ioBroker.smoothed
@BenAhrdt Würde das nicht zum smoothed passen?
Ev als Feature Issue im Adapter SMOOTHED einbringen. Würde dort wahrscheinlich passen. https://github.com/BenAhrdt/ioBroker.smoothed
@BenAhrdt Würde das nicht zum smoothed passen?
den Adapter hatte ich mir in den letzten Tagen auch angeschaut. da würde es gut reinpassen!
Also weitere Filtermethode? Die zu grundeliegende Berechnugnen für Mittelwert / PT1 basieren auf der Methode, dass intern ein Array abgelegt wird, welches der Filterzeit entspricht. hier werden entweder (je nach einstellung) in einem bestimmten Zyklus Werte abgelegt,oder bei Wertänderung des zu filternden werts.
Die logik:
Der Medianfilter speichert N Messwerte in einem sortierten Array und verwendet nur den Wert an der mittleren Position des Arrays. Enthält das Array eine gerade Anzahl von Elementen, dann wird der Mittelwert der beiden mittleren Elemente zurückgegeben.
ist mit der aktuellen Logik im Adapter nicht so einfach umsetzbar, da die Anzahl der Elemente, davon abhängig wie lange ein wert anstand. (Bspw. Filterzeit 1min ... Wert: 50s auf 1 und 10s auf 100 ergibt 2 Werte im array. (Es sei denn ich lasse es immer zyklisch aktualisieren).
Allerdings, würde ich für die gewünschte Funktion eher einen Mittelwert empfehlen mit entsprechender einstellung der erlaubten standardabweichung.
Die Logik der beschriebenen wertbildung, erscheint mir nicht wirklich gut. (wenn ein außreiser direkt die eiden mittleren werte betrifft, werden diese trotzdem ausgegeben)
@mikkey1000 Hast Du Dir die vorhandenen Logiken zur Gefilterten Wertbildung mal angesehen? Also ich könnte noch eine Logik mit rein bringen, die die beiden mittleren Werte nimmt. Wie gesagt, die Idee hinter der Wertbildung des Adapters ist nicht eine Anzahl X an Werten zu haben und daraus einen Mittelwert zu bilden, sondern anhand einer Filterzeit einen Wert zu bilden. Je nachdem wie schnell sich der Wert ändert, können bei einer Filterzeit von 30s auch 100 Werte im Array sein, oder eben auch nur einer. Die Werte werden allerdings gewichtet anhand ihrer Dauer genommen.
Hier mal ein Beispiel meines PV-Wertes und dem mit Mittelwert gefilterten Wert. Ich habe den Wert manuell immer mal wieder auf 0 gesteuert und wie Du siehst, tut es dem gefilteten Wert kaum etwas.
Beim Messen kommen Störungen (z.b. Wolke bei Beschattung, Strom-Überschussverbrauch, ...) recht häufig vor. Diese Störungen sind Ausreißer, die die gesamte Verarbeitung stören.
Funktionsbeschreibung
Der Medianfilter speichert N Messwerte in einem sortierten Array und verwendet nur den Wert an der mittleren Position des Arrays. Enthält das Array eine gerade Anzahl von Elementen, dann wird der Mittelwert der beiden mittleren Elemente zurückgegeben.
Wird ein neuer Messwert an den Medianfilter übergeben, dann wird der älteste Messwert durch den neuen ersetzt und die Liste neu sortiert.
Quelle: https://www.mikrocontroller.net/articles/Median_Filter