FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Kalendermodule => Thema gestartet von: Sidey am 10 Mai 2026, 20:13:07

Titel: Patch 57_CALVIEW.pm: Calendar-Events nicht mehr per Pipe-getrenntem Text parsen
Beitrag von: Sidey am 10 Mai 2026, 20:13:07
Betreff: Patch fuer 57_CALVIEW.pm: Calendar-Events nicht mehr per Pipe-getrenntem Text parsen

Hi chris1284,

ich bin bei CALVIEW auf ein Problem gestossen, wenn ein Calendar-Eintrag im Feld LOCATION ein Pipe-Zeichen (|) enthaelt.

Ein konkretes Beispiel ist der Ferienkalender fuer Hessen von calovo. Dort sieht LOCATION aktuell etwa so aus:

calovo.de | zattoo kostenlos testen: bit.ly/calovo_zattoo | Hessen, Deutschland

CALVIEW liest die Termine derzeit ueber get <Calendar> events mit einem format:custom ein und nutzt ebenfalls | als internes Trennzeichen. Dadurch verrutschen die Felder beim split(/\|/): location, description, categories und duration landen in falschen Readings.

In meinem Fall fuehrte das zusaetzlich zu Perl-Warnungen, wenn beim Calendar-Device defaultTimeFormat %H:%M gesetzt war, weil CALVIEW aus $T1/$T2 ein Datum erwartet.

Der beigefuegte Patch stellt getsummery() in 57_CALVIEW.pm um:


Getestet habe ich das in einem separaten FHEM-Testcontainer mit der Hessen-ICS und absichtlich gesetztem:

attr Hessen_Ferien defaultTimeFormat %H:%M

Ergebnis:


Ein sichtbarer Unterschied ist, dass categories bei diesem Kalender danach leer ist. Das ist nach meiner Einschaetzung korrekt, weil das echte ICS-CATEGORIES-Feld leer ist. Vorher stand dort nur irrtuemlich ein aus LOCATION abgeschnittener Rest wie Hessen, Deutschland.

Der Patch ist als Datei angehaengt:

57_CALVIEW.pm.patch

Viele Gruesse