[Modul] iCal Calender in IP Symcon lesen und verarbeiten

Oft sind es die einfachen Dinge im Leben…. Vielen Dank. Kurze Frage noch. Das Problem hatte ich vorher definitiv nicht. Kann ich davon ausgehen dass es erst durch den Upgrade auf die 9 zu Tage trat?

Das Feld „Find“ wird im Formular so gespeichert, wie es eingegeben wurde. Das Problem war eher, dass das Modul diese nachgestellten Leerzeichen bisher nicht abgefangen hat.
Die Blanks können also z. B. durch Copy/Paste oder versehentliches Eingeben ans Ende gekommen sein.

Einen Zusammenhang mit einem Update von Symcon oder PHP sehe ich da eher nicht.

Seid ein paar Tagen ist mir aufgefallen das ich im Minutentackt für meine verschiedenen Calender eine Fehlermeldung geschrieben bekomme.

Warning: The float 10000000000 is not reprentable as an int, cast occurred in ….libs/iCalcreator-master/src/Util/DateTimeFactory.php on line 630.

Ich habe eigentlich nichts geändert gehabt die Tage.

Wo müsste ich gucken damit wieder Ruhe ist mit den Fehlermeldungen?

Schwer zu sagen. Da wird irgendwo ein Problem bei einem Datum auftreten.
Ich kann es mir leider erst in zwei Wochen anschauen.
Du könntest wenn du magst den debug mitlaufen lassen und vielleicht erkennst du einen Zusammengang zu einem bestimmten Kalendereintrag.

Guten Morgen @bumaas,

ich habe im Modul gestern und noch immer folgenden Fehler bekommen:

01.06.2026, 06:48:27 | TimerPool            | iCal Calendar Reader (TriggerCalendarNotifications): 
Fatal error: Uncaught TypeError: iCalCalendarReader::CheckPresence(): Argument #1 ($subject) must be of type string, false given, called in /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/module.php on line 1010 and defined in /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/module.php:921
Stack trace:
#0 /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/module.php(1010): iCalCalendarReader->CheckPresence(false, 1780552800, 1780556400, 'Altpapiertonne', false, 259200, 3600)
#1 /var/lib/symcon/scripts/__generated.inc.php(7207): iCalCalendarReader->TriggerNotifications()
#2 /-(1): ICCR_TriggerNotifications(26174)
#3 {main}
  thrown in /var/lib/symcon/modules/.store/de.bumaas.ical/iCalCalendarReader/module.php on line 921

lg

Hallo @bumaas

ich kämpfe seit 3 Wochen nach den Totalausfall des Raspi und meiner IP-Symcon V5.5 mit dem Umzug auf V9 und Raspi 4B /Trixie. Alle die das schon erlebt haben kennen die Tücken.

Mein Problem ist das iCal Calender Modul (bereits die letzte Beta), alle Versuche endeten mit “Invalid user or password”. Ich nutzte bereits bis zum Absturz dieses Modul für einem Baikal Calender auf Debian. Clients auf Android, Appel, Windows Linux arbeiten mit den gleichen Zugangsdaten, Benutzer und Password.

Debug Auszug::

