DOIF soll Werte aus dummy auslesen und addieren

Begonnen von moonsorrox, 26 August 2022, 18:50:35

Vorheriges Thema - Nächstes Thema

moonsorrox

Es war aber den ganzen Tag nichts zu sehen, deshalb dachte ich ich habe einen Fehler gemacht
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Damian

Hiernach werden die Readings gefüllt:

setstate di_counter_new 2022-08-29 15:56:22 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day 0
setstate di_counter_new 2022-08-29 15:56:22 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day_counter 3276.4
setstate di_counter_new 2022-08-28 23:11:41 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_counter 3272.9
setstate di_counter_new 2022-08-29 15:56:22 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day 0
setstate di_counter_new 2022-08-28 23:11:41 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month 0
setstate di_counter_new 2022-08-28 23:11:41 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_year 0
setstate di_counter_new 2022-08-29 15:56:22 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.month 3.5
setstate di_counter_new 2022-08-28 23:11:41 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.month_counter 3272.9
setstate di_counter_new 2022-08-29 15:56:22 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.year 3.5
setstate di_counter_new 2022-08-28 23:11:41 growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.year_counter 3272.9



growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day  sollte sich ebenfalls erhöhen, solange du den set-Befehl nicht aufrufst.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#17
Für die Diagrammdarstellung musst du ggf. die Grenzen anpassen. Der Maximalbetrag beim Tagesverbrauch steht hier auf 30 (30 KWh).


Beim Diagramm war noch ein Fehler drin, es müsste eher heißen

card([di_counter_new:growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day:col],"Solarenergie Tagesverlauf in KWh","",0,30,30,90,"kWh",undef,"1","160,1,1,0,1,,200","0,0,0,0,2")|\
card([di_counter_new:growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day:col4w],"Solarenergie in kWh pro Tag","",0,30,30,90,"kWh",undef,"1","160,1,1,0,1,,200","0,0,0,0,2")|\
card([di_counter_new:growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month:col365d],"Solarenergie in kWh pro Monat","",0,600,30,90,"kWh",undef,"0","160,1,1,0,1,,200","0,0,0,0,2")

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

moonsorrox

das mit dem anpassen mache ich noch denn soviel erzeugt meine Anlage nicht, aber ich wollte erst einmal in den Card's Werte haben aber da sind keine Werte drin und ich habe heute mittag das erste mal drauf geschaut da war alles 0.

Habe schon das neue Format eingegeben nun sind sie auch untereinander gerutscht, ich weiß man kann es einstellen das suche ich mir aber wieder zusammen
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Damian

Zitat von: moonsorrox am 29 August 2022, 22:00:37
das mit dem anpassen mache ich noch denn soviel erzeugt meine Anlage nicht, aber ich wollte erst einmal in den Card's Werte haben aber da sind keine Werte drin und ich habe heute mittag das erste mal drauf geschaut da war alles 0.

Habe schon das neue Format eingegeben nun sind sie auch untereinander gerutscht, ich weiß man kann es einstellen das suche ich mir aber wieder zusammen

Wenn uiTable editierst, dann darf am Ende nicht \ stehen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

moonsorrox

#20
Zitat von: Damian am 29 August 2022, 22:03:31
Wenn uiTable editierst, dann darf am Ende nicht \ stehen.

OK, dass war mir neu habe es jetzt  :D :

jetzt muss ich nur nochmal nachschauen warum er mir am Tage nichts angezeigt hat und den Ertrag pro Tag, denn er hat heute 4,4 KWh gemacht
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Damian

Zitat von: moonsorrox am 29 August 2022, 22:05:27
OK, dass war mir neu habe es jetzt  :D :

jetzt muss ich nur nochmal nachschauen warum er mir am Tage nichts angezeigt hat und den Ertrag pro Tag

Es wird ja auch ein Logfile automatisch erzeugt (Raum logs) dort sollten alle Werte geloggt werden.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

