fritzbox modul / addin ?

hallo und guten abend !

ich habe mir gerade mal jfritz und die sprachausgabe für anrufer installiert. klappt wunderbar aber ist eben nicht ips :slight_smile:

gibt es vielleicht schon ein addin dafür? wäre eine suuuper sache :wink:

happy day und dank, frank

Hallo,

ein Tipp, probier mal die Suchfunktion mit dem Stichwort ‚JFritz‘. Du wirst erstaunt sein :smiley:

mfG Franz

hallo franz !

ich habe (fast) alles zum thema jfritz gelesen und es auch installiert. auch doe sprachausgabe davon. aber alles, was ich gelsesen habe, sind sehr komlizierte lösungen. leider bin ich im programmieren eine niete und kappiere solche sachen (noch) nicht. ports der fritzbox auslesen usw.
daher meine frage nach einer „fertigen“ lösung :slight_smile:

happy day, frank

ps: und durch google habe ich sogar schon einen avatar der aussieht wie ein vogel und spricht wie eine erkälteter tenor

nabend :slight_smile:

also ich habe es jetzt erfolgreich geschafft, einen com-port einzurichten und eine variable dazu. die fritzbox sollte also dann jetzt anrufe in die variable melden. das habe ich verstanden …

wie kann ich denn jetzt die rückwärtssuche einrichten? ich habe gelesen, man kann mit einem www string eine rückwärtssuche beim örtlichen absetzen der man die nummer aus der variable mitschickt. aber was bekommt man dann? wie schneidet man aus dem string von der box den richtigen teil aus? und was bekomme ich vom örtlichen zurück? muss ich dann irgendwie mit dem www-reader das ergebnis aus der seite lesen?

… ich hänge fest :o

bei mir klappt übrigens der link zum örtlichen hier aus dem forum nicht:

www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm?kw_invers=#NUMMER#&main=Antwort&s=2

was aber geht ist der:

www.dasoertliche.de/Controller?form_name=search_inv&ph=#nummer#

ist der alte nicht mehr aktiv ?

Es gab eine Umstellung bei „dasÖrtliche“. Seitdem ging die automatisierte Rückwärtssuche nicht mehr. Ich kann dir aber nicht sagen was genau dort gemacht wurde. Wenn du einen funktionierenden Weg gefunden hast muss das wohl die neue Lösung sein.

Toni

hallo toni !

ist denn der sinn der sache, die ergabnisseite der rückwärtssuche dann per www-reader auszulesen, um den namen zu bekommen? das habe ich noch nicht verstanden …

happy day, frank

Im groben ist es das…

Toni

ich habe mir mal dieses Script zusammen gebastelt. Vielleicht hilft es dir weiter. Die Variable „Fritzbox“ wird über den Com-Port beschrieben.

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Call_Nummber.ips.php
Trigger  : 
Interval : 
*/

$Vorwahl = "040"; 
$buffer = GetValueString("Fritzbox");
//$buffer = "03.01.07 16:41:23;RING;2;654789;454456;SIP1;";
//$buffer = "07.01.07 13:07:00;RING;2;;454456;ISDN;";
$feld = explode(';',$buffer);

/*
echo $feld[0];    // Uhrzeit
echo  '<br>';
echo $feld[1];    // aktion
echo  '<br>';
echo $feld[2];    // ??
echo  '<br>';
echo $feld[3];    // Anrufer
echo  '<br>';
echo $feld[4];    // Angerufene Nummer
echo  '<br>';
echo $feld[5];    // Frizbox Port
*/

