opendir() geht nicht? ...

Äh … hmmm … kein Plan im Moment … hast du das Script genau so wie ich es gepostet habe eingebaut? Und natürlich vorher dein Paßwort an Stelle der xxxxxx eingesetzt?

Dann müßtest du das Ergebnis von $Buffer mal ausgeben!

Hi Jens,
habs 1 zu 1 kopiert, mein Passwort eingesetzt
Hier ist das Ergebnis der Variablen:
$response = HTTP/1.0 200 OK Cache-Control: no-cache Content-type: text/html; charset=utf-8 Expires: -1 Pragma: no-cache
$Ausgabe:Resource id #3
$Buffer bringt keine Ausgabe, weder 1 noch 0

Hab ne FB 7270 mit FW 54.04.63-12461

Gruss René

Also $Ausgabe:Resource id #3 ist soweit ok, aber $buffer müßte etwas ausgeben … evtl. ist die Abfrage bei der 7270 anders als bei der 7170, also der Link dahin. Das kann ich jetzt leider nicht nachvollziehen, da ich keine habe.

Oder schlägt evtl. die Anmeldung fehl?

Hall Jens, ich danke dir fürs erste.

Dass mit dem fgets verstehe ich aber nicht ganz.
fgets holt lt. phpmanual doch die erste Zeile aus dem Dateihandle, also in dem Fall aus $Ausgabe und packt es in die Variable $buffer.
Demzufolge müsste doch wenigstens dieses „Ressource ID3“ auch in $buffer stehen oder nicht? Ausser die erste Zeile wäre leer, was aber keinen Sinn macht.

Ich schau mal, vielleicht finde ich den passenden Link heraus, falls der sich geändert hat. Dir und deiner Familie ein schönes Wochenende

René

Danke, euch ebenfalls!

Mir ist noch etwas eingefallen, vielleicht klappt bei dir die Anmeldung an die Box nicht einwandfrei … Ansonsten bleibt nur die Erklärung mit dem anderen Verzeichnisaufbau :frowning:

Kommt denn bei der Ausgabe von $Buffer gar nix? Nicht mal so etwas:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Nö, leider nicht, output bleibt leer und Variable WLAN wird auch nicht geändert. Gruss René

Hallo Jens,

habe im ips-scripteditor mal das Html-output abgeschalten jetz bekomme ich folgenden Html-Code angezeigt.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<head>
<title>FRITZ!Box</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<script type="text/javascript">
<!--
var g_HelpWin = null;
function getElem(id) {
var t = typeof document.getElementById;
var elem = null;
if (t != 'undefined' && t != 'unknown') {
elem = document.getElementById(id);
}
else {
t = typeof document.all;
if (t != 'undefined' && t != 'unknown') {
elem = document.all[id];
}
else {
elem = eval("window."+id);
}
}
return elem;
}
function SelectPage() {
var Extra = "&var:loginDone=0";
var loginDone = "";
if (loginDone == "1") {
Extra = "&var:loginDone=1";
}
var ThePage = "index_inhalt.html";
if (window.name != "") {
var Name = window.name;
/*var Check = Name.slice(0,5);
if (Check == "page_") */ {
var Name2 = Name.slice(5);
if (Name2 != "") {
ThePage = "index_"+Name2+".html";
window.name = Name2;
}
}
}
var TheFrame = getElem("frame_content");
TheFrame["src"] = "/cgi-bin/webcm?getpage=../html/"+ThePage+Extra;
}
-->
</script>
</head>
<frameset id="frame_set" rows="*" onload=SelectPage()>
<!--<frame src="/cgi-bin/webcm?getpage=../html/index_inhalt.html" id="frame_content" scrolling="auto" frameborder="0" />
-->
<frame id="frame_content" scrolling="auto" frameborder="0" />
</frameset>
<noframes>
<body>
<p>Die FRITZ!Box Benutzeroberfläche basiert auf XHTML-Frames. Ihr Browser scheint diese Art der Darstellung nicht zu unterstützen.</p>
<p>Sie können die Oberfläche trotzdem nutzen, wenn Sie <a href="/cgi-bin/webcm?getpage=../html/index_inhalt.html">direkt zur Startseite</a> gehen.</p>
<p>Beachten Sie bitte, dass ihr Browser <strong>unbedingt</strong> Javascript unterstützen muss. Bei den meisten Text-basierten Browsern (lynx, links) ist das <strong>nicht</strong> der Fall. Bitte konfigurieren Sie FRITZ!Box an einem Rechner mit DOM-1-kompatiblem Browser und aktiviertem Javascript, zum Beispiel:</p>
<ul>
<li>Internet Explorer 5.5, 6 oder höher</li>
<li>Mozilla basierte Browser (Netscape 6 oder höher, Mozilla, Firefox, Galeon, ...)</li>
<li>Opera</li>
<li>Konqueror (Linux KDE)</li>
<li>Safari (MacOS)</li>
</ul>
</body>
</noframes>
</html>

Variable $resonse:

HTTP/1.0 200 OK
Cache-Control: no-cache
Content-type: text/html; charset=utf-8
Expires: -1
Pragma: no-cache

Variable $ausgabe:

Resource id #3

Variable $buffer: immer noch leer

Habe es mit der Fritzbox 7170 und 7270 versucht, bei Eingabe direkt im Webbrowser bekomme ich auch eine leere Seite zurück.
Sei es drumm vielleicht find ich noch eine Lösung, evt. über telnet.

Gruss René

Äh … du hast auch noch ne 7170? Und da gehts auch nicht? das kann ich jetzt nicht ganz nachvollziehen … was für eine Firmware ist auf der 7170?
Auf meiner ist diese hier: Firmware-Version 29.04.59

Evtl. ist deine aktueller, denn bei den neueren Firmwares muss die Abfrage etwas anders aussehen. Hast du mal versucht einen Login manuell zu machen bevor du das Script startest? Also den Login im Script raus nehmen?

Versuch mal das hier mit der 7270:

http://fritz.box/cgi-bin/webcm?getpage=../html/query.txt&var:n0=wlan:settings/ap_enabled

Hi Jens,

FRITZ!Box Fon WLAN 7170 Firmware-Version 29.04.63-12199

Habs nach man. Login auf der 7270 mit deiner Url probiert,
$ausgabe= Resource id #3
$buffer ist weiterhin leer.

Ich kann ja nächste Woche auf meiner anderen 7270, die ich noch habe, mal ne ältere Firmware drauftun, mals sehen was die sagt.

Gruss René

Dann wird das am neuen Format in der FW liegen … gut zu wissen, denn dann dürfte ich bei mir auch Probleme bekommen so bald ich meine FW aktualisiere. Ich schau mal was ich dazu noch finden kann.

Wieviele FB hast du eigentlich? :eek:

Jens

Hallo Jens,

nur die 3 :slight_smile:

Die 7170 war meine erste FB, wegen der Reichweite und dem internen DECT habe ich mir dann die 7270 geholt.:confused:
Leider war A*M damals mit der Unterstützung der Gigaset-Modelle noch nicht so weit, ich hatte meine Gigaset SX255 nebenher noch laufen, die beiden haben sich aber gestört.
Die 3. 7270 habe ich seitdem ich bei 1und1 bin.
Die 7170 läuft als Repeater, weil ich meine lieben Nachbarn kostenlos an meiner Bandbreite teilhaben lasse.

Gruss René

Ok … noch ein Versuch :wink:

http://fritz.box/cgi-bin/webcm?getpage=../html/query.txt&var:n[0]=wlan:settings/ap_enabled

Hi Jens,

ich werd verrückt, ich probier das ganze Wochenende und es geht!
$buffer =1
somit ist WLAN=True

Danke, Danke Danke

Waren die Ursache die eckigen Klammern, wie bist du jetzt darauf gekommen?

Gruss René

Die Ursache waren die eckigen Klammern … und natürlich auch das fehlende

var:cnt=1&

, was schon in dem vorletzten Vorschlag fehlte. Das hängt mit der neuen Firmware zusammen bzw. mit der Struktur der FW für die 7270. Die Abfrage für die query.txt hat sich scheinbar geändert.
Ob das Ein- und Ausschalten des WLAN ebenfalls davon betroffen ist kann ich leider noch nicht nachvollziehen, werde aber auch da versuchen etwas in Erfahrung zu bringen … oder ging das schon bei dir? Evtl. solltest du aber dazu einen neuen Thread eröffnen, das die ganze Geschichte schon lang nix mehr mit opendir() zu tun hat :wink: .

Was mich noch interessieren würde, ist ob es jetzt bei der 7170 auch geht … dann würde ich meine ebenfalls aktualisieren und da dann weiter testen.

Gruß
Jens

Hi Jens,
das var:cnt=1& fehlt aber auch in deinem letzten Versuch und es geht trotzdem:D

Ein/Ausschalten funktioniert mit

$response = http_post_fields("http://192.168.2.1/cgi-bin/webcm", array('wlan:settings/ap_enabled' => '1'));

mit beiden FB’s.

Grus René

Ja ich weiß das es bei beiden fehlt, so hatte ich das doch auch gemeint. Das MUSS fehlen und dann die Sache noch zusätzlich mit der eckigen Klammer :wink:

Und danke für die Info!

Jens

Hier die Details, warum opendir nicht auf Netzwerkpfade zugreifen kann:

paresy

Moin Zusammen,

hab mir mal wieder die halbe Nacht um die Ohren gehauen, aber irgendwie will das nicht funzen. Ich bekomme immer nur …

HTTP/1.0 200 OK
Cache-Control: no-cache
Content-type: text/html; charset=utf-8
Expires: -1
Pragma: no-cache

angezeigt.

Nix weiter. Kein Buffer…nix.

Hier nochmal das Script von TETRAPACK:

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Fritzbox_Wlan_Status.ips.php
Trigger  :
Interval :
*/


   $password = "rxxxxxxxd";
   $response = http_post_fields("http://fritz.box/cgi-bin/webcm", array('login:command/password' => $password));
   
   echo $response;

   IPS_sleep(1000);

   $url = "http://fritz.box/cgi-bin/webcm?getpage=../html/query.txt&var:cnt=1&var:n[0]=wlan:settings/ap_enabled";

   $Ausgabe = fopen("$url", "r");
   if (!$Ausgabe){
      echo("ERROR : Kann URL nicht öffnen : '$url'
");  // Kann URL nicht öffnen
   }

    $buffer = fgets($Ausgabe);

    if ($buffer == 1)
      {SetValueBoolean(28872 /*[.Test\WLAN]*/, true);}
   else
      {SetValueBoolean(28872 /*[.Test\WLAN]*/, false);}

    echo $buffer;

?>

Sollte so sein wie in den Beiträgen zuvor angeben. Es passiert aber nix.

Hab die aktuelle FB Firmware drauf.

Das liegt daran, das mein ursprüngliches Script für eine 7170 ist und nicht für eine 7270.
Die Firmware der 7270 ist anders aufgebaut … siehe die letzte Diskussion hier im Thread!

Die richtige Zeile ist in Posting 52 zu finden :wink:

…das habe ich gestern probiert, hat aber auch nicht geklappt! Ich bekomme nur das …

HTTP/1.0 200 OK
Cache-Control: no-cache
Content-type: text/html; charset=utf-8
Expires: -1
Pragma: no-cache

… angezeigt! Das Script meckert auch nicht wenn ich am Anfang des Scripts ein falsches Passwort eingebe. Und bei echo $Buffer wird nix geschrieben.

Hat vielleicht noch jemand ne Idee oder kann sein aktuell Laufendes Script zum Schalten bzw. Abfragen vom WLAN posten!!?