Hallo,
läuft FHEM nicht direkt auf der FB, musste bisher das FB-Telefonbuch exportiert werden und auf den FHEM-Server kopiert werden. Ich habe nun die Funktion so erweitert, dass das Telefonbuch per Telnet von der FritzBox geholt wird. Hierzu müssen folgende neue Attribute gesetzt werden:
attr <callmonitor> fritz-box-remote true
attr <callmonitor> fritz-box-password <Verschlüsseltes Passwort>
PS: Bitte die Perlmodule für Telnet installieren
Grüße Jörg
Aktualisiert: Ich habe die aktuellen Fehlerkorrekturen zur klicktel Rückwärtssuche noch übernommen
Aktualisiert: Habe noch etwas an der neuen Funktion angepasst.
Aktualisiert (11.12.): Habe einen Test eingebaut, ob Net::Telnet als Modul vorhanden ist. Vielleicht kann ja mal einer testen, der Net::Telnet noch nicht installiert hat.
Aktualisiert II (11.12.): Für alle die nicht an das Gute im Menschen glauben, habe ich das Hinterlegen des FritzBox Passwortes für die Telnet-Kommunikation geändert. Über die FHEM Oberfläche ist mit einem Aufruf in der Kommandozeile von {encode_base64("FritzBox Passwort")} die zu nutzende kodierte Zeichenkette zu generieren. Diese Zeichenkette ist dann im Attribut zu hinterlegen.
Aktualisiert III (11.12.): Ich habe jetzt noch die Password File Logik aus 72_FRITZBOX.pm übernommen. Wenn attr pwdFile definiert ist, dann wird das Passwort aus dem File genommen, ansonsten wird versucht es aus attr fritz-box-password zu nehmen.
Aktualisiert (12.12.): command.ref gepflegt
Genial, hat mich schon immer genervt das Telefonbuch zu exportieren.
Könntest du dich mal an Markus Bloch wenden und ihn fragen ob er deine Änderungen in die offizielle Version von 72_FB_CALLMONITOR übernimmt?
Schön, dass sich mal jemand dieser Sache angenommen hat. Vielen Dank dafür. Werde es direkt einbauen und testen.
Ich fände es auch sinnvoll, wenn es nach einer erfolgreichen Testphase in das offizielle Modul übernommen werden würde.
Tolle Sache, aber könnte das umbauen, damit das Telefonbuch über Web geholt wird?
Telnet geht bei mit nicht, KD Box
Nachtrag: Installation, Konfiguration und erster Test hat prima geklappt.
Auf Raspberry Pi & Co. wird das Perl-Telnetmodul mit
sudo apt-get install libnet-telnet-perl
installiert und zwar bevor man die angehängte 72_FB_CALLMONITOR.pm einspielt. Andernfalls lässt sie sich nicht laden.
Um ein eventuelles Missverständnis zu vermeiden:
Diese Erweiterung gleicht Nummern nicht "live" mit der Fritzbox ab, sondern importiert beim Fhem-Start einmal das aktuelle Telefonbuch von der Fritzbox (was man bislang manuell machen musste).
Um aktuell zu bleiben, sollte man diesen Import regelmäßig wiederholen, beispielsweise mit einem at wie diesem:
define FB_Phonebook_Update at *00:15:00 set <Fritz-Box-Device> rereadPhonebook
Vielleicht helfen diese zusätzlichen Infos dem einen oder anderen.
Mit welchem user wird das gemacht?
Auf meine Fritzbox kommt man per telnet nur mit user/password.
Gruß
Carlos
Zitat von: carlos am 11 Dezember 2014, 11:16:42
Mit welchem user wird das gemacht?
Auf meine Fritzbox kommt man per telnet nur mit user/password.
Dann schreibst Du den username in das Attribut
fritz-box-user rein.
ist das Modul bei einem heutigen Update aktuell..?
Ich habe das Problem sobald ich die attr setze aus dem 1.Post das ich folgende Fehlermeldung bekomme
ZitatFritz_Box: unknown attribute fritz-box-remote. Type 'attr Fritz_Box ?' for a detailed list.
Fritz_Box: unknown attribute fritz-box-password. Type 'attr Fritz_Box ?' for a detailed list.
Zitat von: moonsorrox am 11 Dezember 2014, 14:27:21
ist das Modul bei einem heutigen Update aktuell..?
Den erweiterten Callmonitor kannst Du im ersten Post dieses Threads herunterladen und dann manuell einspielen.
Im Update ist diese Version nicht und wird sie vorläufig auch nicht kommen.
Zitat von: JoWiemann am 10 Dezember 2014, 18:45:31
attr <callmonitor> fritz-box-remote true
geht doch eigentlich auch z.B. durch
unless (-X <phonebook/datei>) {..}
Zitat von: tupol am 11 Dezember 2014, 17:11:16
geht doch eigentlich auch z.B. durch
unless (-X <phonebook/datei>) {..}
Ich wollte nicht auf <phonebook/datei> prüfen, da weiterhin darüber der Default-Pfad/Datei zur /var/flash/phonebook auf der Fritzbox überschrieben werden kann. Man weiß ja nie, was sich AVM so ausdenkt.
Grüße Jörg
Zitat von: JoWiemann am 10 Dezember 2014, 18:45:31
Aktualisiert II (11.12.): Für alle die nicht an das Gute im Menschen glauben, habe ich das Hinterlegen des FritzBox Passwortes für die Telnet-Kommunikation geändert. Über die FHEM Oberfläche ist mit einem Aufruf in der Kommandozeile von {encode_base64("FritzBox Passwort")} die zu nutzende kodierte Zeichenkette zu generieren. Diese Zeichenkette ist dann im Attribut zu hinterlegen.
ich glaube das dieses aber nicht mit Sonderzeichen funktioniert, oder täusche ich mich da..?
EDIT:// also das geht dann mit dieser Variante nicht, wer ein Sonderzeichen im Passwort haben sollte, geht mit putty auf sein RasPi oder Cubie loggt sich ein und gibt folgendes ein:
echo -n user:passwort | base64
oder eben nur Passwort und hinterlegt die Zeichenkette dann als Passwort
Hallo zusammen,
ich habe heute auch den neuen CallMonitor installiert. Aber irgenwie komme ich nicht klar! Im log steht:
2014.12.11 20:04:20 3: FB_CALLMONITOR (FB7390) - Getting phonebook from FritzBox: /var/flash/phonebook
2014.12.11 20:04:20 2: FB_CALLMONITOR (FB7390) - found FritzBox phonebook over Telnet
2014.12.11 20:04:20 2: FB_CALLMONITOR (FB7390) - read 2 contacts from FritzBox phonebook
Sollte eigentlich funzen. Aber er findet nur zwei Kontakte? Kann das sein, dass der CallMonitor nur funzt, wenn das Dingen phonebook heisst? Ich verwalte mehrere Telefonbücher auf der Fritte und die haben unterschiedliche Namen. kann man das im Callmonitor einstellen, oder habe ich einen anderen Fehler
Spartacus
Zitat von: Spartacus am 11 Dezember 2014, 20:17:58
Sollte eigentlich funzen. Aber er findet nur zwei Kontakte? Kann das sein, dass der CallMonitor nur funzt, wenn das Dingen phonebook heisst? Ich verwalte mehrere Telefonbücher auf der Fritte und die haben unterschiedliche Namen. kann man das im Callmonitor einstellen, oder habe ich einen anderen Fehler
Hallo Spartacus,
wenn Du Dich mit Telnet auf der FB einlogst, dann findest Du unter /var/flash nur das phonebook. Im phonebook sind für die einzelnen Telefonbücher entsprechende XML-Tags vorhanden. Ich weiß jetzt nicht, wie der Callmonitor damit umgeht, da ich per Telnet auch nur das phonebook hole und dann in die bisherige Verarbeitungslogig übergebe.
Grüße Jörg
Hallo Jörg,
danke für die Info. Auf der Fritte finde ich zwar das phonebook, da scheint aber nix drin zu stehen (vi phonebook ist leer)! Wohin kopierst Du das?
Christian
Zitat von: Spartacus am 11 Dezember 2014, 20:54:29
Wohin kopierst Du das?
Hallo Christian,
ich setze folgenden Befehl über Telnet ab: @FBPhoneBook = $telnet->cmd(String => 'cat /var/flash/phonebook');
Damit wird der Inhalt des phonebook in den Skalar @FBPhoneBook übertragen. Wenn ich bei mir ein weiteres Telefonbuch einrichte, dann finde ich die Datensätze mit dem XML-Tag <phonebook name="Telefonbuch">, dass den Namen des Telefonbuch beinhaltet. Ich habe nun mein Telefonbuch in der FritzBox in ein neues kopiert und im Callmonitor ein rereadPhonebook gemacht. Der Callmonitor erkennt identische Einträge und von daher hat sich bei mir die Anzahl der gefundenen Einträge nicht erhöht. Ein weitere unterschiedlicher Eintrag in einem der beiden Telefonbücher führt auch im Callmonitor zu einer Liste, die einen Eintrag länger ist.
Grüße Jörg
Hallo,
danke für den Test. Ich habe allerdings verschwiegen, dass ich mein Fritzbox Telefonbuch mit google synchronisiere. Es scheint offenbar in der Fritte anders verwaltet zu werden. Denn wenn ich auf der Fritte
cat /var/flash/phonebook
aufrufe, dann sehe ich nur die internen Rufnummern und zwei Quickdail-Nummern von AVM. Das sind die beiden kontakte, die gelesen werden. Es gibt keinen Verweis auf das Google-Telefonbuch...mus also irgendwo anders gespeichert werden...
Schade!
Gruß,
Christian.
Hallo Christian,
die "externen" Telefonbücher 1&1, Google usw. befinden sich nur im Speicher der FritzBox und werden nicht physisch abgelegt. Von daher müsste der Callmonitor das Telefonbuch von 1&1, Google usw. holen. Von Google geht das übrigens mit den Contact Conversion Wizard http://software.nv-systems.net/ccw (http://software.nv-systems.net/ccw)
Grüße Jörg
Hi Jörg,
den Contact Wizard kenne ich, aber dann muss ich das regelmäßig zu Fuß anstoßen. Ich hatte die Hoffnung, dass die Fritte das Buch irgendwo ablegt. Schade!
Trotzdem vielen Dank für Deinen Support,
Christian.
Hallo zusammen,
anbei einmal eine "halboffizielle" Version von mir, welche die Funktion von Jörg integriert hat um ein Telefonbuch via Telnet einzulesen.
Wieso ich diese Version noch nicht eingecheckt habe liegt darin, dass das Passwort momentan nur mit Base64 unkenntlich gemacht wird, was bei einem evtl. posten von Config oder "list <name>"-Outputs jeder versierte Mensch sofort entschlüsseln und sichtbar machen kann. Um das zu verhindern ist die Idee, das Passwort mit der Unique-ID eines jeden FHEM Systems (durch fheminfo) verschlüsselt in FHEM zu speichern (in der fhem.cfg oder configDb). Diese unique-ID ist nur dem Besitzer selbst bekannt und taucht auch in keinen Outputs auf, da sie in einem separaten File gespeichert ist. Man kann dann dieses Passwort nicht ohne "kriminelle Energie" in Erfahrung bringen. Alternativ kann man das Passwort nachwievor auch als Datei ablegen und in FB_CALLMONITOR via Attribut entsprechend angeben.
Hierfür sind allerdings noch ein paar Sachen notwendig, bevor dieses Verfahren so benutzt werden kann. Erst wenn diese umgesetzt sind, kann ich dieses Verfahren entsprechend für das FritzBox Passwort einbauen und dann diese Version offiziell aufnehmen. Bis dahin müsst ihr euch leider gedulden.
Benutzung des angehangenen Moduls:
Zur Benutzung der Telnet-Funktion sind folgende Attribute notwendig
- fritzbox-remote-phonebook auf 1 stellen
- fritzbox-user konfigurieren (sofern die Konfiguration der FritzBox ein Username via Telnet erfordert)
- fritzbox-password direkt mit Passwort setzen (wird sofort unkenntlich gemacht) oder als Dateipfad mit "file:" vorneweg konfigurieren (z.B. "file:/tmp/mypassword.txt"). Die Datei muss existieren und lesenden Zugriff für FHEM ermöglichen.
Viele Grüße
Markus
Update: Parameter für Python und ermitteln der benötigten attr im Script
Update: file: wird nun unterstützt
Update: Wichtigen Hinweis in der Installation der gdata-2.0.12.tar.gz vergessen -> Installationsablauf
Update: Im Python Script werden jetzt Fehler behandelt, sowie Ereignisse, wenn möglich in das FHEM-Log geschrieben
Hallo,
basierend auf der im letzten Post bereitgestellten FB_CALLMONITOR.pm habe ich nun versucht auch die Google Kontakte zugänglich zu machen. Leider habe ich es bisher nicht geschafft das unter Perl zu verwirklichen, so dass ich erst einmal auf Python umgestiegen bin. Ein großer Teil beruht auf http://www.voiptoday.org/index.php?option=com_content&view=article&id=748:7-steps-to-sync-google-contacts-with-asterisk&catid=50&Itemid=244 (http://www.voiptoday.org/index.php?option=com_content&view=article&id=748:7-steps-to-sync-google-contacts-with-asterisk&catid=50&Itemid=244). Das Python-Script habe ich nur modifizieren müssen, damit es auf des Logik des CACHE passt. Leider ist das Ganze nicht ganz so trivial (Einfach FB_CALLMONITOR nutzen), ich hoffe aber, dass die Anleitung ausreichend ist.
Zunächst müssen Python-Module nachinstalliert werden:
sudo apt-get install python-openssl
sudo apt-get install python-lxml
wget http://gdata-python-client.googlecode.com/files/gdata-2.0.12.tar.gz
Jetzt bitte in das Verzeichnis gdata-2.0.12/src/gdata wechseln und dort die Datei service.py durch die im Anhang befindliche ersetzen.
( In der Datei ist die Zeile 1088 so angepasst, dass der https request funktioniert)
cd gdata-2.0.12
sudo python setup.py install
WICHTIG
Es muss auf jeden Fall unter: https://www.google.com/settings/security/lesssecureapps (https://www.google.com/settings/security/lesssecureapps) der "Zugriff für weniger sichere Apps" aktiviert werden, da ansonsten die Anmeldung nicht funktioniert.
Das Python-Script googlecontacts.py am Besten nach FHEM kopieren. Das Script wird dann aufgerufen mit:
python /Pfad/googlecontacts.py <Pfad_zur_fhem.pl> <Name des Callmonitors>
Für das Python-Script kann man nun einen Eintrag in der crontab machen, so dass es einmal am Tag aktualisiert wird.
crontab -e
Mein Eintrag in der crontab sieht dann so aus
0 1 * * * python /opt/fhem/FHEM/FhemUtils/googlecontacts.py /opt/fhem my_callmonitor
Damit wird das Script einmal am Tag um 01:00 aufgerufen.
In der fhem.cfg sind für den FB_CALLMONITOR folgende neue Attribute hin zugekommen:
attr my_callmonitor google-contacts-cache 1
attr my_callmonitor google-contacts-password # Wird genauso generiert, wie für die Fritzbox beschrieben. <file:> wird unterstützt
attr my_callmonitor google-contacts-mail email@gmail.de # Dieses Attr wird nur für das Python-Script benötigt
attr my_callmonitor google-contacts-file Pfad/Datei
Viel Spaß Jörg
Frage zu einem Fehler den ich bekomme
2014.12.19 16:29:41 3: FB_CALLMONITOR (Fritz_Box) - Error Connecting to FritzBox: Net::Telnet=GLOB(0x35e7b10)->errmsg
was kann ich da machen..?
Hallo,
ist Telnet auf der FritzBox aktiviert?
Ist die richtige IP eingetragen?
Kommst du mit Putty auf die FritzBox?
Grüße Jörg
Telnet ist aktiviert auf der Fritzbox.
Die richtige IP ist auch eingetragen.
Habe mich bisher nicht mit putty eingeloggt, wenn ich in putty die IP eingebe kommt gleich der Fehler "Network error: Connection refused"
Warum er die Verbindung ablehnt weiß ich nicht, hatte ich bisher nicht gebraucht, deshalb sicher auch der Fehler in Fhem.
Äh, war mein Fehler hatte mit SSh probiert, aber mit Telnet gehts natürlich..!
Hallo zusammen,
da die entsprechenden Voraussetzungen nun durch Rudi geschaffen wurde, würde ich den aktuellen Stand inkl. Remote-Funktion gerne einchecken. Allerdings würde es hier nochmal eine kleine Änderung bezüglich des Passwortes geben.
Es gäbe hier 2 Möglichkeiten.
1. Das Passwort wird via "set <name> password <xxxxx>" einmalig gesetzt (sofern die remote-Funktion benutzt wird) und unter FHEM/FhemUtils/uniqueId in Listenform abgespeichert (diese Datei wurde nun für die Allgemeinheit aufgebohrt um Daten separiert abzulegen. Wenn man also die remote-Funktion aktiviert, wird dieser set-Befehl freigeschaltet, und man muss einmal das Passwort setzen. Das Passwort ist pro Definition zu setzen.
2. Das Passwort wird via Attribut (wie bisher) gesetzt, das Passwort wird aber in FHEM/FhemUtils/uniqueId abgespeichert. In FHEM wird das Attribut aber nicht angezeigt bzw. gesetzt (wegen fhem.cfg beim starten). Es kommt beim setzen des Passwortes via Attribut direkt eine Meldung, ob das Passwort OK ist oder nicht.
Was meint ihr?
Viele Grüße
Markus
Markus,
wäre es hier vielleicht sinnvoll, das mit der Vorgehensweise im Modul FRITZBOX einheitlich zu machen (Thread zum Modul (http://forum.fhem.de/index.php/topic,29725.0.html))?
Peter
Da wird es sich ja jetzt auch ändern. Ich kann mal tupol fragen, wie er es genau ändern will.
Hallo zusammen,
ich habe nun die neue Version eingecheckt. Das Passwort wird nun via set-Kommando "set <name> password <XXX>" gesetzt. Dieses Kommando ist in der Oberfläche nur verfügbar, wenn bisher kein Passwort gesetzt wurde, oder das aktuell gesetzte Passwort von der FritzBox abgelehnt wird. Das Passwort wird dabei in unleserlicher Form im Modulverzeichnis unter FhemUtils/uniqueID abgelegt.
ACHTUNG: Auch wenn das Passwort nicht in Klartextform dort zu sehen ist, sollte man sich dennoch bewusst sein, das es sich um eine Datei mit einem Passwort handelt und sollte diese entsprechend gegen unbefugten Zugriff schützen.
Nachwievor muss das Attribut "fritzbox-remote-phonebook" aktiviert sein, damit dieses Feature genutzt werden kann und bei Bedarf auch "fritzbox-user". Den Algorithmus von Jörg zur Abfrage des Telefonbuchs habe ich nochmal etwas robuster gemacht gegen Fehlerfälle (falsches Passwort, fehlender Username, usw.).
Viel Spaß damit und Guten Rutsch morgen.
Viele Grüße
Markus
Nabend,
habe heute seit längerem mal wieder ein Update gemacht und bekomme nun folgende Fehlermeldung:
2015.01.03 21:41:05.939 2: FB_CALLMONITOR (FritzBox) - could not read FritzBox phonebook file - Error on reading /opt/fhem/FHEM/log/FritzBox_Telefonbuch.xml from database!
2015.01.03 21:41:05.940 3: Could not read FritzBox phonebook file - Error on reading /opt/fhem/FHEM/log/FritzBox_Telefonbuch.xml from database!
2015.01.03 21:41:07.226 1: configDB: Could not read FritzBox phonebook file - Error on reading /opt/fhem/FHEM/log/FritzBox_Telefonbuch.xml from database!
Die Datei "/opt/fhem/FHEM/log/FritzBox_Telefonbuch.xml" ist vorhanden. Es liegt aber anscheinend irgendwie an configDB.
Kennst das Problem jamand?
Vielen Dank.
ich meine es sollte hier "/opt/fhem/log" liegen...
bei mir zumindest liegt es hier
Zitat von: moonsorrox am 04 Januar 2015, 02:00:50
ich meine es sollte hier "/opt/fhem/log" liegen...
bei mir zumindest liegt es hier
Ich habe gedacht das kann man in den Attributen
reverse-search-cache-file /opt/fhem/FHEM/log/FritzBox_Cache.txt
reverse-search-phonebook-file /opt/fhem/FHEM/log/FritzBox_Telefonbuch.xml
angeben
Zitat von: dancatt am 04 Januar 2015, 00:05:02
2015.01.03 21:41:07.226 1: configDB: Could not read FritzBox phonebook file - Error on reading /opt/fhem/FHEM/log/FritzBox_Telefonbuch.xml from database!
Die Datei "/opt/fhem/FHEM/log/FritzBox_Telefonbuch.xml" ist vorhanden. Es liegt aber anscheinend irgendwie an configDB.
Das Problem ist die Sub FileRead(), mit der die XML eingelesen wird. Bei aktivierter config.db wird versuch die Datei in die SQL-Datenbank einzulesen. Das läuft dann auf einen Fehler.
@Markus: Am Besten den FileRead-Aufruf in "sub FB_CALLMONITOR_readPhonebook($;$$)" ersetzen durch
($err, @lines) = FileRead({FileName=>$phonebook_file, ForceType=>"file"} );
und in "sub FB_CALLMONITOR_readPassword($)"
my ($err, @pwd) = FileRead({FileName=>$1, ForceType=>"file"} );
Grüße Jörg
Zitat von: JoWiemann am 04 Januar 2015, 19:57:52
Das Problem ist die Sub FileRead(), mit der die XML eingelesen wird. Bei aktivierter config.db wird versuch die Datei in die SQL-Datenbank einzulesen. Das läuft dann auf einen Fehler.
Falsch.
Nicht das Lesen aus der configDB läuft in einen Fehler, sondern die Auswertung von $err im Modul FB_Callmonitor.
Das Lesen der phonebook.xml aus der configDB funktioniert grundsätzlich problemlos, denn die Dateifunktionen FileRead() und FileWrite() sind generisch in der fhem.pl impementiert und man muss sich beim Lesen überhaupt nicht darum kümmern, ob der Anwender mit configDB oder fhem.cfg arbeitet.
Offenbar hat der Modulautor den grundlegenden Unterschied zwischen
if(defined($err))
und
if($err)
entweder nicht verinnerlicht oder nicht berücksichtigt und sollte diese Fehlerstelle baldmöglichst beseitigen.
ABER:Ich habe mich jetzt - abgesehen von dieser Fehlersuche - nicht weiter mit dem Modul beschäftigt. Es sollte auf jeden Fall dafür gesorgt werden, dass eine neue gelesene phonebook.xml bei Einsatz der configDB auch automatisch in die Konfigurationsdatenbank geschrieben wird und eben NICHT ins Dateisystem! Dafür habe ich im Modul so spontan keine Ansatzpunkte gefunden.
Zitat von: betateilchen am 05 Januar 2015, 00:15:33
Es sollte auf jeden Fall dafür gesorgt werden, dass eine neue gelesene phonebook.xml bei Einsatz der configDB auch automatisch in die Konfigurationsdatenbank geschrieben wird und eben NICHT ins Dateisystem! Dafür habe ich im Modul so spontan keine Ansatzpunkte gefunden.
Stimmt, weil:
1. die phonebook.xml bei einer Fhem-Installation auf der FritzBox direkt von dort gelesen wird, da es sich um eine Datei aus dem FritzBox System handelt.
2. Das Telefonbuch als phonebook.xml über die FritzBox Oberfläche exportiert werden kann und dann für Fhem-Instaltionen, die nicht auf der FritzBox laufen zur Verfügung steht. (Muss dann halt manuell nach Fhem kopiert werden)
3. Über Telnet die phonebook.xml direkt von der FritzBox abgeholt werden kann und sich dann in einer Variablen des Moduls befindet
@Markus: Würdest Du bitte den von betateilchen angemerkten Fehler korrigieren. Danke Dir
Eine Frage mal zum einlesen, einmal des phonebooks und einmal der Fritz_Box_Telefonbuch.xml
Ist das nicht eigentlich beides mal das selbe..? Er liest ja z.B. bei mir jetzt 34 Kontakte ein
Ich hänge mal die Logfiles an
2015.01.05 15:11:40 2: FB_CALLMONITOR (FB7390) - read 34 contacts from ./log/Fritz_Box_Telefonbuch.xml
2015.01.05 15:11:40 2: FB_CALLMONITOR (FB7390) - found FritzBox phonebook ./log/Fritz_Box_Telefonbuch.xml
2015.01.05 15:11:40 2: FB_CALLMONITOR (FB7390) - read 34 contacts from remote phonebook via telnet
2015.01.05 15:11:40 2: FB_CALLMONITOR (FB7390) - found remote FritzBox phonebook via telnet
2015.01.05 15:11:40 3: FB_CALLMONITOR (FB7390) - Getting phonebook from FritzBox: /var/flash/phonebook
2015.01.05 15:11:39 2: FB_CALLMONITOR (FB7390) - read 1 contact from Cache
2015.01.05 15:11:39 3: FB_CALLMONITOR (FB7390) - loading cache file /opt/fhem/callmoncache.txt
2015.01.05 15:11:39 2: FB_CALLMONITOR (FB7390) - read 34 contacts from remote phonebook via telnet
2015.01.05 15:11:39 2: FB_CALLMONITOR (FB7390) - found remote FritzBox phonebook via telnet
2015.01.05 15:11:39 3: FB_CALLMONITOR (FB7390) - Getting phonebook from FritzBox: /var/flash/phonebook
2015.01.05 15:11:38 2: FB_CALLMONITOR (FB7390) - read 34 contacts from remote phonebook via telnet
2015.01.05 15:11:38 2: FB_CALLMONITOR (FB7390) - found remote FritzBox phonebook via telnet
2015.01.05 15:11:38 3: FB_CALLMONITOR (FB7390) - Getting phonebook from FritzBox: /var/flash/phonebook
2015.01.05 15:11:38 3: FB7390 device opened
Ich habe die Telnet-Funktion eingebaut um nicht immer über die FritzBox Web-Oberfläche erst mein Telefonbuch zu exportieren, nach Fhem zu kopieren und dann neu einlesen zu müssen. Mit Telnet hole ich das phonebook.xml, so heißt die Systemdatei auf der FritzBox in der die Telefonbücher gespeichert werden, direkt in den CallMonitor. Über einen Cron lasse ich mir das Telefonbuch einmal am Tag neu holen. Damit erhalte ich immer einmal am Tag auch meine Neueinträge im FritzBox Telefonbuch.
Was noch schick wäre ist, wenn der CallMonitor eine Nummer über die Rückwärtssuche auflöst, die noch nicht im FB Telefonbuch vorhanden ist und diese dann auf der FB ergänzen könnte. Damit hätten dann meine an der FB hängenden DECT Telefone diese automatisch zur Verfügung.
Grüße Jörg
Hallo zusammen,
ich habe den Anrufmonitor wie ihr beschrieben habt eingebaut, leider hab ich im LOG eine Fehlermeldung:
FB_CALLMONITOR (Anrufmonitor) - could not read remote FritzBox phonebook file - Couldn't recognize login prompt: pattern match timed-out
stehen...kann mir da jemand weiterhelfen? (die 72_FB_CALLMONITOR.pm ist aus dem Post Nr. #19 http://forum.fhem.de/index.php/topic,30244.msg231101.html#msg231101)
Viele Danke!
Gruß
FloZi
Hallo FloZi,
die Funktionalität ist bereits in der aktuellen devel-Version von FHEM enthalten. Mit dem Befehl "update" erhälst du die aktuellste Version.
Viele Grüße
Markus
Hallo,
in meiner Anrufliste erscheint als Name immer "unknown".
Auszug aus der Log-Datei:
2015.01.11 10:38:08 3: Fritz device opened
2015.01.11 10:38:10 3: FB_CALLMONITOR (Fritz) - Getting phonebook from FritzBox: /var/flash/phonebook
2015.01.11 10:38:10 2: FB_CALLMONITOR (Fritz) - found remote FritzBox phonebook via telnet
2015.01.11 10:38:10 2: FB_CALLMONITOR (Fritz) - read 26 contacts from remote phonebook via telnet
2015.01.11 10:38:10 2: FB_CALLMONITOR (Fritz) - found FritzBox phonebook /opt/fhem/log/FritzBox_Telefonbuch.xml
2015.01.11 10:38:10 2: FB_CALLMONITOR (Fritz) - read 26 contacts from /opt/fhem/log/FritzBox_Telefonbuch.xml
Die beiden letzten Zeilen erscheinen erst seit dem Zeitpunkt als ich die Datei aus der Fritz gespeichert und in das Logverzeichnis kopiert habe.
Trotzdem keine Anzeige das Namens. Was hab ich falsch gemacht?
Gruß
Bert
Hallo Bert,
für mal bitte ein "list Fritz" in der FHEM Befehlszeile aus und schau mal bitte nach, ob in dem Output die entsprechende Nummer auftaucht.
Viele Grüße
Markus
Ja, meine Nr. erscheint external_number 017xxxxxx
auch die importierten Namen stehen unter Phonebook:
017xxxxxx Bert Handy
auch die anderen 25 Namen.
Das sagt der Eventmonitor
2015-01-11 23:26:28 FB_CALLMONITOR Fritz event: ring
2015-01-11 23:26:28 FB_CALLMONITOR Fritz direction: incoming
2015-01-11 23:26:28 FB_CALLMONITOR Fritz external_name: unknown
2015-01-11 23:26:28 FB_CALLMONITOR Fritz external_number: 017xxxxxxx
2015-01-11 23:26:28 FB_CALLMONITOR Fritz external_connection: SIP3
2015-01-11 23:26:28 FB_CALLMONITOR Fritz internal_number: 0623xxxxx
2015-01-11 23:26:28 FB_CALLMONITOR Fritz call_id: 0
2015-01-11 23:26:32 TM CallMon E0: 00:00
2015-01-11 23:26:32 TM CallMon A0: incoming_noconnect
2015-01-11 23:26:32 FB_CALLMONITOR Fritz event: disconnect
2015-01-11 23:26:32 FB_CALLMONITOR Fritz external_name: unknown
2015-01-11 23:26:32 FB_CALLMONITOR Fritz missed_call_line: 0623xxxxx
2015-01-11 23:26:32 FB_CALLMONITOR Fritz external_number: 017xxxxx
2015-01-11 23:26:32 FB_CALLMONITOR Fritz internal_number: 0623xxxxx
2015-01-11 23:26:32 FB_CALLMONITOR Fritz call_duration: 0
2015-01-11 23:26:32 FB_CALLMONITOR Fritz direction: incoming
2015-01-11 23:26:32 FB_CALLMONITOR Fritz missed_call: 017xxxxxx
2015-01-11 23:26:32 FB_CALLMONITOR Fritz external_connection: SIP3
2015-01-11 23:26:32 FB_CALLMONITOR Fritz call_id: 0
zeig mir mal bitte deine Attribute zu deiner Fritz Definition
Sorry, hab grad alles gelöscht, und machs neu. Da waren noch Reste von der 72_Fritzbox mit vermischt. Im Eventlog ist mir das aufgefallen. Auch 99_my utilsTM hat noch mitgemacht.
Danke aber trotzdem für die Hilfe
Erfolgsmeldung:
Alles alte gelöscht, nach Wiki neu gemacht, funktioniert.
Danke
Zitat von: Markus Bloch am 11 Januar 2015, 16:57:01
Hallo FloZi,
die Funktionalität ist bereits in der aktuellen devel-Version von FHEM enthalten. Mit dem Befehl "update" erhälst du die aktuellste Version.
Viele Grüße
Markus
Mh, komisch, ich erhalte auch noch weiterhin diesen Fehler.
ZitatFB_CALLMONITOR (Anrufmonitor) - could not read remote FritzBox phonebook file - Couldn't recognize login prompt: pattern match timed-out
Wenn ich Zeile 861 der 72_FB_CALLMONITOR.pm richtig deute, wird hier auf ein Login oder Passwort gewartet um dann den Usernamen einzugeben. Bei mir lautet der Text, nach einem Login per telnet, aber:
Fritz!Box user:
Danach das "password: " passt dann wieder. Könntest du das dahingehen nochmal erweitern?
Ausserdem bilde ich mir beim Durchschauen der Codezeilen - mit meinen rudimentären Perlkenntnissen - ein, das nach der Übermittlung des Benutzernamen das Kennwort gar nicht übermittelt wird. Da fehlt doch irgendwo nach Zeile 872 noch das print auf den fp_pw, oder nicht?
Hallo,
Bei mir ist das schon die ganze Zeit so, immer dieser Fehler:
unable to check password - Could'nt recognize shell prompt: pattern match timed-out
Die letzte Version ist 72_FB_CALLMONITOR.pm 7456 und mit der geht's definitiv nicht.
Darauf hin habe ich mir mal die FB_CALLMONITOR_readRemotePhonebook angeschaut und so abgeändert:
...........
my ($prematch, $match) = $telnet->waitfor('/(?:user|password):\s*$/i');
unless(defined($prematch) and defined($match))
{
$telnet->close;
return "Couldn't recognize login prompt: ".$telnet->errmsg;
}
if($match =~ /user/ and defined($fb_user))
{
Log3 $name, 4, "FB_CALLMONITOR ($name) - setting user to FritzBox: $fb_user";
$telnet->print($fb_user);
unless($telnet->waitfor('/password:\s*$/i'))
{
$telnet->close;
return "Error giving password to FritzBox: ".$telnet->errmsg;
}
}
elsif($match =~ /user/ and not defined($fb_user))
{
$telnet->close;
return "FritzBox needs a username to login via telnet. Please provide a valid username/password combination";
}
elsif($match =~ /password/)
{
Log3 $name, 4, "FB_CALLMONITOR ($name) - giving password to FritzBox";
$telnet->print($fb_pw);
}
unless($telnet->waitfor('/# $/i')) # '/# $/i' '/#\s*$/i'
{
$telnet->close;
my $err = $telnet->errmsg;
$hash->{helper}{PWD_NEEDED} = 1;
return "wrong password, please provide the right password" if($err =~ /\s*eof/i);
return "Could'nt recognize shell prompt: $err";
}
Log3 $name, 4, "FB_CALLMONITOR ($name) - requesting $phonebook_file via telnet";
my $command = "cat ".$phonebook_file;
my @FBPhoneBook = $telnet->cmd($command);
unless(@FBPhoneBook)
{
$telnet->close;
return "Error getting phonebook FritzBox: ".$telnet->errmsg;
}
else
{
Log3 $name, 3, "FB_CALLMONITOR ($name) - Getting phonebook from FritzBox: $phonebook_file";
}
$telnet->print('exit');
$telnet->close;
delete($hash->{helper}{PWD_NEEDED}) if(exists($hash->{helper}{PWD_NEEDED}));
return (undef, join('', @FBPhoneBook));
Darauf hin kommt er laut log soweit:
2015.01.17 10:51:29 4: FB_CALLMONITOR (my_callmonitor) - setting user to FritzBox: fhem
2015.01.17 10:51:28 4: FB_CALLMONITOR (my_callmonitor) - connected to FritzBox via telnet
Also user ok, passwort auch ok, fehler liegt wohl beim prompt.
Der ist aber bei mir #, sollte also ok sein.
Werde weiter suchen.
Gruß
Carlos
Hallo zusammen,
ich habe ein Update in SVN eingecheckt, welches auch "user:" als login-Prompt erkennt.
http://sourceforge.net/p/fhem/code/HEAD/tree//trunk/fhem/FHEM/72_FB_CALLMONITOR.pm?format=raw
Bitte testet mal, ob es bei euch damit sauber läuft.
Vielen Dank
Gruß
Markus
Zitat von: Markus Bloch am 17 Januar 2015, 11:27:13
Hallo zusammen,
ich habe ein Update in SVN eingecheckt, welches auch "user:" als login-Prompt erkennt.
http://sourceforge.net/p/fhem/code/HEAD/tree//trunk/fhem/FHEM/72_FB_CALLMONITOR.pm?format=raw
Bitte testet mal, ob es bei euch damit sauber läuft.
Vielen Dank
Gruß
Markus
password successfully saved
Läuft, danke.
Hi Markus,
danke! login funktioniert, nur während fhem start gibts ein (temporäres) Problem:
2015.01.20 11:04:06 3: myCallMonitor device opened
2015.01.20 11:04:07 2: FB_CALLMONITOR (myCallMonitor) - could not read remote FritzBox phonebook file - FritzBox needs a username to login via telnet. Please provide a valid username/password combination
2015.01.20 11:04:07 3: Could not read remote FritzBox phonebook file - FritzBox needs a username to login via telnet. Please provide a valid username/password combination
2015.01.20 11:04:07 2: FB_CALLMONITOR (myCallMonitor) - found remote FritzBox phonebook via telnet
2015.01.20 11:04:08 2: FB_CALLMONITOR (myCallMonitor) - read 100 contacts from remote phonebook via telnet
.....
.....
2015.01.20 11:04:24 2: Error messages while initializing FHEM: configfile: Could not read remote FritzBox phonebook file - FritzBox needs a username to login via telnet. Please provide a valid username/password combination
2015.01.20 11:04:24 0: Server started with 196 defined entities (version $Id: fhem.pl 7609 2015-01-17 21:37:05Z rudolfkoenig $, os linux, user pi, pid 24276)
username/password ist natürlich definiert, sonst würde es ja um 2015.01.20 11:04:08 auch nicht funktionieren.
Das schaut für mich nach einem Problem mit der Startreihenfolge aus...
l.g. erwin
Hallo Erwin,
habe ich soeben gefixt. Gibt es ab morgen via update.
Viele Grüße
Markus
Hallo Markus,
vielen Dank, funktioniert!!!
Bleibt jetzt noch ein Wunsch:
Nachdem ja mehrere Module das Telnet login verwenden, und ich selbst auch ein wenig betroffen bin (siehe: fhemwiki Anwesenheitserkennung_-_Remote_Fritzbox (http://www.fhemwiki.de/wiki/Anwesenheitserkennung_-_Remote_Fritzbox)
wünsch ich mir eine generische Lösung für login/logout set/get passwort, ähnlich wie bereits in FritzBoxUtils.pm für WEB access vorhanden.
l.g. erwin
Ich bekomme beim einlesen des Telefonbuchs immer folgende Fehlermeldung:
2015.01.23 10:52:43 3: NTFY return: my_callmonitor:Could not read FritzBox phonebook file - Can't open /opt/fhem/log/Fritz_Box_Telefonbuch.xml: No such file or directory
2015.01.23 10:52:43 2: FB_CALLMONITOR (my_callmonitor) - could not read FritzBox phonebook file - Can't open /opt/fhem/log/Fritz_Box_Telefonbuch.xml: No such file or directory
Meine Einträge in der Fhem.cfg sehen wir folgt aus:
Zitatdefine my_callmonitor FB_CALLMONITOR 192.168.1.1:1012
attr my_callmonitor fritzbox-remote-phonebook true
attr my_callmonitor group Connections
attr my_callmonitor icon phone_call
attr my_callmonitor local-area-code 02204
attr my_callmonitor reverse-search all
attr my_callmonitor reverse-search-cache 1
attr my_callmonitor reverse-search-cache-file /opt/fhem/log/CallmonCache.txt
attr my_callmonitor reverse-search-phonebook-file /opt/fhem/log/Fritz_Box_Telefonbuch.xml
attr my_callmonitor room Telefon
attr my_callmonitor userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 C0 C1 C2 C3 C4 D0 D1 D2 D3 D4 E0 E1 E2 E3 E4
attr my_callmonitor verbose 3
Zitat von: Cybers am 23 Januar 2015, 11:14:07
Meine Einträge in der Fhem.cfg sehen wir folgt aus:
mach das mal so... evtl. liegt es daran :-\
reverse-search-phonebook-file ./log/Fritz_Box_Telefonbuch.xml
Das hatte ich vorher stehen und bringt die gleiche Fehlermeldung.
Welche Rechte liegen auf der Datei. Vlt. darf Fhem ja gar nicht lesen ?!
Grüße Jörg
die Datei befindet sich nicht in dem angegebenen Ordner. Scheinbar wird die Datei nicht von der Fritzbox in das Verzeichnis kopiert.
Woran kann liegen?
Zitat von: Cybers am 23 Januar 2015, 15:23:50
die Datei befindet sich nicht in dem angegebenen Ordner. Scheinbar wird die Datei nicht von der Fritzbox in das Verzeichnis kopiert.
Woran kann liegen?
Hast du denn über das Set password Kommando ein Passwort gesetzt? Ausserdem fehlt, falls du dich auf deiner Fritbox mit einem User einloggst, das Attribut fritzbox-user. Erst NACH dem Setzen des Passwortes mit set password wird übrigens das Telefonbuch ausgelesen und in die von dir angegebene Datei geschrieben. Die Fehlermeldung ist beim ersten Einrichten des Defines also "richtig". War bei mir auch so.
das hatte ich so gemacht:
set my_callmonitor password 1234567
Habe es gerade noch einmal gemacht, bekomme aber dann diese Meldung:
I didn't ask for a password, so go away!!!
Ich weis zwar nicht wie ihr euch das vorstellt, aber hier ein paar Hinweise zur Funktionsweise:
Das Attribut reverse-search-phonebook-file gibt den Pfad zu einem existierenden FritzBox-Telefonbuch an (exportierbar über die FritzBox-Weboberfläche). Der Inhalt dieser Datei wird eingelesen und genutzt um Rufnummern dem entsprechenden Telefonbucheintrag zuzuordnen.
Die Remote-Phonebook Funktionalität (Attribut "fritzbox-remote-phonebook") liest das Telefonbuch direkt von der FritzBox per Netzwerkverbindung ein (Vorraussetzung: Passwort und optional der Username). Die eingelesenen Werte werden NICHT in eine Datei gespeichert, sondern verbleiben nur im RAM.
ZitatDas Attribut reverse-search-phonebook-file gibt den Pfad zu einem existierenden FritzBox-Telefonbuch an (exportierbar über die FritzBox-Weboberfläche). Der Inhalt dieser Datei wird eingelesen und genutzt um Rufnummern dem entsprechenden Telefonbucheintrag zuzuordnen.
Die Remote-Phonebook Funktionalität (Attribut "fritzbox-remote-phonebook") liest das Telefonbuch direkt von der FritzBox per Netzwerkverbindung ein (Vorraussetzung: Passwort und optional der Username). Die eingelesenen Werte werden NICHT in eine Datei gespeichert, sondern verbleiben nur im RAM.
Ok, das heißt, vom Grundsatz her reicht es eins der beiden Attribute zu setzen. Kann man bei der zweiten Variante (fritzbox-remote-phonebook) irgendwie testen ob Fhem das Telefonbuch eingelesen hat?
Ich habe das Problem, daß die meisten Nummern mit Unbekannt angezeigt werde. Auch bei Nummern die bei Klicktel oder DasÖrtliche gelistet sind.
Zitat von: Cybers am 23 Januar 2015, 18:15:25
Ok, das heißt, vom Grundsatz her reicht es eins der beiden Attribute zu setzen. Kann man bei der zweiten Variante (fritzbox-remote-phonebook) irgendwie testen ob Fhem das Telefonbuch eingelesen hat?
Ich habe das Problem, daß die meisten Nummern mit Unbekannt angezeigt werde. Auch bei Nummern die bei Klicktel oder DasÖrtliche gelistet sind.
Einfach in der FHEM Befehlszeile ein "list <name>" eingeben, dann seht ihr alle Daten, die diese Definition im Speicher hat (inkl. Telefonbuch und Cache).
Sollte die Auflösung via klicktel oder dasoertliche nicht funktionieren, wird eine entsprechende Meldung im Log zu sehen sein. Hast du die aktuellste Version, ich hab vor nicht allzu langer Zeit dieses aktualisiert?
Zitat von: Markus Bloch am 23 Januar 2015, 17:21:56
Ich weis zwar nicht wie ihr euch das vorstellt, aber hier ein paar Hinweise zur Funktionsweise:
Das Attribut reverse-search-phonebook-file gibt den Pfad zu einem existierenden FritzBox-Telefonbuch an (exportierbar über die FritzBox-Weboberfläche). Der Inhalt dieser Datei wird eingelesen und genutzt um Rufnummern dem entsprechenden Telefonbucheintrag zuzuordnen.
Die Remote-Phonebook Funktionalität (Attribut "fritzbox-remote-phonebook") liest das Telefonbuch direkt von der FritzBox per Netzwerkverbindung ein (Vorraussetzung: Passwort und optional der Username). Die eingelesenen Werte werden NICHT in eine Datei gespeichert, sondern verbleiben nur im RAM.
Ok, falsche vorgestellt...wohl :-) Ich dachte, das Telefonbuch wird in der Datei abgespeichert, damit man es von dort dann wieder lesen kann. Würde nur Sinn machen, falls bei einem FHEM Neustart keine Verbindung zur FritzBox bestehen würde, quasi als Backup.
Das mit dem list <name> kannte ich auch noch nicht, cool. Unter Helper: / Cache: sehe ich die von Klicktel o.ä. geholten Nummern und unter Helper: / Phonebook: das Telefonbuch der FritzBox. Cybers, wie sieht das bei dir denn aus?
wenn ich list my_callmonitor
eingebe steht unter Helper das:
Helper:
Cache:
0171XXXXXXX unknown
02202XXXXXX unknown
0221XXXXXXX unknown
Temp:
Da ich fast täglich ein Update mache, sollte ich doch die neueste Version haben, oder nicht.
Nunja, Handynummern werden generell nicht wirklich im Telefonbuch stehen. Für Festnetzrufnummern habe ich es gerade getestet und funktioniert.
Es kann natürlich sein, dass deine Rufnummern bewusst keine Telefonbucheinträge in klicktel/dasörtliche haben, weil sie es nicht wollen. ;-)
im Fall dieser Handynummer ist es meine eigene, und die steht im Telefonbuch. Und zusätzlich im Telefonbuch der Fritzbox. Ich habe es schon bei mehreren Nummern überprüft. Sie stehen im Telefonbuch und viele sogar in der Fritzbox. Irgendwas scheint bei mir nicht zu stimmen.
Zeig mal bitte deine Attribute für deine Callmonitor Definition
define my_callmonitor FB_CALLMONITOR 192.168.1.1:1012
attr my_callmonitor fritzbox-remote-phonebook true
attr my_callmonitor group Connections
attr my_callmonitor icon phone_call
attr my_callmonitor local-area-code 02204
#attr my_callmonitor reverse-search all
attr my_callmonitor reverse-search internal|klicktel.de|dasoertliche.de
attr my_callmonitor reverse-search-cache 1
attr my_callmonitor reverse-search-cache-file /opt/fhem/log/CallmonCache.txt
attr my_callmonitor reverse-search-phonebook-file ./log/Fritz_Box_Telefonbuch.xml
attr my_callmonitor room Telefon
attr my_callmonitor userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 C0 C1 C2 C3 C4 D0 D1 D2 D3 D4 E0 E1 E2 E3 E4
attr my_callmonitor verbose 3
# Logfile der Anrufe (Fritzbox)
define FileLog_my_callmonitor FileLog /opt/fhem/log/my_callmonitor-%Y.log my_callmonitor
attr FileLog_my_callmonitor logtype text
attr FileLog_my_callmonitor room Telefon
Ist denn bei dir im fhem.log evtl. eine Meldung wie:
the reverse search result for 02xxxxxx could not be extracted from klicktel.de. Please contact the FHEM community.
zu sehen?
Folgendes erscheint in meinem Log mit Verbose 5 bei eingehendem Anruf:
2015.01.26 10:13:12 4: HttpUtils http://www1.dasoertliche.de/?form_name=search_inv&ph=0171XXXXXXX: Got data, length: 36282
2015.01.26 10:13:12 4: http://www1.dasoertliche.de/?form_name=search_inv&ph=0171XXXXXXX: HTTP response code 200
2015.01.26 10:13:11 4: HttpUtils url=http://www1.dasoertliche.de/?form_name=search_inv&ph=0171XXXXXXX
2015.01.26 10:13:11 4: HttpUtils http://www.klicktel.de/rueckwaertssuche/0171XXXXXXX: Got data, length: 23723
2015.01.26 10:13:11 4: http://www.klicktel.de/rueckwaertssuche/0171XXXXXXX: HTTP response code 200
2015.01.26 10:13:11 4: HttpUtils url=http://www.klicktel.de/rueckwaertssuche/0171XXXXXXX
Darauf habe ich jetzt verschiedene Nummer bei Klicktel und DasÖrtliche getestet. Viele Nummer sind zwar in den beiden Telefonbüchern eingetragen, d.h. wenn ich nach dem Namen suche ist die Nummer gelistet. Wenn ich allerdings mit den gleichen Nummern eine Rückwärtssuche mache wird kein Eintrag gefunden.
Das erklärt aber noch nicht warum die Suche über das Fritzbox-Telefonbuch nicht klappt.
Zitat von: Cybers am 24 Januar 2015, 11:25:01
wenn ich list my_callmonitor
eingebe steht unter Helper das:
Helper:
Cache:
0171XXXXXXX unknown
02202XXXXXX unknown
0221XXXXXXX unknown
Temp:
Da ich fast täglich ein Update mache, sollte ich doch die neueste Version haben, oder nicht.
Du hast also kein Helper: / Phonebook:? Damit hast du doch dann auch kein ausgelesenes Telefonbuch aus deiner FritzBox, somit kann er doch dann die dort eingetragenen Handynummern nicht finden?
das ist mir schon klar. Die Frage ist halt wo der Fehler liegt.
Zitat von: Cybers am 26 Januar 2015, 12:14:42
das ist mir schon klar. Die Frage ist halt wo der Fehler liegt.
Worauf ich damit nur hinaus wollte, ist doch, das wir uns fragen müssen, wieso dein Telefonbuch aus der FritzBox nicht ausgelesen wird und nicht, wieso die Reverse-Suche nicht funktioniert.
Also scheint es hieran zu klemmen. Denn, soweit ich das verstanden habe, wird das Telefonbuch aus der FritzBox bei dem Setzen des Passwortes mit ausgelesen (und sicher beim Neustarten mit dem zuvor gesetztem Passwort) und, wie ich jetzt gelernt habe, nur im Cache unter Helper: / Phonebook abgelegt.
Zitat von: Cybers am 23 Januar 2015, 16:17:39
das hatte ich so gemacht:
set my_callmonitor password 1234567
Habe es gerade noch einmal gemacht, bekomme aber dann diese Meldung:
I didn't ask for a password, so go away!!!
Setzt doch mal
attr my_callmonitor fritzbox-remote-phonebook true
auf
attr my_callmonitor fritzbox-remote-phonebook 1
Ich glaube nicht, dass true definiert ist.
Grüße Jörg
jetzt scheint es zu laufen. Ich habe aus dem "true" eine "1" gemacht. Danach lief es weitehin nicht. Zusätzlich habe ich dann noch das Telefonbuch der Fritzbox in den Log-Ordner kopiert und das entsprechende Attribut gesetzt. Dann heute noch ein Update gemacht. Danach bekam ich unter "list my_callmonitor" angezeigt, daß kein Passwort für den Telnet-Zugang gesetzt ist (warum auch immer). Also wieder mit "set my_callmonitor password 1234567" das Passwort neu gesetzt. Seit dem liest er jetzt plötzlich das Telefonbuch sowohl per Telnet aus der Fritzbox als auch die kopierte Datei im Log-Verzeichnis.
Habe ich bei mir etwas übersehen?
Could not read remote FritzBox phonebook file - Error loading Net::Telnet. May be this module is not instalLied
Zitat von: Funk.Odyssey am 28 Januar 2015, 21:53:40
Habe ich bei mir etwas übersehen?
Could not read remote FritzBox phonebook file - Error loading Net::Telnet. May be this module is not instalLied
Hast du denn Net::Telnet auf deinem Rechner installiert?
Beim Raspberry-PI geht das so:
sudo apt-get install libnet-telnet-perl
Oops. So etwas doofes. Die Fehlermeldung kam mir auch so bekannt vor. Nun läuft es.
Leider ist die Freude nicht ganz so groß. Es scheint nur das interne Adressbuch ausgelesen zu werden. Ich nutze dort aber ein Google-Adreßbuch. Also habe ich in Fhem beim "list FritzBoxCallMonitor" nur die beiden Beispiel-Einträge "HD-Sprache" und "HD-Musik"
Zitat von: Funk.Odyssey am 28 Januar 2015, 22:41:30
Leider ist die Freude nicht ganz so groß. Es scheint nur das interne Adressbuch ausgelesen zu werden. Ich nutze dort aber ein Google-Adreßbuch. Also habe ich in Fhem beim "list FritzBoxCallMonitor" nur die beiden Beispiel-Einträge "HD-Sprache" und "HD-Musik"
Ich habe Markus eine Version zum Testen gegen, die alle Telefonbücher auslesen kann. Wenn er zufrieden ist, wird es wohl einchecken. Sie auch: http://forum.fhem.de/index.php/topic,32663.msg253172.html#msg253172
Grüße Jörg
Ganz geil!
Welche ist jetzt eigentlich die aktuellste Version von Callmonitor? Die vom ersten Posting hier oder die, die ich mir heute per fhem update geholt habe?
Kopf der Version vom ersten Post hier:
Zitat# $Id: 72_FB_CALLMONITOR.pm 6852 2014-11-01 17:23:29Z markusbloch $
Kopf der Version, die per Update reinkam:
Zitat# $Id: 72_FB_CALLMONITOR.pm 7760 2015-01-28 16:39:34Z markusbloch $
Ich hätte auf Anhieb gesagt, die die per Update installiert wurde - nur die kennt wohl nicht die neuen Attribute wie fritz-box-password und fritz-box-remote.
Welche Version sollte ich mir jetzt installieren?
Grüße,
Michael
Äh sorry, hab's schon entdeckt: http://forum.fhem.de/index.php/topic,30244.msg229313.html#msg229313 (http://forum.fhem.de/index.php/topic,30244.msg229313.html#msg229313)
Verliere ich dadurch möglicherweise andere Bugfixes, wenn ich nicht das Modul aus dem Update verwende?
Michael
Das Feature wurde bereits in die offizielle Version integriert. Daher ist die aktuellste Version via update die richtige Version.
Die Dokumentation dazu findest du in der Commandref: http://fhem.de/commandref.html#FB_CALLMONITOR
Da dieses Feature nun in der offiziellen Version vorhanden ist, möchte ich euch bitten hier keine weiteren Beiträge mehr zu posten, sondern bei Fragen/Anregungen einen neuen Thread zu erstellen.
Danke
Gruß
Markus
Ok, danke für die Antworten, jetzt funktionierts!
Ich musste lediglich die anderen, jetzt offiziellen Attribute verwenden und das Password noch korrekt mittels set setzen.
Thema nun geschlossen
Vielen Dank für die Unterstützung.
Grüße Jörg