Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Fritzbox rückwärtssuche mit iobroker?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Fritzbox rückwärtssuche mit iobroker?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
fritzbox 7590fritzfon
15 Beiträge 6 Kommentatoren 2.6k Aufrufe 12 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Walter WhiteW Offline
    Walter WhiteW Offline
    Walter White
    schrieb am zuletzt editiert von
    #1

    Gibt es eine Möglichkeit dass bei einem Anruf auf Festnetz, iobroker die Nummer zb bei Google etc prüft, und mir bei einem Treffer dann den Name statt der Nummer auf meinen Fritz C5 anzeigt? :thinking_face:

    liv-in-skyL Jey CeeJ 2 Antworten Letzte Antwort
    0
    • Walter WhiteW Walter White

      Gibt es eine Möglichkeit dass bei einem Anruf auf Festnetz, iobroker die Nummer zb bei Google etc prüft, und mir bei einem Treffer dann den Name statt der Nummer auf meinen Fritz C5 anzeigt? :thinking_face:

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #2

      @Walter-White

      habe kein c5 aber die google kontakte als telefonbuch in der fritzbox definiert - bei mir werden die namen angezeigt

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      Walter WhiteW 1 Antwort Letzte Antwort
      0
      • Walter WhiteW Walter White

        Gibt es eine Möglichkeit dass bei einem Anruf auf Festnetz, iobroker die Nummer zb bei Google etc prüft, und mir bei einem Treffer dann den Name statt der Nummer auf meinen Fritz C5 anzeigt? :thinking_face:

        Jey CeeJ Online
        Jey CeeJ Online
        Jey Cee
        Developer
        schrieb am zuletzt editiert von
        #3

        @Walter-White mir ist nichts fertiges bekannt. Es gibt aber einige Dienste bei denen man eine Rufnummer suchen kann, unter anderem das Telefonbuch.
        Hier lässt sich per URL die Suche durchfüren.

        https://www.dastelefonbuch.de/R%C3%BCckw%C3%A4rts-Suche/082411021
        

        Danach kann man die Seite nachdem Ergebnis parsen. Soweit ist das relativ einfach.

        Damit das Ergebnis angezeigt wird muss das dann als Telefonbucheintrag angelegt werden. Aber ob das mit dem tr064 Adapter geht und ob es dann Angezeigt wird wenn es schon Klingelt ist fraglich.

        Eine andere Möglichkeit fällt mir nicht ein.

        Persönlicher Support
        Spenden -> paypal.me/J3YC33

        1 Antwort Letzte Antwort
        1
        • liv-in-skyL liv-in-sky

          @Walter-White

          habe kein c5 aber die google kontakte als telefonbuch in der fritzbox definiert - bei mir werden die namen angezeigt

          Walter WhiteW Offline
          Walter WhiteW Offline
          Walter White
          schrieb am zuletzt editiert von
          #4

          @liv-in-sky es geht nicht um meine Google Kontakte, sondern um telefonnummern die nicht in meinen Google Kontakten sind! 😉

          liv-in-skyL 1 Antwort Letzte Antwort
          0
          • Walter WhiteW Walter White

            @liv-in-sky es geht nicht um meine Google Kontakte, sondern um telefonnummern die nicht in meinen Google Kontakten sind! 😉

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #5

            @Walter-White
            ja - habe ich nach jey-cee's post auch gedacht :-)

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Marsx79
              schrieb am zuletzt editiert von Marsx79
              #6
              var request = require('request');
              on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) { // wenn Anruf
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                log("Skript2 klingeln");
                var nummer = String(getState("tr-064.0.callmonitor.inbound.caller").val, 2000, false);  // caller Nummer auslesen
                log(' caller=' + nummer);
                var namen = String(getState("tr-064.0.callmonitor.inbound.callerName").val, 2000, false); // caller Name auslesen
                if (!namen.length){ // Namen leer in Fritz Telefonbuch, dann Namen in Das Örtliche suchen
                    log('namen ist leer.');
                    var url = 'http://www.dasoertliche.de/Controller?form_name=search_inv&ph='+ nummer; // suche namen
                    request(url, function(err, stat, body) {
                      if(err) log('Error: ' + err, error);
                      var matches = body.match(/class="name ".*?<.*?>(.*?)&/); // in matches[1] steht der Namen aus Das Örtliche
                      log('Name' + matches[1]);
                      if (!matches[1].length){     // Das Örtliche kein Name gefunden
                         log('Namen Unbekannt');
                         setState('tr-064.0.callmonitor.inbound.calleeName').String('Unbekannt');
                      } else {
                          log (Namen= + matches[1]);
                          setState('tr-064.0.callmonitor.inbound.calleeName').matches[1];
                      }
                    });
                } 
              });   
              

              Hatte dieses alte Script noch rumliegen. Keine Ahnung ob das noch funktioniert. Vielleicht kann das ja mal jemand testen.

              GarganoG 2 Antworten Letzte Antwort
              0
              • M Marsx79
                var request = require('request');
                on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) { // wenn Anruf
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  log("Skript2 klingeln");
                  var nummer = String(getState("tr-064.0.callmonitor.inbound.caller").val, 2000, false);  // caller Nummer auslesen
                  log(' caller=' + nummer);
                  var namen = String(getState("tr-064.0.callmonitor.inbound.callerName").val, 2000, false); // caller Name auslesen
                  if (!namen.length){ // Namen leer in Fritz Telefonbuch, dann Namen in Das Örtliche suchen
                      log('namen ist leer.');
                      var url = 'http://www.dasoertliche.de/Controller?form_name=search_inv&ph='+ nummer; // suche namen
                      request(url, function(err, stat, body) {
                        if(err) log('Error: ' + err, error);
                        var matches = body.match(/class="name ".*?<.*?>(.*?)&/); // in matches[1] steht der Namen aus Das Örtliche
                        log('Name' + matches[1]);
                        if (!matches[1].length){     // Das Örtliche kein Name gefunden
                           log('Namen Unbekannt');
                           setState('tr-064.0.callmonitor.inbound.calleeName').String('Unbekannt');
                        } else {
                            log (Namen= + matches[1]);
                            setState('tr-064.0.callmonitor.inbound.calleeName').matches[1];
                        }
                      });
                  } 
                });   
                

                Hatte dieses alte Script noch rumliegen. Keine Ahnung ob das noch funktioniert. Vielleicht kann das ja mal jemand testen.

                GarganoG Offline
                GarganoG Offline
                Gargano
                schrieb am zuletzt editiert von
                #7

                @Marsx79 Habs mal probiert, jedoch kommt der body.match mit der URL-Antwort nicht zurecht.
                Firefox meint, daß content-encoding gzip ist.
                Ich weiß nicht ob request mit gzip zurecht kommt.

                1 Antwort Letzte Antwort
                0
                • M Marsx79
                  var request = require('request');
                  on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) { // wenn Anruf
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    log("Skript2 klingeln");
                    var nummer = String(getState("tr-064.0.callmonitor.inbound.caller").val, 2000, false);  // caller Nummer auslesen
                    log(' caller=' + nummer);
                    var namen = String(getState("tr-064.0.callmonitor.inbound.callerName").val, 2000, false); // caller Name auslesen
                    if (!namen.length){ // Namen leer in Fritz Telefonbuch, dann Namen in Das Örtliche suchen
                        log('namen ist leer.');
                        var url = 'http://www.dasoertliche.de/Controller?form_name=search_inv&ph='+ nummer; // suche namen
                        request(url, function(err, stat, body) {
                          if(err) log('Error: ' + err, error);
                          var matches = body.match(/class="name ".*?<.*?>(.*?)&/); // in matches[1] steht der Namen aus Das Örtliche
                          log('Name' + matches[1]);
                          if (!matches[1].length){     // Das Örtliche kein Name gefunden
                             log('Namen Unbekannt');
                             setState('tr-064.0.callmonitor.inbound.calleeName').String('Unbekannt');
                          } else {
                              log (Namen= + matches[1]);
                              setState('tr-064.0.callmonitor.inbound.calleeName').matches[1];
                          }
                        });
                    } 
                  });   
                  

                  Hatte dieses alte Script noch rumliegen. Keine Ahnung ob das noch funktioniert. Vielleicht kann das ja mal jemand testen.

                  GarganoG Offline
                  GarganoG Offline
                  Gargano
                  schrieb am zuletzt editiert von
                  #8

                  @Marsx79 Hab mal ein log vom body gemacht, da erscheint des als Klartext, kommt also mit gzip zurecht. Scheint noch ein Problem mit der Zeile body.match zu sein

                  M 1 Antwort Letzte Antwort
                  0
                  • GarganoG Gargano

                    @Marsx79 Hab mal ein log vom body gemacht, da erscheint des als Klartext, kommt also mit gzip zurecht. Scheint noch ein Problem mit der Zeile body.match zu sein

                    M Offline
                    M Offline
                    Marsx79
                    schrieb am zuletzt editiert von
                    #9

                    @Gargano

                    Mit Scripten kenne ich mich leider nicht so aus. War nur als Anregung gedacht. Vielleicht kann da ja jemand was mit anfangen und es entsprechend anpassen.

                    GarganoG 1 Antwort Letzte Antwort
                    0
                    • M Marsx79

                      @Gargano

                      Mit Scripten kenne ich mich leider nicht so aus. War nur als Anregung gedacht. Vielleicht kann da ja jemand was mit anfangen und es entsprechend anpassen.

                      GarganoG Offline
                      GarganoG Offline
                      Gargano
                      schrieb am zuletzt editiert von Gargano
                      #10

                      @Marsx79 Also rausgefunden habe ich , daß die Klasse jetzt "st-treff-name" heißt und nicht mehr "name".
                      Ich komme aber mit dem Ausdruck .?<.?>(.*?)&/ nicht klar.
                      Hier scheint sich JS aufzuhängen.
                      Evtl. kann jemand da helfen.

                      Problem bei der ganzen HTML Geschichte ist, daß bei der nächsten Änderung der Klassenname wieder anders sein kann.
                      Eine Abfrage mit Get und Antwort als JSON wäre da besser.

                      GarganoG 1 Antwort Letzte Antwort
                      0
                      • GarganoG Gargano

                        @Marsx79 Also rausgefunden habe ich , daß die Klasse jetzt "st-treff-name" heißt und nicht mehr "name".
                        Ich komme aber mit dem Ausdruck .?<.?>(.*?)&/ nicht klar.
                        Hier scheint sich JS aufzuhängen.
                        Evtl. kann jemand da helfen.

                        Problem bei der ganzen HTML Geschichte ist, daß bei der nächsten Änderung der Klassenname wieder anders sein kann.
                        Eine Abfrage mit Get und Antwort als JSON wäre da besser.

                        GarganoG Offline
                        GarganoG Offline
                        Gargano
                        schrieb am zuletzt editiert von Gargano
                        #11

                        @Gargano Hier nun der geänderte Code für die Rückwärtssuche im 'Das Örtliche'

                        // Rückwärtssuche von das Örtliche 
                        
                        const callerName = 'tr-064.0.callmonitor.inbound.callerName';
                        const lastCallerName ='tr-064.0.callmonitor.lastCall.callerName';
                        
                        var request = require('request');
                        
                        
                        on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) { // wenn Anruf
                          log("Skript2 klingeln");
                          var nummer = String(getState("tr-064.0.callmonitor.inbound.caller").val, 2000, false);  // caller Nummer auslesen
                          log(' caller=' + nummer);
                          var namen = String(getState(callerName).val, 2000, false); // caller Name auslesen
                          if (!namen.length){ // Namen leer in Fritz Telefonbuch, dann Namen in Das Örtliche suchen
                              log('namen ist leer.');
                              var url = 'http://www.dasoertliche.de/Controller?form_name=search_inv&ph='+ nummer; // suche namen
                              log (url);
                              request(url, function(err, body) {
                                if(err) log('Error: ' + err);
                                var matches = body.match(/class="st-treff-name"\>(.*?)\</); // in matches[1] steht der Namen aus Das Örtliche
                                if (!matches){     // Das Örtliche kein Name gefunden
                                   log('Namen Unbekannt');
                                   setState(callerName,'Unbekannt');
                                   setState(lastCallerName,'Unbekannt');
                                } else {
                                    log ('Namen= '+ matches[1]);
                                    setState(callerName,matches[1]);
                                    setState(lastCallerName,matches[1]);
                                }
                              });
                          } 
                        });   
                        
                        
                        
                        M 1 Antwort Letzte Antwort
                        0
                        • GarganoG Gargano

                          @Gargano Hier nun der geänderte Code für die Rückwärtssuche im 'Das Örtliche'

                          // Rückwärtssuche von das Örtliche 
                          
                          const callerName = 'tr-064.0.callmonitor.inbound.callerName';
                          const lastCallerName ='tr-064.0.callmonitor.lastCall.callerName';
                          
                          var request = require('request');
                          
                          
                          on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) { // wenn Anruf
                            log("Skript2 klingeln");
                            var nummer = String(getState("tr-064.0.callmonitor.inbound.caller").val, 2000, false);  // caller Nummer auslesen
                            log(' caller=' + nummer);
                            var namen = String(getState(callerName).val, 2000, false); // caller Name auslesen
                            if (!namen.length){ // Namen leer in Fritz Telefonbuch, dann Namen in Das Örtliche suchen
                                log('namen ist leer.');
                                var url = 'http://www.dasoertliche.de/Controller?form_name=search_inv&ph='+ nummer; // suche namen
                                log (url);
                                request(url, function(err, body) {
                                  if(err) log('Error: ' + err);
                                  var matches = body.match(/class="st-treff-name"\>(.*?)\</); // in matches[1] steht der Namen aus Das Örtliche
                                  if (!matches){     // Das Örtliche kein Name gefunden
                                     log('Namen Unbekannt');
                                     setState(callerName,'Unbekannt');
                                     setState(lastCallerName,'Unbekannt');
                                  } else {
                                      log ('Namen= '+ matches[1]);
                                      setState(callerName,matches[1]);
                                      setState(lastCallerName,matches[1]);
                                  }
                                });
                            } 
                          });   
                          
                          
                          
                          M Offline
                          M Offline
                          Marsx79
                          schrieb am zuletzt editiert von
                          #12

                          @Gargano

                          Super! Werde ich nachher gleich mal ausprobieren.

                          GarganoG 2 Antworten Letzte Antwort
                          0
                          • M Marsx79

                            @Gargano

                            Super! Werde ich nachher gleich mal ausprobieren.

                            GarganoG Offline
                            GarganoG Offline
                            Gargano
                            schrieb am zuletzt editiert von
                            #13

                            @Marsx79 Ups , doch ein Schreibfehler

                            const lastCallerName ='tr-064.0.callmonitor.lastCall.callerName';
                            
                            1 Antwort Letzte Antwort
                            0
                            • M Marsx79

                              @Gargano

                              Super! Werde ich nachher gleich mal ausprobieren.

                              GarganoG Offline
                              GarganoG Offline
                              Gargano
                              schrieb am zuletzt editiert von
                              #14

                              @Marsx79 Nach der letzten Version vom JS Adapter kam bei mir eine Fehlermeldung mit der 'match' Funktion, daß diese nicht definiert sei.

                              Ich habe jetzt das aktuellere axios Modul verwendet :
                              Dazu muß in der JS Instanz unter den zusätzlichen NPM-Module axios eingetragen werden.

                              // Rückwärtssuche von das Örtliche 
                              
                              const callerName = 'tr-064.0.callmonitor.inbound.callerName';
                              const lastCallerName ='tr-064.0.callmonitor.lastCall.callerName';
                              const ringing = 'tr-064.0.callmonitor.ringing';
                              const caller = 'tr-064.0.callmonitor.inbound.caller';
                              
                              const axios = require('axios');
                              
                              function getCallerName(url) {
                                  axios.get(url)
                                      .then(function (response) {
                                          // handle success
                                        var matches = response.data.match(/class="st-treff-name"\>(.*?)\</); // in matches[1] steht der Namen aus Das Örtliche
                                          if (!matches){     // Das Örtliche kein Name gefunden
                                          setState(callerName,'Unbekannt');
                                          setState(lastCallerName,'Unbekannt');
                                          } else { 
                                              setState(callerName,matches[1]);
                                              setState(lastCallerName,matches[1]);
                                          } 
                                      })
                                      .catch(function (error) {
                                          // handle error
                                          console.log(error);
                                      })
                              }
                              
                              on({id: ringing, val: true, ack: true}, function (obj) { // wenn Anruf
                                var nummer = String(getState(caller).val, 2000, false);  // caller Nummer auslesen
                                var namen = String(getState(callerName).val, 2000, false); // caller Name auslesen
                                if (!namen.length){ // Namen leer in Fritz Telefonbuch, dann Namen in Das Örtliche suchen
                                  var url = 'http://www.dasoertliche.de/Controller?form_name=search_inv&ph='+ nummer; // suche namen
                                  getCallerName(url);
                                } 
                              });   
                              
                              
                              
                              
                              F 1 Antwort Letzte Antwort
                              0
                              • GarganoG Gargano

                                @Marsx79 Nach der letzten Version vom JS Adapter kam bei mir eine Fehlermeldung mit der 'match' Funktion, daß diese nicht definiert sei.

                                Ich habe jetzt das aktuellere axios Modul verwendet :
                                Dazu muß in der JS Instanz unter den zusätzlichen NPM-Module axios eingetragen werden.

                                // Rückwärtssuche von das Örtliche 
                                
                                const callerName = 'tr-064.0.callmonitor.inbound.callerName';
                                const lastCallerName ='tr-064.0.callmonitor.lastCall.callerName';
                                const ringing = 'tr-064.0.callmonitor.ringing';
                                const caller = 'tr-064.0.callmonitor.inbound.caller';
                                
                                const axios = require('axios');
                                
                                function getCallerName(url) {
                                    axios.get(url)
                                        .then(function (response) {
                                            // handle success
                                          var matches = response.data.match(/class="st-treff-name"\>(.*?)\</); // in matches[1] steht der Namen aus Das Örtliche
                                            if (!matches){     // Das Örtliche kein Name gefunden
                                            setState(callerName,'Unbekannt');
                                            setState(lastCallerName,'Unbekannt');
                                            } else { 
                                                setState(callerName,matches[1]);
                                                setState(lastCallerName,matches[1]);
                                            } 
                                        })
                                        .catch(function (error) {
                                            // handle error
                                            console.log(error);
                                        })
                                }
                                
                                on({id: ringing, val: true, ack: true}, function (obj) { // wenn Anruf
                                  var nummer = String(getState(caller).val, 2000, false);  // caller Nummer auslesen
                                  var namen = String(getState(callerName).val, 2000, false); // caller Name auslesen
                                  if (!namen.length){ // Namen leer in Fritz Telefonbuch, dann Namen in Das Örtliche suchen
                                    var url = 'http://www.dasoertliche.de/Controller?form_name=search_inv&ph='+ nummer; // suche namen
                                    getCallerName(url);
                                  } 
                                });   
                                
                                
                                
                                
                                F Offline
                                F Offline
                                flotux
                                schrieb am zuletzt editiert von
                                #15

                                @gargano
                                Dein Post hat mir damals sehr geholfen. Mir ist aber aufgefallen, dass sich offenbar der Aufbau der Seite von www.dasoertliche.de geändert hat, wodurch die Rückwärtssuche nicht mehr funktioniert. Mit folgenden Anpassungen funktioniert es bei mir zumindest wieder:

                                var url = 'https://mobil.dasoertliche.de/Themen?nummer='+ nummer;
                                

                                Folgender regulärer Ausdruck liefert bei mir dann den Namen bzw. die Firma zur Rufnummer:

                                var matches = response.data.match('<h2 class="tao-cb tao-b\">(.*)<\/h2>');
                                

                                Vielleicht hilft das dem einen oder anderen, so wie es mir damals geholfen hat. ;-)

                                1 Antwort Letzte Antwort
                                2
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate
                                FAQ Cloud / IOT
                                HowTo: Node.js-Update
                                HowTo: Backup/Restore
                                Downloads
                                BLOG

                                797

                                Online

                                32.6k

                                Benutzer

                                82.0k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe