Funktionierende Scripts für FRITZ!OS 05.50 7390

und wie verarbeitest Du die dann?

Das sind doch die mp3s, wenn jemand auf den AB spricht?
Willst du die dann speichern?

Ja, ich würde gerne die AB Nachrichten automatisch abspielen wenn ich nach Hause komme. :smiley:

@Bonox,

danke werde mal sehen ob ich damit weiterkomme.

bei mir das Gleiche, Script laeuft ohne Fehler durch aber im WF stehen keine Infos, nur die Tabellenueberschrift.

Edit: Bei mir geht es jetzt. Zeile 50: falscher IP Adress Bereich, bei mir ist es die 192.168.178.xxx im Script die 192.168.2.xxx

49 // Filter definieren (IP-Adresse im Format 192.168.2.xx)
50 preg_match_all(’([a-z0-9-]192.168.2.\d{2}[0-9A-F:])i’, strip_tags($devicelist), $devices);

die 2 in 178 aendern und dann gehts auch (oder halt deinen IP Bereich)

Die Formatierung sieht noch komisch aus aber Daten hab ich nun drin.

Edit2: die Scriptlaufzeit betraegt 5,5 Sek, antwortet die FritzBox so langsam oder ist das ein anderes Problem?

Hallo,

ich hänge hier immer noch beim zählen der Files auf der Fritzbox.

So habe ich es probiert:

// Verbindung aufbauen
$conn_id = ftp_connect('192.168.2.2');

//Inhalt des Verzeichnis auslesen
$files = ftp_nlist($conn_id, "/CHIPSBNK-v1-9-13-01/FRITZ/voicebox/rec/");

$files_count = count($files); // 
echo $files_count;

Aber irgendwie bring mir das nicht das richtige Ergebnis, mal 0, mal 1.

Kann mir jemand helfen und mal posten wie es richtig sein müsste?
Eigentlich habe ich ein Passwort gesetzt, aber ob mit Login oder ohne macht bei mir keinen Unterschied beim Ergebnis.

Hallo Horst,

pass es mal an deine Gegebenheiten an.

<?
//Serveradresse/Name
$conn_id = ftp_connect("192.168.1.10");

// Login mit Benutzername und Passwort
ftp_login($conn_id, "ftpuser", "xxxxxxx");
ftp_pasv($conn_id, true);

// Nach Verzeichnis .... wechseln
ftp_chdir($conn_id, "USBDISK2-0-01/FRITZ/voicebox/rec/");

$files = ftp_nlist($conn_id, ".");
//print_r($files);

if($files == "")
{
   //SetValue(21973 /*[Fritzbox\Anrufbeantworter\Nachrichten]*/, 0);
    //IPS_SetIcon(21973 /*[Fritzbox\Anrufbeantworter\Nachrichten]*/, 'Information');
    echo "Keine Daten vorhanden";
}
else
{
   $zaehler = count($files);
   echo $zaehler;
    //SetValue(21973 /*[Fritzbox\Anrufbeantworter\Nachrichten]*/, $zaehler);
    //IPS_SetIcon(21973 /*[Fritzbox\Anrufbeantworter\Nachrichten]*/, 'Speaker');
}
ftp_close($conn_id);
//IPS_SetScriptTimer($_IPS['SELF'], 0);
?>

Danke Rainer,

wenn man weiß wie es geht ist es ja ganz einfach :o:) Ich habe 2 Tage gegoo** und Du machst das in ein paar Minuten. :smiley:

Ja, ich würde gerne die AB Nachrichten automatisch abspielen wenn ich nach Hause komme.

Bei einigen Email Clients kann man per Regel die Anhänge automatisch speichern.

Hallo Rainer kann ich das Ergebnis, also der File-Namen, auch übergeben?

In etwa so:

	 			IPS_ExecuteEx("C:/ENC_DEC/dec.exe", "z:/$files C:/FB/Aktuell.$files..wav", false, false, 1);
				IPS_Sleep(3000);
				unlink ("ftp://server:server@192.168.2.2/CHIPSBNK-v1-9-13-01/FRITZ/voicebox/rec/$files");

Wenn ich das so versuche, erhalte ich diese Meldung: Notice: Array to string conversion
So weit ich das verstanden habe kann das Array nicht in den String geschrieben werden, aber wie gehts :o

Habe es hinbekommen.
Ich habe dieses noch eingefügt:

$File = $files[0];
$filename = "ftp://192.168.2.2/CHIPSBNK-v1-9-13-01/FRITZ/voicebox/rec/$File";

Und jetzt klappt es so wie ich es mir vorgestellt habe. Jetzt muss ich es nur noch hinbekommen das dass File immer mit ner laufenden Nummer um 1 erhöht wird.

Hallo BeLo,

bei der Formatierung liegts Wohl daran das es mal 'ne Ip im Format 192.168.0.0 gibt und mal 192.168.0.200. Also mal 11 Zeichen und mal 13. habe dafür aber auch noch keine Lösung gefunden :slight_smile:

Bei mir läuft das Script 1,4 sec.

[QUOTE=BeLo;199232

Die Formatierung sieht noch komisch aus aber Daten hab ich nun drin.

Edit2: die Scriptlaufzeit betraegt 5,5 Sek, antwortet die FritzBox so langsam oder ist das ein anderes Problem?[/QUOTE]

genau, da hab ich im Script auch mal rumgespielt aber leider zeigt die FritzBox nicht 192.168.178.001 an, dann waere es sicher machbar.

hmm, komisch. Meine FritzBox Weboberflaeche ist aber auch sehr traege, obwohl die CPU nicht ausgelastet ist.

Hallo,

ich bin noch nicht wirklich weiter mit der Klingelsperre.

Kann es sein das es an dem Fett markierten bei mir liegt? Ich habe nämlich eine Telefonanlage am S0 Bus und evtl. muss dann ja was anderes angegeben werden.

telcfg:settings/MSN/Port0/NoRingWithNightSetting=0
telcfg:settings/MSN/Port0/RingAllowed=2
telcfg:settings/MSN/Port0/NoRingTime=„13001200“

Vieleicht hat ja jemand eine Idee ob es daran liegt und was dann dort hin muss.

Ist schon jemand auf der neuen 84.05.52 Firmware ?

jep, alle 50er-scripte laufen bei mir

Hallo Horst

Es kommt darauf an welches Telefon Du schalten möchtest
Es lassen sich für fon1, fon2, s0, DECT610, DECT611,DECT612 usw. individell zeitgesteuert Rufsperren einrichten.

Das Kommando für fon1 ist: telcfg settings/MSN/Port0/NoRingWithNightSetting=0
Das Kommando für fon2 ist: telcfg settings/MSN/Port1/NoRingWithNightSetting=0
Das Kommando für s0 ist: telcfg settings/MSN/Port3/NoRingWithNightSetting=0
Das Kommando für DECT ist: telcfg settings/Foncontrol/User1/NoRingWithNightSetting=0
Wobei User1 abhängig vom Gerät gewählt werden muss (610=User1, 611=User2…)

Ich hoffe das hilft Dir weiter
Gruß Roland

Danke Roland,
ich denke das hilft mir weiter, werde es nachher mal testen.

GeTapatalk(t) mit meinem Galaxy Tab 10.1N

Hallo zusammen, ich hab mich mit der FRITZ!OS 05.50er
noch nicht so viel beschäftig…

Sind die LANPorts wenigstens pers Script noch schaltbar ?

Hat das wer gelöst ?

Ich würde gerne eine Linie (geht in die Garage) über nen Sabotagekontakt stillegen können…

So habe jetzt alles mögliche probiert, aber ich kann machen was ich will die Telefone klingeln immer :rolleyes:

GeTapatalk(t) mit meinem Galaxy Tab 10.1N

So jetzt läuft es, aber nur für ein Dect Telefon.
Wie bekomme ich es hin das ich die Klingelsperre auch für mehrere Dect Telefon gleichzeitig setzen kann?

Hier nochmal das Script.

<?
/*

$fritzbox_Adresse = '192.168.2.2';
$fritzbox_Username = '';
$fritzbox_Password = '****';

$ch = curl_init('http://' . $fritzbox_Adresse . '/login_sid.lua');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$login = curl_exec($ch);

$session_status_simplexml = simplexml_load_string($login);
if ($session_status_simplexml->SID != '0000000000000000')
    {
   $SID = $session_status_simplexml->SID;
    }
else
    {
   $challenge = $session_status_simplexml->Challenge;
   $response = $challenge . '-' . md5(mb_convert_encoding($challenge . '-' . $fritzbox_Password, "UCS-2LE", "UTF-8"));
   curl_setopt($ch, CURLOPT_POSTFIELDS, "response={$response}&page=/login_sid.lua&username={$fritzbox_Username}");
   $sendlogin = curl_exec($ch);

   $session_status_simplexml = simplexml_load_string($sendlogin);

   if ($session_status_simplexml->SID != '0000000000000000')
       {
       $SID = $session_status_simplexml->SID;
       }
   else
       {
      echo "Fehler: Login fehlgeschlagen";
      return;
       }
    }

curl_close($ch);

if($_IPS['SENDER'] == "WebFront")

    {
    SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

      IF ($_IPS['VARIABLE'] ==53158 /*[Allgemein\Telefon\FritzBox\Klingelsperre]*/ )
       {
        if($_IPS['VALUE'])  // Einschalten
            {
             Klingelsperre_einschalten($SID);
            }
            else
             {
           Klingelsperre_ausschalten($SID);
             }
       }

     IF ($_IPS['VARIABLE'] ==38614 /*[Allgemein\Telefon\FritzBox\Klingelsperre Dauer]*/ )
       {
        If (GetValue (53158 /*[Allgemein\Telefon\FritzBox\Klingelsperre]*/  ))
            {
            Klingelsperre_einschalten($SID);
            }
         }

    }


