Hallo,
ich habe vor kurzem eine Steckdose Shelly Plug S zum Messen vom Stromverbrauch eingerichtet. Dies hat anfangs noch nicht geklappt.
Hatte im Device "DbLog" bei DEF die jeweiligen zu loggenden Readings vergessen.
Jetzt funktioniert es.
Durch das ganze werden mir negative Werte in den Readings (statEnergyLastDay, statEnergyMonth, statEnergyYear) angezeigt.
Habe gelesen (und es dann auch gemacht), dass man die Readings von einen Device löschen kann; mit folgenden Befehl
deleteReading myShelly_Plug_1 statEnergyHour
(für die anderen Readings habe ich ihn auch ausgeführt)
Jetzt werden mir negative Werte angezeigt.
Wie bekomme ich diesen weg?
List vom Device myShellyPlug
Internals:
DEF 192.168.1.42
DURATION 0
FUUID 633ad3ff-f33f-f59f-3348-5e3c38309aa375f1
INTERVAL 2
NAME myShelly_Plug_1
NR 173
SHELLYID shellyplug-s-893C64
STATE off
TCPIP 192.168.1.42
TYPE Shelly
eventCount 116222
Helper:
DBLOG:
energy:
DbLog:
TIME 1665738121.21386
VALUE 72.5
power:
DbLog:
TIME 1665738061.00461
VALUE 0
statEnergyDay:
DbLog:
TIME 1665738121.21386
VALUE 3.2
statEnergyDayLast:
DbLog:
TIME 1665698395.00915
VALUE -15.0
statEnergyHour:
DbLog:
TIME 1665738121.21386
VALUE 1.6
statEnergyHourLast:
DbLog:
TIME 1665719995.01382
VALUE 0.0
statEnergyMonth:
DbLog:
TIME 1665738121.21386
VALUE -11.8
statEnergyYear:
DbLog:
TIME 1665738121.21386
VALUE -11.8
state:
DbLog:
TIME 1665740700.84326
VALUE off
OLDREADINGS:
READINGS:
2022-10-03 14:22:23 cloud disabled
2022-10-14 11:02:01 energy 72.5
2022-10-03 14:22:23 firmware 4
2022-10-14 11:45:08 inttemp 21.85
2022-10-12 19:41:31 network <html>connected to <a href="http://192.168.1.42">192.168.1.42</a></html>
2022-10-14 11:45:01 overpower 0
2022-10-14 11:01:00 power 0
2022-10-14 11:45:01 relay off
2022-10-14 11:45:08 statEnergy Hour: 1.6 Day: 3.2 Month: -11.8 Year: -11.8 (since: 2022-10-13 )
2022-10-14 11:45:08 statEnergyDay 3.2
2022-10-13 23:59:55 statEnergyDayLast -15.0
2022-10-14 11:45:08 statEnergyHour 1.6
2022-10-14 10:59:55 statEnergyHourLast 0.0
2022-10-14 10:59:55 statEnergyLast Hour: 0.0 Day: -15.0 Month: - Year: -
2022-10-14 11:45:08 statEnergyMonth -11.8
2022-10-14 11:45:08 statEnergyYear -11.8
2022-10-14 11:45:08 statPowerDay Min: 0.00 Avg: 0.08 Max: 49.78
2022-10-13 23:59:55 statPowerDayLast Min: 0.00 Avg: 10.00 Max: 51.46
2022-10-14 11:45:08 statPowerMonth Min: 0.00 Avg: 7.60 Max: 51.92 (since: 2022-10-12_10:00:41 )
2022-10-14 11:45:08 statPowerYear Min: 0.00 Avg: 7.60 Max: 51.92 (since: 2022-10-12_10:00:41 )
2022-10-14 11:01:00 state off
helper:
_98_statistics myStatDevice
bm:
Shelly_Get:
cnt 24
dmx -1000
dtot 0
dtotcnt 0
mTS 13.10. 13:37:07
max 0.000155925750732422
tot 0.00225186347961426
mAr:
HASH(0x3f6e580)
myShelly_Plug_1
?
Shelly_Set:
cnt 15160
dmx -1000
dtot 0
dtotcnt 0
mTS 09.10. 17:22:46
max 0.0169467926025391
tot 16.2509860992432
mAr:
HASH(0x3f6e580)
myShelly_Plug_1
off
Attributes:
event-on-change-reading .*
icon measure_power
interval 2
model shellyplug
room Kellerlüftung,Stromverbrauch
Mit deletereading löscht man readings nur im device selbst, nicht im DbLog.
Negative Daten im DbLog kann man bestimmt mit Hilfe eines DbRep devices löschen.
Die negativen stat-Werte kommen ja vom statistics-Device, d.h. die Datenbasis zur Berechnung liegt dort, da hilft es nichts die stat-Readings im "Ziel-Device" zu löschen.
Es gibt doch beim statistics-Device set-Befehle, um die Statistikdaten zurückzusetzen?
Gut dann beginnt die Statistik-Berechnung neu aber das ist doch das was du willst/brauchst?
Gruß, Joachim
Im statistics-Device gibt es den Befehl
set myStatDevice resetStatistics all
Den hätte ich auch durchgeführt gehabt (habe es jetzt nochmal gemacht und beobachte das Ganze)
Bevor ich alles gelöscht habe (mit deleteReading...) , habe ich beim statistics-Device "myStatDevice" das Attributes gesetzt.
attr myStatDevice disable 1
Hier war mein Gedanke, dass während dem löschen nicht neue Daten kommen.
DbRep-Device habe ich versucht einzurichten mit folgenden Befehl. DbLog ist der Name von meinen Device mit dem ich Logge.
(So habe ich es zumindest verstanden)
define Rep.Energy DbRep DbLog
Beim Device Rep.Energy bleibt state aber auf initialized.
Laut DbRep Wiki bedeutet das aber, dass die Verbindung nicht geklappt hat. Es sollte auf connected wechseln
List vom Rep.Energy:
Internals:
CFGFN
DATABASE /opt/fhem/fhem.db
DEF DbLog
FUUID 6349395b-f33f-f59f-8e10-255074fb8c168bc2
FVERSION 93_DbRep.pm:v8.50.3-s26429/2022-09-19
LASTCMD initial database connect stopped due to attribute 'fastStart'
MODEL Client
NAME Rep.Energy
NOTIFYDEV global,Rep.Energy
NR 761
NTFY_ORDER 50-Rep.Energy
ROLE Client
STATE initialized
TYPE DbRep
UTF8 0
eventCount 1
HELPER:
DBLOGDEVICE DbLog
IDRETRIES 3
PACKAGE main
VERSION 8.50.3
Helper:
DBLOG:
state:
DbLog:
TIME 1665743195.73166
VALUE initialized
READINGS:
2022-10-14 12:26:35 state initialized
helper:
bm:
DbRep_Attr:
cnt 1
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 12:26:54
max 0.000133991241455078
tot 0.000133991241455078
mAr:
set
Rep.Energy
room
Testraum
DbRep_Define:
cnt 1
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 12:26:35
max 0.0209510326385498
tot 0.0209510326385498
mAr:
HASH(0x4f12e00)
Rep.Energy DbRep DbLog
DbRep_Get:
cnt 4
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 12:29:27
max 0.000195026397705078
tot 0.000583887100219727
mAr:
HASH(0x4f12e00)
Rep.Energy
?
DbRep_Notify:
cnt 3
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 12:33:27
max 9.89437103271484e-05
tot 0.000262022018432617
mAr:
HASH(0x4f12e00)
HASH(0x955910)
DbRep_Set:
cnt 10
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 12:29:27
max 0.00299811363220215
tot 0.0174672603607178
mAr:
HASH(0x4f12e00)
Rep.Energy
?
Attributes:
room Testraum
Zitat
Beim Device Rep.Energy bleibt state aber auf initialized.
Laut DbRep Wiki bedeutet das aber, dass die Verbindung nicht geklappt hat. Es sollte auf connected wechseln
Der Wiki Beitrag muss angepasst werden, initial ist ok. Das hängt mit dem default von Attr fastStart zusammen.
EDit: erledigt
@DS_Starter
Danke für den Hinweis.
Dann stimmt es soweit.
Habe set Rep.Energy countEntries
ausgeführt.
Als Readings wird mir darufhin folgendes angezeigt.
__COUNT_history__no_aggregation 5902256
Ja, es sind rund 5,9 Mio Einträge in der DB (ohne Eingrenzungen).
Funktioniert also grundsätzlich und kannst nun mit dem Device die DB pflegen was du benötigst.
Zitat von: DS_Starter am 14 Oktober 2022, 14:21:10
Ja, es sind rund 5,9 Mio Einträge in der DB (ohne Eingrenzungen).
Oh je. :-[
Da ist es glaube ich mir "Frühjahrsputz" alleine nicht getan.
Da weiß ich ja gar nicht wo ich anfangen soll bzw. mit welcher Systematik ich vorgehe...
(vorerst zumindest mal das zumindest der Stromverbrauch keine negativen Werte mehr angezeigt)
Ein
attr Rep.Energy device myShelly_Plug_1
und
set Rep.Energy countEntries
gibt jedoch nichts aus.
myShelly_Plug_1 wäre der Name vom Device.
Hier das List vom Rep.Energy:
Internals:
CFGFN
DATABASE /opt/fhem/fhem.db
DEF DbLog
FUUID 6349395b-f33f-f59f-8e10-255074fb8c168bc2
FVERSION 93_DbRep.pm:v8.50.3-s26429/2022-09-19
LASTCMD countEntries history
MODEL Client
NAME Rep.Energy
NOTIFYDEV global,Rep.Energy
NR 761
NTFY_ORDER 50-Rep.Energy
ROLE Client
STATE done
TYPE DbRep
UTF8 1
eventCount 9
HELPER:
DBLOGDEVICE DbLog
IDRETRIES 2
MINTS 2018-12-29 11:20:13
PACKAGE main
VERSION 8.50.3
DBREPCOL:
COLSET 1
DEVICE 64
EVENT 512
READING 64
TYPE 64
UNIT 32
VALUE 128
Helper:
DBLOG:
state:
DbLog:
TIME 1665750448.68971
VALUE done
OLDREADINGS:
READINGS:
2022-10-14 14:27:28 __COUNT_history__no_aggregation 101016
2022-10-14 14:27:28 state done
helper:
bm:
DbRep_Attr:
cnt 2
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 14:26:31
max 0.000918149948120117
tot 0.0010521411895752
mAr:
set
Rep.Energy
device
myShelly_Plug_1
DbRep_Define:
cnt 1
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 12:26:35
max 0.0209510326385498
tot 0.0209510326385498
mAr:
HASH(0x4f12e00)
Rep.Energy DbRep DbLog
DbRep_Get:
cnt 12
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 14:26:37
max 0.000319957733154297
tot 0.00219392776489258
mAr:
HASH(0x4f12e00)
Rep.Energy
?
DbRep_Notify:
cnt 17
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 13:52:59
max 0.000334978103637695
tot 0.00192999839782715
mAr:
HASH(0x4f12e00)
HASH(0x4f12e00)
DbRep_Set:
cnt 37
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 14:26:37
max 0.053555965423584
tot 0.209994792938232
mAr:
HASH(0x4f12e00)
Rep.Energy
countEntries
history
Attributes:
device myShelly_Plug_1
room Testraum
Es gibt einen Setter "sqlSpecial allDevReadCount".
Im Ergebnis erhältst du einen Überblick welche / wieviel Device/Reading - Kombinationen in deine Db sind.
Beispiel:
READINGS:
2022-10-14 14:34:57 SqlResultRow_001 DEVICE|READING|COUNT
2022-10-14 14:34:57 SqlResultRow_002 PR.GIGA.1|presenceAsNum|1557844
2022-10-14 14:34:57 SqlResultRow_003 PR.GIGA.2|presenceAsNum|1470810
2022-10-14 14:34:57 SqlResultRow_004 PR.GTag.AMISL|presenceAsNum|1194970
2022-10-14 14:34:57 SqlResultRow_005 LogDB|notify_processing_time|576414
2022-10-14 14:34:57 SqlResultRow_006 Shelly.shellyplug1|relay_0_energy_Wh|347022
2022-10-14 14:34:57 SqlResultRow_007 ZWave.Switch.2|power|291778
2022-10-14 14:34:57 SqlResultRow_008 ZWave.Switch.1|power|291498
2022-10-14 14:34:57 SqlResultRow_009 og.bad.tablet.ladestation|state|282636
2022-10-14 14:34:57 SqlResultRow_010 og.bad.tablet.ladestation|relay0|282422
2022-10-14 14:34:57 SqlResultRow_011 og.bad.tablet.ladestation|input0|281730
2022-10-14 14:34:57 SqlResultRow_012 Shelly.shellyplug2|relay_0_energy_Wh|274177
2022-10-14 14:34:57 SqlResultRow_013 Shelly.shellyplug3|relay_0_energy_Wh|262410
2022-10-14 14:34:57 SqlResultRow_014 PR.GIGA.1|rssi|216489
2022-10-14 14:34:57 SqlResultRow_015 PR.GIGA.2|rssi|204194
2022-10-14 14:34:57 SqlResultRow_016 Shelly.shellyplug4|relay_0_energy_Wh|179909
2022-10-14 14:34:57 SqlResultRow_017 sysmon.fhem2|state|156361
2022-10-14 14:34:57 SqlResultRow_018 heartbeat.fhem2|touch|145328
2022-10-14 14:34:57 SqlResultRow_019 heartbeat|touch|145183
2022-10-14 14:34:57 SqlResultRow_020 sysmon.fhem2|ram|145160
2022-10-14 14:34:57 SqlResultRow_021 sysmon.fhem2|swap|145160
2022-10-14 14:34:57 SqlResultRow_022 sysmon|ram|145039
2022-10-14 14:34:57 SqlResultRow_023 sysmon|swap|145039
2022-10-14 14:34:57 SqlResultRow_024 sysmon|stat_cpu_percent|145038
2022-10-14 14:34:57 SqlResultRow_025 LogDB|CacheUsage|143328
2022-10-14 14:34:57 SqlResultRow_026 LogDBShort|CacheOverflowLastNum|121312
2022-10-14 14:34:57 SqlResultRow_027 LogDBShort|CacheUsage|103657
....
Vielleicht ist das ein guter erster Ansatz um zu sehen was überflüssig ist und wo es sich am meisten lohnt zu löschen um Platz zu sparen. Als Anregung.
Ansonsten gibt es einen Thread direkt zu DbRep in "Sonstiges". Dort kannst du alle deine Fragen rund um DbRep platzieren.
Wahrscheinlich kommt man hier dann schnell vom Thema weg.
Edit:
Gibt doch etwas aus:
Zitat
2022-10-14 14:27:28 __COUNT_history__no_aggregation 101016
Zitat von: Ruggy am 14 Oktober 2022, 14:25:14
Oh je. :-[
Da ist es glaube ich mir "Frühjahrsputz" alleine nicht getan.
Da weiß ich ja gar nicht wo ich anfangen soll bzw. mit welcher Systematik ich vorgehe...
(vorerst zumindest mal das zumindest der Stromverbrauch keine negativen Werte mehr angezeigt)
wenn Du MySQL einsetzt und auf eine SQL Konsole Zugreifen kannst ist der hier ganz hilfreich, listet dir die Geräte/Reading Kombinationen in der DB zusammen mit der Anzahl DB Einträge. evtl geht das auch als custom SQL Kommando. wäre jetzt aber nicht sicher ob das dafür nicht zu lang ist. :)
use fhem;
select `history`.`DEVICE` AS `device`,`history`.`READING` AS `reading`,count(0) AS `number` from `history` group by `history`.`DEVICE`,`history`.`READING` order by `number` DESC;
Hallo Frank,
das ist doch das Statement was hinter dem Setter "sqlSpecial allDevReadCount" steckt ;)
Man kann dein SQL Statement natürlich im DbRep sqlCmd ausführen lassen und bekommt das Ergebnis als Readings angezeigt.
Zitat von: DS_Starter am 14 Oktober 2022, 16:36:51
das ist doch das Statement was hinter dem Setter "sqlSpecial allDevReadCount" steckt ;)
;D ;D ;D
und das sagst jetzt wo ich das immer in der Konsole ausführe. Danke für die Info! ist gut zu wissen!
:)
Wenn jemand hilfreiche Statements hat die immer wieder gern ausgeführt werden um bestimmte Infos aus der DB zu ziehen kann er sich gerne melden.
Solche Helferlein kann ich unter sqlSpecial gern einbauen.
Ich habe das Thema verschoben, weil es hier "speziell" um das Modul DbRep jetzt geht und lt. @DS_Starter es hier evlt. besser aufgehoben ist.
Das DbRep ist ja ein "mächtiges" Modul mit vielen Funktionen. Wieder etwas neues mit dem ich mich beschäftigen müsste; wie so viele andere "Problemchen" die ich noch zu lösen hätte ;)
Ich habe jetzt was gemacht und bekomme folgenden Fehler im DeviceOverview angezeigt:
Ich hoffe ich habe jetzt nicht schon was kaputt gemacht.
WARNING - countEntries finished, but message after command appeared
Folgendes habe ich durchgeführt, mit dem Device, was ich Rep.Energy genannt habe:
attr Rep.Energy allowDeletion 1
attr Rep.Energy device myShelly_Plug_1
attr Rep.Energy executeAfterProc set Rep.Energy reopen
attr Rep.Energy room Testraum
Dann
set Rep.Energy delEntries
Danach wird genannter Fehler angezeigt.
Im Logfile wird dies angezeigt:
2022.10.14 16:51:00 3: DbRep Rep.Energy - WARNING - running process 9855 will be killed now to start a new operation
2022.10.14 16:51:00 1: DbRep Rep.Energy -> BlockingCall DbRep_del pid:9855 Timeout: process terminated
2022.10.14 16:51:00 2: DbRep Rep.Energy - command message after command: "Unknown argument reopen, choose one of eraseReadings:noArg deviceRename index:list_all,recreate_Search_Idx,drop_Search_Idx,recreate_Report_Idx,drop_Report_Idx delDoublets:adviceDelete,delete delEntries changeValue readingRename exportToFile importFromFile maxValue:display,writeToDB,deleteOther minValue:display,writeToDB,deleteOther fetchrows:history,current diffValue:display,writeToDB insert reduceLog sqlCmd:textField-long sqlSpecial:50mostFreqLogsLast2days,allDevCount,allDevReadCount,50DevReadCount,recentReadingsOfDevice syncStandby tableCurrentFillup:noArg tableCurrentPurge:noArg countEntries:history,current sumValue:display,writeToDB,writeToDBSingle,writeToDBInTime averageValue:display,writeToDB,writeToDBSingle,writeToDBInTime delSeqDoublets:adviceRemain,adviceDelete,delete dumpSQLite:noArg repairSQLite vacuum:noArg restoreSQLite: "
2022.10.14 16:51:16 2: DbRep Rep.Energy - Database command aborted: "Timeout: process terminated"
2022.10.14 16:51:16 1: [Freezemon] myFreezemon: possible freeze starting at 16:51:01, delay is 15.24 possibly caused by: tmr-HMUARTLGW_CheckCredits(myHmUART) tmr-HUEBridge_GetUpdate(deCONZ)
2022.10.14 16:51:16 2: DbRep Rep.Energy - command message after countEntries: "Unknown argument reopen, choose one of eraseReadings:noArg deviceRename index:list_all,recreate_Search_Idx,drop_Search_Idx,recreate_Report_Idx,drop_Report_Idx delDoublets:adviceDelete,delete delEntries changeValue readingRename exportToFile importFromFile maxValue:display,writeToDB,deleteOther minValue:display,writeToDB,deleteOther fetchrows:history,current diffValue:display,writeToDB insert reduceLog sqlCmd:textField-long sqlSpecial:50mostFreqLogsLast2days,allDevCount,allDevReadCount,50DevReadCount,recentReadingsOfDevice syncStandby tableCurrentFillup:noArg tableCurrentPurge:noArg countEntries:history,current sumValue:display,writeToDB,writeToDBSingle,writeToDBInTime averageValue:display,writeToDB,writeToDBSingle,writeToDBInTime delSeqDoublets:adviceRemain,adviceDelete,delete dumpSQLite:noArg repairSQLite vacuum:noArg restoreSQLite: "
2022.10.14 16:51:41 2: DbRep Rep.Energy - command message after countEntries: "Unknown argument reopen, choose one of eraseReadings:noArg deviceRename index:list_all,recreate_Search_Idx,drop_Search_Idx,recreate_Report_Idx,drop_Report_Idx delDoublets:adviceDelete,delete delEntries changeValue readingRename exportToFile importFromFile maxValue:display,writeToDB,deleteOther minValue:display,writeToDB,deleteOther fetchrows:history,current diffValue:display,writeToDB insert reduceLog sqlCmd:textField-long sqlSpecial:50mostFreqLogsLast2days,allDevCount,allDevReadCount,50DevReadCount,recentReadingsOfDevice syncStandby tableCurrentFillup:noArg tableCurrentPurge:noArg countEntries:history,current sumValue:display,writeToDB,writeToDBSingle,writeToDBInTime averageValue:display,writeToDB,writeToDBSingle,writeToDBInTime delSeqDoublets:adviceRemain,adviceDelete,delete dumpSQLite:noArg repairSQLite vacuum:noArg restoreSQLite: "
Du hast fast alles richtig gemacht, aber das Kommando in executeAfterProc
attr Rep.Energy executeAfterProc
set Rep.Energy reopenist falsch. Das reopen gibt es im DbLog-Device, also so:
attr Rep.Energy executeAfterProc set DbLog reopen
So nebenbei, den Namen DbLog für das DbLog-Device halte ich nicht für sonderlich gelungen weil der TYPE schon DbLog ist.
Ist nicht verkehrt, aber könnte manchmal zu einem Knoten im Hirn führen. ;)
Zitat
Ich hoffe ich habe jetzt nicht schon was kaputt gemacht.
Nein, so schnell gehts dann doch nicht. ;)
Jetzt habe ich das attribut geändert und nochmal den set ... Entries ausgeführt.
Folgendes wird jetzt in DeviceOverview angezeigt.
WARNING - delEntries finished, but message after command appeared
Den Namen DbLog habe ich, weil ich wahrscheinlich nach einer Anleitung vorgegangen bin.
Weiß nicht mehr sicher, ob nach Wiki oder einer anderen Anleitung.
Aber stimmt, es kann schon verwirren.
Ja das passt. Die Warnung deutet nur darauf hin, dass das ausgeführte Kommando in executeAfterProc eine Rückmeldung gegeben hat. In dem Fall eben dass die DB wieder geöffnet wurde. Im Log solltest du die Info dazu finden.
Da bin ich froh, dass es so passt :)
Danke für die Hilfe dazu.
Jetzt bin ich mal gespannt, ob die negativen Werte weg sind und dann auch der SVG-Plot richtig dargestellt wird.
Habe ich das richtig verstanden, dass es besser ist, wenn man für jede "Aufgabe" ein eigenes DbRep device anlegt?
Wenn man es für eine Aufgabe benötigt, welche nur einmal ausgeführt werden muss, kann man dieses wieder löschen?
Wenn man etwas immer wieder benötig behält man es natürlich.
Für immer wiederkehrende Aufgaben ist jeweils ein separates DbRep richtig.
Zum probieren, testen und solche Dinge habe ich mehrere universelle DbRep die ich je nach Bedarf umkonfiguriiere. Die lösche ich auch nicht.
Habe jetzt mal den Anfang des derzeit 115 Seiten langen Thread überflogen und festgestellt, dass das DbRep auch evlt. für die Anzeige meiner Verbrauchswerte (Shelly) etwas wäre.
Vom Namen her wäre ich nicht darauf gekommen, dass man es dafür auch nutzen kann, sondern "nur" zum Verwalten der Daten in der Datenbank.
Hierfür muss ich mich aber erst damit mehr beschäftigen, wenn es zeitlich mal passt.
Derzeit und seit kurzem nutze ich das statistics dafür.
Bin erstmal froh, wenn dies jetzt funktioniert. Evtl. hätte ich aber mit DbRep Vorteile.
Außerdem hätte ich auch eine kleine PV-Anlage.
Die Daten logge ich über einen Solarlog 500 und die Daten werden auf einen Raspberry gespeichert, auf welchen "Sieglog" läuft und ich mir die Daten dadurch grafisch darstellen kann.
Dies habe ich nach Anleitung so eingerichtet.
In FHEM habe ich es bisher nicht eingebunden.
Thema Solaranlage ... vielleicht ist das eine Anregung: https://wiki.fhem.de/wiki/Datenbankgest%C3%BCtzte_Erstellung_der_Energiebilanz_einer_SMA_PV-Anlage_mit_%C3%9Cberschusseinspeisung
Passt zum DbRep Thema weil damit die Datenextraktionen gemacht werden.
Danje, schaue ich mir bei Gelegenheit an.
habe aber noch eine ältere Anlage ohne Überschusseinspeisung.
Hat jemand eine Idee, warum jetzt das Modul statistics die Werte im Device myShelly_Plug_1
statEnergyHour
statEnergyHourLast
nicht aktualisiert?
statEnergyDay
statEnergyDayLast
statEnergyMonth
statEnergyYear
wird aber aktualisiert.
List
Internals:
DEF myShelly_Plug_1
DEV_REGEXP myShelly_Plug_1
FUUID 633feb30-f33f-f59f-391f-1ccdcfe2447c4ced
NAME myStatDevice
NOTIFYDEV global,myShelly_Plug_1
NR 175
NTFY_ORDER 10-myStatDevice
PREFIX stat
STATE Updated stats for: myShelly_Plug_1
TYPE statistics
eventCount 138628
Helper:
DBLOG:
state:
DbLog:
TIME 1665855399.68318
VALUE Updated stats for: myShelly_Plug_1
READINGS:
2022-10-09 10:05:51 monitoredDevicesShelly myShelly_Plug_1
2022-10-15 18:59:55 nextPeriodChangeCalc 2022-10-15 19:59:55
2022-10-15 19:36:39 state Updated stats for: myShelly_Plug_1
fhem:
modulVersion $Date: 2022-07-12 07:25:06 +0200 (Tue, 12 Jul 2022) $
nextPeriodChangeTime 1665856795
helper:
bm:
statistics_Notify:
cnt 140215
dmx -1000
dtot 0
dtotcnt 0
mTS 10.10. 18:56:34
max 0.389561891555786
tot 3268.50905227661
mAr:
HASH(0x3f6b718)
HASH(0x3f6e580)
statistics_Set:
cnt 6417
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 16:42:35
max 0.0257971286773682
tot 1.83132743835449
mAr:
HASH(0x3f6b718)
myStatDevice
resetStatistics
all
Attributes:
deltaReadings energy
room Stromverbrauch
singularReadings myShelly_Plug_1:energy:Delta:(Hour|Day|Month|Year)
List myShelly_plug_1
Internals:
DEF 192.168.1.42
DURATION 0
FUUID 633ad3ff-f33f-f59f-3348-5e3c38309aa375f1
INTERVAL 2
NAME myShelly_Plug_1
NR 173
SHELLYID shellyplug-s-893C64
STATE off
TCPIP 192.168.1.42
TYPE Shelly
eventCount 140221
Helper:
DBLOG:
energy:
DbLog:
TIME 1665824520.58977
VALUE 77
power:
DbLog:
TIME 1665824478.08481
VALUE 0
statEnergyDay:
DbLog:
TIME 1665824520.58977
VALUE 3.1
statEnergyDayLast:
DbLog:
TIME 1665784795.01693
VALUE 1.4
statEnergyHour:
DbLog:
TIME 1665827995.01224
VALUE 0.0
statEnergyHourLast:
DbLog:
TIME 1665831595.01448
VALUE 0.0
statEnergyMonth:
DbLog:
TIME 1665824520.58977
VALUE 3.1
statEnergyYear:
DbLog:
TIME 1665824520.58977
VALUE 3.1
state:
DbLog:
TIME 1665855438.54616
VALUE off
OLDREADINGS:
READINGS:
2022-10-03 14:22:23 cloud disabled
2022-10-15 11:02:00 energy 77
2022-10-03 14:22:23 firmware 4
2022-10-15 19:37:25 inttemp 22.12
2022-10-14 13:25:26 network <html>connected to <a href="http://192.168.1.42">192.168.1.42</a></html>
2022-10-15 19:37:18 overpower 0
2022-10-15 11:01:18 power 0
2022-10-15 19:37:18 relay off
2022-10-15 19:37:25 statEnergy Hour: 0.0 Day: 3.1 Month: 3.1 Year: 3.1 (since: 2022-10-15 )
2022-10-15 19:37:25 statEnergyDay 3.1
2022-10-14 23:59:55 statEnergyDayLast 1.4
2022-10-15 19:37:25 statEnergyHour 0.0
2022-10-15 18:59:55 statEnergyHourLast 0.0
2022-10-15 18:59:55 statEnergyLast Hour: 0.0 Day: 1.4 Month: - Year: - (since: 2022-10-14_17:31:59 )
2022-10-15 19:37:25 statEnergyMonth 3.1
2022-10-15 19:37:25 statEnergyYear 3.1
2022-10-15 19:37:25 statPowerDay Min: 0.00 Avg: 0.07 Max: 51.27
2022-10-14 23:59:55 statPowerDayLast Min: 0.00 Avg: 0.06 Max: 50.07 (since: 2022-10-14_17:31:59 )
2022-10-15 19:37:25 statPowerMonth Min: 0.00 Avg: 0.07 Max: 51.27 (since: 2022-10-14_17:31:59 )
2022-10-15 19:37:25 statPowerYear Min: 0.00 Avg: 0.07 Max: 51.27 (since: 2022-10-14_17:31:59 )
2022-10-15 11:01:18 state off
helper:
_98_statistics myStatDevice
bm:
Shelly_Get:
cnt 40
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 12:45:30
max 0.00373506546020508
tot 0.00877022743225098
mAr:
HASH(0x3f6e580)
myShelly_Plug_1
?
Shelly_Set:
cnt 27880
dmx -1000
dtot 0
dtotcnt 0
mTS 09.10. 17:22:46
max 0.0169467926025391
tot 24.9542870521545
mAr:
HASH(0x3f6e580)
myShelly_Plug_1
off
Attributes:
event-on-change-reading .*
icon measure_power
interval 2
model shellyplug
room Kellerlüftung,Stromverbrauch
DEF von DbLog
./db.conf .*:(temperature|humidity|dewpoint|absFeuchte|pressure|state|open|closed|on|off|motion|nomotion|power|energy|statEnergyDay|statEnergyDayLast|statEnergyHour|statEnergyHourLast|statEnergyMonth|statEnergyYear).*
Ich glaube ich habe mal wieder schneller geschrieben als gedacht (also langsam) ;)
Ich glaube es hängt damit zusammen, dass in dieser Stunde und die letzte Stunde keine Strom verbraucht wurde. :-[
Jetzt muß ich mich doch wieder melden, weil wieder negative Werte im myShelly_Plug_1 angezeigt werden.
An was könnte das liegen?
Das Löschen der Werte hat anscheinend bzgl. den negativen Werten nichts bewirkt.
List vom myShelly_Plug_1
Internals:
DEF 192.168.1.42
DURATION 0
FUUID 633ad3ff-f33f-f59f-3348-5e3c38309aa375f1
INTERVAL 2
NAME myShelly_Plug_1
NR 173
SHELLYID shellyplug-s-893C64
STATE off
TCPIP 192.168.1.42
TYPE Shelly
eventCount 151826
Helper:
DBLOG:
energy:
DbLog:
TIME 1665885721.45866
VALUE 1.5
power:
DbLog:
TIME 1665885679.93221
VALUE 0
statEnergyDay:
DbLog:
TIME 1665885721.45866
VALUE 1.5
statEnergyDayLast:
DbLog:
TIME 1665871195.00891
VALUE -73.9
statEnergyHour:
DbLog:
TIME 1665889195.01447
VALUE 0.0
statEnergyHourLast:
DbLog:
TIME 1665892795.01478
VALUE 0.0
statEnergyMonth:
DbLog:
TIME 1665885721.45866
VALUE -72.4
statEnergyYear:
DbLog:
TIME 1665885721.45866
VALUE -72.4
state:
DbLog:
TIME 1665909919.60888
VALUE off
OLDREADINGS:
READINGS:
2022-10-03 14:22:23 cloud disabled
2022-10-16 04:02:01 energy 1.5
2022-10-03 14:22:23 firmware 4
2022-10-16 10:45:41 inttemp 22.66
2022-10-15 23:34:26 network <html>connected to <a href="http://192.168.1.42">192.168.1.42</a></html>
2022-10-16 10:45:19 overpower 0
2022-10-16 04:01:19 power 0
2022-10-16 10:45:19 relay off
2022-10-16 10:45:41 statEnergy Hour: 0.0 Day: 1.5 Month: -72.4 Year: -72.4 (since: 2022-10-15 )
2022-10-16 10:45:41 statEnergyDay 1.5
2022-10-15 23:59:55 statEnergyDayLast -73.9
2022-10-16 10:45:41 statEnergyHour 0.0
2022-10-16 09:59:55 statEnergyHourLast 0.0
2022-10-16 09:59:55 statEnergyLast Hour: 0.0 Day: -73.9 Month: - Year: -
2022-10-16 10:45:41 statEnergyMonth -72.4
2022-10-16 10:45:41 statEnergyYear -72.4
2022-10-16 10:45:41 statPowerDay Min: 0.00 Avg: 0.07 Max: 49.74
2022-10-15 23:59:55 statPowerDayLast Min: 0.00 Avg: 0.57 Max: 51.27
2022-10-16 10:45:41 statPowerMonth Min: 0.00 Avg: 0.36 Max: 51.27 (since: 2022-10-14_17:31:59 )
2022-10-16 10:45:41 statPowerYear Min: 0.00 Avg: 0.36 Max: 51.27 (since: 2022-10-14_17:31:59 )
2022-10-16 04:01:19 state off
helper:
_98_statistics myStatDevice
bm:
Shelly_Get:
cnt 50
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 12:45:30
max 0.00373506546020508
tot 0.00974440574645996
mAr:
HASH(0x3f6e580)
myShelly_Plug_1
?
Shelly_Set:
cnt 37296
dmx -1000
dtot 0
dtotcnt 0
mTS 09.10. 17:22:46
max 0.0169467926025391
tot 29.3826704025269
mAr:
HASH(0x3f6e580)
myShelly_Plug_1
off
Attributes:
event-on-change-reading .*
icon measure_power
interval 2
model shellyplug
room Kellerlüftung,Stromverbrauch
List vom myStatDevice
Internals:
DEF myShelly_Plug_1
DEV_REGEXP myShelly_Plug_1
FUUID 633feb30-f33f-f59f-391f-1ccdcfe2447c4ced
NAME myStatDevice
NOTIFYDEV global,myShelly_Plug_1
NR 175
NTFY_ORDER 10-myStatDevice
PREFIX stat
STATE Updated stats for: myShelly_Plug_1
TYPE statistics
eventCount 150259
Helper:
DBLOG:
state:
DbLog:
TIME 1665909983.17739
VALUE Updated stats for: myShelly_Plug_1
READINGS:
2022-10-09 10:05:51 monitoredDevicesShelly myShelly_Plug_1
2022-10-16 09:59:55 nextPeriodChangeCalc 2022-10-16 10:59:55
2022-10-16 10:46:23 state Updated stats for: myShelly_Plug_1
fhem:
modulVersion $Date: 2022-07-12 07:25:06 +0200 (Tue, 12 Jul 2022) $
nextPeriodChangeTime 1665910795
helper:
bm:
statistics_Notify:
cnt 151838
dmx -1000
dtot 0
dtotcnt 0
mTS 10.10. 18:56:34
max 0.389561891555786
tot 3542.95421409607
mAr:
HASH(0x3f6b718)
HASH(0x3f6e580)
statistics_Set:
cnt 8683
dmx -1000
dtot 0
dtotcnt 0
mTS 14.10. 16:42:35
max 0.0257971286773682
tot 2.43413829803467
mAr:
HASH(0x3f6b718)
myStatDevice
resetStatistics
all
Attributes:
deltaReadings energy
room Stromverbrauch
singularReadings myShelly_Plug_1:energy:Delta:(Hour|Day|Month|Year)
Zitat
Das Löschen der Werte hat anscheinend bzgl. den negativen Werten nichts bewirkt.
Aus der DB wurden die Readings bestimmt gelöscht.
Aber wenn die statistic wieder negative Werte erstellt kommen sie per Logging auch wieder in die DB.
Du müsstest m.M. nach einen neuen Thread für das Statistics Modul eröffnen um die Ursache der negativen Werte zu ermitteln und zu beseitigen.
Ja, die Werte wurden gelöscht. Dies hat funktioniert.
Danke.
Werde einen neuen Thread eröffnen.
Dies wäre im Prinzip der selbe als der Eröffnungsthread von diesem (und zusätzlich, dass die Daten gelöscht wurden).
Oder soll ich diesen wieder verschieben oder verwirrt dies zuviel?
Zitat
Oder soll ich diesen wieder verschieben oder verwirrt dies zuviel?
Nein, nicht verschieben. Das war hier DbRep bzw. Datenbank Thema.
Darum geht es dir ja jetzt nicht mehr.
Alles klar.
Vielen Dank an dieser Stelle :)