Hallo Zusammen,
ich nutze DbLog und wollte dies nun auch als Schnittstelle zu eigenen Tabellen nutzen.
Ist es dabei richtig, dass userCommandResult nur ein "Teilergebnis" liefert?
Anders ausgedrückt:
-> Ein SELECT auf Datenbankebene bringt mehrere Ergebnisse, das userCommandResult zeigt dabei aber nur den ersten "Wert" des Ergebnisses an - unabhängig davon ob die Werte doppelt oder unterschiedlich sind (also kein GROUP BY).
Kann man auch ein vollständiges Ergebnis über DbLog erhalten?
Danke,
Kharim
-----
Internals:
COLUMNS field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
CONFIGURATION ./db.conf
DEF ./db.conf .*:().*
MODE synchronous
MODEL POSTGRESQL
NAME logdb
NR 157
NTFY_ORDER 50-logdb
PID 830
REGEXP .*:().*
STATE connected
TYPE DbLog
VERSION 3.13.0
dbconn Pg:database=fhem;host=127.0.0.1
dbuser fhem
HELPER:
COLSET 1
DEVICECOL 64
EVENTCOL 512
OLDSTATE connected
READINGCOL 64
TYPECOL 64
UNITCOL 32
VALUECOL 128
Helper:
DBLOG:
countHistory:
logdb:
TIME 1556708442.67937
VALUE 5337895
READINGS:
2019-05-01 13:00:46 countCurrent 476928
2019-05-01 13:00:42 countHistory 5337895
2019-05-01 13:13:41 state connected
2019-05-01 13:08:04 userCommand SELECT wmpgr from wmpgr
2019-05-01 13:08:04 userCommandResult BK40
cache:
index 0
Attributes:
DbLogInclude countHistory
DbLogSelectionMode Include
room LogDB
siehe "oben"
2019-05-01 13:08:04 userCommand SELECT wmpgr from wmpgr
2019-05-01 13:08:04 userCommandResult BK40
Auf Datenbankebene
-SELECT wmpgr from fhem.wmpgr-
"BK40"
"BK40"
"Test2"
Hallo Kharim,
das userCommand in DbLog ist nur eine sehr einfache Implementierung für Datenbankabfragen und ich überlege diese Funktion an dieser Stelle nicht mehr zu unterstützen weil es immer wieder Fragen dieser Art gibt.
Für Datenbankauswertungen jeglicher Art gibt es schon lange das nicht blockierend arbeitende DbRep-Modul.
Dort wirst du vermutlich alles finden was du benötigst.
Erläuterungen auch im Wiki: https://wiki.fhem.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten
Grüße,
Heiko