Hallo,
ich habe etwas Perl-Code in einem Notify, welches mir den Essensplan meiner Tochter aus dem Webportal de Kita zieht.
Das funktioniert soweit auch aber dennoch bekomme ich die oben genannten Fehlermeldung im Log.
Kann mir jemand erklären warum?
{
if ($wday == 5) {
my $url = ReadingsVal('OUT_Kita_Essen','portal_URL','');
my $kdnr = ReadingsVal('OUT_Kita_Essen','.kdnr','');
my $pw = ReadingsVal('OUT_Kita_Essen','.kdpw','');
my $regex = '<div><strong>(Vegetarisch|Vollkost 1|Vollkost 2|Pasta)</strong><br />(.*)</div>';
my $ret ='';
my $meal = 'keine Bestellung';
my $group = '';
my $date = '';
###### get Session cookie
my $cmd_cookies = "curl -c cookies.txt -d \"userName=$kdnr&userPass=$pw&&authSubmit=Auf gehts\" $url";
# fhem("setReading at_Kita_Essensplan cmd_cookies $cmd_cookies");
for (my $ii=1; $ii < 15; $ii++) {
$date = POSIX::strftime("%d.%m.%Y",localtime(time+86400*($ii+2)));
###### get pages
my $cmd_page ="curl -b cookies.txt -d \"getCurrentDate=$date\" $url";
# fhem("setReading at_Kita_Essensplan cmd_page $cmd_page");
$ret = qx($cmd_page);
#--- parse page for meals and Write in Reading
($group,$meal) = ($ret =~ m[$regex]);
if ($meal eq '') {$meal = ' - '}
$meal =~ s/\(.*?\)//g;
fhem('setReading OUT_Kita_Essen t_'. sprintf("%03d", $ii) .'_Speise '. $meal);
fhem('setReading OUT_Kita_Essen t_'. sprintf("%03d", $ii) .'_daysleft '. sprintf("%d", $ii+2));
fhem('setReading OUT_Kita_Essen t_'. sprintf("%03d", $ii) .'_Date '. $date);
}
###### Logout and delete cookie
$cmd_cookies = "curl -b cookies.xt $url" . '/logout.html';
qx($cmd_cookies);
qx("rm cookies.txt");
}
else {
for (my $ii=1; $ii<15; $ii++) {
my $days_left = ReadingsNum('OUT_Kita_Essen','t_'. sprintf("%03d", $ii) .'_daysleft','');
fhem('setReading OUT_Kita_Essen t_'. sprintf("%03d", $ii) .'_daysleft '. sprintf("%d", $days_left - 1));
}
}
}