Open didilamken opened 5 years ago
Wir haben Ausreißer über die Verbesserung der DS18B20-Treiber deutlich reduziert, eine Filterung der Werte auf node-Seite ist daher nicht mehr nötig. Ggf. auftretende Ausreißer werden nun serverseitig im Bob-Webinterfache per running median visuell unterdrückt. In die Datenbank werden sie aber aufgenommen, und damit dokumentiert um z.B. hier noch zu verbessern.
Bei den Messungen mit dem DS18B20 haben mich die Ausreisser ( z.B. 85.5, 268.3 oder gar 1234.5 ) gestört. Falls ein Messwert eine Toleranz über- oder unterschreitet, wird er ignoriert und der letzte genommen: .... if (ds18b20tmp > ds18b20old + ds18b20tol): # Aktueller Wert > alter Wert print('korr> {}. Temp.: {} C -> old: {} C'.format(ds18b20index, ds18b20tmp, ds18b20old)) ds18b20tmp = ds18b20old ds18b20told[ds18b20index] = ds18b20tmp if (ds18b20tmp < ds18b20old - ds18b20tol): # Aktueller Wert < alter Wert print('korr< {}. Temp.: {} C -> old: {} C'.format(ds18b20index, ds18b20tmp, ds18b20old)) ds18b20tmp = ds18b20old ds18b20told[ds18b20index] = ds18b20tmp ....