FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: andi.riese am 10 September 2013, 16:54:51

Titel: AT - Befehle Fritzbox 7390 / Alle Telefone klingeln lassen
Beitrag von: andi.riese am 10 September 2013, 16:54:51
Hallo,
ich hab' 3 Fragen:

1. Wo finde ich eine Liste und Beschreibung der AT - Befehle für die Fritzbox (wie z.B. ATDT **9 | nc 127.0.0.1101)
2. Warum klingeln auf diesen Befehl "ATDT **9 | nc 127.0.0.1101" zwar alle Telefone 3 mal, aber nicht FON1 und
   wie kann ich das ändern?
  (Grund: Möchte, dass beim Türklingeln alle Telefone klingeln)
3. Kann man die Dauer des Klingelns steuern?

Danke im Voraus!

Andi
Titel: Aw: AT - Befehle Fritzbox 7390 / Alle Telefone klingeln lassen
Beitrag von: Ralph am 10 September 2013, 18:09:13
1.
http://www.ip-phone-forum.de/showthread.php?t=77281&s=1b783eb90d7e16d11248a73ab98434eb (//www.ip-phone-forum.de/showthread.php?t=77281&s=1b783eb90d7e16d11248a73ab98434eb)
Aber nicht alle gehen auch aus FHEM heraus.

2.
FON 1 klingelt nicht, weil das i. d. R. der die anderen "anrufende" Teilnehmer ist.
Der, der anruft, kann selber nicht klingeln.

3.
Nein, das ist von der Haltezeit der Rückfragefunktion abhängig.
Du kannst nur vorzeitig auflegen
Titel: Aw: AT - Befehle Fritzbox 7390 / Alle Telefone klingeln lassen
Beitrag von: andi.riese am 10 September 2013, 20:07:11
Hallo,

vielleicht kannst Du mir auch gleich noch eine Frage beantworten:

Wie kann ich "echo -e ATDT **9 | nc 127.0.0.1101"
mittels FHEM senden?

Konkret möchte ich auf das Drücken eines Schalters alle Telefone klingln lassen. Aber den Befehl echo gibts
in FHEM garnicht, obwohl die Eingabe im webfrontend funktioniert.

Danke im Voraus.
Andi

Titel: Aw: AT - Befehle Fritzbox 7390 / Alle Telefone klingeln lassen
Beitrag von: Ralph am 11 September 2013, 10:34:55
Zum Guttenbergen:
Link (http://forum.fhem.de/index.php?topic=13305.msg82225#msg82225)

Oder dem Suchbegriff = ATDT , da werden Sie geholfen
Titel: Aw: AT - Befehle Fritzbox 7390 / Alle Telefone klingeln lassen
Beitrag von: andi.riese am 11 September 2013, 10:54:28
Hab's jetzt nach Stunden selber gelöst und wieder 'was gelernt. Bin halt Anfenga.
Die Beispiele in den posts waren mir a) zu unverständlich b) zu kompliziert und haben c) bei mir nicht funktioniert.

So einfach geht das:

 {system('echo "ATDT**9" | nc 127.0.0.1 1011')}  

Danke trotzdem für die Hilfe.

Andi
Titel: Aw: AT - Befehle Fritzbox 7390 / Alle Telefone klingeln lassen
Beitrag von: PeMue am 11 September 2013, 22:29:11
Hallo Andi,

ich habe es bei mir so
sub FritzBoxCallNr($)
{
  my ($callnr) = @_;
  # $callnr = "ATDT".$callnr."#";    # standard, do not use for Fritz Box 7170
  $callnr = "ATP2 ATDT".$callnr."#"; # alternative for Fritz Box 7170 (uses phone 2)
  my $ret = "ATD: " . `echo $callnr | nc 127.0.0.1 1011`;
  # explanation of next line:
  # =~ binds $ret to regular expression
  # s ... search
  # [\r\n]* ... all CR, LF
  # ,, ... replace by nothing
  # g ... global replace
  $ret =~ s,[\r\n]*,,g;               # remove CR from return string
  InternalTimer(gettimeofday()+20, "FritzBoxHangOn", "", 0);
  return;
}

sub FritzBoxHangOn()
{
  my $ret = "ATH: " . `echo "ATH0" | nc 127.0.0.1 1011`;
  $ret =~ s,[\r\n]*,,g; # remove CR from return string
  return;
}
implementiert. Ohne ATP2 ging es bei mir damals nicht. Es gibt aber schon ein paar Threads zu dem Thema. Ggf. werde ich einen zusätzlichen Parameter (Dauer) implementieren.

Gruß PeMue