Wie kann eine Benachrichtigung mit dem Namen und der Telefonnummer an ein iPhone mit Fhem versendet werden. So weiss man immer wer zu Hause anruft und wann. So kann man evl. gleich zurückrufen.
In der Fritzbox 7490 gibt es jetzt keine Funktion mehr um das Telefonbuch in XML zu exportieren, wenn die Kontakte mit Google syncronisiert werden.
Wie kommt man nun an das passende XML Telefonbuch?
Über die kostenlose Fon App der Fritzbox, die es für iOS und Android gib. Oder mit diesem Tool selbst transformieren.
Der Export mit der Fon-App geht da über den Menüpunkt unten rechts mit den drei Punkten – „Mehr“ – „Kontakte exportieren“ – Kontakte exportieren – per E-Mail zusenden lassen und dann in das /home/pi/fhem/FHEM
Verzeichnis kopieren. Ich habe dem Telefonbuch den Namen tw_telefonbuch.xml
gegeben.
Dann in der fhem.cfg
den Fritzbox Anrufmonitor ergänzen und die xxx.xxx.xxx.xxx durch die pi-adresse ersetzen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
define Fritz_Box_Monitor FB_CALLMONITOR xxx.xxx.xxx.xxx attr Fritz_Box_Monitor group Anrufe attr Fritz_Box_Monitor local-area-code 0511 attr Fritz_Box_Monitor reverse-search internal attr Fritz_Box_Monitor room Anrufe attr Fritz_Box_Monitor unique-call-ids 1 attr Fritz_Box_Monitor reverse-search-phonebook-file /home/pi/fhem/FHEM/tw_telefonbuch.xml define FileLog_Friz_Box_Monitor FileLog ./log/anruf-monitor-%Y-%m.log Fritz_Box_Monitor attr FileLog_Friz_Box_Monitor group Anrufe attr FileLog_Friz_Box_Monitor room Anrufe define SVG_FileLog_Friz_Box_Monitor_1 SVG FileLog_Friz_Box_Monitor:SVG_FileLog_Friz_Box_Monitor_1:CURRENT attr SVG_FileLog_Friz_Box_Monitor_1 group Anrufe attr SVG_FileLog_Friz_Box_Monitor_1 room Anrufe |
Wichtig ist, das der ganze Pfad zu der tw_telefonbuch.xml
eingetragen wird.
Jetzt noch die Pushover Einstellungen ergänzen und die token und user anpassen:
1 2 3 4 5 6 7 8 9 10 |
# Pushover Nachricht bei jeden Anruf # define anrufPush notify Fritz_Box_Monitor:event.*ring.* {\ my $nummer=(ReadingsVal("Fritz_Box_Monitor","external_number","unbekannnt"));;\ if ($nummer != '0800xxxxx'){\ my $name=(ReadingsVal("Fritz_Box_Monitor","external_name","unbekannnt"));;\ my $zeit=EventZeit();;\ system ("curl -s -F 'token=xxxxxx' -F 'user=xxxx' -F 'message=Anruf von $name mit Nr. $nummer um $zeit bei uns zu Hause' -F 'title=Anruf zu Hause von $name' https://api.pushover.net/1/messages.json");;\ }\ } |
Und schon wird bei jedem Anruf zu Hause, in dem Telefonbuch nachgeschaut wer gerade anruft und diese Meldung mit Nr. und Zeitpunkt per Pushover versendet. Ausser bei dem Anrufbeantworter da die Meldungn öfter kommen. Da also noch die Zeile mit der 0800xxxxxx anpassen.
Folgende Events werden versandt:
1 2 3 4 5 6 7 8 9 |
2014-10-06 19:12:38 FB_CALLMONITOR Fritz_Box_Monitor event: disconnect 2014-10-06 19:12:38 FB_CALLMONITOR Fritz_Box_Monitor external_name: Max Mustermann 2014-10-06 19:12:38 FB_CALLMONITOR Fritz_Box_Monitor external_number: 051112345678 2014-10-06 19:12:38 FB_CALLMONITOR Fritz_Box_Monitor internal_number: 12345678 2014-10-06 19:12:38 FB_CALLMONITOR Fritz_Box_Monitor call_duration: 658 2014-10-06 19:12:38 FB_CALLMONITOR Fritz_Box_Monitor direction: incoming 2014-10-06 19:12:38 FB_CALLMONITOR Fritz_Box_Monitor internal_connection: 0 2014-10-06 19:12:38 FB_CALLMONITOR Fritz_Box_Monitor external_connection: SIP0 2014-10-06 19:12:38 FB_CALLMONITOR Fritz_Box_Monitor call_id: xxxxxx38eb0dxxxc4cadc0d |
Hab ihr noch weitere Ideen? Oder sucht Ihr noch weitere Infos?