Readings ignorieren / filtern

Begonnen von Stephan, 02 Februar 2014, 16:38:16

Vorheriges Thema - Nächstes Thema

Stephan

Hallo,

mein 1-Wire Sensor liefert Temperaturdaten. Ganz ganz selten kommt es vor, dass er mir einen falschen Wert liefrt, der wohl defaultmässig vom Hersteller so vorgegeben ist. Dieser beträgt genau 85.00 Grad Celsius.

hier ein kurzer Schnipsel, in dem das vorkommt:
--------------------------------------------------
2014-01-25_19:56:13 Heizung_Ruecklauf temperature: 23.25
2014-01-25_19:56:13 Heizung_Ruecklauf T: 23.25 °C
2014-01-25_19:56:23 Heizung_Ruecklauf temperature: 23.25
2014-01-25_19:56:23 Heizung_Ruecklauf T: 23.25 °C
2014-01-25_19:56:40 Heizung_Ruecklauf temperature: 85
2014-01-25_19:56:40 Heizung_Ruecklauf T: 85.00 °C ▴
2014-01-25_19:56:48 Heizung_Ruecklauf temperature: 23.375
2014-01-25_19:56:48 Heizung_Ruecklauf T: 23.38 °C ▾
2014-01-25_19:56:58 Heizung_Ruecklauf temperature: 23.4375
2014-01-25_19:56:58 Heizung_Ruecklauf T: 23.44 °C ▾
----------------------------------------------------------------

Ich möchte gerne genau diesen Wert 85.00 Grad Celsius ausfiltern, der soll gar nicht ins Filelog, villeicht könnte man den auch ändern in ein anderes Reading.
Kann mir jemand auf die Sprünge helfen, wo und vielleicht unter welchem Stichpunkt ich da suchen muss, um das zu bewerkstelligen?
An sich würde es mir reichen, wenn man genau diesen Wert gar nicht erst in das Filelog übernimmt.
Gruß
Stephan

fhem 5.5, Raspi B, CUL V3 868 (max), Arduino Uno R3 conf.firmata v2.05

Joachim

Moin Stephan,

Primär gesehen würde ich das Problem auf dem Bus beseitigen.
Die 85° zeigen, das es ein Problem auf Deinem 1-Wire Bus gibt. Mehr Informationen gibt es, wenn man die Boardsuche nimmt.
Es bringt nichts, einfach nur die Symptome zu kaschieren, und nicht die Ursache zu beseitigen.

Gruß Jaochim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Stephan

Das sehe ich grundsätzlich genauso und ich bin da auch schon deutlich weiter gekommen. Habe Stützkondensatoren, etc nachgerüstet. Verbindungen gelötet statt geklemmt, Stromversorgung verändert. Hat alles für sich genommen was gebracht. Ich habe allerdings die Befürchtung, dass mein EIB/KNX Kabel, welches ich verwendet habe, nichts taugt. Ich dachte, das wäre so ein tolles Kabel aber es wirkt auf mich wie ein billiges Telefonkabel, nur in grün. Verseilung mau, also ich weiss nicht, ob das so dole ist. Da wäre ein Cat5 Kabel vielleicht die bessere Alternative gewesen. Sei es drum, es liegt und kann nicht mehr geändert werden,

Die 85 Grad habe ich ganz ganz selten, vor allem, wenn der arduino startet. die versauen mir nur meine Kurven, deswegen würde ich sie trotzdem gerne rausfiltern, auch wenn es schöner wäre, sie träten nie auf.
Gruß
Stephan

fhem 5.5, Raspi B, CUL V3 868 (max), Arduino Uno R3 conf.firmata v2.05

Joachim

ZitatDie 85 Grad habe ich ganz ganz selten, vor allem, wenn der arduino startet.

Kann es sein, dass Dir dann die Spannung auf dem Bus zusammenbricht?

Ansonsten mal mit Userreadings experimentieren, und die 85 filtern

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Stephan

Ja, das ist auch meine Vermutung. Benutze im Moment ein gutes USB-Netzteil, das ist komischerweise im Betrieb stabiler als ein externes 9Volt Netzteil.
Aber grundsätzlich kann ich damit leben.

