Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Christian Ortmann

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 1
    • Best 0
    • Groups 0

    Christian Ortmann

    @Christian Ortmann

    0
    Reputation
    5
    Profile views
    1
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Christian Ortmann Follow

    Latest posts made by Christian Ortmann

    • Nummernabfrage in Tellows möglich?

      Seit einiger Zeit nutze ich ioBroker dazu, bei ankommenden Anrufen (im Falle das die Nummer nicht im Telefonbuch der FritzBox steht) eine Abfrage bei "Das Örtliche" zu machen, um mir Namen und Nummer via Telegram Bot aufs Smartphone zu schicken. Das funktioniert soweit ganz gut.

      Codesample ist dieses hier:

      // 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 isRequestFinished = '0_userdata.0.isRequestFinished';
      
      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
                 log(response.data);
                  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
        setState(isRequestFinished, false);
        var nummer = String(getState(caller).val);  // caller Nummer auslesen
        var namen = String(getState(callerName).val); // 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);
        } 
         setState(isRequestFinished, true);
      });
      

      Nun kämpfe seit geraumer Zeit aber auch mit SPAM-Anrufen, also irgendwelchen unbekannten Nummern, die dauernd versuchen zuhause anzurufen. Als erstes Mittel habe ich für die FritzBox ein Tellows-Abo, welches ständig ein internes Telefonbuch mit den Spamnummern aktualisiert. Dort stehen aber auch nur Nummern, die besonders häufig schon Penalty-Points bekommen haben.
      Ich hätte nun gerne via ioBroker eine Abfrage gemacht, die die Nummer an Tellows schickt und als Result die Treffer zurückbekommt. Soweit scheint das auch prinzipiell möglich, in dem man eine Abfrage auf

      https://www.tellows.de/basic/num/<number>?xml=1&partner=tellowsfritz&apikey=<apikey>';
      

      triggert. Ich weiß nur nicht, wie man das Result vernünftig auswertet. Wenn ein Treffer einer Spamkategorie 7-9 herauskommt, hätte ich gerne dieses Resultat wieder zurück.
      Hätte hier jemand aus der Community eine Idee?

      posted in Skripten / Logik
      Christian Ortmann
      Christian Ortmann
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo