FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Hyco am 31 Dezember 2013, 17:10:57

Titel: Name des Anrufers im FB_CALLMONITOR
Beitrag von: Hyco am 31 Dezember 2013, 17:10:57
Hallo, ich bin noch FHEM-Frischling!
Ich habe heute den FB_CALLMONITOR aktiviert. Ziel ist es, dass FHEM mir den Anrufer nennt und verschiedene Schalter betätigt.
Ich habe es bereits geschafft, dass mir die Telefonnummer des Anrufers vorgelesen wird. Allerdings wird mir bei external_name immer "unknown" angezeigt. Wie kann ich es schaffen, dass mir der richtige Name aus der Fritz-Box ausgelesen und als external_name angezeigt wird? Ich finde irgendwie nichts im Forum und dem Wiki dazu.
Vielen Dank!
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: Rince am 31 Dezember 2013, 22:33:34
Wenn du mal den von dir verwendeten Code posten würdest, könnte ein Leser damit mehr anfangen ;)

Beste Grüße

Rince
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: det. am 01 Januar 2014, 03:56:14
1.) Pflege des lokalen Telefonbuches der FB  - alle Kontakte die Du irgendwie mal wieder verwenden willst dort rein
2.) dieses Telefonbuch einbinden - wie siehe commandref bei FB_CALLMONITOR


und es wird erstaunlicher Weise funktionieren!
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: Hyco am 01 Januar 2014, 11:48:11
Ich wünsche Euch ein gesundes neues Jahr und vielen Dank für Eure Antworten.
Folgenden Code habe ich in der fhem.cfg eingetragen:
define FritzBox FB_CALLMONITOR 192.168.xxx.xxx
attr FritzBox room System
## Jemand ruft mich an
define TelefonAN notify FritzBox:event:.ring { \
  my $number=(ReadingsVal("FritzBox","external_number",""));;\
  my $telname=(ReadingsVal("FritzBox","external_name",""));;\
  if ($number != 1234567)  { fhem("set TTS Achtung ein Anruf von $telname $number");;} \
}

Wie gesagt, die Nummer wird auch brav angesagt. Ich habe leider auch in der commandref keine Code-Beispiele für das Einbinden des FritzBox-Telefons gefunden.
Ich muss wohl irgendwie das Attribut "reverse-search-phonebook-file" nutzen - habe jedoch noch keinen Plan zur Perl-Syntax.
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: Rince am 01 Januar 2014, 20:15:01
Oha,

da gibt es seit kurzem ein Problem:
Du musst dein Telefonbuch von der Fritte sichern. Das geht aber nicht, wenn du es direkt mit deinem Google Account verknüpft hast *ops*.

Ansonsten:
Das Telefonbuch auf der Fritzbox auswählen
Ganz unten steht "Sichern"

Dieses xml File bringst nun auf deinen FHEM Rechner.
In meinem Beispiel .log/

Hier mal meine Config:

##########FB callmonitor#########

define Fritz_Box FB_CALLMONITOR 192.168.10.1
attr Fritz_Box local-area-code 089
attr Fritz_Box reverse-search all
attr Fritz_Box reverse-search-cache 1
attr Fritz_Box reverse-search-cache-file ./log/Fritz_Box-%Y.log Fritz_Box
attr Fritz_Box reverse-search-phonebook-file ./log/Fritz_Box_Telefonbuch_Andi.xml
attr Fritz_Box room Arbeit
# attr Fritz_Box icon icoWelt
define FileLog_Fritz_Box FileLog ./log/Fritz_Box-%Y.log Fritz_Box
attr FileLog_Fritz_Box logtype text
# attr FileLog_Fritz_Box room Technik

### Ende



Edit:
Habe dein Codebeispiel ausprobiert.
Liest brav den Namen und die Nummer vor. Jetzt währe noch eine Sonderbehandlung von unbekannten Anrufern schick ;)
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: Rince am 01 Januar 2014, 22:13:52
Ok,
falls du deine Kontakte mit Google oder sonst einem Anbieter synchronisierst, und daher keine XML ausspielen kannst, dann besorg dir dieses Programm:
http://software.nv-systems.net/ccw/download/

