FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Tommy82 am 03 August 2015, 21:52:33

Titel: Anrufer Bilder in FB_CALLLIST oder FB_CALLMONITOR anzeigen
Beitrag von: Tommy82 am 03 August 2015, 21:52:33
Hallo,
ich hab jetzt auch mal den Callmonitor und die Calllist in meinem Fhem definiert. Jetzt fände ich es super wenn ich ein kleines Bild des jeweiligen Anrufers bei einem Ankommenden und abgehenden Anruf angezeigt bekäme.

Ich hab das auf meiner VU+ z.b. beim FritzCall http://www.i-have-a-dreambox.com/wbb2/thread.php?threadid=100994 so, der greift auf ein Verzeichniss aus meinem WHS zu, wo ich für Verschiedene Anrufer ein Anruferbild abgelegt habe, welches als Namen die Telefonnumer des Anrufers hat und im .png Format vorliegt.

Ist sowas mit einem der beiden Tools möglich, oder geht das aktuell nicht?

Danke
Titel: Antw:Anrufer Bilder in FB_CALLLIST oder FB_CALLMONITOR anzeigen
Beitrag von: JoWiemann am 03 August 2015, 22:24:58
Du könntest mit einem notify reagieren. Dem notify wird die Telefonnummer übergeben. In der Bearbeitung dann den Dateinamen zusammen setzen und z.B. als WebLink aufrufen.

Grüße Jörg
Titel: Antw:Anrufer Bilder in FB_CALLLIST oder FB_CALLMONITOR anzeigen
Beitrag von: Tommy82 am 04 August 2015, 21:14:13
Hi, das wäre natürlich eine möglichkeit, auch wenn mit eine im Modul integrierte lieber wäre.

Werd die Tage mal bei Zeit anfangen es zu versuchen über ein notify zu bauen.

Danke für den Tip
Titel: Antw:Anrufer Bilder in FB_CALLLIST oder FB_CALLMONITOR anzeigen
Beitrag von: Tommy82 am 07 August 2015, 21:18:51
Also mit diesen notifys hab ich es nicht  :-[

das aktuelle reading bei einem Anruf ist immer 1-number in der "Anruferliste", das muss ich ja triggern!?
Die Bilder liegen unter http://192.168.188.22/Bilder/FritzCallFaces/

Wie bekomme ich das notify jetzt dazu das wenn z.b. die 015x4267x6 anruft und im reading 1-number erscheint im weblink das Bild aus dem Verzeichnis mit dem Bildnamen 015x4267x6.png anzuzeigen!?

Mein nt sieht bis jetzt leider nur so aus
Internals:
   CFGFN
   DEF        Anruferliste:1-number get weblink image http://192.168.188.22/Bilder/FritzCallFaces/
   NAME       Anrufer_Bild
   NOTIFYDEV  Anruferliste
   NR         9800
   NTFY_ORDER 50-Anrufer_Bild
   REGEXP     Anruferliste:Anruferliste:1-name
   STATE      active
   TYPE       notify
   CHANGETIME:
   Helper:
     Dblog:
       State:
         Mydblog:
           TIME       1438975209.46512
           VALUE      active
   Readings:
     2015-08-07 21:20:09   state           active
Attributes:


Danke

EDIT
Wäre das schonmal ein richtiger Ansatz um das Verzeichniss wo die Bilder liegen zu öffnen und zu lesen?
Anruferliste:Anruferliste:1-name
{
opendir(Bilder,http://192.168.188.22/Bilder/FritzCallFaces/);
@Anruferbild=readdir(Bilder);

}
Titel: Antw:Anrufer Bilder in FB_CALLLIST oder FB_CALLMONITOR anzeigen
Beitrag von: Tommy82 am 08 August 2015, 15:31:17
Hi,
wäre das ein Ansatz für das notify?
Anruferliste:1-name {
if (1-name )
{
    my $base_path = '192.168.188.22/Bilder/FritzCallFaces/';
    my $path = $base_path . 1-name;
}
Titel: Antw:Anrufer Bilder in FB_CALLLIST oder FB_CALLMONITOR anzeigen
Beitrag von: Tommy82 am 13 August 2015, 21:43:09
Hi,
kann mich mal bitte einer ein wenig auf den richtigen weg führe, bekomme es irgendwie nicht hin, hatte es schonmal hiermit versucht, aber das klappt auch nicht

#!/usr/bin/perl

use warnings;
use strict;

use LWP::UserAgent;

my $READING = "82771892";
my $PICURL = "http://192.168.188.22/Bilder/FritzCallFaces/" . $READING . ".png";
my $TEMPDIR = "/home/user/tmp";

sub savePic {
    my $filecontent = shift;
    my $filename = "$TEMPDIR/$READING.png";
    my $fh;
    open($fh, ">", $filename);
    binmode($fh);
    print $fh $filecontent;
    close($fh);
}

sub getPicFromServer {
    my $ua = LWP::UserAgent->new();
    my $req = HTTP::Request->new(GET => $PICURL);
    my $res = $ua->request($req);
    if ($res->is_success()) {
        savePic($res->decoded_content());
        return "Ok";
    } else {
        return "Error";
    }
}

sub createWebSite {
    my $t1 = '<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>';
    my $t2 = '</title>
</head>
<body>';
    my $t3 = '</body>
</html>';
    my $filename = "$TEMPDIR/$READING.html";
    my $fh;
    open($fh, ">", $filename);
    print $fh $t1;
    print $fh "$READING.png";
    print $fh $t2;
    print $fh "\n<img SRC=\"$READING.png\">\n";
    print $fh $t3;
    close($fh);
}

sub pointFirefox {
    my $fname = shift;
    my $execstr = "firefox -remote \"openURL(";
    $execstr .= "$TEMPDIR/$fname.html)\"";
    system($execstr);
}

sub createDefault {
    my $htmlname = "$TEMPDIR/default.html";
    if (-e $htmlname) {
        return;
    }
    my $t = '<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Default-Picture</title>
</head>
<body>
<img SRC="default.png">
</body>
</html>';
    my $fh;
    open($fh, ">", $htmlname);
    print $fh $t;
    close($fh);
}

my $res = getPicFromServer();
if ($res eq "Ok") {
    createWebSite();
    pointFirefox($READING);
} else {
    createDefault();
    pointFirefox("default");
}
Titel: Antw:Anrufer Bilder in FB_CALLLIST oder FB_CALLMONITOR anzeigen
Beitrag von: Tommy82 am 22 August 2015, 22:27:39
Komme hier nicht wirklich weiter, wäre DOIF noch eine möglichkeit?

define Anrugerbilder DOIF ([Anruferliste:1-number] set .............