moonsorrox

da muss ich noch irgendwo ein Fehler haben denn da steht nichts weiter drin.
2022-08-29_17:32:17 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_17:30:07 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_17:24:23 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_15:56:22 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_15:55:57 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_15:51:00 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_00:01:00 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Damian

Zitat von: moonsorrox am 29 August 2022, 22:10:53
da muss ich noch irgendwo ein Fehler haben denn da steht nichts weiter drin.
2022-08-29_17:32:17 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_17:30:07 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_17:24:23 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_15:56:22 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_15:55:57 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_15:51:00 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_00:01:00 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0


Wahrscheinlich hast du so oft den set-Befehl aufgerufen. Ich habe bei mir geschaut, es werden nur die last_-Werte um Mitternacht geloggt
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

moonsorrox

Ja das kann sein, weil nichts zu sehen war... ich warte mal auf morgen und lasse den in Ruhe.
Habe die Card angepasst und morgen schaue ich dann mal und melde mich
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Damian

Zitat von: moonsorrox am 29 August 2022, 22:19:10
Ja das kann sein, weil nichts zu sehen war... ich warte mal auf morgen und lasse den in Ruhe.
Habe die Card angepasst und morgen schaue ich dann mal und melde mich

Wenn Strom produziert wird, dann muss sich das Reading ...day, ...month, ...year (nicht die last-Readings) mit der Genauigkeit von eine Nachkommastelle im Laufe des Tages erhöhen.

Als du den ersten set-Befehl aufgerufen hast, hast du bereits 3,5 kWh produziert - das kann man in den Readings sehen;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

moonsorrox

Heute nun aktuell wieder die Anzeigen alle auf "0"

log zeigt dieses
2022-08-30_00:01:00 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_17:32:17 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_17:30:07 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_17:24:23 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_15:56:22 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_15:55:57 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_15:51:00 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0
2022-08-29_00:01:00 di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day: 0


aktuelle Readings von 14.14 Uhr
READINGS:
     2022-08-29 22:13:58   block_init      executed
     2022-08-30 00:01:00   block_mid       executed
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day 0
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day_counter 3277.3
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_counter 3272.9
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day 0
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month 0
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_year 0
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.month 4.4
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.month_counter 3272.9
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.year 4.4
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.year_counter 3272.9
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.day 0
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.day_counter 3277
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.last_counter 3277
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.last_day 0
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.last_month 0
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.last_year 0
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.month 0
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.month_counter 3277
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.year 0
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.year_counter 3277
     2022-08-29 18:15:35   mode            enabled
     2022-08-29 18:15:35   state           initialized
     2022-08-30 00:01:00   timer_01_c01    31.08.2022 00:01:00


