From 680746213fec989a8fc4904bc1d884728ef0761b Mon Sep 17 00:00:00 2001 From: markusbloch <> Date: Wed, 5 Dec 2012 20:54:51 +0000 Subject: [PATCH] added remove-leading-zero feature, updated english/german commandref git-svn-id: https://svn.fhem.de/fhem/trunk@2268 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/72_FB_CALLMONITOR.pm | 50 ++++++++++++++++++++++++++-------- 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/fhem/FHEM/72_FB_CALLMONITOR.pm b/fhem/FHEM/72_FB_CALLMONITOR.pm index 967cb6b6d..973708ecf 100755 --- a/fhem/FHEM/72_FB_CALLMONITOR.pm +++ b/fhem/FHEM/72_FB_CALLMONITOR.pm @@ -87,7 +87,7 @@ FB_CALLMONITOR_Initialize($) $hash->{ReadyFn} = "FB_CALLMONITOR_Ready"; $hash->{DefFn} = "FB_CALLMONITOR_Define"; $hash->{UndefFn} = "FB_CALLMONITOR_Undef"; - $hash->{AttrList}= "do_not_notify:0,1 reverse-search-cache-file reverse-search:all,klicktel.de,dasoertliche.de,none reverse-search-cache:0,1 event-on-update-reading event-on-change-reading"; + $hash->{AttrList}= "do_not_notify:0,1 remove-leading-zero:0,1 reverse-search-cache-file reverse-search:all,klicktel.de,dasoertliche.de,none reverse-search-cache:0,1 event-on-update-reading event-on-change-reading"; } @@ -160,22 +160,24 @@ FB_CALLMONITOR_Read($) my @array; my $reverse_search = undef; my $data = $buf; + my $external_number = undef; + + @array = split(";", $data); - $reverse_search = FB_CALLMONITOR_reverseSearch($hash, $array[3]) if(not $array[3] eq "0" and $array[1] eq "RING" and AttrVal($name, "reverse-search", "none") ne "none"); - $reverse_search = FB_CALLMONITOR_reverseSearch($hash, $array[5]) if($array[1] eq "CALL" and AttrVal($name, "reverse-search", "none") ne "none"); + $external_number = $array[3] if(not $array[3] eq "0" and $array[1] eq "RING"); + $external_number = $array[5] if($array[1] eq "CALL"); - + $external_number =~ s/^0// if(AttrVal($name, "remove-leading-zero", "0") eq "1"); + $reverse_search = FB_CALLMONITOR_reverseSearch($hash, $external_number) if(AttrVal($name, "reverse-search", "none") ne "none"); + readingsBeginUpdate($hash); readingsBulkUpdate($hash, "event", lc($array[1])); - readingsBulkUpdate($hash, "external_number", $array[3]) if(not $array[3] eq "0" and $array[1] eq "RING"); + readingsBulkUpdate($hash, "external_number", $external_number) if(defined($external_number)); readingsBulkUpdate($hash, "external_name", $reverse_search) if(defined($reverse_search)); - readingsBulkUpdate($hash, "internal_number", $array[4]) if($array[1] eq "RING"); - readingsBulkUpdate($hash, "external_number" , $array[5]) if($array[1] eq "CALL"); - - readingsBulkUpdate($hash, "internal_number", $array[4]) if($array[1] eq "CALL"); + readingsBulkUpdate($hash, "internal_number", $array[4]) if($array[1] eq "RING" or $array[1] eq "CALL"); readingsBulkUpdate($hash, "external_connection", $array[5]) if($array[1] eq "RING"); readingsBulkUpdate($hash, "external_connection", $array[6]) if($array[1] eq "CALL"); readingsBulkUpdate($hash, "internal_connection", $connection_type{$array[3]}) if($array[1] eq "CALL" or $array[1] eq "CONNECT" and defined($connection_type{$array[3]})); @@ -440,10 +442,14 @@ sub FB_CALLMONITOR_loadCacheFile($) If this attribute is activated each reverse-search result is saved in an internal cache and will be used instead of reverse searching again the same number.

Possible values: 0 => off , 1 => on
- Default Value is 0 (off) + Default Value is 0 (off)

  • reverse-search-cache-file <file>
  • Write the internal reverse-search-cache to the given file and use it next time FHEM starts. - So all reverse search results are persistent written to disk and will be used instantly after FHEM starts. + So all reverse search results are persistent written to disk and will be used instantly after FHEM starts.

    +
  • remove-leading-zero
  • + If this attribute is activated, a leading zero will be removed from the external_number (e.g. in telefon systems).

    + Possible values: 0 => off , 1 => on
    + Default Value is 0 (off)


    @@ -452,7 +458,7 @@ sub FB_CALLMONITOR_loadCacheFile($)
    @@ -523,6 +548,7 @@ sub FB_CALLMONITOR_loadCacheFile($)