93_DbLog - Vorschläge zur Weiterentwicklung

Begonnen von betateilchen, 28 Februar 2014, 20:46:31

Vorheriges Thema - Nächstes Thema

betateilchen

Hallo Tobias,

wie per email gewünscht, hier der neue Thread zur Weiterentwicklung des Datenbank-Loggings.

Den Patch zur Implementierung diverser "set"-Kommandos habe ich Dir schon per email geschickt.
Er enthält im Moment folgende mögliche Kommandos:



set <name> reopen

set <name> count

set <name> deleteOldDays <n>

set <name> userCommand <sqlStatement>



Die Beschreibung der Befehle ist im englischsprachigen pod der Moduldatei enthalten.

Viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Fein, dass es die set-Erweiterung in den Standard geschafft hat :) Jetzt müsste nur noch jemand die deutsche commandref ergänzen.
Vielleicht mach ich das heute Nachmittag während meiner Bahnfahrt.

Und ich hab die Hoffnung noch nicht aufgegeben, dass auch das einfach Auslesen einzelner Werte wie hier beschrieben

http://forum.fhem.de/index.php/topic,20359.0.html

es noch irgendwann in das Modul schafft  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

Hi Udo,
das mergen des Patches steht noch auf meiner Liste, keine Sorge... ist nur noch nicht im SVN

Und das einfache Abfragen funktioniert seit dem letzten commit auch schon:

my %myHash = DbLog_Get("CURRENT", "ARRAY", "", "", "KS300:temperature")

Achtung: nur aus dem Kopf heraus: Beispiel siehe Text2Speech-Modul
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

betateilchen

Hallo Tobias,

schon klar. Aber für  meinen Einsatzzweck viel zu umständlich.
Keine Sorge - ich hab ja mein gepatchtes 93_DbLog, da ist die Funktion schon drin und ich kann mich deshalb in Geduld üben.

Viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Hier kommt die diff Datei für die deutsche commandref zu den SET Befehlen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

#5
Was ich noch nicht verstanden habe ist warum du current-werte auslesen willst. Kommst du mit ReadingsVal nicht weiter?

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Das habe ich doch im angegebenen Thread schon (meiner Meinung nach ausführlich) erklärt. Da wo ich die Werte plotten will, gibt es keine devices, ergo auch keine Readings.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

betateilchen

ich hab hier grade schonmal geantwortet... komisch.

Warum ich das machen will, habe ich meiner Meinung nach im anderen Thread bereits ausführlich erklärt. Da wo ich die Daten brauche, gibt es keine devices und somit auch keine readings.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

Hallo Udo,
deinen Hauptpatch bekomme ich nicht eingespielt. Der 93_diff Patch lief ohne Probleme durch. Kannst du mir den Patch bitte nochmal neu erstellen?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

betateilchen

#8
klar, wenn Du mir nochmal genau beschreibst, welcher Patch nicht funktioniert. Der mit den Readings?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

Der erste den du mir per Mail geschickt hast.

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

betateilchen

ok, die Set Funktionen sind ja schon eingebaut, die Doku dazu stand im vorigen Post.

Wenn Du auf der Suche nach der Readings-Funktion bist, habe ich hier nochmal einen Patch, da ist auch die commandref Doku für diese Funktion schon in beiden Sprachen drin.

Ich hoffe, das war das Gesuchte.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

betateilchen

Hallo Tobias,

sieht gut aus :)


----------
Readings:
     2014-03-08 15:35:05   _dataSource     www.openweathermap.org
     2014-03-08 15:35:05   _decodedWith    XML
     2014-03-08 15:35:05   _httpResponse_c 200 OK
     2014-03-08 15:35:05   c_humidity      73
----------

get dbLog ReadingsVal owo c_humidity 77 liefert: 73

get dbLog ReadingsTimestamp owo c_humidity 77 liefert: 2014-03-08 15:35:05



Danke!
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#13
Hallo Tobias,

irgendwie existiert ein Problem beim Zusammenspiel zwischen DbLog und SVG


2014.03.26 17:36:27.422 3: Connecting to database SQLite:dbname=/opt/fhem/sqldb/logDB.db with user
2014.03.26 17:36:27.431 3: Connection to db SQLite:dbname=/opt/fhem/sqldb/logDB.db established for pid 2981
2014.03.26 17:36:27.506 3: Connecting to database SQLite:dbname=/opt/fhem/sqldb/logDB.db with user
2014.03.26 17:36:27.528 3: Connecting to database SQLite:dbname=/opt/fhem/sqldb/logDB.db with user
2014.03.26 17:36:27.544 3: Connection to db SQLite:dbname=/opt/fhem/sqldb/logDB.db established for pid 2982
2014.03.26 17:36:27.557 3: Connection to db SQLite:dbname=/opt/fhem/sqldb/logDB.db established for pid 2983
2014.03.26 17:36:27.595 3: Connecting to database SQLite:dbname=/opt/fhem/sqldb/logDB.db with user
2014.03.26 17:36:27.624 3: Connection to db SQLite:dbname=/opt/fhem/sqldb/logDB.db established for pid 2984
2014.03.26 17:36:27.632 3: Connecting to database SQLite:dbname=/opt/fhem/sqldb/logDB.db with user
2014.03.26 17:36:27.640 3: Connection to db SQLite:dbname=/opt/fhem/sqldb/logDB.db established for pid 2985
2014.03.26 17:36:27.686 3: Connecting to database SQLite:dbname=/opt/fhem/sqldb/logDB.db with user
2014.03.26 17:36:27.714 3: Connection to db SQLite:dbname=/opt/fhem/sqldb/logDB.db established for pid 2986
2014.03.26 17:36:28.742 3: Connecting to database SQLite:dbname=/opt/fhem/sqldb/logDB.db with user
2014.03.26 17:36:28.770 3: Connection to db SQLite:dbname=/opt/fhem/sqldb/logDB.db established for pid 2987
2014.03.26 17:36:28.833 3: Connecting to database SQLite:dbname=/opt/fhem/sqldb/logDB.db with user
2014.03.26 17:36:28.868 3: Connection to db SQLite:dbname=/opt/fhem/sqldb/logDB.db established for pid 2988


Die 8 Prozesse, die hier eine Verbindung zur Datenbank aufbauen, sind 8 SVG plots, die auf einer Seite in fhem dargestellt werden. Es sieht so aus, als würde jeder SVG Prozess eine eigene Verbindung zur Datenbank aufbauen, anstatt die ohnehin instanziierte Verbindung zu verwenden.

Warum ist das notwendig? Siehst Du eine Möglichkeit, an dieser Stelle etwas zu optimieren?

Edit: ok, ich weiss nun zumindest, dass ohne die vielen Verbindungen nicht korrekt funktioniert 8) Bestimmt komme ich auch noch dahinter, warum das so sein muss (?)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

Sollte eigentlich nicht so sein. Nur eine connection. Ich pruef das mal in meinem log.

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter