[gelöst] Readings vom statistics Modul ändern

Begonnen von Fritz Muster, 12 Juli 2019, 21:57:42

Vorheriges Thema - Nächstes Thema

Fritz Muster

Hallo in die Runde,

ich möchte gerne die Readings welche aus einem statistics Modul resultieren ändern. Ich habe unter https://forum.fhem.de/index.php/topic,34497.msg279246.html#msg279246
folgende Hinweis gefunden.

FHEM shutdown
Die fhem.save editieren und in die .Readings Deine Startwerte eintragen.
FHEM neu starten

Leider klappt das bei mir nicht. Nach fhem shutdown habe ich die Werte in der fhem.save entsprechend geändert und gespeichert. Nach Start von fhem sind aber wieder die alten Werte in den Readings.

Hat jemand eine Idde wie ich die Werte ändern kann?

Danke
Fritz
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

KölnSolar

Hallo Fritz,
der Weg ist schon richtig. Du scheinst etwas falsch gemacht zu haben. Zeig mal die Daten von statistics und den dazugehörigen readings.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Fritz Muster

#2
Hallo Markus,

hier das list von meinem Arducounter in dem die statistcis readings sind

Internals:
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH02KF7X-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH02KF7X-if00-port0@38400
   FD         4
   FUUID      5cf6acc7-f33f-7a30-7ab1-e16fc841f61e2155
   LASTOPEN   1562959399.69866
   NAME       S0CounterWp
   NOTIFYDEV  global
   NR         169
   NTFY_ORDER 50-S0CounterWp
   PARTIAL   
   STATE      opened
   TYPE       ArduCounter
   VersionModule 6.14 - 24.2.2019
   buffer     
   devioLoglevel 3
   nextOpenDelay 60
   READINGS:
     2019-06-24 21:00:11   S0DurchflWp_l   0
     2019-07-12 21:59:55   S0EnergieWp_kWh 8691.25
     2019-07-12 21:59:55   S0WaermemWp_MW  0
     2019-07-12 21:59:55   mvavWpDurchfluss 0.000
     2019-07-12 21:59:55   statS0EnergieWp_kWh Hour: 0.00 Day: 0.00 Month: 8691.25 Year: 8691.25 (since: 2019-06-25 )
     2019-07-12 21:59:55   statS0EnergieWp_kWhDay 0.00
     2019-07-12 06:27:41   statS0EnergieWp_kWhDayLast 0
     2019-07-12 21:59:55   statS0EnergieWp_kWhLast Hour: 0.00 Day: 8691.25 Month: 0 Year: - (since: 2019-06-25 )
     2019-07-12 21:59:55   statS0EnergieWp_kWhMonth 8691.25
     2019-06-30 23:59:55   statS0EnergieWp_kWhMonthLast 0
     2019-07-12 21:59:55   statS0EnergieWp_kWhYear 8691.25
     2019-07-12 21:59:55   statS0WaermemWp_MW Hour: 0 Day: 0 Month: 0 Year: 0 (since: 2019-06-25 )
     2019-07-12 21:59:55   statS0WaermemWp_MWDay 0
     2019-07-11 23:59:55   statS0WaermemWp_MWDayLast 0
     2019-07-12 21:59:55   statS0WaermemWp_MWLast Hour: 0 Day: 0 Month: 0 Year: - (since: 2019-06-25 )
     2019-07-12 21:59:55   statS0WaermemWp_MWMonth 0
     2019-06-30 23:59:55   statS0WaermemWp_MWMonthLast 0
     2019-07-12 21:59:55   statS0WaermemWp_MWYear 0
     2019-07-12 21:23:19   state           opened
   helper:
     _98_statistics staStatistics
