Q & A zum FritzBox-Project

Symbox ?
Ich dachte die MultiByte Erweiterung ist inzwischen onboard…
Michael

Hallo Michael,

zuerst mal ein großes Lob für die tolle Arbeit. :smiley: Hatte bisher eigene Fritzbox-Scripte verwendet und wollte jetzt auf Deine umsteigen da die viel übersichtlicher und vielvältiger sind als meine. Funktioniert auch auf Anhieb. :slight_smile:

Eine Frage habe ich dennoch:

Ich möchte mir die Anrufe gern über mein Multiroom-Audio-System ansagen lassen. Leider bekomme ich nur immer die Telefonnummer angesagt und nicht den Namen dazu. Das Telefonbuch der Fritzbox wird richtig ausgelesen und steht auch in der Datei …\Phonebook1.xml.
In der HTML-Tabelle der Anrufer steht auch der Name drin, allerdings nicht im Popup des Webfrontend.
Wo kann ich denn da noch was einstellen???
Ich verwende das User-Script mit der Variablen $_IPS[‚CALL_Name‘]

In der ‚VORLAGE - User-Script für Anrufmonitor‘ steht noch folgender Hinweise in Zeile 22:

#  ["CALL_Name"]=> entfernter Name mit dem gesprochen wird. ( noch ) nicht vorhanden !

Also nicht vorhanden :smiley:
Allerdings stimmt das nicht ganz.
Es funktioniert, wenn die Nummer 1:1 mit der im Telefonbuch übereinstimmt.
Fehlt z.B. die Vorwahl so funktioniert es nicht.

In welcher Tabelle ist denn der Name bei dir vorhanden ?
Die Namen aus der ‚Anruferliste‘ kommen zuerst direkt aus der Box. Sind also unabhängig von Namen der Tabelle ‚Anrufmonitor‘.

Michael

Du hast natürlich Recht, das habe ich vollkommen übersehen :banghead:
In welchem Script wird denn die Variable [CALL_NAME] befüllt? Vielleicht kann ich selbst was dazu basteln. Oder hast Du schon an einer Umsetzung gearbeitet?

Die Nachrichten erscheinen natürlich richtig in der Anruferliste. Aber wenn diese direkt aus der Box gelesen wird, ist das ja logisch.

Doch es sollte gehen. Wenn die Nummern 1:1 passen.
Häufig funktioniert es nicht, weil Länderkennung oder Vorwahl nicht passen oder übergeben werden.
Im Endeffekt wird einfach eine Inversuche gemacht.
Diese schaut zuerst in den Cache, dann in die XMLs und erst dann wird die Online-Invers-Suche genutzt.
Wie gesagt, ich habe es gestern probiert aber es klappt halt nicht immer (darum der Hinweis in der Config) wenn die Nummern nicht 1:1 stimmen.
Anrufmonitor (aktive Verbindungen) oder Anruferliste ? Wo stimmen die Namen?
Michael

Michael,

An welcher Stelle könnte man ändern, dass nur aktive Netzwerk Devices angezeigt werden, bzw. inaktive auch wieder aus der Liste gelöscht werden !

Danke, Grüße Alex

Ausblenden musst du selbst umsetzen. Solltest du auch nicht in den Scripten anpassen, sonst ist deine Änderung nach einem Update weg.
Zum löschen von nicht mehr vorhandenen Geräten, musst du Diese erst in der FritzBox löschen. Danach kannst du die Geräte auch dauerhaft im IPS entfernen.
Das Script legt alle in der Box bekannten Geräte an, löscht aber (mit Absicht; wegen Logging, Ereignissen oder Scripten welche von ihnen abhängig sein könnten) keine Variablen.
Michael

Hallo Michael, tolle Arbeit, vielen Dank dafür! Es funktioniert auch alles.

Aber das Auslese-Skript für die Anruferliste wirft bei mir den Fehler „Warning: main(): xmlEncodeEntities: char out of range“ in Zeile 201, die lautet „$Call->Name = utf8_decode($Call->Name);“ - ist das ein (weiteres) Umlautproblem? Oder liegt es vielleicht an meiner FB 7270? Oder an einem Config-Fehler meinerseits?

Grüße
galleto

Hallo Michael,

ich möchte mich hiermit nur mal für deine tolle Arbeit bedanken.
Für einen Anfänger wie mich steigt dadurch der Mehrwert an
IP Symcon ungemein.

Viele Grüße

Chris.

@all: Danke für die Blumen… auch wenn ich aktuell nicht an den bekannten Bugs vorran komme …sorry.

