@bumaas :
Beta:
Fehlermeldung ist weg.
Aber es werden auch keine Einträge mehr gefunden!
Wollte eben versuchen, das Problem auf ein nachvollziehbares Minimum zu reduzieren.
Nun tritt es nicht mehr auf :mad:
Stable und Beta, beide OK !
Da Du ja inzwischen gut im iCal Thema bist, habe ich Mal ein kleine Frage:
Ist es viel Aufwand, ein Array mit den einzelnen Terminen zu befüllen, so dass man sich eine Kalenderanzeige in einer Textbox bauen könnte.
Gruß
lueralba
bumaas
8. Juli 2019 um 13:48
202
Hast du dir schon ICCR_GetCachedCalendar() angesehen?
@bumaas ;
Hast du dir schon ICCR_GetCachedCalendar() angesehen?
Nein, hatte ich noch nicht!
Schneller Test: Das müsste mir weiterhelfen. Danke Dir.
Gruß
lueralba
bumaas
8. Juli 2019 um 22:42
204
Die bestehende Möglichkeit der Visualisierung reicht dir nicht aus oder ist dir zu viel?
@bumaas :
Die bestehende Möglichkeit der Visualisierung reicht dir nicht aus oder ist dir zu viel?
Letzteres
Ich brauche nur eine wirklich kleine Anzeige (Textbox) in der die nächsten 5-8 Termine zu sehen sind.
Ganz simpel !
Gruß
lueralba
@bumaas :
Ich brauche nur eine wirklich kleine Anzeige (Textbox) in der die nächsten 5-8 Termine zu sehen sind.
Es wird langsam wie ich es gerne möchte
Ich habe nebenbei folgendes beobachtet:
Der Arrayeintrag [‚Description‘] wird NICHT befüllt !
Meine Gegenprüfung dazu: Die [‚Location‘] wird zeitgleich sauber befüllt/geändert.
Kannst Du das mal gegenkontrollieren.
Ist aber Prio 67
Danke Dir.
Für Mitleser die es auch ganz „simpel“ möchten:
//family calendar
$calDATA = json_decode(ICCR_GetCachedCalendar(12345),true); //12345 = ID der iCal Calendar Reader Instance
//var_dump ($calDATA);
foreach ($calDATA as $calSingleData)
{
//Tage zurück/Voraus anzeigen ( 0 = Heute)
$Vergangenheit=4;
$Zukunft=2;
if ((substr($calSingleData['FromS'] ,0,10) >= date("Y-m-d",mktime(0, 0, 0, date("m") , date("d")-$Vergangenheit, date("Y"))))
and
(substr($calSingleData['FromS'] ,0,10) <= date("Y-m-d",mktime(0, 0, 0, date("m") , date("d")+$Zukunft, date("Y")))))
{
// echo "UID:".$calSingleData['UID']."
";
// echo "Name:".$calSingleData['Name'] . "
";
// echo "Location:".$calSingleData['Location'] . "
";
// echo "Description:".$calSingleData['Description'] . "
";
// echo "From:".$calSingleData['From'] . "
";
// echo "To:".$calSingleData['To'] . "
";
// echo "FromS:".$calSingleData['FromS'] . "
";
// echo "ToS:".$calSingleData['ToS'] . "
";
// echo "allDay:".$calSingleData['allDay'] . "
";
if ($calSingleData['allDay'] == true)
{
echo "family - ".substr($calSingleData['FromS'] ,0,10)." Ganztägig -> ".substr($calSingleData['ToS'] ,0,10)." ".$calSingleData['Name']." ".$calSingleData['Location']."
";
}else{
echo "family - ".$calSingleData['FromS']." ".$calSingleData['ToS'] ." ".$calSingleData['Name']." ".$calSingleData['Location']."
";
}
}
}
Master 2.00 build 24.
LG lueralba
@bumaas :
Wollte eben versuchen, das Problem auf ein nachvollziehbares Minimum zu reduzieren.
Nun tritt es nicht mehr auf
Stable und Beta, beide OK !
Mein iCalendar Reader schmeißt jetzt (endlich) wieder folgenden Fehler bei jedem Einlesen:
12.07.2019 00:04:22 | 49363 | ERROR | TimerPool | iCal Calendar Reader (UpdateCalendar): <br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php</b> on line <b>351</b><br />
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php</b> on line <b>351</b><br />
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php</b> on line <b>351</b><br />
und weitere 22 Stk. …
<br />
Hab mal geschaut, zeile 351 -> „BYDAY“ …
Habe davon diese Zeilen (herausgezogen) in meiner ICS Datei
[
27: RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
34: RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
1796: RRULE:FREQ=WEEKLY;COUNT=38;BYDAY=MO
2980: RRULE:FREQ=WEEKLY;COUNT=12;BYDAY=MO
3453: RRULE:FREQ=WEEKLY;COUNT=3;BYDAY=MO
3524: RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20180526T092959Z;BYDAY=SA
4318: RRULE:FREQ=WEEKLY;COUNT=1;BYDAY=WE
4557: RRULE:FREQ=WEEKLY;COUNT=2;BYDAY=SA
4574: RRULE:FREQ=WEEKLY;COUNT=6;BYDAY=TU
4847: RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20171125T094459Z;BYDAY=SA
4879: RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20171021T084459Z;BYDAY=SA
4894: RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20171114T155959Z;BYDAY=TU
6856: RRULE:FREQ=WEEKLY;UNTIL=20170413;BYDAY=TH
7642: RRULE:FREQ=WEEKLY;UNTIL=20170414;BYDAY=FR
7658: RRULE:FREQ=WEEKLY;UNTIL=20170412;BYDAY=WE
7675: RRULE:FREQ=WEEKLY;UNTIL=20170411;BYDAY=TU
7692: RRULE:FREQ=WEEKLY;UNTIL=20170410;BYDAY=MO
8540: RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20170208;BYDAY=SU,MO,TU,WE,TH,FR,SA
8612: RRULE:FREQ=WEEKLY;COUNT=11;BYDAY=SA
8756: RRULE:FREQ=WEEKLY;COUNT=1;BYDAY=WE
LG
lueralba
bumaas
12. Juli 2019 um 18:46
208
Welche Version nutzt du? Sollte eigentlich mit 2.00 build 26 behoben sein.
Gruß
Burkhard
bumaas
12. Juli 2019 um 19:39
210
Ist in der aktuellen Version nun behoben.
Das sieht gut aus
Beta build 28
P.S.:
Dabei habe ich wieder einen Termin im Kalender (wie folgt):
Der wird nicht gefunden …
Wenn ich den Kalender lade, taucht er nicht in der kleinen Testanzeige auf.
Habe schon auf 30000min Vorlauf eingestellt.
Habe nur ich so komische Einträge ?
Gruß
lueralba
bumaas
12. Juli 2019 um 20:42
212
taucht er mit Fehlermeldung im Logfile auf? Es gibt noch Termine (mit ungewöhnlichen Zeitzonen), die nicht verarbeiten werden können.
Die Hardcopies bringen nicht soviel:D
Besser wäre das Event im iCal Format.
Ich hoffe der Ausschnitt reicht
BEGIN:VEVENT
DTSTART;TZID=Europe/Berlin:20190112T200500
DTEND;TZID=Europe/Berlin:20190112T202000
RRULE:FREQ=DAILY;UNTIL=20190301T190500Z;INTERVAL=48
DTSTAMP:20190712T184415Z
UID:8E72171F-5556-4007-B067-31EE1F08873C
CREATED:20190111T134004Z
DESCRIPTION:
LAST-MODIFIED:20190418T111003Z
LOCATION:
SEQUENCE:3
STATUS:CONFIRMED
SUMMARY:Hundefutter
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID=Europe/Berlin:20190415T200500
DTEND;TZID=Europe/Berlin:20190415T202000
RRULE:FREQ=DAILY;INTERVAL=48
DTSTAMP:20190712T184415Z
UID:A0CD48A6-26B0-4BD2-AA32-E3F0712671E3
CREATED:20190418T111003Z
DESCRIPTION:
LAST-MODIFIED:20190418T111003Z
LOCATION:
SEQUENCE:3
STATUS:CONFIRMED
SUMMARY:Hundefutter
TRANSP:OPAQUE
END:VEVENT
Im Logfile nix mit dem Terminnamen entdeckt.
Danke DIr
lueralba
hbraun
13. Juli 2019 um 09:17
214
Hallo,
kann bitte mal jemand helfen, ich bekomme die ECHO Ausgabe nicht in eine Variable geschrieben.
Bei mir schreibt es immer nur einen Termin rein.
Kann mir jemand den richtigen Befehl nennen das alle geschrieben werden?
lueralba:
Für Mitleser die es auch ganz „simpel“ möchten:
//family calendar
$calDATA = json_decode(ICCR_GetCachedCalendar(12345),true); //12345 = ID der iCal Calendar Reader Instance
//var_dump ($calDATA);
foreach ($calDATA as $calSingleData)
{
//Tage zurück/Voraus anzeigen ( 0 = Heute)
$Vergangenheit=4;
$Zukunft=2;
if ((substr($calSingleData['FromS'] ,0,10) >= date("Y-m-d",mktime(0, 0, 0, date("m") , date("d")-$Vergangenheit, date("Y"))))
and
(substr($calSingleData['FromS'] ,0,10) <= date("Y-m-d",mktime(0, 0, 0, date("m") , date("d")+$Zukunft, date("Y")))))
{
// echo "UID:".$calSingleData['UID']."
";
// echo "Name:".$calSingleData['Name'] . "
";
// echo "Location:".$calSingleData['Location'] . "
";
// echo "Description:".$calSingleData['Description'] . "
";
// echo "From:".$calSingleData['From'] . "
";
// echo "To:".$calSingleData['To'] . "
";
// echo "FromS:".$calSingleData['FromS'] . "
";
// echo "ToS:".$calSingleData['ToS'] . "
";
// echo "allDay:".$calSingleData['allDay'] . "
";
if ($calSingleData['allDay'] == true)
{
echo "family - ".substr($calSingleData['FromS'] ,0,10)." Ganztägig -> ".substr($calSingleData['ToS'] ,0,10)." ".$calSingleData['Name']." ".$calSingleData['Location']."
";
}else{
echo "family - ".$calSingleData['FromS']." ".$calSingleData['ToS'] ." ".$calSingleData['Name']." ".$calSingleData['Location']."
";
}
}
}
Master 2.00 build 24.
LG lueralba
Guten Morgen Horst,
Bei mir schreibt es immer nur einen Termin rein.
… das alle geschrieben werden?
Du schreibst, dass du einen NUR Termin in einer Variable siehst.
Also hast du dir eine Variable angelegt und verwendest anstelle ECHO … jetzt SETVALUE(… ?
Einfach wäre es für mich, DIr zu helfen, wenn Du mir nicht „meinen Codeschnipsel“ hier zeigst sondern was DU daraus gemacht hast.
Dann müsste ich jetzt nicht raten::rolleyes:
Grundsätzlich arbeitet der Befehl ICCR_GetCachedCalendar(12345) mit den abgefragten Kalenderdaten der Instanz (also auch mit den Terminlichen Vorgaben Nachlauf/Vorlauf). Mehr Daten hat der Befehl dann nicht zur Verfügung.
Das sollte man hierbei wissen.
Meine Variablen
//Tage zurück/Voraus anzeigen ( 0 = Heute)
$Vergangenheit=4;
$Zukunft=2;
schränken diese Daten nur noch weiter ein, da ich z.B. einen Kalender mit Nachlauf/Vorlauf 30/60 Tage holen und mir dann nur solche kleinen Zeiteinheiten anzeigen lasse.
Gruß
lueralba
hbraun
13. Juli 2019 um 09:50
216
'tschuldigung, da hast Du natürlich recht.
Ich habe nur diesen Teil geändert:
{
SetValueString(26387,"Horst - ".substr($calSingleData['FromS'] ,0,10)." Ganztägig -> ".substr($calSingleData['ToS'] ,0,10)." ".$calSingleData['Name']." ".$calSingleData['Location']."
");
}else{
SetValueString(26387,"Horst - ".$calSingleData['FromS']." ".$calSingleData['ToS'] ." ".$calSingleData['Name']." ".$calSingleData['Location']."
");
}
aber in der Variablen steht leider immer nur ein Termin.
Was ich gerade gesehen haben er zeigt immer nur den letzten Eintrag an.
Ich hab das folgendermaßen abgeändert um alle Termine zu bekommen:
if ($calSingleData['allDay'] == true)
{
$str .= "".substr($calSingleData['FromS'] ,0,10)." ".$calSingleData['Name']." ".$calSingleData['Location']."
";
}else{
$str .= "".$calSingleData['FromS']." ".$calSingleData['Name']." ".$calSingleData['Location']."
";
}
}
}
SetValue(42261,$str);
Hab da auch aus dem String noch „ToS“ rausgenommen, also lieber den String vom Original nehmen
hbraun
13. Juli 2019 um 10:09
218
Danke, werde es versuchen.
Gesendet von meinem SM-T835 mit Tapatalk
hbraun
13. Juli 2019 um 10:19
219
Danke,
hat gepasst, allerdings hat der Punkt hinter $str bei mir einen Fehler verursacht.
Uuupss, nur der Zeilenumbruch wird ignoriert :mad:
bumaas
13. Juli 2019 um 10:36
220
Bei mir finde ich bei deinem Beispiel:
13.07.2019 10:32:05 | 59072 | ERROR | iCal Calendar Reader | Error 'The INTERVAL rule part must be a positive integer (> 0)' in CalRRule 'Hundefutter': Array
(
[FREQ] => DAILY
[UNTIL] => DateTime Object
(
[date] => 2019-03-01 20:05:00.000000
[timezone_type] => 3
[timezone] => Europe/Berlin
)
[INTERVAL] => 4 8
[DTSTART] => DateTime Object
(
[date] => 2019-01-12 20:05:00.000000
[timezone_type] => 3
[timezone] => Europe/Berlin
)
)
Das Interval ist meiner Meinung nach falsch: ‚4 8‘ statt ‚48‘