Abfallkalender - Anzeige am Tag der Abholung defekt

Begonnen von shorty81, 20 April 2017, 06:39:24

Vorheriges Thema - Nächstes Thema

shorty81

Moin,
habe ein Problem mit der Darstellung meines Abfallkalenders.

Am Tag der Abholung zeigt der Warner -1 an und das Icon verschwindet... bin etwas ratlos.
Außerdem zeiht er bei der Anzeige des Datums einen Monat ab?!  :o
Habe zwar Anmerkungen/Fehler im Log, habe aber leider keine Idee, wo ich die abstellen kann?
Würde mich sehr über Hilfe freuen.
Danke und VG
Chris


Log-Auszug:
2017.04.20 02:26:57 3: notAbfalltermine return value: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 03:26:56 3: CALVIEW Kalender - CALENDAR:Abfall triggered, updating CALVIEW Kalender ...
2017.04.20 03:26:56 3: get Abfall find .*Blau : E4C5B318007044CCB6D129A94B859CFD;A85ADF01F50D4ECA9317DC722D4344C4
2017.04.20 03:26:56 3: get Abfall start uid=E4C5B318007044CCB6D129A94B859CFD 1 : 27.04.2017 06:00:00
2017.04.20 03:26:56 3: get Abfall find .*Gelb : 456272AB1AA94E5084C01C7946826849
2017.04.20 03:26:56 3: get Abfall start uid=456272AB1AA94E5084C01C7946826849 1 : 20.04.2017 06:01:00
2017.04.20 03:26:57 3: get Abfall find .*Rest : F715C3E9CC294C41A5F07C1A129ACCE6
2017.04.20 03:26:57 3: get Abfall start uid=F715C3E9CC294C41A5F07C1A129ACCE6 1 : 19.04.2017 07:45:00
2017.04.20 03:26:57 3: get Abfall find .*BioT : 11F15FEE96EE4D0D9EB4CDA162221879
2017.04.20 03:26:57 3: get Abfall start uid=11F15FEE96EE4D0D9EB4CDA162221879 1 : 19.04.2017 06:00:00
Use of uninitialized value within @SuchTexte in concatenation (.) or string at ./FHEM/99_MeineUtils.pm line 133.
2017.04.20 03:26:57 3: get Abfall find  : argument is missing
2017.04.20 03:26:57 3: get Abfall start uid=argument is missing 1 : Argument is is not a number.
Use of uninitialized value $SplitDate[1] in subtraction (-) at ./FHEM/99_MeineUtils.pm line 108.
2017.04.20 03:26:57 1: ERROR evaluating my $SELF='notAbfalltermine';my $EVENT='triggered';my $EVTPART0='triggered';my $NAME='Abfall';my $TYPE='Calendar';{ Abfalltermine() }: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 03:26:57 3: notAbfalltermine return value: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 04:26:56 3: CALVIEW Kalender - CALENDAR:Abfall triggered, updating CALVIEW Kalender ...
2017.04.20 04:26:56 3: get Abfall find .*Blau : E4C5B318007044CCB6D129A94B859CFD;A85ADF01F50D4ECA9317DC722D4344C4
2017.04.20 04:26:56 3: get Abfall start uid=E4C5B318007044CCB6D129A94B859CFD 1 : 27.04.2017 06:00:00
2017.04.20 04:26:56 3: get Abfall find .*Gelb : 456272AB1AA94E5084C01C7946826849
2017.04.20 04:26:56 3: get Abfall start uid=456272AB1AA94E5084C01C7946826849 1 : 20.04.2017 06:01:00
2017.04.20 04:26:56 3: get Abfall find .*Rest : F715C3E9CC294C41A5F07C1A129ACCE6
2017.04.20 04:26:56 3: get Abfall start uid=F715C3E9CC294C41A5F07C1A129ACCE6 1 : 19.04.2017 07:45:00
2017.04.20 04:26:57 3: get Abfall find .*BioT : 11F15FEE96EE4D0D9EB4CDA162221879
2017.04.20 04:26:57 3: get Abfall start uid=11F15FEE96EE4D0D9EB4CDA162221879 1 : 19.04.2017 06:00:00
Use of uninitialized value within @SuchTexte in concatenation (.) or string at ./FHEM/99_MeineUtils.pm line 133.
2017.04.20 04:26:57 3: get Abfall find  : argument is missing
2017.04.20 04:26:57 3: get Abfall start uid=argument is missing 1 : Argument is is not a number.
Use of uninitialized value $SplitDate[1] in subtraction (-) at ./FHEM/99_MeineUtils.pm line 108.
2017.04.20 04:26:57 1: ERROR evaluating my $TYPE='Calendar';my $SELF='notAbfalltermine';my $EVENT='triggered';my $NAME='Abfall';my $EVTPART0='triggered';{ Abfalltermine() }: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 04:26:57 3: notAbfalltermine return value: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 04:27:32 2: CUL_MAX_SendQueueHandler: Missing ack from 12dfc2 for 0faa040312345612dfc2001114045b1c
2017.04.20 05:26:56 3: CALVIEW Kalender - CALENDAR:Abfall triggered, updating CALVIEW Kalender ...
2017.04.20 05:26:56 3: get Abfall find .*Blau : A85ADF01F50D4ECA9317DC722D4344C4;E4C5B318007044CCB6D129A94B859CFD
2017.04.20 05:26:56 3: get Abfall start uid=E4C5B318007044CCB6D129A94B859CFD 1 : 27.04.2017 06:00:00
2017.04.20 05:26:56 3: get Abfall find .*Gelb : 456272AB1AA94E5084C01C7946826849
2017.04.20 05:26:56 3: get Abfall start uid=456272AB1AA94E5084C01C7946826849 1 : 20.04.2017 06:01:00
2017.04.20 05:26:57 3: get Abfall find .*Rest : F715C3E9CC294C41A5F07C1A129ACCE6
2017.04.20 05:26:57 3: get Abfall start uid=F715C3E9CC294C41A5F07C1A129ACCE6 1 : 19.04.2017 07:45:00
2017.04.20 05:26:57 3: get Abfall find .*BioT : 11F15FEE96EE4D0D9EB4CDA162221879
2017.04.20 05:26:57 3: get Abfall start uid=11F15FEE96EE4D0D9EB4CDA162221879 1 : 19.04.2017 06:00:00
Use of uninitialized value within @SuchTexte in concatenation (.) or string at ./FHEM/99_MeineUtils.pm line 133.
2017.04.20 05:26:57 3: get Abfall find  : argument is missing
2017.04.20 05:26:57 3: get Abfall start uid=argument is missing 1 : Argument is is not a number.
Use of uninitialized value $SplitDate[1] in subtraction (-) at ./FHEM/99_MeineUtils.pm line 108.
2017.04.20 05:26:57 1: ERROR evaluating my $TYPE='Calendar';my $SELF='notAbfalltermine';my $NAME='Abfall';my $EVTPART0='triggered';my $EVENT='triggered';{ Abfalltermine() }: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 05:26:57 3: notAbfalltermine return value: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 06:01:00 3: CALVIEW Kalender - CALENDAR:Abfall triggered, updating CALVIEW Kalender ...
2017.04.20 06:01:00 3: get Abfall find .*Blau : E4C5B318007044CCB6D129A94B859CFD;A85ADF01F50D4ECA9317DC722D4344C4
2017.04.20 06:01:00 3: get Abfall start uid=E4C5B318007044CCB6D129A94B859CFD 1 : 27.04.2017 06:00:00
2017.04.20 06:01:00 3: get Abfall find .*Gelb : 456272AB1AA94E5084C01C7946826849
2017.04.20 06:01:00 3: get Abfall start uid=456272AB1AA94E5084C01C7946826849 1 : 20.04.2017 06:01:00
2017.04.20 06:01:00 3: get Abfall find .*Rest : F715C3E9CC294C41A5F07C1A129ACCE6
2017.04.20 06:01:00 3: get Abfall start uid=F715C3E9CC294C41A5F07C1A129ACCE6 1 : 19.04.2017 07:45:00
2017.04.20 06:01:00 3: get Abfall find .*BioT : 11F15FEE96EE4D0D9EB4CDA162221879
2017.04.20 06:01:00 3: get Abfall start uid=11F15FEE96EE4D0D9EB4CDA162221879 1 : 03.05.2017 06:00:00
Use of uninitialized value within @SuchTexte in concatenation (.) or string at ./FHEM/99_MeineUtils.pm line 133.
2017.04.20 06:01:00 3: get Abfall find  : argument is missing
2017.04.20 06:01:00 3: get Abfall start uid=argument is missing 1 : Argument is is not a number.
Use of uninitialized value $SplitDate[1] in subtraction (-) at ./FHEM/99_MeineUtils.pm line 108.
2017.04.20 06:01:00 1: ERROR evaluating my $NAME='Abfall';my $EVTPART0='triggered';my $EVENT='triggered';my $SELF='notAbfalltermine';my $TYPE='Calendar';{ Abfalltermine() }: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 06:01:00 3: notAbfalltermine return value: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 06:02:00 3: CALVIEW Kalender - CALENDAR:Abfall triggered, updating CALVIEW Kalender ...
2017.04.20 06:02:00 3: get Abfall find .*Blau : A85ADF01F50D4ECA9317DC722D4344C4;E4C5B318007044CCB6D129A94B859CFD
2017.04.20 06:02:00 3: get Abfall start uid=E4C5B318007044CCB6D129A94B859CFD 1 : 27.04.2017 06:00:00
2017.04.20 06:02:00 3: get Abfall find .*Gelb : 456272AB1AA94E5084C01C7946826849
2017.04.20 06:02:00 3: get Abfall start uid=456272AB1AA94E5084C01C7946826849 1 : 20.04.2017 06:01:00
2017.04.20 06:02:00 3: get Abfall find .*Rest : F715C3E9CC294C41A5F07C1A129ACCE6
2017.04.20 06:02:00 3: get Abfall start uid=F715C3E9CC294C41A5F07C1A129ACCE6 1 : 19.04.2017 07:45:00
2017.04.20 06:02:00 3: get Abfall find .*BioT : 11F15FEE96EE4D0D9EB4CDA162221879
2017.04.20 06:02:00 3: get Abfall start uid=11F15FEE96EE4D0D9EB4CDA162221879 1 : 03.05.2017 06:00:00
Use of uninitialized value within @SuchTexte in concatenation (.) or string at ./FHEM/99_MeineUtils.pm line 133.
2017.04.20 06:02:00 3: get Abfall find  : argument is missing
2017.04.20 06:02:00 3: get Abfall start uid=argument is missing 1 : Argument is is not a number.
Use of uninitialized value $SplitDate[1] in subtraction (-) at ./FHEM/99_MeineUtils.pm line 108.
2017.04.20 06:02:00 1: ERROR evaluating my $TYPE='Calendar';my $SELF='notAbfalltermine';my $EVTPART0='triggered';my $NAME='Abfall';my $EVENT='triggered';{ Abfalltermine() }: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 06:02:00 3: notAbfalltermine return value: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 06:26:55 3: CALVIEW Kalender - CALENDAR:Abfall triggered, updating CALVIEW Kalender ...
2017.04.20 06:26:56 3: get Abfall find .*Blau : E4C5B318007044CCB6D129A94B859CFD;A85ADF01F50D4ECA9317DC722D4344C4
2017.04.20 06:26:56 3: get Abfall start uid=E4C5B318007044CCB6D129A94B859CFD 1 : 27.04.2017 06:00:00
2017.04.20 06:26:56 3: get Abfall find .*Gelb : 456272AB1AA94E5084C01C7946826849
2017.04.20 06:26:56 3: get Abfall start uid=456272AB1AA94E5084C01C7946826849 1 : 20.04.2017 06:01:00
2017.04.20 06:26:56 3: get Abfall find .*Rest : F715C3E9CC294C41A5F07C1A129ACCE6
2017.04.20 06:26:56 3: get Abfall start uid=F715C3E9CC294C41A5F07C1A129ACCE6 1 : 19.04.2017 07:45:00
2017.04.20 06:26:56 3: get Abfall find .*BioT : 11F15FEE96EE4D0D9EB4CDA162221879
2017.04.20 06:26:56 3: get Abfall start uid=11F15FEE96EE4D0D9EB4CDA162221879 1 : 03.05.2017 06:00:00
Use of uninitialized value within @SuchTexte in concatenation (.) or string at ./FHEM/99_MeineUtils.pm line 133.
2017.04.20 06:26:56 3: get Abfall find  : argument is missing
2017.04.20 06:26:56 3: get Abfall start uid=argument is missing 1 : Argument is is not a number.
Use of uninitialized value $SplitDate[1] in subtraction (-) at ./FHEM/99_MeineUtils.pm line 108.
2017.04.20 06:26:56 1: ERROR evaluating my $EVENT='triggered';my $NAME='Abfall';my $EVTPART0='triggered';my $SELF='notAbfalltermine';my $TYPE='Calendar';{ Abfalltermine() }: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.

