[57_Calendar] Problem mit wiederkehrenden Terminen

Begonnen von VB90, 03 August 2015, 00:19:28

Vorheriges Thema - Nächstes Thema

VB90

sooo Boris,

ich habe mir die Datei nun aus dem svn geladen und "eingebaut".

Einzig der 14tägige Termin Dienstags machte Probleme.
Nachdem ich den aber kurzerhand im Kalender gelöscht und neu angelegt habe, wird er nun auch im Modul angezeigt.

Bis hierhin also alles bestens.
Nun mal sehen, wie ich meine Planungen damit umsetzen kann.

Vielen Dank für deine Arbeit!!

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

Doggiebert

#16
hmm, irgendwie habe ich Probleme mit der neuen Version.
Der Abruf per url funktioniert, der Abruf per file nicht mehr (gleicher Kalender).
Fehlermeldung: Can't call method "updateFromCalendar" on an undefined value at ./FHEM/57_Calendar.pm line 1026.
SW: FHEM 5.5, Raspian, XBMC, Testinstallation auf Win7
HW: Raspi B, 32GB SD, enocean Pi, RFXTRX433E, BSC - MwC-32, Onkyo TX-NR709, Samsung UE55F8090, Jung LS-Eno, permundo SmartPlug, KDG-FB 6490cable (ohne FHEM)

Dr. Boris Neubert

hab' ich schon gefixt. Kommt morgen früh im update. Oder jetzt im SVN Repo.
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

VB90

#18
Guten Abend,

eigentlich wollte ich vor dieses Thema ein [gelöst] setzen, aber das kann ich noch nicht.
Wobei in mir wieder der Gedanke keimt, es könnte (m)ein Konfigurationsproblem sein.

Zum Startproblem dieses Threads...
Ich hatte hier wieder Dopplungen von Terminen drin. Auch Ungereimtheiten, bzgl. verschobener Termine.
Letztere bestehen auch noch teilweise. Stichwort "Diensttausch" 22.08. <-> 15.08.

Viel "schwerer" liegt mir aber das folgende im Magen:

Zur Erklärung...
Schon seit einigen Monaten nutze ich dieses Modul, um einen sog. Müllkalender auszulesen.
Anfangs des Jahres trage ich die betreffenden Termine in einen Googlekalender ein, auf den mehrere Personen Zugriff haben.
Die Termine für die Abholung wiederholen sich zwei- oder auch vierwöchentlich, wie man das so kennt.
In Zusammenhang mit dem Yowsup-Modul bekommen alle Interessierten am Tage zuvor eine Whatsapp-Nachricht, welche Tonne bereit gestellt werden soll.

In den letzten Monaten funktionierte das auch Reibungslos und Termingerecht.

Nach dem Update von oben, um Wiederholungen noch besser nutzen zu können, habe ich jedoch Probleme.

1. mir wird als erstes ein Termin in der Vergangenheit angezeigt. Nur ein einziger, immer der gleiche.
Hier kann ich CALVIEW überreden, mir den auszublenden. Habe ich im Moment bewusst nicht getan. Zuvor war es auch nicht nötig.

2. Termine in der Zukunft, sind um ein/zwei Woche(n) verschoben.
Bsp:
Im Kalender steht: 21.08. Gelber Sack
FHEM/CALVIEW: 28.08. Gelber Sack
Im Kalender: 31.08. schwarze Tonne
FHEM : 14.09. schwarze Tonne

Nun sind das Calendar- und CALVIEW Modul zwei paar Schuhe. Das ist mir bewusst.
Da aber nach meinem dafürhalten CALVIEW nur anzeigt, was CALENDAR ausliest, würde ich hier gern die Spurensuche beginnen.
Auch und vorallem, weil es diese Verschiebungen erst seit dem Update für CALENDAR gibt. Zumindetens, soweit mir das aufgefallen ist.
Ich lasse mich jedoch auch gern belehren, und erstelle für das CALVIEW-Modul ein passendes Thema.
Da ich mir in diesem speziellen Kalender lediglich die nächsten drei Termine anzeigen lasse, könnte es theoretisch natürlich auch sein, das es diese Verschhiebung schon vor dem Update gab.

