2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-01-31 06:39:11 +00:00

93_DbLog: V3.8.9, commandref revised

git-svn-id: https://svn.fhem.de/fhem/trunk@16369 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2018-03-10 08:15:06 +00:00
parent 470cae8ae9
commit 8920a1e0fd
2 changed files with 59 additions and 8 deletions

View File

@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # 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. # 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: fhem.pl: OldReading* added (Forum #85406)
- feature: 93_DbRep: V7.14.3, minTimestamp - get lowest timestamp in database - feature: 93_DbRep: V7.14.3, minTimestamp - get lowest timestamp in database
- bugfix: 72_FB_CALLLIST: fix broken german umlaut in timestamps on - bugfix: 72_FB_CALLLIST: fix broken german umlaut in timestamps on

View File

@ -16,6 +16,7 @@
############################################################################################################################################ ############################################################################################################################################
# Versions History done by DS_Starter & DeeSPe: # 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.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.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) # 3.8.6 25.02.2018 commandref revised (forum:#84953)
@ -190,7 +191,7 @@ use Blocking;
use Time::HiRes qw(gettimeofday tv_interval); use Time::HiRes qw(gettimeofday tv_interval);
use Encode qw(encode_utf8); use Encode qw(encode_utf8);
my $DbLogVersion = "3.8.8"; my $DbLogVersion = "3.8.9";
my %columns = ("DEVICE" => 64, my %columns = ("DEVICE" => 64,
"TYPE" => 64, "TYPE" => 64,
@ -5092,7 +5093,11 @@ sub dbReadings($@) {
<b>Preparations</b> <br><br> <b>Preparations</b> <br><br>
At first you need to setup the database. <br> At first you need to setup the database. <br>
Sample code and Scripts to prepare a MySQL/PostgreSQL/SQLite database you can find in <code>contrib/dblog/&lt;DBType&gt;_create.sql</code>. Sample code and Scripts to prepare a MySQL/PostgreSQL/SQLite database you can find in
<a href="https://svn.fhem.de/trac/browser/trunk/fhem/contrib/dblog">SVN -&gt; contrib/dblog/db_create_&lt;DBType&gt;.sql</a>. <br>
(<b>Caution:</b> The local FHEM-Installation subdirectory ./contrib/dblog doesn't contain the freshest scripts !!)
<br><br>
The database contains two tables: <code>current</code> and <code>history</code>. <br> The database contains two tables: <code>current</code> and <code>history</code>. <br>
The latter contains all events whereas the former only contains the last event for any given reading and device. The latter contains all events whereas the former only contains the last event for any given reading and device.
Please consider the <a href="#DbLogattr">attribute</a> DbLogType implicitly to determine the usage of tables Please consider the <a href="#DbLogattr">attribute</a> DbLogType implicitly to determine the usage of tables
@ -5118,8 +5123,10 @@ sub dbReadings($@) {
<b>create index</b> <br> <b>create index</b> <br>
Due to reading performance, e.g. on creation of SVG-plots, it is very important that the <b>index "Search_Idx"</b> Due to reading performance, e.g. on creation of SVG-plots, it is very important that the <b>index "Search_Idx"</b>
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 or a comparable index (e.g. a primary key) is applied.
<code>contrib/dblog/&lt;DBType&gt;_create.sql</code>. <br><br> A sample code for creation of that index is also available in mentioned scripts of
<a href="https://svn.fhem.de/trac/browser/trunk/fhem/contrib/dblog">SVN -&gt; contrib/dblog/db_create_&lt;DBType&gt;.sql</a>.
<br><br>
The index "Search_Idx" can be created, e.g. in database 'fhem', by these statements (also subsequently): <br><br> The index "Search_Idx" can be created, e.g. in database 'fhem', by these statements (also subsequently): <br><br>
@ -5235,6 +5242,25 @@ sub dbReadings($@) {
By using <a href="https://fhem.de/commandref.html#SVG">SVG</a> database content can be visualized. <br> By using <a href="https://fhem.de/commandref.html#SVG">SVG</a> database content can be visualized. <br>
Beyond that the module <a href="https://fhem.de/commandref.html#DbRep">DbRep</a> can be used to prepare tabular Beyond that the module <a href="https://fhem.de/commandref.html#DbRep">DbRep</a> can be used to prepare tabular
database reports or you can manage the database content with available functions of that module. database reports or you can manage the database content with available functions of that module.
<br><br><br>
<b>Troubleshooting</b> <br><br>
If after successful definition the DbLog-device doesn't work as expected, the following notes may help:
<br><br>
<ul>
<li> Have the preparatory steps as described in commandref been done ? (install software components, create tables and index) </li>
<li> Was "set &lt;name&gt; configCheck" executed after definition and potential errors fixed or rather the hints implemented ? </li>
<li> If configDB is used ... has the database configuration file been imported into configDB (e.g. by "configDB fileimport ./db.conf") ? </li>
<li> When creating a SVG-plot and no drop-down list with proposed values appear -> set attribute "DbLogType" to "Current/History". </li>
</ul>
<br>
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 &lt;name&gt;", the result of "set &lt;name&gt; configCheck" and the
logfile entries of DbLog-device to the forum thread.
<br><br> <br><br>
</ul> </ul>
@ -6039,8 +6065,12 @@ sub dbReadings($@) {
<b>Vorbereitungen</b> <br><br> <b>Vorbereitungen</b> <br><br>
Zunächst muss die Datenbank angelegt werden. <br> Zunächst muss die Datenbank angelegt werden. <br>
Beispielcode bzw. Scripts zum Erstellen einer MySQL/PostgreSQL/SQLite Datenbank ist in <code>contrib/dblog/&lt;DBType&gt;_create.sql</code> Beispielcode bzw. Scripts zum Erstellen einer MySQL/PostgreSQL/SQLite Datenbank ist im
enthalten. <a href="https://svn.fhem.de/trac/browser/trunk/fhem/contrib/dblog">SVN -&gt; contrib/dblog/db_create_&lt;DBType&gt;.sql</a>
enthalten. <br>
(<b>Achtung:</b> Die lokale FHEM-Installation enthält im Unterverzeichnis ./contrib/dblog nicht die aktuellsten
Scripte !!) <br><br>
Die Datenbank beinhaltet 2 Tabellen: <code>current</code> und <code>history</code>. <br> Die Datenbank beinhaltet 2 Tabellen: <code>current</code> und <code>history</code>. <br>
Die Tabelle <code>current</code> enthält den letzten Stand pro Device und Reading. <br> Die Tabelle <code>current</code> enthält den letzten Stand pro Device und Reading. <br>
In der Tabelle <code>history</code> sind alle Events historisch gespeichert. <br> In der Tabelle <code>history</code> sind alle Events historisch gespeichert. <br>
@ -6081,8 +6111,9 @@ sub dbReadings($@) {
</ul> </ul>
<br> <br>
Der Code zur Anlage ist ebenfalls mit in den Scripten in Der Code zur Anlage ist ebenfalls in den Scripten
<code>contrib/dblog/&lt;DBType&gt;_create.sql</code> enthalten. <br><br> <a href="https://svn.fhem.de/trac/browser/trunk/fhem/contrib/dblog">SVN -&gt; contrib/dblog/db_create_&lt;DBType&gt;.sql</a>
enthalten. <br><br>
Für die Verbindung zur Datenbank wird eine <b>Konfigurationsdatei</b> verwendet. Für die Verbindung zur Datenbank wird eine <b>Konfigurationsdatei</b> verwendet.
Die Konfiguration ist in einer sparaten Datei abgelegt um das Datenbankpasswort nicht in Klartext in der Die Konfiguration ist in einer sparaten Datei abgelegt um das Datenbankpasswort nicht in Klartext in der
@ -6189,6 +6220,25 @@ sub dbReadings($@) {
Mit Hilfe <a href="https://fhem.de/commandref_DE.html#SVG">SVG</a> können Datenbankinhalte visualisiert werden. <br> Mit Hilfe <a href="https://fhem.de/commandref_DE.html#SVG">SVG</a> können Datenbankinhalte visualisiert werden. <br>
Darüber hinaus kann das Modul <a href="https://fhem.de/commandref_DE.html#DbRep">DbRep</a> genutzt werden um tabellarische Darüber hinaus kann das Modul <a href="https://fhem.de/commandref_DE.html#DbRep">DbRep</a> genutzt werden um tabellarische
Datenbankauswertungen anzufertigen oder den Datenbankinhalt mit den zur Verfügung stehenden Funktionen zu verwalten. Datenbankauswertungen anzufertigen oder den Datenbankinhalt mit den zur Verfügung stehenden Funktionen zu verwalten.
<br><br><br>
<b>Troubleshooting</b> <br><br>
Wenn nach der erfolgreichen Definition das DbLog-Device nicht wie erwartet arbeitet,
können folgende Hinweise hilfreich sein: <br><br>
<ul>
<li> Wurden die vorbereitenden Schritte gemacht, die in der commandref beschrieben sind ? (Softwarekomponenten installieren, Tabellen, Index anlegen) </li>
<li> Wurde ein "set &lt;name&gt; configCheck" nach dem Define durchgeführt und eventuelle Fehler beseitigt bzw. Empfehlungen umgesetzt ? </li>
<li> Falls configDB in Benutzung ... wurde das DB-Konfigurationsfile in configDB importiert (z.B. mit "configDB fileimport ./db.conf") ? </li>
<li> Beim Anlegen eines SVG-Plots erscheint keine Drop-Down Liste mit Vorschlagswerten -> Attribut "DbLogType" auf "Current/History" setzen. </li>
</ul>
<br>
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 &lt;name&gt;", das Ergebnis von "set &lt;name&gt; configCheck" und die
Ausgaben des DbLog-Device im Logfile im Forumthread posten.
<br><br> <br><br>
</ul> </ul>