Habe fhem gemäss WIKI von filelog auf dblog umgestellt, Datenbank funktioniert, Tabellen erstellt, db modul in FHem funktioniert. Kann aber keine Grafen erstellen, dann erscheint Fehlermeldung "missing data in logfile: won't write incomplete .gplot definition".
Kurz gesagt, ich wollte es machen wie vorher mit filelog, klappt aber nicht. Was mache ich falsch?
Moin braintuner,
1. FHEM update gemacht?
2. https://forum.fhem.de/index.php/topic,62998.0.html (https://forum.fhem.de/index.php/topic,62998.0.html) gesehen?
Grüße
sunny
Danke,
- Ja update gemacht - keine Änderung, alles neu gestartet - keine Änderung
- den Forumbeitrag gelesen - ich glaube, da ich sqlite einsetze, hilft es nicht weiter
- vielleicht sollte ich noch erwähnen, dass FHEM auf einem Cubietruck läuft - falls das wichtig ist..
Hallo poste mal was sqlite > .tables ausgibt
Zitat von: franky08 am 13 Januar 2017, 19:35:21
Hallo poste mal was sqlite > .tables ausgibt
current frontend history
Da ich seit geraumer Zeit kein DBLog mehr verwende, kann ich da iMo nicht nachsehen aber du solltest, wenn ich mich recht erinnere in DbLog das Attribut CURRENT und History (Logtype war das, glaub ich) setzen und in der Plotdefinition CURRENT setzen. 100%ig kann ich dir das aber nicht sagen.
Zitat"missing data in logfile: won't write incomplete .gplot definition".
Die Meldung sagt aber das du keine Daten in der DB hast!
VG
Frank
Nachdem der TE keine Angaben macht wie er den Plot angelegt hat werf ich einfach mal eine meiner funktionierenden Definition hier rein:
Internals:
DEF myDbLog:tempact3db:HISTORY
GPLOTFILE tempact3db
LOGDEVICE myDbLog
LOGFILE HISTORY
NAME wl_EG_Wohnz_HZ
NOTIFYDEV global
NR 175
STATE initialized
TYPE SVG
Attributes:
fixedrange 4days
label "EG_Wohnzimmer_Heizung Ist: $data{currval1} °C, Soll: $data{currval3} °C, Ventil: $data{currval2} %"
nrAxis 1,2
plotfunction EG_Wohnzimmer_Heizung
room 05_Plots_Heizung,06_Tempvergleich_Keller
Mein "Einwurf" enstammt einem
list wl_EG_Wohnz_HZ
in der FHEM-Befehlszeile.
FHEM läuft auf einem Cubie - die sqlite3-DB liegt auf einer SSD am Cubie.
Das ist aber egal solange die Definition richtig ist und auch Daten vorhanden sind wobei - ohne Daten wird dir zumindest mal der Rahmen des Plots gezeigt (meine ich zumindest).
Also wäre erstmal wichtig zu wissen wie du den Plot definiert hast - steht auch so in meinem angepinnten Beitrag (vermutlich übersehen ;) ).
Zitat von: franky08 am 13 Januar 2017, 19:46:01
Da ich seit geraumer Zeit kein DBLog mehr verwende, kann ich da iMo nicht nachsehen aber du solltest, wenn ich mich recht erinnere in DbLog das Attribut CURRENT und History (Logtype war das, glaub ich) setzen und in der Plotdefinition CURRENT setzen. 100%ig kann ich dir das aber nicht sagen.
Die Meldung sagt aber das du keine Daten in der DB hast!
VG
Frank
Das war´s!!!
Tausend Dank!!! :)
P.S. Was verwendest Du denn statt dblog und warum (sorry für die Frage)
Zitat von: Puschel74 am 13 Januar 2017, 19:56:26
Nachdem der TE keine Angaben macht wie er den Plot angelegt hat werf ich einfach mal eine meiner funktionierenden Definition hier rein:
Internals:
DEF myDbLog:tempact3db:HISTORY
GPLOTFILE tempact3db
LOGDEVICE myDbLog
LOGFILE HISTORY
NAME wl_EG_Wohnz_HZ
NOTIFYDEV global
NR 175
STATE initialized
TYPE SVG
Attributes:
fixedrange 4days
label "EG_Wohnzimmer_Heizung Ist: $data{currval1} °C, Soll: $data{currval3} °C, Ventil: $data{currval2} %"
nrAxis 1,2
plotfunction EG_Wohnzimmer_Heizung
room 05_Plots_Heizung,06_Tempvergleich_Keller
Mein "Einwurf" enstammt einem
list wl_EG_Wohnz_HZ
in der FHEM-Befehlszeile.
FHEM läuft auf einem Cubie - die sqlite3-DB liegt auf einer SSD am Cubie.
Das ist aber egal solange die Definition richtig ist und auch Daten vorhanden sind wobei - ohne Daten wird dir zumindest mal der Rahmen des Plots gezeigt (meine ich zumindest).
Also wäre erstmal wichtig zu wissen wie du den Plot definiert hast - steht auch so in meinem angepinnten Beitrag (vermutlich übersehen ;) ).
Vielen Dank!!! Gelöst!
ZitatP.S. Was verwendest Du denn statt dblog und warum (sorry für die Frage)
FileLog :)
Das stammt von Rudi und funktioniert 100%ig und das mir in der Vergangenheit DbLog und somit die Datenbank 3mal komplett abgeschmiert war und eine Datenrettung mittels dump (wegen DbLog und SSD) auch nicht möglich war, habe ich komplett auf FileLog umgestellt.
Zitat von: franky08 am 13 Januar 2017, 20:10:36
FileLog :)
Das stammt von Rudi und funktioniert 100%ig und das mir in der Vergangenheit DbLog und somit die Datenbank 3mal komplett abgeschmiert war und eine Datenrettung mittels dump (wegen DbLog und SSD) auch nicht möglich war, habe ich komplett auf FileLog umgestellt.
Danke! :)
Das stimmt mich nachdenklich..
Ich benutze DbLog auf meinem Cubie seit ~3 Jahren (seit meiner Umstellung von FileLog auf DBLog) und bei mir ist DBLog noch nie "abgeschmiert".
Dank LogProxy ist DBlog für übergreifende Plots nicht mehr notwendig aber LogProxy kam erst nachdem ich auf DBLog umgestellt hatte.
Laut betateilchen ist das ein bekanntes Problem bei sqlite und SSD, ist aber schon "ewig" her, beim kopieren der DB oder dumpen hing plötzlich die SSD (Host war dann nur noch ro gemountet) außerdem ist mir FileLog lieber da ich ohne Aufwand sofort in die Log Files sehen/editieren kann und wenn ich mal die Größe einer fhem.db und aller FileLogs vergleiche, selbst wenn in die DB nur ausgewählte Datensätze geloggt werden, da war ich mit DbLog und einem halben Jahr loggen schnell bei 6GB (und ich habe nie alles geloggt).
VG
Frank
P.S. Ich muss mal sehen ob ich den Thread noch finde :)
Zitat von: Puschel74 am 13 Januar 2017, 21:13:59
Ich benutze DbLog auf meinem Cubie seit ~3 Jahren (seit meiner Umstellung von FileLog auf DBLog) und bei mir ist DBLog noch nie "abgeschmiert".
Dank LogProxy ist DBlog für übergreifende Plots nicht mehr notwendig aber LogProxy kam erst nachdem ich auf DBLog umgestellt hatte.
Danke für die Info! :)
Der einzige Grund für die ursprüngliche Umstellung auf DBLog waren also die übergreifenden plots?
Übergreifende Plots gehen mit FileLog genau so :)
VG
Frank
Zitat von: betateilchen am 26 April 2016, 19:42:27
Muss er nicht. Den beschriebenen i/o Fehler bei solchen sqlite Operationen kann ich auch bei mir zuverlässig reproduzieren. Aber nur auf SSD Platten, auf mechanischen Platten ist das hier noch nie passiert.
https://forum.fhem.de/index.php/topic,52685.0.html
Meine sqlite3-DB hat zur Zeit 1,8 GB - ich logge nur das was ich brauche (was ich meine zu brauchen weil ob ich das wirklich "brauche" - na ich weiß nicht).
Der Cubie bootet aus dem nand und das restliche Filesystem liegt auf einer eigenen Partition auf der SSD.
Wenn ich mal Zeit übrig hab werf ich meinen Ersatz-Cubie an und geb dem die Aufgabe eines Fileserver für mein DBLog - aber solange alles rund läuft nutze ich meine Freizeit für anderes.
Zitat von: franky08 am 13 Januar 2017, 21:28:33
Übergreifende Plots gehen mit FileLog genau so :)
VG
Frank
Hab ich doch geschrieben - aber erst seit der Einführung von LogProxy.
Damals gab es noch keine Möglichkeit aus 2 Logfiles EINEN Plot zu machen.
Aber man konnte damals schon von unterschiedlichen devices in EIN Logfile schreiben (jetzt absorb) und somit ein Plot erstellen ;)
Jep, dazu mussten aber die gewünschten Geräte in EIN Logfile schreiben.
Und nachträgliches hinzufügen ging zwar aber die hinzugefügten Devices wurden erst ab dem Zeitpunkt des hinzufügens angezeigt.
Wenn man damals aber schon DBLog benutze brauchte man sich keine Gedanken machen in welches Logfile das Device seinen Daten schreibt - der Plot konnte alles seit anlegen des Device anzeigen :P