FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Puschel74 am 06 Juli 2014, 12:43:57

Titel: Logfilemeldung durch statistics?
Beitrag von: Puschel74 am 06 Juli 2014, 12:43:57
Hallo zusammen,

ich habe im FHEM-Logfile folgende Meldung:
ZitatArgument "Hour: 0.0 Day: 0.0 Month: 23.7 Year: 99.2 (since: 2014-0..." isn't numeric in sprintf at (eval 419670) line 1.
Ich habe zur Zeit das statistics-Modul nur auf meine Wetterstation angesetzt und bei dieser findet sich bei den Readings natürlich auch
Hour: 0.0 Day: 0.0 Month: 23.7 Year: 99.2 (since: 2014-06-09 ) bei statRain.

Ich habe zwar noch 2 Notifys auf die Wetterstation angesetzt aber einmal auf temperature und einmal auf israining.
Dennoch habe ich beide Notifys mal per disable 1 still gelegt.
Die Meldung im Logfile ist geblieben.
Dann habe ich dem statistics mal ein disable 1 spendiert - die Meldung habe ich immer noch im Logfile.
ZitatArgument "Hour: 0.0 Day: 0.0 Month: 23.7 Year: 99.2 (since: 2014-0..." isn't numeric in sprintf at (eval 419958) line 1.

Statistics habe ich (siehe Screenshot) angelegt.

Wenn jemand einen Tipp hat wo ich noch suchen könnte wäre ich dankbar.

Grüße
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: tupol am 06 Juli 2014, 14:08:36
rain und temperature werden automatisch ausgewertet. Du brauchst also kein Attribute "deltaReadings"

Was genau bezweckst Du mit der "Delta"-Auswertung der Temperatur? Hier wäre doch eher eine max/min und eine Trendauswertung sinnvoll.

Seltsam, dass im Logfile nicht der Modulname für den Fehler steht. Gibt es noch andere Module (z.B. Plots) mit denen Du statRain auswertest?
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: Puschel74 am 06 Juli 2014, 14:20:36
Hallo,

danke schonmal für die Tipps.

Ok, das Attribut deltaReadings hab ich mal gelöscht.

Mit dem Delta möchte ich gern auf den Trend schauen (delta+/delta-).
Ich hab vermutlich ein, zwei Neuerungen "verschlafen"  8)
version
liefert mir
Zitat# $Id: 98_statistics.pm 6125 2014-06-16 19:21:16Z tpoitzsch $

statRain wird tatsächlich noch in einem Plot ausgewertet.
Wetterstation_Eingang:statRain:::$val=~s/^Hour..([\d.]*).*/$1/eg
Die Meldung erscheint aber auch wenn ich den Plot nicht anschauen.

Grüße
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: tupol am 06 Juli 2014, 14:35:10
Du könntest mit verbose 5 mal nachsehen, ob die Meldung direkt nach einer Statistics-meldung kommt.
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: Puschel74 am 06 Juli 2014, 14:39:06
Hallo,

verbose auf 5 gestellt (guter Hinweis danke - hab ich garnicht dran gedacht  ::) )

Zitat2014.07.06 14:36:18 4: CUL_Parse: CUNO3 K1700032400C33109 -69.5
2014.07.06 14:36:18 5: CUNO3 dispatch 810d04xx4027a00171003042003c13
2014.07.06 14:36:18 4: KS300 1234: 810d04xx4027a00171003042003c13
2014.07.06 14:36:18 4: KS300 1234: T: 30.0  H: 40  W: 0.2  R: 115.0  IR: no  Wi: 0
Argument "Hour: 0.0 Day: 0.0 Month: 23.7 Year: 99.2 (since: 2014-0..." isn't numeric in sprintf at (eval 423264) line 1.
2014.07.06 14:36:18 5: Triggering Wetterstation_Eingang (6 changes)
2014.07.06 14:36:18 5: Set '.Wetterstation_Eingang:humidityYear'='Sum: 152900187 Time: 2403632 LastValue: 40 LastTime: 1404650178 ShowDate: 1'
2014.07.06 14:36:18 4: Calculating delta statistics for 'Wetterstation_Eingang:rain = 115.0'
2014.07.06 14:36:18 5: Statistik: Set '.Wetterstation_Eingang:rain'='LastValue: 115.0 ShowDate: 2 '
2014.07.06 14:36:18 5: Statistik: Set 'statRain'='Hour: 0.0 Day: 0.0 Month: 23.7 Year: 99.2 (since: 2014-06-09 )'
2014.07.06 14:36:18 4: Calculating min/avg/max statistics for 'Wetterstation_Eingang:temperature = 30.0'
2014.07.06 14:36:18 5: Set 'statTemperatureDay'='Min: 15.1 Avg: 19.7 Max: 30.5'
2014.07.06 14:36:18 5: Set 'statWindDay'='Min: 0 Avg: 0 Max: 0'
2014.07.06 14:36:18 5: Set '.Wetterstation_Eingang:windDay'='Sum: 294.3 Time: 52583 LastValue: 0.2 LastTime: 1404650178 ShowDate: 0'
2014.07.06 14:36:18 5: Set 'statWindMonth'='Min: 0 Avg: 0 Max: 11'
2014.07.06 14:36:18 5: Set '.Wetterstation_Eingang:windMonth'='Sum: 20119.7 Time: 398183 LastValue: 0.2 LastTime: 1404650178 ShowDate: 0'
2014.07.06 14:36:18 5: Set 'statWindYear'='Min: 0 Avg: 0 Max: 14 (since: 2014-06-08_18:55:43 )'
2014.07.06 14:36:18 5: Set '.Wetterstation_Eingang:windYear'='Sum: 137326 Time: 2403634 LastValue: 0.2 LastTime: 1404650178 ShowDate: 1'
Argument "Hour: 0.0 Day: 0.0 Month: 23.7 Year: 99.2 (since: 2014-0..." isn't numeric in sprintf at (eval 423265) line 1.

Grüße
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: tupol am 06 Juli 2014, 15:04:01
Hmm. Da bin ich leider ratlos. Ich nutze das Modul auch für den KS300. Die Fehlermeldung weist darauf hin, dass der sprintf-Befehl eine Zahl erwartet und stattdessen einen String mit "Hour...") bekommt. Da hat sich bei mir bisher nur das SVG-Modul beschwert, wenn es die Daten aus dblog geholt hat.

Kommt es dazu vielleicht beim Schreiben in die DB?
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: Puschel74 am 06 Juli 2014, 15:14:35
Hallo,

hier der auszug aus dem Logfile zum schreiben in DbLog:

Zitat2014.07.06 14:36:18 5: DbLog: logging of Device: Statistik , Type: STATISTICS , Event: Updated stats for: Wetterstation_Eingang , Reading: Updated stats for , Value: Wetterstation_Eingang , Unit:
2014.07.06 14:36:18 5: Statistik: Notification of 'Wetterstation_Eingang' received. Update statistics.
2014.07.06 14:36:18 5: Batterien: not on any display, ignoring notify
2014.07.06 14:36:18 5: DbLog: logging of Device: Wetterstation_Eingang , Type: KS300 , Event: T: 30.0  H: 40  W: 0.2  R: 115.0  IR: no  Wi: 0 , Reading: data , Value: T: 30.0  H: 40  W: 0.2  R: 115.0  IR: no  Wi: 0 , Unit:
2014.07.06 14:36:18 5: DbLog: logging of Device: Wetterstation_Eingang , Type: KS300 , Event: rain: 115.0 , Reading: rain , Value: 115.0 , Unit: l/m2
2014.07.06 14:36:18 5: DbLog: logging of Device: Wetterstation_Eingang , Type: KS300 , Event: wind: 0.2 , Reading: wind , Value: 0.2 , Unit: km/h
2014.07.06 14:36:18 5: DbLog: logging of Device: Wetterstation_Eingang , Type: KS300 , Event: humidity: 40 , Reading: humidity , Value: 40 , Unit: %
2014.07.06 14:36:18 5: DbLog: logging of Device: Wetterstation_Eingang , Type: KS300 , Event: temperature: 30.0 , Reading: temperature , Value: 30.0 , Unit: °C
2014.07.06 14:36:18 5: DbLog: logging of Device: Wetterstation_Eingang , Type: KS300 , Event: israining: no , Reading: israining , Value: 0 , Unit:
2014.07.06 14:36:18 5: DbLog: logging of Device: Wetterstation_Eingang , Type: KS300 , Event: statRain: Hour: 0.0 Day: 0.0 Month: 23.7 Year: 99.2 (since: 2014-06-09 ) , Reading: statRain , Value: Hour: 0.0 Day: 0.0 Month: 23.7 Year: 99.2 (since: 2014-06-09 ) , Unit:
2014.07.06 14:36:18 5: DbLog: logging of Device: Wetterstation_Eingang , Type: KS300 , Event: absFeuchte: 11.1 , Reading: absFeuchte , Value: 11.1 , Unit:
2014.07.06 14:36:18 5: DbLog: logging of Device: Wetterstation_Eingang , Type: KS300 , Event: dewpoint: 14.9 , Reading: dewpoint , Value: 14.9 , Unit:
2014.07.06 14:36:18 5: CUL/RAW: /K1700032400C33124