Ich habe den Kalender nun schon x-mal gekillt und neu angelegt. Sollt ich jedesmal den gleichen Fehler machen.
Aktuell sieht meine Konfig dazu so aus:
define Kalender_Muell Calendar ical url https://www.google.com/calendar/ical/c8q9m156n59vv6cflfralf0ul8%40group.calendar.google.com/public/basic.ics
attr Kalender_Muell room Kalender
define Kal_Muell CALVIEW Kalender_Muell 1
attr Kal_Muell modes modeAlarm,modeStart,modeStarted,modeUpcoming
attr Kal_Muell room Kalender
define rg_Kal_Muell readingsGroup <Datum>,<Uhrzeit>,<Text>,<Endet am>,<End um> Kal_Muell:t_001_bdate,t_001_btime,t_001_summary,t_001_edate,t_001_etime Kal_Muell:t_002_bdate,t_002_btime,t_002_summary,t_002_edate,t_002_etime Kal_Muell:t_003_bdate,t_003_btime,t_003_summary,t_003_edate,t_003_etime
attr rg_Kal_Muell room Kalender
define at_rg_Kal_Muell at +*23:55 {\ my $i;; \ my $modtext = "<Datum>,<Uhrzeit>,<Text>,<Endet am>,<End um> ";;\ for($i= 1;;$i<= ReadingsVal("Kal_Muell","c-tomorrow", 0);;$i++){\ $modtext .= "Kal_Muell:<Morgen>,tomorrow_".sprintf('%03d',$i)."_btime,tomorrow_".sprintf('%03d',$i)."_summary,tomorrow_".sprintf('%03d',$i)."_edate,tomorrow_".sprintf('%03d',$i)."_etime ";;}\ for($i= 1;;$i<= ReadingsVal("Kal_Muell","c-today", 0);;$i++){\ $modtext .= "Kal_Muell:<Heute>,today_".sprintf('%03d',$i)."_btime,today_".sprintf('%03d',$i)."_summary,today_".sprintf('%03d',$i)."_edate,today_".sprintf('%03d',$i)."_etime ";;}\ for($i= 1;;$i<= ReadingsVal("Kal_Muell","c-term", 0);;$i++){\ $modtext .= "Kal_Muell:t_".sprintf('%03d',$i)."_bdate,t_".sprintf('%03d',$i)."_btime,t_".sprintf('%03d',$i)."_summary,t_".sprintf('%03d',$i)."_edate,t_".sprintf('%03d',$i)."_etime ";;}\ fhem("modify rg_Kal_Muell $modtext");;\ }
attr at_rg_Kal_Muell room Kalender


Zur optischen Aufbereitung noch ein Anhang...

@Boris

Könntest du dir das mal bitte nochmal anschauen und ne Einschätzung abgeben?


Hat jemand der anderen User vielleicht noch eine Lösungsidee?

Herzlichen Dank.

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

Dr. Boris Neubert

Hallo vb,

bitte sende mir die ical-Datei zu dem Müllkalender per PM.

Danke
Boria
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

chris1284

ich denke der grund ist bei calendar zu suchen da ich im calview wirklich nur die daten aus diesem hole. es wird zur sortierung einmal das datum aus calendar per str2time konvertier.
die anzeige-daten allerdings nicht. im schlimmsten fall wäre also die sortierung nur nicht i.O.

ich habe wie es der zufall will auch einen muell-kalender und wie du.
termin ist auch
wiederholend, Wöchentlich am Freitag
wiederholend, Alle 2 Wochen am Freitag
wiederholend, Alle 2 Wochen am Montag

ich habe aktuell keine probleme und vor der neuen version auch keine

nebenbei: ein
attr rg_Kal_Muell  nonames 1
attr rg_Kal_Schicht  nonames 1

macht die rg hübscher ;-)

chris1284

#21
ich habe testweise mal einen termin gelöscht und ihn neu angelegt, genau wie vorher. nun hab ich eine 1-wöchige verschiebung im calendar
bioabfall ist am 24.08. calendar führt ihn am 31.08.

