dblog - Umstellung von Filelog

2,767 views
Skip to first unread message

AitschPi

unread,
Dec 23, 2012, 8:48:49 AM12/23/12
to fhem-...@googlegroups.com
Da mich die kiloweisen Logdateien von FileLog stören, möchte ich das alles oder zumindest so viel wie möglich davon in mysql speichern. Da sind Daten erfahrungsgemäß viel viel besser aufgehoben und auch besser auswertbar (zumindest theoretisch). Die Anbindung an die Datenbank funktioniert, das habe ich über

define myDbLog DbLog /etc/fhem_db.conf .*:.*

problemlos hinbekommen, da wird jetzt schon alles hintereinanderweg reingeschrieben. Kann ich jetzt eigentlich auf die FileLogs verzichten und trotzdem die netten Grafiken und einzelnen gerätebezogenen Logs auslesen? Wie mache ich das? Einzelne Abschnitte sind ja mal hier und mal da zu finden, aber weder funktioniert die Referenz für dblog noch finde ich da zusammenhängende Anleitungen oder Abschnitte von Beispielkonfigurationen. Wichtig wäre für mich die Auswertung von Wettersensoren (Temp, Luftfeuchte) und FHT (Temp, Öffnung). Hat da jemand was zu bieten?

Nebenbei: Sollte ich die DbLog aus dem contrib oder dem Modulverzeichnis nehmen? Ist die im Modulpfad an die updatefunktion angebunden?

Erwin

unread,
Dec 23, 2012, 12:15:22 PM12/23/12
to fhem-...@googlegroups.com
ok,
du schreibst, das logging funktioniert....

1) versuch mal: get myDbLog - - 2012-12-22 2012-12-23 AussenTempHum:temperature::
    in der cmd-line vom FHEM einzutippen, wobei den roten teil musst du auf deinen devicenamen anpassen...
    Das Ergebnis sollte soo aussehen:
   
2012-12-20_00:08:13 3.9
2012-12-20_00:11:09 3.9
2012-12-20_00:14:06 3.8
2012-12-20_00:17:03 3.8
2012-12-20_00:20:00 3.7
2012-12-20_00:22:57 3.7
2012-12-20_00:28:51 3.8
          .........

Wenn das funktioniert, wissen wir, dass du aus der SQL-DB auslesen kannst....

2) dann kommt der nächste Schritt - das plotten...
    such mal hier nach dblog, da findest du einen entry: bitte testen... - da hat Tobias ein Beispiel für den Plotfile beschrieben.

PS: verwende die dbplot aus dem Hauptverzeichniss, im contrib steht möglicherweise eine version, an der Tobias gerade arbeitet, und ja, die aus dem Hauptverzeichniss wird mittels update heruntergeladen.

l.g. erwin

AitschPi

unread,
Dec 23, 2012, 5:52:17 PM12/23/12
to fhem-...@googlegroups.com
Hm, funktioniert irgenwie nicht wirklich. Auf das Kommando

get myDbLog - - 2012-12-22 2012-12-23 bo.TempDach:temperature::

kommt nur das Ergebnis

#bo.TempDach:temperature::

Wenn ich direkt bei myphpadmin mal etwas suche, finde ich die Ergebnisse: (hier current statt history, da dort zu viele Daten liegen)

SELECT * FROM `current` WHERE `DEVICE` = 'bo.TempDach'

Dort kommen die korrekten Ergebnisse... Woran kann es liegen? Ich habe das dblog aus dem Pfad contrib der aktuellen svn genommen.

AitschPi

unread,
Dec 23, 2012, 6:02:26 PM12/23/12
to fhem-...@googlegroups.com
(mit der Datei aus dem Modulpfad aus der aktuellen svn ist das Ergebnis gleich)

Erwin Menschhorn

unread,
Dec 24, 2012, 3:38:42 AM12/24/12
to fhem-...@googlegroups.com

mhh....

1) FHEM holt die daten aus history.
2) bin mir jetzt überhaupt nicht sicher... was mir auffällt
bo.TempDach:temperature:: ich vermute mal, bo.TempDach wird als regex interpretiert, und da könnte der punkt mehr als stören!!
kannst du mit einem devices versuchen, das keinen punkt hat?
3) um meine Vermutung zu überprüfen:
loglevel vom myDblog auf 5 setzen
verbose im Global-device auf 5
das get absetzen. dann sollte das SQL- statement im Log auftauchen...

l.g. erwin
--
send via http://forum.fhem.de

tobias.faust

unread,
Dec 24, 2012, 3:48:00 AM12/24/12
to fhem-...@googlegroups.com
loglevel von dblog auf 0 setzen, Get absetzen, SQL aus dem Log im phpmyadmin testen, ggf hier posten wenn immer noch nicht klar.

BTW: zZ ist das dblogModul im Contrib und Hauptverzeichnis identisch, bin zuzZeit Krank und dann noch weihnachtsstress...

AitschPi

unread,
Dec 24, 2012, 5:04:44 AM12/24/12
to fhem-...@googlegroups.com
@Tobias: Weihnachtsstress? Habe ich nicht, zumindest solange ich mich nicht mit dem Laptop statt dem Kochlöffel erwischen lasse... ;o)

@ Erwin, Tobias und alle anderen:
Ich probiere das später nochmal. Ich hatte current statt history genommen, da dort nur ein Wert droin ist - Ergebnis mit history ist bei SQL positiv. Ich benenne dann mal ein Gerät um. Bis später - und schön brav feiern.

AitschPi

unread,
Dec 25, 2012, 4:10:34 AM12/25/12
to fhem-...@googlegroups.com
Also das GET in DbLog scheint zu gehen, auf die Anfrage

get myDbLog - - 2012-12-24 2012-12-25 Wetter:temperature::


kamen dann die Ergebnisse

2012-12-24_00:30:33 9
2012-12-24_01:00:33 9
2012-12-24_01:30:33 8
...
2012-12-24_23:00:33 12
2012-12-24_23:30:33 12
#Wetter:temperature:::

Bei meinen 433er-Sachen gibt es irgendein anderes Problem. Ich empfange weder irgendeinen Temperatursensor, noch arbeiten die Funksteckdosen AB440 mit ihrer Fernbedienung zusammen. Es ist so als ob ein massiver Störsender am Werk ist. Vielleicht spinnt ja eine der Steckdosen...
Aber das ist eine andere Baustelle.

tobias.faust

unread,
Dec 25, 2012, 7:11:42 AM12/25/12
to fhem-...@googlegroups.com
Also musst du im gplot-file die dbplot direktive mit einbauen:

#DbPlot Wetter:temperature

und dann einen Weblink vom Typ dbPlot erstellen

AitschPi

unread,
Dec 27, 2012, 10:42:25 PM12/27/12
to fhem-...@googlegroups.com
Ok, meine Funkprobleme sind beseitigt, in die .plot-Deklarationen habe ich mich etwas eingelesen. Muss ich aber für JEDE device einen Eintrag in xyz.gplot machen? Kann ich gleich die vorhandenen Dateien nutzen und neben den dort vorhandenen #Filelog -Einträgen die #DbPlot einbinden?

Tobias Faust

unread,
Dec 28, 2012, 1:37:31 AM12/28/12
to fhem-...@googlegroups.com

Die #FileLog Einträge können Drin bleiben, die werden beim DbLog ignoriert.

Zumindest musst du für jede PlotGruppe ein gplot file erstellen. Bau erstmal ein funktionierendes.
Zum Schluss wenns läuft kanst du die #DbPlot Definition über den <SPECx> i das Attribut plotfunction auslagern -> commandref und das gplot File für mehrere Devices benutzen

AitschPi

unread,
Dec 28, 2012, 6:18:59 AM12/28/12
to fhem-...@googlegroups.com
..dann wird am Wochenende wohl wieder ein FHEM-Basteltag einzuplanen sein. Danke! ;o)
Reply all
Reply to author
Forward
0 new messages