if($_IPS['SENDER'] == "TimerEvent")
    {
    IPS_SetScriptTimer($_IPS['SELF'], 0);
    Klingelsperre_ausschalten($ch,$SID);
    }



/*********************************************************
**********************************************************/
function Klingelsperre_einschalten($SID)

    {

    $ch = curl_init('http://fritz.box/fon_devices/fondevices_list.lua');
     $Dauer= GetValue (38614 /*[Allgemein\Telefon\FritzBox\Klingelsperre Dauer]*/ );
    $Time= date("Hi", time()).date("Hi", time()+60*$Dauer);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:settings/Foncontrol/User1/NoRingWithNightSetting=0".
                                                    "&telcfg:settings/Foncontrol/User1/RingAllowed=1".
                                                     "&telcfg:settings/Foncontrol/User1/NoRingTime=".$Time);

//        curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:settings/MSN/Port0/NoRingWithNightSetting=0");


   $temp=curl_exec($ch);
    curl_close($ch);

    IPS_SetScriptTimer($_IPS['SELF'], 60*$Dauer);

    SetValue (57258 /*[Allgemein\Telefon\FritzBox\Klingelsperre bis]*/ , date("H:i", time()+60*$Dauer));
   IPS_SetHidden(57258 /*[Allgemein\Telefon\FritzBox\Klingelsperre bis]*/ , false);
   }


function Klingelsperre_ausschalten($SID)
    {
    $ch = curl_init('http://fritz.box/fon_devices/fondevices_list.lua');
//    curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&&telcfg:settings/Foncontrol/User1/NoRingWithNightSetting=1");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   
      curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:settings/Foncontrol/User1/NoRingWithNightSetting=0".
                                                    "&telcfg:settings/Foncontrol/User1/RingAllowed=4".
                                                     "&telcfg:settings/Foncontrol/User1/NoRingTime=15001700");

   $temp=curl_exec($ch);
   curl_close($ch);

     IPS_SetScriptTimer($_IPS['SELF'], 0);

   SetValue (57258 /*[Allgemein\Telefon\FritzBox\Klingelsperre bis]*/ , "");
    SetValue (53158 /*[Allgemein\Telefon\FritzBox\Klingelsperre]*/, false);
    IPS_SetHidden(57258 /*[Allgemein\Telefon\FritzBox\Klingelsperre bis]*/ , true);
    }


?>