[Modul] iCal Calender in IP Symcon lesen und verarbeiten

ich habe jetzt mal Fantastical installiert, nutzt meine Frau auf ihrem iPhone.
Mal schauen ob ich jetzt beim Abruf der Termine weiterhin Probleme hab, oder ob die Programmänderung das Problem löst.

@HarmonyFan ich würde den Skript auch gern mal probieren. Kannst du kurz erklären, wofür deine IDs stehen?
14290 instanz des iCal readers?
10677
27911
13874 String Variable der HTML Box?

Grüße oekomat

Moin,

14290 instanz des iCal readers?
Instanz eines Kalenders vom iCal readers

10677
Bool Variable: True ich habe Urlaub, False ich habe leider kein Urlaub.
Dafür müssen Kalendereinträge mit Urlaub vorhanden sein.

27911
Plain Text mit SSML Pause für die Sprachausgabe mit Alexa.

13874 String Variable der HTML Box?
Jupp

Ralf

2 „Gefällt mir“

Hallo,

seit dem letzten Update der Beta-Version 7.1 erhalte ich folgenden Fehler:
image

und im Debug erscheint:
image

ich bin ehrlicherweise ratlos ob der Fehlermeldung bzw. dem Debug-Eintrag.
Im Objektbaum zeigt es sich wie folgt:
image

wie kann ich unterstützen um den Fehler zu finden?
Mit der vorherigen Beta-Version hat es noch problemlos funktioniert.

Hi,
was sagt das Log von IPS?

Ralf

zu dem Sachverhalt leider gar nichts - ich sehe nur, dass das Ereignis zum Abruf getriggert wird.
ich werde das Modul nachher mal neu installieren - vielleicht hab ich irgendwo versehentlich was verstellt / hat sich was verschluckt durch die aktuelle Beta.

Die Meldung besagt, dass die Instanz nicht aktiv ist. Wie ist denn der genaue Status der Instanz?

Ich würde einfach mal eine Eigenschaft in der Konfiguration kurz verändern und speichern. Eine Neuinstallation ist da nicht hilfreich.

Danke für den Hinweis mit den Eigenschaften.
Instanz läuft jetzt wieder und die Einträge werden synchronisiert.

Das neue Problem ist nun allerdings, dass die Variable „übermorgen“ nicht befüllt wird:

heute keine Termine passt / Termine morgen werden erkannt und hinterlegt / Termine übermorgen werden zwar abgerufen bzw. synchronisiert, jedoch nicht in die Variable geschrieben.

Wenn ich im Modul auf Kalender laden klicke, dann sehe ich im Debug die Termine für übermorgen - ich sehe aber keinen Fehler, dass die Variable „übermorgen“ nicht befüllt werden kann.

was benötigt ihr für eine Fehleranalyse? oder sitzt der Fehler vor dem Monitor?

Hallo Ralf,

kannst du mir sagen wo ich das Script zur Visualisierung von dir finden kann?

VG Ronny

Moin Ronny,
direkt für eine Visu mache ich gar nichts. Es müssen 2 Text-Variablen angelegt werden und die IDs im Script eingefügt werden. Der eine Text enthält Sprach-Pausen für eine Ansage durch Alexa und vielleicht andere und der zweite Text erzeugt einen HTML-String den man dann in einer Visu benutzen kann. Das Profil der 2. Variable muß ~HTMLBox sein.

Aktuelle Version vom Script findest Du hier: [Modul] iCal Calender in IP Symcon lesen und verarbeiten - #927 von HarmonyFan

Ralf

1 „Gefällt mir“

Hallo,

ich hatte heute viele Fehler dieser Art:

12.06.2024, 16:46:56 | TimerPool            | iCal Milena (UpdateCalendar): 
Warning: Undefined variable $org in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\DateTimeZoneFactory.php on line 101
invalid character " found.  -> (UTC +01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna

Fatal error: Uncaught Exception: DateTimeZone::__construct(): Unknown or bad timezone ((UTC +01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna) in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\DateTimeZoneFactory.php:103
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\DateTimeZoneFactory.php(103): DateTimeZone->__construct('(UTC +01:00) Am...')
#1 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(526): Kigkonsult\Icalcreator\Util\DateTimeZoneFactory::assertDateTimeZone('(UTC +01:00) Am...')
#2 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(497): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processDatePropsTZIDattribute('DTSTART', '20240725T103000', Array)
#3 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(319): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processDtProp('DTSTART', '20240725T103000', Array)
#4 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php(186): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processCalendar()
#5 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(827): iCalImporter->ImportCalendar('BEGIN:VCALENDAR...')
#6 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(862): iCalCalendarReader->ReadCalendar()
#7 C:\ProgramData\Symcon\scripts\__generated.inc.php(4087): iCalCalendarReader->UpdateCalendar()
#8 C:\Windows\System32\-(1): ICCR_UpdateCalendar(28433)
#9 {main}

Next InvalidArgumentException: Invalid DateTimeZone '(UTC +01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna' in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\DateTimeZoneFactory.php:106
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(526): Kigkonsult\Icalcreator\Util\DateTimeZoneFactory::assertDateTimeZone('(UTC +01:00) Am...')
#1 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(497): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processDatePropsTZIDattribute('DTSTART', '20240725T103000', Array)
#2 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(319): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processDtProp('DTSTART', '20240725T103000', Array)
#3 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php(186): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processCalendar()
#4 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(827): iCalImporter->ImportCalendar('BEGIN:VCALENDAR...')
#5 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(862): iCalCalendarReader->ReadCalendar()
#6 C:\ProgramData\Symcon\scripts\__generated.inc.php(4087): iCalCalendarReader->UpdateCalendar()
#7 C:\Windows\System32\-(1): ICCR_UpdateCalendar(28433)
#8 {main}
  thrown in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\DateTimeZoneFactory.php on line 106
Abort Processing during Fatal-Error: Uncaught Exception: DateTimeZone::__construct(): Unknown or bad timezone ((UTC +01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna) in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\DateTimeZoneFactory.php:103
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\DateTimeZoneFactory.php(103): DateTimeZone->__construct('(UTC +01:00) Am...')
#1 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(526): Kigkonsult\Icalcreator\Util\DateTimeZoneFactory::assertDateTimeZone('(UTC +01:00) Am...')
#2 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(497): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processDatePropsTZIDattribute('DTSTART', '20240725T103000', Array)
#3 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(319): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processDtProp('DTSTART', '20240725T103000', Array)
#4 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php(186): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processCalendar()
#5 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(827): iCalImporter->ImportCalendar('BEGIN:VCALENDAR...')
#6 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(862): iCalCalendarReader->ReadCalendar()
#7 C:\ProgramData\Symcon\scripts\__generated.inc.php(4087): iCalCalendarReader->UpdateCalendar()
#8 C:\Windows\System32\-(1): ICCR_UpdateCalendar(28433)
#9 {main}

Next InvalidArgumentException: Invalid DateTimeZone '(UTC +01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna' in C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\DateTimeZoneFactory.php:106
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(526): Kigkonsult\Icalcreator\Util\DateTimeZoneFactory::assertDateTimeZone('(UTC +01:00) Am...')
#1 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(497): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processDatePropsTZIDattribute('DTSTART', '20240725T103000', Array)
#2 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\RegulateTimezoneFactory.php(319): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processDtProp('DTSTART', '20240725T103000', Array)
#3 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\iCalImporter.php(186): Kigkonsult\Icalcreator\Util\RegulateTimezoneFactory->processCalendar()
#4 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(827): iCalImporter->ImportCalendar('BEGIN:VCALENDAR...')
#5 C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\iCalCalendarReader\module.php(862): iCalCalendarReader->ReadCalendar()
#6 C:\ProgramData\Symcon\scripts\__generated.inc.php(4087): iCalCalendarReader->UpdateCalendar()
#7 C:\Windows\System32\-(1): ICCR_UpdateCalendar(28433)
#8 {main}
  thrown
   Error in Script C:\ProgramData\Symcon\modules\.store\de.bumaas.ical\libs\iCalcreator-master\src\Util\DateTimeZoneFactory.php on Line 106

Grüße
Proxima

Guten Abend,
ich habe das Problem auch ab und zu, wenn in irgendeinem der zuletzt angelegten Termine die Zeitzone nicht korrekt hinterlegt ist.
Sobald der betroffene Kalendereintrag korrigiert ist sollte der Fehler wieder verschwinden.

Tendenziell würde ich mal folgenden Kalendereintrag prüfen:
DTSTART’, '20240725T103000

1 „Gefällt mir“

Hallo, werden eigentlich ganztägige Outlook-Termine nicht unterstützt?

Ganztägige Termine sollten unterstützt werden.

Dann liegt der Fehler vermutlich bei mir. Ich habe nur mal auf die schnelle im Modul den Kalender geladen, hierbei wird mir ein Array mit folgenden Terminen angezeigt, allerdings ohne den ganztägigen Termine.

Meine Kalender haben den Eintrag glaube ich nur am 1. Tag und dann mit Ende drin. Dewegen immer gewünschter Tag und X Tage vorher lesen und schauen.

Verstehe ich nicht ganz, kannst du mir das bitte genauer erklären?

Eigentlich ist da nichts besonderes zu berücksichtigen.

Hi,
ein mehrtägiger Termin sieht bei mir beim Synology-Kalender so aus:

 [19] => Array
        (
            [UID] => 77ce1596-5a92-45f6-9993-7fba063bef8a
            [Name] => Lasertechnik
            [Status] => 
            [Location] => Ravensburg
            [Description] => 
            [From] => 1728856800
            [To] => 1729288800
            [FromS] => 2024-10-14T00:00:00+02:00
            [ToS] => 2024-10-19T00:00:00+02:00
            [allDay] => 1
        )

Hier siehst Du das es nur ein Termin ist indem Anfang und Ende steht. Wenn Du jetzt gezielt nur einen Tag dazwischen abfragst wird er nicht gefunden. Wenn Du ihn in allen Tagen stehen haben möchtest kannst Du ihn vielleicht als wiederholenden Termin anlegen und X-Mal mit Abstand von einem Tag wiederholen lassen. Mein Script das die Termine der nächsten Tage anzeigen kann verarbeitet auch mehrtägige Termine.

Schau mal nach wie dein Outlook den Termin einträgt.

Ralf

Ah, vielen Dank.
Ich habe aber Probleme ganztägige Termine ohne Start und Ende anzeigen zu lassen, wie z.B. Geburtstage.