FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: shorty81 am 20 April 2017, 06:39:24

Titel: Abfallkalender - Anzeige am Tag der Abholung defekt
Beitrag von: shorty81 am 20 April 2017, 06:39:24
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.


Titel: Antw:Abfallkalender - Anzeige am Tag der Abholung defekt
Beitrag von: chris1284 am 20 April 2017, 07:49:08
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).
Titel: Antw:Abfallkalender - Anzeige am Tag der Abholung defekt
Beitrag von: shorty81 am 20 April 2017, 11:11:33
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!
Titel: Antw:Abfallkalender - Anzeige am Tag der Abholung defekt
Beitrag von: chris1284 am 20 April 2017, 18:57:20
und von mir schonmal der link zum abfall modul https://forum.fhem.de/index.php/topic,48237.0/topicseen.html  ;D
Titel: Antw:Abfallkalender - Anzeige am Tag der Abholung defekt
Beitrag von: shorty81 am 21 April 2017, 06:20:10
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
Titel: Antw:Abfallkalender - Anzeige am Tag der Abholung defekt
Beitrag von: CoolTux am 21 April 2017, 06:37:04
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.
Titel: Antw:Abfallkalender - Anzeige am Tag der Abholung defekt
Beitrag von: shorty81 am 21 April 2017, 11:57:11
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.
Titel: Antw:Abfallkalender - Anzeige am Tag der Abholung defekt
Beitrag von: shorty81 am 23 April 2017, 09:34:22
nee, das tut es auch nicht...