Umfrage
				
Frage: 
Wie bekomme ich die "Fehlmessungen" mit dem Wert 85 weg?
					Antwort 1: suppressReading
						Stimmen: 0
					
					Antwort 2: weiß nicht
						Stimmen: 0
					
			
				Hallo,
habe leider keine zufriedenstellende Antwort bekommen.
Habe Rpi und über Rpi_GPIO lese ich in FHEM die DS18B20 aus. Ca. 1 x pro Stunde bekomme ich den Wert 85. Die Leitung muss leider 5 m lang sein. 
Grundsätzlich bin ich mit den gelieferten Werten zufrieden (Intervall & Richtigkeit), nur die 85 möchte ich weg bekommen.
Im FHEM Reference steht: 
"suppressReading Used to eliminate unwanted readings. The value is a regular expression, with ^ and $ added. Only necessary in exceptional cases."
suppressReading scheint hier das von mir gewünschte Attribut zu sein, aber wie spezifiziert man das?
Danke für Lösungsvorschläge 
M_Trader
			
			
			
				Für Dein Problem habe ich folgendes gefunden:
https://forum.fhem.de/index.php?topic=71997.0
und
https://forum.fhem.de/index.php?topic=19653.15
Für supressReading so gut wie nichts.
Grüße Jörg
			
			
			
				PS: So wie ich die Doku lese unterdrückt suppressReading ein Reading, dass durch eine RegEx beschrieben wird. Also das Reading und nicht Inhalte.
Grüße Jörg
			
			
			
				Danke Jörg,
habe das auch gesehen - hier wird dieser String empfohlen
attr <device> userReadings cleanTemp {my $temp = ReadingsNum("<device>","<orig-reading>",85);; return $temp unless($temp == 85);; return ReadingsNum("<device>","cleanTemp",-273) }
Ich weiß aber nicht,  was <orig-reading> ist/zu bedeuten hat 
LG
			
			
			
				Zitat von: M_Trader am 21 Januar 2018, 20:26:44
Ich weiß aber nicht,  was <orig-reading> ist/zu bedeuten hat 
<orig-reading> ist der Platzhalter für die Bezeichnung vom Temperaturreading Deines ds18b20 Devices.
Grüße Jörg
			
 
			
			
				Bin leider noch Anfänger. Heißt das ich muß statt "<orig-reading>" etwas einsetzen?
Mein <device> heißt "Kessel_RL"
			
			
			
				Ja, den Namen des Readings. Poste doch bitte mal, in Code Tags, ein 
list Kessel_RL
PS: in der Kommandozeile eingeben
			
			
			
				list Kessel_RLInternals:
   DEF        28-031664672fff
   NAME       Kessel_RL
   NR         32
   NTFY_ORDER 50-Kessel_RL
   STATE      T: 44.75
   TYPE       GPIO4
   READINGS:
     2018-01-21 20:44:20   cleanTemp       -273
     2018-01-21 12:15:41   failures        0
     2018-01-21 20:44:20   state           T: 44.75
     2018-01-21 20:44:20   temperature     44.75
   fhem:
     interfaces temperature
Attributes:
   event-on-change-reading state
   model      DS18B20
   room       GPIO4,Heizraum
   userReadings cleanTemp {my $temp = ReadingsNum("<device>","<orig-reading>",85);; return $temp unless($temp == 85);; return ReadingsNum("<device>","cleanTemp",-273) }
			
			
			
				Mein Vorschlag
userReadings cleanTemp {my $temp = ReadingsNum("Kessel_RL","temperature",85);; return $temp unless($temp == 85);; return ReadingsNum("Kessel_RL","cleanTemp",-273) }
			
			
			
				Super, es funktioniert!
Mann muss jedoch noch das update-on-change-reading auf den neuen Parameter "cleanTemp" ändern und auch im SVG den neuen Parameter wählen.
Vielen Dank!
PS: es bleibt interessant, wie das mit suppressReading funktionieren würde. Nun wir ja scheinbar ein vorheriger Wert statt den 85 genommen (was nicht ganz richtig ist, jedoch hier keine Rolle spielt)