FB CALLLIST Anrufer Foto mit anzeiegen

Begonnen von Tommy82, 30 Oktober 2018, 21:37:25

Vorheriges Thema - Nächstes Thema

Tommy82

Zitat von: Markus Bloch am 07 Januar 2019, 11:08:55


Nun meine Frage, kann man damit was anfangen oder sollte man das eher irgendwie anders rausgeben? Da ich kein FTUI verwende bin ich mir nicht sicher, was am besten Sinn macht um die Fotos dann auch einfach zu integrieren.

Viele Grüße

Markus

Hi,
ich hatte in der zwichenzeit einen weg in der FTUI direkt gefunden das zu lösen, sieht so aus
<div data-type="image"
  data-device="Anruferliste"
  data-get="1-number"
  data-path="http://192.168.188.47:8085/fhem/www/tablet/Anrufe/"
  data-suffix=".jpg"
  data-size="100px"></div>


Dabei habe ich manuel die Anruferbilder unter dem genannten Pfad abgelegt, das sollte also auch so gehen wenn sie aus der CALLIST abgelegt werden, dann kann das über das Reading abgefragt werden.
Werd das über Callist morgen mal versuchen, sobald ich etwas zeit finde, aber schonmal danke fürs implementieren, wird glaub ich vielen helfen und es einfacher machen
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Markus Bloch

Hallo zusammen,

ich habe soeben eine Unterstützung für Kontaktfotos sowohl in FB_CALLMONITOR als auch in FB_CALLLIST integriert.

Folgende Features/Attribute sind dazu bei den Modulen hinzugekommen:

FB_CALLMONITOR


  • Sofern Attribut contactImageDirectory (Verzeichnis) gesetzt ist, wird für jeden Anruf geschaut, ob es darin ein Bild mit der externen Rufnummer existiert (z.B. "0123234568.jpg"), wenn ja, wird ein Reading "contact_image" erzeugt mit dem Dateinamen. Falls kein passendes Bild im Verzeichnis existiert, oder die Rufnummer unterdrückt ist, wird der Wert "none" zurückgegeben (kann mit dem Attribut contactDefaultImage übersteuert werden).
  • Sofern Attribut contactImageDirectory (Verzeichnis) gesetzt ist, wird (sofern TR-064 benutzt wird, ist ja aber der Standard) nach Kontaktbildern in den FritzBox-Telefonbüchern gesucht und diese dann in das Verzeichnis entsprechend heruntergeladen. Dadurch werden die Kontaktbilder aus der FritzBox direkt verwendet. Man kann dies jedoch mit dem Attribut contactImageViaTR064 auch abschalten, falls man das nicht möchte. Falls beim herunterladen der Kontaktbilder das Verzeichnis nicht existieren sollte, wird FHEM versuchen es selbstständig anzulegen

Setzt man also nur das Attribut contactImageDirectory bekommt man direkt alle Kontaktbilder aus der FritzBox in ein Verzeichnis und kann diese nutzen. In dem Reading "contact_image" steht dann lediglich der Dateiname drin. Die Dateiendung kann dabei beliebig gewählt werden.

Möchte man das Foto in FTUI einbinden, sollte man ein Verzeichnis unterhalb von "www" wählen, sodass man auf die Bilder per HTTP zugreifen kann (bspw. "www/contact_images" als contactImageDirectory, dann kann man per http://..../fhem/contact_images/012345456.jpg darauf zugreifen)

FB_CALLLIST

  • Sofern Attribut contactImageDirectory (Verzeichnis) gesetzt ist, wird für jeden Anruf geschaut, ob es darin ein Bild mit der externen Rufnummer existiert (z.B. "0123234568.jpg"), wenn ja, wird das Bild als Kontaktbild direkt in der Anrufliste angezeigt (Spalte "image"). Die Spalte "image" wird standardmäßig nicht angezeigt und muss in dem Attribut visible-columns explizit eingeblendet werden.
  • Sollte in dem Verzeichnis kein passendes Bild existieren oder die Rufnummer unterdrückt sein, wird kein Bild angezeigt und auch kein zugehöriges Reading erzeugt. Man kann in diesem Falle mit dem Attribut contactDefaultImage ein alternatives Bild anzeigen lassen, welches in dem Verzeichnis vorhanden sein muss (z.B. "unknown.jpg")


Wenn man nun beide Module auf dasselbe contactImageDirectory konfiguriert, welches unterhalb des www-Verzeichnis liegt (bspw. "www/contact_images"), kann man mit FTUI die Kontaktbilder aus der FritzBox direkt in FB_CALLLIST nutzen. Mann kann das aber auch unabhängig von FB_CALLMONITOR machen, indem man reinweg die Bilder in das entsprechende Verzeichnis manuell ablegt.

Die Größe der Bilder ist für die FB_CALLLIST egal, da diese durch den Browser auf eine einheitliche Höhe skaliert werden. Es empfiehlt sich aber dennoch die Bilder vorher entsprechend zu verkleinern, da sonst bei der Aktualisierung der Liste das Bild jedesmal in voller Größe an den Browser übertragen wird.

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)

