[gelöst] DbRep fetchrows zeigt nicht alle Einträge der DB

Begonnen von Jasimo, 02 August 2018, 07:12:28

Vorheriges Thema - Nächstes Thema

Jasimo

Hallo,

bin mir nicht sicher ob ich im richtigen Bereich poste, bitte falls nötig verschieben.
Ich habe mir ein DBRep Device erstellt um Einträge der DB zur Ansicht zu bringen. Hier das List
Internals:
   DATABASE   fhem
   DEF        logdb
   LASTCMD    fetchrows history
   MODEL      Client
   NAME       DbRepWorxLog
   NOTIFYDEV  global,DbRepWorxLog
   NR         195
   NTFY_ORDER 50-DbRepWorxLog
   ROLE       Client
   STATE      done
   TYPE       DbRep
   UTF8       0
   VERSION    7.18.1
   HELPER:
     DBLOGDEVICE logdb
     MINTS      2018-03-23 10:42:58
   READINGS:
     2018-08-02 07:02:32   2018-08-01_21-57-57__1__du_WorxLog__state 5666,"Landroid searching home",1.8.2018,12:23:59

     2018-08-02 07:02:32   2018-08-01_22-14-42__1__du_WorxLog__state 5675,"Battery Charge Successfully Ended! 34.3°C 28.70Volt 934mA",1.8.2018,22:16:53

     2018-08-02 07:02:32   2018-08-02_02-02-02__1__du_WorxLog__state 5676,"Battery Charge Started! 28.6°C 27.00Volt ,2.8.2018,2:4:24

     2018-08-02 07:02:32   2018-08-02_02-18-17__1__du_WorxLog__state 5677,"Battery Charge Successfully Ended! 29.3°C 28.70Volt 914mA",2.8.2018,2:20:40

     2018-08-02 07:02:32   2018-08-02_05-55-36__1__du_WorxLog__state 5678,"Battery Charge Started! 24.9°C 27.00Volt ,2.8.2018,5:57:53

     2018-08-02 07:02:32   2018-08-02_06-11-21__1__du_WorxLog__state 5679,"Battery Charge Successfully Ended! 26.1°C 28.70Volt 904mA",2.8.2018,6:13:42

     2018-08-02 07:02:32   background_processing_time 0.0139
     2018-08-02 07:02:32   number_fetched_rows 15
     2018-08-02 07:02:32   sql_processing_time 0.0049
     2018-08-02 07:02:32   state           done
   dbloghash:
     COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
     CONFIGURATION ./db.conf
     DEF        ./db.conf .*:.*
     MODE       asynchronous
     MODEL      MYSQL
     NAME       logdb
     NR         83
     NTFY_ORDER 50-logdb
     PID        7584
     REGEXP     .*:.*
     STATE      connected
     TYPE       DbLog
     UTF8       0
     VERSION    3.10.9
     dbconn     mysql:database=fhem;host=192.168.2.254;port=3306
     dbuser     fhem
     HELPER:
       COLSET     1
       DEVICECOL  64
       EVENTCOL   512
       OLDSTATE   connected
       READINGCOL 64
       TYPECOL    64
       UNITCOL    32
       VALUECOL   128
     READINGS:
       2018-08-02 07:06:33   CacheUsage      0
       2018-08-02 07:06:33   NextSync        2018-08-02 07:07:03 or if CacheUsage 1000 reached
       2018-05-09 07:39:06   countCurrent    0
       2018-05-09 07:39:06   countHistory    317
       2018-08-02 07:06:33   state           connected
     cache:
       index      18
Attributes:
   device     du_WorxLog
   room       test
   showproctime 1


wenn ich nun ein
set DbRepWorxLog fetchrows history
absetze.

kriege ich das folgende Ergebnis im Anhang

er findet und liest 15 Zeilen (die es auch in der MySQL Tabelle gibt), zeigt als Reading aber nur 6 an

Hat da jemand eine Idee woran das liegen kann?
Gruß
Jan

DS_Starter

Hallo Jan,

