[Plugin] Ical2Agenda

Antworten
musicus
Beiträge: 152
Registriert: Di 3. Jul 2018, 21:11

[Plugin] Ical2Agenda

Beitrag von musicus »

Bin froh, dass in diesem Image der Kalender Tuxcal enthalten ist.
Der ist bei mir auch regelmäßig im Einsatz.

Um zusätzlich einen direkten Überblick der kommenden Ical-Termine zu erhalten,
habe ich mir das folgende Plugin/Script geschrieben.

Es benötigt eine Ical-Kalender-Datei (*.ics) und installiertes Flexmenü (standartmäßig dabei).

> Die Dateien aus der angehängten zip-Datei in die angegebenen Verzeichnisse entpacken.
> Es müssen dann bei der 'agenda.so' und der 'ical2agenda1.sh' noch die Rechte 755 vergeben werden.
> In der 'ical2agenda1.sh' muss noch im Quelltext zu Beginn der Pfad zu eurer ics-Datei angepasst werden z.B.

Code: Alles auswählen

ICS=`echo /mnt/mnt0/tuxcal/test.ics`
Beim Start des Plugins wird das Flexmenü aufgerufen.
> Dort muss zum Importieren der Termine der oberste Eintrag 'Kalender-Stand aktualisieren' gedrückt werden (dies kann ggf. etwas länger dauern, weil es nur ein Script ist).

Um den Kalenderstand wieder neu zu akualisieren, muss diese Prozedur wiederholt werden.

Getestet habe ich das Plugin mit einer Ical-Datei von Rainlendar2.
Vielleicht kann jemand das gebrauchen...

Gruß und Gutes neues Jahr, musicus
Dateianhänge
ical2agenda.zip
(2.55 KiB) 74-mal heruntergeladen
musicus
Beiträge: 152
Registriert: Di 3. Jul 2018, 21:11

Re: [Plugin] Ical2Agenda

Beitrag von musicus »

Da dieses Plugin Flexmenu (shellexec) benötigt und ich auch noch ein anderes Plugin (ytfav) habe, das ebenfalls mit Flexmenü lange Listen anzeigt, wäre meine Frage, ob man das seitenweise Blättern mit CH+- in shellexec einbauen kann (zeilenweise geht)?

Auf meiner GM Triplex (fft) geht das, allerdings auf der HD51 nicht.

Gruß, musicus
Benutzeravatar
udog
Beiträge: 28
Registriert: Di 12. Apr 2016, 19:02

Re: [Plugin] Ical2Agenda

Beitrag von udog »

@musicus
läuft gut Dein Plugin :grin:
Du hattest mal ein converterscript gebastelt ics-->tuxcal.list Datei
Leider ist der Link im Tuxbox Board down.
vielleicht hast du dass Teil noch rumliegen
Grüße
Benutzeravatar
tewsbo
NI - Team
Beiträge: 3038
Registriert: Di 5. Apr 2016, 16:52
Wohnort: @home
Box: CStank, CSzee², CSneo
Been thanked: 10 times

Re: [Plugin] Ical2Agenda

Beitrag von tewsbo »

das hier im thread im ersten post ist wohl nicht das richtige?
NO PN-SUPPORT !

CStank - NI-4.20-NB|2xS2|int.HDD500G|SD8G|SPF86P
CStank - NI-4.20-NB|4xS2|int.HDD2T|SD16G|SPF85P
CSzee² - NI-4.20-NB|2xS2|int.SSD256G|SPF85H

SAT|19E2|13E0|DLAN|Raspi2(SD16G)|FB7490|DS923+(12+12+12TB)

ich nutze ei :NI: rres Image
musicus
Beiträge: 152
Registriert: Di 3. Jul 2018, 21:11

Re: [Plugin] Ical2Agenda

Beitrag von musicus »

Wow, ist ja toll, dass das noch jemand weiß... (letzte Version von 2011)
Habe seit den Dbox2-Images immer tuxcal und tuxmail vermisst und deshalb die Dbox immer noch parallel laufen gehabt. Doch danke an NI, dass ihr es drin habt.
Für mich habe ich das Script immer etwas angepasst und in ständigem Einsatz gehabt.

Hier die momentane spartanische Version für meine HD51. (Version 0.4 beta)
Sie ist aber nicht so "sophisticated" wie die Ical-Agenda.
-Es werden keine Zeiträume eingetragen
(werde ich bei Gelegenheit ggf. noch machen, habe momentan keine Zeit dafür)
-Es werden nur die Starttermine für tuxcal ausgewertet
-Geburtstage müssen per Hand in die tuxcal.list eingetragen werden
-Feiertage sind in tuxcal zum Teil schon standartmäßig drin.
Bei meinem NI-Image gibt es zum Teil Anzeigeprobleme ist aber im aktuellen Nightly-Build gefixt.
Das Wichtigste: der Reminder zeigt die Einträge korrekt an.

Installation:
ical2tuxcal.so und ical2tuxcal.cfg nach /lib/tuxbox/plugins entpacken
bei der ical2tuxcal.so die Rechte in 755 ändern
Nicht vergessen in der ical2tuxcal.so den Pfad zu eurer *.ics Ical-Datei anzupassen

Gruß, musicus
Dateianhänge
ical2tuxcal04.zip
(1.1 KiB) 65-mal heruntergeladen
Benutzeravatar
vanhofen
Administrator
Beiträge: 2930
Registriert: Di 5. Apr 2016, 00:05
Has thanked: 8 times
Been thanked: 13 times

Re: [Plugin] Ical2Agenda

Beitrag von vanhofen »

musicus hat geschrieben: Do 7. Feb 2019, 00:14 Installation:
ical2tuxcal.so und ical2tuxcal.cfg nach /lib/tuxbox/plugins entpacken
Kleiner Hinweis: Der bessere Platz wäre /var/tuxbox/plugins, dann bleibt das Script beim Flashen erhalten.
musicus
Beiträge: 152
Registriert: Di 3. Jul 2018, 21:11

Re: [Plugin] Ical2Agenda

Beitrag von musicus »

Hier noch ein Screenshot (zensierte Version)
So sieht die Ical-Agenda bei mir aus.
Dateianhänge
screenshot1.png
Benutzeravatar
udog
Beiträge: 28
Registriert: Di 12. Apr 2016, 19:02

Re: [Plugin] Ical2Agenda

Beitrag von udog »

Hi
hier sieht es so aus....leider werden Feiertage und eingertagene Geburtstage noch nicht übernommen warum auch immer
kalender2.png
hab mal ne wget Abfrage eingebaut :sunglasses:
Es funktioniert " Alexa : bitte neuen Termin für den 12.3. eintragen, nach kurzer Aktualisierung sind Termine sofort am TV sichtbar :grin:

EDIT : das ist sicher alles noch ausbaufähig

Code: Alles auswählen

###########################
# Ical-Agenda-Sript 0.1
# by musicus 01.01.2019
# getestet mit Rainlendar2 + iCalendar-Plugin
#############>>>  Ical-Datei wird abgerufen <<<######################################################################################################
wget -O /mnt/nfs/tuxcal/basic.ics https://calendar.google.com/calendar/ical/udogxxxxxxxxxxxxxx%40gmail.com/private-bd8d46715c6e1bf05d5768e63b1491c3/basic.ics
############ >>> Datei basic.ics hier eintragen <<< ####################################################################################################
ICS=`echo /mnt/nfs/tuxcal/basic.ics`
############ >>> Adresse der Ical-Datei hier eintragen <<< ############################################################################################
musicus
Beiträge: 152
Registriert: Di 3. Jul 2018, 21:11

Re: [Plugin] Ical2Agenda

Beitrag von musicus »

Getestet habe ich das Plugin mit einer Ical-Datei von Rainlendar2.
Mit Google-Kalender habe ich es nicht probiert.
Möglicherweise hat sich mitlerweile auch was am ical-Standart geändert.

Kann aber zeitlich noch nicht sagen, wann ich das anpassen werde.
musicus
Beiträge: 152
Registriert: Di 3. Jul 2018, 21:11

Re: [Plugin] Ical2Agenda

Beitrag von musicus »

Hab' das Plugin noch mit weiteren ics-Beispielen getestet und möglichst kompatibel gemacht.

Bekannte Einschränkungen:
-keine monthly, weekly, daily Termine
-nur jährlich wiederkehrende Termine werden angezeigt
-nur Termine, die zwischen Vevent-Tags stehen, werden verwendet (kein Todo, kein Alarm, ...)

#neu in V. 0.2b vom 02.06.2019
#Kompatibel mit Google-Kalender inkl. weiterer Fixes
#Pfade nach /var angepasst
#Categorie-Fix
#Uhrzeit-Fix
#Geburtstag im Text

Bei "ical2agenda1.sh" und "agenda.so"
ggf. noch wieder die Rechte auf 755 setzen

Nicht vergessen im Quelltext-Kopf der ical2agenda1.sh bei "wget" und "ICS" die Pfade anzupassen...

Gruß, musicus
Dateianhänge
ical2agenda_V02b.zip
(2.81 KiB) 62-mal heruntergeladen
musicus
Beiträge: 152
Registriert: Di 3. Jul 2018, 21:11

Re: [Plugin] Ical2Agenda

Beitrag von musicus »

Hab bei Neuinstallation des Plugins gemerkt, dass beim ersten Start die agenda.conf erst angelegt wird, wenn die ical2agenda1.sh einmalig von Hand gestartet wurde. Sorry, dafür...

Ist jetzt in der neuen Version gefixt. Es muss nur das Plugin gestartet werden. Alles wird dann angelegt.
Den Pfad zu eurer ics-Datei müsst ihr natürlich, wie oben beschrieben, eintragen und die Rechte entsprechend vergeben.
Dateianhänge
ical2agenda_V02c.zip
(2.86 KiB) 69-mal heruntergeladen
Benutzeravatar
Charles Darwin
NI - VIP
Beiträge: 73
Registriert: Di 12. Apr 2016, 12:47
Wohnort: Panama City

Re: [Plugin] Ical2Agenda

Beitrag von Charles Darwin »

@musicus
Dein Script wurde angepasst. iCal2Tuxcal kann jetzt ganztägige Google Termine per wget in Tuxcal importieren. Schreibt direkt in die tuxcal.list. Mehrere Google Calendar können gleichzeitig importiert werden. Jetzt würde nur noch eine Anpassung für Termine mit Uhrzeit fehlen. Kannst du da weiterhelfen?

https://forum.mbremer.de/viewtopic.php? ... =30#p46055

Hier auch gleich noch der Inhalt, falls hier jemand mit SED klar kommt:

Code: Alles auswählen

#!/bin/sh
###########################
# Ical2Tuxcal-Download & Converter-Sript 0.4e
# by musicus 06.02.2019
# Download/Änderungen by BPanther/fritz 16-Jun-2020
#
# für Termine (t) 
# und Zeiträume (z) ???
# Feiertage (f) und Geburtstage (g) werden nicht verändert
# getestet mit Rainlendar2 + iCalendar-Plugin
###########################

msgbox popup="Bitte warten..." title="Kalender" timeout=1

#-------------------------------------------------------
# Normalerweise nur temporäre Datei wenn wget benutzt wird.
# Wird wget auskommentiert, kann hier der Pfad zur *.ics-Datei angegeben werden.
ICS_TEMP_FILE=/tmp/temp.ics

# Download aktivieren
#WGET=1
#-------------------------------------------------------

if [ "$WGET" == "1" ]; then
	# URL's für wget-Befehl zum herunterladen aus dem Internet.
	# Die korrekte URL findet sich im Google-Kalender bei den Einstellungen.
	CALURL='
		https://calendar.google.com/calendar/ical/your.mail%40googlemail.com/private-12345678901234567890/basic.ics
		https://yourdomain.com/test.ics
	'

	for calurl in $CALURL; do
		wget -q -O - ${calurl} >> $ICS_TEMP_FILE
	done
fi

y=`date +%Y`

# Löscht alte Termine und Zeiträume.
# Anmerkung BP: Löscht hier alles?! Deaktiviert.
#sed -i '/^[tz];/d' /var/tuxbox/config/tuxcal/tuxcal.list

cat $ICS_TEMP_FILE |
sed -e '/BEGIN:VEVENT/b' -e '/DTSTART/b' -e '/DTEND/b' -e '/SUMMARY:/b' -e '/END:VEVENT/b' -e d  |
sed 's/;TZID=.*:/:/g' |
sed '/^END:V/!s/.$/=/g' |
sed -e :a -e '/\=$/N; s/\=\n/@/; ta' |
sed /DATE:$y/!d |
sed 's/ @/@/g' |
sed 's/,//g' |
sed '/DTEND/!s/DTSTART\(.*\)@SUMMARY/DTSTART\1@DTEND\1@SUMMARY/g' |
sed 's/@END:VEVENT/;/g' |
sed 's/BEGIN:VEVENT@DTSTART;VALUE=DATE:/t;/g' |
sed '/20[0-9]\{6\}/s/\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)/\3.\2.\1/g' |
sed 's/\@DTEND;VALUE=DATE/;/g' |
sed 's/\@SUMMARY//g' |
sed 's/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g' |
sed 's/:.*://g' |
sed 's/.$//' >> /var/tuxbox/config/tuxcal/tuxcal.list

msgbox popup="Tuxcal-Liste aktualisiert" title="Kalender" timeout=1

rm -f $ICS_TEMP_FILE

