Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)

Begonnen von DS_Starter, 19 Mai 2016, 22:52:13

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo Christian,

ja schaue ich mir gerne mit an.
Bin momentan sowieso dabei den Code in DbRep zu überarbeiten. Wer FHEM regelmäßig updated, hat es vllt. schon bemerkt dass DbRep oft im Update mit dabei ist. Es ist aber nur refactoring, weswegen es für den User keine Änderungen gibt.
Es sei denn ich baue mal Mist.  ;)

Vllt. morgen schon ....

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ch.eick

Zitat von: DS_Starter am 08 Januar 2022, 17:15:07
Hallo Christian,

ja schaue ich mir gerne mit an.
Bin momentan sowieso dabei den Code in DbRep zu überarbeiten. Wer FHEM regelmäßig updated, hat es vllt. schon bemerkt dass DbRep oft im Update mit dabei ist. Es ist aber nur refactoring, weswegen es für den User keine Änderungen gibt.
Es sei denn ich baue mal Mist.  ;)

Vllt. morgen schon ....
Super, das würde mich freuen, dann könnte ich den SQL Code etwas portabler bezüglich der Device und Reading Namen gestalten.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

#1562
Hallo Christian,

ich habe die Erweiterung eingearbeitet.
Die Version habe ich zum Test in mein contrib geladen.

Durch diese Änderung wird die Verwendung der Platzhalter §device§ und §reading§ etwas modifiziert.
Die Auflösung erfolgt komplex, d.h. man verwendet nicht mehr DEVICE=§device§, sondern nur §device§.

An dem Beispiel wird es deutlich:


select DEVICE, READING, count(*) from history where §device§ AND §reading§ AND TIMESTAMP >= §timestamp_begin§ group by DEVICE, READING


Teste die Version bitte. Es wäre sicherlich hilfreich wenn die Version ggf. auch von deinen Mitstreitern im Projekt bzw. auch mit
komplexen SQL außerhalb deines WR-Projektes getestet wird. Du hast ja immer viele SQL's auf Lager.

Wenn alles klappen sollte (ich habe keine Fehler bei mir festgestellt) finalisiere ich die Version und passe auch noch die cref für
sqlCmd an.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ch.eick

Zitat von: DS_Starter am 09 Januar 2022, 15:05:49
Hallo Christian,

ich habe die Erweiterung eingearbeitet.
Die Version habe ich zum Test in mein contrib geladen.

Durch diese Änderung wird die Verwendung der Platzhalter §device§ und §reading§ etwas modifiziert.
Die Auflösung erfolgt komplex, d.h. man verwendet nicht mehr DEVICE=§device§, sondern nur §device§.

An dem Beispiel wird es deutlich:


select DEVICE, READING, count(*) from history where §device§ AND §reading§ AND TIMESTAMP >= §timestamp_begin§ group by DEVICE, READING


Teste die Version bitte. Es wäre sicherlich hilfreich wenn die Version ggf. auch von deinen Mitstreitern im Projekt bzw. auch mit
komplexen SQL außerhalb deines WR-Projektes getestet wird. Du hast ja immer viele SQL's auf Lager.

Wenn alles klaapen sollte (ich habe keine Fehler bei mir festgestellt) finalisiere ich die Version und passe auch noch die cref für
sqlCmd an.

LG,
Heiko
Okay, ich teste das dann morgen mal.
Genau so verwende ich es momentan eh schon und meine Mitstreiter verlassen sich eher auf meine SQL Künste :-)
Kannst Du mir das wget bitte nochmal posten?

LG Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

#1564
Klar:


"wget -qO ./FHEM/93_DbRep.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/93_DbRep.pm"


PS: Habe noch eine Warnung zu doppelter "my" Deklaration beseitigt. Einfach nochmal ziehen.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ch.eick

Zitat von: DS_Starter am 09 Januar 2022, 15:28:42

"wget -qO ./FHEM/93_DbRep.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/93_DbRep.pm"


PS: Habe noch eine Warnung zu doppelter "my" Deklaration beseitigt. Einfach nochmal ziehen.
Hallo Heiko,

ich habe es gerade geladen und meine SQLs ausgeführt.
Bisher konnte ich keine Fehler feststellen.

