NEWS
[gelöst] TR-064 FritzBox Anrufmonitor filtern
-
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
-
Kannst du mal zeigen wie du es gelöst hast würde mich interessieren.
Danke :-)
-
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] -
Danke werde ich mal testen :-)
-
Bräuchte mal Hilfe zu dem Skript irgendwie wird bei mir unter den angelegten Ordnern und der jeweiligen Rufnummer nur [] angezeigt.
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] ``` `
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