Attributes:
   factor     1
   flashCommand avrdude -p atmega328P -c arduino -P [PORT] -b 57600 -U flash:w:[HEXFILE] 2>[LOGFILE]
   pinD3      rising pullup 30
   pinD4      rising pullup 100
   pinD5      rising pullup 100
   readingFactor3 500
   readingFactor4 1
   readingFactor5 10000000
   readingNameCount3 S0LeistungWp_Imp
   readingNameCount4 S0WaermemWp_Imp
   readingNameCount5 S0DurchflWp_Imp
   readingNamePower3 S0LeistungWp_W
   readingNamePower4 S0WaermemWp_cbm
   readingNamePower5 S0DurchflWp_l
   userReadings S0EnergieWp_kWh monotonic { sprintf("%.4f", ReadingsVal("S0CounterWp","S0LeistungWp_Imp",0))/2000;},S0WaermemWp_MW monotonic { sprintf("%.4f", ReadingsVal("S0CounterWp","S0WaermemWp_Imp",0))/1000;},mvavWpDurchfluss {movingAverage("S0CounterWp","S0DurchflWp_l",120)}
   userattr   pinD3 pinD4 pinD5 readingFactor3 readingFactor4 readingFactor5 readingNameCount3 readingNameCount4 readingNameCount5 readingNamePower3 readingNamePower4 readingNamePower5


und hier noch das list vom statistics modul

Internals:
   DEF        mdbsSmartMeter|mdbsWechselrichter|S0CounterWp
   DEV_REGEXP mdbsSmartMeter|mdbsWechselrichter|S0CounterWp
   FUUID      5cf6acc5-f33f-7a30-ebc7-6a0105ca06c5b69d
   NAME       staStatistics
   NOTIFYDEV  global,mdbsSmartMeter|mdbsWechselrichter|S0CounterWp
   NR         152
   NTFY_ORDER 10-staStatistics
   PREFIX     stat
   STATE      Updated stats for: mdbsSmartMeter
   TYPE       statistics
   READINGS:
     2019-07-12 21:23:19   monitoredDevicesArduCounter S0CounterWp
     2019-07-12 21:23:20   monitoredDevicesFronius_Modbus mdbsWechselrichter
     2019-07-12 21:23:20   monitoredDevicesFronius_Modbus_Meter mdbsSmartMeter
     2019-07-12 21:59:55   nextPeriodChangeCalc 2019-07-12 22:59:55
     2019-07-12 22:09:28   state           Updated stats for: mdbsSmartMeter
   fhem:
     modulVersion $Date: 2018-03-18 19:51:57 +0100 (Sun, 18 Mar 2018) $
     nextPeriodChangeTime 1562965195
Attributes:
   deltaReadings Energy_total_imp__kWh,Energy_total_exp__kWh,Energy_Total__kWh,Direktverbrauch__kWh,S0EnergieWp_kWh,S0WaermemWp_MW,countsOverall
   disable    0
   ignoreDefaultAssignments 1
   room       KG_Heizungsraum
   singularReadings mdbsSmartMeter:Energy_total_imp__kWh:Delta:Hour|mdbsSmartMeter:Energy_total_exp__kWh:Delta:Hour|mdbsWechselrichter:Energy_Total__kWh:Delta:Hour|mdbsSmartMeter:Direktverbrauch__kWh:Delta:Hour|S0CounterWp:S0EnergieWp_kWh:Delta:(Day|Month|Year)|S0CounterWp:S0WaermemWp_MW:Delta:(Day|Month|Year)|hcnWpAbtauung:countsOverall:Delta:(Day|Month|Year)


Habe gerade nochmal in der fhem.save nachgeschaut. dort stehen noch die Werte, wie ich sie geändert habe

