[Erledigt] FB_Callmonitor zeigt nach Update vom 20.04.15 nur noch "unknown" an.

Begonnen von Sunny, 21 April 2015, 22:16:30

Vorheriges Thema - Nächstes Thema

Sunny

Hallo,

leider wird mir seit dem Update, kein Name mehr in der Anruferliste angezeigt, sondern nur noch "unknown".

Das Telefonbuch hatte ich von der Fritzbox nach "/opt/fhem/fb_phonebook.xml" exportiert.
Die Anruferliste hatte mir auch die Anrufernamen angezeigt, sogar von Anrufern die nicht in dem Telefonbuch gespeichert waren.

Leider weiß ich nicht, was ich ändern muss / sollte, damit die Namen wieder angezeigt werden.

Meine 99_myUtilsTelefon.pm für 10 Anrufer:
#################################################
# $Id: 99_myUtilsTelefon.pm 1932 2012-10-06 20:15:33Z ulimaass $
package main;

use strict;
use warnings;
use POSIX;
use FritzBoxUtils;

# fuer Telefonanrufe
our @A;
our @B;
our @C;
our @D;
our @E;
our @F;
our @G;
our @H;
our @I;
our @J;
our %TelefonAktionsListe;


sub myUtilsTelefon_Initialize($$) {
    my ($hash) = @_;

    #...

}
################################################################

sub SendSMS ($$) {
    my $adress = $_[0] . '@sms.kundenserver.de';
    my $body   = $_[1];
    Log( 3, "SendSMS: $adress - $body" );
    FB_mail( $adress, "", $body );

    # end sub SendSMS
}
#####################################
# Anruffunktionen ueber Fritzbox

sub FBCall ($$) {

    my $callnr   = $_[0];
    my $duration = $_[1];

    Log( 3, "FBCall: $callnr mit Dauer $duration" );

    $callnr = "ATDT" . $callnr . "#";
    my $ret = "ATD: " . `echo $callnr | nc 127.0.0.1 1011`;
    InternalTimer( gettimeofday() + $duration, "FBHangOn", "", 0 );
    return;
}

sub FBHangOn () {
    Log( 3, "FBHangOn aufgerufen" );

    my $ret = " ATH: " . `echo "ATH" | nc 127.0.0.1 1011`;
    $ret =~ s,[\r\n]*,,g;
    return;
}

######################################

sub TelefonAktion($$) {

    # es wird der Name und die interne angerufene Nummer uebergeben

    my ($caller) = split( '\(', $_[0] );
    $caller = ltrim( rtrim($caller) );

    my $intern = $_[1];

    # Log(3,"TelefonAktion: $caller $intern");
    # Sound ausgeben

    my $com = $main::TelefonAktionsListe{$caller};

    if ($com) {
        Log( 3, "TelefonAktion: commando: $com" );
        sig2_repeat( $com, 5, 4 );
    }    # falls commando vorhanden

}    # end sub TelefonAktion

######################################

