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

Diese Oberfläche wird ja durch Javascript (fhemweb.js) gestaltet.
Hast du mal einen anderen Browser verwendet ? Oder deinen PC/Laptop restartet ?
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 15 Dezember 2020, 18:21:42
Diese Oberfläche wird ja durch Javascript (fhemweb.js) gestaltet.
Hast du mal einen anderen Browser verwendet ? Oder deinen PC/Laptop restartet ?
Hab jetzt auch den RPI restarted, es bleibt einfach weg. Auch vom Handy oder Tablet ist es einfach weg.
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

Zitat von: DS_Starter am 15 Dezember 2020, 19:18:49
Puh ... da fällt mir grad nix mehr ein ...
Ich habe noch mehr getestet, wenn man auf room geht, erscheint normaler weise ein Popup Fenster, das ist auch weg.
Das mit dem Java scheint schon die richtige Idee zu sein, aber wo man das wieder gerade biegen kann weiß ich auch nicht.
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

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

Thowe

Hallo Heiko,
dbrep ermittelt '-' für einen sumValue über einen einzigen Eintrag in der DB mit value=0. Ist das gewollt?

   READINGS:
     2021-01-02 14:21:11   2021-01-01__Solar_Monatsenergieertrag_calc__no_aggregation -
     2021-01-02 14:21:11   background_processing_time 0.0067
     2021-01-02 14:21:11   sql_processing_time 0.0026
     2021-01-02 14:21:11   state           done
Attributes:
   aggregation no
   device     Tagesgesamtenergieertrag_Solar
   reading    state
   readingNameMap Solar_Monatsenergieertrag_calc
   showproctime 1
   timestamp_begin current_month_begin
   timestamp_end previous_day_end

mit DB-Eintrag:

MariaDB [fhem]> select * from history where device = 'Tagesgesamtenergieertrag_Solar' and timestamp >= '2021-01-01 00:00:00';
+---------------------+--------------------------------+-------+----------+---------+-------+------+
| TIMESTAMP           | DEVICE                         | TYPE  | EVENT    | READING | VALUE | UNIT |
+---------------------+--------------------------------+-------+----------+---------+-------+------+
| 2021-01-01 23:59:59 | Tagesgesamtenergieertrag_Solar | DUMMY | state: 0 | state   | 0     |      |
+---------------------+--------------------------------+-------+----------+---------+-------+------+


SQL:
MariaDB [fhem]> select sum(value) from history where device = 'Solar_Monatsenergieertrag' and timestamp >= '2021-01-01 00:00:00';
+------------+
| sum(value) |
+------------+
|          0 |
+------------+
1 row in set (0.001 sec)



Viele Grüße,
Thowe

DS_Starter

Hallo Thowe,

Nein, da sollte evenfalls 0 kommen.
Werde es am we korrigieren.

Danke für den Hinweis.

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

DS_Starter

Hallo Thowe, @all,

habe das von dir gemeldete Problem gefixt und eingecheckt.

Außerdem habe ich fastStart (siehe Attribut fastStart) als Standard für Clients eingebaut.
Das bedeutet, dass sich die DbRep-Devices erst mit der DB verbinden wenn sie etwas zu tun bekommen und nicht sofort bei FHEM Start. Insbesondere bei vielen definierten DbReps kann es sonst bei Start unter Umständen zu Verzögerungen bzw. RAM-Belastung durch Perl-fork kommen.

Devices vom Typ "Agent" verbindne sich nach wie vor sofort zur DB.

Ist morgen früh im Update. Wer es gleich einbauen möchte, kann die neue V downloaden.
Zum Download in der FHEMWEB Kommandozeile inklusive der Ausführungszeichen angeben und danach FHEM restarten:


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


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

Thowe

Hallo Heiko,
sumValue über value=0 funktioniert, vielen Dank.
Mit guten Wünschen für das neue Jahr
Thowe

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

abc2006

Hab ein issue in der Doku entdeckt:

bei sumValue:

writeToDBSingle : writes only one value with the time stamp XX:XX:59 at the end of an evaluation period


Nach meinem Verständnis (und meinen Tests) müsste es heissen "at the end of an aggregation period" - oder?
Zumindest schreibt er bei
attr aggregation day
die Werte jeden Tag um 23:59:59 in die Datenbank und nicht nur am datum timestamp_end.
Falls nicht, erklär mir doch bitte den Hintergrund - den hab ich dann nicht verstanden.

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

DS_Starter

Hallo Stephan,

danke für den Hinweis. Es ist ist so wie du geschrieben hast.
Werde die commandref anpassen.

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

Hallo Heiko,

ich wollte in einem sqlCmd auf die readings, die man als Attribut setzen kann zugreifen. Geht das überhaupt?


LASTCMD

SELECT DATE,
       READING,
       cast(avg(VALUE) AS DECIMAL(6,2)) AS AVG,
       WEEKDAY
  FROM
    (
     SELECT DATE_FORMAT(TIMESTAMP, '%Y-%m-%d') AS DATE,
            READING,max(VALUE)                 AS VALUE,
            weekday(TIMESTAMP)                 AS WEEKDAY
     FROM history
     WHERE DEVICE    =  §device§
       AND READING   =  §reading§
       AND TIMESTAMP >= §timestamp_begin§
       AND TIMESTAMP <= §timestamp_end§
     GROUP BY DATE
    ) t1
  GROUP BY WEEKDAY;

Es kommt folgender Fehler

errortext DBD::mysql::st execute failed: Unknown column '§device§' in 'where clause' at ./FHEM/93_DbRep.pm line 6414.


Den Syntax habe ich aus einem sqlSpecial entnommen :-)

Die Abfrage würde einen Zählerstand, der über den Tag wächst, als Durchschnitt pro Wochentag ausgeben.
Ich würde dann im Forum meine diversen SQLs auf DbRep angepasst veröffentlichen, da nicht alle Anwender direkt in MySQL abfragen können/möchten.

Viele Grüße
   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

Hallo Christian,

momentan kann man über sqlCmd nur auf §timestamp_begin§, §timestamp_end§ zugreifen, aber nicht §device§, §reading§ zugreifen.

Im Prinzip kann man diese Möglichkeit auch relativ einfach einbauen. Ich habe das bisher vermieden weil es für die Attribute device, reading vielfältige Eingabemöglichkeiten gibt die im ungünstigen Fall in einem sqlCmd zu Fehlern führen können.
Eingabemöglichkeiten wären zum Beispiel:


Beispiele:
attr <name> device TYPE=DbRep
attr <name> device MySTP_5000
attr <name> device SMA.*,MySTP.*
attr <name> device SMA_Energymeter,MySTP_5000
attr <name> device %5000
attr <name> device TYPE=SSCam EXCLUDE=SDS1_SVS
attr <name> device TYPE=SSCam,TYPE=ESPEasy EXCLUDE=SDS1_SVS
attr <name> device EXCLUDE=SDS1_SVS
attr <name> device EXCLUDE=TYPE=SSCam


Für das Attr reading sieht es ähnlich aus.
Ich denke du weißt was ich meine.
Wäre es denn dir sehr wichtig einen solchen Zugriff zu haben ?

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