Hallo bin blutiger Anfänger

bei mir läuft CardDav auf einer Diskstation !
sync. mach mit cfos-outlook-dav
es fehlt mir noch die anbindung an das Fritz Telefonbuch
wie bekomme ich
carddav2fb
auf die Diskstation

Gruß
Reinhard
 
Zuletzt bearbeitet:
Moin,
Vollzitat von darüber entfernt by stoney
Ich bin jetzt nicht sicher, ob das so geht ...
Wenn ich Dich recht verstehe, holst Du die Daten von Outlook bereits mit cfos-outlook-dav ab und möchtest mit carddav2fb jetzt diese bereits abgeholten Daten nur noch an die FB weiter leiten?

Moin, bei Dir im Github hat jemand ein Issue gemacht - ich hab letztlich mich mit dem Problem mit angehängt, und hier dazu geschrieben, um das Thema wieder "hochzuholen" ... vlt. komme ich am WE mal dazu, Andig ein Issue entsprechend einzustellen - sofern nicht jemand anders schneller ist...

@Black Senator
Ich bin jetzt erstmal wieder auf die Version von Andig zurück gegangen. Im Moment scheint es zu laufen, jedoch habe ich es bisher nicht geschafft, daß Einträge, die ich in der Nextcloud als VIP gekennzeichnet habe, entsprechend mit dem Haken "wichtig" in der FB versehen werden.

Hier die entsprechende config:
PHP:
<?php

$config = [
        // phonebook
        'phonebook' => [
                'id' => 0,
                'name' => 'Telefonbuch'
        ],

        // or server
    'server' => [
        [
            'url' => 'https:/.../nextcloud/remote.php/dav/addressbooks/users/christoph/familie/',
            'user' => 'xxxxx',
            'password' => 'xxxxxxxxxxxxxxxxxx',
            // 'authentication' => 'digest' // uncomment for digest auth
        ],
/* add as many as you need
        [
            'url' => 'https://...',
            'user' => '',
            'password' => '',
        ],
*/
    ],

    // or fritzbox
    'fritzbox' => [
        'url' => 'http://fritz.box',
        'user' => 'xxxx',
        'password' => 'xxxxxxxxxxxxxxx',
    ],

    'filters' => [
        'include' => [
            'categories' => [
                'Fritzbox'
            ],
            'group' => [
                'Fritzbox'
            ],
        // if empty include all by default
        ],

        'exclude' => [
            'category' => [
                'a', 'b'
            ],
            'group' => [
                'c', 'd'
            ],
        ],
    ],

        'conversions' => [
                'vip' => [
                        'category' => [
                                'VIP'
                        ],
                        'group' => [
                                ''
                        ],
                ],
        'realName' => [
                        '{lastname}, {prefix} {nickname}',
                        '{lastname}, {prefix} {firstname}',
                        '{lastname}, {nickname}',
                        '{lastname}, {firstname}',
                        '{organization}',
                        '{fullname}'
                ],
                'phoneTypes' => [
                        'WORK' => 'work',
                        'HOME' => 'home',
                        'CELL' => 'mobile'
                ],
                'emailTypes' => [
                        'WORK' => 'work',
                        'HOME' => 'home'
                ],
                'phoneReplaceCharacters' => [
                        '+49' => '0',  //Router steht default in DE; '0049' könnte auch Teil einer Rufnummer sein
                        '0049' => '0',
                        '('   => '',
                        ')'   => '',
                        '/'   => '',
                        '-'   => ' '
                ]
        ]
];

Mit dieser Config bekomme ich von meinen fast 500 Kontakten nur diejenigen herunter geladen, die auch mit "Fritzbox" gekennzeichnet sind (ca. 144), wovon nach dem Parser 97 Kontakte schließlich ins 7490-Telefonbuch übertragen werden. Nur leider ist kein Kontakt mit "wichtig" im FB-Telefonbuch gekennzeichnet.

Gruß, Christoph
 
Zuletzt bearbeitet:
Moin,
Ich bin jetzt nicht sicher, ob das so geht ...
Wenn ich Dich recht verstehe, holst Du die Daten von Outlook bereits mit cfos-outlook-dav ab und möchtest mit carddav2fb jetzt diese bereits abgeholten Daten nur noch an die FB weiter leiten?
Ja genau
möchte im Outlook - auf dem Handy- und in der Fritz Box das gleiche Telefonbuch benutzen
Gruß
Reinhard
 
Hast Du eine Instanz, wo die Daten gespeichert und verwaltet werden - ein NAS oder Server mit z.B. NextCloud? Nur mit einer solchen Wolke, die die Daten per carddav zur Verfügung stellt, kannst Du sinnvoll das Tool carddav2fb nutzen.

