Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] TR-064 FritzBox Anrufmonitor filtern

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    [gelöst] TR-064 FritzBox Anrufmonitor filtern

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Farmer-cb last edited by

      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

      1 Reply Last reply Reply Quote 0
      • F
        Farmer-cb last edited by

        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

        1 Reply Last reply Reply Quote 0
        • Amnesia1211
          Amnesia1211 last edited by

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

          Danke 🙂

          1 Reply Last reply Reply Quote 0
          • F
            Farmer-cb last edited by

            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 Reply Last reply Reply Quote 0
            • Amnesia1211
              Amnesia1211 last edited by

              Danke werde ich mal testen 🙂

              1 Reply Last reply Reply Quote 0
              • C
                Camuri last edited by

                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 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

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

                883
                Online

                32.1k
                Users

                80.6k
                Topics

                1.3m
                Posts

                3
                6
                1057
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo