Telekom Speedport Hybrid an IPS anbinden - Anruflisten, DSL-Status, LTE-Status, etc.

Hallo zusammen,

mit diesem Skript ist es möglich alle möglichen Informationen des Speedport Hybrid Routers der Telekom auszulesen.
Wie das genau aussieht siehst du in den unten angehängten Screenshots. Die Formatierungen / Farben werden automatisch angelegt (Variablenprofile) und die Wertung der Daten (Rauschen der DSL-Leitung) etc. erfolgt aufgrund meiner Internetrecherchen (also keine Gewähr für die Richtigkeit der Interpretation :-))

Die neuste Version findet ihr immer auf git: GitHub - florianprobst/ips-speedport: Telekom Speedport Hybrid Anbindung für IP-Symcon
Ebenso wie patchnotes, etc.

Das Skript funktioniert nur mit der neuen Firmware 050124.02.00.009 welche ihr hier bei der Telekom runterladen könnt: http://hilfe.telekom.de/hsp/cms/content/HSP/de/3388/FAQ/theme-71990825/Geraete-und-Zubehoer/theme-2000178/DSL-Geraete/theme-66139021/Speedport-Serie/theme-397804711/Sonstige-Speedports-Hybrid-HSPA-LTE-.../theme-693254235/Speedport-Hybrid

Die neue FW wird, wie schon hier im Thread beschrieben nicht im Router automatisch gefunden sondern muss manuell installiert werden.

Die alte Firmware wird nicht mehr laufen (Änderungen im Webfront durch Telekom).

Installationsanleitung in der git-Beschreibung beachten, entweder direkt ins user verzeichnis des webfronts klonen oder als zip klassisch herunterladen und entpacken.

Neu:
UpTime in Tagen
Unterstützung Firmware 050124.02.00.009
Unterstützung eines Reboot-Skripts

ToDo:
Derzeit arbeite ich daran einen Traffic-Graphen zu implementieren.

Hi,

vielen Dank, sieht sehr gut aus. Die Anruflisten bringen bei mir noch einen Fehler:

Warning:  array_multisort(): Argument #1 is expected to be an array or a sort flag in C:\IP-Symcon\scripts\48689.ips.php on line 1009

liegt vermutlich daran, dass ich noch nicht über den Speedport telefoniere und die Listen vermutlich leer sind…

herbert

Danke für den Hinweis Herbert.

Es lag tatsächlich daran, dass leere Listen nicht sortiert werden können :slight_smile:
Habe das behoben und im gleichen Kontext ist mir aufgefallen, dass ich in der ersten Version auch nur die gewählten Anrufe sortiert habe. Sollte nun funktionieren. Einfach Skript mit obigem Code überschreiben.

Hi,

Super Script :slight_smile: ich dachte sowas gibt es nur für Fritzbox.

Bekomme auf Banana Pi leider Fehler:

Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 838
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140
Parameter type of ParentID does not match in /usr/share/symcon/scripts/50713.ips.php on line 139
Notice: Undefined variable: _IPS in /usr/share/symcon/scripts/50713.ips.php on line 140

Die Daten komme aber alle an. Wenn ich den Script nochmal ausführe, erstellt er nochmal alle Variablen :confused:

Gruß

Hi,

Banana Pi: das heisst dein IPS läuft auf Linux?
Dem Fehler nach kennt er die IPS Systemvariable $_IPS[‚SELF‘] nicht. Kann hier ein IPS-Supportler helfen wie ich abfragen kann ob es sich um eine Linux-Version handelt und wie ein Workaround für $_IPS[‚SELF‘] aussehen kann?

Die Scriptvariable $_IPS[‚SELF‘] benötigt das Skript derzeit um zu wissen wo er die Variablen hinpacken soll.

Bis dahin kannst du als Hotfix alle „Vorkommen“ von $_IPS[‚SELF‘] durch die ID deines Scripts (50713) austauschen.

Ich lass mir da mal noch was einfallen.

Viele Grüße

mesa

Hi Mesa,

ganz großes DANKE von mir… Gesehen, eingebaut, funktioniert… Hab heute morgen noch einen verpassten Anruf gehabt und musste mich am Router anmelden und nachsehen! Da hab ich noch gedacht, hätte ich mal ne Fritzbox, da gibts was für IPS… Und siehe da…

Wenn ich noch einen kleinen Request äußern dürfte…

  • Aus dem SysLog den letzten Reboot auslesen
  • Reboot hierüber auslösen
  • Internet Test per Ping auf Google und heise (aber das kann sicher auch anders gelöst werden - muss direkt mal gucken)

Ist fast wie Weihnachten hier im Board zur Zeit :wink:

Hallo andreasypsilon,

freut mich das es reibungslos geklappt hat und dass es dir hilft.

Zu deinen Verbesserungswünschen:

  • Aus dem SysLog den letzten Reboot auslesen
    Ich finde keine entsprechende Information, welche der Router liefert. Es gibt lediglich die aktuelle Uhrzeit aber keine Runtime oder Startup Zeit. Ich kann diese Info also leider nicht anbieten.

  • Reboot hierüber auslösen
    Das geht, da müsste ich aber die Struktur des gesamten Skripts umstellen (nicht mehr eine einfache copy&paste „Ein-Datei/Skript-Lösung“). Das wäre von der Architektur her aber sowieso eleganter. Das werde ich vielleicht gelegentlich mal angehen.

  • Internet Test per Ping auf Google und heise (aber das kann sicher auch anders gelöst werden - muss direkt mal gucken)
    Es macht aus meiner Sicht keinen Sinn einen Ping durch den Router auszuführen. Das wäre auch nicht leicht umzusetzen. Eine Ping-Funktion durch den IPS Server mit Speicherung der Ergebnisse in einer Variablen macht da mehr sinn denke ich. Das setzt jedoch voraus, dass der IPS Server überhaupt ins Internet darf. Meiner hat hier nämlich Redeverbot :slight_smile:

Aber diese Ping-Funktion hat doch sicherlich schon jemand in IPS nachgebaut oder?

Sehr interessantes und vielversprechendes Skript. Nur leider bekomme ich es bei mir mit der aktuellen Firmware 050124.02.00.009 des Speedport Hybrid nicht zum laufen.
Liegt dies nun an mir oder an der neuen Firmware?
Über das Onlineupdate vom Speedport wird die aktuelle Version übrigens nicht angeboten, diese gibt es nur auf der Telekomseite als download, wird aber benötigt, wenn man zuverlässig eine Fritzbox hinter dem Speedport betreiben möchte.

Meine genaue Fehlermeldung liefere ich heute Abend noch nach, bin gerade auf der Arbeit und habe keinen Zugriff auf mein IPS.

Gut möglich das mit der neuen Firmware die Oberflächenschnittstelle verändert wurde. Das sagt auch die Telekom in den Patchnotes. Ich bin aktuell dabei das gesamte Skript umzuarbeiten um weitere Funktionen anbieten zu können. Das dauert aber noch etwas. Ein Update meiner Speedport Firmware mache ich bis dahin nicht. Eine Fehlerbeschreibung könnte aber vielleicht helfen direkt evtl. Anpassungen durchzuführen.

So aus Interesse: wieso sollte es Probleme mit der Fritzbox hinter einem Speedport geben? Und wieso sollte man so etwas überhaupt machen wollen? :slight_smile:

Nachdem mir dein Skript mit Anzeige der Anrufe in IPS bekannt ist, gibt es einen Grund weniger für die FritzBox.
Aber die FritzBox bietet doch noch einiges mehr, das fängt schon mit dem S0 Port für mein altes Gigaset DX600 (eine IP Basis kommt erst noch) an. Und nein, die Reichweite der DECT Basis in der FritzBox oder auch die in dem Speedport reichen mir leider nicht ganz und auch die Bedienung des ABs im Gigaset will meine Frau auf keinen Fall aufgeben. Auch unsere Türsprechstelle läuft aktuell noch über die FritzBox, aber auch hier bin ich auf der Suche nach einer neuen idealerweise als SIP Client.