Oder sind die Smartphone-Kontakte auch z.B. bei Google oder Web.de im Adressbuch? Im letzteren Fall kann die FB direkt darauf zurück greifen.

Gruß, Christoph
 
So, die Haken bei "Wichtig" werden jetzt auch entsprechend übertragen. In der config.php stand

PHP:
'conversions' => [
                'vip' => [
                        'category' => [
                                'VIP'
                        ],
                        'group' => [
                                ''
                        ],
                ],

Richtig muß es aber
PHP:
'categories' => [
heißen - so werden jedenfalls bei Nextcloud die Gruppen eingetragen.
Die v2 von Andig funktioniert also - auch mit der per VPN angebundenen 7430 (bei der ich mit der alten Version 1.11 einen Anmeldefehler bekommen habe)

Gruß, Christoph
 
Zuletzt bearbeitet:
Hallo,
ich suche schon lange eine Möglichkeit die Kontakte in die Fritzbox zu bekommen.
... Ich scheitere aber wohl schon an den Basics.

...
Davon abgesehen weiß ich nicht was ich mit den Composer machen muss. Keine Ahnung wie ich den bei Wego auf den Server bekommen soll. Ich könnte etwas Unterstützung gebrauchen - Danke


1. Composer sorgt dafür, dass die libraries, welche im script verwendet werden aktuell dazu geladen werden. Ohne das läufts nicht.
2. Nimm bitte die aktuelle Version von andig - meine (*_XR) ist z.Z. buggy und ich komme gerade nicht zum bugfixing (s.o.)
3. Folge der Anleitung:
Install carddav2fb:
Code:
cd /
git clone https://github.com/andig/carddav2fb.git
cd carddav2fb

Install composer (see https://getcomposer.org/download/ for newer instructions):
Code:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
composer install

Edit config.example.php and save as config.php or use an other name of your choice (but than keep in mind to use the -c option to define your renamed file)
 
Hi Black Senator,

I used your script for importing my CARDDAV contacts from my Synology and it worked pretty nice. I really appreciate it! Good work!

I created a Docker image so other people may use it without getting to deep into setting up the working environment. It can be found here: https://github.com/Crayjin/carddav2fb-docker

Best,

Crayjin

EDIT: Keine Ahnung, wieso ich plötzlich alles auf Englisch geschrieben habe. Macht der Gewohnheit.
 
Zuletzt bearbeitet:
Hi,
ich verwende aktuell die andig Version und möchte gerne ein spezielles Adressbuch (Familie) komplett als VIP setzen. Ist das möglich?
Die Kontakte werden von Owncloud importiert.
Code:
'server' => [
        [
            'url' => 'http://127.0.0.1/remote.php/dav/addressbooks/users/Geheim/default/',
            'user' => 'Geheim',
            'password' => 'Geheimer',
            // 'authentication' => 'digest' // uncomment for digest auth
        ],
     [
            'url' => 'http://127.0.0.1/remote.php/dav/addressbooks/users/Geheim/Familie/',
            'user' => 'Geheim',
            'password' => 'Geheimer',
            ]

P.S.:
Ich habe auch die Version von BlackSenator getestet. Allerdings bekomme ich diese nicht zum laufen (wird ja aktuell aufgrund von Bugs nicht empfohlen)

Folgende Fehler habe ich dabei schon einmal gefunden (vielleicht hilft das ja jemanden):
- In der config.example.php fehlt am ende ein "]". Die Letzte Zeile musste ich von "];" auf "]];" ändern.
- In der README.md fehlt bei
"Or, if you want to upload profil images:
php carddav2fb.php run" wohl der Parameter "-i"


Ach so, das kommt wenn ich das Skript starte:
Code:
PHP Fatal error:  Uncaught Error: Class 'SoapClient' not found in /home/username/scripts/carddav2fb_XR/src/FritzBox/SOApi.php:25
Stack trace:
#0 /home/username/scripts/carddav2fb_XR/src/FritzBox/SOApi.php(54): Andig\FritzBox\SOApi->getSOAPclient()
#1 /home/username/scripts/carddav2fb_XR/src/functions.php(293): Andig\FritzBox\SOApi->getFBphonebook(0)
#2 /home/username/scripts/carddav2fb_XR/src/RunCommand.php(36): Andig\downloadPhonebook(Array)
#3 /home/username/scripts/carddav2fb_XR/vendor/symfony/console/Command/Command.php(255): Andig\RunCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#4 /home/username/scripts/carddav2fb_XR/vendor/symfony/console/Application.php(953): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#5 /home/username/scripts/carddav2fb_XR/vendor/symfony/console/Application.php(248): Symfony\Compon in /home/username/scripts/carddav2fb_XR/src/FritzBox/SOApi.php on line 25

Bilder hätte ich schon auch gerne drin, aber wichtig wäre erst mal die VIP Funktion (anderer Klingelton). Vielleicht kann mir da ja jemand helfen.
 
Moin, hast Du mal versucht, allen Kontakten, die VIP sein sollen, einfach eine entsprechende Gruppe im OC/NC-Adressbuch mit einzutragen?

Diese Gruppe muß dann natürlich auch mit in der Config eingetragen werden ...

Gruß Christoph

Gesendet von meinem SM-G960F mit Tapatalk
 
Hallo Christoph,

leider war ich bisher zu blöd herauszufinden, dass ich einfach über den Text "Gruppen" schreiben kann. Ich habe das immer als ein Dropdown angesehen, welches leer war. Früher war wohl laut Screenshots auf der linken Seite neben "+ Neuer Kontakt" auch noch "+ Neue Gruppe" vorhanden.

Hier muss direkt über das Wort Gruppen getippt werden.
upload_2018-12-4_12-55-57.png
So sieht es bei mir aus (Owncloud 10.0.10.4 mit Kontakte App 1.5.4 [aktuell])
upload_2018-12-4_13-0-39.png

So war es mal

upload_2018-12-4_12-57-56.png

Ich habe nun eine Gruppe "VIP" angelegt. Leider steh ich gerade auf dem Schlauch wie ich das in der Config.php von andig angeben muss:

Code:
 'conversions' => [
                'vip' => [
                        'category' => [
                                'vip1'
                        ],
                        'group' => [
                                'PERS'
                        ],
                ],

Have auch schon das 'vip1' durch 'VIP' ersetzt. Bringt aber auch nichts.

[EDIT]
Habs gefunden nachdem ich den ganzen Thread durchgelesen habe. Wie in Post #65 (Dank an caldir65) ist category in der Vorlage falsch. Richtig ist
Code:
'categories' => [
                                'VIP'
                        ],
(Achtung Case Sensetive)

//edit by stoney: Bilder geschrumpft
 
Zuletzt bearbeitet:
Ich habe auch die Version von BlackSenator getestet. Allerdings bekomme ich diese nicht zum laufen (wird ja aktuell aufgrund von Bugs nicht empfohlen)

Ja, lass mal die Finger davon, ich setze derzeit einen besseren Fork auf, der dann auch für mich besser wartbar ist, weil ich dann vernünftig an andigs Updates hänge. Die Zusätzlichen Features gehen entweder als PR in andigs Version oder werden als Feature branches komplett neu in meinen Fork programmiert

Bilder hätte ich schon auch gerne drin,
andig testet gerade meinen PR - ich denke diese Woche ist er dort verfügbar


Es müsste doch eine zentrale Stelle geben, wo man das mal konvertieren könnte...

Hab mir erst mal selbst geholfen, in ./src/FritzBox/Converter.php in Zeile 90:
$name = htmlspecialchars(str_replace(["\\,"], ",", $this->getProperty('realName')));

Ich überlege mal mit andig, ob wir solche "user-defined-string-conversions" sinnvoll im Code und in der config.php mit aufnehmen können.
Zum Programmieren nicht so schwierig, aber ...
macht evtl. Fehlersuchen beliebig rätselhaft :(



möchte im Outlook - auf dem Handy- und in der Fritz Box das gleiche Telefonbuch benutzen

Bist du damit schon weiter gekommen?
Ich helfe sonst ja gern, habe aber den Prozess noch nicht so ganz verstanden: Outlook läuft bei Dir lokal oder auf einem Exchange-Server?
Dann musst Du selber regelmäßig einen PUSH machen? Mit dem genannten cFos Outlook DAV Richtung irgendeines WebDAV-Servers?

Also dann ist Outlook das führende System und der WebDAV (CalDAV/CardDAV)-Server "nur" die Datendrehscheibe?
Wenn das so richtig ist, dann musst Du (doch nur) carddav2fb auf dem WebDAV-Server installieren und dann pusht das Tool die dort verfügbaren vCARDs regelmäßig (als cron Job!) in deine Fritz!Box.

Wenn letzteres das Problem ist, dann musst Du mal erzählen, was Du für einen Server verwendest, und ob Du dort mit Putty/WinSCP drauf kommst.
Den Rest klären wir dann.

MfG

Black Senator


P.S.: liege mit Männer-Schnupfen auf dem Sofa und habe deshalb so viel Zeit mich hier herumzutreiben
 
Zuletzt bearbeitet:
liege mit Männer-Schnupfen auf dem Sofa und habe deshalb so viel Zeit mich hier herumzutreiben

Oh das kenne ich, gaaanz schlimmes Leiden ;)

Dann mal gute Besserung und vielen Dank für die Arbeit hier!

Gruß GreySoldier
 
Hier noch meine Einstellungen (ich nutze nur iCloud als CardDAV-Server):

Die Übertragung der Kontakte mit carddav2fb von einem Nextcloud Server auf die FritzBox funktioniert mit den Einstellungen problemlos.

Leider schaffe ich es nicht die Kontakte direkt aus der iCloud auf die FritzBox zu übertragen - dafür fehlen mir die richtigen iCloud Server Einstellungen (Server URL). Ich verwende https://contacts.icloud.com und meine AppleID mit Passwort, aber es werden nur 0 Kontakte übertragen (statt knapp 500) - ein Fehler tritt nicht auf.

Was mache ich falsch ? Über einen Hinweis würde ich mich freuen !
 
Zuletzt bearbeitet:
Was mache ich falsch ? Über einen Hinweis würde ich mich freuen !

Der Fehler ist recht einfach: Du kannst nicht mit den "Apple-internen" Credentials von extern auf den CardDAV-Server (auf deine iCloud Kontakte) zugreifen!
  1. Du brauchst ein spezifisches Passwort, um die 2FA von Apple zu umgehen:
    1. Melde dich bei der Verwaltungsseite für deine Apple ID an
    2. Im Bereich "Sicherheit" unter "Anwendungsspezifische Passwörter" auf "Passwort erstellen" gehen. Es bietet sich z.B. die Kennung "CardDAV" o.ä. an. Den weiteren Anweisungen auf dem Bildschirm folgen.
      CAVE! Generiertes Passwort sofort kopieren und sichern - wenn ich mich recht erinnere kann man es nicht noch einmal anzeigen lassen.
    3. Nachdem du das anwendungsspezifisches Passwort erstellt hast, kannst Du es für Drittsoftware wie z.B. carddav2fb etc. verwenden.
  2. Du musst den Servernamen und deine UniqueID kennen (that´s the tricky part!):
    1. Dafür installierst du z.B. folgendes Tool.
      Nicht wundern, dauert ein bischen mit dem schwarzen cmd-Fenster, eher die Java-GUI aufploppt.
      iCloudCredentials.JPG
    2. Dann deine AppleID und das neu erstellte Passwort eintragen (es ist ja auch eine 3rd-Party-Software!)
    3. Die DropDown-Liste mit den Servern kannst Du ignorieren
    4. Das da "calendar URLs" steht ist irrelevant - just push the button. Das Tool startet einen Request bei icloud und liefert dir alle Adressen des WebDAV-Servers (CalDAV und CardDAV)
    5. STRG-C funktioniert auf einer angeklickten Zelle (ganze Zeile wird markiert). Leider kein Export oder Copy der kompletten Liste. Aber wenn man hier schon mal seine Credentials sieht ist man für alles dankbar.
Alternativ findet man die Credentials auch in Cardbook z.B. im Debug-Log finden. Last but not least habe ich es auch schon einmal in der Konsole von Firefox beim LogIn auf icloud.com gefunden - weiß aber nicht mehr wie ich es angestellt habe.​

Das sind jetzt mehr als Hinweise - eher ein Cookbook!

Viel Erfolg!

Black Senator
 
Du musst den Servernamen und deine UniqueID kennen (that´s the tricky part!):

Vielen Dank für die Hilfe - die iCloud Kontakte landen jetzt wie erwartet in der FritzBox.

Den trickreichen Teil (Servernamen/UniqueID) habe ich anders gelöst:
Der Servername lautet einfach


wobei die 8-Stellige Zahl die UniqueID ist. Diese ID wird mir im Schlüsselbund (Keychain) angezeigt: Es gibt dort einen Eintrag mit dem Namen meiner AppleID und vom Typ 'application password' - darin steht unter 'Account' die UniqueID !

Viele Grüße.
 
Zuletzt bearbeitet:
Cool, der Weg ist neu für mich!

Wieder was gelernt.

Black Senator
 
leider macht der Konvertierer aus den Kommata ein "\," - also steht in der FB dann drin "Kegelclub\, Meier\, Gisela". Es müsste doch eine zentrale Stelle geben, wo man das mal konvertieren könnte...

Ist mit einem der letzten Commits gefixt worden.

Mit freundlichen Grüßen

Black Senator
 
Guten Abend,

hat jmd. schon probiert, ob alles auch mit einer neueren php-Version funktioniert?

Viele Grüße,
Bernd
 
  • Like
Reaktionen: lebernd
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.