sub TelefonMonitor($) {
    our $extnum;
    our $intnum;
    our $extname;
    our $callID;
    our $callDuration;
    # Anrufdauer als Integervariable speichern
    our $intCallDuration; 
    our $stat;
    our @lastPhoneEvent;
    my $i;
    my $j;
    our $ab;
    my $my_callmonitor = $defs{"my_callmonitor"};


    my ( $event, $arg ) = split( ':', $_[0] );
    $arg = ltrim($arg);

    # Log(3,"TM: event: $event arg: $arg");
    if ( $event eq "event" ) {
        $stat = $arg;
        return;
    }    # end if event

    if ( $stat eq "ring" ) {
        if ( $event eq "external_number" ) {
            $extnum = $arg;
            return;
        }    # if external number

        if ( $event eq "external_name" ) {
            $extname = $arg;
            return;
        }
        if ( $event eq "internal_number" ) {
            $intnum = $arg;
            return;
        }    # end if intnum

        if ( $event eq "call_id" ) {
            $callID = $arg;
           
            $lastPhoneEvent[$callID] = $stat;
           
            # hier koennen wir eine anrufgesteuerte Aktion starten
            TelefonAktion( $extname, $intnum );

            $B[$callID] = EventZeit();
            $C[$callID] = $extname;
            $D[$callID] = $extnum;
            return;
        }    # end if callid
        return;
    }    # end if ring loop

    if ( $stat eq "connect" ) {
        if ( ( $event eq "internal_connection" ) && ( $arg =~ m/Answering_Machine_.*/ ) )
        {
            $ab = "AB";
        }    # end if internal_connection
    }    # end if connect

    if ( $stat eq "call" ) {
        if ( $event eq "external_number" ) {
            $extnum = $arg;
            return;
        }    # if external number

        if ( $event eq "external_name" ) {
            $extname = $arg;
            return;
        }
        if ( $event eq "call_id" ) {
            $callID     = $arg;

            $B[$callID] = EventZeit();
            $C[$callID] = $extname;
            $D[$callID] = $extnum;
           
            $lastPhoneEvent[$callID] = $stat;
            return;
        }    # end if callid
        return;
    }    # end if callloop

    if ( $stat eq "disconnect" ) {

        if ( $event eq "call_duration" ) {
            $intCallDuration = $arg;
            $callDuration = sprintf( "%2d:%02d", ( $arg / 60 ), $arg % 60 );
            return;
        }    # if call_duration
       
        if ( $lastPhoneEvent[$callID] eq "call" ) {
            if ( $intCallDuration eq 0 ) {
                $A[$callID] = "out_notconnected";
                # hier notieren was passieren soll, wenn es ein eingehender Anruf war,
                # der nicht angenommen wurde
            } elsif ( $intCallDuration gt 0 ) {
                $A[$callID] = "out_connected";
                # hier notieren was passieren soll, wenn es ein eingehender Anruf war,
                # der angenommen wurde
            }
        } elsif ( $lastPhoneEvent[$callID] eq "ring") {
            if ( $intCallDuration eq 0 ) {
                $A[$callID] = "in_notconnected";
                # hier notieren was passieren soll, wenn es ein ausgehender Anruf war,
                # der nicht angenommen wurde

                $intCallDuration = undef;
            } elsif ( $ab eq "AB" ) {
                $A[$callID] = "AB";
                $ab = undef;
                # hier notieren was passieren soll, wenn der AB dranging

                $intCallDuration = undef;
            } elsif ($intCallDuration gt 0 ){
                $A[$callID] = "in_connected";
                # hier notieren was passieren soll, wenn es ein ausgehender Anruf war,
                # der angenommen wurde
               
                $intCallDuration = undef;
            }
        }
       
        # hier notieren was generell passieren soll, sobald ein Anruf beendet wurde
        # (egal ob angenommen, nicht angenommen, aus- oder eingehend oder der AB dranging)

        if ( $event eq "call_id" ) {
            $callID = $arg;

            # shiften der alten Inhalte
            my $tt;
            readingsBeginUpdate($my_callmonitor);

            for ( $i = 9 ; $i > 0 ; $i-- ) {
                foreach $j ( 'A' .. 'E' ) {

                    #   $defs{"my_callmonitor"}{READINGS}{$j.($i-1)}{VAL};

                    $tt = ReadingsVal( "my_callmonitor", $j . ( $i - 1 ), "-" );
                    readingsBulkUpdate( $my_callmonitor, $j . $i, $tt );
                }    # end j
            }    # end i
            $E[$callID] = $callDuration;
            readingsBulkUpdate( $my_callmonitor, "A0", $A[$callID] );
            readingsBulkUpdate( $my_callmonitor, "B0", $B[$callID] );
            readingsBulkUpdate( $my_callmonitor, "C0", $C[$callID] );
            readingsBulkUpdate( $my_callmonitor, "D0", $D[$callID] );
            readingsBulkUpdate( $my_callmonitor, "E0", $E[$callID] );
            readingsBulkUpdate( $my_callmonitor, "F0", $E[$callID] );
            readingsEndUpdate( $my_callmonitor, 1 );
            $stat = "";

            return;
        }    # end if callid

    }    # end if disconnect

##############################
}    #end sub TelefonMonitor