Damit kannst du deine Kontakte als FritzBox XML speichern, die scheint FHEM zu akzeptieren :)
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: Hyco am 02 Januar 2014, 10:55:12
Guten Morgen,

mit Deinen Code-Beispielen hat es jetzt gut geklappt!
Vielen Dank!
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: Rince am 02 Januar 2014, 19:28:01
Gerne. Immerhin hast du mir gezeigt, wie man mit meinem TTS Gebastel Variablen vorlesen kann :)

Darf ich das als Codebeispiel zu Dokuzwecken  benutzen?
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: Hyco am 02 Januar 2014, 20:43:37
Klar - sehr gern!
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: michael27983 am 26 März 2014, 17:38:04
Ich bekomme hier immer Fehler:

2014.03.26 17:34:04 3: Fritz_Box device opened
2014.03.26 17:34:04 3: FB_CALLMONITOR: loading cache file ./log/fbcache.txt
2014.03.26 17:34:04 2: FB_CALLMONITOR: Fritz_Box read no contacts from Cache
2014.03.26 17:34:04 2: FB_CALLMONITOR: Fritz_Box found FritzBox phonebook ./log/Fritz_TB.xml
2014.03.26 17:34:05 2: FB_CALLMONITOR: Fritz_Box read 252 contacts from FritzBox phonebook
2014.03.26 17:34:05 1: Including ./log/fhem.save
2014.03.26 17:34:32 1: CustomGetFileFromURL nginx: malformed or unsupported URL

Meine Config. - Die Kontakte werden nicht angezeigt. Meine Absicht ist eigentlich den Anrufenden Kontakt per Sprachausgabe ansagen zu lassen.


define FileLog_Fritz_Box FileLog ./log/Fritz_Box-%Y.log Fritz_Box
attr FileLog_Fritz_Box logtype text
attr FileLog_Fritz_Box room Telefon

define Fritz_Box FB_CALLMONITOR 192.168.0.1:1012
attr Fritz_Box local-area-code 02509
attr Fritz_Box reverse-search all
attr Fritz_Box reverse-search-cache 1
attr Fritz_Box reverse-search-cache-file ./log/fbcache.txt
attr Fritz_Box reverse-search-phonebook-file ./log/Fritz_TB.xml
attr Fritz_Box room Telefon
attr Fritz_Box userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 C0 C1 C2 C3 C4 D0 D1 D2 D3 D4 E0 E1 E2 E3 E4
attr Fritz_Box verbose 0
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: Rince am 26 März 2014, 23:41:02
Der Fehler klingt nicht nach einem Callmonitor Fehler.
Ein verbose 0 auf den Callmonitor dürfte auch jeden Fehler effektiv verstecken. Wenn da wirklich was falsch liefe, solltest du verbose auf 3 oder gar 5 setzen. Dann würde man schöner sehen, was passiert.

Der cfg Auszug von Hyco funktioniert sehr gut und liefert eine wunderbare Sprachausgabe.
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: michael27983 am 27 März 2014, 08:02:11
Ok, die nummer wurde nicht aufgelöst, weil meine eigene Telefonnummer (Handy) tatsächlich nicht im Telefonbuch stand ;)
Aber der Fehler bleibt.

2014.03.26 17:34:32 1: CustomGetFileFromURL nginx: malformed or unsupported URL

Das schaue ich mir dann einmal heute Abend an.
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: fiedel am 27 März 2014, 08:14:41
Hier (http://forum.fhem.de/index.php/topic,14425.msg111732.html#msg111732) ist zu dem Fehler was beschrieben.

Gruß

Frank
Titel: Antw:Name des Anrufers im FB_CALLMONITOR
Beitrag von: der-Lolo am 31 März 2014, 12:36:03
cool tts!
jetzt wäre noch toll die durchsage solange zu speichern bis der Android wieder verfügbar ist...