doman75

Hallo,

muss man das contactImageDirectory so angeben "/www/contact_images"?
Verzeichnis habe ich dort angelegt und die beiden attr auch gesetzt bei Callmon und Calllist aber ich sehe keine Bilder. Habe auch die Spalte images mit ausgewählt.

Ich benutze in der FB das Google Telefonbuch oder muss ich das Fritzbox eigene verwenden?

Grüße
Swen

Markus Bloch

Hallo Sven,

die Verzeichnisangabe ist klassisch wie bei deinem Betriebsystem. Bei Unix-artigen Betriebssystemen ist ein Pfad der mit "/" beginnt ein absoluter Pfad in deinem Dateisystem. Ohne ein führendes "/" ist es ein relativer Pfad zur fhem.pl mein Beispielvorschlag war dabei immer "www/contact_images" also ohne führendes Slash, was also eine relative Pfadangabe ausgehend von dem Ort der fhem.pl darstellt.

Zu deinem Google-Telefonbuch. An sich würde das auch funktionieren. Ich habe es aber im Vorfeld nicht getestet. Ich habe soeben mal einen Test mit dem Google-Telefonbuch gemacht. Die Kontaktfotos werden auch in der FritzBox Oberfläche angezeigt, allerdings beim herunterladen der Kontaktfotos über die TR-064-API kommt bei den Google-Bildern ein HTTP Fehler "404 Not Found". Warum, kann ich mir nicht erklären. Beim googlen nach diesem Problem habe ich auch andere Softwareprojekte gefunden die das gleiche Problem haben. Ich werde dazu wohl mal den AVM Support kontaktieren müssen.

Mit dem internen Telefonbuch funktionierts. Mit dem Google-Telefonbuch muss ich noch forschen, warum die FritzBox mir das Bild nicht rausrückt, obwohl sie es anbietet.

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)

doman75

Hallo Markus, das mit der Pfadangabe habe ich nur gefragt weil es eben bei mir nicht ging und ich davon ausgegangen bin das es mit dem Google Telefonbuch auch gehen müsste da das Fritzfon ja auch das Bild anzeigt.

Aber nun liegt es ja doch am Google Telefonbuch, danke das du dir das mal anschaust.

Grüße
Swen

Zitat von: Markus Bloch am 09 Januar 2019, 11:31:23
Hallo Sven,

die Verzeichnisangabe ist klassisch wie bei deinem Betriebsystem. Bei Unix-artigen Betriebssystemen ist ein Pfad der mit "/" beginnt ein absoluter Pfad in deinem Dateisystem. Ohne ein führendes "/" ist es ein relativer Pfad zur fhem.pl mein Beispielvorschlag war dabei immer "www/contact_images" also ohne führendes Slash, was also eine relative Pfadangabe ausgehend von dem Ort der fhem.pl darstellt.

Zu deinem Google-Telefonbuch. An sich würde das auch funktionieren. Ich habe es aber im Vorfeld nicht getestet. Ich habe soeben mal einen Test mit dem Google-Telefonbuch gemacht. Die Kontaktfotos werden auch in der FritzBox Oberfläche angezeigt, allerdings beim herunterladen der Kontaktfotos über die TR-064-API kommt bei den Google-Bildern ein HTTP Fehler "404 Not Found". Warum, kann ich mir nicht erklären. Beim googlen nach diesem Problem habe ich auch andere Softwareprojekte gefunden die das gleiche Problem haben. Ich werde dazu wohl mal den AVM Support kontaktieren müssen.

Mit dem internen Telefonbuch funktionierts. Mit dem Google-Telefonbuch muss ich noch forschen, warum die FritzBox mir das Bild nicht rausrückt, obwohl sie es anbietet.

Viele Grüße

Markus

ToKa

Hallo zusammen,

zunächst einmal vielen Dank für die tolle Erweiterung. Leider stürzt mein fhem ab bzw. die Verbindung zur Weboberfläche ist weg. Beim ersten Mal hat ein stop/start des fhem Service ausgereicht. Beim zweiten Mal musste ich den Pi neu starten.

Im Log findet sich nur die folgende Meldung:
2019.01.09 20:30:49 2: FB_CALLMONITOR (ZS_zs_NW_CallMonitor) - read 103 contacts from remote phonebook "Telefonbuch"
Can't "continue" outside a when block at ./FHEM/72_FB_CALLMONITOR.pm line 1896.


Nicht alle 103 Kontakte haben ein Bild.

Kann ich noch etwas zur Fehlersuche beitragen?

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Markus Bloch

Hallo Torsten,

ja, das ist ein Fehler, den ich heute bereits gefixt habe. Das Problem wurde bereits unter https://forum.fhem.de/index.php/topic,95595.0.html gemeldet.

Ich habe eine Änderung heute bereits eingecheckt. Gibts ab morgen via update.

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)

ToKa

Hallo Markus,

sorry das hatte ich nicht gesehen.

Danke und Gruß
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

rischbiter123

Moin Markus,

erst mal Danke für die Erweiterung der Module. Jetzt hätte ich allerdings noch eine Frage/Bitte. Ist es möglich, statt des Default-Images den Namen anzuzeigen, wenn kein Anruferbild vorhanden ist? Oder müsste man über das attr 'contactDefaultImage' eine Sub aufrufen, die das dann entsprechend zurückgibt?

LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

spooy99

#24
Hallo - Danke für die Erweiterung!
Ich habe das Attr. "contactImageDirectory: www/contact_images" angelegt und erhalte nun im Log folgende Meldung:


2019.01.11 19:30:37.297 3: FB_Callmonitor device opened
2019.01.11 19:30:44.706 3: FB_CALLMONITOR (FB_Callmonitor) - found 3 phonebooks
2019.01.11 19:30:48.220 3: FB_CALLMONITOR (FB_Callmonitor) - found 1 blocking rules (deflections)
2019.01.11 19:30:49.032 2: FB_CALLMONITOR (FB_Callmonitor) - read 88 contacts from remote phonebook "Telefonbuch"
2019.01.11 19:30:50.041 2: FB_CALLMONITOR (FB_Callmonitor) - read 170 contacts from remote phonebook "Eltern"
2019.01.11 19:30:50.891 2: FB_CALLMONITOR (FB_Callmonitor) - read 88 contacts from remote phonebook "Blockliste"
2019.01.11 19:31:19.215 2: FB_CALLMONITOR (FB_Callmonitor) - [b]downloaded 34 contact images from all phonebooks[/b]


Im Filesystem wurde durch das Modul nun auch der Ordner angelegt und hat als Besitzer fhem (0755). Der Ordner bleibt jedoch leider leer - also ein Download der Images erfolgt nicht. Ein List des FB_Callmonitor gibt u.a. Folgendes aus:


IMAGE_URLS:
/download.lua?path=/var/InternerSpeicher/FRITZ/fonpix/1334160603-0.jpg:
         09XXXXXX
       /download.lua?path=/var/InternerSpeicher/FRITZ/fonpix/1368029133-0.jpg:
         03XXXXXX
       /download.lua?path=https://www.google.com/m8/feeds/photos/media/XXXXXXXXXXXXXXXXXXXXXXX,&quot;e2R0Dkk-bCt7I2BIGFRXZioNL3sLEXMBVxU.&quot;:
         01XXXXXX
         03XXXXXX


Also sowohl Bild-Info aus lokalen (Fritzbox) als auch extern synchronisierten Telefonbüchern (Google) erscheinen.

Dachte es erfolgt der Download auf Fhem um auch von dort aus direkt (FTUI) weiterverwendet werden zu können?!

Danke!


FHEM auf Debian unter Hyper-V, HMLAN und KNX
Sonst: Fritzbox, Yamaha RX-V2065, Fröling S4 per MQTT, Enigma, Robonect, Hue, LG

Markus Bloch