FVERSION 93_DbRep.pm:v1.1.1-s25411/2022-01-02

Gruß
     Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

Danke für die Rückmeldung Christian.
Ich nehme mir noch ein paar weitere Überarbeitungen vor. Wenn von deiner Seite (oder deiner Mitstreiter im Projekt) keine weiteren Infos kommen werde ich die Version im Laufe der Woche einchecken.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ch.eick

Zitat von: DS_Starter am 10 Januar 2022, 10:42:27
Danke für die Rückmeldung Christian.
Ich nehme mir noch ein paar weitere Überarbeitungen vor. Wenn von deiner Seite (oder deiner Mitstreiter im Projekt) keine weiteren Infos kommen werde ich die Version im Laufe der Woche einchecken.
Ich denke nicht, dass von den Mitstreiter etwas kommen wird ;-)
Momentan müsste ich dann noch warten, bis eine verwendbare DbRep Version in der Verteilung liegt, damit ich den anderen die SQLs bereitstellen kann. Da herscht leider gerade etwas chaos.
Könntest Du da docht eventuell erst eine bereit stellen und dann die anderen Änderungen einbauen?
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

Ja kann ich machen. Werde die comref für sqlCmd anpassen und dann hast du/ihr morgen früh ein offizielles update vorliegen.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ch.eick

Zitat von: DS_Starter am 10 Januar 2022, 10:52:42
Ja kann ich machen. Werde die comref für sqlCmd anpassen und dann hast du/ihr morgen früh ein offizielles update vorliegen.
Heiko, Du bist super :-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ch.eick

Moin Heiko,
erstmal die Rückmeldung, ich konnte bisher keine probleme erkannen. Das Ersetzen der Variablen beim sqlcmp funktioniert somit.

Nun noch zwei Fragen:
- Kann man beim sqlcmd Aufruf das letzte Kommand aus der Kommandowiederholung auch als "Pointer" angeben?
  Wenn man es ansonsten zyklisch wiederholt muss es ja immer komplett wieder übergeben werden. Das SELECT hat formatiert rund 280 Zeilen ;-)
- Wenn DbRep ein SELCT ausgeführt hat wird es als Bandwurm abgelegt, könnte man das auch formatiert belassen, damit man es im Eingabe Editor besser lesen kann?

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

#1572
Hi Christian,

ja, habe dein Monster im anderen Thread schon gesehen.

Zitat
Kann man beim sqlcmd Aufruf das letzte Kommand aus der Kommandowiederholung auch als "Pointer" angeben?
Momentan nicht. Könnte mir vorstellen die Technik an dieser Stelle neu zu schreiben um z.B. in einem Programm so auf ein SQL zugreifen zu können:  SQL = $sqlhist->{<Nummer>}.  Wenn es das ist was du meinst.

Zitat
Wenn DbRep ein SELCT ausgeführt hat wird es als Bandwurm abgelegt, könnte man das auch formatiert belassen, damit man es im Eingabe Editor besser lesen kann?
Ich denke das geht nicht, weil es im FHEMWEB nicht vorgesehen ist Argumente von set/get Kommandos direkt formatiert anzuzeigen. Geht nur indirekt mit den FHEM Widgets, aber nicht aus einer set-Liste.
Glaube auch dass ich es schon mal probiert hatte und daran gescheitert bin.

Grüße,
Heiko


ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ch.eick

Zitat von: DS_Starter am 14 Januar 2022, 13:10:45
Hi Christian,

ja, habe dein Monster im anderen Thread schon gesehen.
Momentan nicht. Könnte mir vorstellen die Technik an dieser Stelle neu zu schreiben um z.B. in einem Programm so auf ein SQL zugreifen zu können:  SQL = $sqlhist->{<Nummer>}.  Wenn es das ist was du meinst.
Hallo Heiko,
genau das meinte ich.
Monster leben länger :-) Du liest also einfach wo anders mit :-) :-)

Und das mit dem formatierten SQL hast Du einfach überlesen, was ich gut verstehn kann.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

DS_Starter

Zitat
Und das mit dem formatierten SQL hast Du einfach überlesen, was ich gut verstehn kann.
Hab ich nicht ... nur blöd formatiert gehabt.  :)
Habs oben geändert
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter