FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Heiner am 15 März 2015, 08:36:33

Titel: DbLog
Beitrag von: Heiner am 15 März 2015, 08:36:33
Hi, bislang habe ich Filelog benutzt und bei einigen Devices 2 Logs in parallel.

Eines hatte alle Werte und wird täglich geschrieben (Datum im Dateinamen)
Ein zweites hat nur wenige Werte, laeuft aber über ein Jahr (nur Jahresangabe im Dateinamen)
Dann habe ich bestimmt das es immer nur 1  Logfile geben soll .

Als Ergebnis habe ich nun nicht so schnell wachsende Logfiles, habe aber für wenige Daten auch langlaeufige Daten.

Nun habe ich auf DBLog umgestellt das performanter sein soll. Das logged erst mal alles, ich weiss auch wie ich die Datenflut einschraenke, aber wie kann ich hier zwischen  kurzverfuegbaren Detaildaten, und dauerhaft gespeicherten Langzeitdaten unterscheiden?

Vielen Dank vier das Feedback.

(Sonntag und es regnet, viel Zeit um mein fhem zu optimieren)
Titel: Antw:DbLog
Beitrag von: franky08 am 15 März 2015, 08:44:32
Hallo, ich hab für diesen Zweck 2 DbLog. In der ersten DbLog Instanz logge ich alles und in der 2. Instanz die Daten von den Energiesensoren (Gas/Strom). Diese Daten (Energie) brauche ich über das ganze Jahr um den Jahresverbrauch zu haben. Die erste Instanz säubere ich alle 2 Monate mit :

Zitatset <name> deleteOldDays <n>

Löscht Datensätze, die älter sind als <n> Tage. Die Anzahl der gelöschten Datensätze wird in das Reading lastRowsDeleted geschrieben.

VG
Frank
Titel: Antw:DbLog
Beitrag von: Heiner am 15 März 2015, 10:27:37
Super klingt nach einer Lösung.

Wie lege ich eine zweite DBLog Instanz an?

Im Moment sieht mein eintrag in fhem so aus:

define myDbLog DbLog /opt/fhem/db.conf (Heizung|Klingel|Pumpe|Wetter|Wechselrichter):.*


waere dann die zweite Instanz z.b. so?

define myDbLog-lang DbLog /opt/fhem/db.conf (Heizung|Klingel|Pumpe|Wetter|Wechselrichter):.*


und der Löschbefehl z.B. so?

set myDbLog deleteoldDays 7

Danke.



Titel: Antw:DbLog
Beitrag von: franky08 am 15 März 2015, 10:43:43
die 2. conf kannst du natürlich nicht so benennen, wie die 1. !!
Leg zuerst eine neue DB an, mit anderem Namen wie die existierende Db, dann eine neue *.conf für die neue Datenbank.

VG
Frank