Autor Thema: Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)  (Gelesen 192902 mal)

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7497
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1515 am: 04 Oktober 2021, 13:39:14 »
Das steht schon bzw. Noch auf meiner ToDo. Mache grad erwas Urlaub. Aber im Herbst und Winter hab ich wieder mehr Zeit für FHEM.

LG
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline RalfRog

  • Full Member
  • ***
  • Beiträge: 128
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1516 am: 05 Oktober 2021, 17:44:25 »
Ich schau regelmäßig nach und bin echt gespannt....  :)

Ich wäre halt mal interessiert ob Andere dies auch beobachten.
Ich muss aber tatsächlich zugeben, dass bei automatisierter Reduzierung und größeren Datenbestände es nicht mehr auffällt  - es sein denn man schaut sich zufälling die Daten des entsprechenden Tages an.

Gruß Ralf

Offline frober

  • Sr. Member
  • ****
  • Beiträge: 905
  • Was man nicht kann, kann man lernen...
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1517 am: 05 Oktober 2021, 18:16:26 »
Ich habe mal die Tage angefangen Min- und Maxwert der Temperatur vom Vortag abzufragen.
Nun bin ich überrascht, dass die Werte nicht einfach durchgereicht werden:

aus
setstate KS300 2021-10-05 18:12:16 temperature 14.8
wird
setstate KS300 2021-10-05 00:10:00 MAXTemp 15.3000
setstate KS300 2021-10-05 00:10:01 MINTemp 11.7000

wo kommen die Stellen hinter dem Komma her?

Muss/kann ich hier noch etwas konfigurieren?
defmod MinMaxTemp DbRep logdb
attr MinMaxTemp allowDeletion 1
attr MinMaxTemp autoForward {\
  ".*MAX.*" => "KS300 => MAXTemp",  \
  ".*MIN.*" => "KS300 => MINTemp",\
}
attr MinMaxTemp device KS300
attr MinMaxTemp fastStart 1
attr MinMaxTemp limit 300
attr MinMaxTemp reading temperature
attr MinMaxTemp room System->DbLog
attr MinMaxTemp showproctime 1
attr MinMaxTemp timestamp_begin previous_day_begin
attr MinMaxTemp timestamp_end previous_day_end
attr MinMaxTemp verbose 1

Danke und Grüße
Bernd
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7497
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1518 am: 05 Oktober 2021, 19:18:15 »
Hallo Bernd,

numerische Ergebnisse werden in DbRep aktuell immer auf 4 Stellen nach dem Komme genau ausgegeben bzw. in deinem Fall mit dieser Genauigkeit übertragen.
Stört es dich oder war es nur eine Frage weil es dir aufgefallen ist ?

Grüße,
Heiko
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline frober

  • Sr. Member
  • ****
  • Beiträge: 905
  • Was man nicht kann, kann man lernen...
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1519 am: 05 Oktober 2021, 19:34:50 »
Hallo Heiko,

aktuell stört es mich nicht.
Es hat mich eher verwirrt, da ja kein neuer Wert berechnet wird.

Änderst du das irgendwann? Wenn man die Daten weiterverarbeitet, ist es evtl. unschön.

Grüße Bernd
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7497
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1520 am: 05 Oktober 2021, 19:42:40 »
Ich hatte eine Änderung jetzt nicht direkt auf dem Schirm, aber nach meinem Urlaub will ich mir die Erweiterung bezüglich Platzhalter/Ersetzungen von §device§, §reading§ (im Thread bisschen weiter oben) nochmal vornehmen. In dem Zusammenhang könnte ich auch ein Attribut für die Anpassung der Nachkommagenauigkeit einführen.

Die Version würde ich zum Testen erstmal im contrib bereitstellen sobald ich dazu gekommen bin.
« Letzte Änderung: 05 Oktober 2021, 19:47:34 von DS_Starter »
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline frober

  • Sr. Member
  • ****
  • Beiträge: 905
  • Was man nicht kann, kann man lernen...
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1521 am: 05 Oktober 2021, 20:09:42 »
Das Attribut würde ich begrüßen, aber wie gesagt, ich habe keine Eile.

Danke schon einmal für deinen Support.
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Offline oldscout

  • Full Member
  • ***
  • Beiträge: 108
  • Manchmal sieht man den Wald vor lauter Bäumen nich
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1522 am: 31 Oktober 2021, 09:29:59 »
Hallo,
darf ich mich hier mit dranhängen:
Problem mit dem Dbrep-Modul:
Einfache CountEntries-Abfrage mit device: TYPE=AMADDEVICE ergibt hier die komplette Anzahl der Datensätze der DB, obwohl mein SQL-Manager nur ca. 10% davon zählt, dieses Problem gibt es auch bei anderen TYPEs. Es sind Abweichung von manchmal mehr als das Doppelte.
Stellt sich jetzt die Frage, wenn man Datensätze löschen will nach TYPE. Werden dann vielleicht alle gelöscht???? Das wäre fatal.

Vielleicht könntest Du Dir das mal anschauen.
Danke schön.

 
FHEM 5.8 auf Intel ATOM CPU
HM-.*, 1-Wire DS18B20, FritzDect 200, HMLAN, HMUSB, Arduino Uno, ESP8266, Enigma2, FB7490, MySql-DB,TP-Link HS100, RaspiCCU

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7497
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1523 am: 31 Oktober 2021, 09:57:10 »
Moin,

ich weiß jetzt nicht wie du mit SQL-Manager diese Abfrage mit TYPE=AMADDEVICE aufbaust.
Aber DbRep löst zunächst die relevanten Devices aus TYPE über FHEM auf und erstellt daraus eine Liste der Device-Selekts in der DB.
Du siehst das resultierende Statement wenn du verbose 4 im Device einstellst und den Befehl ausführst:

Zitat
2021.10.31 09:43:56.874 4: DbRep Rep.SSCam - -------- New selection ---------
2021.10.31 09:43:56.874 4: DbRep Rep.SSCam - Command: countEntries history
2021.10.31 09:43:56.875 4: DbRep Rep.SSCam - timeDiffToNow - year: , day: 10, hour: , min: , sec:
2021.10.31 09:43:56.875 4: DbRep Rep.SSCam - startMonth: 9 endMonth: 9 lastleapyear:  baseYear: 2021 diffdaylight:1 isdaylight:0
2021.10.31 09:43:56.876 4: DbRep Rep.SSCam - FullDay option: 0
2021.10.31 09:43:56.876 4: DbRep Rep.SSCam - Time difference to current time for calculating Timestamp begin: 867601 sec
2021.10.31 09:43:56.877 4: DbRep Rep.SSCam - Timestamp begin human readable: 2021-10-21 09:43:55
2021.10.31 09:43:56.877 4: DbRep Rep.SSCam - Timestamp end human readable: 2021-10-31 09:43:56
2021.10.31 09:43:56.878 4: DbRep Rep.SSCam - Aggregation: no
2021.10.31 09:43:56.952 4: DbRep Rep.SSCam - SQL execute: SELECT COUNT(*) FROM history where ( DEVICE = 'SMA_Energymeter' ) AND TIMESTAMP >= '2021-10-21 09:43:55' AND TIMESTAMP <= '2021-10-31 09:43:56' ;

In dem Beispiel ist TYPE=SMAEM eingestellt und es wird daraus das device SMA_Energymeter ermittelt was im SQL verwendet wird.
Deswegen schaue erstmal wie das SQL bei dir aussieht.
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline oldscout

  • Full Member
  • ***
  • Beiträge: 108
  • Manchmal sieht man den Wald vor lauter Bäumen nich
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1524 am: 02 November 2021, 17:56:10 »
Hallo DS_Starter,
hier bitte das Log:
2021.11.02 17:48:24 4: DbRep dbdel_Handy - -------- New selection ---------
2021.11.02 17:48:24 4: DbRep dbdel_Handy - Command: countEntries history
2021.11.02 17:48:24 4: DbRep dbdel_Handy - Timestamp begin human readable: not set
2021.11.02 17:48:24 4: DbRep dbdel_Handy - Timestamp end human readable: not set
2021.11.02 17:48:24 4: DbRep dbdel_Handy - Aggregation: no
2021.11.02 17:48:25 4: DbRep dbdel_Handy - SQL execute: SELECT COUNT(*) FROM history where 1 ;

hier bitte der Screenshot im Anhang,

und hier bitte auch die SQL-Abfrage, aber im Log sieht man ja schon den Fehler:

SELECT * FROM fhem.history where type like "%AMADDEVICE%";

Danke für die Mühen.

Nachtrag:

Ich sehe gerade, das per Definition der Type so geschrieben wird: AMADDevice, jetzt funktioniert es, das habe ich übersehen. In der DB steht es in Großbuchstaben drin, da habe ich nicht aufgepasst und die Abfrage so gebaut.
Aber warum ist dann die select-Abfrage so ... where = 1 ? Weil das Device nicht gefunden wird? so muss es natürlich alle Datensätze anzeigen.
Könnte man das noch abfangen?

Naja.... ich habe die falsche Brille aufgehabt :=)) ....

« Letzte Änderung: 02 November 2021, 18:16:43 von oldscout »
FHEM 5.8 auf Intel ATOM CPU
HM-.*, 1-Wire DS18B20, FritzDect 200, HMLAN, HMUSB, Arduino Uno, ESP8266, Enigma2, FB7490, MySql-DB,TP-Link HS100, RaspiCCU

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7497
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1525 am: 02 November 2021, 18:43:51 »
Hallo oldscout,

Zitat
Aber warum ist dann die select-Abfrage so ... where = 1 ? Weil das Device nicht gefunden wird? so muss es natürlich alle Datensätze anzeigen.
Könnte man das noch abfangen?
Weil das ein Fehler ist und der Logik geschuldet ist was FHEM zurückgibt wenn es den in TYPE= angegebenen devspec nicht gibt.
Ich konnte es bei mir nachstellen und das muß ich natürlich beheben.
Werde einen fix einbauen und hier Bescheid geben.

Grüße,
Heiko
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7497
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1526 am: 02 November 2021, 21:23:19 »
Habe das Problem gefixt und wird morgen früh mit dem update verteilt.

LG
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline oldscout

  • Full Member
  • ***
  • Beiträge: 108
  • Manchmal sieht man den Wald vor lauter Bäumen nich
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1527 am: 04 November 2021, 18:26:07 »
Sehr schön, danke. Funktioniert.
FHEM 5.8 auf Intel ATOM CPU
HM-.*, 1-Wire DS18B20, FritzDect 200, HMLAN, HMUSB, Arduino Uno, ESP8266, Enigma2, FB7490, MySql-DB,TP-Link HS100, RaspiCCU

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7497
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1528 am: 21 November 2021, 13:24:50 »
Hallo Bernd, @all,

ich habe deinen Request umgesetzt und ein neues Attr zur Einstellung der Nachkommastellen eingebaut:

numDecimalPlaces- Legt die Anzahl der Nachkommastellen bei Readings mit numerischen Ergebnissen fest.
Ausgenommen sind Ergebnisse aus userspezifischen Abfragen (sqlCmd).
(default: 4)

Ist morgen früh im Update enthalten.

Grüße,
Heiko
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline frober

  • Sr. Member
  • ****
  • Beiträge: 905
  • Was man nicht kann, kann man lernen...
Antw:Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)
« Antwort #1529 am: 24 November 2021, 17:07:34 »
Hallo Bernd, @all,

ich habe deinen Request umgesetzt und ein neues Attr zur Einstellung der Nachkommastellen eingebaut:

numDecimalPlaces- Legt die Anzahl der Nachkommastellen bei Readings mit numerischen Ergebnissen fest.
Ausgenommen sind Ergebnisse aus userspezifischen Abfragen (sqlCmd).
(default: 4)

Hallo Heiko,

super, danke dir. :)
Funktioniert wie erwartet und sieht im Reading wesentlich besser aus. ;)

Grüße Bernd
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...
Gefällt mir Gefällt mir x 1 Liste anzeigen

 

decade-submarginal