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

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

Vorheriges Thema - Nächstes Thema

Didi

jetzt läuft die Sicherung mit aktuellen Version und den folgenden Einstellungen ca 15 Minuten ohne das das Ausgabefile sich verändert hätte. Die Größe ist immer noch 39KB, die Größe der current Tabelle.

Internals:
   DATABASE   fhem
   DEF        logdb
   FUUID      5c52f431-f33f-e11d-c0b2-f1dc4dfa79b37156
   FVERSION   93_DbRep.pm:v8.48.0-s25492/2022-01-17
   LASTCMD    dumpMySQL clientSide
   MODEL      Client
   NAME       repdb
   NOTIFYDEV  global,repdb
   NR         436
   NTFY_ORDER 50-repdb
   ROLE       Client
   STATE      clientSide Dump is running - be patient and see Logfile !
   TYPE       DbRep
   UTF8       1
   HELPER:
     DBLOGDEVICE logdb
     IDRETRIES  3
     PACKAGE    main
     VERSION    8.48.0
     RUNNING_BACKUP_CLIENT:
       abortFn    DbRep_DumpAborted
       bc_pid     131
       finishFn   DbRep_DumpDone
       fn         DbRep_mysql_DumpClientSide
       loglevel   5
       pid        17168
       telnet     telnetForBlockingFn_1643555196_127.0.0.1_58616
       timeout    86400
       abortArg:
       arg:
         name       repdb
         table      history
         hash:
   READINGS:
     2022-01-30 16:12:56   state           clientSide Dump is running - be patient and see Logfile !
Attributes:
   DbLogExclude .*
   DbLogInclude DumpRowsHistory
   aggregation hour
   allowDeletion 1
   dumpDirLocal backup
   dumpMemlimit 50000000
   dumpSpeed  50000
   event-on-update-reading state,DumpRowsHistory
   group      DbLog
   room       Technik->Funktionen
   seqDoubletsVariance 0.15
   showTableInfo %history%,%current%
   timeDiffToNow d:70
   timeOlderThan d:62
   verbose    4

DS_Starter

Ich schaue mir das heute Abend mal an. Irgendwas muß ich wohl übersehen/falsch gemacht haben.
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

Didi

Keine Eile, die alter Version funktioniert ja gut.
Sag Bescheid wenn ich dich noch irgendwie unterstützen kann.

Gruß
Didi

DS_Starter

Hallo Didi, @all,

ich konnte das Problem identifizieren und beseitigen.
Die weiterentwickelte Version ist eingecheckt und morgen früh im Update.
Es enthält auch weitere Changes, wie das verbesserte optizeTable.

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

DS_Starter

Morgen früh gibt es noch ein Update mit eingen kleinen Fixes bzgl. Umlauten im Backup / Restore.
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

Didi

Hallo Heiko,

saubere und schnelle Arbeit. Bei mir läuft in der neue Version

93_DbRep.pm:v8.48.1-s25603/2022-01-31

der Dump wieder wie gewohnt.
Danke
Didi

oelkanne

Hallo,

Habe gerade begonnen mich mit DbRep zu beschäftigen, um meine Datenbank etwas zu schrumpfen.

Sachen wie:
set mylogdb_service reduceLogNbl 7:9 average INCLUDE=%:AM2301_%
set mylogdb_service reduceLogNbl 7:9 average INCLUDE=%:F_%
set mylogdb_service reduceLogNbl 7:9 average INCLUDE=%:temperature
...
funktionieren. Um die Datenbank mit einen Befehl zu shrinken wollte ich nun EXCLUDE nutzen.

set mylogdb_service reduceLogNbl 7:9 average EXCLUDE=%:desiredTemperature,%:POWER%,%:Shutter%,Shelly%:relay%,Shelly%:light%,Handy_%:pres_true,D1_mini_1:Power_Power_curr

Hier werden jedoch Readings desiredTemperature, Shutter1Position, .. nicht excludiert.
Sind bei EXCLUDE evtl. nur Wildcards im Device erlaubt und nicht im Reading?







ch.eick

Zitat von: oelkanne am 05 Februar 2022, 11:44:36
Hallo,

Habe gerade begonnen mich mit DbRep zu beschäftigen, um meine Datenbank etwas zu schrumpfen.

