Probleme beim DBLog- SVG Plot zeigt nicht alle DEVICES

Begonnen von Beckzman, 17 Juli 2019, 12:48:26

Vorheriges Thema - Nächstes Thema

Beckzman

Moin,

ich hab eine MariaDB und meinen FHEM Server.
Die DB steht auf "connected"

Wenn ich jetzt ein SVG Plot erzeugen möchte, fehlen Devices unter "DEVICES:READING"
In der Datenbank sind aber definitiv Einträge.


FVERSION  93_DbLog.pm:v4.1.1-s19529/2019-06-02

DS_Starter

Was fehlt denn genau ?
Wichtig ist zu wissen, dass hier der Inhalt der current Tabelle relevant ist und nicht die Einträge in der history !
Dazu muss das Attribut

DbLogType  Current/History

im DbLog gesetzt sein.

Grüße,
Heiko
Proxmox+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

Jewe

Zitat von: DS_Starter am 17 Juli 2019, 16:11:41
Was fehlt denn genau ?
Wichtig ist zu wissen, dass hier der Inhalt der current Tabelle relevant ist und nicht die Einträge in der history !
Dazu muss das Attribut

DbLogType  Current/History

im DbLog gesetzt sein.

Grüße,
Heiko
Das wird "nur" für die Anzeige verwendet, oder hängt damit aber dieses Thema zusammen
Defining DbLog SVG-Plots with :CURRENT is deprecated. Please define DbLog SVG-Plots with :HISTORY instead of :CURRENT. (define <mySVG> SVG <DbLogDev>:<gplotfile>:HISTORY) 2019.07.17 17:49:49 3

Jens

Gesendet von meinem F5121 mit Tapatalk


DS_Starter

Hallo Jens,

jetzt müssen wir aufpassen nichts zu vermischen.
Die current Tabelle wird lediglich als "Ausfüllhilfe" beim Anlegen des Plots benutzt. Advanced User werden sogar meistens auf die current verzichten und die benötigten Angaben im Editor manuell erledigen. Das ist mit dem Vorteil verbunden, auch Regex zur Manipulation im Editor mit angeben zu können.

Die Mitteilung, die du gezeigt hast, sagt aus, dass du in deiner Plot-Definition (Plotfile) Referenzen auf die current-Tabelle enthalten hast. Die sollen aber nicht (mehr?) verwendet werden !

Ich kenne nicht die ganze Entwicklungsgeschichte des Moduls DbLog, aber es war wohl früher durchaus üblich/möglich Werte aus der current anzuzeigen, was irgendwann mal deprecated wurde.
Heute ist die current de facto nur eine Ausfüllhilfe.

Grüße,
Heiko
Proxmox+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

Jewe

Hallo Heiko,

super, dann hatte ich es doch richtig verstanden. Dachte einen Moment damit das Problemchen lösen zu können....
In der DB habe ich nur die History Tabelle. Meine SVG´s sind alle auf die History Tabelle umgestellt, nach dem wechsel von Log-File auf DB-Log.
Trotzdem muss in den untiefen vom Fhem der mist noch irgendwo drinstehen :-) Werde es irgendwann finden.

Danke und Entschuldigung für das Kapern. Zur eigentlichen Frage kann ich leider nichts beisteuern....

Jens

Beckzman

DbLogType  steht auf "Current/History"

Was mir fehlt sind Einträge, also "DEVICES" die ich im SVG Plot benutzen will. Ich kann sie allerdings nicht auswählen.
Die DropDown Liste endet bei Geräten mit dem Anfangsbuchstaben "G" und dann kommt nur noch "left,right, left log und right log"
Wann wir die DropDownListe gefüllt? Das sollten doch alles DEVICES aus der history Tabelle sein oder?

DS_Starter

ZitatDie DropDown Liste endet bei Geräten mit dem Anfangsbuchstaben "G" und dann kommt nur noch "left,right, left log und right log"
Naja das sind recht eigentümliche Einträge.
Hast du mal mit einem SQL-Editor bzw. mit einem DbRep-Device mit "set <dbrep> fetchrows current" in die Tabelle geschaut ?

ZitatWann wir die DropDownListe gefüllt? Das sollten doch alles DEVICES aus der history Tabelle sein oder?
Die current wird bei jedem Log-Vorgang mit upgedated. Das bedeutet, es werden nur Devices in der current upgedated die es  aktuell gibt und deren Events auch geloggt werden. Historische Devices oder Devices die umbenannt wurden usw. werden sich unter Umständen in der current nicht wiederfinden falls die mal gelöscht wurde oder neu erstellt u. dgl.

Aber man kann die current auch "manuell" neu aufbauen. Dafür gibt es zum Beispiel in einem definierten DbRep-Device den Befehl:

set <dbrep> tableCurrentFillup

Damit wird die current mit den in der history vorhandenen Device/Reading-Kombinationen aufgefüllt. Der umfang kann im DbRep auch durch Attribute beeinflusst werden.

Die Tabelle kann man auch leeren mit

set <dbrep> tableCurrentPurge

Dann noch der Hinweis, dass man natürlich auch im Editor die Einträge manuell editieren kann.
Um den Editor dafür freizugeben, ist das Attribut DbLogType  nur auf "History" zu setzen.

Grüße,
Heiko
Proxmox+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

Beckzman

Kurzes Update:
    Ich habe die "current" Tabelle einmal komplett geleert. Danach wurden auch wieder die richtigen Werte und Devices angezeigt.


Danke