EDIT: gerade noch einen neuen Termin eingefügt -> auch hier eine verschiebung um genau 7 tage über die serie

per pm kann man keine anhänge machen. willst di sie als text in der pm?

VB90

#22
Guten Morgen,

@Boris

ich hänge die Datei hier mit an, beim Müll sehe ich das nicht so angespannt, wie bei meinem Dienstplan.
Wird mir ja hoffentlich niemand meine volle Mülltonne aus der Einfahrt mausen :D

@Chris

Ich sehe das auch so, deswegen habe ich es hier mit eingehangen.
Lasse mich wie gesagt, aber auch gern eines besseren belehren, bin da im Ganzen noch immer nicht so firm wie ich es gern hätte.
Danke für den Tipp "nonames", du hast recht ;)

vb

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

chris1284

ich habe wieder die
Zitat# $Id: 57_Calendar.pm 7701 2015-01-24 20:16:37Z borisneubert $
eingespielt. diese zeigt die serientermine wieder richtig an

Dr. Boris Neubert

Chris, kannst Du mir bitte auch Deinen Kalender zum Testen zur Verfügung stellen und die Problemtermine benennen? Heute ist auf zwei Wochen das letzte Mal, dass ich FHEMmen kann.

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


Dr. Boris Neubert

Hallo,

es gab einen Fehler bei der Berechnung der wöchentlich wiederkehrenden Ereignisse. Diesen habe ich beseitigt und eine neue Version eingecheckt. Es sollte außerdem jetzt auch funktionieren, dass ein Ereignis alle x Wochen Montag, Mittwoch und Freitag stattfindet - das habe ich aber nicht getestet.

Im Kalender von vb90 ist noch eine Merkwürdigkeit: es gibt ein Ereignis UID:bgk1ph6nc5bj8q4jdoiv0aqrq8@google.com mit zweimal derselben SEQUENCE:2 Das führt zu Problemen, die ich aber heute nicht mehr löse.

Außerdem habe ich es noch nicht geschafft, Serien, die beendet sind, gar nicht erst zu laden.

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

VB90

Kann mir jemand sagen, wo ich halbwegs übersichtlich nach diesem doppelten Event suchen kann, um eventuell herauszufinden, wo die Ursache dafür liegt?
Hilfreich wäre, wenn ich irgendwo sehen könnte, wie das Event in meinem Kalender heisst.

@Boris

Danke!
Werde morgen ein Update machen und berichten.

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

Hans Franz

#28
Hallo,
du könntest in einer Shell mit
sort Kalender.ics | grep UID: | uniq -d
eine halbwegs übersichtliche Darstellung doppelter Einträge finden.

Gruß
Hans

Edit:
Und mit
grep -A 10 'UID:bgk1ph6nc5bj8q4jdoiv0aqrq8@google.com' Kalender.ics
den von Boris gefundenen doppelten Eintrag plus 10 Zeilen anzeigen lassen.

Edit2:
Einen hab' ich noch  ;)
for i in `sort Kalender.ics | grep UID: | uniq -d`;do grep -A 10  $i Kalender.ics | grep -E 'UID|SEQUENCE';echo '---'; done
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Dr. Boris Neubert

Zitat von: VB90 am 13 August 2015, 00:42:01
Kann mir jemand sagen, wo ich halbwegs übersichtlich nach diesem doppelten Event suchen kann, um eventuell herauszufinden, wo die Ursache dafür liegt?
Hilfreich wäre, wenn ich irgendwo sehen könnte, wie das Event in meinem Kalender heisst

so habe ich das gemacht : ical-Datei von Dir im Editor geöffnet, nach dem Anfang der oben genannten uid gesucht (gibt es mindestens dreimal), Events sind von BEGIN VEVENT und END VEVENT eingerahmt. Ein Eintrag ist entweder eine Serie (RRULE WEEKLY) oder ein außer-der-Reihe-Termin.

Ich muss den RFC lesen, ob die Beobachtung ein zulässiges VEVENT oder ein Bug im Google -Kalender ist.

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