+ Antworten
Seite 2 von 4 ErsteErste 1 2 3 4 LetzteLetzte
Ergebnis 11 bis 20 von 37
  1. #11
    Registriert seit
    Dec 2006
    Ort
    Leverkusen
    Beiträge
    613

    Standard Komisch ..

    gehen wir das mal "Step by Step" an. Ich stell mal ein paar Fragen.

    1.) Hast du den Comport als I/O Instanz angelegt?
    2.) Hast du im ComPort die IP deiner Fritzbox un den Port 1012 eingetragen?
    3.) Ist nach "apply" der Connect Button grün geworden?
    4.) Hast du eine Register Variabele als Splitter Instanz angelegt?
    5.) Hast du die Fritzboxvariabele der Register Variabelen zugeordnet?
    6.)Hast du den Comport mit der Register Varieabelen verbunden?

    Wenn du diese ersten 6 Fragen alle mit "ja" beantworten kannst, solltest du zumindest in der String Variabelen Fritzbox bei jedem Anruf mit "Watch Variabele" oder enem einfachen zusätzlichem echo Zeile etws angezeigt bekommen.. Ich hab dir das Script mit einem zusätzlichem "echo" mal angehangen. Ich vermute das noch etwas mit den oben angesprochene Punkten bei dir nicht stimmt. Der Script Intervall wird ja auch nur angestossen, wenn z.B. ein '10.02.07 16:36:15;DISCONNECT;0;89;'
    '" in der "Fritzbox" steht. Zum Test kannst du mal in die String Variabele mit "Modify" ->
    '10.02.07 16:36:15;DISCONNECT;0;89;'
    rein schreiben und dann das FB_Init Script anstossen (Execute). Dann sollte auch der Timmer starten.

    PHP-Code:
    <?
    /*
    *******************************
     IP-SYMCON Event Scripting
    *******************************
    File     : FB_Init.ips.php
    Trigger  : OnChange -> Fritzbox
    Interval : 
    */
    // Auswertung der Fritzbox Variabelen.
    $FBstatus GetValueString('Fritzbox');
    echo (
    substr($FBstatus,18,10)."\n" // zum Debuggen
    // Hier sollte im Ausgabefenster vom IP-SYMCON z.B. DISCONNECT ausgegeben werden
    if (substr($FBstatus,18,10) == "DISCONNECT"){
    // Warte eine halbe Minute bevor du die Liste holst ...
    IPS_SetScriptTimer('Anrufliste_FB',30) ;
    }
    ?>
    Geändert von obicom (11.02.07 um 11:24 Uhr)
    Viele Grüße, Obi
    ___________________
    PC Ausstattung:

    Asus eee Top 1602 mit ipsymcon V4.x an FMZ 1300 USB

  2. #12
    Registriert seit
    Nov 2005
    Beiträge
    585

    Hallo,

    Die Punkte 1-6 sind alle so angelegt. Habe Dein Script mit Echo mal probiert, es kommt folgende Fehlermeldung.

    <b>Parse error</b>: parse error, unexpected ';' in <b>C:\Programme\IP-SYMCON\scripts\.currentscript</b> on line <b>13</b><br />

    Also irdendwo klemmt es. Ist sichelich ein kleines Problem was ich immer wieder falsch mache.

  3. #13
    Registriert seit
    Dec 2006
    Ort
    Leverkusen
    Beiträge
    613

    Standard Ups ... eine Klammer übersehen ...

    Jetzt sollte es gehen ...
    Was siehst du denn, wenn du die Variablele Fritzbox mit der rechten Maustaste anklickst und "evolate/watch" auswählst .. und dann "Watch" anklickst ... danach dich selber mal übers Handy anrufst ...?

    Du solltest dann die einzelnen Meldungen (Ring, Connect, Disconnect) im Fenster angezeigt bekommen. Den Inhalt bitte hier mal posten.


    PHP-Code:
    <?
    /*
    *******************************
    IP-SYMCON Event Scripting
    *******************************
    File     : FB_Init.ips.php
    Trigger  : OnChange -> Fritzbox
    Interval :
    */
    // Auswertung der Fritzbox Variabelen.
    $FBstatus GetValueString('Fritzbox');
    echo 
    substr($FBstatus,18,10) ; // zum Debuggen
    // Hier sollte im Ausgabefenster vom IP-SYMCON z.B. DISCONNECT ausgegeben werden
    if (substr($FBstatus,18,10) == "DISCONNECT"){
    // Warte eine halbe Minute bevor du die Liste holst ...
    IPS_SetScriptTimer('Anrufliste_FB',30) ;
    }
    ?>
    Viele Grüße, Obi
    ___________________
    PC Ausstattung:

    Asus eee Top 1602 mit ipsymcon V4.x an FMZ 1300 USB

  4. #14
    Registriert seit
    Nov 2005
    Beiträge
    585

    Es klappt jetzt wunderbar. Danke für Deine Hilfe. Jetzt noch eine Einbindung im Designer, das wärs.

    cu uwe

  5. #15
    Registriert seit
    Dec 2006
    Ort
    Leverkusen
    Beiträge
    613

    Question Und woran lags denn ...

    Hallo Uwe,

    woran lag es denn? Gib den anderen dein Wissen doch bitte auch weiter.
    An das Memo Feld mach ich mich die Tage mal ran und poste dann hier den Code....
    Viele Grüße, Obi
    ___________________
    PC Ausstattung:

    Asus eee Top 1602 mit ipsymcon V4.x an FMZ 1300 USB

  6. #16
    Registriert seit
    Dec 2006
    Ort
    Leverkusen
    Beiträge
    613

    Question @uwe

    Hallo Uwe,

    bevor ich in die falsche Richtung code ... wie stellst du dir denn das im Designer theoretisch vor? Würde es dir reichen wenn die Liste, statt als HTML Datei, als String in einer Varieabelen landen würde?
    Viele Grüße, Obi
    ___________________
    PC Ausstattung:

    Asus eee Top 1602 mit ipsymcon V4.x an FMZ 1300 USB

  7. #17
    Registriert seit
    Dec 2006
    Ort
    Leverkusen
    Beiträge
    613

    Thumbs up Und nochmal Danke ...

    Ich wollte mich auch noch bei allen bedanken,die mich bei dem Script auf den richten Weg begracht haben ....

    Danke @zapp ... für das "Mutterscript" AnswerMachine ...

    Danke @Tonic1024 für den Tipp mit "simplexml()" ...

    Danke @pharsy für den Tipp wie man die Fritzbox anbinden kann !

    Viele Grüße, Obi
    ___________________
    PC Ausstattung:

    Asus eee Top 1602 mit ipsymcon V4.x an FMZ 1300 USB

  8. #18
    Registriert seit
    Nov 2005
    Beiträge
    585

    Ich habe nur das neue Script von Dir mit der einen Klammer mehr verwendet und schon ging es.

    als String in einer Varieabelen würde mir genügen, wer super wenn Du es machen würdest.

    Nochmal vielen Dank

    cu uwe

  9. #19
    Registriert seit
    Dec 2006
    Ort
    Leverkusen
    Beiträge
    613

    Lightbulb @uwe

    Hallo Uwe,

    da das mit dem String recht einfach ist, hab ich das "mal schnell" umgesetzt.
    Anbei mein Scriptentwurf. Wenn du es startest (Execute) siehst du im Fenster darunter die Ausgabe. Ich habe die Felder mit TABs getrennt. Kannst du löschen oder hinzufügen von "\t" die Tabs verändern. Wenn die Ausgabe für dich ok ist, dann lege im ip-symcon die String-Variabele "Fritzlog" an und entferne die beiden "//" vor "SetValueString()". Gib mal Feedback ob es so ok ist.

    PHP-Code:
    <?
    /*
    *******************************
     IP-SYMCON Event Scripting
    *******************************
    File     : Anrufliste.ips.php
    Trigger  : FB_Init Script -> bei Änderungen von -> (string)Var=Fritzbox
    Interval : Einmalige Ausführung nach 30 Sekunden verzögerung.
    */
    // Jetzt gehts los ....
    IPS_SetScriptTimer('Anrufliste_FB',0) ;
    if (
    file_exists('C:\Programme\JFritz\jfritz.calls.xml'))
    {
    // Ggfs. Pfad anpassen !!!
    $xml simplexml_load_file('C:\Programme\JFritz\jfritz.calls.xml');
    }
    else {
    exit(
    "Konnte Datei nicht laden. ");}
    $count=1;
    setlocale (LC_ALL'German_Germany.1252');
    $Fritzlog strftime('Aktualisiert am %A, den %d.%m.%Y, um %H:%M Uhr');
    $Fritzcache "Zeitpunkt\t\tRufnummer\tName\t\t\tauf MSN\t\t\t\tCalltype\n\r" ;
    $Fritzlog $Fritzlog."\n\r".$Fritzcache."\n" ;
    // Ab hier wird die XML Datei (jfritz.calls.xml) zerlegt.
    foreach ($xml->entry as $entry) {
    // Hier wird die Zeilenanzahl festgelegt.
    if ($count == 30)
    {
    // SetValueString("Fritzlog",$Fritzlog);
    echo $Fritzlog ;
    return ;
    }
    $calltype $entry->attributes() ;
    $date $entry->date ;
    $caller $entry->caller ;
    if (
    $caller == "") {$caller "Keine Nummer" ;}
    $name findNumberJF($caller) ;
    $caller str_replace '+49''0'$caller) ;
    if ((
    $name == "Unbekannt") && ($caller != "Keine Nummer")) {
    $name findNumberDE($caller) ; }
    $port $entry->port ;
    $route $entry->route ;
    $duration $entry->duration ;
    // die $route Abfrage filtert z.B. (bei mir) eine Faxnumer aus.
    if ((($calltype == "call_in") OR ($calltype == "call_in_failed")) && $route != "24") {
    $count $count+;


             
    // Übersetzung von deutschen Umlauten
             
    $name str_replace("Ä","Ä",$name) ;
             
    $name str_replace("ä","ä",$name) ;
             
    $name str_replace("Ö","Ö",$name) ;
             
    $name str_replace("ö","ö",$name) ;
             
    $name str_replace("%F6","ö",$name) ;
             
    $name str_replace("%FC","ü",$name) ;   //neu
             
    $name str_replace("Ãœ","Ü",$name) ;
             
    $name str_replace("ü","ü",$name) ;
             
    $name str_replace("ß","ß",$name) ;
             
    $Fritzlog $Fritzlog.$date."\t".$caller."\t".$name."\t\t".$route."\t\t".$calltype."\n";

    }
    }
    // wenn dir die Ausgabe gefällt, einfach die beiden Striche vor GetValue.... entfernen. Vorher die Stringvariablele im ip-symcon anlegen !!
    SetValueString("Fritzlog",$Fritzlog);
    echo 
    $Fritzlog ;

    function 
    findNumberJF($caller)
    {
    // Ggfs. Pfad anpassen !!!
    if (file_exists('C:\Programme\JFritz\jfritz.phonebook.xml'))
    {
    // Ggfs. Pfad anpassen !!!
    $xml simplexml_load_file('C:\Programme\JFritz\jfritz.phonebook.xml');
    }
    else {
    exit(
    "Konnte Datei nicht laden. ");}
    $count=0;
    foreach (
    $xml->entry as $entry) {
    $nummer $entry->phonenumbers->number ;
    $name $entry->name->firstname." ".$entry->name->lastname ;
       if (
    $nummer == $caller) {
       
    $count=$count+;
       
    $treffer=$name ;
       }
    }
    if (
    $count == 1)
    {
    if (
    $treffer == "") {$treffer "Falscher Eintrag im PB" ;}
    return 
    $treffer;
    }
    elseif (
    $count 1) {
          
    // Prüft auf -> "Mehr als einmal im Phonebook?".
          
    return "Various Names";
       }
    else {
    // Keinen Eintrag gefunden.
    return "Unbekannt" ;
     }
    }

    function 
    findNumberDE($caller)
    {
       
    $url_orig="http://www.telefonauskunft.de/inverseSearch.php?strasse=&newSearch=1&sid=lm996s9alvjlo7f5t7b1g1ngs2&vollstaendig=#TEL#";
       
    $url=str_replace("#TEL#","$caller",$url_orig);
       
    $handle=fopen("$url""r");
       if (!
    $handle){
          
    // Kann URL nicht öffnen
          
    echo("ERROR : Kann URL nicht öffnen : '$url'\r\n");
       }
       
    $lineNb 0;
       
    $searchTag0 '&Name=';
       
    $searchTag1 '&Vorname=';
       
    $searchTag2 '&Strasse';
       
    $found ;
       while(!
    $found && !feof($handle)) {
          
    $lineNb++;
          
    $buffer fgets($handle);
            if (
    strpos($buffer$searchTag0) !== false) {
            
    $found ;
            
    $startLN= (strpos($buffer$searchTag0)+6) ;
            
    $endeLN strpos($buffer$searchTag1) ;
            
    $Lastname substr($buffer$startLN, ($endeLN-$startLN)) ;
            
    $startFN= (strpos($buffer$searchTag1)+9) ;
            
    $endeFN strpos($buffer$searchTag2) ;
            
    $Firstname substr($buffer$startFN, ($endeFN-$startFN)) ;
            
    $foundName1 $Firstname." ".$Lastname."\n\r" ;
            
    $foundName1 str_replace('+'' '$foundName1);
            }
          else {
    $foundName1 "Unbekannt";}
       }
       
    fclose($handle);
       return 
    $foundName1;
    }

    ?>
    Viele Grüße, Obi
    ___________________
    PC Ausstattung:

    Asus eee Top 1602 mit ipsymcon V4.x an FMZ 1300 USB

  10. #20
    Registriert seit
    Nov 2005
    Beiträge
    585

    Ich Danke Dir. Klappt und es ist so richtig. Habe daraus auch gleich gelernd.

    Nochmals vielen Dank für die schnelle Hilfe.

    cu uwe

Ähnliche Themen

  1. IPS Anrufbeantworter in MCE 2005 integriert.
    Von obicom im Forum Skripte, PHP, SQL
    Antworten: 5
    Letzter Beitrag: 02.02.07, 18:50
  2. Komplette Verwirrung bei Hausumbau -etwas länger
    Von gorgor im Forum Allgemeine Diskussion
    Antworten: 54
    Letzter Beitrag: 05.12.06, 16:25