FritzBox mit SOAP auslesen und steuern

Danke euch, funktionieren tut es.
Nur leider schaltet die Fritzbox bei der Bedienung aus webfront mal kurz das gesamte WLAN ab.
Kennt ihr das Verhalten?

Ich glaub zu wissen (aus Erfahrung) dass das „normal“ ist. Passiert glaub ich auch wenn Du’s direkt auf der Box machst.

Beim AUS/EIN schalten vom WLAN über das FritzBox WebFront, bekommt man den Hinweis, dass einige Minuten keine Anmeldungen am WLAN möglich sind :wink:

Mal geht es fix, mal weniger fix… Je nachdem was man wie schaltet.

Grüße,
Chris

Hallo,

also wenn ich von der FB-Oberfläche aus schalte, merke ich keine WLAN Unterbrechung.
Wenn ich aus IPS-webfront schalte erst mal auch nicht. ABER, wenn ich die Abfrage ausführe,
dann (aber auch nicht immer??) kommt es zu einer Unterbrechung. Je nach Gerät (iphone geht schnell, Laptop braucht ewig) bin ich dann schneller oder langsamer wieder WLAN-technisch online.

P.S. meine Frage nach dem löschen der Anruferliste ist etwas unter gegangen. Gibt es da einen SOAP Befehl?:confused:

Kann es sein, dass es aktuell im IPS PHP das Kommando „ctype_alnum“ nicht mehr gibt? :confused:.
Zumindest bekomme ich den Fehler (auf aktuellster Raspberry Version).

Gruß
Thorsten

Jup da fehlt was in IPS.
Hatte ich auch schon.
Ich schau nachher mal nach wie ich das gelöst habe.
Michael

Danke :).
So wie ich paresy verstanden habe wird es ohnehin demnächst eine neue PHP Version in IPS bekommen (mit exif Funktionen, mysql Funktionen und vielleicht auch dem :p).

Gruß
Thorsten

Mal eben nachgesehen.
Ich habe das einfach durch


preg_match('/^[a-zA-Z0-9]+$/', $ident)

ersetzt.

Michael

Hallo.
Danke für den Tipp. Jetzt läuft es.

Gruß
Thorsten

Hallo Forum.

Nun musste ich mich doch mal anmelden um ein paar Sachen für mich auszuschließen. Ich mag nicht gleich ein neues Thema eröffnen, darum poste ich das mal hier rein. Diese ganzen SOAP PHP Scripte. Funktionieren bzw. sollten die auch ohne SYMCAN Hardware Funktionieren? Oder ist das irgendwie auf Geräte bezogen die PHP Scripte unterstützen?

Oder sollten die (wir ich mir das wünsche) auch ganz normal per PHP auf einem x-beliebigen Server gehen?

Denn ich habe spaßeshalber natürlich experimentiert. Bekomme aber keines der Scripte zum Laufen. Ich richte mir gerade eine Pre LCARS Oberfläche (Enterprise 2001 Computer UI Design) ein auf der ich Überblick über ein paar Sachen haben möchte. FritzBox Daten darauf anzeigen zu lassen wäre natürlich genial. Ja ja ich weiß ist etwas nerdig. :smiley:

Lange Rede kurzer Sinn.
Sind die PHP Scripte für normale Server gedacht? Oder muss es lokal laufen? Sind bestimmte FritzBoxen ausgeschlossen? (meine = 7360) Muss auf dem Server irgend etwas besonderes installiert/aktiviert sein? Ich komme jedenfalls gerade nicht weiter.

Gruß,
Alex

Hi Alex!

Die PHP Skripte von Nall chan funktionieren einwandfrei :slight_smile: …wenn man IP-SYMCON verwendet :smiley:

Aber PHP mit SOAP kannst du auch ohne IPS verwenden. Dazu brauchst du nur einen WebServer mit PHP zu Hause im Netzwerk, wo du die Skripte „laufen lassen kannst“. Und du musst natürlich eigene Skripte basteln. Google mal nach „php fritzbox Soap“ …da gibt es genug Beispiele in Blogs und Foren!

Hier ein Google-Treffer als Beispiel:
AVM FritzBox via UPNP überwachen/auslesen – MUNIN/NAGIOS | MiGo-IT-Blog

