Geburtstagserinnerungen in iCal/Adressbuch

muechue

Hildesheimer Goldrenette
Registriert
22.03.06
Beiträge
677
Wenn ihr im Mac OS X Adressbuch Geburtstage eingetragen habt, dann könnt ihr die im Kalenderprogramm iCal übernehmen lassen (iCal -> Einstellungen -> "Geburtstagskalender eintragen"). Klasse Sache, leider konnte man bisher keine Erinnerungsmeldungen eintragen - das hat Apple anscheinend vergessen. Des hab ich jetzt halt gemacht. ;)
Einfach Programm starten, 2 Tage vor dem Geburtstag kommt dann eine Erinnerung, die ihr auch von iCal kennt. Wer einen anderen Zeitraum braucht, einfach bescheid sagen, dann änder ich des bzw. ihr kriegt den Quellcode für AppleScript, natürlich ist der top secret. ;)
Die Zahl 2880 entspricht die Zeit in Minuten (2d * 24h * 60min).
Ich freue mich über Feedback!

Code:
tell application "iCal"
	tell calendar "Geburtstage"
		set all_events to every event
		repeat with this_event in all_events
			tell this_event
				delete every sound alarm
				make new sound alarm at end with properties {trigger interval:-[B]2880[/B], sound name:"Basso"}
			end tell
		end repeat
	end tell
end tell
 
Zuletzt bearbeitet:

muechue

Hildesheimer Goldrenette
Registriert
22.03.06
Beiträge
677
Auch eine gute Lösung, nur Meins ist kein wiederkehrende Routine oder ein Programm, das in den neustart muss.
Mein Programm erweitert einfach iCal, das ja eh im Hintergrund lauft -> keine resourcen nötig, kein extra Programm, nix. Einmal installieren und es kann wieder gelöscht werden.
 

muechue

Hildesheimer Goldrenette
Registriert
22.03.06
Beiträge
677
Hat's jemand unter 10.4 getestet? Unter 10.5 und 10.6 hab ich's schon getestet.
 

.maxx

Auralia
Registriert
10.06.07
Beiträge
200
Auch eine gute Lösung, nur Meins ist kein wiederkehrende Routine oder ein Programm, das in den neustart muss.
Mein Programm erweitert einfach iCal, das ja eh im Hintergrund lauft -> keine resourcen nötig, kein extra Programm, nix. Einmal installieren und es kann wieder gelöscht werden.

Das Tool von Winnie ist kein Programm und muss auch nicht in den Autostart. Im Automator wählt man ihre Aktion aus und kann nicht nur die Erinnerung zeitlich einstellen sondern auch z.B. eine zusätzliche Anzeige wie alt das Geburtstagskind wird (z.B. Max Mustermann (30)) und weitere kleine Gimmicks.
Einmal ausgeführt holt es alle Geburtstage aus dem Adressbuch und trägt diese in iCal in einen eigenen Kalender ein, und das bis "unendlich" weit in die Zukunft.

Solltest du es hinbekommen das auch in den bereits vorhandenen iCal Geburtstagskalender zu integrieren so würde ich mich vor dir verneigen. Aber trotzdem gute Arbeit.
 

muechue

Hildesheimer Goldrenette
Registriert
22.03.06
Beiträge
677
Dann verneige dich. ;) Nein schmarn, ist wirklich so. Es ergänzt den vorhandenen iCal-Geburtstagskalender (der ja aus dem Adressbuch "importiert" wird) um eine Erinnerung 2 Tage im Vorraus.
 

.maxx

Auralia
Registriert
10.06.07
Beiträge
200
Dann verneige dich. ;) Nein schmarn, ist wirklich so. Es ergänzt den vorhandenen iCal-Geburtstagskalender (der ja aus dem Adressbuch "importiert" wird) um eine Erinnerung 2 Tage im Vorraus.

;) Soeben geschehen.
Aber schaffst du auch eine Altersanzeige zu integrieren z.B. Max Mustermann (30)? Wenn du das hinbekommst dann wäre das mehr als super. Ich bin kein Fan von externen Tools.
 

muechue

Hildesheimer Goldrenette
Registriert
22.03.06
Beiträge
677
Ich mag auch keine externen Tools, blasen bloß unnötig des OS auf.
Ich muss mal schaun, wann ich dazukomm, aber kann ich machen...
 

johaen

Idared
Registriert
15.03.10
Beiträge
24
Hey, mal vom Main-Topic etwas abseits. Ist es eigentlich möglich den Geburtstagskalender etwas zu erweitern. Also ich meine der liest ja die Daten aus dem Adressbuch aus, aber eben nur die Geburtstage und keine anderen (z.B. Anniversaries..).
Ich bin auch eher ein Mensch, der auf Zusatzprogramme verzichten möchte..
 

M0M0

Erdapfel
Registriert
30.08.10
Beiträge
5
Hey muechuehttp://www.apfeltalk.de/forum/members/14380.html,

Danke für diese Lösung.
Das ist doch wirklich der beste Weg ohne Zusatzprogramm aus zukommen.
Aber per Google findet man nur unnötige Lösungswege. Vielleicht kann Apfeltalk das mal veröffentlichen?

Habe die Erinnerungszeit angepasst vor dem Starten des scripts.
Wo kann ich jetzt eine weiter Anpassung vornehmen? Wo finde ich den Quelltext?
Habe noch Probleme, dass mein Handy die Erinnerungszeit nicht übernimmt und mich um 0 uhr Nachts erinnern will.


 

EmDiMac

Bismarckapfel
Registriert
31.08.06
Beiträge
141
Ich würde es auch gerne ausprobieren, aber ich hätte die Erinnerung gerne am (Geburts)tag selbst um 12:00 Uhr... Wie muss ich das anpassen??
 

jomi

Kleiner Weinapfel
Registriert
05.10.07
Beiträge
1.138
Vielen Dank erstmal für das Skript!

Im Moment ist es bei mir (Mac OS X 10.6.4) allerdings so, dass die Erinnerung immer auf 22:45 Uhr am Tag zuvor eingestellt wird, egal welche Zahl ich im Skript als Trigger Intervall angebe…
Hast du irgendeine Vermutung, woran das liegen könnte?

(Einzige Ausnahme die ich gesehen habe ist der nächste Bday am 14.10. — dort ist die erinnerung um 23:56 am Tag zuvor…)
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.358
Hallo jomi!

Das Skript sollte eigentlich wie beschrieben funktionieren.
Der Geburtstag ist Ganztägig, beginnt also um 0:00 Uhr. Davon werden die Minuten abgezogen.

Statt "trigger interval" kann man auch "trigger date" nehmen:
("display alarm" wäre eine Nachricht ohne Ton. "show und delay würden dir zur Kontrolle jeden Eintrag 3 Sekunden anzeigen.)
Code:
tell application "iCal"
	tell calendar "Geburtstage"
		
		set all_events to every event
		repeat with this_Event in all_events
			
			tell this_Event
				set remind_date to (start date - 720 * minutes)
				--delete every display alarm
				delete every sound alarm
				make new sound alarm at end with properties {trigger date:remind_date, sound name:"Basso"}
				
			end tell
			--show this_Event
			--delay 3
		end repeat
	end tell
end tell
Es macht nichts anderes, als das gepostete Skript, nur umständlicher.
Dafür zeigt es das Start Datum des jeweiligen Geburtstages. Das sollte 0:00 Uhr sein
Öffne das Skript im AppleScript-Editor, korrigiere die Minutenanzahl, führe es aus und gehe im Editor Fenster auf "events"

Gruß
 

jomi

Kleiner Weinapfel
Registriert
05.10.07
Beiträge
1.138
@sedna: Vielen Dank!
Leider funktioniert das Skript so immer noch nicht, wie es soll. Inzwischen bekomme ich die Erinnerung zwar 720 Minuten davor, so wie es im Skript drinsteht. Allerdings beziehen sich die 720 Minuten nicht auf das jeweilige Ereignis sondern auf den Geburtstag der Person: Beim iCal-Eintrag für meinen nächsten Geburtstag (November 2010) steht das remind_date auf November 1992, zwei Tage bevor ich geboren wurde

Weiß irgendwer einen Rat?
 

skepsis

Westfälische Tiefblüte
Registriert
07.02.06
Beiträge
1.050
Ich habe versucht mit dem Script zwei Erinnerungen zu erstellen. Aber die zweite Erinnerung ersetzt dann die erste.

Ich hätte nämlich gerne folgendes: Eine Erinnerung 3 Tage davor und eine Erinnerung am eigentlichen Tag selber. Und das nach Möglichkeit nicht um 24 Uhr, sondern human um 09.00 Uhr morgens! ;) Geht das?

Grüße
Skepsis