NEWS
Korrekte Liste entgangener Anrufe mittels dem tr-064 Adapter
-
Hallo,
ich beziehe mich auf folgenden Thread, damals hatte ich die korrekte Liste entgangener Anrufe mit dem Fritzbox-Adapter verwirklicht. Das alte Script lief (Anscheinend wegen der Änderung des J-Script-Adapters) aber nicht mehr, hat mir aber viele Jahre gedient. Seinerzeit hatte mir der User ruhr70 mit dem script sehr geholfen.
Kurz ich möchte das nun mit dem tr-064-Adapter verwirklichen.:
entgangene Anrufe, die erst aufgelegt werden, wenn der Anrufbeantworter drangeht mit Name (Telefonbuch)
anzeigen lassen.
Das findet sich in keiner der missed-Listen, auch bei tr064 Adapter.Ich verwende folgendes script (ähnlich wie damals bei Fritzbox-Adapter) und lese den Datenpunkt tr-064.0.calllists.all.json aus und filtere die nicht benötigten Datensätze (eingehende erfolgreiche Anrufe und ausgehende Anrufe ) aus.
createState('ErfolgloseAnrufe3', ''); function kuerzeDatum(str) { var datumStr = str.substr(0,6); // Datum kürzen var zeitStr = str.substr(9,5); // Zeit kürzen return datumStr + ": " + zeitStr; } function listeBereinigen(jsonAll){ for (var i = 0; i < jsonAll.length; i++) { jsonAll[i].date = kuerzeDatum(jsonAll[i].date); // Datum und Zeit kürzen if(jsonAll[i].sym.indexOf(">X") == -1) { if(jsonAll[i].type >2 ) { delete jsonAll[i]; log("del: " + i); } } } return JSON.stringify(jsonAll); } on({id: 'tr-064.0.calllists.all.json'/*calllists all json*/}, function (obj) { var ergebnis = listeBereinigen(JSON.parse(obj.state.val)); setState('javascript.' + instance + '.ErfolgloseAnrufe3',ergebnis); });
Eigentlich funktioniert das Script ganz gut, ich lasse dann den Datenpunkt Entgangene Anrufe im Vis anzeigen.
Angezeigt wird als beispiel in VIS:13.07.: 13:07 Karl Müller > 0:01
13.07.: 13:02 Unbekannt > 0:01 (hier hat der Anrufer eine unterdrückte Rufnr.)
13.07.: 13:01 > 0:01 (hier ist die angezeigte Nummer nicht im Telefonbuch der Fritz)Bei unterdrückten Rufnummern zeigt er im Feld "name" dann auch Unbekannt an.
Leider ist es bei angezeigten Rufnummern, die nicht im Telefonbuch stehen, so, dass im Namensfeld einfach nichts steht.
Ich habe leider kein Platz, dass ich beide Felder also Telefonnr und Name nebeneinander anzeigen kann...Nun meine Frage:
Wer kennt sich mit Script-Schreiben aus?
Funktioniert es, das wenn im Feld "Name" beim tr064 json nichts drin steht, dass dann in der neu gebildeten Datei "EntgangeneAnrufe3" die Rufnummer (Feld "external") statt des Namens bzw. in die Variable "name" geschrieben wird? Dann wäre meine Anrufliste wieder perfekt!13.07.: 13:01 017600000000 > 0:01
Danke Euch Experten!
-
@semenchkare sagte: die Rufnummer (Feld "external") statt des Namens bzw. in die Variable "name" geschrieben wird?
Enthält jsonAll[i] die Eigenschaften "name" und "external"? Dann einfügen (Zeile 13):
if(!jsonAll[i].name) jsonAll[i].name = jsonAll[i].external;
-
@paul53 sagte in Korrekte Liste entgangener Anrufe mittels dem tr-064 Adapter:
if(!jsonAll[i].name) jsonAll[i].name = jsonAll[i].external;
für mich sieht es so aus, das dann generell alle Namen überschrieben werden? dann könnte ich gleich ein anderes feld wählen. Ich probiere es aus! Und melde mich zurück!.
lg seme
-
@semenchkare sagte: generell alle Namen überschrieben werden?
if(!jsonAll[i].name) prüft, ob der Name leer ist.
-
@paul53
Suuper! Es funktioniert! Vielen Dank!