FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: moonsorrox am 01 November 2020, 17:45:02

Titel: Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag von: moonsorrox am 01 November 2020, 17:45:02
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])
Titel: Antw:Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag von: Damian am 01 November 2020, 21:12:23
myAbfall muss als Calendermodul definiert werden: https://wiki.fhem.de/wiki/Calendar
Titel: Antw:Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag 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
Titel: Antw:Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag von: Damian am 02 November 2020, 09:15:37
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.
Titel: Antw:Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag von: moonsorrox am 02 November 2020, 15:34:22
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.
Titel: Antw:Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag 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
Titel: Antw:Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag von: Damian am 03 November 2020, 13:11:04
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.
Titel: Antw:Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag von: moonsorrox am 03 November 2020, 13:14:06
ist bei mir auf verbose 1
Titel: Antw:Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag von: Damian am 03 November 2020, 13:14:49
Zitat von: moonsorrox am 03 November 2020, 13:14:06
ist bei mir auf verbose 1

ja, Calender-Modul ist nicht meine Baustelle
Titel: Antw:Abfall mit ui_Table Funktion erzeugt Fehler bei mir
Beitrag von: moonsorrox am 03 November 2020, 13:16:56
ja das weiß ich und werde es mal umstellen