Es gibt aber noch einige Treffer mehr… Da steht dann z.B. auch, was du in der FritzBox noch „freigeben“ musst, steht aber soweit ich mich richtig erinnere, auch hier im Thread (Zugriff für Anwendungen, UPnP, … je nachdem was du vor hast).

Grüße,
Chris

Hi.

Danke mal. Ja ich hab schon vieles durchwühlt und nix geht. Da gab es auch schon alle möglichen Varianten auch mit Login System bei „externen Zugriff“. Hm. Lokal habe ich noch keinen Server installiert. Bisher habe ich angenommen das macht keinen Unterschied!?

Naja… muss ich mal weiter suchen und testen.

-Alex

Der Webserver mit PHP muss bei dir im Netzwerk stehen und dort müssen dann auch die Skripte „laufen“, weil aus dem Internet hast du auf diese Informationen (normal) keinen Zugriff. Da gibt es zwar auch Möglichkeiten, aber das sprengt den Rahmen g

Installier dir einfach mal auf deinem Computer XAMPP, dann hast du einen Webserver mit allem drum und dran und kannst gut testen. Wenn es dann mit deinen Skripten klappt, dann kannst du dir immer noch Gedanken machen wie wo was du mit dem Webserver bei dir machst :slight_smile:

Grüße,
Chris

MAMP hab ich installiert. Leider mit den Scripten auch kein Erfolg auf Anhieb. SOAP läuft wie ich in der phpinfo sehe.
So ist das eben mit #Neuland :slight_smile:

Hallo zusammen,
ich habe das Script von DigiHouse mal so umgebaut das man damit jetzt eine Übersicht der über Wlan verbundenen Geräte bekommt.
Es spuckt allerdings nur IP und MAC Adresse, Signalstrength usw. aus, d.h. man muss über die IP oder MAC Adresse herausfinden welches Gerät es ist. Bei der FB kann man ja jedem Wlan/Lan Gerät immer die gleiche IP Adresse (bei Einstellung DHCP) zuweisen lassen.
Und ich habe mir Variablen erstellt um zu sehen welche Geräte verbunden/nicht verbunden sind.

Habe die FB 7390 mit 06.30 Fritz!OS (keine Labor), läuft bisher einwandfrei.

<?

/*//////////////////////////////////////////////////////////////////////////////
Fritzbox Script Aktive WLan-Geräte                         
/*//////////////////////////////////////////////////////////////////////////////

//Definitionen//////////////////////////////////////////////////////////////////

$fritzboxIP = "fritz.box"; //falls umbenannt IP eintragen
$fritzboxPort = "49000"; //konstant
$login = "****"; //ggf. eintragen
$password = "****"; //ggf. eintragen

////////////////////////////////////////////////////////////////////////////////

$client = new SoapClient(
    null,
    array(
        'location'   => "http://".$fritzboxIP.":".$fritzboxPort."/upnp/control/wlanconfig1",
        'uri'        => "urn:dslforum-org:service:WLANConfiguration:1",
        'noroot'     => True,
        'login'      => $login,
        'password'   => $password
    )
);
//print_r($client);

$NumberOfHosts = $client->GetTotalAssociations();
//print_r($NumberOfHosts);
for ($i=0;$i<$NumberOfHosts;$i++)
    {
    $Host = $client->GetGenericAssociatedDeviceInfo(new SoapParam($i,'NewAssociatedDeviceIndex'));
    //print_r($Host);

    $Hosts[] = $Host;

    }

/*Muster des Array://///////////////////////////////////////////////////////////
 Array
(
    [NewAssociatedDeviceMACAddress] => 
    [NewAssociatedDeviceIPAddress] => *.*.*.*
    [NewAssociatedDeviceAuthState] => 0
    [NewX_AVM-DE_Speed] => 0
    [NewX_AVM-DE_SignalStrength] => 0
)

Struktur des Popup / Tabelle:

--------------------------------------------------------------------------------
|Übersicht WLan: [Anzahl]Aktive Geräte                                      |
--------------------------------------------------------------------------------
|  Nr    |     IPAddress       |    MACAddress    |    AUTHState           |
--------------------------------------------------------------------------------
|         |                            |                             |                                | 
--------------------------------------------------------------------------------
/*//////////////////////////////////////////////////////////////////////////////