sub EventZeit() {
    my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
      localtime( time() );
    return sprintf(
        "%2d:%02d:%02d %2d.%02d.%4d",
        $hour, $min, $sec, $mday,
        ( $mon + 1 ),
        ( $year + 1900 )
    );
}    # end sub EventZeit
###################

1;


Auszug Meiner fhem.cfg für 10 Anrufer:
########################################################################################
## Fritzbox Anruferliste Anfang     für 10 Nr. routierend                             ##
# Logfile der Anrufe (Fritzbox)
define FileLog_my_callmonitor FileLog /opt/fhem/log/my_callmonitor-%Y-%m.log my_callmonitor
attr FileLog_my_callmonitor icon phone_call
attr FileLog_my_callmonitor logtype text
attr FileLog_my_callmonitor room System

# Callmonitor mit rollierender Anruferliste:
define my_callmonitor FB_CALLMONITOR 192.168.2.1:1012
attr my_callmonitor country-code 0049
attr my_callmonitor fritzbox-remote-phonebook 0
attr my_callmonitor fritzbox-remote-phonebook-via web
attr my_callmonitor fritzbox-user Karsten
attr my_callmonitor group Connections
attr my_callmonitor icon phone_call
attr my_callmonitor local-area-code 040
attr my_callmonitor reverse-search all
attr my_callmonitor reverse-search-cache 1
attr my_callmonitor reverse-search-cache-file /opt/fhem/callmoncache.txt
attr my_callmonitor reverse-search-phonebook-file /opt/fhem/fb_phonebook.xml
attr my_callmonitor room Fritzbox
attr my_callmonitor userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B5 B6 B7 B8 B9 C0 C1 C2 C3 C4 C5 C5 C6 C7 C8 C9 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 E0 E1 E2 E3 E4 E5 E6 E7 E8 E9
attr my_callmonitor verbose 0

# Anrufer Anzeigen:
#########################

# Dummy zur Anzeige des Namen:
define Dum_TelMon_ShowNa_D dummy
attr Dum_TelMon_ShowNa_D group Programm
attr Dum_TelMon_ShowNa_D icon phone_call
attr Dum_TelMon_ShowNa_D room Fritzbox
#attr Dum_TelMon_ShowNa_D fp_9_Telefon 23,209,0,Eingehender Anruf von:

# Dummy zur Anzeige der Nummer:
define Dum_TelMon_ShowNu_D dummy
attr Dum_TelMon_ShowNu_D group Programm
attr Dum_TelMon_ShowNu_D icon phone_call
attr Dum_TelMon_ShowNu_D room Fritzbox
#attr Dum_TelMon_ShowNu_D fp_9_Telefon 165,278,0,Telefonnummer:

# Wenn Telefon klingelt, wechsle zum FP "Telefon",zeige und sage Anrufer an:
#attr Func_TelMon_Show_N group Programm
#attr Func_TelMon_Show_N room Fritzbox

# Wenn Telefon aufgelegt, wechsle zum Haupt-FP:
#attr Func_TelMon_Back_N group Programm
#attr Func_TelMon_Back_N room Fritzbox

# Anrufliste generieren:
#########################

# Telefonevents für Anrufliste abfangen:
define Func_TelMon_N notify my_callmonitor:.* { \
   TelefonMonitor ($EVENT);; \
}
attr Func_TelMon_N group Programm
attr Func_TelMon_N icon phone_call
attr Func_TelMon_N room Fritzbox