2017.04.20 06:26:56 3: notAbfalltermine return value: Month '-1' out of range 0..11 at ./FHEM/99_MeineUtils.pm line 108.


Raspberry Pi 2 Model B, CUL866, CUL433, JeeLink, HMLan, Homematic, Homebridge via Siri, Philips HUE, Max-Thermostate, Max-Fensterkontakte, AVM 546E, WS1600, RSL, Intertechno, IT+, Elro

chris1284

mich würde erstmal interessieren was genau du da machst in 99_MeineUtils.pm
ansich braucht es keine myUtils um die Tage bis zur abholung auszulesen, das geht direkt mit dem modul abfall

dann scheinst du zu denken das es ein tui problem ist (weil hier gepostet) zeigst aber deine tui-definition der icons nicht (und die dazugehörigen readings per list auch nicht).

shorty81

Stimmt, sorry, danke für den Hinweis.

Eintrag aus der Utils
#
# Hilfsfunktion für Kalenderauswertungen
#

sub
KalenderDatum($$)
{
   my ($KalenderName, $KalenderUid) = @_;
   my $dt = fhem("get $KalenderName start uid=$KalenderUid 1");
   my $ret = time - (2*86400);  #falls kein Datum ermittelt wird Rückgabewert auf "vorgestern" -> also vergangener Termin;

   if ($dt and $dt ne "")
   {
      my @SplitDt = split(/ /,$dt);
      my @SplitDate = split(/\./,$SplitDt[0]);
      $ret = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
   }

   return $ret;
}