ja, ich habe eine Idee. Allerdings sollte das Problem mit dem aktuellen Release (hast du) nicht mehr vorkommen.
Setz mal bitte verbose 5 im DbRep und poste mir die Ausgabe.


Ich schaue mir das dann heute Abend an.


Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Jasimo

Hallo,

danke für die Antwort, ich hab gerade eine Vermutung das die Einträge die Fhelen alle den gleichen TIMESTAMP in der DB haben und somit nicht gezeigt werden.
Kann das sein?
Verbose hab ich auf 5, muss aber warten bis der Mäher los fährt nachher ;-)

DS_Starter

#3
Ja, aber seit Einführung des Index (..._1_ ... im Reading) sollte das nicht mehr passieren. Das war auch der Grund warum ich die Readingstruktur damals erweitert hatte.

EDIT: Die Auswertung im DbRep kannst du jederzeit machen und brauchst nicht warten bis der Mäher losfährt.  ;) 
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Jasimo

ok, hier der verbose 5 log
2018.08.02 08:23:18 4: DbRep DbRepWorxLog - -------- New selection ---------
2018.08.02 08:23:18 4: DbRep DbRepWorxLog - Command: fetchrows history
2018.08.02 08:23:18 4: DbRep DbRepWorxLog - Timestamp begin human readable: not set
2018.08.02 08:23:18 4: DbRep DbRepWorxLog - Timestamp end human readable: not set
2018.08.02 08:23:18 5: DbRep DbRepWorxLog - IsTimeSet: 0, IsAggrSet: 0
2018.08.02 08:23:18 5: DbRep DbRepWorxLog - Device specifications use for select: du_WorxLog
2018.08.02 08:23:18 5: DbRep DbRepWorxLog - Reading specification use for select: %
2018.08.02 08:23:18 4: DbRep DbRepWorxLog - SQL execute: SELECT DEVICE,READING,TIMESTAMP,VALUE,UNIT FROM history where DEVICE = 'du_WorxLog' AND 1 ORDER BY TIMESTAMP DESC LIMIT 1001;
2018.08.02 08:23:18 5: DbRep DbRepWorxLog -> row result list:
du_WorxLog_ESC_state_ESC_2018-08-02_ESC_06:11:21_ESC_5679,"Battery Charge Successfully Ended! 26.1°C 28.70Volt 904mA",2.8.2018,6:13:42_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-02_ESC_05:55:36_ESC_5678,"Battery Charge Started! 24.9°C 27.00Volt ,2.8.2018,5:57:53_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-02_ESC_02:18:17_ESC_5677,"Battery Charge Successfully Ended! 29.3°C 28.70Volt 914mA",2.8.2018,2:20:40_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-02_ESC_02:02:02_ESC_5676,"Battery Charge Started! 28.6°C 27.00Volt ,2.8.2018,2:4:24_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_22:14:42_ESC_5675,"Battery Charge Successfully Ended! 34.3°C 28.70Volt 934mA",1.8.2018,22:16:53_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5674,"Battery Charge Started! 33.8°C 27.00Volt ,1.8.2018,22:0:7_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5673,"Battery Charge Successfully Ended! 40.7°C 28.70Volt 972mA",1.8.2018,18:3:21_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5672,"Battery Charge Started! 39.8°C 27.00Volt ,1.8.2018,17:46:15_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5671,"Battery Charge Successfully Ended! 42.5°C 28.70Volt 976mA",1.8.2018,13:27:3_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5670,"Battery Charge Started! 37.3°C 24.18Volt ,1.8.2018,12:23:59_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5669,"Total statistics_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5668,"Current cut statistics_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5667,"Landroid at home",1.8.2018,12:23:59_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5666,"Landroid searching home",1.8.2018,12:23:59_ESC_
|du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5665,"Landroid following wire",1.8.2018,12:22:20_ESC_

2018.08.02 08:23:18 5: DbRep DbRepWorxLog - row_array decoded: du_WorxLog_ESC_state_ESC_2018-08-02_ESC_06:11:21_ESC_5679,"Battery Charge Successfully Ended! 26.1°C 28.70Volt 904mA",2.8.2018,6:13:42_ESC_
du_WorxLog_ESC_state_ESC_2018-08-02_ESC_05:55:36_ESC_5678,"Battery Charge Started! 24.9°C 27.00Volt ,2.8.2018,5:57:53_ESC_
du_WorxLog_ESC_state_ESC_2018-08-02_ESC_02:18:17_ESC_5677,"Battery Charge Successfully Ended! 29.3°C 28.70Volt 914mA",2.8.2018,2:20:40_ESC_
du_WorxLog_ESC_state_ESC_2018-08-02_ESC_02:02:02_ESC_5676,"Battery Charge Started! 28.6°C 27.00Volt ,2.8.2018,2:4:24_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_22:14:42_ESC_5675,"Battery Charge Successfully Ended! 34.3°C 28.70Volt 934mA",1.8.2018,22:16:53_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5674,"Battery Charge Started! 33.8°C 27.00Volt ,1.8.2018,22:0:7_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5673,"Battery Charge Successfully Ended! 40.7°C 28.70Volt 972mA",1.8.2018,18:3:21_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5672,"Battery Charge Started! 39.8°C 27.00Volt ,1.8.2018,17:46:15_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5671,"Battery Charge Successfully Ended! 42.5°C 28.70Volt 976mA",1.8.2018,13:27:3_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5670,"Battery Charge Started! 37.3°C 24.18Volt ,1.8.2018,12:23:59_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5669,"Total statistics_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5668,"Current cut statistics_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5667,"Landroid at home",1.8.2018,12:23:59_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5666,"Landroid searching home",1.8.2018,12:23:59_ESC_
du_WorxLog_ESC_state_ESC_2018-08-01_ESC_21:57:57_ESC_5665,"Landroid following wire",1.8.2018,12:22:20_ESC_

Jasimo


DS_Starter

Nein, es wird ja die Spalte VALUE gelesen/ausgewertet und nicht EVENT.
Allerdings wird durch den ":" beim Loggen ein Fehler gemacht und in der Spalte Value erscheint nicht der ganze Wert.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Jasimo

Ja, das Problem hab ich auch erkannt. Krieg es aber nicht gelöt. Hast Du ggf. als Profi eine Lösung dafür?
Ich hab ja den aktuellen Logeintrag des Mähers im state eines Dummys und bei dem Dummy lege ich mit Hilfe des attribute "DBLogInclude state" das ganze in die DB.
Nur ist eben bei manchen Logeinträgen des Mähers ein Doppelpunkt der mir dann in der DB ein wenig Probleme macht.

DS_Starter

Im dblog das attr addStateEvent=0 probieren.

Kannst du mir im dbrep die daten mit exportToFile exportieren und das File hier snhängen ?
Dann kann ich es bei mir nachvollziehen.

Grüsse
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Jasimo

das mit dem attr addStateEvent=0 probiere ich mal.
Der Export hängt an

Jasimo

Zitat von: Jasimo am 02 August 2018, 12:46:41
das mit dem attr addStateEvent=0 probiere ich mal.

das setzen von attr addStateEvent=0 sorgt leider dafür, dass die Einträge mit Doppelpunkt garnicht mehr in der DB landen ;-(

DS_Starter

Zitatdas setzen von attr addStateEvent=0 sorgt leider dafür, dass die Einträge mit Doppelpunkt garnicht mehr in der DB landen ;-(
War einen schnellen Versuch wert. Das ist allerdings ein anderes Thema und passt nicht zum eigentlichen Inhalt des Threads.
Ich würde es jetzt erstmal nach hinten schieben. Die Problematik hat etwas mit dem Parsing im DbLog zu tun welches sich an ":" orientiert.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Jasimo


DS_Starter

War jetzt nicht so ganz trivial, aber habe den Fehler gefunden.
Teste die anghängte Version jetzt mal bite bei dir. reload 93_DbRep reicht hier aus.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Jasimo

Hallo,

mit der Version klappt es, klasse!

Gruß
Jan