[Modul] iCal Calender in IP Symcon lesen und verarbeiten

Das mit dem ganztägig könnte daran liegen das hier vielleicht die Zeitzone mit eingetragen wird also nicht von 0-24 sondern von 0+2-24+2 das sollte mal im Debug vom Modul sehen können. Damit hatte ich damals auch gekämpft.

Ralf

Ich vermute, dass es auch klappt, wenn du ein explizites Endedatum der Regel einträgst.

Es liegt hier wohl ein Grenzfall vor: das Ende der Regel wird auf auf Mitternacht gesetzt und das Ereignis beginnt um Mitternacht. Bin mir noch nicht sicher, wer hier falsch liegt - Microsoft oder die verwendete RRule Bibliothek, die von mir verwendet wird. Schaue ich mir aber noch mal genauer an.

1 „Gefällt mir“

Ich habe eine neue Beta Version im Store abgelegt, in dem das Endedatum einer Regel nun korrekt behandelt wird.

Damit solle es nun funktionieren.

1 „Gefällt mir“

Besten Dank für die Beta-Version, funktioniert nun hervorragend :+1:

Gibt es eine Möglichkeit, im Daten-Array das ‚Erinnern x-min vorher‘ Feld zu bekommen? Ich würde gerne bestimmte Ereignisse (z.B: aus einem Kalender, oder wenn ein Ort eingetragen ist, etc.) vorher über IP-Symcon erinnern. Ebenso wäre es cool, die Kategorie CATEGORIES: mitzubekommen. Ich baue mir anhand mehrerer iCal-Reader eine Listenansicht ins Webfront und würde das gerne daran orientiert farblich ausgeben.

Nachtrag: Ggf. baut man den Parameter ‚Zusatzfelder‘ in ICCR_GetCachedCalendarein.

Hi,
ich habe immer die Termine von Heute und den nächsten 2 Tagen in meiner Visu drin. Gerade bei Terminen mit kurzer Vorwarnzeit schaut man ja nicht gerade auf die Visu.

Ralf

Da ist mir nicht klar, was du genau vorhast. Welches ‚Erinnern x-min vorher‘ Feld meinst du?

Ich habe eine neue Beta abgestellt, die nun auch die „Categories“ in ICCR_GetCachedCalendar liefert.

Ich kann in meinem Kalenderprogramm (Konkret emClient) eintragen, dass ich z.B. 5min vor dem Ereignis erinnert werden möchte. Manche Ereignisse sind mir so wichtig, dass ich gerne durch IP-Symcon z.B. mit einer Sprachdurchsage dran erinnert werden möchte. Beispiel für ein Ereignis 5min vorher:

BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;RELATED=START:-PT5M
DESCRIPTION:Alarm
ACKNOWLEDGED:99991231T235859Z
X-WR-ALARMUID:a4ac2b86-2a31-4600-bc57-82e8cb81e652
X-MOZ-LASTACK:99991231T235859Z
END:VALARM

Das mit der Categorie hast du ja super flott eingebaut. Vielen Dank. Testen werde ich das aber heute nicht mehr können.

Bei TRIGGER kann ich nicht weiterhelfen. Das ist leider zu aufwändig.

Edit: habe doch noch eine Möglichkeit gefunden. Ich hoffe, es funktioniert.

Hallo. Vielen Dank, dass du dich der Sache annimmst. Ich habe soeben ein Update auf die Beta gemacht und erhalte nun folgende Meldung:

Fatal error: Uncaught RuntimeException: Component is not of type DateInterval in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php:554
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php(342): iCalImporter->GetEventAttributes(Object(Kigkonsult\Icalcreator\Vevent), 1450537200, 1450558800)
#1 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(843): iCalImporter->ImportCalendar('BEGIN:VCALENDAR...')
#2 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(878): iCalCalendarReader->ReadCalendar()
#3 C:\ProgramData\Symcon\scripts\__generated.inc.php(6823): iCalCalendarReader->UpdateCalendar()
#4 C:\ProgramData\Symcon\scripts\32912.ips.php(162): ICCR_UpdateCalendar(10281)
#5 {main}
  thrown in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php on line 554

Mein Problem ist ein wenig, meine Kalender werden seit vielen Jahren gepflegt. ich kann dir einerseits nicht einfach den defekten Kalender schicken, andererseits fehlt mir noch der Anhaltspunkt, bei welcher Zeile der 17.000 Zeilen es genau hängt.

Kann ich da irgendwo ein Debug einprogrammieren? Das Modul um die entsprechenden Zeilen anzupassen für Debug wäre auch für mich Lokal kein großes Thema, ich müsste nur etwas verstehen, wie die ical PHP Bibliothek grundsätzlich funktioniert.

Ich habe die Fehlermeldung mal etwas verbessert und dir einen Link zu einer Testversion geschickt.

@bumaas vielen Dank. Die Einladung kam, ich konnte das Modul über die ‚internen Tests‘ erneut Installieren, nicht updaten, die Fehlermeldung sieht ziemlich gleich aus.

Fatal error: Uncaught RuntimeException: Component is not of type DateInterval in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php:554
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php(342): iCalImporter->GetEventAttributes(Object(Kigkonsult\Icalcreator\Vevent), 1450537200, 1450558800)
#1 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(843): iCalImporter->ImportCalendar('BEGIN:VCALENDAR...')
#2 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(878): iCalCalendarReader->ReadCalendar()
#3 C:\ProgramData\Symcon\scripts\__generated.inc.php(6823): iCalCalendarReader->UpdateCalendar()
#4 C:\ProgramData\Symcon\scripts\32912.ips.php(165): ICCR_UpdateCalendar(10281)
#5 {main}
  thrown in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php on line 554

Nachtrag: Man muss im Store ein geschlossenes Menü öffnen und ‚auf internen Kanal wechseln‘. Das ist mir nicht direkt aufgefallen. Jetzt gibt er eine UUID aus. Das ist direkt der zweite Eintrag in der ics Datei.

BEGIN:VEVENT
CREATED:20151119T134627Z
UID:01350F8E-C9CD-4DB0-9D2A-E6EB6D56F4B7
DTEND;TZID=Europe/Berlin:20151219T220000
TRANSP:OPAQUE
SUMMARY:Jhreshauptversammlung
DTSTART;TZID=Europe/Berlin:20151219T160000
DTSTAMP:20151218T153333Z
LOCATION:blabla
SEQUENCE:7
BEGIN:VALARM
X-WR-ALARMUID:E2DE4918-B9AD-49D2-9CA9-A993CAA5FDF4
UID:E2DE4918-B9AD-49D2-9CA9-A993CAA5FDF4
TRIGGER;VALUE=DATE-TIME:19760401T005545Z
ACKNOWLEDGED:20151218T153333Z
ACTION:NONE
END:VALARM
BEGIN:VALARM
X-WR-ALARMUID:78328980-A624-4180-A16D-5669E7A29235
UID:78328980-A624-4180-A16D-5669E7A29235
TRIGGER:-P1D
ACKNOWLEDGED:20151218T153333Z
ATTACH;VALUE=URI:Basso
ACTION:AUDIO
END:VALARM
END:VEVENT

Nachtrag2: Die 2. Runde der interne Testversion stürzt nicht mehr ab.

@bumaas ich möchte mich nochmal öffentlich ganz herzlich für deine Unterstützung und Anpassung des Moduls für die Alarmierung bedanken.

Aber gerne. Ein Ausflug in die Tiefen des iCal Formats ist immer sehr spannend.

Schön, dass wir den TRIGGER auch entschlüsseln konnten :grinning:

@bumaas

Guten Morgen und ein schönes Wochenende.

Ich erhalte nach dem letzten Update des iCal Calender (beta) folgende Fehlermeldung in einem seit Jahren genutzten Googlekalender:

Fatal error: Uncaught RuntimeException: Component is not of type DateInterval in /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php:554
Stack trace:
#0 /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php(342): iCalImporter->GetEventAttributes(Object(Kigkonsult\Icalcreator\Vevent), 1614092700, 1614096300)
#1 /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/module.php(843): iCalImporter->ImportCalendar(‚BEGIN:VCALENDAR…‘)
#2 /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/module.php(878): iCalCalendarReader->ReadCalendar()
#3 /var/lib/symcon/scripts/__generated.inc.php(6131): iCalCalendarReader->UpdateCalendar()
#4 /-(8): ICCR_UpdateCalendar(49363)
#5 {main}
thrown in /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php on line 554

Schon Mal ein dickes Danke für deine Unterstützung.

EDIT:
Uups, das ist ja die gleiche Meldung wie von @tobiasr

Es ist hier auch nur einer von drei Google Kalendern , die anderen beiden laufen „sauber“ durch beim laden.

Viele Grüße
Lutz

Der Fehler ist im Code behoben. Vermutlich ist der letzte Entwicklungsstand noch nicht als Beta - und bestimmt noch nicht nicht als Stable - eingereicht/durchgelaufen.

@tobiasr
Danke für den Hinweis :slight_smile:

Es gibt nun eine aktualisierte Beta (2.1 #103).

@bumaas

Grade aktualisiert…

Nun kommt dieser Fehler bei mir:

Fatal error: Uncaught JsonException: Malformed UTF-8 characters, possibly incorrectly encoded in /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php:585
Stack trace:
#0 /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php(585): json_encode(Array, 4194304)
#1 /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php(345): iCalImporter->GetEventAttributes(Object(Kigkonsult\Icalcreator\Vevent), 1670367600, 1670454000)
#2 /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/module.php(875): iCalImporter->ImportCalendar(‚BEGIN:VCALENDAR…‘)
#3 /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/module.php(910): iCalCalendarReader->ReadCalendar()
#4 /var/lib/symcon/scripts/__generated.inc.php(6131): iCalCalendarReader->UpdateCalendar()
#5 /-(8): ICCR_UpdateCalendar(49363)
#6 {main}
thrown in /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/iCalImporter.php on line 585

@bumaas

Ich habe mal nach dem Datum in der Fehlermeldung geschaut:
Es waren drei Emojis im Kalendertext enthalten die zu der Meldung führen.
Gelöscht und erledigt !

LG
Lutz