Wäre eine solche Anwendung realisierbar? Termine anzeigen auf AVM Repeater

c_schmidt

Mitglied
Mitglied seit
28 Apr 2005
Beiträge
284
Punkte für Reaktionen
0
Punkte
16
Hallo,

ich bin leider nicht der Programmier-Experte, daher frage ich mich, ob folgendes machbar wäre:

+ Der AVM Repeater kann ja individuelle Texte auf dem Display anzeigen. Das sollte sich doch über ein Skript automatisiert setzen lassen.
+ Mein Thunderbird ist so konfiguriert, dass er die Termine der Familie in mehreren Kalender-Dateien (.ics) auf dem USB-Stick der Fritzbox ablegt, damit ich von verschiedenen PCs darauf zugreifen kann und die Kalender synchronisiere. Das klappt auch hervorragend.

Wenn man nun ein Skript auf der Fritzbox hätte, dass alle paar Minuten per cron angestossen wird, dann könnte dieses Skript die .ics Dateien auf dem Stick auswerten und schauen, ob in den nächsten X Stunden Termine anstehen. In diesem Fall würde das Skript per Webpage-Aufruf die Anzeige des AVM-Repeaters ändern auf z.B. "Uhrzeit: 13:17 Uhr - Nächste Termine: Peter: Zahnarzt um 14:00 Uhr; Sabine: Elternabend um 19:00 Uhr" - sind die Termine rum, wird die Anzeige wieder auf "Uhrzeit": 20:27 Uhr" gesetzt.

Das wäre doch eine super-Anwendung, denn unser Repeater steht oben auf dem Küchenschrank und lässt sich aus der ganzen Küche und auch aus dem Wohnzimmer erkennen.

Könnte man das realisieren und wenn ja, gäbe es hier jemanden, der Zeit und Lust hätte das zu machen - ich werde mich auch gern dafür erkenntlich zeigen.

Gruß

Chris
 

c_schmidt

Mitglied
Mitglied seit
28 Apr 2005
Beiträge
284
Punkte für Reaktionen
0
Punkte
16

Anhänge

c_schmidt

Mitglied
Mitglied seit
28 Apr 2005
Beiträge
284
Punkte für Reaktionen
0
Punkte
16
Bei den Kalender-Dateien handelt es sich um iCalendar Dateien (.ics) - das Format ist recht gut dokumentiert und textbasiert ...

Wikipedia enthält eine Kurzbeschreibung mit Verweis auf das vollständige RFC:

http://de.wikipedia.org/wiki/ICalendar

Die Kalender-Dateien sind derzeit bei mir zwischen 5 und 22 kb - also nicht wirklich riesig. Bei Bedarf könnte ich Dir sicher eine Beispieldatei mit ein/zwei Terminen zum Testen rübermailen. Aber wenn Du Thunderbird/Lightning hast, dann kannst Du das auch leicht selbst erzeugen - einfach neuen Kalender anlegen als iCalender und dann mit einem Texteditor öffnen ...

Gruß

Chris
 

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Ich verwende kein Thunderbird/Lightning.
Aber nach dem Beispiel in Wikipedia bräuchte man DTSTART für die Startzeit, SUMMARY für den Text, und noch vor irgendwo die Namen. Sollen die Namen in SUMMARY stehen, oder aus dem Namen der ics-Datei, oder von wo sonst? Wie lange vorher und nachher sollen die Termine angezeigt werden?
 

c_schmidt

Mitglied
Mitglied seit
28 Apr 2005
Beiträge
284
Punkte für Reaktionen
0
Punkte
16
Ich habe mir gerade mal eine meiner Kalender-Dateien angesehen und ich denke wir brauchen folgendes:

Das ist der Name des Kalenders und steht am Anfang jeder Datei einmal.

Hier fängt ein Termin an und mit

endet der Termin und der nächste kann kommen.

BEGIN:VEVENT
CREATED:20101010T193448Z
LAST-MODIFIED:20101018T123731Z
DTSTAMP:20101018T123731Z
UID:1fc518c9-6e4f-44c5-93de-01dd189bc002
SUMMARY:Sport
RRULE:FREQ=WEEKLY
EXDATE:20101018T140000Z
DTSTART;TZID=Europe/Berlin:20101011T160000
DTEND;TZID=Europe/Berlin:20101011T173000
LOCATION:Bochum
TRANSP:OPAQUE
SEQUENCE:1
X-MOZ-GENERATION:1
END:VEVENT
So sieht ein regelmässiger Termin (wöchentlich) aus. Summary enthält den Text des Termins.

