Dienstag, 5. Februar 2008

das XML-Adressbuch der FRITZ!Box

Nachdem ich mich ein paar Wochen lang mit dem eigentlich online zu pflegenden Adressbuch der FRITZ!Box geärgert hatte, forschte ich danach, wie das Format eigentlich aussieht. (Da fehlt hier noch eine Quellenangabe.) Nachdem ich herausbekam, dass das XML ist und wo die Datei in der FRITZ!Box steht, schrieb ich eine RNC-Grammatik (das gehört ins Umfeld von RELAX NG) und gestaltete das Adressbuch, welches ich ursprünglich über das Web-Interface gepflegt hatte, im nxml-mode meines GNU-Emacs massiv um.
Ich schrieb einen Wiki-Artikel auf www.wehavemorefun.de/fritzbox., welcher die RNC-Grammatik, Beispiel-Adressbücher und eine Vorgehensweise beinhaltet.
Ich halte mein FRITZ!Box-Adressbuch jetzt für viel wartbarer, und inzwischen auch für ziemlich toll gepflegt und optimiert. Im nächsten Schritt würde ich gerne eine Teilmenge von Einträgen meines Outlook-Adressbuches automatisch in die FRITZ!Box-Form transformieren. Aber nach den Erfahrungen mit solchen Transformation in Richtung Adressbücher meiner Handys ist das sowieso nur ein einmaliger Vorgang, und den muss man ja nicht unbedingt automatisieren.

Update 2011-03-11:
Inzwischen gehe ich schon längere Zeit nicht mehr so vor.
Den Namen des Anrufers bekomme ich inzwischen über meinen in Ruby geschriebenen FRITZ!Box-Call-Monitor angezeigt, der auf mein Google-Adressbuch (CSV) zugreift bzw. auf eine heruntergeladene Version davon. Ich habe angefangen, das auf die XML-Version umzustellen.
Allerdings füge ich auch noch einzelne Einträge bei Bedarf über die Web-Oberfläche der FRITZ!Box hinzu.

Kommentare:

Daniel hat gesagt…

Hey,
Ich weiss zwar, dass der Eintrag schon etwas älter ist, allerdings wollt ich nur ein paar Kleinigkeiten anmerken. Mittlerweile ist es möglich, Telefonbücher via des Webinterfaces zu importieren und exportieren. Daraus geht auch hervor, dass es einen root Node gibt, der die phonebook Nodes einschließt, und zwar phonebooks (man beachte das s).

Insofern ist es mittlerweile sehr komfortabel möglich, die Telefonbücher zu verwalten.
(Ich persönlich habe mit ein kleines Programm geschrieben, das mein OS X Adressbuch passend für die Fritz!Box exportiert)

Wäre noch nett, wenn du den Artikel dazu im Wiki anpassen könntest ;-)

wunschname hat gesagt…

Hi Daniel, könntest Du der "interessierten Öffentlichkeit" Dein Script, welches OS X Addressbuch nach "FritzXML" exportiert zur Verfügung stellen?

Danke!
Christian

Johannes hat gesagt…

Hi,
ich habe ein python script das die OSx Adressbuch-Daten in ein XML-File umwandelt veröffentlich.

Ich suche aber noch nach einer Möglichkeit das ganze per automatismus auf die Fritzbox zu beamen (web/telnet). Leider ist das Webinterface nicht unbedingt debug-freundlich. Über nen' Comment oder eine Email mit einer Idee würde ich mich freuen.
Joe

JH hat gesagt…

Tja, Thomas,
ich denke, du weißt schon, dass das Telefonbuch nachher an dieser Stelle auf der FRITZ!Box steht: /var/flash/phonebook . Wenn man das in der Shell auf der Box überschrieben hat, dann wird das nicht unmittelbar übernommen, dazu braucht's dann immer noch einen Reboot auf der Box.
Das mache ich jedenfalls so.

Daniel Weisser hat gesagt…

Danke für die Beschreibung des XML-Formats. Ich habe das Ganze für meine Zwecke so abgewandelt und erweitert, dass ich den Upload über das Webinterface mache und damit den Reboot spare. Das Skript ist hinterlegt unter http://www.wehavemorefun.de/fritzbox/index.php/XML-Adressbuch#Alternatives_Hochladen_auf_die_FRITZ.21Box
Bei Bedarf einfach entsprechend verschieben, falls ich Deine Ordnung dadurch kaputt gemacht habe ;-)