setstate S0CounterWp opened
setstate S0CounterWp 2019-06-24 21:00:11 S0DurchflWp_l 0
setstate S0CounterWp 2019-07-12 21:06:29 S0EnergieWp_kWh 8691.25
setstate S0CounterWp 2019-07-12 21:06:29 S0WaermemWp_MW 0
setstate S0CounterWp 2019-07-12 21:06:29 mvavWpDurchfluss 0.000
setstate S0CounterWp 2019-07-12 21:06:29 statS0EnergieWp_kWh Hour: 0.00 Day: 0.00 Month: 0.00 Year: 2689.25 (since: 2019-06-25 )
setstate S0CounterWp 2019-07-12 21:06:29 statS0EnergieWp_kWhDay 0.00
setstate S0CounterWp 2019-07-12 06:27:41 statS0EnergieWp_kWhDayLast 0
setstate S0CounterWp 2019-07-12 20:59:55 statS0EnergieWp_kWhLast Hour: 0.00 Day: 0.00 Month: 0 Year: - (since: 2019-06-25 )
setstate S0CounterWp 2019-07-12 21:06:29 statS0EnergieWp_kWhMonth 0.00
setstate S0CounterWp 2019-06-30 23:59:55 statS0EnergieWp_kWhMonthLast 0
setstate S0CounterWp 2019-07-12 21:06:29 statS0EnergieWp_kWhYear 2689.25
setstate S0CounterWp 2019-07-12 21:06:29 statS0WaermemWp_MW Hour: 0 Day: 0 Month: 0 Year: 0 (since: 2019-06-25 )
setstate S0CounterWp 2019-07-12 21:06:29 statS0WaermemWp_MWDay 0
setstate S0CounterWp 2019-07-11 23:59:55 statS0WaermemWp_MWDayLast 0
setstate S0CounterWp 2019-07-12 20:59:55 statS0WaermemWp_MWLast Hour: 0 Day: 0 Month: 0 Year: - (since: 2019-06-25 )
setstate S0CounterWp 2019-07-12 21:06:29 statS0WaermemWp_MWMonth 0
setstate S0CounterWp 2019-06-30 23:59:55 statS0WaermemWp_MWMonthLast 0
setstate S0CounterWp 2019-07-12 21:06:29 statS0WaermemWp_MWYear 0
setstate S0CounterWp 2019-07-12 21:06:28 state opened


Was mir aufgefallen ist, im logfile steht folgendes

2019.07.12 21:23:19 3: S0CounterWp: Notify called with events: INITIALIZED, open device and set timer to send hello to device
2019.07.12 21:23:19 3: Opening S0CounterWp device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH02KF7X-if00-port0
2019.07.12 21:23:19 3: Setting S0CounterWp serial parameters to 38400,8,N,1
2019.07.12 21:23:19 3: S0CounterWp device opened
.
.
.
2019.07.12 21:23:37 3: S0CounterWp: device didn't reply to h(ello). Is the right sketch flashed? Is speed set to 38400?


Keine Ahnung was das bedeutet!

Fritz
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus

KölnSolar

Ich seh da jetzt keinen Fehler. Der aktuelle Zählerstand  wurde für den gestrigen Tag, lfd. Monat u. Jahr übernommen. Bei den timestamps fällt noch auf, dass der bei statS0EnergieWp_kWhDayLast eigentlich falsch ist. Spätestens jetzt(00:09) sollte er wieder korrekt sein.  ;D
Probier es noch einmal. Ich hab das kürzlich auch mal gemacht und es klappte erst mit dem x-ten Anlauf. Ich weiß aber nicht woran es konkret lag.Wenn sich das Verhalten(Der aktuelle Zählerstand  wurde für den gestrigen Tag, lfd. Monat u. Jahr übernommen) nicht ändert, würd ich es mit negativen Werten probieren, so dass die Addition die gewünschten Werte liefert, also dort wo 0 stehen soll, aber nun 8691.25 steht -8691.25 im statefile eintragen.
Gute Nacht
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Fritz Muster

Hallo in die Runde,

nach meinem Urlaub habe ich mich mit neuer Kraft an das Thema gewagt. Und siehe da es funktioniert, ich kann die readings im fhem.save file ändern und bei Neustart werden die Änderungen auch übernommen.

Das Problem war/ist , das mein fhem wenn ich über die fhem Befehlszeile shutdown eingebe nach dem runterfahren gleich wieder startet. Ich habe das die ganze Zeit nicht bemerkt und somit immer die .save Datei editiert/gespeichert, obwohl fhem lief ???

Nachdem ich das bemerkt habe, habe ich fhem über die pi shell angehaltensudo systemctl stop fhem

Ab da hat dann die oben beschriebene Vorgehensweise funktioniert.

Vielen Dank an Alle!
Grüße Fritz
RasPi 3B+, Stretch, Fhem 5.9, DBlog SQLite
HMLAN, mapleCUN MAX/WMBus, mapleSduino 868/433/868
HM Sensoren/Aktoren ,Technoline TX 29 DTH-IT, TFA 30.3155WD, MAX!
Hour Counter, Astro, EletricityCounter, Statistics, Charting Frontend, TabletUI, Modbus