if ( $feld[1] == "RING" ) {
   if ( substr( $feld[3], 0, 1 ) == '0' ) {
      $NUMMER =$feld[3];
   }
   else {
      $NUMMER =$Vorwahl.$feld[3];
   }

   if ( $feld[3] == "" ) {
      $Anrufer_Name ='unbekannt';
   }
   else {
     //$url="http://www.11880.com/Suche/index.cfm?fuseaction=Suche.rueckwaertssucheresult&init=true&change=false&searchform=Rueckwaerts&tel=".$NUMMER;
      $url="http://www1.dasoertliche.de/?form_name=search_inv&ph=$".$NUMMER;
      WWWReader_SetPage(27438,$url);
      WWWReader_UpdatePage(27438);
      $Anrufer_Name = (GetValueString("Anrufer_Name"));
      
      if ( $Anrufer_Name == "No valid Rules defined! Please check your Tags!" ) {
         $array = array('0' => '0 ', '1' => '1 ', '2' => '2 ', '3' => '3 ', '4' => '4 ', '5' => '5 ', '6' => '6 ', '7' => '7 ', '8' => '8 ', '9' => '9 ');
         $TTS_Name = strtr($NUMMER, $array);
         $Anrufer_Name = $NUMMER;
      }
      else {
         $TTS_Name = $Anrufer_Name;
      }
   }
   if ( $feld[4] == "454456" ) {
          
      TTS_Speak(64643, "Anrufer ist".$TTS_Name);
   }
}
?>

Gruß Sven

hallo sven !

danke für das script. ich habe es mal soweit angepasse aber es klappt noch nicht. ich habe allerdings in der variablen „Fritzbox“ vom com-port auch eine etwas komische zeile :

21.05.07 18:00:08;DISCONNECT;0;0;

da stimmt noch etwas nicht, oder ?

danke für deine hilfe, frank

obicom hatte eine modul für ipshomecontrol gemacht. das ist webbasiert und läuft auch im ie (nicht nur im mediacenter oder mediaportal).

schau dir das doch mal an: http://www.ipsymcon.de/forum/showpost.php?p=22508&postcount=23

hallo peibling !

ja das habe ich auch schon gesehen. allerdings ist das ja gleich wieder eine „neue welt“ und ich kämpfe schon mit ips ganz schön :slight_smile: macht es denn wirklich sinn das ganze ohne mce zu installieren ?
und kann es auch sprechen ? :confused:

happy day und dank, frank

Doch diese Werte sind schon richtig. Es werden mehr Daten gesendet und das ist der letzte Datensatz. Ich denke du muß den Text Parser noch richtig Parametrieren. Ich habe dir eine Mail geschickt
Gruß

danke für die mail. den parser habe ich so eingestellt. dann habe ich meine eigene vorwahl und meine eigene telefonnummer eingetragen. aber jetzt spricht er gar nicht mehr mit mir …

mich stört noch immer ein wenig, was in der variable Fritzbox ankommt:

‚21.05.07 18:51:03;DISCONNECT;1;0;‘

müsste das nicht doch mehr sein ?

danke ,frank

Bei deinem Beispiel eher nein.

hier sind ein paar Erklärungen zu den Feldern.

Die anderen Ziffern beziehen sich auf den jeweiligen „Kanal“. Einziger Bezug zum „Auflegen“ sind die Ziffern am Ende.

hallo ralf !

dann habe ich in meiner variablen nur die zweite zeile der ganzen sache. da steht aber die telfonnummer nicht drin … muss ich was anderes einstellen bei der com übergabe in die variable ?

ich habe gerade mal die variable beim eingehenden anruf angesehen. wenn es klingelt, steht die richtige zeile drin. mit rufnummer und alles feldern. wenn ich auflege, steht die 2. zeile drin mit disconnect. und die wird dann abgefragt und kann natürlich nicht verarbeitet werden :expressionless:

was tun ?

happy day, frank

Dein Verarbeitungsscript muss auf Variablenänderngen triggern und die Zeilen (Variable) verarbeiten, die du haben möchtest. Also z.B. nur die mit RING oder nur die mit CONNECT.

hallo und guten morgen !

danke für die tipps und die geduld :slight_smile: jetzt läuft es prima. ich werde dann mal probieren, dass ganze auch als liste abzulegen damit man auch sehen kann, wer angerufen hat. und die anrufer ansage probiere ich mal als durchsage im haus zu machen. wobei man die stimme oft auch nicht wirklich verstehen kann. aber da gibt es ja noch andere habe ich gelesen …

happy day und dank, frank

Hallo Frank,

