NEWS
IoBroker.fritzbox zum Testen
-
Hallo,
ich habe heute mal die V. 0.31 (bei Fritzbox 7490 V06.60) installiert, weil ich hoffte, in meinem Anliegen etwas weiter zu kommen:
Wir erhalten viele Anrufe, die erst auflegen, wenn der Fritzbox-interne AB anspringt. Sie sprechen aber oftmals nicht auf.
In der "missed-call-Liste" finde ich aber nur die Anrufe, welche auflegen, bevor der AB anspringt.
Grundsätzlich hat sich in der V 0.31 dies jedoch nicht geändert.
Ich glaube, hier im Thread hat schon mal jemand danach gefragt, aber es gab nur eine Antwort mit den bisher gestalteten Widgets.
Gibt es eine Möglichkeit, eine HTML-Tabelle ähnlich der "missed-List" zusammenzustellen, in welcher dann eben die
a) Tatsächlich vor AB-einschalten aufgelegten
b) bei AB-einschalten aufgeleten (meinetwegen auch der Aufsprecher)
und am Besten ohne angerufenes Ziel (wg. Platzmangel auf dem View) ohne die bisher bekannten widgets anzuzeigen? hat jemand ein script hierfür?
Mit scripten befinde ich mich erst am Anfang eines langen Weges…
die Liste sollte so aussehen:
09.10. 09:51 02110123456
(bestenfalls mit Name, aber Phonebook funktioniert bei mir nicht, wir haben den VCARD-Adapter, der dies erledigen könnte)
Übrigens - das Phonebook sehe ich zwar als Objekt, hat aber keinen Inhalt... funktioniert das überhaupt? User und Kennwort habe ich eingegeben, bei den Objekten finde ich auch das Phonebook. Wie gesagt, leer...
-
Das ist aber fritzbox typisch.
Auf dem fritzfon siehst du die auch nicht.
Dazu musst du in die gesamt anrufliste gehen.
Sobald ein Anruf an eine andere Nebenstelle weitergeleitet wird ist sie nicht mehr in den verpassten Nachrichten.
Ist bei vielen tk Anlagen so.
Gruß
Rainer
-
Hallo Hormoran,
vielen Dank für Deine Antwort. leider sind es ca 50-70% der Anrufer… Allerdings habe ich auf den MT-Fs von Fritz zumindest auch die, die auf dem AB landen, aber vor Aufsprache auflegen.
Es wäre technisch zu machen:
Grundlage: Liste aller Anrufer
dann ankommende filtern
dann ankommende und auf AB umgeleitete anzeigen
zusätzlich ankommende missed filtern
ankommende zustandekommende weglassen.
so irgenwie müsste es doch gehen?
Gruß Seme
-
Gibt es eine Möglichkeit, eine HTML-Tabelle ähnlich der "missed-List" zusammenzustellen, in welcher dann eben die
a) Tatsächlich vor AB-einschalten aufgelegten
b) bei AB-einschalten aufgeleten (meinetwegen auch der Aufsprecher) `
Ja, das kann man realisieren.
Der Fritzbox Adapter basiert auf der Ausgabe der CDRs (Gesprächsdaten).
Meine Version ist die erste veröffentlichte (0.2.1) und basiert nur auf diese Ausgaben.
Die Versionen 0.3.0 und 0.3.1 wurden von anderen Anwendern erweitert, um zusätzliche Funktionalitäten zu realisieren. Ich habe sie auf Github hinzugenommen, aber nicht weiter getestet.
Zu Deiner Anforderung:
Ein Gespräch zum Anrufbeantworter ist bei den Gesprächsdaten ein angenommenes Gespräch.
Du kannst diese Gespräche allerdings über die angerufene Nebenstelle separieren.
Beispiel:
1.) fritzbox-0 2016-10-09 10:35:27.650 info data from 172.16.yyy.xxx: 09.10.16 10:35:27;DISCONNECT;0;4; fritzbox-0 2016-10-09 10:35:23.729 info data from 172.16.yyy.xxx: 09.10.16 10:35:23;CONNECT;0;12;02119098xxxx; fritzbox-0 2016-10-09 10:35:14.068 info data from 172.16.yyy.xxx: 09.10.16 10:35:14;RING;0;02119098xxxx;875yyyy;SIP1; 2.) fritzbox-0 2016-10-09 10:34:52.415 info data from 172.16.yyy.xxx: 09.10.16 10:34:52;DISCONNECT;0;2; fritzbox-0 2016-10-09 10:34:50.448 info data from 172.16.yyy.xxx: 09.10.16 10:34:50;CONNECT;0;10;02119098xxxx; fritzbox-0 2016-10-09 10:34:47.031 info data from 172.16.yyy.xxx: 09.10.16 10:34:47;RING;0;02119098xxxx;875yyyy;SIP1; 3.) fritzbox-0 2016-10-09 10:32:12.685 info data from 172.16.yyy.xxx: 09.10.16 10:32:12;DISCONNECT;0;8; fritzbox-0 2016-10-09 10:32:05.374 info data from 172.16.yyy.xxx: 09.10.16 10:32:05;CONNECT;0;40;02119098xxxx; fritzbox-0 2016-10-09 10:31:45.201 info data from 172.16.yyy.xxx: 09.10.16 10:31:45;RING;0;02119098xxxx;875yyyy;SIP1;
In den Logs siehst Du drei angenommene Gespräche.
In der ersten Meldung (RING) gibt die Fritzbox die anrufende Rufnummer (Anrufer) und die angerufene Rufnummer aus.
Es klingen die in der Fritzbox eingestellten Geräte (kann man der RING Meldung nicht entnehmen).
In der CONNECT Meldung (Gespräch wurde angenommen), gibt die Fritzbox aus, welche Nebenstelle das Gespräch entgegengenommen hat.
1.) wurde von der Nebenstelle 12 angenommen (Arbeitszimmer)
2.) von der Nebenstelle 10 (Küche)
3.) vom Anrufbeantworter (hier Nebenstelle 40)
Die von Dir gewünschte Liste wäre also alle angenommenen Gespräche, die von der Nebenstelle 40 angenommen wurde.
Das kannst Du z.B. per Javascript realisieren. Das ist mit dem bestehenden Adapter möglich.
Der Adapter könnte auch um eine weitere Liste erweitert werden, die nur diese Nebenstelle enthält.
Da die reine Gesprächsdatenauswertung das Telefonbuch nicht berücksichtigt, habe ich das bei mir per Skript gelöst und pflege dort noch ein ioBroker Telefonbuch im JSON Format. Die Namen tauchen dann bei mir in den Anruferlisten auf und werden per SayIT bei einem Anruf gesprochen ("Anruf von Herrn Müller"). Da gibt es auch einige Einträge hier im Forum zu.
-
Könntest du das Telefonbuch Script veröffentlichen!? lieb guck [emoji12][emoji23]
Gesendet von iPhone mit Tapatalk
-
ist nichts Großes..
http://forum.iobroker.net/viewtopic.php … box#p20299
Den Namen musst Du dann entsprechend weiterverarbeiten.
Im Beispielskript wird der Name des Anrufes über SayIt gesprochen.
-
Hallo zusammen,
gibt es eine Möglichkeit das Widget, bzw. die "Werte-Tabelle" für das Widget so zu anzupassen, dass die Spalte "Eigene Amt" nicht angezeigt wird?
Gruß
-
ja. Man kann den String per Javascript bearbeiten.
"
" wird als Trenner für die einzelnen Zeichen.In der ersten Zeile vor dem ersten "
" das "Eigenes Amt " (15 Zeichen löschen) raus löschen-In jeder weiteren Zeile mit einem "
" die letzten 15 Zeichen vor dem "
" raus löschen.In der letzten Zeile die letzten 15 Zeichen löschen.
-
ja. Man kann den String per Javascript bearbeiten.
"
" wird als Trenner für die einzelnen Zeichen.In der ersten Zeile vor dem ersten "
" das "Eigenes Amt " (15 Zeichen löschen) raus löschen-In jeder weiteren Zeile mit einem "
" die letzten 15 Zeichen vor dem "
" raus löschen.In der letzten Zeile die letzten 15 Zeichen löschen. `
Danke …Aber kannst du das bitte etwas genauer erklären :shock:
Gruß
-
ich bastel mal was…
-
Aber kannst du das bitte etwas genauer erklären :shock:
probier mal das Skript:
let idVerpasstNeu = "verpasste_Anrufe.htlm"; createState(idVerpasstNeu, "Liste wurde initalisiert", { name: 'Verpasste Anrufe ohne eigene Rufnummer', type: 'string', unit: '', role: 'value' }); function delLastCol(str) { var arr = str.split(" "); var strNeu = arr[0].replace("Eigenes Amt ", "") + " "; if(arr.length <1 ) return strNeu; for (var i = 1; i < arr.length; i++) { strNeu = strNeu + arr[i].substring(0,arr[i].length-16); if(i+1 <arr.length) strneu="strNeu" +/"<br="">"; } return strNeu; } function main() { var str = getState("fritzbox.0.history.missedTableHTML").val; var neuStr = delLastCol(str); setState(idVerpasstNeu,neuStr); log(neuStr); } // Start Skript: setTimeout(main, 500);</arr.length)>
- Liest die html-Tabelle mit den verpassten Anrufen vom Fritzbox-Adapter ein.
- Kürzt die Zeilen am Ende und erstellt eine neue Tabelle
- Schreibt in ~~[b]~~javascript.x.verpasste_Anrufe.htlm[/b] die neue html-Tabelle rein.
sollte zu mindestens so sein...
Wenn es funktioniert musst Du noch eine Subscription (on()) hinzufügen, damit das Skript bei jeder Änderung der Originalliste aufgerufen wird.
-
probier mal das Skript: `
… kam eben erst zum testen :roll:Vielen Dank ... das Script funktioniert soweit
Ich musste allerdings:
role: 'value'
in
role: 'history'
ändern.
Dadurch wird die eigene Nummer nun nicht mehr angezeigt.
Aber die Spaltenüberschrift "Eigenes Amt" wird weiterhin angezeigt. Kann man die auch noch entfernen?
> Wenn es funktioniert musst Du noch eine Subscription (on()) hinzufügen, damit das Skript bei jeder Änderung der Originalliste aufgerufen wird.
Genau das ist das nächste Problem. Wie und wo mache ich das?Gruß
-
probier mal das Skript: `
… kam eben erst zum testen :roll:Vielen Dank ... das Script funktioniert soweit
Ich musste allerdings:
role: 'value'
in
role: 'history'
ändern.
Dadurch wird die eigene Nummer nun nicht mehr angezeigt. `
Das dürfte nicht notwendig sein.
Bei mir funktioniert es so. "role" ist nur eine Name für die Sortierung (Filter) im Admin und hat keinen Einfluss auf die Funktion.
Aber die Spaltenüberschrift "Eigenes Amt" wird weiterhin angezeigt. Kann man die auch noch entfernen? `
Siehe neues Skript.
Das non breaking space ist im Quellcode als ein Zeichen drin (beim mir am Mac alt-Taste + Leerzeichen).
Bei kopieren des Code ins Forum und zurück wird aus dem nbsp; ein normales Leerzeichen. Gerade ausprobiert.
Sorry, dass ich das vorher nicht probiert habe.
Daher findet .replace( nicht den richtigen String (Unterschied in den Leerzeichen). Ich habe das unten im Skript gegen Unicode geändert. Damit sollte es funktionieren.
Wenn es funktioniert musst Du noch eine Subscription (on()) hinzufügen, damit das Skript bei jeder Änderung der Originalliste aufgerufen wird.
Genau das ist das nächste Problem. Wie und wo mache ich das?Ich habe das unten im Skript ergänzt.
Das überarbeitete Skript:
idVerpasstNeu = "verpasste_Anrufe.htlm"; createState(idVerpasstNeu, "Liste wurde initalisiert", { name: 'Verpasste Anrufe ohne eigene Rufnummer', type: 'string', unit: '', role: 'value' }); function delLastCol(str) { var arr = str.split("<br>"); var strNeu = arr[0].replace("Eigenes\u00A0Amt\u00A0\u00A0\u00A0\u00A0", "") + "<br>"; if(arr.length <1 ) return strNeu; for (var i = 1; i < arr.length; i++) { log(i); strNeu = strNeu + arr[i].substring(0,arr[i].length-16); if(i+1 <arr.length) strNeu = strNeu + "<br>"; } return strNeu; } function newList() { var str = getState("fritzbox.0.history.missedTableHTML").val; var neuStr = delLastCol(str); setState(idVerpasstNeu,neuStr); return neuStr; } on({id:"fritzbox.0.history.missedTableHTML",change:'any'}, function (obj) { newList(); }); function main() { log(newList()); } // Start Skript: setTimeout(main, 500);
- nbsp; Zeichen gegen Unicode(\u00A0) ersetzt
- Subscription eingefügt (bei Änderung der Liste von Adapter, neue Liste anpassen
-
Edit:
@ruhr70:Das dürfte nicht notwendig sein.
Ja … hast recht. Funktioniert auch so ... k.A. warum das vorher nicht gleich funktioniert hat. Sry ...
> Sorry, dass ich das vorher nicht probiert habe.
Bin doch froh das du mir hilfst
`Ich habe das unten im Skript ergänzt.
Super!!!Danke jetzt funktioniert alles
-
Hallo zusammen,
mal eine kurze Frage:
Wenn ich im Konfigurationsmenü des Adapters den Haken für "html/txt Anruferliste, zeige Überschrift:" abwähle kriege ich nur noch einen leeren Wert zurück geliefert, sprich der Adapter erstellt die notwendigen Tabellen nicht mehr.
(Weder HTML noch TXT).
Lasse ich die Überschriften drin funktioniert alles wie geplant.
Ist das ein bekanntes Problem bzw. hat hier jemand Abhilfe?
(Und im selben Atemzug gefragt: Gibt es einen Weg die Tabellenüberschrift getrennt zu formatieren?)
VG,
hater
-
Wie bekomme ich den Hintergrund transparent?
Ist das basic-Table Widget
-
Hallo zusammen,
erst einmal super, installiert und läuft!!!
Kann ich mir auch den Anrufernamen ausgeben lassen?
Möchte mir den Anrufernamen über Alexa ausgeben lassen.
Danke
-
erst einmal super, installiert und läuft!!!
Kann ich mir auch den Anrufernamen ausgeben lassen?
Möchte mir den Anrufernamen über Alexa ausgeben lassen. `
Der Fritzbox-Adapter wertet nur die Gesprächsdaten aus.
Wenn Du hier einen Namen haben möchtest, musst Du Dir dafür ein kleines Skript schreiben, in dem Du die Namen pflegst.
Mehr Möglichkeiten hast Du mit den TR-64 Adapter.
Dieser kann auch die Namen ausgeben, die im Fritzbox-Telefonbuch gespeichert sind.
-
Hi,
den anderen Adapter bekomme ich nicht ans Rennen.
Dann werde ich mich wohl an das Script wagen….
Danke
-
Das Skript findest Du auch fertig im Forum.