Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Neuer Adapter vCard

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    249

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Neuer Adapter vCard

Scheduled Pinned Locked Moved Visualisierung
128 Posts 23 Posters 28.6k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    hometm
    wrote on last edited by
    #3

    das Wiki lag auf github :-)

    https://github.com/ioBroker/ioBroker/wi … buntu-1404

    1 Reply Last reply
    0
    • HomoranH Offline
      HomoranH Offline
      Homoran
      Global Moderator Administrators
      wrote on last edited by
      #4

      Danke,

      dann werde ich mal sehen, dass ich sie dahin bringe.

      http://www.iobroker.net/docu/?page_id=1786&lang=de

      Und übersetze.

      Gruß

      Rainer

      Gesendet von meinem LIFETAB_S785X mit Tapatalk

      kein Support per PN! - Fragen im Forum stellen -
      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Reply Last reply
      0
      • S Offline
        S Offline
        steinwedel
        wrote on last edited by
        #5

        Wollte Deinen Adapter testen. Leider habe ich nicht rausgefunden, wie ich ihn installieren kann. Könntest Du mir einen Tip geben? Danke.

        1 Reply Last reply
        0
        • H Offline
          H Offline
          hometm
          wrote on last edited by
          #6

          es sollte reichen, wenn du das Verzeichnis "ipBroker.vcard" nach "ioBroker/node_modules" kopierst. Anschließend auf der ioBroker-Adminseite den "update" Button anklicken. Dann solltest du den Adapter unter "media" sehen.

          1 Reply Last reply
          0
          • L Offline
            L Offline
            looxer01
            wrote on last edited by
            #7

            Hi,

            ich habe den Adapter erfolgreich installiert und folgendes getan:

            • Fritzbox Telefonbuch als xml runtergeladen

            • Vcards erzeugt mit dem tool aus dem folgenden link: http://software.nv-systems.net/downloads/Contact Conversion Wizard v3.5.0.0.zip

            • den Pfad eingegeben im Config von Vcard.

            so, und jetzt stehe ich auf dem Schlauch. Welche Widgets nutzt du ? z.B. um eine Telefonnummer umzuwandeln aus dem Fritzbox adapter ?

            Wie verwendest du die Suche ?

            vG L…

            EDIT:

            gerade gesehen, dass ich Fehler im LOG habe. könnte es eine falsche vCard version sein ?

            allerdings steht im Header der vCard Datei 3.0 - also sollte das stimmen

            raspberrypi	2015-09-19 11:47:49	info	host.raspberrypi Restart adapter system.adapter.vcard.0 because enabled
            raspberrypi	2015-09-19 11:47:49	error	host.raspberrypi instance system.adapter.vcard.0 terminated with code 6 (uncaught exception)
            vcard.0	2015-09-19 11:47:49	error	TypeError: Cannot read property 'length' of null at getTodayBirthdayPersons (/opt/iobroker/node_modules/iobroker.vcard/vcard.js:320:38) at /opt/iobroker/node_modules/iobroker.vcard/vcard.js:12
            vcard.0	2015-09-19 11:47:49	error	uncaught exception: Cannot read property 'length' of null
            vcard.0	2015-09-19 11:47:49	error	vcard.0 Error reading vcards: Error: ENOENT, open 'C:\Users\Ellen\Desktop\Homematic\IOBroker\BackUp\vCard\vCard Export.vcf'
            vcard.0	2015-09-19 11:47:49	info	vcard.0 starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.vcard
            raspberrypi	2015-09-19 11:47:45	info	host.raspberrypi instance system.adapter.vcard.0 started with pid 4649
            raspberrypi	2015-09-19 11:47:30	info	host.raspberrypi Restart adapter system.adapter.vcard.0 because enabled
            raspberrypi	2015-09-19 11:47:30	error	host.raspberrypi instance system.adapter.vcard.0 terminated with code 6 (uncaught exception)
            
            

            EDIT2: eine Vcard sieht so aus in der Datei:

            BEGIN:VCARD

            VERSION:3.0

            N:Ulrike B;;;;

            FN:Ulrike B

            TEL;type=HOME;type=pref:0xxxxxxxx

            NOTE:SPEEDDIAL(07)

            END:VCARD

            1 Reply Last reply
            0
            • S Offline
              S Offline
              steinwedel
              wrote on last edited by
              #8

              Danke für den Tip mit der Installation. Ich war der irrigen Annahme, das der Adapter über die Funktion "Installieren aus eigenem URL" installiert werden kann.

              Mir ist aufgefallen, dass in der Adapteransicht kein Icon angezeigt wird (Es wird ein Fragezeichen angezeigt). Wahrscheinlich ein Fehler im Pfad.

              Das Bild soll sich an folgender Stelle befinden: http://meinserver:8081/adapter/iobroker.vcard/vcard.png

              In der Instanzenansicht wird ein Bild angezeigt. Der Pfad lautet hier: http://meinserver:8081/adapter/vcard/vcard.png

              In meinen Augen dürfte es Sinn machen, wenn der Adapter auch CardDAV unterstützt. Dann hätte ich einen automatischen Abgleich.

              1 Reply Last reply
              0
              • L Offline
                L Offline
                looxer01
                wrote on last edited by
                #9

                also,ich habe noch ein wenig gestestet und bekomme immer den gleichen Fehler

                raspberrypi	2015-09-19 14:11:30	error	host.raspberrypi instance system.adapter.vcard.0 terminated with code 6 (uncaught exception)
                vcard.0	2015-09-19 14:11:30	error	TypeError: Cannot read property 'length' of null at getTodayBirthdayPersons (/opt/iobroker/node_modules/iobroker.vcard/vcard.js:320:38) at /opt/iobroker/node_modules/iobroker.vcard/vcard.js:12
                vcard.0	2015-09-19 14:11:30	error	uncaught exception: Cannot read property 'length' of null
                vcard.0	2015-09-19 14:11:30	error	vcard.0 Error reading vcards: Error: ENOENT, open 'http://192.168.0.62/vCard Export.vcf'
                
                

                Die Datei exisitiert definitv im Pfad und ich kann sie auch über den Browser aufrufen.

                Ich habe einen Raspi. Kann es sein, dass es irgendwie ein Problem bei der http Pfad Verwendung gibt ?

                vG L…

                1 Reply Last reply
                0
                • HomoranH Offline
                  HomoranH Offline
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by
                  #10

                  Wenn du die datei da hereinkopiert hast, könnte es sein , dass die rechte nicht passen.

                  Ggf. Anpassen

                  Gesendet von meinem LIFETAB_S785X mit Tapatalk

                  kein Support per PN! - Fragen im Forum stellen -
                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Reply Last reply
                  0
                  • H Offline
                    H Offline
                    hometm
                    wrote on last edited by
                    #11

                    @steinwedel:

                    • Danke für den Hinweis mit dem Bild. Ich werde das fixen

                    • Ursprünglich wollte ich auch das Google-Adressbuch unterstützen. Da mir aktuell aber die rechtliche Seite (und paar technische Details) unklar sind, ist es erstmal nicht mit drin.

                    @looxer01:

                    • in der aktuellen Version unterstützt der Adapter nur vCard-Dateieln, welche lokal (oder auf einem Netzlaufwerk) liegen. Zugriff über http kommt später.

                    • das Format deiner Datei sollte passen. Zur Info, wenn die Datei erfolgreich eingelesen wurde, kommt im log:

                    "vcard.0 2015-09-19 14:33:29 info vcard.0 Found 51 vcards in file".

                    • Zum Test verwende ich folgende Widgets. Ausgaben mache ich mit "basic - string (unescaped)". Die Eingaben mit dem Widget " jqui - input", oder direkt per Skript im Input-Objekt. Das Input-Widget ist nicht perfekt für diese Anwendung- er da ich keine Widgets erstellen kann, habe ich dieses dennoch verwendet.

                    Tobias

                    1 Reply Last reply
                    0
                    • L Offline
                      L Offline
                      looxer01
                      wrote on last edited by
                      #12

                      @hometm:

                      • in der aktuellen Version unterstützt der Adapter nur vCard-Dateieln, welche lokal (oder auf einem Netzlaufwerk) liegen. Zugriff über http kommt später. `

                      daraus würde ich schliessen, dass ich folgendes eingeben muesste:

                      /opt/iobroker/iobroker-data/files/VcardData/vCard Export.vcf

                      also den direkten Pfad. Allerdings bekomme ich dann folgenden Fehler:

                      raspberrypi	2015-09-19 15:13:01	error	host.raspberrypi instance system.adapter.vcard.0 terminated with code 6 (uncaught exception)
                      vcard.0	2015-09-19 15:13:01	error	TypeError: Cannot set property 'fullname' of undefined at EventEmitter.attributeMatched (/opt/iobroker/node_modules/iobroker.vcard/node_modules/vcard-json/lib/vcard-json.js:72:24) at EventEmit
                      vcard.0	2015-09-19 15:13:01	error	uncaught exception: Cannot set property 'fullname' of undefined
                      
                      

                      PS: Zugriffsrechte (0777) sind gesetzt
                      6305_backup_error.png

                      1 Reply Last reply
                      0
                      • H Offline
                        H Offline
                        hometm
                        wrote on last edited by
                        #13

                        nach dem Start des Adapters solltest du diese Erfolgsmeldung:

                        "vcard.0 2015-09-19 14:33:29 info vcard.0 Found 51 vcards in file"

                        oder eine Fehlermeldung

                        zum Beispiel "vcard-0 2015-09-19 14:57:33 error Error reading vcards: Error: ENOENT, open 'c:\vCards.vcf'"

                        sehen.

                        Kannst du bitte einmal nach der Fehlermeldung suchen?

                        1 Reply Last reply
                        0
                        • L Offline
                          L Offline
                          looxer01
                          wrote on last edited by
                          #14

                          Hi,

                          also eingelesen wird das File nicht. Daher bekomme ich auch nicht die Erfolgsmeldung.

                          Wenn ich einen ungültigen Pfad eingebe, dann bekomme ich sowas: error vcard.0 Error reading vcards: Error: ENOENT, open 'http://192.168.0.62/vCard Export.vcf'

                          Wenn ich den Pfad direkt eingebe wie im Raspi gespeichert, dann bekomme ich diese Fehler:

                          raspberrypi	2015-09-19 15:26:36	info	host.raspberrypi Restart adapter system.adapter.vcard.0 because enabled
                          raspberrypi	2015-09-19 15:26:36	error	host.raspberrypi instance system.adapter.vcard.0 terminated with code 6 (uncaught exception)
                          vcard.0	2015-09-19 15:26:36	error	TypeError: Cannot set property 'fullname' of undefined at EventEmitter.attributeMatched (/opt/iobroker/node_modules/iobroker.vcard/node_modules/vcard-json/lib/vcard-json.js:72:24) at EventEmit
                          vcard.0	2015-09-19 15:26:36	error	uncaught exception: Cannot set property 'fullname' of undefined
                          vcard.0	2015-09-19 15:26:36	info	vcard.0 starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.vcard
                          raspberrypi	2015-09-19 15:26:35	info	host.raspberrypi instance system.adapter.ical.0 terminated with code 0 (OK)
                          raspberrypi	2015-09-19 15:26:33	info	host.raspberrypi instance system.adapter.vcard.0 started with pid 6407
                          
                          

                          EDIT: gerade erst gesehen, dass es doch noch mehr Hinweise im LOG gibt:

                          TypeError:	2015-09-19 16:10:24	error	at Object.oncomplete (fs.js:107:15)
                          TypeError:	2015-09-19 16:10:24	error	at fs.js:266:14
                          TypeError:	2015-09-19 16:10:24	error	at /opt/iobroker/node_modules/iobroker.vcard/node_modules/vcard-json/lib/vcard-json.js:61:26
                          TypeError:	2015-09-19 16:10:24	error	at parseVcard (/opt/iobroker/node_modules/iobroker.vcard/node_modules/vcard-json/lib/vcard-json.js:23:5)
                          TypeError:	2015-09-19 16:10:24	error	at Function._.each._.forEach (/opt/iobroker/node_modules/iobroker.vcard/node_modules/vcard-json/node_modules/underscore/underscore.js:153:9)
                          TypeError:	2015-09-19 16:10:24	error	at /opt/iobroker/node_modules/iobroker.vcard/node_modules/vcard-json/lib/vcard-json.js:40:7
                          TypeError:	2015-09-19 16:10:24	error	at Function._.each._.forEach (/opt/iobroker/node_modules/iobroker.vcard/node_modules/vcard-json/node_modules/underscore/underscore.js:158:9)
                          TypeError:	2015-09-19 16:10:24	error	at /opt/iobroker/node_modules/iobroker.vcard/node_modules/vcard-json/lib/vcard-json.js:45:12
                          TypeError:	2015-09-19 16:10:24	error	at EventEmitter.emit (events.js:106:17)
                          TypeError:	2015-09-19 16:10:24	error	at EventEmitter.attributeMatched (/opt/iobroker/node_modules/iobroker.vcard/node_modules/vcard-json/lib/vcard-json.js:72:24)
                          TypeError:	2015-09-19 16:10:24	error	Cannot set property 'fullname' of undefined
                          uncaught	2015-09-19 16:10:24	error	exception: Cannot set property 'fullname' of undefined
                          vcard-0	2015-09-19 16:10:24	info	starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.vcard
                          vcard-0	2015-09-19 16:10:24	debug	statesDB connected
                          vcard-0	2015-09-19 16:10:24	debug	objectDB connected
                          Non	2015-09-19 16:10:23	info	npm module. No package.json
                          host-raspberrypi	2015-09-19 16:10:22	info	instance system.adapter.vcard.0 started with pid 6952
                          host-raspberrypi	2015-09-19 16:09:51	info	Restart adapter system.adapter.vcard.0 because enabled
                          
                          
                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            hometm
                            wrote on last edited by
                            #15

                            Hallo looxer01,

                            die Probleme sollten behoben sein.

                            Die aktuelle Version kannst du mit "npm install iobroker.vcard" installieren

                            Tobias

                            1 Reply Last reply
                            0
                            • L Offline
                              L Offline
                              looxer01
                              wrote on last edited by
                              #16

                              ….bin gerade unterwegs und ab 17.10. wieder zurück und werde dann sofort testen. ...und ab in die Sonne .... :)

                              1 Reply Last reply
                              0
                              • L Offline
                                L Offline
                                looxer01
                                wrote on last edited by
                                #17

                                'Hi Tobias,

                                super, jetzt funktioniert es technisch erstmal - meine vcards werden eingelesen.

                                Wenn ich das richtig verstanden habe, dann müsste ich jetzt als input eine Reihe von Telefonnummern einlesen und erhalte als output die korrespondierenden Namen.

                                Ich würde das gerne mit dem Fritzbox adapter kombinieren. Im Idealfall: wenn eine Rufnummer in vcard gespeichert ist, dann soll der name angezeigt werden, ansonsten die Nummer.

                                305_fritz.jpg

                                Hast du das schon umgesetzt ? und wenn könntest du ggf das entsprechende Widget bzw script zur Verfügung stelen ?

                                vG

                                L…

                                1 Reply Last reply
                                0
                                • H Offline
                                  H Offline
                                  hometm
                                  wrote on last edited by
                                  #18

                                  Hallo looxer01,

                                  hier die Lösung:

                                  Ich habe das Widget "basic-string (unescaped)" verwendet. Das Widget zeigt den Output "vcard.0.Outputs.ReplacedPhoneNumbers" an.

                                  Mit dem folgenden Skript kopiere ich den Output vom Fritzbox-Adapter zum vCard-Adapter.

                                  subscribe({
                                      id: "fritzbox.0.history.allTableHTML"/*history of calls as HTML*/,
                                      change: 'ne'
                                  },function(data){func(data)});
                                  
                                  function func(data)
                                  {
                                      var x=getState("fritzbox.0.history.allTableHTML").val;
                                      setState("vcard.0.Inputs.ReplacePhoneNumbers"/*String source*/, x);
                                  }
                                  
                                  

                                  Das ganze funktioniert so wie du vermutest. Wenn die Nummer bekannt ist, wird der Name im Widget angezeigt.

                                  In der nächsten Version (weiß noch nciht wann ich dazu komme) soll das ganze auch ohne das Skript funktionieren.

                                  Tobias

                                  1 Reply Last reply
                                  0
                                  • B Offline
                                    B Offline
                                    Brati
                                    wrote on last edited by
                                    #19

                                    Hallo,

                                    das funktioniert ja perfekt. Hab das Script auf "fritzbox.0.history.missedTableHTML" geändert. Kann man noch intergrieren, dass der Namens String immer gleich lang ist, z.B. 20 Zeichen einnimmt? Dann ist die Tabelle ordentlich formatiert. Jetzt sieht es ja so aus:

                                    ext. Rufnummer…......Eigenes Amt

                                    Max Mustermann.........blabla

                                    Muddi.........blabla

                                    Will Lustig.........blabla

                                    Zum Export der Vcard: Wer Google nutzt, kann die auch gut direkt dort aus den dortigen Kontakten exportieren. Ich hab sie dann aufs NAS gelegt und Verzeichnis gemountet.

                                    Grüße

                                    Brati

                                    CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                                    1 Reply Last reply
                                    0
                                    • H Offline
                                      H Offline
                                      hometm
                                      wrote on last edited by
                                      #20

                                      Hallo,

                                      gute Idee mit der festen Spaltenbreite. Habe auch schon eine Idee, wie ich es in der nächsten Version machen werde

                                      Tobias

                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        looxer01
                                        wrote on last edited by
                                        #21

                                        super, 1000 Dank Tobias,

                                        funktionierte auch bei mir auf Anhieb.

                                        Dann freue ich mich schon auf deine nächste Version :)

                                        Wäre es auch möglich das gleiche für die aktuellen eingehenden Anrufe zu tun ? ( fritzbox.0.calls.ringActualNumbers)

                                        Da muesste ja der Adapter noch eine zusätzliche Variable haben und das Script muesste dann noch diese Nummer ersetzen.

                                        vG

                                        L…

                                        1 Reply Last reply
                                        0
                                        • BluefoxB Offline
                                          BluefoxB Offline
                                          Bluefox
                                          wrote on last edited by
                                          #22

                                          Um Select ID Dialog zu integrieren muss man folgendes in admin/index.html machen:

                                          • Im head einfügen:

                                          • Im body:

                                          • Und dann Script:

                                          ! var selectId; function initSelectId (cb) { if (selectId) return selectId; socket.emit('getObjects', function (err, res) { if (!err && res) { selectId = $('#dialog-select-member').selectId('init', { noMultiselect: true, objects: res, imgPath: '../../lib/css/fancytree/', filter: {type: 'state'}, name: 'vcard-select-state', texts: { select: _('Select'), cancel: _('Cancel'), all: _('All'), id: _('ID'), name: _('Name'), role: _('Role'), room: _('Room'), value: _('Value'), selectid: _('Select ID'), from: _('From'), lc: _('Last changed'), ts: _('Time stamp'), wait: _('Processing...'), ack: _('Acknowledged'), selectAll: _('Select all'), unselectAll: _('Deselect all'), invertSelection: _('Invert selection') }, columns: ['image', 'name', 'role', 'room', 'value'] }); cb && cb(selectId); } }); } !

                                          Um Dialog zu zeigen:

                                          
                                                      initSelectId(function (sid) {
                                                        sid.selectId('show', currentId, function (newId) {
                                                            console.log(newId);
                                                        });
                                                      });
                                          
                                          

                                          Vielleicht braucht man noch die Übersetzungen:

                                          ! ````
                                          "Select": {"en": "Select", "de": "Auswählen", "ru": "Выбрать"},
                                          "Ok": {"en": "Ok", "de": "Ok", "ru": "Ok"},
                                          "Cancel": {"en": "Cancel", "de": "Abbrechen", "ru": "Отмена"},
                                          "All": {"en": "All", "de": "Alle", "ru": "все"},
                                          "ID": {"en": "ID", "de": "ID", "ru": "ID"},
                                          "name": {"en": "name", "de": "Name", "ru": "Имя"},
                                          "Role": {"en": "Role", "de": "Rolle", "ru": "Роль"},
                                          "Room": {"en": "Room", "de": "Raum", "ru": "Комната"},
                                          "Value": {"en": "Value", "de": "Wert", "ru": "Значение"},
                                          "Select ID": {"en": "Select ID", "de": "ID Auswählen", "ru": "Выбрать ID"},
                                          "From": {"en": "From: ", "de": "Von", "ru": "От"},
                                          "Last changed": {"en": "Last changed", "de": "Letzte Änderung", "ru": "Изменён"},
                                          "Time stamp": {"en": "Time stamp", "de": "Zeitstempel", "ru": "Время"},
                                          "Processing...": {"en": "Processing...", "de": "Bearbeite...", "ru": "Обработка..."},
                                          "Acknowledged": {"en": "Acknowledged", "de": "Bestätigt", "ru": "Подтверждён"},
                                          "Filter:": {"en": "Filter:", "de": "Filter:", "ru": "Фильтр:"},
                                          "id": {"en": "ID", "de": "ID", "ru": "ID"},
                                          "Select all": {"en": "Select all", "de": "Alle auswählen", "ru": "Выбрать все видимые"},
                                          "Deselect all": {"en": "Deselect all", "de": "Auswahl aufheben", "ru": "Убрать выделение"},
                                          "Invert selection": {"en": "Invert selection", "de": "Selektierung invertieren", "ru": "Инвертировать выделение"},

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          333

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe