Telefone sollen klingeln - aber wie

Begonnen von kblc, 07 Dezember 2014, 11:49:58

Vorheriges Thema - Nächstes Thema

kblc

Hallo mal wieder.

Ich bin solo glücklich, dass es dieses Forum gibt. Das ist echt viel wert. Da kann man unheimlich viel lernen.
Vielen Dank an dieser Stelle.

Jetzt zu meiner Frage:

Ich habe FHEM noch (hoffentlich nur noch bis Weihnachten) auf der FB7390.
Ich habe einen Dummy erstellt. Wenn dieser Dummy eingeschaltet wird, soll bei mir das Telefon klingeln. Mir reicht schon eines, egal welches.

Endziel:
Wenn in der Homematic der Klingelsensor (CUxD) reagiert (also jemand klingelt und der Sensor es bemerkt) dann schaltet ein Signal den Dummy Klingel_an in FHEM auf "on". Es soll dann das Telefon klingeln. Die Verbindung von Homematic zu FHEM ist erst mal kein problem. Aber ich will es schaffen, dass das Telefon klingelt, wenn ich in FHEM den Lampendummy "Klingel_on" einschalte.

Jetzt habe ich ein bisschen lange rumprobiert. Sehr lange. Aber es tut sich nichts.

Ich habe eine 99_myUtils.pm erstellt mit folgenden Inhalt:
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;

###################################################################
# Telefone der FB klingeln beim Betätigen der Türklingel
#
sub
FBCallr($$$$$$)
{
use Net::Telnet;
my $name = "fbcallr";
my ($Fon,$CallNr,$Duration,$Port,$User,$Password)= @_;
my $telnet = new Net::Telnet ( Timeout=>10, Errmode=>'die');
Log GetLogLevel($name,1), "$name: Connecting to FritzBox:$Port";
$telnet->open($Port);
$telnet->print($User);
$telnet->waitfor('/Password: $/i');
$telnet->print($Password);
$telnet->waitfor('/# $/i');
Log GetLogLevel($name,1), "$name: Dialing to FritzBox: from:$Fon to:$CallNr...";
$telnet->print('echo "ATP'.$Fon.'2 ATD**'.$CallNr.'" | nc 127.0.0.1 1011');
my $output = $telnet->waitfor('/# $/i'); print $output;
Log GetLogLevel($name,1), "$name: Dialing:$Duration seconds...";
sleep($Duration);
Log GetLogLevel($name,1), "$name: HangOn to FritzBox...";
$telnet->print('echo "ATH0" | nc 127.0.0.1 1011');
$output = $telnet->waitfor('/# $/i'); print $output;
Log GetLogLevel($name,1), "$name: Disconnecting...";
$telnet->print('exit');
return;
}

}
1;


In der fhem.cfg habe ich folgende Zeile programmiert:

define notify_Klingel notify Klingel:on {FBCallr(1,"**9",30,"192.168.78.1","ftpuser","9934439")}

**9 (alle Telefone sollen klingeln)
192.168.78.1 (Adresse der FB)
ftpuser (habe ich gelassen. Der Benutzer)
9334339 (für die Öffentlichkeit hier geändertes Passwort der FB; in meinem Code ist mein Passwort an der Stelle drinnen)

Es klingelt kein Telefon und es tut sich nichts.
Aber in der Logfile erscheint folgender Text:

2014.12.07 11:18:43 3: FS20 set Klingel on
2014.12.07 11:18:43 1: fbcallr: Connecting to FritzBox:192.168.78.1
2014.12.07 11:18:44 1: fbcallr: Dialing to FritzBox: from:1 to:**9...
2014.12.07 11:18:44 1: fbcallr: Dialing:30 seconds...
2014.12.07 11:19:14 1: fbcallr: HangOn to FritzBox...
2014.12.07 11:19:14 1: fbcallr: Disconnecting...
2014.12.07 11:19:14 3: LichtWM17AN return value: <xml><exec>/fhem2ccu.exe</exec><sessionId></sessionId><httpUserAgent></httpUserAgent><Status>false</Status></xml>


Also macht doch FHEM was, oder etwa nicht?

Ich habe gelesen, dass es etwas mit dem Befehl nc zu tun haben könnte. Abe ich kenne mich da zu wenig aus.

Wie kann ich weiter vorgehen damit ich die Dinger zum klingeln bekomme.

Ach ja, einen schönen 2. Advent wünsche ich.
Kai aus Oberfranken.
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Elektrolurch

Sieh Dir mal das Modul "FRITZBOX" an, da gibt es den Befehl

set fb ring ...

Gruß


Elektrolurch
configDB und Windows befreite Zone!

kblc

Hallo,
danke für die schnelle Antwort.

Darf ich noch mal ganz blöd fragen?:

Wo finde ich das Modul Fritzbox?

Danke
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Elektrolurch

In der CommandRef, wo sich alle Module befinden -> Das Modul heißt FRITZBOX wie FS20....
configDB und Windows befreite Zone!

kblc

Dankeschön das war ein klasse Hinweis. Hab mich auch gleich drüber gemacht.

Warum finde ich bei mir, wenn ich in meinem FHEM auf CommandRef klicke, keinen Eintrag "Fritzbox". Hab es zwar im Internet gefunden, aber es klappt leider nicht.

Mein versuch:
Ich habe im Eingabefeld die Befehle:
t FritzBox startradio **611 [Marina]
set FritzBox ring
get FritzBox ringTones


in FHEM ist die FritzBox definiert:
define FritzBox FB_CALLMONITOR 192.168.78.1:1012
attr FritzBox event-on-change-reading event
attr FritzBox reverse-search internal


Die Antwort von FHEM ist:
Unknown argument ring, choose one of rereadPhonebook
In der Logfile steht nix.


Kann ich noch was anderes versuchen? Mach ich was falsch? Ich komme an meine Grenzen, aber ich will sie überwinden. Deshalb freue ich mich sehr über eine Antwort.

Vielen Dank.
Kai
SPS, Arduino, Controllino, Sensortechnik, Elektronik