Stromzähler ablesen in Fhem

Begonnen von Tommy82, 27 Februar 2019, 20:58:18

Vorheriges Thema - Nächstes Thema

Nobbynews

Zitat von: Damian am 09 April 2022, 11:16:28viel entscheidender ist aber, dass ein Zähler seinen Zählerstand dauerhaft behalten kann.
Da gibt es nichts mehr hinzuzufügen.

Damian

Entprellen bei S0-Zählern mit Tasmota:

Trotz eines sauberen Triggersignals beim S0-Stromzähler (mit Oszi gemessen), zählte ein Tasmota-Counter bei mir zu viele Impulse.

Mit dem Befehl CounterDebounce <Millisekunden> kann man auf der Tasmota-Konsole die Counter entprellen. Mit CounterDebounce 500 wird nun auch der S0-Stromzähler bei mir korrekt gezählt. Die Angabe der Entprellzeit muss unter dem minimalen Pulsabstand zwischen zwei Impulsen bleiben (bei mir 1 Sekunde).

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cs-online

Hallo zusammen,

ich hab jetzt nicht alle 5 Seiten gelesen, daher ist das, was ich schreibe ggf. schon mal erwähnt worden. Ich habe einen EMH-Zähler mit IR-Schnittstelle vorne. Habe dazu den Lesekopf nach UDOs Plänen mit TTL-Schnittstelle an einen ESP8266 (WEMOS) an RX/TX. Soll wohl auch mit einem simplen Kopf nach

https://www.s-jordan.de/index.php?page=easymeter_raspberrypi

gehen. Also auf dem ESP läuft ESPLink (ESPEasy müsste auch gehen mit Serial-Server) und im FHEM wird der ESP dann mit der IP-Adresse im OBIS-Modul eingebunden. Ich bekomme damit den Zählerstand und die Momentanleistung, mehr ist bei meinem Zähler leider nicht freigeschaltet...

Vielleicht hilft es ja...

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

Damian

Ich habe hier: https://forum.fhem.de/index.php/topic,97959.msg1214338.html#msg1214338 beschrieben, wie man die momentane Leistungsaufnahme per userReading und OldReading berechnet. Leider funktionierte es bei mir nicht zuverlässig.

Ich habe es nun  über event_Readings (im DOIF) gelöst. Auch beim D0-Zähler (Hauszähler) verwende ich nun die Methode, um mit S0-Zähler (PV-Anlage) vom gleichen Tasmota-Device synchron zu bleiben. Ich habe bei mir das Sendeintervall auf 60 Sekunden eingestellt, damit lässt sich über den absoluten Counter, egal ob von D0 oder S0, die durchschnittliche Leistungsaufnahme der letzten 60 Sekunden ermitteln. Auf diese Weise passt nun die Einspeise-Leistung zu PV-Leistung.

attr di_counter_new event_Readings power_pv:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_COUNTER_C1:diff]*3.6/60),\
power_f:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_out:diff]*60),\
power_c:sprintf("%0.3f",[MQTT2_DVES_C58DCB:SENSOR_MT681_Total_in:diff]*60),\
power_fc:[$SELF:power_f]-[$SELF:power_c]


Aufgrund der Synchronisation kann so die Einspeise-Leistung nicht mehr die PV-Leistung übersteigen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Zitat von: Damian am 20 März 2022, 10:38:55
Ich habe es nun geschafft alle meine Zähler in einem esp8266 unterzubringen.

Ich habe zwei Counter S0-Zähler für Wasser und PV und einen Zweirichtungszähler eingebunden.

Damit konnte ich einen ELV Stromzähler EM 1000-S und einen Lesekopf über serielle Schnittstelle zum Raspi mit OBIS-Stromzähler-Device in Rente schicken.

Die Daten werden über MQTT an FHEM geschickt.

Die erforderlichen Bauteile (esp8266, Fototransistor, Neodym-Magnet) hatte ich noch in der Grabbelkiste. Den Wasserzähler über TCRT5000 Infrarot-Reflexionsschalter hatte ich zuvor über espeasy eingebunden gehabt.

Visualisierung erfolgt hierrüber:

https://wiki.fhem.de/wiki/DOIF/Automatisierung#Tages-.2C_Monats-_und_Jahresstatistik_f.C3.BCr_Strom-.2C_Gas-.2C_Wasserz.C3.A4hler_und_andere_Z.C3.A4hler

Moin,

nachdem diese Visualisierung nurn 2 Monate sehr gut lief, habe ich seit ein paar Tagen hiermit ein kleines Problem. Und zwar geht es um das Reading für den vorherigen Tag, das ist seit ein paar Tagen auf "0" statt auf dem ermittelten Wert.

2022-05-01_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_month: 102.179
2022-05-02_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 3.63
2022-05-03_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 5.58
2022-05-04_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 5.38
2022-05-05_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 6.06
2022-05-06_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 3.24
2022-05-07_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 5.71
2022-05-07_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 0
2022-05-08_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 5.56
2022-05-08_00:01:01 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 0
2022-05-09_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 8.85
2022-05-09_00:01:00 di_counter_new Shelly.DachbodenPV.TagesErtragDach.last_day: 0


Und doch, an den Tagen wurden Readings geschrieben. Es betrifft nicht nur dieses Device, sondern alle Devices zu denen ich das protokolliere

So habe ich es lt. Wiki auch definiert...

sub init_readings {
  my ($device,$reading)=@_;
  if (get_Reading("$device.$reading.day_counter","") eq "") {   ## Initialisierung der Readings
    ## aktuellen Zählerstand initialisieren
    set_Reading("$device.$reading.last_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));
 
    set_Reading ("$device.$reading.day",0);           ## aktueller Tagesverbrauch
    set_Reading ("$device.$reading.month",0);         ## aktueller Monatsverbrauch
    set_Reading ("$device.$reading.year",0);          ## aktueller Jahresverbrauch
    set_Reading ("$device.$reading.last_day",0);      ## Verbrauch des letzten Tages
    set_Reading ("$device.$reading.last_month",0);    ## Verbrauch des letzten Monats
    set_Reading ("$device.$reading.last_year",0);     ## Verbrauch des letzten Jahres
## Log definieren
fhem ("defmod log.counter.$device.$reading FileLog ./log/counter.$device.$reading.log $SELF:$device.$reading.last_(day|month|year):.*");
    fhem ("attr log.counter.$device.$reading room Filelogs");
}


Geändert wurde am System nichts. Gestern habe ich dann ein Update von FHME/DOIF gemacht, leider ohne Erfolg.
Irgend ne Idee was hier falsch läuft ?
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Dann musst du schauen, was die anderen Readings des Zähler machen. Der last_counter muss sich bei jeder Zähleränderung erhöhen. Evtl. kommt vom Zähler nichts an.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

#66
Der "last_counter" erhöht sich auch, nur das Reading "last_day" wird um Mitternacht nicht mehr bestückt. Dies gilt für alle Devices die ich in dieses DOIF gepackt hab.
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 09 Mai 2022, 09:04:32
Der "last_counter" erhöht sich auch, nur das Reading "last_day" wird um Mitternacht nicht mehr bestückt. Dies gilt für alle Devices die ich in dieses DOIF gepackt hab.

Dann poste mal list-Ausgabe von dem DOIF
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Bitte, ist aber arg lang

Edith: Mist, musste ich kürzen

Internals:
   DEF        subs {
##                     Device        Reading   
  push (@{$_counter},["Shelly.DachbodenPV","TagesErtragDach"]); ## PV-ZählerDach
  push (@{$_counter},["Shelly.GartenhausPV","TagesErtrag"]); ## PV-ZählerGarten
  push (@{$_counter},["1wire_Strom_Gesamt","E-Energy"]); ## Strom-Zähler
  push (@{$_counter},["Brennerlaufzeit","Heute"]); ## Öl-Zähler
 
sub midnight { ## Diese Funktion wird um Mitternacht ausgeführt
  my ($device,$reading,$mday,$yday)=@_;
  set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));   
  set_Reading("$device.$reading.last_day",get_Reading("$device.$reading.day",0),1);
  set_Reading("$device.$reading.day",0,1);
  if ($mday == 1) {
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.last_month",get_Reading("$device.$reading.month",0),1);
    set_Reading("$device.$reading.month",0,1);
  }
  if ($yday == 1) {
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.last_year",get_Reading("$device.$reading.year",0),1);
    set_Reading("$device.$reading.year",0,1);
  }
}

sub init_readings {
  my ($device,$reading)=@_;
  if (get_Reading("$device.$reading.day_counter","") eq "") {   ## Initialisierung der Readings
    ## aktuellen Zählerstand initialisieren
    set_Reading("$device.$reading.last_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.month_counter",ReadingsVal($device, $reading,0));
    set_Reading("$device.$reading.year_counter",ReadingsVal($device, $reading,0));
 
    set_Reading ("$device.$reading.day",0);           ## aktueller Tagesverbrauch
    set_Reading ("$device.$reading.month",0);         ## aktueller Monatsverbrauch
    set_Reading ("$device.$reading.year",0);          ## aktueller Jahresverbrauch
    set_Reading ("$device.$reading.last_day",0);      ## Verbrauch des letzten Tages
    set_Reading ("$device.$reading.last_month",0);    ## Verbrauch des letzten Monats
    set_Reading ("$device.$reading.last_year",0);     ## Verbrauch des letzten Jahres
## Log definieren
fhem ("defmod log.counter.$device.$reading FileLog ./log/counter.$device.$reading.log $SELF:$device.$reading.last_(day|month|year):.*");
    fhem ("attr log.counter.$device.$reading room Filelogs");
}

}
} ## Ende subs-Block

mid {[00:01];                          ## Sicherung der Daten um Mitternacht
  for (my $i=0;$i<@{$_counter};$i++) { ## Für jeden Zähler wird die Funktion midnight aufgerufen
    midnight($_counter[$i][0],$_counter[$i][1],$mday,$yday);
  }
}

init {                                ## initialisierung aller Readings
  for (my $i=0;$i<@{$_counter};$i++) {## Für jeden Zähler werden Readings über die Funktion init_readings initialisiert
    init_readings($_counter[$i][0],$_counter[$i][1]);
  }
}

DEF TPL_stat (
  day_count_$1_$2 { ## bei einem Event des Zählers, wird der tägliche, monatliche und jährliche Verbrauch im jeweiligen Reading festgehalten
                    ##  $1 Zählerdevice, $2 Zählerreading

    my $diff = int(([$1:$2,0]-(get_Reading("$1.$2.last_counter",0)))*1000)/1000;
    if ($diff < 0 and get_Reading("$1.$2.last_counter",0) > 0  or $diff > 0 and get_Reading("$1.$2.last_counter",0) < 0) {  ## Wenn der Zähler zurückgesetzt wurde, dann Zählerstände zurückrechnen
      set_Reading("$1.$2.day_counter",-(get_Reading("$1.$2.day",0)));
      set_Reading("$1.$2.month_counter",-(get_Reading("$1.$2.month",0)));
      set_Reading("$1.$2.year_counter",-(get_Reading("$1.$2.year",0)));
    }
    set_Reading ("$1.$2.last_counter",[$1:$2,0]);
    set_Reading ("$1.$2.day",int(([$1:$2,0]-(get_Reading("$1.$2.day_counter",0)))*1000)/1000,1);
    set_Reading ("$1.$2.month",int(([$1:$2,0]-(get_Reading("$1.$2.month_counter",0)))*1000)/1000,1);
    set_Reading ("$1.$2.year",int(([$1:$2,0]-(get_Reading("$1.$2.year_counter",0)))*1000)/1000,1);
  }
)

## Pro Zähler wird über eine FOR-Schleife ein day_count_<Device>_<Reading>-Block generiert
FOR(@{$_counter},TPL_stat($1$1,$1$2)) ## $1$1 entspricht dem Device, $1$2 entspricht dem Reading
   FUUID      62404eec-f33f-7539-15ad-f32ad970406b9465
   MODEL      Perl
   NAME       di_counter_new
   NOTIFYDEV  Shelly.DachbodenPV,di_counter_new,Brennerlaufzeit,Shelly.GartenhausPV,1wire_Strom_Gesamt,global
   NR         1605
   NTFY_ORDER 50-di_counter_new
   STATE      initialized
   TYPE       DOIF
   VERSION    26020 2022-05-03 16:28:02
   READINGS:
     2022-05-09 11:05:31   1wire_Strom_Gesamt.E-Energy.day 2.933
     2022-05-09 00:01:00   1wire_Strom_Gesamt.E-Energy.day_counter 7.306
     2022-05-09 11:05:31   1wire_Strom_Gesamt.E-Energy.last_counter 10.239
     2022-05-09 00:01:00   1wire_Strom_Gesamt.E-Energy.last_day 0
     2022-05-01 00:01:00   1wire_Strom_Gesamt.E-Energy.last_month 273.361
     2022-03-28 00:17:11   1wire_Strom_Gesamt.E-Energy.last_year 0
     2022-05-09 11:05:31   1wire_Strom_Gesamt.E-Energy.month 75.775
     2022-05-08 00:02:06   1wire_Strom_Gesamt.E-Energy.month_counter -65.536
     2022-05-09 11:05:31   1wire_Strom_Gesamt.E-Energy.year 387.64
     2022-05-08 00:02:06   1wire_Strom_Gesamt.E-Energy.year_counter -377.402
     2022-05-09 11:00:06   Brennerlaufzeit.Heute.day 0
     2022-05-09 01:00:04   Brennerlaufzeit.Heute.day_counter 0
     2022-05-09 11:00:06   Brennerlaufzeit.Heute.last_counter 0
     2022-05-09 00:01:00   Brennerlaufzeit.Heute.last_day 0
     2022-05-01 00:01:01   Brennerlaufzeit.Heute.last_month 171.863
     2022-03-28 01:03:33   Brennerlaufzeit.Heute.last_year 0
     2022-05-09 11:00:06   Brennerlaufzeit.Heute.month 12.969
     2022-05-09 01:00:04   Brennerlaufzeit.Heute.month_counter -12.969
     2022-05-09 11:00:06   Brennerlaufzeit.Heute.year 209.814
     2022-05-09 01:00:04   Brennerlaufzeit.Heute.year_counter -209.814
     2022-05-09 11:05:30   Device          1wire_Strom_Gesamt
     2022-05-09 11:00:13   Shelly.DachbodenPV.TagesErtragDach.day 0.56
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.day_counter 0
     2022-05-09 11:00:13   Shelly.DachbodenPV.TagesErtragDach.last_counter 0.56
     2022-05-09 00:01:00   Shelly.DachbodenPV.TagesErtragDach.last_day 0
     2022-05-01 00:01:00   Shelly.DachbodenPV.TagesErtragDach.last_month 102.179
     2022-03-28 00:21:34   Shelly.DachbodenPV.TagesErtragDach.last_year 0
     2022-05-09 11:00:14   Shelly.DachbodenPV.TagesErtragDach.month 44.57
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.month_counter -44.01
     2022-05-09 11:00:14   Shelly.DachbodenPV.TagesErtragDach.year 153.744
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.year_counter -153.184
     2022-05-09 00:05:01   Shelly.GartenhausPV.TagesErtrag.day 0
     2022-05-09 00:05:00   Shelly.GartenhausPV.TagesErtrag.day_counter 0
     2022-05-09 00:05:01   Shelly.GartenhausPV.TagesErtrag.last_counter 0.00
     2022-05-09 00:01:00   Shelly.GartenhausPV.TagesErtrag.last_day 0
     2022-05-01 00:01:00   Shelly.GartenhausPV.TagesErtrag.last_month 45.545
     2022-03-28 00:21:35   Shelly.GartenhausPV.TagesErtrag.last_year 0
     2022-05-09 00:05:01   Shelly.GartenhausPV.TagesErtrag.month 9.088
     2022-05-09 00:05:00   Shelly.GartenhausPV.TagesErtrag.month_counter -9.088
     2022-05-09 00:05:01   Shelly.GartenhausPV.TagesErtrag.year 62.512
     2022-05-09 00:05:00   Shelly.GartenhausPV.TagesErtrag.year_counter -62.512
     2022-05-09 11:05:31   block_day_count_Brennerlaufzeit_Heute executed
     2022-05-08 09:33:54   block_init      executed
     2022-05-09 00:01:00   block_mid       executed
     2022-05-09 11:05:30   e_1wire_Strom_Gesamt_E-Energy 10.239
     2022-05-09 11:00:06   e_Brennerlaufzeit_Heute 0
     2022-05-09 11:00:13   e_Shelly.DachbodenPV_TagesErtragDach 0.56
     2022-05-09 00:05:00   e_Shelly.GartenhausPV_TagesErtrag 0.00
     2022-03-28 01:03:32   mode            enabled
     2022-03-28 01:03:33   state           initialized
     2022-05-09 00:01:00   timer_01_c01    10.05.2022 00:01:00
   Regex:
     accu:
     collect:
       di_counter_new:
         collect:
           1wire_Strom_Gesamt.E-Energy.day ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.day:
           1wire_Strom_Gesamt.E-Energy.last_day ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_day:
           1wire_Strom_Gesamt.E-Energy.last_month ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_month:
           1wire_Strom_Gesamt.E-Energy.last_year ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_year:
           1wire_Strom_Gesamt.E-Energy.month ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.month:
           1wire_Strom_Gesamt.E-Energy.year ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.year:
           Brennerlaufzeit.Heute.day ^di_counter_new$:^Brennerlaufzeit.Heute.day:
           Brennerlaufzeit.Heute.last_day ^di_counter_new$:^Brennerlaufzeit.Heute.last_day:
           Brennerlaufzeit.Heute.last_month ^di_counter_new$:^Brennerlaufzeit.Heute.last_month:
           Brennerlaufzeit.Heute.last_year ^di_counter_new$:^Brennerlaufzeit.Heute.last_year:
           Brennerlaufzeit.Heute.month ^di_counter_new$:^Brennerlaufzeit.Heute.month:
           Brennerlaufzeit.Heute.year ^di_counter_new$:^Brennerlaufzeit.Heute.year:
           Shelly.DachbodenPV.TagesErtragDach.day ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.day:
           Shelly.DachbodenPV.TagesErtragDach.last_day ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_day:
           Shelly.DachbodenPV.TagesErtragDach.last_month ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_month:
           Shelly.DachbodenPV.TagesErtragDach.last_year ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_year:
           Shelly.DachbodenPV.TagesErtragDach.month ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.month:
           Shelly.DachbodenPV.TagesErtragDach.year ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.year:
           Shelly.GartenhausPV.TagesErtrag.day ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.day:
           Shelly.GartenhausPV.TagesErtrag.last_day ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_day:
           Shelly.GartenhausPV.TagesErtrag.last_month ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_month:
           Shelly.GartenhausPV.TagesErtrag.last_year ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_year:
           Shelly.GartenhausPV.TagesErtrag.month ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.month:
           Shelly.GartenhausPV.TagesErtrag.year ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.year:
     cond:
       1wire_Strom_Gesamt:
         0:
         1:
         2:
         3:
         4:
           E-Energy   ^1wire_Strom_Gesamt$:^E-Energy:
         5:
         6:
         7:
         8:
           E-Energy   ^1wire_Strom_Gesamt$:^E-Energy:
         9:
       Brennerlaufzeit:
         0:
         1:
         2:
         3:
         4:
         5:
           Heute      ^Brennerlaufzeit$:^Heute:
         6:
         7:
         8:
         9:
           Heute      ^Brennerlaufzeit$:^Heute:
       Shelly.DachbodenPV:
         0:
         1:
         2:
           TagesErtragDach ^Shelly.DachbodenPV$:^TagesErtragDach:
         3:
         4:
         5:
         6:
           TagesErtragDach ^Shelly.DachbodenPV$:^TagesErtragDach:
         7:
         8:
         9:
       Shelly.GartenhausPV:
         0:
         1:
         2:
         3:
           TagesErtrag ^Shelly.GartenhausPV$:^TagesErtrag:
         4:
         5:
         6:
         7:
           TagesErtrag ^Shelly.GartenhausPV$:^TagesErtrag:
         8:
         9:
     uiTable:
       di_counter_new:
         di_counter_new_uiTable_c_0_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.day ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.day:
         di_counter_new_uiTable_c_0_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.day ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.day:
         di_counter_new_uiTable_c_0_2_0_0:
           1wire_Strom_Gesamt.E-Energy.day ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.day:
         di_counter_new_uiTable_c_0_3_0_0:
           Brennerlaufzeit.Heute.day ^di_counter_new$:^Brennerlaufzeit.Heute.day:
         di_counter_new_uiTable_c_1_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.last_day ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_day:
         di_counter_new_uiTable_c_1_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.last_day ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_day:
         di_counter_new_uiTable_c_1_2_0_0:
           1wire_Strom_Gesamt.E-Energy.last_day ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_day:
         di_counter_new_uiTable_c_1_3_0_0:
           Brennerlaufzeit.Heute.last_day ^di_counter_new$:^Brennerlaufzeit.Heute.last_day:
         di_counter_new_uiTable_c_2_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.month ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.month:
         di_counter_new_uiTable_c_2_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.month ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.month:
         di_counter_new_uiTable_c_2_2_0_0:
           1wire_Strom_Gesamt.E-Energy.month ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.month:
         di_counter_new_uiTable_c_2_3_0_0:
           Brennerlaufzeit.Heute.month ^di_counter_new$:^Brennerlaufzeit.Heute.month:
         di_counter_new_uiTable_c_3_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.last_month ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_month:
         di_counter_new_uiTable_c_3_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.last_month ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_month:
         di_counter_new_uiTable_c_3_2_0_0:
           1wire_Strom_Gesamt.E-Energy.last_month ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_month:
         di_counter_new_uiTable_c_3_3_0_0:
           Brennerlaufzeit.Heute.last_month ^di_counter_new$:^Brennerlaufzeit.Heute.last_month:
         di_counter_new_uiTable_c_4_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.year ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.year:
         di_counter_new_uiTable_c_4_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.year ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.year:
         di_counter_new_uiTable_c_4_2_0_0:
           1wire_Strom_Gesamt.E-Energy.year ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.year:
         di_counter_new_uiTable_c_4_3_0_0:
           Brennerlaufzeit.Heute.year ^di_counter_new$:^Brennerlaufzeit.Heute.year:
         di_counter_new_uiTable_c_5_0_0_0:
           Shelly.DachbodenPV.TagesErtragDach.last_year ^di_counter_new$:^Shelly.DachbodenPV.TagesErtragDach.last_year:
         di_counter_new_uiTable_c_5_1_0_0:
           Shelly.GartenhausPV.TagesErtrag.last_year ^di_counter_new$:^Shelly.GartenhausPV.TagesErtrag.last_year:
         di_counter_new_uiTable_c_5_2_0_0:
           1wire_Strom_Gesamt.E-Energy.last_year ^di_counter_new$:^1wire_Strom_Gesamt.E-Energy.last_year:
         di_counter_new_uiTable_c_5_3_0_0:
           Brennerlaufzeit.Heute.last_year ^di_counter_new$:^Brennerlaufzeit.Heute.last_year:
   card:
   collect:
     di_counter_new 1wire_Strom_Gesamt.E-Energy.day:
       168:
         animate    0
         dim        100
         hours      168
         last       
         last_v     2.686
         last_value 3.459
         max_value  12.346
         max_value_slot 34
         max_value_time 1651696463
         min_value  0
         min_value_slot 92
         min_value_time 1652047260
         name       di_counter_new
         reading    1wire_Strom_Gesamt.E-Energy.day
         time       1652087131
         value      2.933
         times:
           1651490820
           
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Nach:

Zitat2022-05-09 11:00:13   Shelly.DachbodenPV.TagesErtragDach.day 0.56
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.day_counter 0
     2022-05-09 11:00:13   Shelly.DachbodenPV.TagesErtragDach.last_counter 0.56
     2022-05-09 00:01:00   Shelly.DachbodenPV.TagesErtragDach.last_day 0
     2022-05-01 00:01:00   Shelly.DachbodenPV.TagesErtragDach.last_month 102.179
     2022-03-28 00:21:34   Shelly.DachbodenPV.TagesErtragDach.last_year 0
     2022-05-09 11:00:14   Shelly.DachbodenPV.TagesErtragDach.month 44.57
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.month_counter -44.01
     2022-05-09 11:00:14   Shelly.DachbodenPV.TagesErtragDach.year 153.744
     2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.year_counter -153.184

werden die Readings um 00:01 Uhr berechnet.

Ich kann erkennen, wegen der negativen Zahlen, dass dein Zähler zwischendurch zurückgesetzt wurde.

Ich weiß nicht, was kurz vor 00:01 passiert, daher kann ich nicht erklären warum last_day 0 ist. Heute ist Shelly.DachbodenPV.TagesErtragDach.day 0.56, daher sollte, wenn der Zähler und das System bis 00:01 Uhr durchlaufen, last_day größer 0 sein. Es wird einfach nur der Inhalt von day auf last_day kopiert.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Um Mitternacht ist immer viel in meinem FHEM los, (div. HourCounter usw.) vielleicht wird es deswegen verschluckt.
Wie kann ich die Funktion "sub midnight" auf z.B. "sub 00:05" ändern ? also 5min nach Mitternacht
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 09 Mai 2022, 12:33:48
Um Mitternacht ist immer viel in meinem FHEM los, (div. HourCounter usw.) vielleicht wird es deswegen verschluckt.
Wie kann ich die Funktion "sub midnight" auf z.B. "sub 00:05" ändern ? also 5min nach Mitternacht

steht im Script:

mid {[00:01];; 

Ich glaube weniger an das Verschlucken, als auf etwas wie Neustarten (Zähler, FHEM, System)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Zitat von: Damian am 09 Mai 2022, 12:52:57
steht im Script:

mid {[00:01];; 

Ich glaube weniger an das Verschlucken, als auf etwas wie Neustarten (Zähler, FHEM, System)

Ah, ok. Danke. habe ich mal geändert.
Also System/FHEM-Neustart kann ich ausschließen, und das sich 4 verschiedene Zähler zurückgesetzt haben, glaube ich nicht. In den anderen Logs zu diesen Zählern sehe ich ja die korrekten Werte.
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 09 Mai 2022, 13:29:14
Ah, ok. Danke. habe ich mal geändert.
Also System/FHEM-Neustart kann ich ausschließen, und das sich 4 verschiedene Zähler zurückgesetzt haben, glaube ich nicht. In den anderen Logs zu diesen Zählern sehe ich ja die korrekten Werte.
ich habe auch nicht von allen gesprochen, sondern vom betroffenen Device:

 
Zitat2022-05-09 00:05:00   Shelly.DachbodenPV.TagesErtragDach.month_counter -44.01
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Moin, nur mal ein kurzes Feedback, das verschieben um ein paar Minuten zeigt Wirkung. Bis jetzt wurden die Vortageswerte wieder korrekt gespeichert.
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly