From 8920a1e0fd4cb17ea2a4cac002423d2668b7d70f Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Sat, 10 Mar 2018 08:15:06 +0000 Subject: [PATCH] 93_DbLog: V3.8.9, commandref revised git-svn-id: https://svn.fhem.de/fhem/trunk@16369 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/93_DbLog.pm | 66 +++++++++++++++++++++++++++++++++++++------ 2 files changed, 59 insertions(+), 8 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index a59c53cdf..5fd8dab6e 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - change: 93_DbLog: V3.8.9, commandref revised - feature: fhem.pl: OldReading* added (Forum #85406) - feature: 93_DbRep: V7.14.3, minTimestamp - get lowest timestamp in database - bugfix: 72_FB_CALLLIST: fix broken german umlaut in timestamps on diff --git a/fhem/FHEM/93_DbLog.pm b/fhem/FHEM/93_DbLog.pm index 2a21fcbac..39a38c2f1 100644 --- a/fhem/FHEM/93_DbLog.pm +++ b/fhem/FHEM/93_DbLog.pm @@ -16,6 +16,7 @@ ############################################################################################################################################ # Versions History done by DS_Starter & DeeSPe: # +# 3.8.9 10.03.2018 commandref revised # 3.8.8 05.03.2018 fix device doesn't exit if configuration couldn't be read # 3.8.7 28.02.2018 changed DbLog_sampleDataFn - no change limits got fron SVG, commandref revised # 3.8.6 25.02.2018 commandref revised (forum:#84953) @@ -190,7 +191,7 @@ use Blocking; use Time::HiRes qw(gettimeofday tv_interval); use Encode qw(encode_utf8); -my $DbLogVersion = "3.8.8"; +my $DbLogVersion = "3.8.9"; my %columns = ("DEVICE" => 64, "TYPE" => 64, @@ -5092,7 +5093,11 @@ sub dbReadings($@) { Preparations

At first you need to setup the database.
- Sample code and Scripts to prepare a MySQL/PostgreSQL/SQLite database you can find in contrib/dblog/<DBType>_create.sql. + Sample code and Scripts to prepare a MySQL/PostgreSQL/SQLite database you can find in + SVN -> contrib/dblog/db_create_<DBType>.sql.
+ (Caution: The local FHEM-Installation subdirectory ./contrib/dblog doesn't contain the freshest scripts !!) +

+ The database contains two tables: current and history.
The latter contains all events whereas the former only contains the last event for any given reading and device. Please consider the attribute DbLogType implicitly to determine the usage of tables @@ -5118,8 +5123,10 @@ sub dbReadings($@) { create index
Due to reading performance, e.g. on creation of SVG-plots, it is very important that the index "Search_Idx" - or a comparable index (e.g. a primary key) is applied. A sample code for creation of that index is also available at the mentioned scripts in - contrib/dblog/<DBType>_create.sql.

+ or a comparable index (e.g. a primary key) is applied. + A sample code for creation of that index is also available in mentioned scripts of + SVN -> contrib/dblog/db_create_<DBType>.sql. +

The index "Search_Idx" can be created, e.g. in database 'fhem', by these statements (also subsequently):

@@ -5235,6 +5242,25 @@ sub dbReadings($@) { By using SVG database content can be visualized.
Beyond that the module DbRep can be used to prepare tabular database reports or you can manage the database content with available functions of that module. +


+ + Troubleshooting

+ If after successful definition the DbLog-device doesn't work as expected, the following notes may help: +

+ + +
+ + If the notes don't lead to success, please increase verbose level of the DbLog-device to 4 or 5 and observe entries in + logfile relating to the DbLog-device. + + For problem analysis please post the output of "list <name>", the result of "set <name> configCheck" and the + logfile entries of DbLog-device to the forum thread.

@@ -6039,8 +6065,12 @@ sub dbReadings($@) { Vorbereitungen

Zunächst muss die Datenbank angelegt werden.
- Beispielcode bzw. Scripts zum Erstellen einer MySQL/PostgreSQL/SQLite Datenbank ist in contrib/dblog/<DBType>_create.sql - enthalten. + Beispielcode bzw. Scripts zum Erstellen einer MySQL/PostgreSQL/SQLite Datenbank ist im + SVN -> contrib/dblog/db_create_<DBType>.sql + enthalten.
+ (Achtung: Die lokale FHEM-Installation enthält im Unterverzeichnis ./contrib/dblog nicht die aktuellsten + Scripte !!)

+ Die Datenbank beinhaltet 2 Tabellen: current und history.
Die Tabelle current enthält den letzten Stand pro Device und Reading.
In der Tabelle history sind alle Events historisch gespeichert.
@@ -6081,8 +6111,9 @@ sub dbReadings($@) {
- Der Code zur Anlage ist ebenfalls mit in den Scripten in - contrib/dblog/<DBType>_create.sql enthalten.

+ Der Code zur Anlage ist ebenfalls in den Scripten + SVN -> contrib/dblog/db_create_<DBType>.sql + enthalten.

Für die Verbindung zur Datenbank wird eine Konfigurationsdatei verwendet. Die Konfiguration ist in einer sparaten Datei abgelegt um das Datenbankpasswort nicht in Klartext in der @@ -6189,6 +6220,25 @@ sub dbReadings($@) { Mit Hilfe SVG können Datenbankinhalte visualisiert werden.
Darüber hinaus kann das Modul DbRep genutzt werden um tabellarische Datenbankauswertungen anzufertigen oder den Datenbankinhalt mit den zur Verfügung stehenden Funktionen zu verwalten. +


+ + Troubleshooting

+ Wenn nach der erfolgreichen Definition das DbLog-Device nicht wie erwartet arbeitet, + können folgende Hinweise hilfreich sein:

+ + +
+ + Sollten diese Hinweise nicht zum Erfolg führen, bitte den verbose-Level im DbLog Device auf 4 oder 5 hochsetzen und + die Einträge bezüglich des DbLog-Device im Logfile beachten. + + Zur Problemanalyse bitte die Ausgabe von "list <name>", das Ergebnis von "set <name> configCheck" und die + Ausgaben des DbLog-Device im Logfile im Forumthread posten.