Autor Thema: Mittelwert / Werte glättung von einem Gerät  (Gelesen 371 mal)

Offline Tueftler1983

  • Sr. Member
  • ****
  • Beiträge: 657
Mittelwert / Werte glättung von einem Gerät
« am: 11 Juni 2018, 21:47:28 »
Hallo ich messe den PH Wert im Pool mit einem PH Meter dieses gibt mir den wert Analog 4-20 ma bzw 0-10V aus, diesen messe ich mit einer AVR Net IO und greife die Werte mit Fhem ab.

So mein Problem ist das der wert Start schwankt zwischen 0.2 und 0.4 PH+-
diesen wert der alle 30 Sek abgerufen wird würde ich gerne glätten, es soll also immer aus den letzten 5 oder 10 messungen der Mittelwert berechnet werden.
1. Für einen sauberen Plot
2. Für eine genauere Warnung beim über bzw unterschreiten

Wie mache ich das am besten??

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2454
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #1 am: 11 Juni 2018, 21:54:06 »
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline Tueftler1983

  • Sr. Member
  • ****
  • Beiträge: 657
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #2 am: 11 Juni 2018, 22:33:07 »
Habe jetzt ein Userreading angelegt auf das ich event-aggregator anwenden, wie bekomme ich dieses jetzt noch auf 1 nachkomma stelle?

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2454
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #3 am: 11 Juni 2018, 22:45:16 »
Mit sprintf?
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline Tueftler1983

  • Sr. Member
  • ****
  • Beiträge: 657
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #4 am: 11 Juni 2018, 22:56:59 »
ja aber wie kombiniere ich das beides jetzt zusammen?

das ist das neu erstellte Userreading:  PH_corr {ReadingsVal("$name", "PH", "0");;}
und das das event-aggregator PH_corr::none:median:300

Offline Tueftler1983

  • Sr. Member
  • ****
  • Beiträge: 657
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #5 am: 11 Juni 2018, 23:08:31 »
das Userreading sollte doch dann so aussehen oder??

PH_corr {sprintf("%.1f", ReadingsVal("$name", "PH", "0"))}

Offline Tueftler1983

  • Sr. Member
  • ****
  • Beiträge: 657
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #6 am: 11 Juni 2018, 23:16:57 »
Ahh okay so muss das aussehen: PH_corr {sprintf "%.1f", ReadingsVal("$name", "PH",0)}
jetzt muss ich nur gucken über einen längeren zeitraum ob das mit der Glättung so Okay ist oder ich einen anderen Weg gehen muss

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2454
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #7 am: 11 Juni 2018, 23:22:04 »
Wenn Due aggreg(sprintf(reading)) machst, dann kann es auch zu mehrere Stellen nach Koma führen. Was Du brauchst ist eher sprintf(aggreg(reading))
Dafür entweder direkt die Aggregation auf PH setzen, und dann den userreading mit sprintf darauf (wenn die schwankende Werte von PH dich nicht interessieren), oder 2 userReadings. Aber sprintf muss die letzte Kalkulation sein.
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline Tueftler1983

  • Sr. Member
  • ****
  • Beiträge: 657
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #8 am: 11 Juni 2018, 23:45:44 »
okay mache es jetzt so mit 2 userReadings
PH_mittel {ReadingsVal("$name", "PH","0")}, PH_mittel_glatt {sprintf "%.1f", ReadingsVal("$name", "PH_mittel",0)}
und das das event-aggregator PH_mittel::none:median:300
jetzt mal abwarten

Offline Tueftler1983

  • Sr. Member
  • ****
  • Beiträge: 657
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #9 am: 12 Juni 2018, 00:40:06 »
scheint noch nicht das richtige zu sein habe immernoch enorme schwankungen,

ich meine das quasi immer die die letzten x Werte zusammen gerechnet werden und dann durch x geteilt wird.

7,3 +7,34 + 7,5+ 7,2 +7,31 +7,3 + 7,25 = 51,2:7= 7,31428 = 7,3

so in etwa

Offline JWRu

  • Jr. Member
  • **
  • Beiträge: 54
2x RasPi 3B, Homematic Sensoren und Aktoren, EnOcean Aktoren, IT-Sensoren, Oregon-Sensoren, Steuerung Viessmann-Heizung

Offline mumpitzstuff

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 898
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #11 am: 12 Juni 2018, 11:08:32 »
Leg doch den event aggregator direkt auf PH, dann brauchst du kein separates Userreading.

Offline Tueftler1983

  • Sr. Member
  • ****
  • Beiträge: 657
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #12 am: 12 Juni 2018, 12:39:59 »
Den originalen Wert möchte ich als Kontrolle gerne halten deshalb das userreading.

Auch an dich JWRu das werde ich mir auch angucken... Klinkt auch vielversprechend.

Teste es jetzt so erstmal 24 bis 48 Stunden

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5476
Antw:Mittelwert / Werte glättung von einem Gerät
« Antwort #13 am: 13 Juni 2018, 16:21:01 »
Die Routine movingAverage habe ich vor 3 Jahren zu genau diesem Zweck gebaut. Das Ding ist so einfach, dass es seitdem unverändert läuft.

LG

pah