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. [gelöst] TR-064 FritzBox Anrufmonitor filtern

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    437

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

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

[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
              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

              286

              Online

              32.7k

              Benutzer

              82.5k

              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