FB_CALLMONITOR - reverse-search zusätzl. FB interne Telefonbücher durchsuchen

Begonnen von HAGGI, 26 Juni 2013, 09:41:04

Vorheriges Thema - Nächstes Thema

HAGGI

Hallo -

ich benutze FB_CALLMONITOR auf der FB 7390. Funktioniert alles wunderbar, auch die Revers-Suche.

Die FB bietet die Funktion, weitere interne Telefonbücher anzulegen (insbesondere nutze ich die Synch-Funktion mit gmail-account, um nicht alle Adressen 100 mal in unterschiedlichen Geräten zu pflegen).

FB_CALLMONITOR sucht aber nur im vordefinierten internen Telefonbuch, das sich leider nicht mit gmail synchronisieren läßt.

Gibt es einen Trick, wie man auch das zuätzliche interne Telefonbuch in die Suche mit einbeziehen kann.

Gruß
HAGGI

Markus Bloch

Hi Haggi,

das liegt daran, dass ich eben nur auf das interne Telefonbuch zugreife, welches als Datei auf dem Dateisystem der FritzBox vorhanden ist. Ob das auch für die synchronisierten Telefonbücher möglich ist, weis ich nicht und müsste ich erst ausprobieren.

Ich sag dir Bescheid.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Ralph

Darf die Suche auch ausgelagert und / oder extern sein ?

Dann geht das auf der Fritzbox etwa so:
# Aufruf mit: anruf rufendenummer angerufenenummer

tx_mail()
{
/sbin/mailer \
-s "$2 $3 $4 $5 $6" \
-f "D $1 <absender@absender.de>" \
-m smtp.absender.de \
-t "$RUF <deinemailaddy@gmail.com>" \
-a absender@absender.de \
-w "DeinAbsenderPasswort" \
-l \
-i /var/media/ftp/DeinPfad/oetb.txt \
}
}

rm /var/media/ftp/DeinPfad/ip.htm
rm /var/media/ftp/DeinPfad/oert.htm
rm /var/media/ftp/DeinPfad/oetb.txt
rm /var/media/ftp/DeinPfad/tmp.htm

RUF=$1
CID=$1
CED=$2

wget -q -O /var/media/ftp/DeinPfad/ip.htm http://sputnicks.de/tools/ip.php
  ip=$(cat /var/media/ftp/DeinPfad/ip.htm)

# Die 0Dhex in den lists müssen raus sein

echo $1>/var/media/ftp/DeinPfad/tmp.txt
nix=$(grep -e 0180 /var/media/ftp/DeinPfad/tmp.txt);
if [ -z "$nix" ]
  then
    nix=$(grep -e 0900 /var/media/ftp/DeinPfad/tmp.txt);
    if [ -z "$nix" ]
      then
        nix=$(grep -e 01handynummer /var/media/ftp/DeinPfad/tmp.txt);
        if [ -z "$nix" ]
          then
            black=$(grep -e $1 /var/media/ftp/DeinPfad/blacklist.txt);
            if [ -z "$black" ]
     then
url="http://deine.url.de/meintelbuch/known.txt"
wget -q -O /var/media/ftp/DeinPfad/known.txt $url
       CID=$(grep -e $1 /var/media/ftp/DeinPfad/known.txt);
       if [ -z "$CID" ]
 then
   url="http://mobil.dasoertliche.de/oe/go_rueckwaertssuche?number=$1"
      wget -q -O /var/media/ftp/DeinPfad/oert.htm $url
   oetname=$(cat /var/media/ftp/DeinPfad/oert.htm | grep '"nofollow" class' | sed 's/<[^<]*>/\ /g')
    oetadr=$(cat /var/media/ftp/DeinPfad/oert.htm | grep '</div><div>' | sed 's/<[^<]*>/\ /g')
   echo $oetname>/var/media/ftp/DeinPfad/oetb.txt
   echo $oetadr>>/var/media/ftp/DeinPfad/oetb.txt

   url="http://www.klicktel.de/inverssuche/index/search?method=searchSimple&_dvform_posted=1&phoneNumber=$1"
   wget -q -O /var/media/ftp/DeinPfad/tmp.htm $url
   name=$(cat /var/media/ftp/DeinPfad/tmp.htm | grep "namelink" | sed 's/<[^<]*>/\ /g;s/  //;s/ /, /')
   if [ ! -z "$name" ]
     then
       num=$(cat /var/media/ftp/DeinPfad/tmp.htm | grep "phoneNumber" | sed 's/"phoneNumber" value="/ #/;s/.*\#//;s/"/ # /;/^#/d;s/#.*$//g;s/ //g')
