Regexp bei DbLog / FileLog

Begonnen von walterschmitz, 04 Mai 2015, 00:19:40

Vorheriges Thema - Nächstes Thema

walterschmitz

Hallo,

http://fhem.de/commandref_DE.html#DbLog wäre so die richtige Anlaufstelle denke ich.
Ich würde gerne ein DBLog laufen lassen, aber hier steht eigentlich nicht wirklich was dazu drin, was man wie machen muss... oder ich versteh es nicht.
Beispiel:
define <name> DbLog <configfilename> <regexp>

- Welche Datenbank können genutzt werden, was muss bei den <parametern> beachtet werden. weiter unten steht was von MySql/ Postgress, aber gibt es nicht noch mehr Datenbanken unter Linux? Oder werden nur diese beiden unterstützt?

- <regexp>... suche ich nach regexp in der Doku steht bei jedem RegExp irgendwie was anderes. Und beim Verweis auf Filelog steht auch nur The regexp will be checked against the device name devicename:event or timestamp:devicename:event combination. Ein Beispiel wäre hier sicherlich sinnvoll, um es besser zu verstehen!

- Die Perl-Module DBI and DBD::<dbtype> mössen installiert werden: Gehört das jetzt zum nachträglichen Installieren der von mir ausgewählten DB oder zu FHEM?

- Beispiel Datenbank:
Muss man alles in einer DB in den beiden Tabelle eintragen oder ist das von FHEM als sinnvoll erachtet? Alternativ wäre ja für jedes Device eine Tabelle anlegen und dort reinschreiben (vergleich dem FileLog, nur halt nicht unzählige Dateien sondern alles an einer Stelle)

- define myDbLog DbLog /etc/fhem/db.conf .*:.*
.*:.* wäre dann der RegExp? hier steht beispielsweise nichts von Device:Event? So ganz ohne Erklärung ist das raten im dunkeln? :(

- Set-Befehle: hier ist auf <name> verwiesen. Ich unterstelle mal <name> = <dbname>?
set <name> count
Zählt die Datensätze in den Tabellen current und history und schreibt die Ergebnisse in die Readings countCurrent und countHistory. Was sind jetzt die Readings? Readings sind wieder die Werte, die vom Device empfangen werden? Oder sind es jetzt die Readings aus der Datenbank. Ist countCurrent jetzt eine Variable die ich irgendwo abfragen soll / kann oder wird es eine einzelner neuer Tabelleneintrag vergleichbar mit current oder history gibt es dann noch die Tabellen coundCurrent und countHistory?

Ich denke, ich brauch vor der Umstellung wohl noch etwas Nachhilfe :(

LuckyDay