FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: Lucky2k12 am 30 August 2017, 21:01:54

Titel: 36_LaCrosse.pm Fehler mit FHEM Absturz durch falsche (negative) Humidity Werte
Beitrag von: Lucky2k12 am 30 August 2017, 21:01:54
Ich bekomme seit kurzem gehäuft im Log Fehlermeldungen der Art:

Can't take log of -0.212752 at ./FHEM/36_LaCrosse.pm line 130.

mit anschließendem Absturz von FHEM.

Offensichtlich ist ein negativer Humidity-Wert an 36_LaCrosse.pm übermittelt worden, was natürlich Quatsch ist. In der Folge steigt FHEM aus, weil der Logarithmus einer negativen Zahl (der in Zeile 130 berechnet wird) ungültig ist.

Mir ist nur leider schleierhaft, welcher Sensor sowas sendet.
Ich habe drei Temp/Feuchtigkeitsensoren (schon länger) im Einsatz, ein LaCrosse Gateway mit BME280 (auch schon > 1 Jahr) und seit kurzem ein mit Tasmota bestücktes Electrodragon Modul mit DHT11. Die Werte davon scheinen im MQTT Log unauffällig.

Wie komm ich dem am Besten auf die Spur? Alle Sensoren auf verbose=5?

Danke und Grüße.
Titel: Antw:36_LaCrosse.pm Fehler mit FHEM Absturz durch falsche (negative) Humidity Werte
Beitrag von: amenomade am 30 August 2017, 23:53:00
ZitatAlle Sensoren auf verbose=5
Würde ich auch machen.
Titel: Antw:36_LaCrosse.pm Fehler mit FHEM Absturz durch falsche (negative) Humidity Werte
Beitrag von: Lucky2k12 am 31 August 2017, 09:58:38
Danke.
Ich habe jetzt alle Lacrosse-Sensoren, die Humidity-Werte liefern auf verbose=5 laufen.
Eben nochmal ein Absturz. Log-Auszug:

2017.08.31 09:47:39 3: DbLog DBLogging: Creating Push-Handle to database mysql:database=fhem;host=nas;port=3306 with user pi
2017.08.31 09:47:39 3: DbLog DBLogging: Push-Handle to db mysql:database=fhem;host=nas;port=3306 created
2017.08.31 09:47:39 3: DBLogging_Reopen: Reopen executed.
Can't take log of -0.135769 at ./FHEM/36_LaCrosse.pm line 130.
2017.08.31 09:50:42 1: BlockingInformParent (BlockingStart): Can't connect to localhost:41243: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
2017.08.31 09:50:42 1: BlockingInformParent (SYSMON_blockingFinish): Can't connect to localhost:41243: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
Titel: Antw:36_LaCrosse.pm Fehler mit FHEM Absturz durch falsche (negative) Humidity Werte
Beitrag von: Lucky2k12 am 31 August 2017, 10:26:43
Ich habe einen Sensor entdeckt, der eine Batteriewarnung sendet. Der hat einen Humidity Korrektur Offset von -3.

Wäre es möglich, dass der Sensor manchmal Nullwerte sendet und die negativen Werte durch die Korrektur zustande kommen?
Es wär jedenfalls gut, wenn 36_LaCrosse.pm den Fehler abfangen könnte, damit nicht jedesmal FHEM komplett abstürzt.
Titel: Antw:36_LaCrosse.pm Fehler mit FHEM Absturz durch falsche (negative) Humidity Werte
Beitrag von: amenomade am 31 August 2017, 20:06:21
Wenn Du irgendwelchen ENtwicklungswunsch auf dem Modul hast, solltest Du das Thema ins passende Subforum verschieben, oder ein neues Thema mit genauerem Titel dort anfangen.

Zitat von: https://fhem.de/MAINTAINER.txtFHEM/36_LaCrosse.pm          HCS                  http://forum.fhem.de Sonstige Systeme
Titel: Antw:36_LaCrosse.pm Fehler mit FHEM Absturz durch falsche (negative) Humidity Werte
Beitrag von: Lucky2k12 am 31 August 2017, 20:45:22
Danke @amenomade , ich hab den thread verschoben.

@HCS : Mein Vorschlag ist, negative Werte in den Logfunktionen in 36:LaCrosse.pm Zeile 130 in der Taupunkt-Berechnungsfunktion abzufangen, da sonst FHEM crasht. Ist nicht sehr dringend, eher was für den Arbeitsspeicher  ;)

In meinem Fall war eine schwache Batterie dafür verantwortlich, dass der Sensor teilweise negative Humiditywerte ausgegeben hat. Die wurden noch durchgereicht an FHEM und dort angezeigt. Aber sobald  "attr <sensor> doDewpoint 1" gesetzt ist, crasht FHEM mit den o.g. Fehlern im log.

Viele Grüße