Und hier ein Beispiel für einen einmaligen Termin:

BEGIN:VEVENT
CREATED:20101021T092829Z
LAST-MODIFIED:20101021T092910Z
DTSTAMP:20101021T092910Z
UID:a1cdc6d2-bc6c-464c-9e8a-7e8958f23780
SUMMARY:Augenarzt
DTSTART;TZID=Europe/Berlin:20110318T141500
DTEND;TZID=Europe/Berlin:20110318T161500
TRANSP:OPAQUE
BEGIN:VALARM
ACTION: DISPLAY
TRIGGER;VALUE=DURATION: -P2D
DESCRIPTION:Mozilla Standardbeschreibung
END:VALARM
END:VEVENT
Was den Zeitraum der Darstellung angeht, so wäre es toll, wenn man das im Script einmal einstellen kann - entweder zum Beispiel alles was heute nach der aktuellen Uhrzeit stattfindet oder aber innerhalb der nächsten X Stunden. Wenn dann das Ende des Termins vor der aktuellen Uhrzeit liegt, brauchen wir ihn nicht mehr anzeigen.

Ich hoffe das hilft ...

Gruß

Chris
 
Zuletzt bearbeitet:

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Mit den Zeitzonen, kann man davon ausgehen, daß es sich immer um die Zeitzone handelt, in der sich die Box auch befindet?
Das mit den wiederkehrenden Terminen habe ich mal im Standard durchgelesen, da gibt es ja massenhaft Möglichkeiten dazu. Und EXDATE hat anscheinend keine Zeitzone und 14 bedeutet da 16 Uhr Sommerzeit.

Prinzipiell ist das machbar, aber den vollständigen Umfang der Regeln zu implementieren ist sicher viel Arbeit.
 

c_schmidt

Mitglied
Mitglied seit
28 Apr 2005
Beiträge
284
Punkte für Reaktionen
0
Punkte
16
Ja - die Zeitzone wird sich nicht verändern und identisch mit der Fritzbox sein.

Was die wiederkehrenden Termine angeht, so denke ich dass wohl 99% aller Anwender lediglich wöchentlich, monatlich oder jährlich verwenden werden. Alles andere muss nicht wirklich sein.

Gibt es denn eigentlich auch noch andere User hier im Forum, die ein solches Skript gern nutzen würden?

Gruß

Chris
 

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Auch nur um einen wöchentlichen Termin ohne weitere Besonderheiten zu berücksichtigen, braucht man schon eine Datums-Berechnung.
Und wo Dein Beispiel schon EXDATE verwendet, würdest Du auf die Unterstützung von EXDATE verzichten wollen?
 

c_schmidt

Mitglied
Mitglied seit
28 Apr 2005
Beiträge
284
Punkte für Reaktionen
0
Punkte
16
Sorry - aber ich weiss nicht, was EXDATE ist. Ich dachte nur: "was immer am einfachsten zu realisieren ist ..."

Gruß

Chris
 

RalfFriedl

IPPF-Urgestein
Mitglied seit
22 Apr 2007
Beiträge
12,343
Punkte für Reaktionen
1
Punkte
0
Dein Beispiel oben sagt
Code:
RRULE:FREQ=WEEKLY
EXDATE:20101018T140000Z
DTSTART;TZID=Europe/Berlin:20101011T160000
Ab 11.10.2010 (DTSTART), jede Woche (RRULE), außer 18.10.2010 (EXDATE).

Am einfachsten ist es, alles wegzulassen.
Selbst wenn man die Ausnahmen mit EXDATE wegläßt, muß man trotzdem Datums-Berechnungen machen. Es kann ja auch einen Eintrag geben ab 23.06.2004 wöchentlich. dann muß auch geprüft werden, ob heute der gleiche Wochentag ist wie der 23.06.2004.
 

c_schmidt

Mitglied
Mitglied seit
28 Apr 2005
Beiträge
284
Punkte für Reaktionen
0
Punkte
16
Ah - jetzt verstehe ich. Nun EXDATE wäre sicher nett aber nicht unbedingt kriegsentscheidend - denke ich ...

Chris
 
3CX

Neueste Beiträge

Statistik des Forums

Themen
235,892
Beiträge
2,067,431
Mitglieder
356,892
Neuestes Mitglied
jfh81