Funktionieren die Skripte auch mit der 7390 ? Da tut sich irgendwie nix bei mir … (2.2, 2.1 & aktuelle Box Firmware)
Was tut sich denn nicht. Fehlermeldungen usw…
Ich habe noch keine, kann deshalb nicht testen.
Ansonsten sieh dir mal eine Quelltextseite an.
Bei der DSL Info seite habe ich jetzt folgende fehlermeldung.
Irgendwie blick ich das noch nicht
Ok oder doch. Die Ordnerstruktur muss angelegt werden.
Ich denke die Fritzbox 7170 geht nicht:(
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 70: parser error : xmlParseEntityRef: no name in C:\IP-Symcon\scripts\25713.ips.php on line 14
Warning: simplexml_load_string() [function.simplexml-load-string]: if (h1 != null && h2 != null) h1.value=h2.value; in C:\IP-Symcon\scripts\25713.ips.php on line 14
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in C:\IP-Symcon\scripts\25713.ips.php on line 14
Notice: Trying to get property of non-object in C:\IP-Symcon\scripts\25713.ips.php on line 17
Notice: Trying to get property of non-object in C:\IP-Symcon\scripts\25713.ips.php on line 23
Fehler: Login fehlgeschlagen
Ich habe dir doch den Link gegeben. Installiere alle extension dann gehen auch die Scripts.
Zumal lesen geholfen hätte. :mad:
Hallo Rainer,
das habe ich gemacht. Ich habe 2 Boxen eine 7270 auf der gehts Problemlos. Nur auf der 7170 nicht.
Gruss
Frank
Hallo Frank,
dann wird auf deiner 7170 nicht die aktuellste Firmware drauf sein und es muss ein Passwort vergeben sein!
Hallo Rainer ist beides Version: Labor-Version 29.04.99-12526
Gruss
Frank
Hallo
Wenn ich das WLAN auf meiner Fritz!Box 7270 ein bzw. ausschalten will, bringt die Fehlerkonsole (siehe Anhang) eine Meldung, mit der ich nichts anfangen kann. Das WLAN wird zwar trotzdem ein- bzw. ausgeschalten, aber mich stört halt die Fehlermeldung.
Folgendes Script verwende ich:
<?
if ($IPS_SENDER == "Execute")
{
echo "Dieses Script kann nicht von Hand gestartet werden.";
return;
}
if ($IPS_SENDER == "WebFront")
{
$fritzbox_ip = 'fritz.box';
$fritzgui = 'http://fritz.box/cgi-bin/webcm';
$fritzseite = '../html/de/menus/menu2.html';
$password = 'lalilu';
$ein = '1';
$aus = '0';
$ch = curl_init('http://' . $fritzbox_ip . '/cgi-bin/webcm?getpage=../html/login_sid.xml');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$login = curl_exec($ch);
curl_close($ch);
$session_status_simplexml = simplexml_load_string($login);
//print_r($session_status_simplexml);
if ($session_status_simplexml->iswriteaccess == 1)
{
$SID = $session_status_simplexml->SID;
}
else
{
$challenge = $session_status_simplexml->Challenge;
$response = $challenge . '-' . md5(mb_convert_encoding($challenge . '-' . $password, "UCS-2LE", "UTF-8"));
$login = array('getpage' => $fritzseite, 'login:command/response' => $response);
$sendlogin = http_post_fields($fritzgui, $login);
preg_match('@<input type="hidden" name="sid" value="([A-Fa-f0-9]{16})" id="uiPostSid">@i', $sendlogin, $matches);
if (isset($matches[1]) && $matches[1] != '0000000000000000')
{
$SID = $matches[1];
print_r($SID);
}
else
{
echo "Fehler: Login fehlgeschlagen";
return;
}
}
if ($IPS_VALUE)
{
$wlan = http_post_fields($fritzgui, array('getpage' => $fritzseite, 'sid' => $SID, 'wlan:settings/ap_enabled' => $ein));
}
else
{
$wlan = http_post_fields($fritzgui, array('getpage' => $fritzseite, 'sid' => $SID, 'wlan:settings/ap_enabled' => $aus));
$checksetting = array('getpage' => $fritzseite, 'var:menu' => 'wlan', 'var:pagename' => 'common');
$sendcheck = http_post_fields($fritzgui, $checksetting);
preg_match('@name="wlan:settings/ap_enabled" value="([10])"@i', $sendcheck, $matches);
if (isset($matches[1]) && $matches[1] == 1)
{
print_r($matches);
SetValue(57005 /*[FritzBox\WLAN\WLAN ein/aus]*/, 1);
}
else
{
print_r($matches);
SetValue(57005 /*[FritzBox\WLAN\WLAN ein/aus]*/, 0);
}
$logout = array('getpage' => $fritzseite, 'sid' => $SID, 'security:command/logout' => 'logout');
$sendlogout = http_post_fields($fritzgui, $logout);
}
?>
Was bedeutet diese Fehlermeldung und wie bekomme ich die weg?
Hab vor ein paar Tagen ein Update auf V2.30 #1776 gemacht, kann es eventuell damit zusammenhängen?
MfG
computerpap
Eigentlich ist das keine Fehlermeldung, sondern eine Benachritigung das es Ein bzw. Ausgeschaltet wurde.
Hallo Uwe
Danke für deine Hilfe. Kannst du mir sagen, was ich im Script ändern muß, damit diese Meldung nicht mehr kommt?
Ob das WLAN an oder aus ist, seh ich ja im Webfront, da brauch ich nicht noch eine Meldung.
MfG
computerpap
Hm gute Frage, nimm mal das hier.
<?
if ($IPS_SENDER == "WebFront")
{
SetValue(55196 /*[Infos\Fritzbox\Anruferliste\Wlan]*/, $IPS_VALUE);
}
$fritzbox_ip = 'fritz.box';
$fritzgui = 'http://fritz.box/cgi-bin/webcm';
$fritzseite = '../html/de/menus/menu2.html';
$password = 'lalilu';
$ein = '1';
$aus = '0';
$ch = curl_init('http://' . $fritzbox_ip . '/cgi-bin/webcm?getpage=../html/login_sid.xml');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$login = curl_exec($ch);
curl_close($ch);
$session_status_simplexml = simplexml_load_string($login);
if ($session_status_simplexml->iswriteaccess == 1)
{
$SID = $session_status_simplexml->SID;
}
else
{
$challenge = $session_status_simplexml->Challenge;
$response = $challenge . '-' . md5(mb_convert_encoding($challenge . '-' . $password, "UCS-2LE", "UTF-8"));
$login = array('getpage' => $fritzseite, 'login:command/response' => $response);
$sendlogin = http_post_fields($fritzgui, $login);
preg_match('@<input type="hidden" name="sid" value="([A-Fa-f0-9]{16})" id="uiPostSid">@i', $sendlogin, $matches);
if (isset($matches[1]) && $matches[1] != '0000000000000000')
{
$SID = $matches[1];
}
}
if ($IPS_VALUE)
{
$wlan = http_post_fields($fritzgui, array('getpage' => $fritzseite, 'sid' => $SID, 'wlan:settings/ap_enabled' => $ein));
}
else
{
$wlan = http_post_fields($fritzgui, array('getpage' => $fritzseite, 'sid' => $SID, 'wlan:settings/ap_enabled' => $aus));
}
$logout = array('getpage' => $fritzseite, 'sid' => $SID, 'security:command/logout' => 'logout');
$sendlogout = http_post_fields($fritzgui, $logout);
?>
Hallo Uwe
Dein Script funktioniert, super, vielen Dank!
MfG
computerpap
print_r($matches);
das steht 2mal bei dir im Script, deshalb kommt die Fehlerkonsole!
Hallo zusammen,
die Scripte laufen absolut einwandfrei. Besten Dank an alle Programmierer. Bin in PHP leider „noch“ nicht so fit und habe folgendes Problem.
Ich will nur die letzten 5 Anrufer aus der Anrufliste in einer Textbox oder ähnlichem direkt im Webfront anzeigen lassen. Das ganz soll möglichst automatisch nach einem Anruf aktualisiert werden.
Hier auf dem Screenshot zu sehen .
http://www.ip-symcon.de/forum/f56/webfront-wenig-aufgehuebscht-12715/index5.html#post107549
Hat das eventuell schon jemand realisiert und wenn ja wie ?
Besten Dank
Thomas
<?
$filename = "../webfront/user/Fritzbox/Anrufliste.csv";
$id = @fopen($filename, "r");
$i = 0;
while (($data = fgetcsv($id, filesize($filename), ";")) && $i < 7)
{
$i++;
if ($data[0] == 1) $data[0] = "<img src=\"../user/icons/fixed/Callin.png\" title=\"eingehender Anruf\">";
if ($data[0] == 2) $data[0] = "<img src=\"../user/icons/fixed/Callinfailed.png\" title=\"Anruf in Abwesenheit\">";
if ($data[0] == 3) $data[0] = "<img src=\"../user/icons/fixed/Callout.png\" title=\"ausgehender Anruf\">";
$table[] = $data;
}
@fclose($id);
//echo "<table width='980' align='center'>";
$str = "<table width='100%' align='center'>";
foreach($table as $row)
{
//echo "<tr>";
$str.= "<tr>";
foreach($row as $data)
//echo "<td width='auto'><div align='center'>$data</div></td>";
$str.= '<td>'.$data.'</td>';
//echo "</tr>";
$str.= "</tr>";
}
//echo "</table>
";
$str .= "</table>";
//SetValue(29663 /*[Fritzbox\Anruflisten\Anrufliste Rainer]*/, $str);
IPS_SetScriptTimer($IPS_SELF, 0);
?>
Perfekt , Danke Rainer. Werde ich heute Abend testen.
Je nachdem wie Du deine Anrufe handelst, musst Du das Script noch entsprechend aufrufen. Ich mach das über DISCONNECT.
Funktioniert perfekt danke.
Frage noch :
Kann ich bei einer String Variablen mit dem Profil HTML-Box den Kopf in der Anzeige im Webfront ausblenden, heißt dass nur die HTML Box angezeigt wird oder geht das nicht ?
Thomas
Hallo Thomas,
nein, das geht nicht. Die HTML-Box ist Bestandteil des Profil. Du kannst nur zuklappen.