Abfall mit ui_Table Funktion erzeugt Fehler bei mir

Begonnen von moonsorrox, 01 November 2020, 17:45:02

Vorheriges Thema - Nächstes Thema

moonsorrox

Ich habe jetzt nach dem Wiki mir die Abfall Anzeige nachgebaut, aber er zeigt mir immer -306 Tage an und zudem produziert er jede Menge Logeinträge die so aussehen
2020.11.01 17:36:00 3: get myAbfall events timeFormat:"%j" filter:field(summary)=~"BioabfallGruengut" limit:count=1,from=0 format:custom="$T1" : No get implemented for myAbfall
2020.11.01 17:36:00 3: get myAbfall events timeFormat:"%j" filter:field(summary)=~"GelberSackLeichtverpackungen" limit:count=1,from=0 format:custom="$T1" : No get implemented for myAbfall
2020.11.01 17:36:00 3: get myAbfall events timeFormat:"%j" filter:field(summary)=~"Restmuell_text" limit:count=1,from=0 format:custom="$T1" : No get implemented for myAbfall
2020.11.01 17:36:00 1: PERL WARNING: Argument "No get implemented for myAbfall" isn't numeric in subtraction (-) at (eval 5669261) line 5.
2020.11.01 17:36:00 3: get myAbfall events timeFormat:"%j" filter:field(summary)=~"PapierAbfall_text" limit:count=1,from=0 format:custom="$T1" : No get implemented for myAbfall


Ich hatte schon einige Parameter verändert was die Tage betrifft aber ich finde den Fehler nicht.

hier das list
Internals:
   CFGFN     
   DEF        subs {
  ## Die Funktion 'days' sucht nach dem Ereignis $event im Kalender und berechnet die Anzahl der verbleibenden Tage und legt sie im entsprechendem Reading $reading des DOIF-Moduls ab
  sub days
  {
    my ($event,$reading)=@_;
    set_Reading($reading,fhem('get myAbfall events timeFormat:"%j" filter:field(summary)=~"'.$event.'" limit:count=1,from=0 format:custom="$T1"')-::strftime ('%j', localtime()),1)
  }
  ## Die Funktion 'update' bestimmt die verbleibenden Tage mit Hilfe der obigen Funktion 'days' für die jeweiligen Tonnen
  sub update
  {
    days("PapierAbfall","PapierAbfall");days("Restmuell","Restmuell");days("GelberSackLeichtverpackungen","GelberSackLeichtverpackungen");days("BioabfallGruengut","BioabfallGruengut");
  }
}
## Beim Start, um 02:00 Uhr und 08:00 Uhr wird zeitverzögert die obige Funktion 'update' aufgerufen
init {[02:00];[08:00];set_Exec("Timer",60,'update()');
}
   FUUID      5f9eb378-f33f-a6c6-6c3c-cd099c6373783474
   MODEL      Perl
   NAME       di_Abfall_neu
   NOTIFYDEV  di_Abfall_neu,global
   NR         24856
   NTFY_ORDER 50-di_Abfall_neu
   STATE      initialized
   TYPE       DOIF
   VERSION    22913 2020-10-04 21:46:02
   OLDREADINGS:
   READINGS:
     2020-11-01 17:37:27   BioabfallGruengut -306
     2020-11-01 17:37:27   GelberSackLeichtverpackungen -306
     2020-11-01 17:37:27   PapierAbfall    -306
     2020-11-01 17:37:27   Restmuell       -306
     2020-11-01 17:36:27   block_init      executed
     2020-11-01 17:37:34   mode            disabled
     2020-11-01 17:36:27   state           initialized
     2020-11-01 17:36:27   timer_01_c01    02.11.2020 02:00:00
     2020-11-01 17:36:27   timer_02_c01    02.11.2020 08:00:00
   Regex:
     accu:
     uiTable:
       di_Abfall_neu:
         di_Abfall_neu_uiTable_c_0_0_0_0:
           Restmuell  ^di_Abfall_neu$:^Restmuell:
         di_Abfall_neu_uiTable_c_0_1_0_0:
           PapierAbfall ^di_Abfall_neu$:^PapierAbfall:
         di_Abfall_neu_uiTable_c_0_2_0_0:
           GelberSackLeichtverpackungen ^di_Abfall_neu$:^GelberSackLeichtverpackungen:
         di_Abfall_neu_uiTable_c_0_3_0_0:
           BioabfallGruengut ^di_Abfall_neu$:^BioabfallGruengut:
   condition:
     0          ::DOIF_time_once($hash,0,$wday);::DOIF_time_once($hash,1,$wday);set_Exec("Timer",60,'update()');

   days:
   helper:
     DEVFILTER  ^global$|^di_Abfall_neu$
     NOTIFYDEV  global|di_Abfall_neu
     globalinit 1
     last_timer 2
     sleeptimer -1
   intervalfunc:
   localtime:
     0          1604278800
     1          1604300400
   perlblock:
     0          init
     init       0
   ptimer:
     Timer:
       count      0
       name       Timer
       sec        60
       subname    update()
       time       1604248647.11827
       hash:
   realtime:
     0          02:00:00
     1          08:00:00
   time:
     0          02:00:00
     1          08:00:00
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   triggertime:
     1604278800:
       localtime  1604278800
       hash:
     1604300400:
       localtime  1604300400
       hash:
   uiTable:
     dev        di_Abfall_neu
     package    package ui_Table;
     reading    BioabfallGruengut
     shownostate 1
     table:
       0:
         0:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_Abfall_neu_uiTable_c_0_0_0_0',ic ("dustbin\@gray",::ReadingValDoIf($hash,'di_Abfall_neu','Restmuell')),"")
         1:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_Abfall_neu_uiTable_c_0_1_0_0',ic ("dustbin\@blue",::ReadingValDoIf($hash,'di_Abfall_neu','PapierAbfall')),"")
         2:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_Abfall_neu_uiTable_c_0_2_0_0',ic ("bag\@yellow",::ReadingValDoIf($hash,'di_Abfall_neu','GelberSackLeichtverpackungen')),"")
         3:
           0:
             0          package ui_Table;::DOIF_Widget($hash,$reg,'di_Abfall_neu_uiTable_c_0_3_0_0',ic ("bag\@lightgreen",::ReadingValDoIf($hash,'di_Abfall_neu','BioabfallGruengut')),"")
     tc:
       0          align='center'
       1          align='center'
       2          align='center'
       3          align='center'
       4          align='center'
     td:
       0:
     tr:
Attributes:
   group      ABFALL
   icon       message_garbage@blue
   room       HWR
   uiTable    {
  package ui_Table;
  $TC{0..4}="align='center'";
  $SHOWNOSTATE=1;

  ## die Funktion 'ic' benutzt die Funktion 'icon_label' für die Darstellung des Icons, abhängig von der Anzahl der Tage wird die Anzahl in grün bzw. rot eingefärbt
  sub ic
  {
    my ($icon,$days)=@_;
    icon_label($icon,$days,"white",$days > 1 ? "lightgreen":"crimson")
  }
}
## Tabellendefinition, die einzelnen Tonnen werden mit Hilfe der obigen Funkton 'ic' dargestellt
ic ("dustbin\@gray",[$SELF:Restmuell])|
ic ("dustbin\@blue",[$SELF:PapierAbfall])|
ic ("bag\@yellow",[$SELF:GelberSackLeichtverpackungen])|
ic ("bag\@lightgreen",[$SELF:BioabfallGruengut])
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

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

moonsorrox

Ok, das habe ich jetzt nochmal überprüft und mein Abfall Kalender heißt tatsächlich "AbfallKalender" aber es tut sich nichts...
Habe mal die Zeit verändert, es bleibt weiterhin bei der Zahl -306
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 01 November 2020, 22:14:12
Ok, das habe ich jetzt nochmal überprüft und mein Abfall Kalender heißt tatsächlich "AbfallKalender" aber es tut sich nichts...
Habe mal die Zeit verändert, es bleibt weiterhin bei der Zahl -306

Dann wurde offenbar die entsprechende Angabe im Kalender nicht gefunden.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

moonsorrox

Danke Damian, jetzt habe ich den Fehler gefunden, sobald in dem Namen wie bei mir z.B. in dem Code
days("Gelber Sack, Leichtverpackungen","GelberSackLeichtverpackungen");
im vorderen Teil ein Komma drin ist funktioniert das nicht mehr, d.h. ich muss nur den ersten Teil vor dem Komma eingeben dann funktioniert das.
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

eine Frage noch dazu ist dies jetzt einfach nur im log eine Information.? denn das sind ja die Zeiten der eingestellten update Uhrzeit
2020.11.03 08:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Bioabfall" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 08:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Gelber Sack" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 08:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Restmüll" limit:count=1,from=0 format:custom="$T1" : 316
2020.11.03 08:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Papier Abfall" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 02:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Bioabfall" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 02:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Gelber Sack" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 02:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Restmüll" limit:count=1,from=0 format:custom="$T1" : 316
2020.11.03 02:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Papier Abfall" limit:count=1,from=0 format:custom="$T1" : 309
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 03 November 2020, 12:30:49
eine Frage noch dazu ist dies jetzt einfach nur im log eine Information.? denn das sind ja die Zeiten der eingestellten update Uhrzeit
2020.11.03 08:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Bioabfall" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 08:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Gelber Sack" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 08:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Restmüll" limit:count=1,from=0 format:custom="$T1" : 316
2020.11.03 08:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Papier Abfall" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 02:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Bioabfall" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 02:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Gelber Sack" limit:count=1,from=0 format:custom="$T1" : 309
2020.11.03 02:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Restmüll" limit:count=1,from=0 format:custom="$T1" : 316
2020.11.03 02:01:00 3: get AbfallKalender events timeFormat:"%j" filter:field(summary)=~"Papier Abfall" limit:count=1,from=0 format:custom="$T1" : 309


ja, das loggt wohl das Calender-Device - vielleicht kann man das dort abstellen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

moonsorrox

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

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

moonsorrox

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