Raspberry Pi Zero als Türkligel für TAE (FritzBox)

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich bin schon länger auf der suche eine Möglichkeit zu finden meine Klingel, kostengünstig, an meine FritzBox anzuschließen, so das meine Telefone klingeln, wenn bei mir jemand vor der Tür steht.

    Mir geht es dabei nicht um Video oder Audio. Es soll nur das Telefon klingeln.

    Eigendlich wollte ich auhc kein Pi benutzen ... "zu teuer" und einen Pi 24h am Tag laufen lassen nur dafür...

    Da ich heute vom Raspberry Pi zero gelesen habe und ich hoffe das es den bald unter 10,- EUR bei uns gibt, ist mir die Idee wieder in den Sinn gekommen es doch mit dem Pi zu realisieren.

    Jetzt meine Frage an euch. Hat jemand schon erfahrungen mit hilfe der GPIO einen analogen TAE Anschluss von z.b. eier FritzBox anzusprechen?
    Gibt es da schon Anschlusspläne und scripte?

    Also ich stelle mir das so vor.
    Ich habe zwei Klingel-Taster, die man an den Pi anschliessen müste. (Evtl. mit Relais oder so...)
    Über die restlichen Ein-/Ausgänge müste man dann an die TAE der FritzBox (TAE sind ja eigendlich auch nur 2 Adern)


    Über die Software würde man dan einen Internen Ruf simulieren, wenn jemand auf den Taster drückt.


    Premium wäre es wenn der Pi seinen Strom von der TAE bekommt, aber ich weis nicht ob dem Pi Zero die 50mA reichen, denke eher nicht.

    Gruß

    Christian

  • Raspberry Pi Zero als Türkligel für TAE (FritzBox)? Schau mal ob du hier fündig wirst!

  • und wozu der PI

    Das ginge mit einem Arduino stromsparender, egal wie wenig der Zero verbraucht!
    Aber da sind einige Gedankenfehler in deinem Plan.

    Die TAE speist ja nur mit Strom wenn der Hörer vom Telefon abgenommen wird, also müsste der µC (egal wer immer eine offene Leitung halten, manche schalten nach einer Weile ab, die T-kom z.B.)
    Kannst du ja selber testen an deiner Fritzbox, klemme dich an die TAE mit einem Strommesser und 600 Ohm Widerstand und lasse es so, es sollten 10-50mA Strom fliessen und die niemals ausgehen, dann könnte das einen Arduino versorgen.
    Damit der Arduino sich bemerkbar macht wenn einer klingelt braucht er doch nur IWV machen, also den schleifenstrom unterbrechen in schönen Impulsen und damit einen anderen internen Apperat anrufen, ist leichter als DTMF, aber manche Fritzboxen verstehen kein IWV mehr da muss man dann etwas mehr Aufwand treiben und DTMF in die Leitung koppeln, wieder mit einer passenden Gegenstellennummer.
    Automatisch zusammengefügt:
    ich denke da eher an einen Arduino micro 328p ohne USB Schnittstelle, spart noch mals Strom, zum Programmieren braucht man aber einen CH340 oder FTDI aber nur dafür !

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (11. Dezember 2015 um 19:49)

  • Christian,
    ohne extra etwas an die FB anzuklemmen, kannst Du einen Rundruf auch per FB/Api/Lua-Aufruf durchführen.
    Müsste dann irgendwo in Software gemacht werden, inkl. SID Ermittlung.
    ...
    http://fritzbox-ip/fon_num/dial_f…al=**59&sid=SID
    sleep 15
    http://fritzbox-ip/fon_num/dial_foncalls.lua?dial=0&sid=SID
    ...
    Dann kannst Du auch z.B nur DECT Telefone klingeln lassen.

    Bei mir schaltet die Türklingel ein Relais, welches wiederum zur Auswirkung hat, dass ein php Skript auf meinem Webserver aufgerufen wird und die Telefone 15sek. klingeln lässt.

    Grüsse
    giovanne

    Einmal editiert, zuletzt von giovanne (11. Dezember 2015 um 20:45)

  • Gerne.
    Wenn im Gegenzug noch jemand herausfindet, wie ich auf den Telefonen beim Klingeln einen individuellen Text wie "Haustuer" anzeigen kann?

    [code=php]<?php

    echo "\nFB_Tuerklingel.php: Call all over FB by #############\n";

    $duration = 15; # Dauer des Klingelns

    #logging
    $logging = fopen ("Haus_Fritzbox\\FB_Tuerklingel.log", 'a+');
    $newDate = date("d.m.Y"); # datum
    $newTime = date("H.i"); # zeit

    #logging
    fwrite ( $logging, "\nFB_Tuerklingel:". $newDate . " - " . $newTime);

    # **59 = Rundruf (interner S0-Bus und alle DECT-Telefone)
    # damit Asterisk nicht rangeht
    $rufnummer= "**59";

    //Fritzbox IP und Passwort der Box
    $FritzboxIP="192.168.0.1";
    $FritzboxPasswort="my_pwd";

    define('USER','callmonitor');
    define('PASS',$FritzboxPasswort);
    define('GOIN','http://'.%24fritzboxip.'/login_sid.lua');
    define('URL','http://'.%24fritzboxip.'/');
    define('SID',GetSid(USER,PASS));

    //SID holen
    function GetSid($user,$pass) {
    $inhaltSeite = file_get_contents(GOIN); $inhalt_simple = simplexml_load_string($inhaltSeite);$sid = $inhalt_simple->SID;
    if ($sid == "0000000000000000") { $GoinGoOut = $inhalt_simple->Challenge;
    $rsp = GetResponse($GoinGoOut,PASS);$kompletteUrl = GOIN."?username=".USER."&response=$rsp";
    $inhaltSeite = file_get_contents($kompletteUrl);$inhalt_simple = simplexml_load_string($inhaltSeite);$sid = $inhalt_simple->SID;}
    return $sid;}
    function GetResponse($GoinGoOut,$pass) { return $GoinGoOut."-".GetMD5Hash($GoinGoOut."-".PASS);}
    function GetMD5Hash($s){ return md5(mb_convert_encoding($s,"UCS-2LE","UTF-8"));}
    //Wählen der Nummer
    # **59 = Rundruf (interner S0-Bus und alle DECT-Telefone)
    # damit Asterisk nicht rangeht
    $dialON = file_get_contents(URL.'fon_num/dial_foncalls.lua?dial=**59&sid='.SID);
    //warten
    sleep($duration);
    //auflegen
    $dialOFF = file_get_contents(URL.'fon_num/dial_foncalls.lua?dial=0&sid='.SID);

    fwrite ( $logging, "\nSID => ".SID);
    fwrite ( $logging, "\nCommad ON => $dialON");
    fwrite ( $logging, "\nCommad OFF => $dialOFF");

    fclose ($logging);

    ?>[/php]

    Über Rückmeldung würde ich mich freuen, auch ggf. Verbesserungen etc.
    Zuletzt mit FW6.30 auf FB7490 getestet, die FW6.50 steht zum testen noch aus...

  • ich habe dein Script getestet, aber keine Möglichkeit gefunden, das "Türklingel" angezeigt wird.
    Wenn man Namen anzeigen möchte, mus man den Raspberry als als SIp-Client programmieren und an der FritzBox als Lan-Telefon anmelden.
    Hier kann man nachlesen wie das funktioniert.
    Der Nachteil an diesem Script ist, dass die Telefonen nur 10 sek. Klingeln.

    MfG Turbotoni

  • Ok, schau ich mir mal an. Aber bei mir ist dazu derzeit erstmal kein Raspi im Spiel und ich kann aktuell noch auf die Anzeige verzichten.
    Mal sehen ob einer der Raspis herhalten muss. Derzeit habe ich einen Raspi als Asterisk Sip Server zu Testzwecken an der Fritzbo, also umgekehrten Weg...

    Durch deinen Link hatte ich die Hoffnung, dass bei Umweg über einen Telefonbucheintrag für den Rundruf 'Turklingel' , wie beim Tefonbucheintrag vergeben, angezeigt würde. Wird aber leider auch irgendetwas mit ISDN-Rundruf oder so angezeigt :(

    Einmal editiert, zuletzt von giovanne (22. Dezember 2015 um 20:11)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!