Sachen wie:
set mylogdb_service reduceLogNbl 7:9 average INCLUDE=%:AM2301_%
set mylogdb_service reduceLogNbl 7:9 average INCLUDE=%:F_%
set mylogdb_service reduceLogNbl 7:9 average INCLUDE=%:temperature
...
funktionieren. Um die Datenbank mit einen Befehl zu shrinken wollte ich nun EXCLUDE nutzen.

set mylogdb_service reduceLogNbl 7:9 average EXCLUDE=%:desiredTemperature,%:POWER%,%:Shutter%,Shelly%:relay%,Shelly%:light%,Handy_%:pres_true,D1_mini_1:Power_Power_curr

Hier werden jedoch Readings desiredTemperature, Shutter1Position, .. nicht excludiert.
Sind bei EXCLUDE evtl. nur Wildcards im Device erlaubt und nicht im Reading?
Hey,

haben die readings in der Datenbank wirklich einen ":" im Namen???

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

oelkanne

#1613
Hallo Christian,

Der Syntax ist doch:
reduceLog [<no>[:<nn>]] [average[=day]] [EXCLUDE=device1:reading1,device2:reading2,...] [INCLUDE=device:reading]

..also ein Doppelpunkt zwischen Device und Reading


Oder kommt evtl. DbRep nicht mit dem Unterstrich in Device und reading klar?
Device:                       Reading
MiniTiger4gang_1b    Shutter2_Position
BadEG_Steller        desiredTemperature

Gruß
Oelkanne

DS_Starter

#1614
Hallo zusammen,

Zitat
Sind bei EXCLUDE evtl. nur Wildcards im Device erlaubt und nicht im Reading?
Das ist korrekt. Im EXCLUDE sind keine Wildcards erlaubt.


Oder kommt evtl. DbRep nicht mit dem Unterstrich in Device und reading klar?

Unterstriche sind kein Problem.

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

oelkanne

Hmm,
Klappt immer noch nicht.

set mylogdb_service reduceLogNbl 4:5 average EXCLUDE=%:desiredTemperature,%:Shutter1_Position,%:Shutter2_Position,D1_mini_1:Power_Power_curr

Excludiert die mit Wildcard im Device aufgeführten Readings immer noch nicht. (D1_mini_1:Power_Power_curr
passt)

Datenbankauszug von obigen:





TIMESTAMP          DEVICE                TYPE      EVENT  1      READING      VALUE   UNIT
2022-01-30 02:30:00   Karin_Thermostat         MAX      rl_av_h   desiredTemperature   19.000   \xB0C   
2022-01-30 02:30:00   Ruheraum_Thermostat      MAX      rl_av_h   desiredTemperature   14.750   \xB0C   
2022-01-30 07:30:00   Waschkueche_Steller         MAX      rl_av_h   desiredTemperature   16.000   \xB0C   
2022-01-30 07:30:00   Waschkueche_Wandthermostat   MAX      rl_av_h   desiredTemperature   16.000   \xB0C   

TIMESTAMP          DEVICE            TYPE      EVENT       READING     VALUE   UNIT
2022-01-30 07:30:00   MiniTiger4gang_1b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   52.684      
2022-01-30 07:30:00   MiniTiger4gang_2b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   53.250      
2022-01-30 10:30:00   MiniTiger4gang_3b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   52.842      
2022-01-30 17:30:00   MiniTiger4gang_1b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   46.900      
2022-01-30 17:30:00   MiniTiger4gang_2b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   48.750      
2022-01-30 17:30:00   MiniTiger4gang_3b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   45.600      
2022-01-31 07:30:00   MiniTiger4gang_1b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   54.250      
2022-01-31 07:30:00   MiniTiger4gang_2b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   54.400      
2022-01-31 10:30:00   MiniTiger4gang_3b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   54.200      
2022-01-31 18:30:00   MiniTiger4gang_1b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   45.600      
2022-01-31 18:30:00   MiniTiger4gang_2b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   46.850      
2022-01-31 18:30:00   MiniTiger4gang_3b   MQTT2_DEVICE   rl_av_h   Shutter2_Position   46.000      
2022-01-30 07:30:00   Tuya_CS02_2   MQTT2_DEVICE   rl_av_h   Shutter1_Position   51.300      
2022-01-30 07:30:00   Teepao_1   MQTT2_DEVICE   rl_av_h   Shutter1_Position   51.220      
2022-01-30 07:30:00   MiniTiger4gang_1a   MQTT2_DEVICE   rl_av_h   Shutter1_Position   52.417      
2022-01-30 07:30:00   MiniTiger4gang_3a   MQTT2_DEVICE   rl_av_h   Shutter1_Position   53.700      
2022-01-30 07:30:00   MiniTiger4gang_2a   MQTT2_DEVICE   rl_av_h   Shutter1_Position   53.750      
2022-01-30 07:30:00   Teepao_2   MQTT2_DEVICE   rl_av_h   Shutter1_Position   28.462      
2022-01-30 17:30:00   MiniTiger4gang_1a   MQTT2_DEVICE   rl_av_h   Shutter1_Position   47.280      