#
# Abfall Kalender auswerten / Google Kalender: "Abfall"
#

sub
Abfalltermine()
{
   my $t  = time;
   my @Tonnen = ("GrueneTonne", "GelbeTonne", "Restmuell", "BioTonne");
   my @SuchTexte = (".*Papier.*", ".*Wertstoff.*", ".*Restmüll.*", ".*Bio.*");
   my $uid;
   my $dayDiff;
 
   for(my $i=0; $i<4; $i++)
   {
      $dayDiff = -1; #BUG behoben
      my @uids = split(/;/,fhem("get Abfall find $SuchTexte[$i]"));
       
      # den nächsten Termine finden
      foreach $uid (@uids)
      {
         my $eventDate = KalenderDatum('Abfall', $uid);
         my $dayDiffNeu = floor(($eventDate - $t) / 60 / 60 / 24 + 1);
         if ($dayDiffNeu >= 0 && ($dayDiffNeu < $dayDiff || $dayDiff == -1)) #BUG behoben
         {
            $dayDiff = $dayDiffNeu;
         }
      }
       
      fhem("setreading MuellterminDummy $Tonnen[$i] $dayDiff");
   }
}


Den Rest reiche ich heute Abend nach!
Raspberry Pi 2 Model B, CUL866, CUL433, JeeLink, HMLan, Homematic, Homebridge via Siri, Philips HUE, Max-Thermostate, Max-Fensterkontakte, AVM 546E, WS1600, RSL, Intertechno, IT+, Elro


shorty81

So, hier die Definition aus der index.html


<li data-row="3" data-col="5" data-sizex="3" data-sizey="1">
<header><div data-type="label" class="inline horizontal">ABFALL</div></header>
<center> 
    <table border="0" cellpadding="2" cellspacing=4>
    <tr>
   
    <td align="center">
    <div     data-type="symbol"
            data-device="MuellterminDummy"
            data-get="Restmüll"
            data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
            data-on-colors='["black","black"]'
            data-get-on='["0","2"]'
            data-background-icon="fa-circle"
            class="big left-space" >
    </div>
    </td>
   
   
   
    <td align="center">
    <div data-type="symbol"
            data-device="MuellterminDummy"
            data-get="BioTonne"
            data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
            data-on-colors='["saddlebrown","saddlebrown"]'
            data-get-on='["0","2"]'
            data-background-icon="fa-circle"
            class="big ">
    </div>
    </td>
    <td align="center">
    <div     data-type="symbol"
            data-device="MuellterminDummy"
            data-get="Blau"
            data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
            data-on-colors='["blue","blue"]'
            data-get-on='["0","2"]'
            data-background-icon="fa-circle"
            class="big " >
    </div>
    </td>
   
    </td>
    <td align="center">
    <div     data-type="symbol"
            data-device="MuellterminDummy"
            data-get="Gelb"
            data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
            data-on-colors='["yellow","yellow"]'
            data-get-on='["0","2"]'
            data-background-icon="fa-circle"
            class="big right-space" >
    </div>
    </td>

    </tr>




    <tr>
   
   
   
    <td align="center">
    <div  style="font-size:85%; margin-top:-3px" data-type="label"
            data-device="MuellterminDummy"
            data-get="Restmüll_nextwtag"
            class="large">
    </div>    <div style="font-size:85%; margin-top:-3px" data-type="label"
            data-device="MuellterminDummy"
            data-get="Restmüll_nextPickUp"
            class="">
    </div>
    </td>
   
    <td align="center">
    <div  style="font-size:85%; margin-top:-3px" data-type="label"
            data-device="MuellterminDummy"
            data-get="BioTonne_nextwtag"
            class="large">
    </div>
    <div style="font-size:85%; margin-top:-3px" data-type="label"
            data-device="MuellterminDummy"
            data-get="BioTonne_nextPickUp"
            class="">
    </div>
    </td>
   
      <td align="center">
    <div  style="font-size:85%; margin-top:-3px" data-type="label"
            data-device="MuellterminDummy"
            data-get="Blau_nextwtag"
            class="large">
    </div>    <div style="font-size:85%; margin-top:-3px" data-type="label"
            data-device="MuellterminDummy"
            data-get="Blau_nextPickUp"
            class="">
    </div>
    </td>
   
    <td align="center">
    <div  style="font-size:85%; margin-top:-3px" data-type="label"
            data-device="MuellterminDummy"
            data-get="Gelb_nextwtag"
            class="large">
    </div>    <div style="font-size:85%; margin-top:-3px" data-type="label"
            data-device="MuellterminDummy"
            data-get="Gelb_nextPickUp"
            class="">
    </div>
    </td>
   
    </tr>
    </table>
</center>
</li>



und die Readings:
Readings     2017.04.20-06:01:00

Gelb            2017-04-21 05:26:52     2017.04.26-07:45:00
Restmüll      2017-04-21 05:26:56     2017.04.27-06:00:00

Blau            2017-04-21 05:26:56     2017.05.03-06:00:00

BioTonne     2017-04-21 05:26:56     2017.05.03-07:45:00

Restmüll      2017-04-21 05:26:56     2017.05.04-06:01:00

Gelb            2017-04-21 05:26:56     2017.05.10-07:45:00

Restmüll      2017-04-21 05:26:56     2017.05.11-06:00:00

Blau            2017-04-21 05:26:56     2017.05.17-06:00:00

BioTonne     2017-04-21 05:26:56     2017.05.17-07:45:00

Restmüll      2017-04-21 05:26:56     2017.05.18-06:01:00

Gelb            2017-04-21 05:26:56     2017.05.24-07:45:00

Restmüll      2017-04-21 05:26:56     2017.05.25-06:00:00

Blau            2017-04-21 05:26:56     2017.05.31-06:00:00

BioTonne     2017-04-21 05:26:56     2017.05.31-07:45:00

Restmüll      2017-04-21 05:26:56     2017.06.01-06:01:00

Gelb            2017-04-21 05:26:56     2017.06.07-07:45:00

Restmüll      2017-04-21 05:26:56     2017.06.08-06:00:00

Blau            2017-04-21 05:26:56     2017.06.14-06:00:00

BioTonne     2017-04-21 05:26:56     2017.06.14-07:45:00

Restmüll      2017-04-21 05:26:56



und meine Definition aus de CFG
##############
## KALENDER ##


define Abfall Calendar ical url http://p29-calendars.icloud.com/published/2/xyz 3600
attr Abfall hideOlderThan 1d
attr Abfall room Kalender

define Kalender CALVIEW Abfall 1
attr Kalender maxreadings 20
attr Kalender modes next
attr Kalender oldStyledReadings 1
attr Kalender room Kalender

#########
##Abfall

define notAbfalltermine notify Abfall:triggered { Abfalltermine() }
attr notAbfalltermine room Kalender
Raspberry Pi 2 Model B, CUL866, CUL433, JeeLink, HMLan, Homematic, Homebridge via Siri, Philips HUE, Max-Thermostate, Max-Fensterkontakte, AVM 546E, WS1600, RSL, Intertechno, IT+, Elro

CoolTux

Vielleicht schaust Du mal hier vorbei

http://www.juergenstechnikwelt.de/smarthome-2/smarthome-mit-fhem-umsetzung-meines-abfallkalenders/

Da der Code wohl von Jürgen stammt lohnt es sich seinen Blogeintrag auch mal im Auge zu behalten. Es gibt einen dicken fetten Updatehinweis.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

shorty81

Danke, da habe ich den Code auch her, völlig richtig. Dachte eigentlich auch alle Anpassungen vorgenommen zu haben, sehe aber, dass Jürgen empfiehlt

attr Abfall hideOlderThan 10

hier steht bei mir

attr Abfall hideOlderThan 1d

Vielleicht war es das ja schon. Probiere ich mal aus.
Raspberry Pi 2 Model B, CUL866, CUL433, JeeLink, HMLan, Homematic, Homebridge via Siri, Philips HUE, Max-Thermostate, Max-Fensterkontakte, AVM 546E, WS1600, RSL, Intertechno, IT+, Elro

shorty81

Raspberry Pi 2 Model B, CUL866, CUL433, JeeLink, HMLan, Homematic, Homebridge via Siri, Philips HUE, Max-Thermostate, Max-Fensterkontakte, AVM 546E, WS1600, RSL, Intertechno, IT+, Elro