Hallo Spooy99,

bitte stell zunächst mal das Attribut "verbose" für deine FB_CALLMONITOR-Definition "FB_Callmonitor" auf 5 und für dann nochmal erneut den Set-Befehl "rereadPhonebook" aus. Was genau steht dann nach der Zeile "downloaded 34 contact images from all phonebooks"?

Bilder aus Google-Telefonbüchern funktionieren leider nicht, da hier die AVM-API offenbar ein Problem hat (siehe: https://forum.fhem.de/index.php/topic,92636.msg884375.html#msg884375). Ich habe hierzu bereits AVM angeschrieben, allerdings nachwievor keine Antwort erhalten.

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)

spooy99

Hallo - Danke für die Hilfe...

gesamtes Logfile kommt per PN - beim Versuch die Bilder von der Fritzbox zu holen kommt jedenfalls ein 404-Fehler (sowohl interne als auch externe Telefonbücher):


2019.01.12 10:52:56.097 4: FB_CALLMONITOR (FB_Callmonitor) - requesting TR-064 URL: /download.lua?path=/var/InternerSpeicher/FRITZ/fonpix/1333791068-0.jpg&sid=476614b1f9cec90f
2019.01.12 10:52:57.027 5: FB_CALLMONITOR (FB_Callmonitor) - received TR-064 response for URL /download.lua?path=/var/InternerSpeicher/FRITZ/fonpix/1333791068-0.jpg&sid=476614b1f9cec90f:
<HTML><HEAD><TITLE>404 Not Found (ERR_NOT_FOUND)</TITLE></HEAD><BODY><H1>404 Not Found</H1><BR>ERR_NOT_FOUND<HR><B>Webserver</B> Sat, 12 Jan 2019 09:52:56 GMT</BODY></HTML>

2019.01.12 10:52:57.887 4: FB_CALLMONITOR (FB_Callmonitor) - requesting TR-064 URL: /download.lua?path=https://www.google.com/m8/feeds/photos/media/XXXXXX%40gmail.com/1e53ce8709a09795,240,"KwxKZH0jWit7I2A8Kk0SbRlSPgwcIE1lRFQ."&sid=476614b1f9cec90f
2019.01.12 10:52:58.736 5: FB_CALLMONITOR (FB_Callmonitor) - received TR-064 response for URL /download.lua?path=https://www.google.com/m8/feeds/photos/media/XXXXXX%40gmail.com/1e53ce8709a09795,240,"KwxKZH0jWit7I2A8Kk0SbRlSPgwcIE1lRFQ."&sid=476614b1f9cec90f:
<HTML><HEAD><TITLE>404 Not Found (ERR_NOT_FOUND)</TITLE></HEAD><BODY><H1>404 Not Found</H1><BR>ERR_NOT_FOUND<HR><B>Webserver</B> Sat, 12 Jan 2019 09:52:58 GMT</BODY></HTML>


Habe auf der 7490 das aktuelle Labor-Image (FRITZ!OS: 07.08-64610 BETA) - und Fhem läuft auf Wheezy, Perl Version: 5.14.2)

Danke!
FHEM auf Debian unter Hyper-V, HMLAN und KNX
Sonst: Fritzbox, Yamaha RX-V2065, Fröling S4 per MQTT, Enigma, Robonect, Hue, LG

Markus Bloch

Hallo spooy99,

das die internen Bilder bei Dir auch nicht funktionieren finde ich sehr merkwürdig. Ich würde das auf die Beta-Firmware schieben. Bei mir und auch bei anderen Usern hat der Download der internen Bilder problemlos funktioniert. Das die Google-Bilder nicht funktionieren ist generell bekannt, hier fehlt mir nachwievor noch die Antwort von AVM.

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)

rischbiter123

Moin Markus,

kann man eigentlich dem DefaultImage auch verschiedene Bilder zuordnen? Also eine sub aufrufen, die je nach Fall ein anderes Bild zurückgibt?

Wenn ja, wie müsste der korrekte Aufruf lauten, stehe im Moment etwas auf dem Schlauch.

LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

Markus Bloch

Hallo Andreas,

nein, das ist so nicht möglich. Das Attribut "contactDefaultImage" soll nur einen Dateinamen enthalten. Eine dynamische Generierung ist hier aktuell nicht möglich und von meiner Seite her auch nicht geplant.

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)