$table = '<tr><th>Nr.</th><th>IPAddress</th><th>MACAddress</th><th>AUTHState</th></tr>';

for ($i=0;$i<$NumberOfHosts;$i++)
    {
    if($Hosts[$i]['NewAssociatedDeviceAuthState'] == 1)
		  {
        $NewIPAddress     = $Hosts[$i]['NewAssociatedDeviceIPAddress'];
        $NewMACAddress    = $Hosts[$i]['NewAssociatedDeviceMACAddress'];
        $NewAuthState     = $Hosts[$i]['NewAssociatedDeviceAuthState'];
        
        $ActiveDevices[]  = $Hosts[$i]['NewAssociatedDeviceAuthState'];
 
        
        
        
        $table .= '<tr><td>'.$i.'</td><td>'.$NewIPAddress.'</td><td>'.$NewMACAddress.'</td><td>'.$NewAuthState.'</td></tr>';
		  }
	  
    }

//print_r($table);
//print_r(count($ActiveDevices));

$WFC_Content = '<!DOCTYPE html>
<html>
<head>
<style>
table {
    width:80%;
    height:80%;
     margin-left: auto;
     margin-right: auto;
     margin-top: auto;
     margin-bottom: auto;
}
table, th, td {
    border: 1px solid black;
    border-collapse: collapse;
}
th, td {
    padding: 5px;
    text-align: left;
    width:auto;
}
table#t01 tr:nth-child(even) {
    background-color: #eee;
     color: black;
}
table#t01 tr:nth-child(odd) {
     background-color:#fff;
     color: black;
}
table#t01 th    {
    background-color: grey;
    color: white;
}
</style>
</head>
<body>

<table id="t01">
'.$table.'
</table>

</body>
</html>';

//$WFC_Header = "Netzwerkübersicht: ".count($ActiveDevices)." aktive Geräte";

//$WFC_ID = 18062 /*[WebInterface WebFront]*/ ;//WFC-ID eintragen !!!

//WFC_SendPopup($WFC_ID, $WFC_Header, $WFC_Content);

$handy = preg_match("/*.*.*.*/",$table); //IP Adresse vom Handy/Tablet usw.


if($handy == 1){
setvalue(52315 /*[Netzwerk\Mobile\Handy]*/,true);
}else{setvalue(52315 /*[Netzwerk\Mobile\Handy]*/,false);}



//print_r($handy);
//setvalue(49131 /*[Netzwerk\Netzwerkübersicht\WLan Übersicht]*/, count($ActiveDevices)." aktive Geräte".$WFC_Content);

?>

Hallo Bernd,
wenn Du immer die gleiche IP zuweist kannst Du in der Fb auch direkt einen Namen vergeben (siehe mein Script).
Gruß André

Hallo Andre,
in der FB hab ich den Geräten ja auch einen Namen gegeben, mit den Scriptbefehlen (hier für die WLan Geschichte) werden diese Namen aber leider nicht ausgespuckt, nur IP und MAC Adressen…

Array
(
    [NewAssociatedDeviceMACAddress] => 
    [NewAssociatedDeviceIPAddress] => *.*.*.*
    [NewAssociatedDeviceAuthState] => 0
    [NewX_AVM-DE_Speed] => 0
    [NewX_AVM-DE_SignalStrength] => 0
) 

Hallo Bernd,

ich benutze eine 6.35 Beta auf einer FB 7490.
Mit GetHostNumberOfEntries und dann Auslesen/Filtern über GetGenericHostEntry erhalte ich die Arrays, wie in meinem Script kommentiert.
Willst Du Signalstärke etc. kannst Du vielleicht beide Abfragen kombinieren.

Gruß

André

Macht euch mal nicht zu viel Mühe, ich habe in meiner Hand gelesen, dass Nall chan euch bald die Arbeit abnimmt :wink: :cool:

Grüße,
Chris

Ja, ich wollte eben nur nicht über Tap-A-Talk schreiben :wink:

Hier mal ein Vorgeschmack:

bild5.png

Sobald ich die Anleitungen fertig habe, ich hoffe heute abend noch, stelle ich das mal online.

Michael