hier nochmal das komplette list vom DOIF
Internals:
   DEF        subs {
## Device Reading   
push (@{$_counter},["growatt.0.294937.devices.QMB39212B4.deviceData.eTotal","state"]); ## PV-Energie Einspeisung 
 
sub midnight { ## Diese Funktion wird um Mitternacht ausgeführt
  my ($device,$reading,$mday,$yday)=@_;
  set_Reading("$device.$reading.day_counter",ReadingsVal($device, $reading,1));   
  set_Reading("$device.$reading.last_day",get_Reading("$device.$reading.day",0),1);
  set_Reading("$device.$reading.day",0,1);
  set_Reading ("$device.$reading.month",int((ReadingsVal($device, $reading,0)-(get_Reading("$device.$reading.month_counter",0)))*1000)/1000,1);
  set_Reading ("$device.$reading.year",int((ReadingsVal($device, $reading,0)-(get_Reading("$device.$reading.year_counter",0)))*1000)/1000,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)|(day|month)_counter):.*");
    fhem ("attr log.counter.$device.$reading room Logs");
}

}
} ## 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;
    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      630bd9d8-f33f-b063-1079-ce0c5cef23a3ed33
   MODEL      Perl
   NAME       di_counter_new
   NOTIFYDEV  global,di_counter_new
   NR         1566
   NTFY_ORDER 50-di_counter_new
   STATE      initialized
   TYPE       DOIF
   VERSION    26182 2022-06-29 18:57:26
   eventCount 5
   READINGS:
     2022-08-29 22:13:58   block_init      executed
     2022-08-30 00:01:00   block_mid       executed
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day 0
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day_counter 3277.3
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_counter 3272.9
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day 0
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month 0
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_year 0
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.month 4.4
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.month_counter 3272.9
     2022-08-30 00:01:00   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.year 4.4
     2022-08-28 23:11:41   growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.year_counter 3272.9
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.day 0
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.day_counter 3277
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.last_counter 3277
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.last_day 0
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.last_month 0
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.last_year 0
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.month 0
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.month_counter 3277
     2022-08-29 17:46:54   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.year 0
     2022-08-29 17:46:42   growatt.0.294937.devices.QMB39212B4.totalData.eTotal.state.year_counter 3277
     2022-08-29 18:15:35   mode            enabled
     2022-08-29 18:15:35   state           initialized
     2022-08-30 00:01:00   timer_01_c01    31.08.2022 00:01:00
   Regex:
     accu:
     collect:
       di_counter_new:
         collect:
           growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day ^di_counter_new$:^growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day:
           growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day ^di_counter_new$:^growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day:
           growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month ^di_counter_new$:^growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month:
     uiTable:
       di_counter_new:
         di_counter_new_uiTable_c_0_0_0_0:
           growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day ^di_counter_new$:^growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day:
         di_counter_new_uiTable_c_0_1_0_0:
           growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day ^di_counter_new$:^growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day:
         di_counter_new_uiTable_c_0_2_0_0:
           growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month ^di_counter_new$:^growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month:
   card:
     animate    0
   collect:
     di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day:
       24:
         animate    0
         dim        72
         hours      24
         last       
         last_v     0
         last_value 0
         max_value  0
         max_value_slot 71
         max_value_time 1661861454
         min_value  0
         min_value_slot 71
         min_value_time 1661861454
         name       di_counter_new
         reading    growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day
         time       1661861580
         value      0
         times:
           undef
           undef
           undef
           undef
           1661780901
           undef
           undef
           undef
           1661786299
           1661786652
           1661787888
           1661789583
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1661802761
           1661803291
           undef
           undef
           undef
           undef
           undef
           1661810460
           1661811753
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1661857893
           undef
           undef
           1661861454
         values:
           undef
           undef
           undef
           undef
           0
           undef
           undef
           undef
           0
           0
           0
           0
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           0
           0
           undef
           undef
           undef
           undef
           undef
           0
           0
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           0
           undef
           undef
           0
     di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day:
       672:
         animate    0
         dim        72
         hours      672
         last       
         last_v     0
         max_value  0
         max_value_slot 71
         max_value_time 1661857893
         min_value  0
         min_value_slot 71
         min_value_time 1661857893
         name       di_counter_new
         reading    growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day
         time       1661861580
         value      0
         times:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1661721296
           1661722553
           1661774660
           1661789583
           undef
           1661857893
         values:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           0
           0
           0
           0
           undef
           0
     di_counter_new growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month:
       8760:
         animate    0
         dim        72
         hours      8760
         last_v     0
         max_value  0
         max_value_slot 71
         max_value_time 1661789583
         min_value  0
         min_value_slot 71
         min_value_time 1661789583
         name       di_counter_new
         reading    growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month
         time       1661861580
         value      0
         times:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1661726292
           1661789583
         values:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           0
           0
   condition:
     0          ::DOIF_time_once($hash,0,$wday);                             for (my $i=0;$i<@{$hash->{var}{counter}};$i++) {      midnight($hash->{var}{counter}[$i][0],$hash->{var}{counter}[$i][1],$mday,$yday);
  }

     1                                             for (my $i=0;$i<@{$hash->{var}{counter}};$i++) {     init_readings($hash->{var}{counter}[$i][0],$hash->{var}{counter}[$i][1]);
  }

   days:
   defs:
     tpl:
       TPL_stat   
  day_count_$1_$2 {                       
    my $diff = int(([$1:$2,0]-(get_Reading("$1.$2.last_counter",0)))*1000)/1000;
    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);
  }

   helper:
     NOTIFYDEV  global,di_counter_new
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     triggerDev
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   interval:
   intervalfunc:
   localtime:
     0          1661896860
   perlblock:
     0          mid
     1          init
   realtime:
     0          00:01:00
   time:
     0          00:01:00
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1661896860:
       localtime  1661896860
       hash:
   uiState:
   uiTable:
     dev        di_counter_new
     header     