08.06.2026, 17:49:56 | LoadCalendarURL | Entering LoadCalendarURL(‚https://192.168.1.xx/dav.php/calendars/Tom-Home/default?‘)

08.06.2026, 17:49:56 | LOG_ERR | Error: Sabre\DAV\Exception\NotAuthenticated - Message: No ‚Authorization: Digest‘ header found. Either the client didn’t send one, or the server is misconfigured. Login was needed for privilege: {DAV:}read on calendars/Tom-Home/default

08.06.2026, 17:49:56 | LoadCalendarURL | Error, curl_result: <d:error xmlns:d=„DAV:“ xmlns:s=„ sabre/dav “> <s:sabredav-version>4.6.0</s:sabredav-version> <s:exception>Sabre\DAV\Exception\NotAuthenticated</s:exception> <s:message>No ‚Authorization: Digest‘ header found. Either the client didn’t send one, or the server is misconfigured. Login was needed for privilege: {DAV:}read on calendars/Tom-Home/default</s:message></d:error>

Vielleicht gibt es Unterstützung von jemand das bereits gelöst hat.

Danke tom

Die Warning kommt durch eine Änderung in PHP 8.1/8.2. Der Code hat versucht, die Zahl 10000000000 nach int zu casten, um zu testen ob man auf einem 64-bit-System ist – das erzeugt auf neueren PHP-Versionen eine Warning.

In der nächsten Version wird stattdessen PHP_INT_SIZE verwendet, das direkt angibt wie groß ein Integer auf dem System ist (8 Bytes = 64-bit, 4 Bytes = 32-bit). Das ist sauberer und erzeugt keine Warnings mehr.

Danke für den Fehlerbericht! Die Ursache war ein Kalender-Event ohne SUMMARY-Feld – in diesem Fall liefert die interne Library false statt eines leeren Strings, was den Type-Error ausgelöst hat.
Der Fix ist im nächsten Build enthalten.

1 „Gefällt mir“

Hallo @bumaas,

danke für deine Mühen. Ich habe sofort die letzte Beta installiert, sie macht einen stabileren Eindruck. Leider hilft sie bei meinem Problem “Invalid user or password” nicht weiter.

Wenn die Fehlermeldung nichts mit falschem “Nutzer oder PW” zu tun hat, was könnte diese Meldung noch triggern? Vielleicht kann man sich so der Ursache nähern?

Mach weiter so.

PS: Ich habe eine neue iCal-Instanz erstellt, leider ohne Erfolg. Aber wie werde ich die alte Instanz jetzt los? Beim Versuch bekomme ich die Info: …”Sie sind dabei ein Objekt zu löschen welches von anderen Objekten referenziert wird.” …PV-Visu 1(solar\…) J/N

Hallo Tom,

das Problem liegt nicht an deinen Zugangsdaten — die sind korrekt.

Dein Baikal-Server ist auf Digest-Authentifizierung eingestellt. Genau das sagt die Fehlermeldung:
No ‚Authorization: Digest‘ header found.

Bislang unterstützte das Modul aber nur Basic Auth.

Ich habe das Modul nun angepasst: curl handelt das Auth-Verfahren jetzt automatisch mit dem Server aus (Basic oder Digest).

Mit Build 122 sollte es nun laufen.
Gib gern Rückmeldung, ob es jetzt klappt.

Burkhard

Guten Morgen bumaas, da kommt Freude auf. Ich werde natürlich berichten.
Dann kann ich mich dem Löschen des alten Moduls widmen.
Sollte man beim Upgrade erst löschen und dann neu installieren, oder reicht das Modul Update
Schönen Sonntag und Danke
Tom

Ganz normal, nur Updaten.

Hallo bumaas,

habe die 22 problemlos installiert.

Leider kam eine neue Meldung “Unerwartete Meldung vom Kalender Server” und das debug-log hat jedes Mal 1.412.465 Bytes.

Lass mich wissen ob du daran interessiert bist und wie ich es senden sollte.

LG. Tom

Schicke es mir gerne per PN.

Hallo,

ich bei mir zwei iCal Instanzen laufen. Seit kurzer Zeit, habe ich den Eindruck das mein System träge wird. Habe jetzt gefunden das meine LogFiles sehr groß sind und diese Vermutl. von den iCal Instanzen kommen. Ich habe die neuste Beta installiert.

Gibt es hierfür eine Erklärung, oder Abhilfe?

Ich habe IP-Symcon 9.0 Installation auf Docker (Synology) installiert

Vielen Dank und Gruß

AWV_dump.txt (376,6 KB)

image

image

dump_Ical.txt (1,8 MB)

Hallo lugge,

zur Einordnung: Was du geschickt hast (dump_Ical.txt), ist die Ausgabe der Debug-Konsole der Instanz, nicht die eigentliche Logdatei. Die Debug-Konsole schreibt nichts auf die Platte – sie zeigt nur live an, was die Instanz tut, solange das Fenster offen ist.

Was man darin aber deutlich sieht: GetCachedCalendar wird bei dir extrem häufig aufgerufen – im Auszug 154-mal in rund 31 Sekunden

Hast du eine Visualisierung/Kachel oder ein Skript, das den Kalender anzeigt bzw. ICCR_GetCachedCalendar(…) aufruft? Eine Anzeige, die sehr oft aktualisiert, würde das häufige Auslesen erklären.

Burkhard

Hallo Burkhard,

vielen Dank für die Info. Ja es war ein Fehler in einem Script.

Viele Grüße

Lugge

1 „Gefällt mir“

Hallo,
wie erreiche ich eigentlich das mein Skript automatisch nach voreingestelltem Updateinterval startet?

Kannst du deine Frage noch etwas ausführen? Was möchtest du erreichen?

Sehr gerne.
Ich möchte das mein Skript bei jeder Aktualisierung der Instanz startet. Die Aktualisierungszeit wird direkt in der Instanz hinterlegt. Ich bin davon ausgegangen, das ich auch innerhalb der Instanz einen Pfad zu meinem Skript definieren kann welches automatisch nach Aktualisierung der Instanz starten soll.
Oder gibt es hierfür einen Befehl für iCal?