automatischer Sync Nokia e71 und Mac OS X

Was hilft mir der schönste Kalender, wenn der entweder nur auf dem Mac oder dem Nokia aktuell ist und ich manuell dafür sorgen muss, dass iCal sich mit dem Kalender vom Nokia abgleicht und/oder umgekehrt. So passierte es, dass iCal zwar alles wusste, weil jedoch der Mac nicht lief er mich nicht warnen konnte und ich Semmy vor Weihnachten sogar gleich 2 Mal online versetzt habe, was mir immer noch unendlich leid tut.

Die Ursache war also gefunden (Ausschalten des Erinnerungsvermögens weil Technik übernehmen sollte). Was also tun? Eine automatische Synchronisation ist seitens Mac OS X weder mit dem Kalender des Nokia, noch überhaupt vorgesehen (*hmpf*), lediglich das manuelle Mac-Tool iSync ist schon da. Also muss der findige Nutzer kurzfristig selbst Hand anlegen:

  1. Als erstes lädt man sich das kostenlose iSync Plugin von Nokia für sein Modell herunter, installiert es auf seinem Mac und richtet sich ’sein‘ Synchronisationsprofil via Bluetooth ein.
    (Dies wird hier nicht weiter thematisiert, wer dennoch Fragen dazu hat, darf sie gerne in den Kommentaren stellen.)
    1
  2. Es braucht nun ein kleines Script (quelle). Für diejenigen die sich nicht mit dem Apple-Scripteditor beschäftigen möchten, hier (=> Download Script) habe ich das Script als *.zip Datei hinterlegt. Nach dem herunterladen und entpacken legt es bitte in ein separates Verzeichniszum Beispiel:  ~/Dokumente/scripts .
    1
  3. Das war es im Prinzip schon. Wir bringen nun dem Mac noch bei, die Abgleichung der Daten gemäß Synchronisationsprofil (siehe 1.) selbsttätig (natürlich nur solange er auch läuft) und regelmäßig zu erledigen. Dazu gibt es auf unixoiden Systemen wie Mac oder Linux die überaus praktische Crontab (vergleichbar mit dem Zeitplan unter Windows). Das wird jetzt womöglich etwas fummelig, ist im Grundsatz jedoch sehr einfach:
    • öffne/starte die Konsole auf dem Mac (Programme/Dienstprogramme/Konsole)
    • dann tippt bitte => export EDITOR=nano
      (der standardmäßig verwendete VIM Editor ist eine Strafe und wird deswegen gegen den wesentlich freundlicheren Nano ersetzt // don’t fuck with peoples preferrend console editor – I know but I don’t care)
    • öffne eine leere Crontab, indem ihr  crontab -e eintippt und dann Enter drückt
      (Keine Sorge, es ist wirklich einfach und falls Du doch auf Probleme stoßen solltest, einfach hier in die Kommentare schreiben, ich versuche gerne zu helfen.)Die Crontab ist nach 2 Hauptspalten aufgeteilt, zuerst kommt die Zeitspalte (hier dargestellt mit 1/), dann die Aktionsspalte für den  Pfad zum Script das die Crontab ausführen (2/)soll. Die Zeitspalte ist wiederum in 5 Unterspalten aufgeteilt. Als erstes also die Aufteilung der Zeitspalte:

      • 1/1 – Minuten (0-59)
      • 1/2 – Stunden (0-23)
      • 1/3 – Tag des Monats (1-31)
      • 1/4 – Monat des Jahres (1-12)
      • 1/5 – Tag der Woche (0-7, 7 ist Sonntag)Und nun die Aktionsspalte:
      • 2/1 – Absoluter Pfad zum Script
        Mehr zum Thema Crontab gibt es im Internet, z.B. Wikipedia.
        1
    • Um also ein Script regelmäßig ausführen zu lassen, definiert man zuerst die gewünschten Zeiten und dann wo genau das Script liegt. Anhand von zwei Beispielen will ich es verdeutlichen:
      • Wenn man die Synchronisation jeden Wochentag (Mo-So), zwischen 9-18 Uhr und alle 30 Minuten ausführen lassen will, sähe der Eintrag in der Crontab wie folgt aus (klick aufs Bild zum vergrößern):
      • Wenn man die Synchronisation jeden Arbeitstag, zwischen 8-20 Uhr und alle 15 Minuten ausführen lassen will, sähe der Eintrag in der Crontab wie folgt aus (klick aufs Bild zum vergrößern):

      Nachdem diese Eingabe also erledigt ist, drückt man gleichzeitig CTRL und den Buchstaben o auf dem Keyboard, um die Eingabe zu speichern, dann wiederum gleichzeitig CTRL und den Buchstaben x, um die Bearbeitung zu beenden. Im Wesentlichen war es das schon. Will man die Angaben später einmal verändern, führt einfach die Schritte ab 3. wieder aus, nur das ihr die Zeile in der Crontab nicht neu schreiben müsst, sondern lediglich verändern könnt.

  4. Jetzt müssen wir ggf. nur noch dem Nokia beibringen, die Kontaktaufnahme des Mac via Bluetooth ohne lästige Erlaubnisrückfrage zu gestatten, weil sonst die Synchronisation hier stehen bleibt und wartet. Dazu drückt man auf dem Nokia auf „Home => Verbindungen => Bluetooth -> selektiert den Mac, der via Bluetooth bereits synchronisieren darf (siehe 1.) und drückt => Optionen -> Autorisiert -> Ja“. Fortan darf der Mac dann ohne Rückfrage via Bluetooth sofort Kontakt zum Nokia aufnehmen.

Die Synchronisation funktioniert (bedingt) auch durch Wände oder über eine Entfernung von 2-3 Meter, je nach Fähigkeiten des Bluetooth. Und falls das Nokia zur Synchronisation mal nicht erreichbar sein sollte (Entfernung oder Bluetooth ist aus, oder was auch immer), dann passiert nichts weiter, außer das die Synchronisation nichts weiter tut.

Es gibt auch Tools (Beispiel: connix, crontooie, und sicher noch mehr) um die Crontab mit einer graphischen Oberfläche zu bearbeiten, oder alternativen wie Anacron, diese habe ich nicht erwogen oder getestet, weil ich gerne mit vorhandenen Bordmitteln arbeite, ist irgendwie einfacher und eleganter.

Wie oben schon geschrieben, die Einrichtung ist an sich ja nicht schwer. Selbst hatte ich es mit etwas Vorwissen, lesen im Internet und ein paar Versuchen binnen 10 Minuten fertig und am laufen. Wer sich exakt an die von mir beschriebenen Schritte hält, sollte keine Probleme bekommen. Falls doch will ich gerne im Rahmen meiner Möglichkeiten versuchen zu helfen. Schreibt dazu bitte einfach in die Kommentare.

Ich nutze es nun schon 2 Wochen und habe außer einem sehr sehr rätselhaften Aussetzer (Technik ist gut und doch ist hin und wieder eine Kontrolle auch gut) für 2 Tage nichts negatives feststellen können.

Nachtrag 22.05.2011: funktioniert natürlich auch jetzt mit dem N8

Nachtrag 14.02.2011: funktioniert ebenfalls unter OS X 10.7 Lion, nachdem die iSync.app von meinem SnowLeopard exportiert und in Lion installiert habe, weil die gibt es in Lion leider nicht mehr.