Wo habe ich den Gedankenfehler?

Gruß
Oelkanne

DS_Starter

#1616
Ich muß mich korrigieren.

Als erstes ist wichtig, dass wir hier mit DbRep arbeiten, nicht mit dem reduceLogNbl in DbLog !!

Wenn du reduceLog mit den Optionen in der Kommandozeile aufruft, also:


reduceLog [<no>[:<nn>]] [average[=day]] [EXCLUDE=device1:reading1,device2:reading2,...] [INCLUDE=device:reading]


dann kannst du SQL-Wildcards nur im "INCLUDE" verwenden, nicht im EXCLUDE. (steht auch so in der Hilfe zur Funktion)

Arbeitest du aber ohne diese Angaben in der Kommandozeile, also nur mit:


reduceLog [<no>[:<nn>]] [average[=day]]


und stellst die zu bearbeitenden Device/Readings über die Attribute device/reading ein, kannst du die Spezifikation entsprechend der Hilfe zu diesen Attributen verwenden.
Das hat etwas mit dem unterschiedlichen Aufbau der abgeleiten SQL-Statements zu tun.

Aber beachte, reduceLogNbl im DbLog ist zwar von der Bedienung ähnlich, aber die Funktion im DbRep bietet mehr Einstellungsmöglichkeiten. reduceLogNbl im DbLog war der Vorgänger, wird aber dort nicht mehr weiterentwickelt.

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

oelkanne

Vielen Dank für die Erklärungen. Hab' die Regeln nun soweit verstanden.

Eine "Positivliste", um festzulegen welche Daten includiert werden sollen, wie sie sich das mit dem Attr Reading realisieren lässt, gefällt mir sehr gut.

Funktioniert jetzt alles!

Viele Grüße

Oelkanne

ch.eick

Hallo zusammen,
ich bekomme mal wieder eine meldung, wo ich nicht weiß, wo sie her kommt.
Das SQL läuft ohne Fehlermeldung direkt in der MySQL Datenbank.


2022.02.14 13:32:36.034 2: DbRep LogDBRep_PV_Forecast_SQL - DBD::mysql::st execute failed: Out of range value for column '(null)' at row 1 at ./FHEM/93_DbRep.pm line 12969.

Ich habe natürlich jetzt bereits aktualisiert, aber die Meldung bleibt.

Die Ausgabe des SQLs sieht wie folgt aus und würde dann noch mit einem INSERT in die Datenbank geschrieben.

+---------------------+--------+------------------------------+-------+
| TIMESTAMP           | DEVICE | READING                      | VALUE |
+---------------------+--------+------------------------------+-------+
| 2022-02-14 08:00:00 | WR_1   | Solar_Correction_Faktor_auto |   1.6 |
| 2022-02-14 09:00:00 | WR_1   | Solar_Correction_Faktor_auto |   1.6 |
| 2022-02-14 10:00:00 | WR_1   | Solar_Correction_Faktor_auto |   1.6 |
| 2022-02-14 11:00:00 | WR_1   | Solar_Correction_Faktor_auto |   1.2 |
| 2022-02-14 12:00:00 | WR_1   | Solar_Correction_Faktor_auto |   1.0 |
| 2022-02-14 13:00:00 | WR_1   | Solar_Correction_Faktor_auto |   0.9 |
| 2022-02-14 14:00:00 | WR_1   | Solar_Correction_Faktor_auto |   0.7 |
| 2022-02-14 15:00:00 | WR_1   | Solar_Correction_Faktor_auto |   0.6 |
| 2022-02-14 16:00:00 | WR_1   | Solar_Correction_Faktor_auto |   0.6 |
| 2022-02-14 17:00:00 | WR_1   | Solar_Correction_Faktor_auto |   0.2 |
+---------------------+--------+------------------------------+-------+
10 rows in set, 3 warnings (0.15 sec)

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

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