Bei der alten Firmwareversion sind Anrufe nach wenigen Stunden nicht mehr zur Fritzbox durchgereicht worden, bei dieser wurde aber weiterhin alles OK angezeigt. Mit der aktuellen Firmware habe ich diese Probleme nicht mehr.

Hier meine Fehlermeldung die ich bekomme (Mein Passwort habe ich raus gelöscht):

Fatal error: Uncaught exception ‚Exception‘ with message ‚unable to login‘ in C:\IP-Symcon\scripts\57049.ips.php:381
Stack trace:
#0 C:\IP-Symcon\scripts\57049.ips.php(792): speedport->__construct(‚passwort‘, ‚http://192.168…‘)
#1 C:\IP-Symcon\scripts\57049.ips.php(1141): SpeedportHybrid->_construct(‚passwort‘, ‚http://192.168…‘, true, 'Speedport’, 3, 57049, 43200)
#2 {main}
thrown in C:\IP-Symcon\scripts\57049.ips.php on line 381
Abort Processing during Fatal-Error: Uncaught exception ‚Exception‘ with message ‚unable to login‘ in C:\IP-Symcon\scripts\57049.ips.php:381
Stack trace:
#0 C:\IP-Symcon\scripts\57049.ips.php(792): speedport->__construct(‚passwort‘, ‚http://192.168…‘)
#1 C:\IP-Symcon\scripts\57049.ips.php(1141): SpeedportHybrid->_construct(‚passwort‘, ‚http://192.168…‘, true, 'Speedport’, 3, 57049, 43200)
#2 {main}
thrown
Error in Script C:\IP-Symcon\scripts\57049.ips.php on Line 381

Hallo Woody,

der Fehler ist bedingt durch eine Änderung des Webfronts.

Ich bin dran das zu beheben (eine neue API für die FW gibt’s schon), im gleichen Zug überarbeite ich aber das gesamte Skript und seine Struktur. Deshalb bitte etwas Geduld.

Okay Mesa,

lass Dir Zeit.

DANKE

herbertf

Super, dass du dran bist, da ich bis gestern ja noch nix von dem Skript wusste, eilt es mir persönlich auch nicht :smiley:

Hallo,

unter der Adresse florianprobst/ips-speedport · GitHub findet ihr eine neue Version.

Diese funktioniert nur mit der neuen Firmware 050124.02.00.009 welche ihr hier bei der Telekom runterladen könnt: Downloads zu Speedport Hybrid

Die neue FW wird, wie schon hier im Thread beschrieben nicht im Router automatisch gefunden sondern muss manuell installiert werden.

Die alte Firmware wird nicht mehr laufen (Änderungen im Webfront durch Telekom).

Installationsanleitung in der git-Beschreibung beachten, entweder direkt ins user verzeichnis des webfronts klonen oder als zip klassisch herunterladen und entpacken.

Neu:

[ul]
[li]UpTime in Tagen
[/li][li]Unterstützung Firmware 050124.02.00.009
[/li][li]Unterstützung eines Reboot-Skripts
[/li][/ul]

ToDo:
Derzeit arbeite ich daran einen Traffic-Graphen zu implementieren.

Viele Grüße

mesa

Vielen DANK !

Danke, einfach super…!

:slight_smile:
Super, vielen Dank, jetzt funktioniert es auch bei mir :slight_smile:

In der neuen Version 1.0.1 ist die wird nun auch eine andere Uptime als „0“ angezeigt :slight_smile:

Für’s Update: Einfach ein „git pull“ ausführen und fertig.
Wer die Dateien einzeln heruntergeladen hat, muss dies erneut tun und überschreibt am besten die bisherigen Dateien im webfront user Ordner. Die Variablen und Skripte in der Console bleiben davon unberührt.

Funktioniert super, Danke

Guten Morgen,
habe das Script gerade mal getestet…
läuft wunderbar :slight_smile:
Danke :slight_smile:
//Sven

Nachtrag: der Betreff ist unzutreffend… ich hatte zwar zunächst einen Fehler. Nachdem ich aber die „alte“ Anruferliste im Speedport geleert habe gab es keine Fehler mehr. Die Anruferliste wird nicht benutzt, da ich hierzu die FritzBox habe :slight_smile: