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.
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).
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!
und von mir schonmal der link zum abfall modul https://forum.fhem.de/index.php/topic,48237.0/topicseen.html ;D
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
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.
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.
nee, das tut es auch nicht...