<table uitabid='DOIF-di_counter_new' class=' block wide uiTabledoif doif-di_counter_new ' style='border-top:none;'>
     package    package ui_Table;
     reading    growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month
     table:
       0:
         0:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_counter_new_uiTable_c_0_0_0_0',card(::ReadingValDoIf($hash,'di_counter_new','growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day','','col'),"Solarenergie Tagesverlauf in KWh","",0,10,30,90,"kWh",undef,"1","160,1,1,0,1,,200","0,0,0,0,2"),"")
         1:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_counter_new_uiTable_c_0_1_0_0',card(::ReadingValDoIf($hash,'di_counter_new','growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day','','col4w'),"Solarenergie in kWh pro Tag","",0,10,30,90,"kWh",undef,"1","160,1,1,0,1,,200","0,0,0,0,2"),"")
         2:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_counter_new_uiTable_c_0_2_0_0',card(::ReadingValDoIf($hash,'di_counter_new','growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month','','col365d'),"Solarenergie in kWh pro Monat","",0,600,30,90,"kWh",undef,"0","160,1,1,0,1,,200","0,0,0,0,2"),"")
     tc:
     td:
       0:
     tr:
   var:
     counter:
       ARRAY(0x55e9ea93a4e0)
Attributes:
   room       AutomationTest
   uiTable    ## { package ui_Table;
## $TC{1.2}="align='center'" ## zentrierte Ausrichtung der zweiten und dritten Spalte
## }
{package ui_Table;;$ANIMATE=0}
## Tabellendefinition
card([di_counter_new:growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day:col],"Solarenergie Tagesverlauf in KWh","",0,10,30,90,"kWh",undef,"1","160,1,1,0,1,,200","0,0,0,0,2")|
card([di_counter_new:growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day:col4w],"Solarenergie in kWh pro Tag","",0,10,30,90,"kWh",undef,"1","160,1,1,0,1,,200","0,0,0,0,2")|
card([di_counter_new:growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month:col365d],"Solarenergie in kWh pro Monat","",0,600,30,90,"kWh",undef,"0","160,1,1,0,1,,200","0,0,0,0,2")

## card([di_counter_new:growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.day:col],"Solarenergie Tagesverlauf in KWh","",0,30,30,90,["PV","Einsp."],undef,"1","160,1,1,0,1,,200","0,0,0,0,2")|
## card([di_counter_new:growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_day:col4w],"Solarenergie in kWh pro Tag","",0,30,30,90,["PV","Einsp."],undef,"1","160,1,1,0,1,,200","0,0,0,0,2")|
## card([di_counter_new:growatt.0.294937.devices.QMB39212B4.deviceData.eTotal.state.last_month:col365d],"Solarenergie in kWh pro Monat","",0,600,30,90,["PV","Einsp."],undef,"0","160,1,1,0,1,,200","0,0,0,0,2")