define Anrufliste readingsGroup my_callmonitor:A0,B0,C0,D0,E0 my_callmonitor:A1,B1,C1,D1,E1 my_callmonitor:A2,B2,C2,D2,E2 my_callmonitor:A3,B3,C3,D3,E3 my_callmonitor:A4,B4,C4,D4,E4 my_callmonitor:A5,B5,C5,D5,E5 my_callmonitor:A6,B6,C6,D6,E6 my_callmonitor:A7,B7,C7,D7,E7 my_callmonitor:A8,B8,C8,D8,E8 my_callmonitor:A9,B9,C9,D9,E9
attr Anrufliste nameStyle style="font-weight:bold"
attr Anrufliste noheading 0
attr Anrufliste nolinks 1
attr Anrufliste nonames 1
attr Anrufliste nostate 1
attr Anrufliste notime 1
attr Anrufliste room Fritzbox
attr Anrufliste style style="font-size:20px"
attr Anrufliste valueIcon {'A0.out_connected' => 'phone_call_out@lightgreen', 'A0.out_notconnected' => 'phone_call_out@red','A0.in_connected' => 'phone_call_in@lightgreen','A0.in_notconnected' => 'phone_call_in@red', 'A0.AB' => 'audio_volume_mid@lightgreen', 'A1.out_connected' => 'phone_call_out@lightgreen', 'A1.out_notconnected' => 'phone_call_out@red','A1.in_connected' => 'phone_call_in@lightgreen','A1.in_notconnected' => 'phone_call_in@red', 'A1.AB' => 'audio_volume_mid@lightgreen','A2.out_connected' => 'phone_call_out@lightgreen', 'A2.out_notconnected' => 'phone_call_out@red','A2.in_connected' => 'phone_call_in@lightgreen','A2.in_notconnected' => 'phone_call_in@red', 'A2.AB' => 'audio_volume_mid@lightgreen','A3.out_connected' => 'phone_call_out@lightgreen', 'A3.out_notconnected' => 'phone_call_out@red','A3.in_connected' => 'phone_call_in@lightgreen','A3.in_notconnected' => 'phone_call_in@red', 'A3.AB' => 'audio_volume_mid@lightgreen','A4.out_connected' => 'phone_call_out@lightgreen', 'A4.out_notconnected' => 'phone_call_out@red','A4.in_connected' => 'phone_call_in@lightgreen','A4.in_notconnected' => 'phone_call_in@red', 'A4.AB' => 'audio_volume_mid@lightgreen', 'A5.out_connected' => 'phone_call_out@lightgreen', 'A5.out_notconnected' => 'phone_call_out@red','A5.in_connected' => 'phone_call_in@lightgreen','A5.in_notconnected' => 'phone_call_in@red', 'A5.AB' => 'audio_volume_mid@lightgreen', 'A6.out_connected' => 'phone_call_out@lightgreen', 'A6.out_notconnected' => 'phone_call_out@red','A6.in_connected' => 'phone_call_in@lightgreen','A6.in_notconnected' => 'phone_call_in@red', 'A6.AB' => 'audio_volume_mid@lightgreen', 'A7.out_connected' => 'phone_call_out@lightgreen', 'A7.out_notconnected' => 'phone_call_out@red','A7.in_connected' => 'phone_call_in@lightgreen','A7.in_notconnected' => 'phone_call_in@red', 'A7.AB' => 'audio_volume_mid@lightgreen', 'A8.out_connected' => 'phone_call_out@lightgreen', 'A8.out_notconnected' => 'phone_call_out@red','A8.in_connected' => 'phone_call_in@lightgreen','A8.in_notconnected' => 'phone_call_in@red', 'A8.AB' => 'audio_volume_mid@lightgreen', 'A9.out_connected' => 'phone_call_out@lightgreen', 'A9.out_notconnected' => 'phone_call_out@red','A9.in_connected' => 'phone_call_in@lightgreen','A9.in_notconnected' => 'phone_call_in@red', 'A9.AB' => 'audio_volume_mid@lightgreen'}
#attr Anrufliste fp_9_Telefon 370,206,0,Anrufliste
#attr Anrufliste mapping &nbsp

## Fritzbox Anruferliste Ende


Meine my_callmonitor Attributes:
country-code 0049
fritzbox-remote-phonebook 0
fritzbox-remote-phonebook-via web
fritzbox-user xyz
group Connections
local-area-code 040
reverse-search all
reverse-search-cache 1
reverse-search-cache-file /opt/fhem/callmoncache.txt
reverse-search-phonebook-file /opt/fhem/fb_phonebook.xml
userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B5 B6 B7 B8 B9 C0 C1 C2 C3 C4 C5 C5 C6 C7 C8 C9 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 E0 E1 E2 E3 E4 E5 E6 E7 E8 E9
verbose 0


