dann lass dir doch Reports zuschicken, kannst ja granular nach Host / User u.a auswählen…
Moin,
hat jemand Lust das zu testen ? Das Skript liefert ein Array mit den Werten des Onlinezählers aus der Box.
Empfangen und Gesendet jeweils in MB.
<?
include "fritzbox.php";
$t=ARRAY();
$StatusPage = file_get_contents('http://fritz.box/internet/inetstat_counter.lua?sid='.$SID);
// Heute empfangen
$high=substr(strstr($StatusPage,'["inetstat:status/Today/BytesReceivedHigh"]'),47,5);
$high=substr($high,0,strpos($high,'"'));
$low=substr(strstr($StatusPage,'["inetstat:status/Today/BytesReceivedLow"]'),46,15);
$low=substr($low,0,strpos($low,'"'));
$t['heute'] ['empfangen']=lowhigh($low,$high);
// Heute gesendet
$high=substr(strstr($StatusPage,'["inetstat:status/Today/BytesSentHigh"]'),43,5);
$high=substr($high,0,strpos($high,'"'));
$low=substr(strstr($StatusPage,'["inetstat:status/Today/BytesSentLow"]'),42,15);
$low=substr($low,0,strpos($low,'"'));
$t['heute'] ['gesendet']=lowhigh($low,$high);
$calls=substr(strstr($StatusPage,'["inetstat:status/Today/OutgoingCalls"]'),43,5);
$calls=substr($calls,0,strpos($calls,'"'));
$t['heute']['Outgoing_calls']=$calls;
// Gestern empfangen
$high=substr(strstr($StatusPage,'["inetstat:status/Yesterday/BytesReceivedHigh"]'),51,5);
$high=(int) substr($high,0,strpos($high,'"'));
$low=substr(strstr($StatusPage,'["inetstat:status/Yesterday/BytesReceivedLow"]'),50,15);
$low=(int) substr($low,0,strpos($low,'"'));
$t['gestern'] ['empfangen']=lowhigh($low,$high);
// Gestern gesendet
$high=substr(strstr($StatusPage,'["inetstat:status/Yesterday/BytesSentHigh"]'),47,5);
$high=(int) substr($high,0,strpos($high,'"'));
$low=substr(strstr($StatusPage,'["inetstat:status/Yesterday/BytesSentLow"]'),46,15);
$low=(int) substr($low,0,strpos($low,'"'));
$t['gestern'] ['gesendet']=lowhigh($low,$high);
$calls=substr(strstr($StatusPage,'["inetstat:status/Yesterday/OutgoingCalls"]'),47,5);
$calls=(int) substr($calls,0,strpos($calls,'"'));
$t['gestern']['Outgoing_calls']=$calls;
// Woche empfangen
$high=substr(strstr($StatusPage,'["inetstat:status/ThisWeek/BytesReceivedHigh"]'),50,5);
$high=(int) substr($high,0,strpos($high,'"'));
$low=substr(strstr($StatusPage,'["inetstat:status/ThisWeek/BytesReceivedLow"]'),49,15);
$low=substr($low,0,strpos($low,'"'));
$t['woche'] ['empfangen']=lowhigh($low,$high);
// Woche gesendet
$high=substr(strstr($StatusPage,'["inetstat:status/ThisWeek/BytesSentHigh"]'),46,5);
$high=substr($high,0,strpos($high,'"'));
$low =substr(strstr($StatusPage,'["inetstat:status/ThisWeek/BytesSentLow"]'),45,15);
$low =substr($low,0,strpos($low,'"'));
$t['woche'] ['gesendet']=lowhigh($low,$high);
$calls=substr(strstr($StatusPage,'["inetstat:status/ThisWeek/OutgoingCalls"]'),46,5);
$calls=substr($calls,0,strpos($calls,'"'));
$t['woche']['Outgoing_calls']=$calls;
// Diesen Monat empfangen
$high=substr(strstr($StatusPage,'["inetstat:status/ThisMonth/BytesReceivedHigh"]'),51,5);
$high=substr($high,0,strpos($high,'"'));
$low=substr(strstr($StatusPage,'["inetstat:status/ThisMonth/BytesReceivedLow"]'),50,15);
$low=substr($low,0,strpos($low,'"'));
$t['monat'] ['empfangen']=lowhigh($low,$high);
// Diesen Monat gesendet
$high=substr(strstr($StatusPage,'["inetstat:status/ThisMonth/BytesSentHigh"]'),47,5);
$high=substr($high,0,strpos($high,'"'));
$low=substr(strstr($StatusPage,'["inetstat:status/ThisMonth/BytesSentLow"]'),46,15);
$low=substr($low,0,strpos($low,'"'));
$t['monat'] ['gesendet']=lowhigh($low,$high);
$calls=substr(strstr($StatusPage,'["inetstat:status/ThisMonth/OutgoingCalls"]'),47,5);
$calls=substr($calls,0,strpos($calls,'"'));
$t['monat']['Outgoing_calls']=$calls;
// Letzten Monat empfangen
$high=substr(strstr($StatusPage,'["inetstat:status/LastMonth/BytesReceivedHigh"]'),51,5);
$high=substr($high,0,strpos($high,'"'));
$low=substr(strstr($StatusPage,'["inetstat:status/LastMonth/BytesReceivedLow"]'),50,15);
$low=substr($low,0,strpos($low,'"'));
$t['letzter_monat'] ['empfangen']=lowhigh($low,$high);
// Letzten Monat gesendet
$high=substr(strstr($StatusPage,'["inetstat:status/LastMonth/BytesSentHigh"]'),47,5);
$high=substr($high,0,strpos($high,'"'));
$low=substr(strstr($StatusPage,'["inetstat:status/LastMonth/BytesSentLow"]'),46,15);
$low=substr($low,0,strpos($low,'"'));
$t['letzter_monat'] ['gesendet']=lowhigh($low,$high);
$calls=substr(strstr($StatusPage,'["inetstat:status/LastMonth/OutgoingCalls"]'),47,5);
$calls=substr($calls,0,strpos($calls,'"'));
$t['letzter_monat']['Outgoing_calls']=$calls;
IF ($_IPS['SENDER']=="Execute" )
{
print_r($t);
}
function lowhigh($l,$h)
{
$res=$l+($h*pow(65536,2));
$res=round($res/1000000,0);
return($res);
}
?>
So etwas in der Art sollte da raus kommen.
Array
(
[heute] => Array
(
[empfangen] => 5999
[gesendet] => 149
[Outgoing_calls] => 1
)
[gestern] => Array
(
[empfangen] => 4462
[gesendet] => 220
[Outgoing_calls] => 9
)
[woche] => Array
(
[empfangen] => 15485
[gesendet] => 552
[Outgoing_calls] => 14
)
[monat] => Array
(
[empfangen] => 15485
[gesendet] => 552
[Outgoing_calls] => 14
)
[letzter_monat] => Array
(
[empfangen] => 0
[gesendet] => 0
[Outgoing_calls] => 0
)
)
Gruß
Walter
Danke Walter…
… das Skript funzt auf meiner 7390 mit aktueller Firmware. Bekomme den richtigen Verbrauchswerte angezeigt!
Gruß,
Peter
Getestet und läuft.
Moin,
habe eine etwas andere Art der Steuerung für die Rufumleitung realisiert als auf der ersten Seite beschrieben. Die Umleitungen können hier direkt einzeln angesprochen werden.
Voraussetzung ist, dass sie schon manuell angelegt wurden.
Beispiel: Rufumleitung aller ankommenden Rufe ohne Rufnummer auf den AB1:
<?
include "fritzbox.php";
$nr='0'; // Nummer der Umleitung. Nr.1 = 0, Nr. 2 = 1
$active='1'; // An oder Aus
$nummer=''; // Welche eingehende Nummer soll umgeleitet werden ( * für alle, "" für unbekannt ohne Rufnummer )
$ziel='600'; // Zielrufnummer ( 600 für AB 1 etc. )
$StatusPage = file_get_contents('http://fritz.box/fon_num/rul_edit.lua?sid='.$SID);
$ch = curl_init('http://fritz.box/fon_num/rul_edit.lua');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:settings/CallerIDActions$nr/Active={$active}");
curl_exec($ch);
curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:settings/CallerIDActions$nr/CallerID={$nummer}");
curl_exec($ch);
curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:settings/CallerIDActions$nr/Destination={$ziel}");
curl_exec($ch);
curl_Close($ch);
?>
Gruß
Walter
Moin,
Wecker in der Fritzbox aktivieren / einstellen :
<?
// Wecker einschalten
include "fritzbox.php";
$ein='0'; // 1= EIN / 0 = AUS
$zeit="1130"; // Zeit = 11:30 Uhr
$name="Guten Morgen"; // Text
curl_action("sid={$SID}&telcfg:settings/AlarmClock0/Active={$ein}");
curl_action("sid={$SID}&telcfg:settings/AlarmClock0/Time={$zeit}");
curl_action("sid={$SID}&telcfg:settings/AlarmClock0/Active={$ein}");
curl_action("sid={$SID}&telcfg:settings/AlarmClock0/Name={$name}");
function curl_action($line)
{
$ch = curl_init('http://fritz.box/fon_devices/alarm.lua');
curl_setopt($ch, CURLOPT_POSTFIELDS, $line);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
curl_close($ch);
return;
}
?>
mit
$wert=$_IPS['VALUE'];
include "fritzbox.php";
$StatusPage = file_get_contents('http://fritz.box/wlan/wlan_settings.lua?sid='.$SID);
$ch = curl_init('http://fritz.box/wlan/wlan_settings.lua');
curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&wlan:settings/guest_timeout={$wert}");
curl_exec($ch);
curl_Close($ch);
stellt man die Zeit ein wie lange der Gastzugang laufen soll.
Wie muss der Bereich aussehen wenn man wissen will wie lange der Gastzugang noch läuft?
nAbend,
ich hätte eine Frage an die Fritz-Box Experten. Ich habe derzeit die FritzBox 7312.
Ist es möglich in die Datein der BOx zu verbinden und dort z.B den Startscreen in Fritz-Box ändern.
Oder sind die Datein verschlüsselt, wenn ja kann man die entschlüsseln. Kann man bestimme Bereiche an der Verwaltungsoberfläche ändern?
Vielen dank schonmal
Hallo ,
ich hab’s schon mit dem „alten scriptt“ versucht (fritzbox_api.class.php von sschnake) .
Funktioniert nicht wegen der Firmware und Anmeldung (lua).
Kann mir das jemand umbiegen:
<?
require_once('fritzbox_api.class.php');
try
{
$fritz = new fritzbox_api('password', '192.168.x.x');
$formfields = array(
'getpage' => '../html/de/menus/menu2.html', // the getpage parameter is mandatory
'telcfg:settings/UseClickToDial' => 1, // enables the first answering machine, any POST-field from the Web-UI can be used
"telcfg:command/Dial"=>"**2#9",
"telcfg:settings/DialPort"=>"1"
);
$fritz->doPostForm($formfields); // send the command
$fritz = null; // destroy the object to log out
}
catch (Exception $e)
{
echo $e->getMessage(); // schow the error message in anything failed
}
?>
gruß Konny
Versuch das mal:
<?
include "fritzbox.php";
$nummer="**2#9";
$ch = curl_init('http://fritz.box/fon_num/dial_foncalls.lua');
curl_setopt($ch, CURLOPT_URL, "http://fritz.box/fon_num/dial_foncalls.lua?sid={$SID}&dial=$nummer");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
curl_close($ch);
?>
Gruß
Walter
Würde ich über einen Timer in IPS steuern. Bei Aktivieren über das Webfront, wird eine Startzeit gesetzt, die Du dann abfragen kannst. Die max. Zeitspanne hast Du ja…
Gruß
Walter
oder aus der Box :
include "fritzbox.php";
$StatusPage = file_get_contents('http://fritz.box/wlan/guest_access.lua?sid='.$SID);
$rest = substr(strstr($StatusPage,'["wlan:settings/guest_time_remain"] ='),39,10);
$rest = (int) substr($rest,0,strpos($rest,'"'));
SetValue(22386 /*[Telefon u. Internet\FritzBox\WLan\Gäste WLAN\Restzeit GUEST LAN]*/,$rest );
Danke Walter,
soweit funktioniert schon mal etwas, aber anders als gewünscht:
Die Klingel ist die Nebenstelle 2, mit a/b-Anschluß an der Fritzbox (auerswald Dialog103)
$nummer="**2#9"
hebt die Nebenstelle 2(Klingel) ab und läutet an den anderen Telefonen.
Ich brauche aber eine angeklingelte MSN die abhebt und „#9“ sendet oder
eine Nichtangerufene, die abhebt und den Code „**2#9“ zur Nebenstelle schickt.
Vielleicht hab ich da noch einen Denkfehler…
Gruß Konny
ich hätte eine Frage an die Fritz-Box Experten. Ich habe derzeit die FritzBox 7312.
Ist es möglich in die Datein der BOx zu verbinden und dort z.B den Startscreen in Fritz-Box ändern.
Oder sind die Datein verschlüsselt, wenn ja kann man die entschlüsseln. Kann man bestimme Bereiche an der Verwaltungsoberfläche ändern?
Vielen dank schonmal
ich glaube, das ist das falsche Forum für Dein Anliegen. Hier geht es weniger darum, die Oberfläche der Fritzbox zu verändern, sondern darum, Funktionen der Box in IPS zu integrieren oder zu visualisieren.
Versuch Dein Glück mal hier .
Gruß
Walter
Hmm, versuche aus dem Topic #82 von Walter1304 die Daten zu extrahieren. Hätte erwartet das ich mit:
echo($heute[‚gesendet‘]);
Denn Wert angezeigt bekomme - aber das geht nicht.
Was mache ich hier falsch?
Danke.
Hi,
Die Variable heißt $t[‚heute‘] [‚gesendet‘] ( ist ein 2 dimensionales Array ).
Gruß
Walter
Herrje, hätte ich auch selber drauf kommen können - da Sie ja zigmal im Source steht. Dachte aber das, das eindimensionale Arrays sind :(.
Danke für die schnelle Hilfe :).
Cool, wieder einen offenen Punkte abgehackt.
Dieser Thread ist die reinste Fundgrube … danke an euch :).
Huhu, Community,
könnte mir jemand verraten bzw. einen link schicken wie ich ein Klingelscript aus IPS verwirklichen kann ??
Fritzbox vorhanden, aber irgendwie seh ich den Baum nicht im Wald.
lg
My
Grüsse an alle…