Hallo,
ich habe FHEM auf einer FB7240 laufen, die als WLAN-Repeater und als DECT-Repeater für eine FB7270 konfiguriert ist.
Zusätzlich kann die 7240 einen Rundruf auch an die Telefone senden, die an der anderen FB hängen.
Das geschieht über '*#**9'.
Per Analogtelefon funktioniert das auch, nur FHEM meckert mit einem "unknown command"-Fehler, weil es die Raute als Kommentarbeginn interpretiert. Rundrufe innerhalb der FHEM-Fritzbox mit '**9' funktionieren einwandfrei.
Trotz stundenlanger Suche im Internet komme ich hier nicht weiter.
Du könntest die Anwahlprozedur in ein separates Shellscript auslagern und dieses von FHEM aus aufrufen.
Zitat von: Ralph schrieb am So, 26 Mai 2013 18:18Du könntest die Anwahlprozedur in ein separates Shellscript auslagern und dieses von FHEM aus aufrufen.
Die Idee ist gut, nur bin ich damit etwas überfordert, was perl- und shellscripte betrifft. Ich habe den eigentlichen Anwahlprozess wie im WIKI beschrieben in der 99_myUtils.pm
##############################################
# $Id: 99_Utils.pm 1932 2012-10-06 20:15:33Z ulimaass $
package main;
use strict;
use warnings;
use POSIX;
sub
Utils_Initialize($$)
{
my ($hash) = @_;
}
sub
FritzBoxCallnr ($)
{
my ($callnr) = @_;
$callnr = "ATDT".$callnr."#";
my $ret = "ATD: " . `echo $callnr | nc 127.0.0.1 1011` ;
InternalTimer(gettimeofday()+10, "FritzBoxHangOn", "", 0);
return
}
sub
FritzBoxHangOn ()
{
my $ret = " ATH: " . `echo "ATH" | nc 127.0.0.1 1011` ;
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
return
}
1;
##########################################################################
und in der fhem.cfg
define KlingelNotify notify Sim_LED_Leiste:on {\
FritzBoxCallnr ('*#**9')\
}
Ach so, ich vergaß ...
Die Methode des Script-Aufrufs findest Du hier:
Link (http://forum.fhem.de/index.php?topic=12838.msg77760#msg77760)
und den Telefonie-Aufruf baust Du einfach in die aaa.scr ein.
Bin unterwegs und kann Dir das hier nicht vordenken.
Ich muss meinen Wunsch wohl aufgeben:
Nachdem auch eine direkte Eingabe per Telnet dieses Wählcodes nicht funktioniert, muss es am Betriebssystem der FB liegen.
Wahl am analogen Telefon (Rundruf zur anderen Fritzbox) mit '*#**9' klappt.
per Telnet mit echo "ATDT*#**9" | nc 127.0.0.1 1011 klappts nicht, wohl aber mit echo "ATDT**9" | nc 127.0.0.1 1011
Ein Quick 'n Dirty wäre der Eintrag der eigenen (externen) Telefonnummer im Telefonbuch und deren Anwahl mit der Kurzwahlnummer aus fhem (klappt).
Der Eintrag von '*#**9' im Telefonbuch und Anwahl über Kurzwahlnummer klappt dagegen auch nicht.
Ein Netcat-aufruf an die entfernte FB scheitert an 'Connection refused'.
Vielleicht hat ja doch noch einer eine zündende Idee?
Gruß
Reimer
Problem doch gelöst!
Bei einem Rundruf innerhalb einer FB reicht der normale Rundrufbefehl. Bei einer Slave-FB muss der Rundrufnummer die "Line-Out"-Vorwahl (bei mir *122#) vorangestellt werden:
sub
FritzBoxTuer ()
{
my $ret = "ATD: " . `echo "ATD*122#*#**9#" | nc 127.0.0.1 1011` ;
InternalTimer(gettimeofday()+20, "FritzBoxHangOn", "", 0);
return
}
sub
FritzBoxHangOn ()
{
my $ret = " ATH: " . `echo "ATH" | nc 127.0.0.1 1011` ;
$ret =~ s,[\r\n]*,,g;
return
}
Allerdings hatte ich Probleme, diese lange Rufnummer als Variable für FritzBoxCallnr() zu übergeben. Deshalb habe ich die Nummer direkt in die 99_myUtils.pm gepackt und "HEUREKA....". Es klappt.
Stören tut jetzt nur die relativ lange Latenzzeit von 7 sec zwischen Klingelknopf-drücken und Anrufsignalisierung.
Gruß
Reimer
Hallo
Wie kann ich das mit der FB7390 verwenden wenn FHEMauf einem Raspberry läuft?
Beste Grüße
Heinz