Ich hoffe ich hab die richtige Stelle erwischt.

Grüße
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: tupol am 06 Juli 2014, 17:51:58
Da scheint alles sauber zu sein, weil keine Fehlermeldung.  :-\
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: Puschel74 am 07 Juli 2014, 18:01:51
Hallo,

ich hab jetzt mal, in einem Akt der Verzweiflung  ;D , den Plot gelöscht.
Aber leider keine Änderung  ???

ZitatArgument "Hour: 1.3 Day: 3.6 Month: 49.2 Year: 124.7 (since: 2014-..." isn't numeric in sprintf at (eval 469812) line 1.
Argument "Hour: 1.6 Day: 3.9 Month: 49.5 Year: 125.0 (since: 2014-..." isn't numeric in sprintf at (eval 469813) line 1.

Hier regnet es gerade und man sieht schön das Meldung jedesmal kommt wenn das Reading statRain aktualisiert wird - aber das hast du sicher schon geahnt  8)

Wenn du noch eine Idee hast wo ich noch schauen könnte dann immer her damit.

Grüße

Edith: Autsch - sorry.
Ich hab noch ein stateFormat auf statRain angesetzt:
{sprintf("T: %.1f H: %.1f D: %.1f<br> A: %.1f W: %.1f R: %.1f", ReadingsVal("Wetterstation_Eingang","temperature",0), ReadingsVal("Wetterstation_Eingang","humidity",0), ReadingsVal("Wetterstation_Eingang","dewpoint",0), ReadingsVal("Wetterstation_Eingang","absFeuchte",0), ReadingsVal("Wetterstation_Eingang","wind",0), ReadingsVal("Wetterstation_Eingang","statRain",0))}
Ich lösch das mal raus.

Edith2: Jep - das stateFormat war der Auslöser.
Danke nochmal für deine Zeit - ich lass das Attribut erstmal weg (grübel noch warum ich das überhaupt reingesetzt habe  :o )
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: tupol am 07 Juli 2014, 21:09:49
Du must ein singularReadings nehmen.

Wäre natürlich schöner, wenn der Fehler in "stateFormat" mit Modulnamen im Plot erscheinen würde. :-)
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: Puschel74 am 08 Juli 2014, 21:15:08
Hallo,

jetzt weiß ich wieder warum ich stateFormat wollte  ::)

Zitat von: tupol am 07 Juli 2014, 21:09:49
Du must ein singularReadings nehmen.

Ich bekomme damit:
ZitatT: 13.3 H: 91 W: 0.0 R: 163.5 IR: no Wi: 0
die Gesamtregenmenge angezeigt und das möchte ich nicht - daher das stateFormat auf statRain.

singularReading :o
d.h. ich muss statRain erst in ein userReading bringen um es per stateFormat passend anzeigen zu können?

Wäre natürlich schöner, wenn der Fehler in "stateFormat" mit Modulnamen im Plot erscheinen würde. :-)
da bin ich aussen vor - zum Glück.
Das sollten die Modulautoren unter sich ausmachen  ;)

Grüße
Titel: Antw:Logfilemeldung durch statistics?
Beitrag von: tupol am 09 Juli 2014, 13:31:52
Zitat von: Puschel74 am 08 Juli 2014, 21:15:08
singularReading :o
d.h. ich muss statRain erst in ein userReading bringen um es per stateFormat passend anzeigen zu können?

Nein. Einfach mal die commandRef lesen :-)