# Restart TuxCalD
if [ -e /var/tuxbox/plugins/tuxcald ]; then
	msgbox popup="Neustart Tuxcal Daemon..." title="Kalender" timeout=1
	if [ `pidof tuxcald` ]; then
		killall tuxcald
		sleep 3
		/var/tuxbox/plugins/tuxcald
	else
		/var/tuxbox/plugins/tuxcald
	fi
fi

exit 0

#--------------------------------------------------------

# Beispiele für Zeiträume:

# z;10.02.-21.02.;Winterferien;
# z;18.04.-25.04.;Osterferien;
# z;16.03.2006 07:00-20.03.2006 17:30;Geschäftsreise Italien;

# Beispiele für Termine:

# t;23.05.;Hochzeitstag!!!;
# t;03.12.2006;Freundin Blumen schenken!;
# t;23.02.2006 14:45;Zahnarzt;
Google listet in der ics-Datei bei einem Uhrzeit-Termin immer Anfangsuhrzeit und Endzeit. Es handelt sich dabei also um einen Zeitraum, was in Tuxcal eine eigene Kategorie (z statt t) wäre. Das würde aber kein Mensch brauchen, es würde die Beginnzeit ausreichen.

aus

Code: Alles auswählen

BEGIN:VEVENT
DTSTART:20200623T080000Z
DTEND:20200623T083000Z
DTSTAMP:20200616T181304Z
UID:4l8nvauddd8upnr41hnks46jil@google.com
CREATED:20200616T181129Z
DESCRIPTION:
LAST-MODIFIED:20200616T181218Z
LOCATION:
SEQUENCE:1
STATUS:CONFIRMED
SUMMARY:Besprechung
TRANSP:TRANSPARENT
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:This is an event reminder
TRIGGER:-P0DT0H30M0S
END:VALARM
END:VEVENT
sollte eigentlich dann

Code: Alles auswählen

t;23.06.2020 10:00;Besprechung;
werden

...ohne dass es die ganztägigen Termine (ohne Uhrzeit) beeinflusst...weil die ja schon funktionieren...
1xVU+Uno4k,1xTrinity-v2-kabel, 1xTank, 1xTrinity, 2xZEE, 1xNeo2, 2xHD1
musicus
Beiträge: 152
Registriert: Di 3. Jul 2018, 21:11

Re: [Plugin] Ical2Agenda

Beitrag von musicus »

Hallo,
hast Du dieses Plugin Ical2Agenda in der letzten Version mal getestet?
Da sollten ganztägige und mehrtägige Termine inkl. Uhrzeiten richtig ausgegeben werden.
Auch Geburtstage werden übernommen.

Man könnte die Flexmenü-Ausgabe einfach an die Tuxcal-Liste anpassen.
Habe aber momentan gerade keine Zeit dafür.

Das Problem ist, dass Tuxcal auch nicht alles richtig anzeigt.
Der Reminder von Tuxcal funktioniert aber korrekt mit den Einträgen in der Liste.

Gruß, musicus
Benutzeravatar
Charles Darwin
NI - VIP
Beiträge: 73
Registriert: Di 12. Apr 2016, 12:47
Wohnort: Panama City

Re: [Plugin] Ical2Agenda

Beitrag von Charles Darwin »

Ja, dein aktuelles Agendascript hatte ich getestet, das hat recht gut funktioniert nur gab es keinen Import in Tuxcal und auch kein Notify. Im von BPanther&fritz adaptierten iCal2Tuxcal würde jetzt wunderbar der online-Abgleich von mehreren Google-Calendern und Tuxcal funktionieren inkl Notify. Anzeige klappt in Tuxcal...nur gibt es noch keine SED-Zeilen für Termine MIT (Beginn-)Uhrzeit.

Habe versucht mich in SED einzulesen, aber ich weiß nicht wo ich anfangen soll. Ein Echtzeitsync von Google Calendern zu Tuxcal mit Notify in Neutrino wär wirklich eine Bereicherung! :wink:
1xVU+Uno4k,1xTrinity-v2-kabel, 1xTank, 1xTrinity, 2xZEE, 1xNeo2, 2xHD1
Benutzeravatar
BPanther
NI - VIP
Beiträge: 746
Registriert: So 29. Sep 2019, 18:37
Been thanked: 2 times
Kontaktdaten:

Re: [Plugin] Ical2Agenda

Beitrag von BPanther »

Nur zur Info: Das Script ist im UTF8 Format (ohne Sig) statt ANSI abgespeichert worden, dann klappts auch mit den Umlauten. ;)
Bild
Antworten

Zurück zu „Plugins“