Falls jemand eine Idee hat, was ich verkehrt mache, würde ich mich sehr über Hilfe freuen.

Gruss sunny

PS: Das mit den 10 Anrufern habe ich nur mit sehr viel testen hinbekommen. Leider kann ich kein Perl.

Lösung war:
Zitat von: Sunny am 22 April 2015, 19:22:21
durch: und ändern des reverse-search Attribut von "all" auf "dasoertliche.de,klicktel.de,phonebookist" ist das Problem, bei mir beseitigt.
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

jsloot

Das kann ich leider nur bestätigen. Ist bei mir auch so....
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren


jsloot

Hi eldrik,

danke für die Info. Aber bei mir steht das Attribut reverse-search auf 'all'. Darum sollte es doch funktionieren.
Ein FHEM-Raspi mit HM-CFG-USB-2. 9 HM Heizthermostate, 9 HM Temperatursensoren, 22 HM Fensterkontakte, 7 Rolloaktoren, 17 HM Unterputz-Aktoren

moonsorrox

Zitat von: eldrik am 22 April 2015, 07:43:09
Hi,

habt ihr diesem Thread schon Beachtung geschenkt?

http://forum.fhem.de/index.php/topic,36462.msg287381.html#msg287381

Greetz
Eldrik
Ich bin auch der Meinung wenn all drin steht fragt er alle ab...
Evtl. schreibt Markus ja etwas dazu...!

Hier steht es eigentlich beschrieben
ZitatAb sofort erfolgt die Rückwärtssuche nach einer konfigurierbaren Reihenfolge. Diese Reihenfolge ergibt sich aus den Elementen im Attribut "reverse-search" von links nach rechts. Das bedeutet in der Praxis. Wenn eine Rufnummer rückwärts aufgelöst werden soll wird die erste Methode benutzt die im Attribut "reverse-search" steht, sollte diese kein Ergebnis liefern, wird die zweite Methode befragt, usw. bis ein Wert gefunden wird oder keiner der konfigurierten Methoden ein Ergebnis liefert.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Sunny

@Eldrik:
Danke für Deinen Link, den hatte ich schon gelesen.  ;)
Wollte nur nicht gleich im Bereich "Unterstützende Dienste" als "Newbie" einen Thread eröffnen.


@jsloot,
Bist Du schon einen "Schritt" weiter gekommen? Ich leider noch nicht.

Grüße Sunny

[edit von 19:51 Uhr]
durch:
Zitat von: JoWiemann am 21 April 2015, 22:20:35
...lösch doch mal bitte folgendes Attribut: reverse-search-phonebook-file

...Definiere bitte folgendes Attribut: fritzbox-remote-phonebook 1

...fhem neu starten.

...rereadPhonebook
und ändern des reverse-search Attribut von "all" auf "dasoertliche.de,klicktel.de,phonebookist" ist das Problem, bei mir beseitigt.  8)

Vielen Dank an Jörg und Markus
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

moonsorrox

Zitat von: Sunny am 22 April 2015, 19:22:21
[edit von 19:51 Uhr]
durch: und ändern des reverse-search Attribut von "all" auf "dasoertliche.de,klicktel.de,phonebookist" ist das Problem, bei mir beseitigt.  8)
ja, genau das habe ich auch gemacht, mal eben alles eingetragen was für DE wichtig ist und damit ging es...
Obwohl doch "all" funktionieren sollte...?!
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Markus Bloch

Hallo zusammen,

ich habe heute eine neue Version eingecheckt, die das Problem beheben sollte. Das Problem trat dabei auf, wenn eine internationale Vorwahl in der Telefonbuchnummer enthalten war (also +49 vorneweg).

Die Version gibt es ab morgen via update. Bitte einmal ausprobieren.

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)

Markus Bloch

Noch als Hinweis: Der Wert "all" für reverse-search funktioniert nicht mehr. Das war noch eine Leiche aus den Anfangszeiten, die ich gerne loswerden wollte. Bitte gebt also explizit an, welche Methoden für die Rückwärtssuche (in welcher Reihenfolge) verwendet werden sollen. Der Wert war schon seit langer Zeit in der Commandref rausgelöscht.

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

aktives Mitglied des FHEM e.V. (Technik)

Sunny

Hallo Markus,

Zitat von: Markus Bloch am 23 April 2015, 18:31:41
Noch als Hinweis: Der Wert "all" für reverse-search funktioniert nicht mehr. ... in der Commandref rausgelöscht.

Vielleicht habe ich als Newbie, bei den Updates Deinen Hinweis übersehen?!

Wäre es nicht Möglich, das in der Commandref unter "reverse-search-phonebook-file <Dateipfad>" den Hinweis auf "all" zu vermerken?
[ Hätte Dir die Zeit für Deinen Hinweis erspart ;) ]

Vielen Dank & Grüße von
Sunny
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

moonsorrox

Zitat von: Markus Bloch am 23 April 2015, 18:31:41
Noch als Hinweis: Der Wert "all" für reverse-search funktioniert nicht mehr.

Ja genau, denn den hatte ich ersetzt durch "dasoertliche.de,phonebook,textfile,klicktel.de" dann ging es
ABER der Wert "all" existierte noch unter "Selected"
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Markus Bloch

Ist mit dem heutigen update nicht mehr möglich. Das war noch ein Fehler im sortable-Widget der es zugelassen hat, das "all" noch unter selected erscheint, obwohl es nicht mehr erlaubt ist.

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)

MarioS1969

Hallo Markus,
ersteinmal möchte ich mich bei dir für das echt grandiose Makro für die Fritzbox bedanken.

Nach dem Update funktioniert allerdings die Auflösung der Rufnummern einfach nicht mehr.


define FritzBox FB_CALLMONITOR xxx.xxx.xxx.xxx
attr FritzBox local-area-code 07xxx
attr FritzBox reverse-search-cache 1
attr FritzBox reverse-search-phonebook-file /opt/fhem/FRITZ.Box_Telefonbuch.xml
attr FritzBox reverse-search phonebook
attr FritzBox verbose 5

define CallMon TM FritzBox
attr CallMon disable 0
attr CallMon maxlines 4
attr CallMon monitor-type all
attr CallMon symbol-answering-machine AB
attr CallMon symbol-connected connected
attr CallMon symbol-incoming incoming
attr CallMon symbol-incoming-noconnect incoming_noconnect
attr CallMon symbol-outgoing outgoing
attr CallMon symbol-outgoing-noconnect outgoing_noconnect
attr CallMon update 0
attr CallMon verbose 5

define Anrufliste readingsGroup <Pos>,<Art>,<Datum>,<Name>,<Nummer>,<Dauer> CallMon:A0,B0,C0,D0,E0 CallMon:A1,B1,C1,D1,E1 CallMon:A2,B2,C2,D2,E2 CallMon:A3,B3,C3,D3,E3 CallMon:A4,B4,C4,D4,E4
attr Anrufliste fp_Haus 709,43,1,
attr Anrufliste group 08_Anrufliste
attr Anrufliste mapping {'CallMon' => '{sprintf("%d.",$ROW-1);;}'}
attr Anrufliste nameStyle style="font-weight:bold"
attr Anrufliste noheading 1
attr Anrufliste nolinks 1
attr Anrufliste nostate 1
attr Anrufliste notime 1
attr Anrufliste room Gesamtansicht
attr Anrufliste style style="font-size:12px"
attr Anrufliste valueIcon { 'A0.incoming' => 'phone_ring_in@green', 'A0.incoming_noconnect' => 'phone_ring_in@red', 'A0.outgoing' => 'phone_ring_out@green', 'A0.outgoing_noconnect' => 'phone_ring_out@red', 'A0.AB' => 'phone_answersing@blue', 'E0.connected' => 'phone_ring@yellow', 'A1.incoming' => 'phone_ring_in@green', 'A1.incoming_noconnect' => 'phone_ring_in@red', 'A1.outgoing' => 'phone_ring_out@green', 'A1.outgoing_noconnect' => 'phone_ring_out@red', 'A1.AB' => 'phone_answersing@blue', 'E1.connected' => 'phone_ring@yellow', 'A2.incoming' => 'phone_ring_in@green', 'A2.incoming_noconnect' => 'phone_ring_in@red', 'A2.outgoing' => 'phone_ring_out@green', 'A2.outgoing_noconnect' => 'phone_ring_out@red', 'A2.AB' => 'phone_answersing@blue', 'E2.connected' => 'phone_ring@yellow', 'A3.incoming' => 'phone_ring_in@green', 'A3.incoming_noconnect' => 'phone_ring_in@red', 'A3.outgoing' => 'phone_ring_out@green', 'A3.outgoing_noconnect' => 'phone_ring_out@red', 'A3.AB' => 'phone_answersing@blue', 'E3.connected' => 'phone_ring@yellow', 'A4.incoming' => 'phone_ring_in@green', 'A4.incoming_noconnect' => 'phone_ring_in@red', 'A4.outgoing' => 'phone_ring_out@green', 'A4.outgoing_noconnect' => 'phone_ring_out@red', 'A4.AB' => 'phone_answersing@blue', 'E4.connected' => 'phone_ring@yellow' }



Meine Wunschvorstellung wäre:
1. Nummer im exportierten Telefonbuch der Fritzbox (xml-Datei) suchen
2. eine Rückwärtssuche in einem oder 2 online Telefonbüchern

Irgendwie bin ich zu blöd, es will einfach nicht klappen, auch Forum und commandref helfen mir nicht weiter. Nach 3 Abenden bin ich immer noch nicht zum Ziel gekommen.
Ich denke es liegt an den Definitionen von reverse-search-phonebook-file und reverse-search.

Jetzt meine Bitte:
Könntest du bitte ein komplettes, funktionierendes Beispiel veröffenlichen?
Das würde mir und sicher auch vielen anderen Useren helfen.

Vielen Dank
Mario

PI 2, PI4,  RFXtrx433, IT-1500, CMR-1000, ITM 100, TFA Temperatursensor, IR-Sensor, FB 7590, LIRC mit Logitech Harmony, FI9821W, Sonos, Twilight, Benzinpreismonitor, HMLAN, HM-Sen-DB-PCB, HM-LC-Bl1PBU-FM, HM-SEC-SC-2, GPIO4 mit fhem2fhem, Shelly

moonsorrox

wenn ich das richtig sehe hast du gar kein "reverse-search" definiert

define FritzBox FB_CALLMONITOR xxx.xxx.xxx.xxx
attr FritzBox local-area-code 07xxx
attr FritzBox reverse-search-cache 1
attr FritzBox reverse-search-phonebook-file /opt/fhem/FRITZ.Box_Telefonbuch.xml
attr FritzBox reverse-search phonebook
attr FritzBox verbose 5


mach das doch mal...
Ich habe da folgende Reihenfolge drin, wobei textfile bei mir eben die Datei ist die er auch durchsuchen soll:
Zitatdasoertliche.de,phonebook,textfile,klicktel.de

dann nicht vergessen den Ort für das Attribut dazu anzugeben mit z.B.
Zitatreverse-search-text-file /opt/fhem/textfile.txt
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

MarioS1969

Hallo,
vielen Dank für die schnelle Antwort

Ich habe jetzt folgendes probiert, aber immer noch ohne Erfolg. Eingelesen werden die Daten, das habe ich über list gecheckt.


define FritzBox FB_CALLMONITOR xxx.xxx.xxx.xxx
attr FritzBox local-area-code 07xxx
attr FritzBox reverse-search-cache 1
attr FritzBox reverse-search-phonebook-file /opt/fhem/FRITZ.Box_Telefonbuch.xml
attr FritzBox reverse-search dasoertliche.de,phonebook,textfile,klicktel.de



Was mache ich noch verkehrt?

Mario
PI 2, PI4,  RFXtrx433, IT-1500, CMR-1000, ITM 100, TFA Temperatursensor, IR-Sensor, FB 7590, LIRC mit Logitech Harmony, FI9821W, Sonos, Twilight, Benzinpreismonitor, HMLAN, HM-Sen-DB-PCB, HM-LC-Bl1PBU-FM, HM-SEC-SC-2, GPIO4 mit fhem2fhem, Shelly