![]() |
Ich übernehme keine Verantwortung für Schäden, die durch die hier angebotenen Infos/Scripte entstehen! Sie wurden von mir nach besten Wissen und Gewissen erstellt, können jedoch Fehler enthalten. Alles geschieht auf eigene Gefahr! |
Nützliche Informationen können z.B. Informationen rund um die DSL Verbindung der FritzBox sein. Sie lassen sich ganz einfach in ein Wandtablet Dashboard einbauen. Wenn man die Daten in eine MySQL Datenbank schreibt, können auch historische Betrachtungen oder Graphen erstellt werden.
Hier stelle ich ein Beispiel PHP Script, welches diverse Parameter abfragt und ein SQL Script zur Erstellung der passenden, optionalen Tabelle zur Verfügung (Download rechts in der Sidebar). Weitere Werte können natürlich hinzugefügt werden. Die entsprechende Dokumentation findet ihr hier.
- Anpassung der Variablen:
123$fritz_login_user = "fritz_user";$fritz_login_passwort = "passwort";$fritzbox = "123.456.789.0"; - PHP SOAP Aufruf:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647$client = new SoapClient(null,array( 'location' => "http://" . $fritzbox . ":49000/igdupnp/control/WANCommonIFC1",'uri' => "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1",'soapaction' => "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1#GetCommonLinkProperties",'noroot' => True));$client2 = new SoapClient(null,array( 'location' => "http://" . $fritzbox . ":49000/igdupnp/control/WANIPConn1",'uri' => "urn:schemas-upnp-org:service:WANIPConnection:1",'soapaction' => "urn:schemas-upnp-org:service:WANIPConnection:1#GetStatusInfo",'noroot' => True));$client3 = new SoapClient(null,array( 'location' => "http://" . $fritzbox . ":49000/igdupnp/control/WANIPConn1",'uri' => "urn:schemas-upnp-org:service:WANIPConnection:1",'soapaction' => "urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress",'noroot' => True));$client4 = new SoapClient(null,array( 'location' => "http://" . $fritzbox . ":49000/upnp/control/wandslifconfig1",'uri' => "urn:dslforum-org:service:WANDSLInterfaceConfig:1",'soapaction' => "urn:dslforum-org:service:WANDSLInterfaceConfig:1#GetStatisticsTotal",'noroot' => True,'login' => $fritz_login_user,'password' => $fritz_login_passwort));$client5 = new SoapClient(null,array( 'location' => "http://" . $fritzbox . ":49000/upnp/control/wandslifconfig1",'uri' => "urn:dslforum-org:service:WANDSLInterfaceConfig:1",'soapaction' => "urn:dslforum-org:service:WANDSLInterfaceConfig:1#GetInfo",'noroot' => True,'login' => $fritz_login_user,'password' => $fritz_login_passwort));$client6 = new SoapClient(null,array( 'location' => "http://" . $fritzbox . ":49000/upnp/control/wlanconfig3",'uri' => "urn:dslforum-org:service:WLANConfiguration:3",'soapaction' => "urn:dslforum-org:service:WLANConfiguration:3#GetInfo",'noroot' => True,'login' => $fritz_login_user,'password' => $fritz_login_passwort));$status = $client->GetCommonLinkProperties();$status2 = $client2->GetStatusInfo();$wanip = $client3->GetExternalIPAddress();$status4 = $client4->GetStatisticsTotal();$status5 = $client5->GetInfo();$status6 = $client6->GetInfo(); - Ausgabe oder Weitergabe in eine MySQL DB:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970// Möchte man die Daten über einen Cronjob z.B. alle 10 Minuten auslesen und in eine MySQL Datenbank schreiben, dann einfach die folgende Auskommentierung herausnehmen und die Datenbankparameter unter $mysqli ändern. Natürlich vorher die Datenbank inkl. der Tabelle und Spalten erstellen.echo '<table><tr><td bgcolor="#eeeeee" align="right">WAN IP:</td><td><b>' . $wanip . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">Max. Profil Upstream (kbit/s):</td><td><b>' . $upload . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">Max. Profil Downstream(kbit/s):</td><td><b>' . $download . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">DSL Sync:</td><td><b>' . $physicallink . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">Zugangsart:</td><td><b>' . $wanaccess . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">PPPoE Status:</td><td><b>' . $connection_status . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">Verbindungsdauer in Sek.:</td><td><b>' . $uptime . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">CRC Fehler Downstream:</td><td><b>' . $crcdown . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">CRC Fehler Upstream:</td><td><b>' . $crcup . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">Max. Leitungskapazität Downstream in kbit/s</td><td><b>' . $max_download . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">Max. Leitungskapazität Upstream in kbit/s</td><td><b>' . $max_upload . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">SNR Downstream in dB</td><td><b>' . $snr_downstream . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">SNR Upstream in dB</td><td><b>' . $snr_upstream . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">Dämpfung Downstream in dB</td><td><b>' . $daempfung_downstream . '</b></td></tr><tr><td bgcolor="#eeeeee" align="right">Dämpfung Upstream in dB</td><td><b>' . $daempfung_upstream . '</b></td></tr></table>';/* $mysqli = new mysqli("localhost", "dbuser", "password", "databasename"); if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit(); } $timestamp = time(); $sql = "INSERT INTO fritzbox (downstream_current, upstream_current, dsl_state, connection_type, pppoe_connected, pppoe_time, ip, crc_downstream, crc_upstream, max_downstream, max_upstream, snr_downstream, snr_upstream, daempfung_downstream, daempfung_upstream, timestamp, gaestewlan_status, gaestewlan_ssid) VALUES ('$download','$upload','$physicallink','$wanaccess','$connection_status','$uptime','$status3','$crcdown','$crcup','$max_download','$max_upload','$snr_downstream','$snr_upstream','$daempfung_downstream','$daempfung_upstream','$timestamp','$gaestewlan_status','$gaestewlan_ssid');"; if ($mysqli->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $mysqli->error; } $mysqli->close(); */
Wenn ihr die entsprechenden Voraussetzungen geschaffen, die 3 Variablen im PHP Script angepasst habt und euer lokaler(!) Webserver PHP (mit SOAP Erweiterung) unterstützt, dann ist das Script sofort ausführbar. So sollte die Ausgabe aussehen: