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
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
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 ;-)
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. ;)
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_
oder liegts an dem Doppelpunkt?
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.
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.
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
das mit dem attr addStateEvent=0 probiere ich mal.
Der Export hängt an
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 ;-(
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.
ok. trotzdem, DANKE!
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.
Hallo,
mit der Version klappt es, klasse!
Gruß
Jan
Ist eingecheckt und im aktuellen Update enthalten :)
Grüße und schönes WE
Heiko
Danke!