+ Antworten
Seite 2 von 4 ErsteErste 1 2 3 4 LetzteLetzte
Ergebnis 11 bis 20 von 32
  1. #11
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,331

    PHP-Code:
    SetValue(59121 /*[Fritzbox\Dummy Module\Fritzbox]*/""
    ansonsten setzt Du die Variable ja nicht zurück beim Disconnect.

    Das RegVar set Buffer, löscht die Registervariable, das braucht kein Gegenstück.
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  2. #12
    Registriert seit
    Nov 2008
    Ort
    Heidelberg
    Beiträge
    580

    Ah, danke - ich dachte das Löschen der Registervariable sei dafür zuständig und schon ausreichend. Warum wird die Registervariable eigentlich gelöscht - wird die ohnehin nicht bei einem Anruf neu beschrieben?

    Vielen Dank für die Erklärung!
    Gruß
    dreamy1

  3. #13
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,331

    Ja sicher wird sie neu beschrieben. Es könnte ja noch was drinnen stehen, deshalb halt noch mal löschen. Leer ist Leer
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  4. #14
    Registriert seit
    Nov 2008
    Ort
    Heidelberg
    Beiträge
    580

    Auch wieder wahr :-)

    Rainer, vielen Dank mal an der Stelle für den klasse Support!
    Gruß
    dreamy1

  5. #15
    Registriert seit
    Nov 2008
    Ort
    Heidelberg
    Beiträge
    580

    Hallo,

    ich habe mein Script nun um einen Timestamp erweitert..leider will der nicht so richtig :-(

    Bei einem Anruf soll die aktuelle Uhrzeit in eine Stringvariable geschrieben werden - nur leider steht da nach einem Anruf nichts drin. Kann mal jemand schauen?

    Vielen Dank!

    PHP-Code:
    <?

    // Daten aus Registervariable lesen
    $daten explode(";"$IPS_VALUE);

    // Nummern ohne Eintrag im öffentlichen Telefonbuch welche aber bekannt sind und übertragen werden ($intern).
    // unendlich erweiterbar
      
    $array["Nummer"][1] = "0170xxx";
      
    $array["Name"]  [1] = "xxx";
      
    $array["Nummer"][2] = "";
      
    $array["Name"]  [2] = "*Unterdrückt*";
      
    $array["Nummer"][3] = "xxxxxx";
      
    $array["Name"]  [3] = "xxx";
      
    $array["Nummer"][4] = "xxxxx";
      
    $array["Name"]  [4] = "xxx";
      
    $array["Nummer"][5] = "xxx";
      
    $array["Name"]  [5] = "xxx";
      
    $array["Nummer"][6] = "xxxxxx";
      
    $array["Name"]  [6] = "xxx";

    // Daten aus Registervariable auswerten
    switch($daten[1])
    {
        case 
    "RING":
       
    $timestamp time();
        
    $datum date("d.m.Y",$timestamp);
          
    $uhrzeit date("H:i",$timestamp);
        
    SetValueString(49978 /*[Fritzbox\Dummy Module\Letzter Anruf um]*/$datum," - ",$uhrzeit," Uhr");
       
    $Rufnummer = ($daten[3]);
        if(
    in_array($Rufnummer$array["Nummer"]))
       {
           
    $intern array_search($Rufnummer$array["Nummer"]);
           
    SetValue(59121 /*[Fritzbox\Dummy Module\Fritzbox_Anruf_von]*/$array["Name"][$intern]);
           
    //echo "Anruf von " .  $array["Name"][$intern];
           
    return;
       }
       else
       {
          
    SetValue(59121 /*[Fritzbox\Dummy Module\Fritzbox_Anruf_von]*/$Rufnummer);
       }
       break;
       case 
    "DISCONNECT":
       
    RegVar_SetBuffer(26953 /*[Fritzbox\Register Variable]*/"");
       return;
       break;
    }

    ?>
    Gruß
    dreamy1

  6. #16
    Registriert seit
    Jan 2009
    Beiträge
    303

    so wie bei mir steht doch alles gut drinne.
    wozu brauchste denn die string?

    cu.
    uriel2006
    Angehängte Grafiken Angehängte Grafiken  

  7. #17
    Registriert seit
    Nov 2008
    Ort
    Heidelberg
    Beiträge
    580

    Hmm, kein Fehler im Script oben?

    Die String benötige ich zum späteren Senden an ein "Objekt", welches demnächst im Project Showcase vorgestellt wird :-)
    Gruß
    dreamy1

  8. #18
    Registriert seit
    Jan 2009
    Beiträge
    303

    sorry hatte mir dein script nicht weiter angeschaut.
    habe gedacht du brauchst es nur zur kontrolle wann wer angerufen hat.

    cu.
    uriel2006

  9. #19
    Registriert seit
    Jun 2008
    Beiträge
    200

    PHP-Code:
        SetValueString(49978 /*[Fritzbox\Dummy Module\Letzter Anruf um]*/$datum," - ",$uhrzeit," Uhr"); 
    Mach mal mal so:

    PHP-Code:
        SetValueString(49978 /*[Fritzbox\Dummy Module\Letzter Anruf um]*/,$datum, - ,$uhrzeit, Uhr"); 

  10. #20
    Registriert seit
    Aug 2008
    Ort
    Sereetz
    Beiträge
    1,649

    Standard Verbindungsstatus Fritzbox

    Ich hätte hier noch ne ältere Bastelei. Anleitung: Gegebenenfalls den Host anpassen, ansonsten einfach ausführen. Variablen erstellen sich dann von alleine, wenn Anrufe kommen und gehen (und bleiben dann auch). Sinn der Übung war, dass ich ein vollautomatisches Skript haben wollte, das wirklich alles inklusive Socket, RegisterVariable, Dummy-Instanz und Variablenprofil erstellt .
    PHP-Code:
    <?php
    $host 
    "fritz.box";

    define("STATUS_VACANT"0);
    define("STATUS_OUT_RING"1);
    define("STATUS_OUT_MISSED"2);
    define("STATUS_OUT_CONNECTED"3);
    define("STATUS_OUT_DISCONNECTED"4);
    define("STATUS_IN_RING"5);
    define("STATUS_IN_MISSED"6);
    define("STATUS_IN_CONNECTED"7);
    define("STATUS_IN_DISCONNECTED"8);

    $object IPS_GetObject($IPS_SELF);
    $parentID $object['ParentID'];

    switch (
    $IPS_SENDER)
    {
        case 
    "Execute":
           
    IPS_SetHidden($IPS_SELFtrue);

            
    $profileID = @IPS_GetVariableProfile("PhoneConnectionStatus");
            if (
    $profileID === false)
            {
                
    IPS_CreateVariableProfile("PhoneConnectionStatus"1);
                
    IPS_SetVariableProfileValues("PhoneConnectionStatus"080);
                
    IPS_SetVariableProfileIcon("PhoneConnectionStatus""ArrowRight");
                
    IPS_SetVariableProfileAssociation("PhoneConnectionStatus"0"frei""");
                
    IPS_SetVariableProfileAssociation("PhoneConnectionStatus"1"eingehend - klingelt""");
                
    IPS_SetVariableProfileAssociation("PhoneConnectionStatus"2"eingehend - abgebrochen""");
                
    IPS_SetVariableProfileAssociation("PhoneConnectionStatus"3"eingehend - verbunden""");
                
    IPS_SetVariableProfileAssociation("PhoneConnectionStatus"4"eingehend - getrennt""");
                
    IPS_SetVariableProfileAssociation("PhoneConnectionStatus"5"ausgehend - klingelt""");
                
    IPS_SetVariableProfileAssociation("PhoneConnectionStatus"6"ausgehend - abwesend""");
                
    IPS_SetVariableProfileAssociation("PhoneConnectionStatus"7"ausgehend - verbunden""");
                
    IPS_SetVariableProfileAssociation("PhoneConnectionStatus"8"ausgehend - getrennt""");
            }

            
    $parentObject IPS_GetObject($parentID);
            if (
    $parentObject['ObjectType'] !== 1)
            {
                
    $instanceID IPS_CreateInstance("{485D0419-BE97-4548-AA9C-C083EB82E61E}");
                
    IPS_SetParent($instanceID$parentID);
                
    $parentID $instanceID;
                
    IPS_SetName($instanceID"FRITZ!Box");
                
    IPS_SetParent($IPS_SELF$parentID);
            }

            
    $socketID = @IPS_GetInstanceIDByName("FRITZ!Box Socket"0);
            if (
    $socketID === false)
            {
               
    $socketID IPS_CreateInstance("{3CFF0FD9-E306-41DB-9B5A-9D06D38576C3}");
               
    IPS_SetName($socketID"FRITZ!Box Socket");
            }
           
    CSCK_SetHost($socketID$host);
           
    CSCK_SetPort($socketID1012);
           
    CSCK_SetOpen($socketIDtrue);
           
    IPS_ApplyChanges($socketID);

            
    $rvID = @IPS_GetInstanceIDByName("FRITZ!Box Register Variable"$parentID);
            if (
    $rvID === false)
            {
             
    $rvID IPS_CreateInstance("{F3855B3C-7CD6-47CA-97AB-E66D346C037F}");
                
    IPS_SetParent($rvID$parentID);
                
    IPS_SetName($rvID"FRITZ!Box Register Variable");
            }
            
    RegVar_SetRXObjectID($rvID$IPS_SELF);
            
    IPS_ConnectInstance($rvID$socketID);
           
    IPS_ApplyChanges($rvID);

            break;

        case 
    "RegisterVariable":
            
    $data explode(";"$IPS_VALUE);
            
    $ts strtotime($data[0]);
            
    $connectionID $data[2];
            switch (
    $data[1])
            {
                case 
    "CALL":
                    
    // Datum;CALL;ConnectionID;Nebenstelle;GenutzteNummer;AngerufeneNummer;
                    
    $extension $data[3];
                    
    $internalNumber $data[4];
                    
    $externalNumber $data[5];
                    
    $line $data[6];
                    
    addConnection($connectionIDSTATUS_OUT_RING$ts$internalNumber$externalNumber$extension$line);
                    break;

                case 
    "RING":
                    
    // Datum;RING;ConnectionID;Anrufer-Nr;Angerufene-Nummer;
                    
    $externalNumber $data[3];
                    
    $internalNumber $data[4];
                    
    $line $data[5];
                    
    addConnection($connectionIDSTATUS_IN_RING$ts$internalNumber$externalNumber""$line);
                    break;

                case 
    "CONNECT":
                    
    // Datum;CONNECT;ConnectionID;Nebenstelle;Nummer;
                    
    $extension $data[3];
                    
    $internalNumber $data[4];
                    
    $externalNumber $data[5];
                    
    removeConnection($connectionID);
                    break;

                case 
    "DISCONNECT":
                    
    // Datum;DISCONNECT;ConnectionID;DauerInSekunden;
                    
    $duration $data[3];
                    
    removeConnection($connectionID);
                    break;
            }
            break;
    }

    function 
    addConnection ($connectionID$status$time$internalNumber$externalNumber$extension$line)
    {
        global 
    $parentID;
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Status"1"PhoneConnectionStatus"), $status);
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Zeit"1"~String"), $time);
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Nummer - Intern"3"~String"), $internalNumber);
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Nummer - Extern"3"~String"), $externalNumber);
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Nebenstelle"3"~String"), $extension);
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Leitung"3"~String"), $line);
    }

    function 
    removeConnection ($connectionID)
    {
        global 
    $parentID;
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Status"1"PhoneConnectionStatus"), 0);
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Zeit"1"~String"), 0);
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Nummer - Intern"3"~String"), "");
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Nummer - Extern"3"~String"), "");
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Nebenstelle"3"~String"), "");
        
    SetValue(CreateVariableByName($parentID"Verbindung ".$connectionID." - Leitung"3"~String"), "");
    }

    function 
    CreateVariableByName($id$name$type$profile "")
    {
        global 
    $IPS_SELF;
        
    $vid = @IPS_GetVariableIDByName($name$id);
        if(
    $vid === false)
        {
            
    $vid IPS_CreateVariable($type);
            
    IPS_SetParent($vid$id);
            
    IPS_SetName($vid$name);
            
    IPS_SetInfo($vid"this variable was created by script #$IPS_SELF");
            if(
    $profile !== "") { IPS_SetVariableCustomProfile($vid$profile); }
        }
        return 
    $vid;
    }
    ?>
    Geändert von RWN (19.11.09 um 16:17 Uhr)
    Horst

Ähnliche Themen

  1. Fritzbox 7170 - ISDN CAPI
    Von Sven im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 0
    Letzter Beitrag: 01.03.09, 20:52
  2. Usb2lan
    Von Specky im Forum Allgemeine Diskussion
    Antworten: 14
    Letzter Beitrag: 30.03.08, 20:32
  3. IPS Anrufen über Fritzbox
    Von TK6 im Forum Allgemeine Diskussion
    Antworten: 2
    Letzter Beitrag: 12.02.08, 15:07
  4. FritzBox 7170 und der Designer
    Von Jimmy Neutron im Forum Allgemeine Diskussion
    Antworten: 3
    Letzter Beitrag: 03.05.07, 05:57