Ist die Frage was in ‚Name‘ enthalten ist, dass so ein Fehler entsteht.
Hatte ich bis dato noch nicht.
Aber du kannst ja einfach mal oberhalb der Zeile zusätzlich das hier einfügen:

		var_dump($Call->Name); // nur dies hier
		$Call->Name = utf8_decode($Call->Name);

Und dann das Script im Editor ausführen.
Der Name welcher oberhalb der Fehlermeldung kommt; der ist der Übeltäter.
Anschließend nicht vergessen die Zeile wieder zu löschen, sonst gibt es viele Einträge im Log :smiley:
Michael

Es ist ein Umlautproblem. „Mueller“ geht, „Müller“ verursacht die Fehlermeldung, wird aber trotzdem korrekt angezeigt.

Merkwürdig: Pro Liste (Dummy, Familiy, Tochter) kommt die Fehlermeldung nur beim ersten (obersten) Namen mit Umlaut, danach nicht mehr. :confused:

Kannst Du damit etwas anfangen?

Grüße
galleto

Jaaa… ich habe eine Idee. Muss ich mal prüfen.
Ich meine ich hatte mal Stress mit der XML welche die Box liefert.
Welche IPS Version nutzt du?
Michael

Version 4.0

Grüße
galleto

Ich habe noch mal nachgesehen. Doch das funktioniert alles.
Aber in der Config musst du deine Vorwahl angeben.
Damit ergänze ich alle Nummern, welche ohne Vorwahl übertragen werden.

Dann funktioniert auch die Anzeigen der Namen im Popup und User-Script :smiley:

Michael

Version 1.07
Fritz-Box Project
[HR][/HR]

Changelog:

[ul]
[li]Bugfix: Teilweise wurden WLAN-Geräte nicht als aktiv/an/true ausgewertet.
[/li][li]Bugfix: QR-Code konnte nicht gescannt werden.
[/li][li]Bugfix*: Refresh der Anrufliste überschrieb ein offenen Popup-Fenster des Anrufbeantworters (Aktuell nur ein Workaround, endgültige Lösung steht noch aus.)
[/li][li]Bugfix: IPv6-Adresse des DNS-Server wurde nicht korrekt gelesen.
[/li][li]Bugfix: Style für TABLE-Tag wurden nicht korrekt übernommen.
[/li][li]Bugfix
: Fehlermeldungen bei Geräten welche als LAN-Router aktuell nicht die aktuellen maximalen Up/Downstream kennen. (*Aktuell nur ein Workaround, endgültige Lösung steht noch aus.)
[/li][/ul]

Michael

PS: Wenn es noch Probleme mit IPv6 gibt, meldet euch gerne auch per PN. Bitte gebt euer FB-Model und Provider/Anschlußart an.

Mein IPS kann mittlerweile texte auf meinem SONOS als Sprache ausgeben.

Ich würde gerne den Namen eines Anrufers als Text extrahieren um diesen dann auf SONOS auszugeben

Frage 1 : Kann/muss ich auf Veränderungen der String variable „Call-Array“ triggern um durch den Anruf mein Skript zu starten ?

Frage 2 : Steht der Name des Anrufers (bzw. die Nummer falls der Name nicht aufgelöst werden kann) bei [„CALL_Status“] => RING (ankommend klingelnd) unter [„CALL_Name“]=> string(5) „Heino“ ?

Ist das die beste Strategie ?

Nein!

Wenn du das in [FritzBox Project\Config\VORLAGE - User-Script für Anrufmonitor] gefunden hast, dann auch wie du wo dein Script konfigurieren kannst, damit es automatisch gestartet wird.
Oder einfach dieses Beispiel-Script erweitern :smiley:
Und ja das sind die Index-Felder von dem $_IPS-Array welche entsprechend befüllt werden.
Wobei der Wert von $_IPS[„CALL_Status“] „CALL“, „RING“, „CONNECT“ oder „DISCONNECT“ ist. Also ohne " und ohne (Beschreibung).
Für $_IPS [„CALL_Name“] ist zu beachten, dass die die eigene Vorwahl in der User-Config [FritzBox Project\Config\User-Config] eingetragen sein muss. Sonst hast du mit der Erkennung der Namen bei ab/ankommenden Gesprächen nur Probleme.

Michael

@Nall Chan
Danke für die Tipps, werde ich zu Ostern ausprobieren.

Falls ich es noch nicht gesagt habe : Du hast da eine Super Software für die Fritz Box geschrieben. Kompliment!

Danke für den Update Michael,

werde ich die Tage versuchen. Die aktuelle Version ist schon prima, bis auf das Problem mit den Up/Download Werten, aber das wird Dein Update ja wohl workaround’n.

Servus Seppm

Gestern habe ich noch Bug in einem Profil gefunden. Muss mal nachforschen wann der sich eingeschleust hat.
Michael