Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. [gelöst] TR-064 FritzBox Anrufmonitor filtern

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    281

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.8k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    775

[gelöst] TR-064 FritzBox Anrufmonitor filtern

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
6 Beiträge 3 Kommentatoren 1.1k Aufrufe
  • Ä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.
  • F Offline
    F Offline
    Farmer-cb
    schrieb am zuletzt editiert von
    #1

    Hallo

    besteht die möglichkeit den Anrufmonitor (json-table) zu filtern, so da nur Anrufe angezeigt werden, die nur an eine gewisse nummer gegangen sind.

    Mein gedanke dahinter:

    3 Familienhaus jede Familie eigne Rufnummer

    1 FritzBox

    jede Familie bekommt ein Tablet mit spezifischen Anrufmonitor in dem Natürlich nur Anrufe angezeigt werden, die nur Ihre Rufnummer betreffen.

    sollte ja die callednumber oder called sein. Nur wie gebe ich in der Json-Table einen Filter ein, geht das überhaupt

    smartes Haus durch Digitalstrom, enocean, SPS S7-1215, Homematik, Shelly, Alexa, iobroker auf einem HP-mini mit Proxmox

    1 Antwort Letzte Antwort
    0
    • F Offline
      F Offline
      Farmer-cb
      schrieb am zuletzt editiert von
      #2

      Habs jetzt manuell gelöst über scripte

      lese das JSON-Objekt aus, suche nach der spezifischen Callednumber und kopiere mir dieses dann zu einem neuen Json zusammen, welches ich dann in der JSON-Table anzeigen lasse

      smartes Haus durch Digitalstrom, enocean, SPS S7-1215, Homematik, Shelly, Alexa, iobroker auf einem HP-mini mit Proxmox

      1 Antwort Letzte Antwort
      0
      • Amnesia1211A Offline
        Amnesia1211A Offline
        Amnesia1211
        schrieb am zuletzt editiert von
        #3

        Kannst du mal zeigen wie du es gelöst hast würde mich interessieren.

        Danke :-)


        Man muss nicht alles wissen, nur wissen wo es steht.
        Fragen schadet aber auch nicht :spock-hand:


        1 Antwort Letzte Antwort
        0
        • F Offline
          F Offline
          Farmer-cb
          schrieb am zuletzt editiert von
          #4

          Servus

          mein Script dazu sieht so aus

          `var anruferliste                		="tr-064.0.calllists.inbound.json";
          var verpassteanruferliste       	="tr-064.0.calllists.missed.json";
          var anruf                       		="tr-064.0.callmonitor.inbound.json";
          var pfad                        		="javascript.0.Daten.FritzBox.";
          var pfad_anrufliste             	=pfad+"Anrufliste";
          var pfad_verpasste_anrufliste   =pfad+"verpasste_Anrufliste";
          var pfad_aktueller_anruf        	=pfad+"aktueller_Anruf";
          
          var msn                     = new Array(  'Rufnummer-1' //1.Rufnummer eingeben (mit Vorwahl)
                                                 	  	    ,'Rufnummer-2' //2.Rufnummer eingeben
                                                  	    ,'Rufnummer-3' //3.Rufnummer eingeben
                                                 		 //,'Rufnummer-4' //4.Rufnummer eingeben
                                                 		 //,'Rufnummer-5' //5.Rufnummer eingeben
                                                 		 //,'Rufnummer-6' //6.Rufnummer eingeben
                                                 		 //,'Rufnummer-7' //7.Rufnummer eingeben
                                                 		 //,'Rufnummer-8' //8.Rufnummer eingeben
                                                 );
          
          function anrufe(dp,pfad_anrufliste,msn)
                  {
                      var dp_pfad=pfad_anrufliste+'.'+msn;
          
                      createState(dp_pfad,{name: dp_pfad, unit: ""});
          
                      var datenpunkt=getState(dp).val;
                      var anrufdaten;
                      var liste='';
                          anrufdaten = JSON.parse(datenpunkt);
          
                          for(var i = 0; i < anrufdaten.length; i++) 
                          {
                              if(anrufdaten[i].callednumber == msn) 
                              {
                               if (liste!=='')liste=liste+',';
                               liste = liste+'{"date":"'+anrufdaten[i].date+'","caller":"'+anrufdaten[i].caller+'","name":"'+anrufdaten[i].name+'","callednumber":"'+anrufdaten[i].callednumber+'","device":"'+anrufdaten[i].device+'"}';
                              }
          
                          }
          
                          if (liste==='')'{"date":"keine","caller":"Daten","name":"vorhanden","callednumber":"","device":""}'
                          liste='['+liste+']';
                          //log ('dp_pfad:'+dp_pfad);
                          //log ('liste:'+liste);
                          setState(dp_pfad,liste);
                  }
          
          function verpassteanrufe(dp,pfad_verpasste_anrufliste,msn)
                  {
                      var dp_pfad=pfad_verpasste_anrufliste+'.'+msn;
                      createState(dp_pfad,{name: dp_pfad, unit: ""});
                      var datenpunkt=getState(dp).val;
                      var anrufdaten;
                      var liste='';
                          anrufdaten = JSON.parse(datenpunkt);
          
                          for(var i = 0; i < anrufdaten.length; i++) 
                          {
                              if(anrufdaten[i].callednumber == msn) 
                              {
                               if (liste!=='')liste=liste+',';
                               liste = liste+'{"date":"'+anrufdaten[i].date+'","caller":"'+anrufdaten[i].caller+'","name":"'+anrufdaten[i].name+'","callednumber":"'+anrufdaten[i].callednumber+'"}';
                              }
                          }
                          if (liste===''){'{"date":"keine","caller":"Daten","name":"vorhanden","callednumber":""}';}
                          liste='['+liste+']';
                          //log ('----------------------------------verpasste Anrufe-------------------------------------------');
                          //log ('DP: '+datenpunkt);
                          //log ('dp_pfad:'+dp_pfad);
                          //log ('liste:'+liste);
                          //log ('----------------------------------verpasste Anrufe ende---------------------------------------');
                          setState(dp_pfad,liste);
                  }
          
          function aktuelle_anrufe(dp,pfad_aktueller_anruf,msn)
                  {
                          log('******* aktueller Anruf : '+pfad+' ,'+pfad_aktueller_anruf+' , '+msn);
          
                          var dp_pfad 			= pfad_aktueller_anruf+'.'+msn;
                          var dp_pfad_name 		= dp_pfad+'.name';
                          var dp_pfad_rufnummer 	= dp_pfad+'.rufnummer';
                          var dp_pfad_angerufen 	= dp_pfad+'.angerufen';
                          var dp_pfad_timestamp 	= dp_pfad+'.timestamp';
                          var dp_pfad_ringing 		= dp_pfad+'.ringing';
          
                      createState(  dp_pfad_name,	{name: 'Name', unit: ""});
                      createState(  dp_pfad_rufnummer,{name: 'Rufnummer', unit: ""});
                      createState(  dp_pfad_angerufen,	{name: 'Angerufen', unit: ""});
                      createState(  dp_pfad_timestamp,{name: 'Zeitstempel', unit: ""});
                      createState(  dp_pfad_ringing,	{name: 'Klingelt', unit: ""});
          
                      var datenpunkt=getState(dp).val;
                      var anrufdaten;
                      var liste='';
                          anrufdaten = JSON.parse(datenpunkt);
          
                              if(anrufdaten.callee == msn) 
                              {
                                  log('-----------------if');
                               var angerufen	=anrufdaten.callee;
                               var rufnummer	=anrufdaten.caller;
                               var      name	=anrufdaten.callerName;
                               var zeitpunkt	=anrufdaten.timestamp;
          
                                  setState(dp_pfad_name,name);
                                  setState(dp_pfad_rufnummer,rufnummer);
                                  setState(dp_pfad_angerufen,angerufen);
                                  setState(dp_pfad_timestamp,zeitpunkt);
                                  setState(dp_pfad_ringing,getState("tr-064.0.callmonitor.ringing").val);
                              }
                          //}
                          liste='['+liste+']';
                          //log ('----------------------------------aktueller Anruf-------------------------------------------');
                          //log ('DP: '+datenpunkt);
                          //log ('liste:'+liste);
                          //log ('----------------------------------aktueller Anruf ende--------------------------------------');
                          //setState(dp_pfad,liste);
                  }
          
          function anrufliste()
                  {
                          for(var nr = 0; nr < msn.length; nr++) 
                          {
                                  anrufe(anruferliste,pfad_anrufliste,msn[nr]);
                                  verpassteanrufe(verpassteanruferliste,pfad_verpasste_anrufliste,msn[nr]);
                          }
                  } 
          
          on({id:"tr-064.0.callmonitor.ringing", val: true}, function (obj) 
                  {
                      //log('########### aktueller Anruf #############');
                      var          anruf="tr-064.0.callmonitor.inbound.json";
                      for(var nr = 0; nr < msn.length; nr++) 
                          {
                          log('+++++++++++++++++++ aktueller Anruf '+msn[nr]+' ++++++++++++++++++++++');
                          aktuelle_anrufe(anruf,pfad_aktueller_anruf,msn[nr]);
                          }
          
                  });
          
          on({id:"tr-064.0.callmonitor.ringing", val: false}, function (obj) 
                  {
                      //log('########### aktueller Anruf löschen #############');
                      var          anruf="tr-064.0.callmonitor.inbound.json";
                      for(var nr = 0; nr < msn.length; nr++) 
                          {
                              log('+++++++++++++++++++++ ringing löschen '+msn[nr]+' ++++++++++++++++++++');
                              setState(pfad_aktueller_anruf+'.'+msn[nr]+'.ringing',false);
                          }
                       anrufliste(); 
                  });` [/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
          

          smartes Haus durch Digitalstrom, enocean, SPS S7-1215, Homematik, Shelly, Alexa, iobroker auf einem HP-mini mit Proxmox

          1 Antwort Letzte Antwort
          0
          • Amnesia1211A Offline
            Amnesia1211A Offline
            Amnesia1211
            schrieb am zuletzt editiert von
            #5

            Danke werde ich mal testen :-)


            Man muss nicht alles wissen, nur wissen wo es steht.
            Fragen schadet aber auch nicht :spock-hand:


            1 Antwort Letzte Antwort
            0
            • C Offline
              C Offline
              Camuri
              schrieb am zuletzt editiert von
              #6

              Bräuchte mal Hilfe zu dem Skript irgendwie wird bei mir unter den angelegten Ordnern und der jeweiligen Rufnummer nur [] angezeigt.

              @Farmer-cb:

              Servus

              mein Script dazu sieht so aus

              `var anruferliste                		="tr-064.0.calllists.inbound.json";
              var verpassteanruferliste       	="tr-064.0.calllists.missed.json";
              var anruf                       		="tr-064.0.callmonitor.inbound.json";
              var pfad                        		="javascript.0.Daten.FritzBox.";
              var pfad_anrufliste             	=pfad+"Anrufliste";
              var pfad_verpasste_anrufliste   =pfad+"verpasste_Anrufliste";
              var pfad_aktueller_anruf        	=pfad+"aktueller_Anruf";
              
              var msn                     = new Array(  'Rufnummer-1' //1.Rufnummer eingeben (mit Vorwahl)
                                                     	  	    ,'Rufnummer-2' //2.Rufnummer eingeben
                                                      	    ,'Rufnummer-3' //3.Rufnummer eingeben
                                                     		 //,'Rufnummer-4' //4.Rufnummer eingeben
                                                     		 //,'Rufnummer-5' //5.Rufnummer eingeben
                                                     		 //,'Rufnummer-6' //6.Rufnummer eingeben
                                                     		 //,'Rufnummer-7' //7.Rufnummer eingeben
                                                     		 //,'Rufnummer-8' //8.Rufnummer eingeben
                                                     );
              
                  
                  
              function anrufe(dp,pfad_anrufliste,msn)
                      {
                          var dp_pfad=pfad_anrufliste+'.'+msn;
                          
                          createState(dp_pfad,{name: dp_pfad, unit: ""});
                          
                          var datenpunkt=getState(dp).val;
                          var anrufdaten;
                          var liste='';
                              anrufdaten = JSON.parse(datenpunkt);
                      
                              for(var i = 0; i < anrufdaten.length; i++) 
                              {
                                  if(anrufdaten[i].callednumber == msn) 
                                  {
                                   if (liste!=='')liste=liste+',';
                                   liste = liste+'{"date":"'+anrufdaten[i].date+'","caller":"'+anrufdaten[i].caller+'","name":"'+anrufdaten[i].name+'","callednumber":"'+anrufdaten[i].callednumber+'","device":"'+anrufdaten[i].device+'"}';
                                  }
                              
                              }
                              
                              if (liste==='')'{"date":"keine","caller":"Daten","name":"vorhanden","callednumber":"","device":""}'
                              liste='['+liste+']';
                              //log ('dp_pfad:'+dp_pfad);
                              //log ('liste:'+liste);
                              setState(dp_pfad,liste);
                      }
              
              function verpassteanrufe(dp,pfad_verpasste_anrufliste,msn)
                      {
                          var dp_pfad=pfad_verpasste_anrufliste+'.'+msn;
                          createState(dp_pfad,{name: dp_pfad, unit: ""});
                          var datenpunkt=getState(dp).val;
                          var anrufdaten;
                          var liste='';
                              anrufdaten = JSON.parse(datenpunkt);
                      
                              for(var i = 0; i < anrufdaten.length; i++) 
                              {
                                  if(anrufdaten[i].callednumber == msn) 
                                  {
                                   if (liste!=='')liste=liste+',';
                                   liste = liste+'{"date":"'+anrufdaten[i].date+'","caller":"'+anrufdaten[i].caller+'","name":"'+anrufdaten[i].name+'","callednumber":"'+anrufdaten[i].callednumber+'"}';
                                  }
                              }
                              if (liste===''){'{"date":"keine","caller":"Daten","name":"vorhanden","callednumber":""}';}
                              liste='['+liste+']';
                              //log ('----------------------------------verpasste Anrufe-------------------------------------------');
                              //log ('DP: '+datenpunkt);
                              //log ('dp_pfad:'+dp_pfad);
                              //log ('liste:'+liste);
                              //log ('----------------------------------verpasste Anrufe ende---------------------------------------');
                              setState(dp_pfad,liste);
                      }
              
              function aktuelle_anrufe(dp,pfad_aktueller_anruf,msn)
                      {
                              log('******* aktueller Anruf : '+pfad+' ,'+pfad_aktueller_anruf+' , '+msn);
                              
                              var dp_pfad 			= pfad_aktueller_anruf+'.'+msn;
                              var dp_pfad_name 		= dp_pfad+'.name';
                              var dp_pfad_rufnummer 	= dp_pfad+'.rufnummer';
                              var dp_pfad_angerufen 	= dp_pfad+'.angerufen';
                              var dp_pfad_timestamp 	= dp_pfad+'.timestamp';
                              var dp_pfad_ringing 		= dp_pfad+'.ringing';
                         
                          
                          createState(  dp_pfad_name,	{name: 'Name', unit: ""});
                          createState(  dp_pfad_rufnummer,{name: 'Rufnummer', unit: ""});
                          createState(  dp_pfad_angerufen,	{name: 'Angerufen', unit: ""});
                          createState(  dp_pfad_timestamp,{name: 'Zeitstempel', unit: ""});
                          createState(  dp_pfad_ringing,	{name: 'Klingelt', unit: ""});
                          
                          var datenpunkt=getState(dp).val;
                          var anrufdaten;
                          var liste='';
                              anrufdaten = JSON.parse(datenpunkt);
                      
                                  if(anrufdaten.callee == msn) 
                                  {
                                      log('-----------------if');
                                   var angerufen	=anrufdaten.callee;
                                   var rufnummer	=anrufdaten.caller;
                                   var      name	=anrufdaten.callerName;
                                   var zeitpunkt	=anrufdaten.timestamp;
                                     
                                      setState(dp_pfad_name,name);
                                      setState(dp_pfad_rufnummer,rufnummer);
                                      setState(dp_pfad_angerufen,angerufen);
                                      setState(dp_pfad_timestamp,zeitpunkt);
                                      setState(dp_pfad_ringing,getState("tr-064.0.callmonitor.ringing").val);
                                  }
                              //}
                              liste='['+liste+']';
                              //log ('----------------------------------aktueller Anruf-------------------------------------------');
                              //log ('DP: '+datenpunkt);
                              //log ('liste:'+liste);
                              //log ('----------------------------------aktueller Anruf ende--------------------------------------');
                              //setState(dp_pfad,liste);
                      }
              
              function anrufliste()
                      {
                              for(var nr = 0; nr < msn.length; nr++) 
                              {
                                      anrufe(anruferliste,pfad_anrufliste,msn[nr]);
                                      verpassteanrufe(verpassteanruferliste,pfad_verpasste_anrufliste,msn[nr]);
                              }
                      } 
              
              on({id:"tr-064.0.callmonitor.ringing", val: true}, function (obj) 
                      {
                          //log('########### aktueller Anruf #############');
                          var          anruf="tr-064.0.callmonitor.inbound.json";
                          for(var nr = 0; nr < msn.length; nr++) 
                              {
                              log('+++++++++++++++++++ aktueller Anruf '+msn[nr]+' ++++++++++++++++++++++');
                              aktuelle_anrufe(anruf,pfad_aktueller_anruf,msn[nr]);
                              }
                            
                      });
              
              on({id:"tr-064.0.callmonitor.ringing", val: false}, function (obj) 
                      {
                          //log('########### aktueller Anruf löschen #############');
                          var          anruf="tr-064.0.callmonitor.inbound.json";
                          for(var nr = 0; nr < msn.length; nr++) 
                              {
                                  log('+++++++++++++++++++++ ringing löschen '+msn[nr]+' ++++++++++++++++++++');
                                  setState(pfad_aktueller_anruf+'.'+msn[nr]+'.ringing',false);
                              }
                           anrufliste(); 
                      });` 
              [/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
              ``` ` 
              1 Antwort Letzte Antwort
              0

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              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

              541

              Online

              32.9k

              Benutzer

              83.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