CID="$num $name"
     else
CID="$1 -"
   fi
        fi

   echo >>/var/media/ftp/DeinPfad/oetb.txt
echo $ip>>/var/media/ftp/DeinPfad/oetb.txt

case "$2" in
 MSN1 | MSN2 | MSN3 | MSN4 | MSN5 )
tx_mail $CED "$CID";;
esac

    fi
fi
     fi
fi
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

Markus Bloch

Hi,

es gibt bereits die Möglichkeit eine Rückwärtssuche via Internet durchzuführen. Dazu gibt es das Attribut reverse-search. Dort kann man entweder "all" auswählen, welches das interne Telefonbuch umfasst, sowie alle externen Telefonbuchanbieter.

Details dazu findest du in der commandref.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

HAGGI

Wow -
das nenne ich "quick turn-around"!

Wie gesagt, externe DTAG etc. Telefonbuch-Suche geht ja. Sind nur die zusätzlichen internen Telefonbücher, die nicht durchsucht werden.

Ich hab mir erstmal geholfen, indem ich die Adressen vom zusätzlichen internen TB ins Standard TB kopiert habe - naja, so oft ändert sich ja auch nix. Aber schön wäre es schon ;-)

Gruss
HAGGI

paddy325

Hi zusammen,

hab das gleiche Problem, mein Telefonbuch kommt von gmail und die Rückwärtssuche findet somit keine Namen...
Hat sich da mittlerweile was getan? Hab mal auf der FritzBox geschaut, konnte aber das gmail Telefonbuch nicht finden.

Gruß Patrick

Markus Bloch

Hallo Patrick,

ich hatte mich damals auf die Suche begeben. Hatte mein Google Telefonbuch eingebunden und dann versucht auf der FritzBox fündig zu werden.

Allerdings ohne Erfolg. Die Daten werden weder in einer Datei gespeichert, noch sind sie via ctlmgr_ctl abrufbar.

Daher habe ich keine Idee, wie man da rann kommt.

Sorry

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

paddy325

Hallo Markus,

habe auch nichts dazu gefunden. Meine Dreambox (Sat-Receiver) hat ein Plugin namens FritzCall, welches mir Anrufe auf dem TV darstellt. Dort funktioniert die Anzeige der Namen aus dem gmail Telbuch der FrtizBox. Ich werde mir mal den Quellcode des Plugins anschauen ( ist in Phyton geschrieben). Vielleicht kann ich ja dort sehen, wie auf das gmail-Telefonbuch zugegriffen wird.

Danke für Deine Antwort

Gruß Patrick

Markus Bloch

Kannst du mir dieses Plugin zukommen lassen? Dann kann ich da auch mal einen Blick drüber werfen.

Vielen Dank

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

paddy325

So, hab mal geforscht...

Das Plugin loggt sich auf der FritzBox ein und holt sich die html-Seite des Telefonbuchs.

Hab das mal so in meine 99utils geschrieben:


######### FritzBox #########
sub FritzBoxGetPhonebook {
{
my $boxpasswort = "password";
my $boxaddress = "fritz.box";
my $username = "username";

# Fritzbox-Login

# challenge abholen

my $user_agent = LWP::UserAgent->new;
my $http_response = $user_agent->get("http://$boxaddress/login_sid.lua");

$http_response->content =~ /<Challenge>(\w+)<\/Challenge>/i and my $challengeStr = $1;

# response zur challenge generieren
my $ch_Pw = "$challengeStr-$boxpasswort";
$ch_Pw =~ s/(.)/$1 . chr(0)/eg;
my $challenge_response = "$challengeStr-" . lc(md5_hex($ch_Pw));

# SID ermitteln
$http_response = $user_agent->get("http://$boxaddress/login_sid.lua?username=$username&response=$challenge_response");
$http_response->content =~ /<SID>(\w+)<\/SID>/i and my $SID = $1;

Log 1, $SID;

# Telefonbuch holen
$http_response = $user_agent->get("http://192.168.178.1/fon_num/fonbook_list.lua?sid=$SID");
Log 1, $http_response->content;
}
}




Username, Passwort und IP der Box müssen an die Gegebeheiten angepasst werden.
Im FHEM-Log steht dann der Inhalt der Phonebook-Seite.

Das Login mit Session-ID funktioniert allerdings nur bei neueren FB-Firmware-Versionen...

@Markus: Wenn Du mir Deine Mailadresse schickst, sende ich Dir das Plugin mal zu.


Gruß Patrick