[gelöst] Calendar, Calview oder doch ganz anders...

Begonnen von VB90, 24 Januar 2016, 14:54:29

Vorheriges Thema - Nächstes Thema

VB90

Ich nutze das Calendar Modul in seiner neusten Fassung als Beta und setze Calview darauf an.
Eine entsprechende readingsGroup listet meine Termin fein säuberlich auf.

Soweit sogut.

Seitdem Calendar neu geschrieben wurde, werden mir sich wiederholende Termine ein bischen wirr dargestellt.
Und zwar in der Form, das die noch folgenden Wiederholungen ebenfalls mit angezeigt werden.
siehe Screenshot

Mir ist bewusst, das es sehr wahrscheinlich an der(noch) mangelnden Zusammenarbeit der beiden Module liegt.
Bis Calview in einer neuen Version erscheint, hätte ich gern eine Lösung um die Ausgabe der rg zu kaschieren.

Hat da jemand einen Tipp für mich, wo ich ansetzen kann?

vb
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

Hans Franz

Bei einem Geburtstagskalender geht es einfach mit
hideLaterThan 365d
hideOlderThan 1d

Evtl. ist das mit deinem Abfallkalender ähnlich praktikabel.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

VB90

#2
nein, leider nicht im Ansatz.
Die angezeigten Termine haben immernoch die Dopplungen im Textfeld.

letztendlich würde mir als Krüke ausreichen, wenn ich die Anzahl der Zeichen im reading summary begrenzen könnte

vb
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

Hans Franz

Behelf:
--- 57_CALVIEW/original/neu/57_CALVIEW.pm       2016-01-25 15:11:14.619925719 +0100
+++ 57_CALVIEW/57_CALVIEW.pm    2016-01-25 15:14:37.000000000 +0100
@@ -201,7 +201,7 @@

                        foreach my $uid (@uids){
                                my $terminstart = CallFn($calendername, "GetFn", $defs{$calendername},(" ","start", $uid));
-                               my $termintext = CallFn($calendername, "GetFn", $defs{$calendername}, (" ","summary", $uid));
+                               my ($termintext) = split(/\n/,CallFn($calendername, "GetFn", $defs{$calendername}, (" ","summary", $uid)));
                                my $terminend = CallFn($calendername, "GetFn", $defs{$calendername}, (" ","end", $uid));
                                my $terminort = CallFn($calendername, "GetFn", $defs{$calendername}, (" ","location", $uid));
                                push(@terminliste, [$terminstart, $termintext, $terminend, $calendername, $terminort, $mode]);


Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

betateilchen

define wl_cal_heizung weblink htmlCode {CalendarAsHtml("oc_Schalter","next 3")}

"oc_Schalter" = Name des Kalender-device
"next 3" = Optionaler Filterstring

(http://up.picr.de/24410334mn.png)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

VB90

#5
@betateilchen

vielen Dank für deinen Ansatz.
funktioniert bei mir ebenfalls, hat leider für mich den Nachteil, das ich auf die angezeigten Termine nicht aufsetzen und "reagieren" kann.
Als reine Anzeige sehr gut, muss ich mir für mein Tablet-Projekt merken.

@Hans Franz

wo hast du diesen Code eingefügt?
direkt am Beginn der Calview.pm?

vb

edit:
Gehirn eingeschalten, Brille geputzt, läuft.
Danke!
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

Dr. Boris Neubert

Zitat von: VB90 am 29 Januar 2016, 08:00:52
funktioniert bei mir ebenfalls, hat leider für mich den Nachteil, das ich auf die angezeigten Termine nicht aufsetzen und "reagieren" kann.

Schreib doch bitte mal, was Du mit aufsetzen und reagieren bezweckst.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

VB90

Gern.
Beispiel Abfallkalender, checke ich mittels DOIF, ob es am nächsten Tag ein Event gibt und versende dann per WhatsApp entsprechende Nachrichten.
Beispiel Schixhtplan
Ich möchte auf meinen Frühdienst reagieren und bestimmte Lichter einschalten, die Heizung etwas früher hochdrehen etc.

Ganz bestimmt geht das alles auch ohne das Calview Modul, nur über Calendar, aber das calview ist,  wenn es funktioniert,  für mich übersichtlicher.

vb
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

Dr. Boris Neubert

Hallo,

ich bin ein Freund von Occams Rasiermesser.

Ich würde an Deiner Stelle notifys auf die Events setzen, die bei alarm, start, end eines Termins ausgelöst werden. Genau dafür ist das Calendar-Modul ja optimiert.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!