"Ansonsten mal mit Userreadings experimentieren, und die 85 filtern"

Hab ich
Gruß
Stephan

fhem 5.5, Raspi B, CUL V3 868 (max), Arduino Uno R3 conf.firmata v2.05

papa

Du kannst das auch einfach aus dem Plot filtern, indem Du folgende RegEx verwendest:

#FileLog 4:T\x3a|temperature..(?!85):0:

Habe ich auch so am laufen.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Joachim

ZitatJa, das ist auch meine Vermutung. Benutze im Moment ein gutes USB-Netzteil,
Kleiner Tip, um den Netzteilfehler auszuschliessen:
Computer ATX-Netzteil, dort die 5V klauen, natürlich nicht als Dauerlösung.
Da stehen die 5V mit 30 A stabil zur verfügung.

Zitat"Ansonsten mal mit Userreadings experimentieren, und die 85 filtern"
Hab ich
Na das ist schön, daann ist Dein Problem ja gelöst.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Stephan

Meine Zeile im Filelog sieht im Moment so aus

#FileLog 4:Heizung_Ruecklauf.temperature\x3a:15:

-------------------
#FileLog 4:T\x3a|temperature..(?!85):0:

Habe ich auch so am laufen.
--------------------

Wie müsste ich das jetzt konkret anpassen? Ich blick das echt noch nicht!?!
Gruß
Stephan

fhem 5.5, Raspi B, CUL V3 868 (max), Arduino Uno R3 conf.firmata v2.05

papa

So sollte das funktionieren:


#FileLog 4:Heizung_Ruecklauf.temperature\x3a.(?!85):15:


Der originale Matchausdruck erlaubt beliebige Zeichen nach dem Doppelpunkt (\x3a) - wir wollen alles bis auf " 85" matchen. Der "." ist für das Freizeichen - die "(?!85)" schließt den Wert 85 aus - der Rest geht komplett durch. Leider läßt sich dieser Ausdruck nicht im Webinterface eintragen Du musst die Plotdatei direkt per Hand anpassen.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Stephan

Bin erst jetzt dazu gekommen, das auszuprobieren. Danke, das funktioniert wie gewünscht!
Gruß
Stephan

fhem 5.5, Raspi B, CUL V3 868 (max), Arduino Uno R3 conf.firmata v2.05

blueberry63

Hallo,

trotz Lösung noch eine Bemerkung: ich habe diese "seltsamen" Ausreisser bei den Messwerten meiner Heizung ebenfalls und bin mir fast sicher, dass es sich um Kalibrier-Werte handelt.

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

justme1968

85 grad ist der wert den der 1wire sensor als fehler wer zurück gibt. es bedeute ziemlich sicher das du irgendein problem auf dem 1wire bus hast.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Stephan

Ja, das das auf irgendein Problem auf dem bus hindeutet, das ist mit klar. Nun muss man aber auch sagen, dass so ein arduino ohne weitere Bauteile auch nicht so der hyperdupersuper Busmaster ist. Es ist eine günstig und einfach Lösung.
Von daher kann ich grundsätzlich damit leben, wenn ich zweimal am Tag diesen wert bekomme. Was ich störender Funde, ist, das owtherm ab dem 5. error das Intervall auf 9999 setzt. Das wurde ich gerne konfigurieren können...
Gruß
Stephan

fhem 5.5, Raspi B, CUL V3 868 (max), Arduino Uno R3 conf.firmata v2.05

wthiess

Hallo!

Wie würde der Befehl lauten wenn ich nicht einen fixen Wert "85" sondern enen bereich möchte. z.B. "60-200"

lg
Wolfgang
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

killah78

Muss mich hier auch nochmal anhängen.
Ich kriege es ums Verrecken nicht hin einen Bereich zu filtern.
Vielleicht kann nochmal jemand erläutern was dieses (?!85) bedeutet und warum ein (?!<-25) nicht funktioniert.
Ich würde gerne für ein Thermostat, was ab und zu dumme Werte liefert gerne den Temperaturbereich festlegen.
Leider habe ich auch in anderen Themen dazu nichts gefunden, auch genrerelle Infos zum Regex hilft mir da nicht.

Danke vorab an den, der Licht reinbringen könnte.

Gruss
killah78