Hallo zusammen,
ich habe mit davical mir einen lokalen Kalenderserver aufgebaut.
Dort habe eine ein Serienereignis für die Geburtstage erstellt (im Moment nur zwei).
Eingelesen wird der Kalender mit
define calGeburtstage Calendar ical url http://localhost/davical/public.php/XXXX/birthdays.ics 6000
define cvGeburtstage CALVIEW calGeburtstage 0
attr cvGeburtstage modes next
wenn ich nun in calGeburtstage get vevents aufrufe bekomme ich die folgende Liste
12: VEVENT @6 [new, in a series with 13]
CLASS: PUBLIC
CREATED: 20161109T114903Z
DTEND: 19570408
DTSTAMP: 20161109T145612Z
DTSTART: 19570407
LAST-MODIFIED: 20161109T145612Z
RECURRENCE-ID:
RRULE: FREQ=YEARLY
SUMMARY: Manfred \, #1957
UID: ylanxy63-d9cm-1524-yeyf-7mjcubct9tqk
>>> is a series
>>> is an exception
>>> Events:
ylanxy63d9cm1524yeyf7mjcubct9tqk end 07.04.2016 00:00:00-08.04.2016 00:00:00 Manfred\, #1957
ylanxy63d9cm1524yeyf7mjcubct9tqk upcoming 07.04.2017 00:00:00-08.04.2017 00:00:00 Manfred\, #1957
>>> Skipped events:
13: VEVENT @18 [new, in a series with 12]
CLASS: PUBLIC
CREATED: 20161109T114903Z
DTEND: 19591112
DTSTAMP: 20161109T145637Z
DTSTART: 19591111
LAST-MODIFIED: 20161109T145637Z
RECURRENCE-ID:
RRULE: FREQ=YEARLY
SUMMARY: Rita\, #1959
UID: ylanxy63-d9cm-1524-yeyf-7mjcubct9tqk
>>> is a series
>>> is an exception
>>> Events:
ylanxy63d9cm1524yeyf7mjcubct9tqk end 11.11.2015 00:00:00-12.11.2015 00:00:00 Rita\, #1959
ylanxy63d9cm1524yeyf7mjcubct9tqk upcoming 11.11.2016 00:00:00-12.11.2016 00:00:00 Rita\, #1959
ylanxy63d9cm1524yeyf7mjcubct9tqk upcoming 11.11.2017 00:00:00-12.11.2017 00:00:00 Rita\, #1959
>>> Skipped events:
Soweit alles gut (das #YYYY will ich später für die Altersanzeige verwenden)
Mein Problem ist nun aber, dass in cvGeburtstage die beiden bereits beendeten Termine vom 7.4.2016 und 11.11.2015 falsch angezeigt werden.
Es wird jeweils t_00X_mode next angezeigt.
Ist dieses ein Fehler im Modul?
Viele Grüße
Rüdiger
PS: Kann sein, dass ich den falschen Bereich gewählt habe, wenn ja, dann bitte in den richtigen Bereich verschieben. DANKE
Mach mal ein List vom calendar Device und eines vom Calview device. Bitte in Code Tags hör posten
Zitat von: chris1284 am 09 November 2016, 19:17:57
Mach mal ein List vom calendar Device und eines vom Calview device. Bitte in Code Tags hör posten
Hallo Chris,
hier das gewünschte:
calGeburtstage
Internals:
DEF ical url http://localhost/davical/public.php/XXXX/birthdays.ics 6000
NAME calGeburtstage
NOTIFYDEV global
NR 834
NTFY_ORDER 50-calGeburtstage
STATE triggered
TYPE Calendar
Readings:
2016-11-09 20:01:06 lastUpdate 2016-11-09 20:01:06
2016-11-09 15:59:48 modeAlarm
2016-11-09 15:59:48 modeAlarmOrStart
2016-11-08 17:01:27 modeAlarmed
2016-11-08 17:01:27 modeChanged
2016-11-08 17:01:27 modeEnd
2016-11-08 17:01:27 modeEnded
2016-11-08 17:01:27 modeStart
2016-11-08 17:01:27 modeStarted
2016-11-09 15:59:48 modeUpcoming ylanxy63d9cm1524yeyf7mjcubct9tqk
2016-11-09 20:01:06 nextUpdate 2016-11-09 21:41:06
2016-11-09 20:01:06 nextWakeup 2016-11-09 21:41:06
2016-11-09 20:01:06 state triggered
Attributes:
room Kalender
und hier der CALVIEW
Internals:
DEF calGeburtstage 0
INTERVAL 43200
KALENDER calGeburtstage
NAME cvGeburtstage
NR 843
NTFY_ORDER 50-cvGeburtstage
STATE t: 3 td: 0 tm: 0
TYPE CALVIEW
Readings:
2016-11-09 20:01:06 c-term 3
2016-11-09 20:01:06 c-today 0
2016-11-09 20:01:06 c-tomorrow 0
2016-11-09 20:01:06 state t: 3 td: 0 tm: 0
2016-11-09 20:01:06 t_001_bdate 11.11.2015
2016-11-09 20:01:06 t_001_btime 00:00:00
2016-11-09 20:01:06 t_001_edate 12.11.2015
2016-11-09 20:01:06 t_001_etime 00:00:00
2016-11-09 20:01:06 t_001_mode next
2016-11-09 20:01:06 t_001_source calGeburtstage
2016-11-09 20:01:06 t_001_summary Rita, #1959
2016-11-09 20:01:06 t_002_bdate 11.11.2016
2016-11-09 20:01:06 t_002_btime 00:00:00
2016-11-09 20:01:06 t_002_edate 12.11.2016
2016-11-09 20:01:06 t_002_etime 00:00:00
2016-11-09 20:01:06 t_002_mode next
2016-11-09 20:01:06 t_002_source calGeburtstage
2016-11-09 20:01:06 t_002_summary Rita, #1959
2016-11-09 20:01:06 t_003_bdate 11.11.2017
2016-11-09 20:01:06 t_003_btime 00:00:00
2016-11-09 20:01:06 t_003_edate 12.11.2017
2016-11-09 20:01:06 t_003_etime 00:00:00
2016-11-09 20:01:06 t_003_mode next
2016-11-09 20:01:06 t_003_source calGeburtstage
2016-11-09 20:01:06 t_003_summary Rita, #1959
Attributes:
modes next
room Kalender
Hier sieht man ja auch dass der Termin t_001 beendet ist, aber im t_001_mode steht "next"
get calGeburtstage vevents liefert dieses:
3: VEVENT @18 [obsolete, deleted]
CLASS: PUBLIC
CREATED: 20161109T114903Z
DTEND: 19591112
DTSTAMP: 20161109T145637Z
DTSTART: 19591111
LAST-MODIFIED: 20161109T145637Z
RECURRENCE-ID:
RRULE: FREQ=YEARLY
SUMMARY: Rita\, #1959
UID: ylanxy63-d9cm-1524-yeyf-7mjcubct9tqk
>>> is a series
>>> is an exception
>>> Events:
>>> Skipped events:
5: VEVENT @6 [obsolete, modified-old, refers to 6]
CLASS: PUBLIC
CREATED: 20161109T114903Z
DTEND: 19570408
DTSTAMP: 20161109T145612Z
DTSTART: 19570407
LAST-MODIFIED: 20161109T145612Z
RRULE: FREQ=YEARLY
SUMMARY: Manfred\, #1957
UID: ylanxy63-d9cm-1524-yeyf-7mjcubct9tqk
>>> is a series
>>> Events:
>>> Skipped events:
6: VEVENT @18 [modified-new, refers to 5]
CLASS: PUBLIC
CREATED: 20161109T114903Z
DTEND: 19591112
DTSTAMP: 20161109T145637Z
DTSTART: 19591111
LAST-MODIFIED: 20161109T145637Z
RRULE: FREQ=YEARLY
SUMMARY: Rita\, #1959
UID: ylanxy63-d9cm-1524-yeyf-7mjcubct9tqk
>>> is a series
>>> Events:
ylanxy63d9cm1524yeyf7mjcubct9tqk end 11.11.2015 00:00:00-12.11.2015 00:00:00 Rita\, #1959
ylanxy63d9cm1524yeyf7mjcubct9tqk upcoming 11.11.2016 00:00:00-12.11.2016 00:00:00 Rita\, #1959
ylanxy63d9cm1524yeyf7mjcubct9tqk upcoming 11.11.2017 00:00:00-12.11.2017 00:00:00 Rita\, #1959
>>> Skipped events:
Reicht das oder brauchst Du noch mehr Infos???
Bin morgen wohl erst gegen Abend online.
Danke
Rüdiger
setzte beim calendar bitte das attribut "hideOlderThan" mit wert 1 und mach dann ein set update am calendar
Hallo Chris,
mit dem
attr calGeburtstage hideLaterThan 20d
attr calGeburtstage hideOlderThan 10d
klappt es.
Also alle Geburtstage, welche 10 Tage zurückliegen und max. 20 Tage in der Zukunkt liegen.
Gegenüber Deinem Vorschlag muss man noch das "d" hinzufügen,
denn ohne einen Buchstaben nimm er den Wert als Sekunden.
Vielen Dank
Rüdiger