ich versuche auch schon seit einiger Zeit, das Script von obicom zu „entschlüsseln“.

Bin auch bei dieser Zeile mit dem „Disconnect“ hängen geblieben. Habe allerdings momentan aus beruflichen Gründen nicht die Zeit, mich ausführlich damit zu beschäftigen. Das dauert bei mir alles etwas länger, denn ich bin zugegebenermaßen ein echter php-dau. Bei mir funktioniert es im Moment nur nach dem Schema „Try&Error“.

Lass mich bzw. uns doch bitte an Deinen Fortschritten teilhaben.

Gruß

Jimmy

<insider>Heute war die Leerung der grauen Tonne dran und ein „Licht“ hat mir gestern Abend verraten, „bring noch den Müll raus“ ;-)))) </insider>

Nachtrag @ Frank

wobei man die stimme oft auch nicht wirklich verstehen kann.

Such mal nach „Loquendo Stefan“, den kann man gut verstehen und mit ein paar mehr "aaa"´s oder "hhh"´s lässt sich sein Wortschatz auch gut anpassen.

Hier nochmal ein Scriptfetzen, den ich mir gerade gebastelt habe.

Ihr braucht 4 Variablen

ISDN_1_Status (String)
ISDN_1_Connected (Boolean)
ISDN_2_Status (String)
ISDN_2_Connected (Boolean)

Dann kann man im Desginer anzeigen, was auf dem ISDN Bus passiert.
Die Boolean Variablen nutze ich, um anzuzeigen, ob der Anruf gerade kommt (schwarz) oder eine Verbindung aufgebaut ist (rot)

Die Funktion unten zur Rückwärtssuche habe ich noch nicht eingebaut.

paresy


<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : FritzBoxParser.ips.php
Trigger  : 
Interval : 
*/

 if($IPS_SENDER != "Variable")
 {
  exit;
 }
 
 $items=explode(";", $IPS_VALUE);

/*
Ausgehende Anrufe:
datum;CALL;ConnectionID;Nebenstelle;GenutzteNummer;AngerufeneNummer;
 0      1          2          3             4           5

Eingehende Anrufe:
datum;RING;ConnectionID;Anrufer-Nr;Angerufene-Nummer;
  0     1          2          3         4

Zustandegekommene Verbindung:
datum;CONNECT;ConnectionID;Nebenstelle;Nummer;
  0     1          2            3         4

Ende der Verbindung:
datum;DISCONNECT;ConnectionID;dauerInSekunden;
  0     1          2               3
*/

 //echo $items[0]; //DateTime
 switch($items[1])
 {
  case "CALL":
   $buffer = "Ausgehend von ".TranslateLocalNumber($items[4])." nach ".TranslateRemoteNumber($items[5]);
   break;
  case "RING":
   $buffer = "Eingehend von ".TranslateRemoteNumber($items[3])." nach ".TranslateLocalNumber($items[4]);
   break;
  case "CONNECT":
   //$buffer = "Verbunden: ".$items[4];
   if(IPS_VariableExists("ISDN_".$items[2]."_Connected"))
    SetValueBoolean("ISDN_".$items[2]."_Connected", true); //Für Farbanzeige im Designer
   return; //Status nicht setzen
   break;
  case "DISCONNECT":
   $buffer = "Frei";
   if(IPS_VariableExists("ISDN_".$items[2]."_Connected"))
    SetValueBoolean("ISDN_".$items[2]."_Connected", false); //Für Farbanzeige im Designer
   break;
 }
 
 SetValueString("ISDN_".$items[2]."_Status", $buffer);

 function TranslateLocalNumber($num)
 {
  switch($num) {
   case "123":
    $result = "Büro";
    break;
   case "1234":
    $result = "Zimmer";
    break;
   case "12345":
    $result = "Fax";
    break;
   default:
    $result = "Unbekannt (".$num.")";
    break;
   }
   return $result;
 }

 function TranslateRemoteNumber($num)
 {
  //Hier kann die Rückwärssuche oder eine DB Anbindung eingebunden werden
  return $num;
 }

?>