wenn ich wieder zuhause bin werde ich mal auf Fehlersuche gehen, denn ich habe einige Cards mit einzelnen Werten von dir umgesetzt die allesamt Werte anzeigen.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Damian

Das Modul wird nicht von [growatt.0.294937.devices.QMB39212B4.deviceData.eTotal:state] getriggert.

Offenbar gibt es dazu keine Events.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

moonsorrox

kommt aber alles rein vom Wechselrichter und eTotal hat sich gegenüber gestern schon erhöht hier mal das list vom device
Internals:
   FUUID      6204abc3-f33f-b063-fe91-204795cdcfb4fce1
   NAME       growatt.0.294937.devices.QMB39212B4.deviceData.eTotal
   NR         1375
   STATE      3281.1
   TYPE       dummy
   eventCount 1516
   READINGS:
     2022-08-30 15:38:17   state           3281.1
Attributes:
   alias      eTotal
   comment    Auto-created by ioBroker fhem.1
   group      growatt.0.294937.devices.QMB39212B4.deviceData
   room       ioB_IN


evtl. habe ich irgendwo ein Fehler im Perlcode, durch das kopieren vllt. ne Leerzeile oder sonstiges falsch drin.
Ich werde es mal überprüfen soweit es mir möglich ist da wenig Perl Kenntnisse
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

moonsorrox

#29
ich habe jetzt das gesamte DOIF nochmals komplett neu erstellt, wenn es neu erstellt wurde liest er einmal komplett die neuen Werte ein das ist der eTotal state der jetzt auf 3281.4 steht.

Dieser Wert wird aus dem dummy genommen
growatt.0.294937.devices.QMB39212B4.deviceData.eTotal

Ich habe hier eine weitere Card von dir im Einsatz für den Monatswert und ebenfalls den eTotal Wert dieser nutzt ja das gleiche dummy und hier funktioniert es mit dieser Def.

hier mal das list:

Internals:
   DEF        {}
   FUUID      60d1fb64-f33f-a6c6-2021-c2788dfd549325e7
   FVERSION   98_DOIF.pm:0.261820/2022-06-29
   MODEL      Perl
   NAME       di_growatt_monatJahr
   NOTIFYDEV  global,growatt.0.294937.devices.QMB39212B4.deviceData.eMonth,growatt.0.294937.devices.QMB39212B4.deviceData.eTotal
   NR         5983
   NTFY_ORDER 50-di_growatt_monatJahr
   STATE      initialized
   TYPE       DOIF
   VERSION    26182 2022-06-29 18:57:26
   READINGS:
     2022-02-11 19:12:32   mode            enabled
     2021-06-22 17:01:56   state           initialized
   Regex:
     accu:
     collect:
       growatt.0.294937.devices.QMB39212B4.deviceData.eMonth:
         collect:
           state      ^growatt.0.294937.devices.QMB39212B4.deviceData.eMonth$:^state:
       growatt.0.294937.devices.QMB39212B4.deviceData.eTotal:
         collect:
           state      ^growatt.0.294937.devices.QMB39212B4.deviceData.eTotal$:^state:
     uiTable:
       growatt.0.294937.devices.QMB39212B4.deviceData.eMonth:
         di_growatt_monatJahr_uiTable_c_0_0_0_0:
           state      ^growatt.0.294937.devices.QMB39212B4.deviceData.eMonth$:^state:
       growatt.0.294937.devices.QMB39212B4.deviceData.eTotal:
         di_growatt_monatJahr_uiTable_c_0_1_0_0:
           state      ^growatt.0.294937.devices.QMB39212B4.deviceData.eTotal$:^state:
   card:
   collect:
     growatt.0.294937.devices.QMB39212B4.deviceData.eMonth state:
       672:
         animate    0
         dim        72
         hours      672
         last       
         last_v     169.6
         max_value  172.8
         max_value_slot 71
         max_value_time 1661869455
         min_value  150.5
         min_value_slot 59
         min_value_time 1661486379
         name       growatt.0.294937.devices.QMB39212B4.deviceData.eMonth
         reading    state
         time       1661869877
         value      172.8
         times:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1661486379
           1661519566
           1661531877
           1661584295
           1661620353
           1661620931
           1661687455
           1661705475
           1661721935
           1661788701
           1661813262
           1661855910
           1661869455
         values:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           150.5
           154.3
           155.4
           155.5
           157.5
           157.5
           160.8
           164.3
           164.3
           168.5
           168.7
           169.6
           172.8
     growatt.0.294937.devices.QMB39212B4.deviceData.eTotal state:
       8736:
         animate    0
         dim        72
         hours      8736
         last_v     3264.1
         max_value  3281.4
         max_value_slot 71
         max_value_time 1661869455
         min_value  3264.1
         min_value_slot 70
         min_value_time 1661587173
         name       growatt.0.294937.devices.QMB39212B4.deviceData.eTotal
         reading    state
         time       1661869877
         value      3281.4
         times:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           1661587173
           1661869455
         values:
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           undef
           3264.1
           3281.4
   condition:
     0         
   helper:
     NOTIFYDEV  global,growatt.0.294937.devices.QMB39212B4.deviceData.eMonth,growatt.0.294937.devices.QMB39212B4.deviceData.eTotal
     globalinit 1
     last_timer 0
     sleeptimer -1
   perlblock:
     0          block_01
   uiState:
   uiTable:
     dev        growatt.0.294937.devices.QMB39212B4.deviceData.eTotal
     header     
