Allgemeines und spezielles zum Modul 93_DbLog.pm

Begonnen von JoeALLb, 27 Februar 2014, 09:18:39

Vorheriges Thema - Nächstes Thema

JoeALLb

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?
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

betateilchen

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...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JoeALLb

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.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JoeALLb

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?!?
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

betateilchen

Nochmal... erkläre mir bitte

das: value like '%HA%'

und das: value like '%ReadingsVal%'

was erwartest Du da als Ergebnis?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JoeALLb

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.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JoeALLb

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.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270