Anruferansage – Wer ruft an?

wer ruft an
Bild: CC0 / Gerd Altmann

Wer kennt es nicht: Man sitzt gemütlich auf der Couch und das Telefon klingelt. Aber ist es wieder nur ein nerviger Werbeanruf und das Aufstehen lohnt sich sowieso nicht, oder ruft jemand aus der Verwandtschaft an?! Bevor man aufsteht, weiß man zukünftig Bescheid, da mithilfe von Sonos und der FritzBox eine Anruferansage möglich ist. Wie das funktioniert, möchte ich euch nachfolgend Schritt für Schritt erklären.

Die Voraussetzungen für die Anruferansage

Damit die Anruferansage funktioniert, werden 3 wesentliche Punkte benötigt. Ein Sonos Lautsprecher (oder anderer, über FHEM steuerbarer Lautsprecher), eine FritzBox und FHEM.

Angebot Sonos Play:1 Smart Speaker, schwarz - Kompakter &...
Angebot AVM FRITZ!Box 7590 High-End WLAN AC + N Router (VDSL-/ADSL,...

Letzte Aktualisierung am 27.08.2019 um 11:13 Uhr | Werbung | Bilder: Amazon Product Advertising API

Wer zu diesem Zeitpunkt noch keine lauffähige FHEM Installation auf einem Raspberry Pi besitzt, der kann sie sich Step-by-Step nach unserer Anleitung installieren: Howto: FHEM Server auf Raspberry einrichten

FritzBox und FHEM verbinden

Damit die FritzBox gleich mit FHEM kommunizieren kann, müssen diese vorab miteinander verbunden werden. Dazu ist es notwendig, weitere Module über SSH auf dem Raspberry Pi zu installieren. Also per SSH eingeloggt und folgende Pakete nachinstallieren:

sudo apt-get install libjson-perl libwww-perl libsoap-lite-perl libjson-xs-perl

Nach der Installation wird in FHEM die FritzBox definiert. Dazu wird der Code in die obere Zeile eingefügt und mit Enter bestätigt. Ich habe meine Definition als fritzbox bezeichnet. Hier ist ein beliebiger Name möglich.

define fritzbox FRITZBOX

fhem fritzbox define

Wenn die FritzBox nicht unter der Standard-IP erreichbar ist, muss noch die IP-Adresse entsprechend konfiguriert werden. Sollte sie über fritz.box erreichbar sein, ist dieser Schritt nicht notwendig.

define fritzbox FRITZBOX IP-ADRESSE

Ist die Weboberfläche der FritzBox abgesichert (durch Passwort und/oder Benutzernamen), so müssen auch diese Daten eingefügt werden.

attr fritzbox boxUser Benutzername
set fritzbox password Passwort

Ist die Oberfläche nur durch ein Passwort gesichert, genügt der password set Befehl.

Damit die FritzBox auch Kommandos von FHEM entgegen nimmt, wird die TR064 Schnittstelle aktiviert.

attr fritzbox allowTR064Command 1

Callmonitor aktivieren

Grundsätzlich sei zu sagen: Möchte man anhand der eingehenden Rufnummer filtern, benötigt man den Callmonitor nicht zwingend. Nutzt man hingegen das interne Telefonbuch der FritzBox, da man auch bspw. das FritzFon besitzt, empfiehlt es sich den Callmonitor zu aktivieren, da dann der Name des Anrufers in FHEM angezeigt wird.

Also zunächst den Callmonitor definieren. Die IP-Adresse wird entsprechend angepasst, die Standard-IP ist die 192.168.178.1. Der Name Telefon kann wieder beliebig gewählt werden.

define Telefon FB_CALLMONITOR 10.0.0.1

Nach einem Testanruf auf die eigene Rufnummer sollte nun schon entsprechend die Rufnummer angezeigt werden.

Soll nun, wie bei mir, der Anrufername des internen Telefonbuches angezeigt werden, muss nun das remote-phonebook aktiviert werden. Dazu die beiden Befehle nacheinander absetzen.

attr Telefon fritzbox-remote-phonebook 1
attr Telefon fritzbox-remote-phonebook-via tr064

Wie bereits schon beim Verbinden der FritzBox muss nun noch das Passwort und/oder der Username angegeben werden.

set Telefon Password PASSWORT
set Telefon fritzbox-user USER

Anruferansage

Im letzten Schritt muss nun noch das notify definiert werden. Hierzu habe ich folgenden Code zusammengestellt, sodass ich über meine Sonos Lautsprecher eine Ausgabe erhalte.

define Anruferansage notify Telefon:event:.ring {\
 my $name=(ReadingsVal("Telefon","external_name",0));;;;\
 if($name eq "Michael") {fhem ("set Sonos_Wohnzimmer Speak 30 de |notify| Michael ruft an.")};;;;\
 if($name eq "Person1") {fhem ("set Sonos_Wohnzimmer Speak 30 de |notify| Person1 ruft an.")};;;;\
 if($name eq "Person2") {fhem ("set Sonos_Wohnzimmer Speak 30 de |notify| Person2 ruft an.")};;;;\
 if($name eq "Person3") {fhem ("set Sonos_Wohnzimmer Speak 30 de |notify| Person3 ruft an.")};;;;\
 if($name eq "Person4") {fhem ("set Sonos_Wohnzimmer Speak 30 de |notify| Person4 ruft an.")}}

Man könnte natürlich auch andere Dinge dadurch schalten, hier kann man seinen Ideen freien Lauf lassen. Es könnte auch eine Lampe ein- und ausgeschaltet werden, die Farbe ändern und und und.

Demovideo

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Angebot Sonos Play:1 Smart Speaker, schwarz - Kompakter &...
Angebot AVM FRITZ!Box 7590 High-End WLAN AC + N Router (VDSL-/ADSL,...

Letzte Aktualisierung am 27.08.2019 um 11:13 Uhr | Werbung | Bilder: Amazon Product Advertising API

Wie hilfreich war dieser Beitrag?

Klicke auf einen Stern um eine Bewertung abzugeben!

Durchschnittsbewertung / 5. Bewertungen:

Schreibe einen Kommentar

Do NOT follow this link or you will be banned from the site!
WhatsApp Schicke uns eine WhatsApp!