Nur mal so rein informative:
Ich nutze zwei dieser Sensoren. Einen für den Stromzähler, einen für die Photovoltaik. Beide sind zu unterschiedlichen Zeiten beschafft worden, beide haben unterschiedliche Konfigurationen. Seltsam ist nun, dass beide heute Nacht im Intervall nach 00:00 einen Sprung im Absolutzähler (CUM, Reading total) haben.
Ich bin mir sicher, dieses Phänomen hat nichts mit FHEM zu tun, es liegt eindeutig an den Sensoren. Mein parallel laufendes XS1 zeigt genau das gleiche wie FHEM.
Einzige Gemeinsamkeit beider Sensoren: Sie hängen an der gleichen Steckdose. Wäre eine Unterbrechung der Spannungsversorgung die Ursache, würde der Absolutzähler auf Null zurückgesetzt, und das wird sowohl am XS1 als auch in FHEM ausgeglichen.
ist das evtl. das gleiche Problem wie https://forum.fhem.de/index.php/topic,55626.0.html (https://forum.fhem.de/index.php/topic,55626.0.html)?
Nein, das ist hier nicht das Problem. Der Gaszähler an der gleichen Steckdose hatte keinen Sprung. Und der Sprung tauchte gerade zu Mitternacht auf. Allerdings hast Du Recht, mein beschriebener Weg funktioniert nicht in jedem Fall. Das muss ich mir nochmal ansehen. Allerdings sind meine Stroausfälle so gering, dass ich mir der Unzulänglichkeit leben kann.
Hallo zusammen,
ich schließe mich dem an. Ich habe seit ca. 1 Monat Probleme mit einem EM1000EM Zwischenstecker. Er hatte sporadisch Sprünge um 00:00 Uhr.
Ich dachte erst es liegt am Device, da ich noch 3 weitere Zwischenstecker im Einsatz habe, die ganz normal liefen.
Aber heute am 01. wollte ich meine Zähler kontrollieren und habe dabei folgendes an 2 weiteren Zwischenzählern festgestellt.
2016-10-28_00:01:15 Zwischenzaehler_Technik cum_day: CUM_DAY: 1.855 CUM: 3462.911 COST: 0.43
2016-10-29_00:01:13 Zwischenzaehler_Technik cum_day: CUM_DAY: 1.935 CUM: 3464.846 COST: 0.44
2016-10-30_00:01:10 Zwischenzaehler_Technik cum_day: CUM_DAY: 2.627 CUM: 3467.473 COST: 0.60
2016-10-31_00:01:08 Zwischenzaehler_Technik cum_day: CUM_DAY: 65539.649 CUM: 69007.122 COST: 15032.60
2016-11-01_00:01:06 Zwischenzaehler_Technik cum_month: CUM_MONTH: 65601.337 CUM: 69009.781 COST: 15046.75
2016-11-01_00:01:06 Zwischenzaehler_Technik cum_day: CUM_DAY: 2.659 CUM: 69009.781 COST: 0.61
2016-10-25_00:02:30 Zwischenzaehler_Waschmaschine cum_day: CUM_DAY: 2.619 CUM: 667.319 COST: 0.60
2016-10-26_00:07:27 Zwischenzaehler_Waschmaschine cum_day: CUM_DAY: 0.310 CUM: 667.629 COST: 0.07
2016-10-27_00:02:24 Zwischenzaehler_Waschmaschine cum_day: CUM_DAY: 0.000 CUM: 667.629 COST: 0.00
2016-10-28_00:02:21 Zwischenzaehler_Waschmaschine cum_day: CUM_DAY: 0.000 CUM: 667.629 COST: 0.00
2016-10-29_00:00:43 Zwischenzaehler_Waschmaschine cum_day: CUM_DAY: 18774.761 CUM: 19442.390 COST: 4306.30
2016-10-30_00:00:41 Zwischenzaehler_Waschmaschine cum_day: CUM_DAY: 0.000 CUM: 19442.390 COST: 0.00
2016-10-31_00:00:37 Zwischenzaehler_Waschmaschine cum_day: CUM_DAY: 0.326 CUM: 19442.716 COST: 0.07
2016-11-01_00:00:34 Zwischenzaehler_Waschmaschine cum_month: CUM_MONTH: 18788.834 CUM: 19442.716 COST: 4309.53
2016-11-01_00:00:34 Zwischenzaehler_Waschmaschine cum_day: CUM_DAY: 0.000 CUM: 19442.716 COST: 0.00
Gruß
Torsten
Letzte Nacht schon wieder.
2016-11-01_00:02:00 Zwischenzaehler_Aquarium cum_day: CUM_DAY: 0.935 CUM: 3.822 COST: 0.21
2016-11-02_00:01:59 Zwischenzaehler_Aquarium cum_day: CUM_DAY: 0.939 CUM: 4.761 COST: 0.22
2016-11-03_00:01:57 Zwischenzaehler_Aquarium cum_day: CUM_DAY: 0.981 CUM: 5.742 COST: 0.22
2016-11-04_00:01:56 Zwischenzaehler_Aquarium cum_day: CUM_DAY: 65507.985 CUM: 65513.727 COST: 15025.34
Bin ich der Einzige bei dem das auftritt?
Was könnte die Ursache sein?
Gruß
Torsten
ich hatte sprünge nur bei stromausfall. welche version vom cul_em modul hast du? gib mal "version" ein...
15_CUL_EM.pm 12259 2016-10-03 14:01:05Z rudolfkoenig
ich habe die version davor vom august. probier doch mal die vorgängerversion, ob das problem da auch auftritt...
Das würde sogar zeitlich passen.
Ich habe am 07.10.16 ein Update gemacht.
Davor hatte ich auch noch die "15_CUL_EM.pm 11984 2016-08-19 12:47:50Z rudolfkoenig" drauf.
Am 19.10.16 ist es mir dann mit dem Sprung das erste Mal aufgefallen.
Ich tausche die Datei jetzt aus und setze die Basis vom Zwischenzaehler_Aquarium zurück.
Hallo zusammen,
mit der "15_CUL_EM.pm 11984 2016-08-19 12:47:50Z rudolfkoenig" sind die Sprünge nicht mehr aufgetreten.
2c2
< # $Id: 15_CUL_EM.pm 11984 2016-08-19 12:47:50Z rudolfkoenig $
---
> # $Id: 15_CUL_EM.pm 12259 2016-10-03 14:01:05Z rudolfkoenig $
101c101
< # current_cnt = current value (average over latest 5 minutes) in device units
---
> # current_cnt = current value (average over latest 5 minutes) in device units
135,142d134
<
< # initialize basis_cnt_last
< my $basis_cnt = 0;
< if(defined($hash->{READINGS}{basis})) {
< $basis_cnt = $hash->{READINGS}{basis}{VAL};
< }
<
<
147a140,151
> my $counter_offset = AttrVal($n,"CounterOffset",0);
> my $oldraw = ReadingsVal($n, "RAW", ""); # Forum #55626
> my $basis_cnt = ReadingsVal($n, "basis", 0);
> if($oldraw) {
> my @a = split(" ", $oldraw);
> if($a[3] > $total_cnt) {
> $basis_cnt += ($a[3]+$total_cnt)/$corr2;
> readingsSingleUpdate($hash, "basis", $basis_cnt, 0);
> Log 1, "$n was reset, old CUM $a[3], new CUM: $total_cnt, ".
> "new basis $basis_cnt";
> }
> }
180d183
< my $counter_offset = AttrVal($n,"CounterOffset",0);
@rudolfkoenig: kannst du die letzte änderung prüfen bzw rückgängig machen?
Zitatkannst du die letzte änderung prüfen
Habe ich, und fuer einigermassen sinnvoll gefunden.
Ich habe sie wg. deiner Bitte hier (https://forum.fhem.de/index.php?topic=55626) eingebaut.
Zitatbzw rückgängig machen?
Dazu muss ich verstehen, was schiefgeht. Wenn das damals eingebaute Code zuschlaegt, dann muss eine Meldung mit "XXX was reset..." im Log erscheinen, und das wuerde ich gerne sehen.
Zitatdann muss eine Meldung mit "XXX was reset..." im Log erscheinen
könnte es sein, dass es sich hier https://forum.fhem.de/index.php/topic,60489.0.html (https://forum.fhem.de/index.php/topic,60489.0.html) beim Gaszähler um dasselbe Problem handelt?
Grüße Achim
Danke fuer den Hinweis, das THema habe ich irgendwie uebersehen.
Hallo,
ich hatte am Freitag einen Sprung von ca. 65 kWh.
15_CUL_EM.pm 12600 2016-11-19 11:13:10Z rudolfkoenig
Eintrag im fhem.log
2016.12.02 11:08:14 1: ESensor5 was reset, old CUM 65535, new CUM: 2, new basis 7395385
list ESensor5
Internals:
BasicFeePerMonth 0
CODE 5
CUL_0_MSGCNT 1594
CUL_0_RAWMSG E0205328A0F12001800
CUL_0_RSSI -62
CUL_0_TIME 2016-12-03 18:28:10
CostPerUnit 0.2164
DEF 5 0.01 0.001 0.2164 0
IODev CUL_0
LASTInputDev CUL_0
MSGCNT 1594
NAME ESensor5
NR 37
STATE CNT: 50 CUM: 7464.899 5MIN: 0.180 TOP: 0.240
TYPE CUL_EM
corr1 0.01
corr2 0.001
Readings:
2016-12-03 18:28:10 RAW CNT: 50 CUM: 3978 5MIN: 18 TOP: 24
2016-12-02 11:08:14 basis 7460921
2016-12-03 00:03:13 cum_day CUM_DAY: 68.505 CUM: 7463.044 COST: 14.82
2016-12-01 00:03:18 cum_month CUM_MONTH: 68.410 CUM: 7391.846 COST: 14.80
2016-12-03 18:28:10 current 0.18
2016-12-03 18:28:10 current_cnt 18
2016-12-03 18:28:10 peak 0.24
2016-12-03 18:28:10 peak_cnt 24
2016-12-03 18:28:10 seqno 50
2016-12-03 18:28:10 state CNT: 50 CUM: 7464.899 5MIN: 0.180 TOP: 0.240
2016-12-03 18:28:10 total 7464.899
2016-12-03 18:28:10 total_cnt 3978
2016-12-03 18:28:10 tsecs 1480786090
Attributes:
IODev CUL_0
alias FernseherSAT
model EMEM
room CUL_EM,Ulrich
ESensor5.log
2016-12-02_10:48:14 ESensor5 RSSI: -57
2016-12-02_10:53:14 ESensor5 CNT: 179 CUM: 7395.377 5MIN: 0.040 TOP: 0.040
2016-12-02_10:53:14 ESensor5 RSSI: -57
2016-12-02_11:03:14 ESensor5 CNT: 181 CUM: 7395.383 5MIN: 0.030 TOP: 0.050
2016-12-02_11:03:14 ESensor5 RSSI: -56.5
2016-12-02_11:08:14 ESensor5 CNT: 182 CUM: 7460.923 5MIN: 0.030 TOP: 0.040
2016-12-02_11:08:14 ESensor5 RSSI: -57
2016-12-02_11:13:14 ESensor5 CNT: 183 CUM: 7460.926 5MIN: 0.030 TOP: 0.040
2016-12-02_11:13:14 ESensor5 RSSI: -56.5
2016-12-02_11:18:14 ESensor5 CNT: 184 CUM: 7460.929 5MIN: 0.030 TOP: 0.040
2016-12-02_11:18:14 ESensor5 RSSI: -56.5
2016-12-02_11:23:14 ESensor5 CNT: 185 CUM: 7460.931 5MIN: 0.030 TOP: 0.040
2016-12-02_11:23:14 ESensor5 RSSI: -56.5
2016-12-02_11:28:14 ESensor5 CNT: 186 CUM: 7460.934 5MIN: 0.030 TOP: 0.040
2016-12-02_11:28:14 ESensor5 RSSI: -56.5
2016-12-02_11:33:14 ESensor5 CNT: 187 CUM: 7460.937 5MIN: 0.040 TOP: 0.040
2016-12-02_11:33:14 ESensor5 RSSI: -57
2016-12-02_11:38:14 ESensor5 CNT: 188 CUM: 7460.940 5MIN: 0.040 TOP: 0.040
2016-12-02_11:38:14 ESensor5 RSSI: -59.5
2016-12-02_11:43:14 ESensor5 CNT: 189 CUM: 7460.943 5MIN: 0.040 TOP: 0.040
2016-12-02_11:43:14 ESensor5 RSSI: -58.5
2016-12-02_11:48:14 ESensor5 CNT: 190 CUM: 7460.946 5MIN: 0.040 TOP: 0.040
2016-12-02_11:48:14 ESensor5 RSSI: -58.5
2016-12-02_11:53:14 ESensor5 CNT: 191 CUM: 7460.949 5MIN: 0.040 TOP: 0.040
2016-12-02_11:53:14 ESensor5 RSSI: -58.5
...
2016-12-03_18:03:11 ESensor5 CNT: 45 CUM: 7464.809 5MIN: 0.220 TOP: 0.240
2016-12-03_18:03:11 ESensor5 RSSI: -61
2016-12-03_18:08:10 ESensor5 CNT: 46 CUM: 7464.828 5MIN: 0.220 TOP: 0.240
2016-12-03_18:08:10 ESensor5 RSSI: -62.5
2016-12-03_18:13:11 ESensor5 CNT: 47 CUM: 7464.846 5MIN: 0.220 TOP: 0.240
2016-12-03_18:13:11 ESensor5 RSSI: -62.5
2016-12-03_18:18:10 ESensor5 CNT: 48 CUM: 7464.865 5MIN: 0.220 TOP: 0.240
2016-12-03_18:18:10 ESensor5 RSSI: -59
2016-12-03_18:23:10 ESensor5 CNT: 49 CUM: 7464.883 5MIN: 0.220 TOP: 0.240
2016-12-03_18:23:10 ESensor5 RSSI: -61
2016-12-03_18:28:10 ESensor5 CNT: 50 CUM: 7464.899 5MIN: 0.180 TOP: 0.240
2016-12-03_18:28:10 ESensor5 RSSI: -62
Da es zu viele Fehlermeldungen gibt, und ich nicht in der Lage bin (fehlende Zeit/Debuginfo/etc) die Probleme zu fixen, habe ich die Version von 2016-08-19 wieder als die Neueste eingecheckt.
Falls jemand das Problem besser beheben kann, bitte melden.
Hallo Rudolf,
ich denke Deine Änderung machte eine doppelte Korrektur beim device restart.
Beim EM1000-S, mit dem ich testen kann, wird beim device restart eine seqno von 1 mit dem ersten Telegramm und Zählwerten von 0 gesendet. Im laufenden Betrieb wird eine seqno von 2 - 255 gesendet.
Deine bisherige basis_cnt Korrektur kann beim device restart schon mal scheitern, bei ungünstigen Zählwerten.
Die seqno von 1 kann man jedoch ausnutzen, sofern das Telegramm empfangen wird.
Daher folgender Vorschlag:
#
# translate into device units
#
my $corr1 = $hash->{corr1}; # EMEM power correction factor
my $corr2 = $hash->{corr2}; # EMEM energy correction factor
my $counter_offset = AttrVal($n,"CounterOffset",0);
my $basis_cnt = ReadingsVal($n, "basis", 0);
# my $oldraw = ReadingsVal($n, "RAW", ""); # Forum #55626
# if($oldraw) {
# my @a = split(" ", $oldraw);
# if($a[3] > $total_cnt) {
# $basis_cnt += ($a[3]+$total_cnt)/$corr2;
# readingsSingleUpdate($hash, "basis", $basis_cnt, 0);
# Log 1, "$n was reset, old CUM $a[3], new CUM: $total_cnt, ".
# "new basis $basis_cnt";
# }
# }
...
# correct counter wraparound and device power on reset
if ($seqno != 1) {
if($total_cnt < $total_cnt_last) {
# check: real wraparound or reset only
$basis_cnt += ($total_cnt_last > 65000 ? 65536 : $total_cnt_last); # even in case seqno 1 was not received try to correct a device restart
$readings{basis} = $basis_cnt;
}
}
else {
# definitely a device reset
$basis_cnt += $total_cnt_last;
$readings{basis} = $basis_cnt;
}
Gruß,
Ansgar.
Hallo Ansgar,
danke fuers Nachdenken. Ich habe Schwierigkeiten die Aenderungen einzuspielen, weil es nicht als Patch kommt, und vermutlich auf der alten Version aufbaut. Ein Patch gegen die aktuelle Version faende ich wichtig.
Weiterhin sollten das bitte jemand mit den erwaehnten Problem testen, bevor ich es Einchecke, will nicht die gleichen Fehler wiederholen.
Gruss,
Rudi
Hallo Rudi,
ZitatIch habe Schwierigkeiten die Aenderungen einzuspielen, weil es nicht als Patch kommt, und vermutlich auf der alten Version aufbaut.
ich habe die $Id: 15_CUL_EM.pm 12259 2016-10-03 14:01:05Z rudolfkoenig $ als Basis.
Ein weiterer Punkt ist die 65000 bei basis_cnt += ($total_cnt_last > 65000 ? 65536 : $total_cnt_last); die Du verwendet hast, um einen Überlauf von einem Neustart zu unterscheiden.
Es hängt an den counts/Einheit und dem laufenden Verbrauch (und ggf. noch nicht empfangener Telegramme) ab, ob die Differenz zu 655356 ausreichend ist, ob es zu Fehlern kommen kann.
Dazu fehlt mir einiges an Informationsbasis.
Daher kein Patch, sondern ein Vorschlag zum Testen, da ich auch nur ein anderes device aus der Familie zum Testen habe.
ZitatWeiterhin sollten das bitte jemand mit den erwaehnten Problem testen, bevor ich es Einchecke, will nicht die gleichen Fehler wiederholen.
Sehe ich genauso.
Gruß, Ansgar.
ZitatWeiterhin sollten das bitte jemand mit den erwaehnten Problem testen, bevor ich es Einchecke, will nicht die gleichen Fehler wiederholen.
Bei mir läuft alles stabil, es treten keine Probleme mehr auf, daher habe ich keinen Bedarf für Codeänderungen...
ich hatte nur probleme mit sprüngen nach stromausfall, habe jetzt aber eine usv...
Bei mir läuft auch alles stabil.
Grüße
Torsten