<table uitabid='DOIF-di_growatt_monatJahr' class=' block wide uiTabledoif doif-di_growatt_monatJahr ' style='border-top:none;'>
     package    package ui_Table;
     reading    state
     table:
       0:
         0:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_growatt_monatJahr_uiTable_c_0_0_0_0',card(::ReadingValDoIf($hash,'growatt.0.294937.devices.QMB39212B4.deviceData.eMonth','state','','col4w'),"Leistung Monat","measure_power",0,1350,undef,undef,"KW",\&temp_hue,"1","220,,,,,1",undef,undef),"")
         1:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_growatt_monatJahr_uiTable_c_0_1_0_0',card(::ReadingValDoIf($hash,'growatt.0.294937.devices.QMB39212B4.deviceData.eTotal','state','','col52w'),"Leistung Gesamt","measure_power_meter",0,undef,undef,undef,"KW",[500,120,1000,60,1250,0],"1","220,,,,,1,210",undef,undef),"")
     tc:
       1.2        align='center'
     td:
       0:
     tr:
Attributes:
   alias      PV - Anlage - Monats Leistung - Jahres Leistung
   group      1_PV Anlage
   room       ioB_OUT
   sortby     02
   uiTable    { package ui_Table;
$TC{1.2}="align='center'" ## zentrierte Ausrichtung der zweiten und dritten Spalte

}

## Tabellendefinition
card([growatt.0.294937.devices.QMB39212B4.deviceData.eMonth:state:col4w],"Leistung Monat","measure_power",0,1350,undef,undef,"KW",\&temp_hue,"1","220,,,,,1",undef,undef)|
card([growatt.0.294937.devices.QMB39212B4.deviceData.eTotal:state:col52w],"Leistung Gesamt","measure_power_meter",0,undef,undef,undef,"KW",[500,120,1000,60,1250,0],"1","220,,,,,1,210",undef,undef)|
## 2.Card rosa
##card([growatt.0.294937.devices.QMB39212B4.deviceData.eTotal:state:col52w],"Leistung Gesamt","measure_power_meter",0,2800,undef,undef,"KW",\&temp_hue,"1","220,,,,,1",undef,undef)


das dummy wird alle 5min. getriggert und der Wert wird aucheingetragen.
Ich weiß jetzt nicht mehr wo ich noch gucken könnte, warum das DOIF die Werte nicht nimmt
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM