Hallo Freunde,
im FHEM-Log fallen mir immer wieder Meldungen zu zwei Modulen auf:
2014.12.11 18:11:07 1: PERL WARNING: Argument "7.697 m^3 Gas_rate: 0.720 m^3/h B: 14321.00 cts B_rate: ..." isn't numeric in sprintf at ./FHEM/98_SVG.pm line 1728.
2014.12.09 22:17:30 1: PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE $/ at ./FHEM/93_DbLog.pm line 530.
Ich bin ratlos, was die Ursache sein könnte.
Gruß Christian
Überprüf' mal deine Definitionen zum logging und die Aufbereitung von SVG-Sachen.
Die Warnungen hast du schon immer gehabt, aber sind in den Untiefen von fhem verschwunden.
Wenn du das Forum nach PERL WARNING durchsuchst wirst du fündig mit Tipps
Das SVG Modul kann nur Zahlen verarbeiten, ein Text was mit einem Zahl beginnt, ist kein Zahl. Man muss beim Konfigurieren von DbLog dafuer sorgen, dass alles was nicht benoetigt wird, abgeschnitten wird.
^* ist kein gueltiger Regexp.
Hallo,
Ok das mit dem DBLOG Modul leuchtet ein. Da ich in der DBLOG alles mitschreibe und noch nix explizit ausblende, wird wohl irgendein Reading Buchstaben senden.
Was ich nicht verstehe, ist die Meldung
2014.12.11 18:11:07 1: PERL WARNING: Argument "7.697 m^3 Gas_rate: 0.720 m^3/h B: 14321.00 cts B_rate: ..." isn't numeric in sprintf at ./FHEM/98_SVG.pm line 1728.
Der Verursacher ist eine Plot-datei mit einer regexp die bis vor ein paar Monaten ohne Fehlermeldung lief.
#DbLog 1W_temp_Aussen:temperature::
#DbLog 1W_S0Zaehler_Gas:day:::$val=~s/.*Gas:\s*([\d.]*).*/$1/eg
Das reading sieht so aus:
day D11 Gas: 19.16 m^3 GasM: 126.38 m^3 B: 15801.87 cts BM: 15790.00 cts 2014-12-11 23:57:43
Gruß Christian
Du musst das "m^3" durch Erweiterung des Regexp vorher abspalten. Es sollte im Forum dafür genug Beispiele geben.
Die Fm gab es schon vorher. Sie wurde durch fhem aber in fhem 5.5 noch unterschlagen. Durch eine von mir vorgeschlagene Änderung werden diese Fm nicht mehr unterdrückt.
ZitatDas reading sieht so aus:
Eben nicht, siehe Fehlermeldung. Da steht was vom Gas_rate:, dein Regexp versucht es mit Gas:
Btw: benoetigst du das e im regexp modifier? Mit e sollte es deutlich langsamer sein, als ohne.
Hallo Rudolf,
Regexp verursachen in meinem Kopf nur Knoten. Ich hatte mir diese mit viel Mühe dieses Jahr zusammen "gebastelt". Einiges hatte ich verstanden, wiederum anderes nicht.
Also das "e", keine Ahnung wofür das gut ist :(
owcount wirft mir das Reading "day" aus und ich möchte eigentlich nur den zahlen-Wert des täglichen Verbrauch in einen Plot darstellen. Siehe Screenshot.
Das funktioniert ja auch .. nur bei jedem Aufruf des Plots erscheint dann die Fehlermeldung.
Gruß Christian
Mit diesen beiden Artikeln solltest du weiterkommen.
http://forum.fhem.de/index.php/topic,29654.msg224022.html#msg224022 (http://forum.fhem.de/index.php/topic,29654.msg224022.html#msg224022)
http://forum.fhem.de/index.php/topic,27776.msg206974.html#msg206974 (http://forum.fhem.de/index.php/topic,27776.msg206974.html#msg206974)
Ich schlage zunächst einmal vor, statt des m^3 ein m³ zu verwenden.
Zweitens werde ich in der nächsten Version des Moduls OWCOUNT ein paar neue readings einfügen
<channel>_day => Tagessumme des gegenwärtigen Tages, ermittelt aber nur am Ende des Tages => kann direkt in einer Log-Datei abgefangen werden. Ohne Einheit.
<channel>_days => Summe über alle Tage des gegenwärtigen Monats, ebenfalls am Ende des Tages ermittelt. Ohne Einheit.
LG
pah
und noch ein Link:
http://forum.fhem.de/index.php?topic=30417.msg230400;topicseen#new (http://forum.fhem.de/index.php?topic=30417.msg230400;topicseen#new)