Da ich nicht der Freund davon bin, für kleinste Disskussion ein eigenes Thema zu eröffnen,
wage ich es hier mal, einen allgemeinen Thread zu starten. Ich hoffe, ich werde nicht erschlagen ;-)
Aktuell habe ich folgende s Problem:
Logging funktioniert und auch Plots funktionieren.
Wenn ich jedoch bei einem Plot folgende zeile hinzufüge:
powersolar:consumptionLastDay
erscheint folgende Fehlermeldung:
Argument "".(ReadingsVal('powersolar','total',0)(ReadingsVal('powe..." isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1123.
Argument "HASH(0x284e8a0)" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1123.
Argument "".(ReadingsVal('powersolar','total',0)(ReadingsVal('powe..." isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1468.
Argument "HASH(0x284e8a0)" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1468.
Nun hatte ich gestern tatsächlich diese Werte beim experimentieren in der Datenbank, habe diese aber zwischenzeitlich gelöscht!
Folgende Ausgabe zeigt dies auch!
mysql> SELECT * FROM history h where device='powersolar' and value like '%HA%' OR value like '%ReadingsVal%';
Empty set (1.12 sec)
mysql> SELECT * FROM current h where device='powersolar' and value like '%HA%' OR value like '%ReadingsVal%';
Empty set (0.01 sec)
folgende Zeilen sind aktuell in der DB.
SELECT timestamp, value FROM history h where device='powersolar' and reading='consumptionLastDay';
+---------------------+---------------------+
| timestamp | value |
+---------------------+---------------------+
| 2014-01-17 23:59:59 | 2.4106666667030368 |
| 2014-01-18 23:59:59 | 9.44800000000032 |
| 2014-01-19 23:59:59 | 4.762666666600126 |
| 2014-01-21 23:59:59 | 0.08266666659983457 |
| 2014-01-22 23:59:59 | 3.52533333340034 |
| 2014-02-12 23:59:59 | 13.226666666698293 |
| 2014-02-13 23:59:59 | 1.0266666667012032 |
| 2014-02-14 23:59:59 | 0.5493333332997281 |
| 2014-02-15 23:59:59 | 18.605333333300223 |
| 2014-02-16 23:59:59 | 3.6293333333996998 |
| 2014-02-17 23:59:59 | 13.101333333299408 |
| 2014-02-18 23:59:59 | 15.973333333298797 |
| 2014-02-19 23:59:59 | 3.6480000000010477 |
| 2014-02-20 23:59:59 | 23.157333333299903 |
| 2014-02-21 23:59:59 | 4.962666666699079 |
| 2014-02-22 23:59:59 | 17.501333333297225 |
| 2014-02-23 23:59:59 | 26.285333333300514 |
| 2014-02-24 23:59:59 | 26.67733333330034 |
| 2014-02-25 23:59:59 | 22.848000000001775 |
| 2014-02-26 23:59:59 | 21.853333333299815 |
| 2014-02-27 00:00:00 | 21.8533333333289 |
+---------------------+---------------------+
21 rows in set (0.33 sec)
Nun frage ich mich, woher diese Fehlermeldung stammen kann?!?
FHEM wurde neu gestartet, um zu prüfen, ob es einen cache gibt.
Anbei noch ein List des Devices, vielleicht hilft das weiter?
list powersolar
Internals:
BasicFeePerMonth 0
CODE 1
CUL_0_MSGCNT 5
CUL_0_RAWMSG E0101DC262F1000110018
CUL_0_RSSI -62
CUL_0_TIME 2014-02-27 09:08:37
CostPerUnit 0.47
DEF 1 375 4500 0.47 0
IODev CUL_0
LASTInputDev CUL_0
MSGCNT 5
NAME powersolar
NR 379
STATE CNT: 30507.8 kWh - CUR: 512 W
TYPE CUL_EM
corr1 0.032
corr2 0.00266666666666667
CHANGETIME:
Helper:
Dblog:
Consumptionlasthour:
Mydblog:
TIME 1393487999.72976
VALUE 0.349333333331742
Mydblogsql:
TIME 1393487999.74426
VALUE 0.349333333331742
Total:
Mydblog:
TIME 1393488517.74417
VALUE 30507.8053333333
Mydblogsql:
TIME 1393488517.80319
VALUE 30507.8053333333
Readings:
2014-02-27 09:08:37 RAW CNT: 220 CUM: 12070 5MIN: 16 TOP: 17
2014-02-25 12:43:27 basis 11428357
2014-02-27 00:00:00 consumptionDay 30507.0933333333
2014-02-27 09:08:37 consumptionHour 0.0853333333361661
2014-02-27 00:00:00 consumptionLastDay 21.8533333333289
2014-02-27 08:59:59 consumptionLastHour 0.349333333331742
2014-02-27 00:01:30 cum_day CUM_DAY: 21.853 CUM: 30507.093 COST: 10.27
2014-02-01 00:00:00 cum_month CUM_MONTH: 0.000 CUM: 30146.773 COST: 0.00
2014-02-27 09:08:37 current 0.512
2014-02-27 09:08:37 current_cnt 16
2014-02-27 09:08:37 peak 5.64705882352941
2014-02-27 09:08:37 peak_cnt 17
2014-02-27 09:08:37 seqno 220
2014-02-27 09:08:37 state CNT: 220 CUM: 30507.805 5MIN: 0.512 TOP: 5.647
2014-02-27 09:08:37 total 30507.8053333333
2014-02-27 09:08:37 total_cnt 12070
2014-02-27 09:08:37 tsecs 1393488517.64101
Hat jemand eine Idee?
Zitat von: JoeALLb am 27 Februar 2014, 09:18:39
Da ich nicht der Freund davon bin, für kleinste Disskussion ein eigenes Thema zu eröffnen,
wage ich es hier mal, einen allgemeinen Thread zu starten. Ich hoffe, ich werde nicht erschlagen
Du hast wohl noch nie in der Softwareentwicklung und mit den dort zur Verfügung stehenden Werkzeugen gearbeitet 8) DORT würde man Dich für jegliche Art von Sammelthread erschlagen...
Du willst also für jede kleine Frage ein eigenes Thema?, da Du fragen in bestehenden Threads ja gerne als OT brandmarkst?
Ich mag solche Threads und diese gibt es hier häufiger (THRESHOLD, SONOS, ...).
Und ja, ich arbeite nicht in der Softwareentwicklung ;-)
Wie auch immer, ich hoffe dennoch, dass jemand eine Idee hat, woher meine Fehlermeldung kommen könnte.
Dein Beschriebenes Problem hat aber doch gar nichts mit 93_DbLog zu tun, sondern kommt aus 98_SVG.
Gerade bei 93_DbLog, in dem noch vieles in der Pipeline ist, machen einzelne Beiträge für jedes Problem/Feature-Request//Änderung meines Erachtens durchaus Sinn, weil man nicht alle Anforderungen auf einmal umsetzen (können) wird und man dadurch die Möglichkeit hat, einzelne Aufgaben als "erledigt" abzuhaken. In einem Sammelthread ist das sehr viel schwieriger, wenn nicht unmöglich.
SELECT * FROM history h where device='powersolar' and value like '%HA%' OR value like '%ReadingsVal%';
Das ist für mich schlichtweg falsche Syntax.
Du suchst nach Einträgen, bei denen ENTWEDER (das Device powersolar heißt und im Feld value irgendwo die Zeichenkette 'HA' enthalten ist) ODER bei denen (das Feld value irgendwo die Zeichenkette 'ReadingsVal') enthält.
Deine vorgegebenen Suchbedingungen habe ich Dir grün markiert, die logischen Verknüpfungen ergeben sich aus den zur Verdeutlichung eingefügten Klammern.
Dass dabei logischerweise nix rauskommt, ist weder die Schuld von DbLog noch die Schuld von SVG, sondern Deine.
Auch wenn ich die klappern richtig setze oder die die befehle einzeln ausführe, da ich oben sogar das gesamte Suchergebnis gepostet habe, ändert da snix an meinem Fehler.
Es mag sein, dass "98_SVG.pm" den Fehler verursacht, aber irgendwoher muss dieses Modul doch diese falschen Werte erhalten?!?
Nochmal... erkläre mir bitte
das: value like '%HA%'
und das: value like '%ReadingsVal%'
was erwartest Du da als Ergebnis?
Da das Fehlerlog anzeigt, dass "98_SVG.pm" mit seltsamen Werten gefüttert wird, die
entweder hash oder ReadingsVal enthalten, suchte ich nach der Quelle.
Mein Gedanke war, dass diese Werte in der DB stehen müssten und "98_SVG.pm" diese nicht interpretieren kann.
Daher die Suche nach diesen Werten in der Hoffnung, keine zu finden.
Nun bin ich einen Schritt weiter:
Ich habe in der Datenbank ein
update history set reading='day_last' where reading='consumptionLastDay';
ausgeführt und danach im Plot
powersolar:consumptionLastDay
auf
powersolar:day_last
geändert und siehe da, die Fehlermeldung kommt nicht mehr!
Verstehen kann ich es nicht, aber vielleicht gibt es tatsächlich irgendwo ein caching?!?
Jedoch bekomme ich jetzt noch keine Werte angezeigt. -> der Graph bleibt einfach leer.
Ich kapiers immer noch nicht, was Du da treibst :-\
Ich bin mir nur ziemlich sicher, dass Dein unstrukturiertes Vorgehen nicht zielführend sein dürfte.
Vielleicht kommt ja noch jemand, der Dein Vorgehen durchschaut.
Ich habe Daten (wie schon öfter) in die Datenbank importiert und möchte diese in einem Plot anzeigen. (aus früheren Messungen)
Diesmal habe ich jedoch oben genannte Fehlermeldung beim generieren des plots erhalten, und ich siche einen Weg, wie ich den Plot darstellen kann.
Beim Bearbeiten des Plots kam die Fehlermeldung "HASH(0x284e8a0)" isn't numeric in numeric" --> Worauf ich dachte, dieser Text müsste versehentlich in der DB gelandet sein, da "98_SVG.pm" sonst wohl diese Fehlermeldung nicht ausspucken würde?!?
Und jetzt suche ich den Fehler dahinter.