Internetgeschwindigkeit überwachen im Smart Home
„Was ist denn heute mit der Internetverbindung los? Haben wir eine Störung? Kann es sein, dass es total langsam ist?”
Kennst du die Tage, an denen es mit dem Internet einfach nicht rund läuft? Die Verbindung wirkt instabil und das Streaming kann man völlig vergessen.
Entweder dein Netflix and Chill muss ausfallen oder du ärgerst dich tierisch, weil du wichtige Aufgaben für die Arbeit zu erledigen hast.
Du greifst zum Telefon und rufst direkt bei deinem Internetprovider an, um die Ursache abzuklären. Aber schon bei der Frage, seit wann genau die Fehler auftreten musst du raten. Dabei ist das Raten in dieser Situation nicht unbedingt die beste Idee, denn die Fehlersuche dauert so womöglich länger. Doch was soll man anderes tun? Du sitzt vermutlich genauso wenig wie ich täglich am PC und führst Protokoll über deine Internetverbindung.
Was also tun?
Du gibst diese Aufgabe ab. Und zwar vertraust du dein Smart Home mit der Speicherung dieser Informationen, so dass du später genau sagen kannst, ab wann es Probleme gab.
Nachweise, Ärger, Frust
Ich erzähle dir am Rande mal kurz eine Geschichte. Tatsächlich aus meinem Leben und nicht erfunden.
Wir haben immer mal wieder Probleme mit der Internetverbindung. Manchmal funktioniert gar nichts und manchmal ist die Geschwindigkeit einfach um 50 – 80 % langsamer. Kein Witz! Dieses Hin und Her geht bereits seit vielen Monaten und wird immer mehr zum Ärger. Es macht sich einfach enormer Frust breit, weil man nicht mehr nachvollziehen kann, wie so etwas zustande kommt. Eines Tages musste ich schockiert feststellen, dass von den gebuchten 50 MBit/s gerade einmal 8 MBit/s ankamen. Es war zum Davonlaufen.
An der Hotline wird man immer wieder gefragt, ob man den genauen Zeitraum eingrenzen kann, was man für einen Router nutzt und ob man etwas verändert hat. Die Leitung wird zurückgesetzt und es wird einem versprochen, es hat sich gebessert. Aber nichts. Die Probleme kommen wieder. Immer wieder. Irgendwann werden Protokolle aus der FritzBox angefragt, aus denen das Problem ersichtlich ist oder sein soll. Doch diese sind nach einem Neustart gelöscht, sofern man sie sich nicht per E-Mail zustellen lässt. Unter Umständen ist daraus auch nicht ersichtlich, dass die Geschwindigkeit enorm schwankt.
Kurzum: Man hat meist nicht viel nachzuweisen und der Ärger löst sich so schnell auch nicht in Luft auf.
Internetgeschwindigkeit überwachen: Monitoring
Damit man bei Bedarf diese Probleme auch wirklich nachweisen oder ergründen kann, bedarf es einem Monitoring. Das bedeutet im Klartext, dass man kontinuierlich beobachtet und Veränderungen aufzeichnet. Wenn du selbst Kinder hast oder kleine Geschwister, kannst du sie mit einem Block und einem Stift vor deinen Router setzen und sie sollen immer wieder die Werte aufschreiben. Old-School-Monitoring würde ich dazu sagen.
Spaß beiseite.
Wenn du meinen Blog verfolgst hast du sicher festgestellt, dass das Thema Charts in OpenHab für mich an Bedeutung gewonnen hat. Genutzt habe ich dieses für die Aufzeichnung von Temperaturen und Energieverbrauch. Es ist super praktisch und stellt auf einen Blick alle wichtigen Informationen dar. So konnte ich bereits Temperaturschwankungen ausfindig machen, die sonst vermutlich verborgen geblieben wären.
Das kannst du auch mit deiner Internetgeschwindigkeit tun. Im Grunde handelt es sich dabei auch nur um numerische Werte, die in einer Datenbank abgelegt werden. Nichts anderes als bei Temperaturen und Energie. Diesen Vorteil wollen wir uns zunutze machen.
Monitoring mit OpenHab und der FritzBox
Ich habe es in einem Beitrag schon einmal erwähnt: Die FritzBox ist absolut toll in OpenHab zu integrieren. Nicht nur deren Aktoren, auch das Gerät selbst.
Über das sogenannte FritzBox-Binding für OpenHab kannst du Werte direkt auslesen lassen und in deiner Oberfläche anzeigen. Außerdem kannst du die Daten durch rrd4j speichern lassen, ohne dass du Unmengen an Speicherplatz benötigst. Mehr zu dieser Technik erzähle ich dir im letzten verlinkten Artikel.
Damit auch du das Monitoring nutzen kannst, musst du das Binding installieren und Items einrichten. Diese werden mit dem Binding gekoppelt und rufen so kontinuierlich Daten aus der FritzBox ab. Die Definition geht dabei völlig einfach:
Number PeriodDsl Number fboxDslUpstreamCurrRate "Upstream [%s mbit/s]" {fritzboxtr064="dslUpstreamCurrRate"} Number fboxDslDownstreamCurrRate "Downstream [%s mbit/s]" {fritzboxtr064="dslDownstreamCurrRate"}
Dieses Beispiel stammt direkt von der OpenHab-Seite und wurde für meine Bedürfnisse etwas angepasst. Du findest das ausführliche Beispiel bei den Add-Ons.
Das Item ist ein Number-Item, denn es handelt sich lediglich um eine Zahl ohne Nachkommastellen (jedenfalls wäre mir nichts anderes bekannt). Diese Items bekommen einen eindeutigen Namen zugeordnet, womit du sie später in die Sitemap und Persistence einbinden kannst. Mit dem %s gibst du an, dass der übermittelte Wert direkt eingesetzt wird, um ihn später in deiner Sitemap anzeigen zu können. Das kannst du allerdings auch noch in deiner Sitemap setzen und musst es nicht schon in den Items tun.
Der hintere Teil legt das Binding fest und ruft den entsprechenden Wert daraus ab.
Wofür das Item Number PeriodDsl steht, erfährst du gleich bei der Einbindung in die Sitemap.
Werte speichern in rrd4j
Solltest du dich bislang noch nicht mit rrd4j, Charts und Speicherung von Werten beschäftigt haben, musst du unbedingt einen Blick in meinen Artikel Datenvisualisierung mit OpenHab werfen. Dort erkläre ich dir ausführlich, wie du die Speicherung einrichtest. An dieser Stelle fahre ich direkt mit der weiteren Einrichtung der Items fort.
Nachdem du die Items wie oben gezeigt definiert hast, kannst du sie in die rrd4j-Konfigurationsdatei integrieren. Das geht so:
Strategies { everyMinute : "0 * * * * ?" default = everyChange } Items { fboxDslUpstreamCurrRate : strategy = everyUpdate, everyMinute, restoreOnStartup fboxDslDownstreamCurrRate : strategy = everyUpdate, everyMinute, restoreOnStartup }
Zuerst die Strategien, die man zusätzlich konfigurieren möchte. Ich für meinen Teil wünsche, dass meine Werte jede Minute gespeichert werden. Dazu nutze ich den Syntax eines Cronjobs unter Linux, der jede Minute einmal ausgeführt wird. Zusätzlich lege ich fest, dass jede Änderung der Werte abgespeichert werden soll. Restore On Startup bedeutet, dass die Werte nach dem Start von OpenHab wiederhergestellt bzw. genutzt werden. Andernfalls würde man mit einem leeren Chart konfrontiert werden.
Chart in der Sitemap anzeigen
Ich habe in meiner Sitemap die Definition so geregelt, dass ich zwischen unterschiedlichen Zeitintervallen wechseln kann. Von wem der eigentliche Grundgedanke dazu stammt, weiß ich allerdings nicht mehr. Sollte sich jemand hier auf die Füße getreten fühlen, das war nicht meine Absicht!
Switch item=PeriodDsl label="Zeiteinheit" icon="time" mappings=[0="Stunde", 1="Tag", 2="Woche", 3="Jahr"] Chart item=fboxDslUpstreamCurrRate period=h refresh=7200 visibility=[PeriodDsl==0, PeriodDsl=="Uninitialized"] Chart item=fboxDslUpstreamCurrRate period=D refresh=14400 visibility=[PeriodDsl==1] Chart item=fboxDslUpstreamCurrRate period=W refresh=14400 visibility=[PeriodDsl==2] Chart item=fboxDslUpstreamCurrRate period=Y refresh=14400 visibility=[PeriodDsl==3]
Die Definiton nutzt einen Switch, welcher den numerischen Wert der Einheit in das vorher definierte Item PeriodDsl speichert. Welche Zahl für welche Einheit steht, lässt sich direkt aus der Definition erkennen. Es werden später vier Buttons generiert, die jeweils den Namen tragen, der in Anführungsstrichen angegeben ist.
Je nachdem auf welchen Button man nun klickt, erscheint das Diagramm in einer anderen Einheit. Man definiert hier vier verschiedene Charts. Hintergrund ist der, dass OpenHab die Werte direkt als Bilddatei ausgibt. Das kannst du ganz einfach testen, indem du mit der rechten Maustaste auf das Chart klickst. Es erscheint im Kontextdialog der Punkt Bild speichern unter. Praktisch daran ist nun, dass man jedes Chart als Bild speichern und versenden kann. Solltest du also einmal angefragt werden, seit wann deine Probleme bestehen, kannst du die jeweilige Grafik super schnell und komfortabel exportieren.
Du musst für jedes Item eine solche Konfiguration in deiner Sitemap anlegen. Außer du beachtest den Tipp, den ich dir jetzt gleich mit auf den Weg geben möchte.
Tipp: Monitoring in einem Chart
In den wenigsten Fällen ergibt es einen Sinn, dass man sich ein Chart aus Download sowie Upload erstellt. Beide Werte können perfekt in einem Chart dargestellt werden, so dass man auf einen Blick schon beide Werte miteinander vergleichen kann. Dazu legst du eine neue Gruppe in deiner Item-Definition an und weißt dieser Gruppe beide Items zu.
Das sieht dann so aus:
Group Dsl Number fboxDslUpstreamCurrRate "Upstream [%s mbit/s]" (Dsl) {fritzboxtr064="dslUpstreamCurrRate"} Number fboxDslDownstreamCurrRate "Downstream [%s mbit/s]" (Dsl) {fritzboxtr064="dslDownstreamCurrRate"}
Nun kannst du in deiner Sitemap anstatt der einzelnen Items, die Gruppe angeben. Sobald du eine Gruppe als Chart angibst, werden alle Werte in ein Chart integriert und erscheinen als ein Bild. Gibst du die Items einzeln an, wird pro Item ein Chart generiert.
Internetgeschwindigkeit überwachen – Erledigt
Egal ob Vodafone, Telekom, 1und1 oder wie sie alle heißen. Jede Internetleitung kannst du nun ganz einfach und bequem überwachen. Du musst dir nie mehr Sorgen darüber machen, dass du dir den Zeitpunkt eines Geschwindigkeitsverlustes merken musst, denn das macht ab sofort dein Smart Home für dich.
So kannst du schnell auf Veränderungen reagieren und bei Bedarf die Hotline direkt mit allen nötigen Informationen versorgen. Und sind wir mal ehrlich, niemand schaut täglich nach der Geschwindigkeit seiner Leitung. So allerdings hast du es auf einen Blick direkt verfügbar, wenn du dein Kontrollpanel aufrufst. Dir wird keine wichtige Information mehr entgehen und du sparst dir eine Menge Zeit. Denn du musst nun nicht mehr unzählige verschiedene Stellen im Auge behalten, sondern hast alles bequem unter einem Dach.
Wie du siehst eignet sich OpenHab also nicht nur zur reinen Steuerung von deinem Zuhause. Es gibt durchaus sehr interessante und wichtige Einsatzmöglichkeiten, die das Smart Home schon lange nicht mehr nur als Spielerei abtun. Man sollte sich langsam von dem Gedanken lösen, dass ein intelligentes Zuhause etwas negatives bedeutet. OpenHab geht dabei einen ganz besonderen und guten Weg: man kann es ohne Cloud vollständig nutzen. Damit unterscheidet sich das System von anderen, die zwingend die Cloud voraussetzen.
Deine Daten werden bei dir erhoben und deine erhobenen Daten bleiben bei dir. Das ist, was ein gutes Smart Home kennzeichnet.
8 Kommentare
Sven Bucher · 30. Oktober 2019 um 10:35
Die Internetgeschwindigkeit kann durch die verschiedensten Faktoren Diskrepanzen ausgesetzt sein. Ob es ein Nachbar ist der sich abends was in seiner Mikrowelle warm macht oder die Freundin die eben gerne jeden Dienstag um 16:42 Uhr staub saugt. Vielleicht ist es aber auch die neu angebrachte Heizung oder Deckenbeleuchtung. Um zu schauen ob die Beeinträchtigung orts- oder zeitabhängig ist, ist das monitoring wie Sie es beschreiben zielführend. Vielen Dank.
Lukas · 2. November 2019 um 10:30
Vielen Dank für das Feedback!
helga · 12. April 2019 um 12:19
Für das Smart Home ist doch der Internetanschluss lebenswichtig. Aber obwohl meine Freundin in der Stadt lebt, hat sie bis jetzt noch keinen, weil sie am Stadtrand lebt. In der modernen Welt fällt es doch schwierig, das Leben ohne Internet vorzustellen.
Lukas · 14. April 2019 um 12:38
Das ist absolut richtig. Wir sind schon sehr darauf getrimmt, immer wieder die Technologie für viele Szenarien einzusetzen. Durch den Fortschritt der Vernetzung spielt das Internet dabei eine enorm große Rolle. So wirklich bewusst wird es einem erst, wenn man einmal ohne auskommen muss.
Reinhard · 18. November 2018 um 15:54
Hi Lukas,
ja in der Fritzbox sehe ich unter „Aktuelle Auslastung der Internetverbindung“ die aktuelle Geschwindigkeit für den Up- und Download.
Der DSL-Teil im Binding wird im Status als „DEACTIVATED“ angezeigt. Das wäre ja bei meiner Konfiguration soweit richtig.
Ich habe mit WAN-Infos aus dem Binding auch etwas konzipiert. Dort sehe ich auch keine Informationen.
Wenn du (ohne viel Aufwand) etwas findest wäre es interessant. Ich habe aber auch gerade schon etwas recherchiert und gelesen (und leider nichts gefunden).
Das mit der Moderation habe ich mir fast gedacht. Ich war mir aber im ersten Schritt nicht sicher ob mein Browser oder irgendwelche „Captchas“ wieder etwas blockieren 😉
Vielen Dank,
Reinhard
Lukas · 18. November 2018 um 16:05
Hallo Reinhard,
kein Problem, ich freue mich auch jederzeit über Testkommentare 😉
Ich werde mal etwas recherchieren und dir Bescheid geben, sofern ich etwas finde. Versprechen kann ich aber leider nichts.
Reinhard · 18. November 2018 um 14:52
Hallo,
vielen Dank für diesen guten Beitrag!
Ich wollte dieses Beispiel verwenden um die Internetgeschwindigkeit meines Providers zu „monitoren“. Ich hatte dazu dieses Binding verwendet:
https://www.openhab.org/addons/bindings/fritzboxtr0641/
Auf meiner FritzBox ist „DSL“ deaktiviert, da ich an einem Glasfaseranschluss angeschlossen bin. Auf der FritzBox ist anstatt „DSL“, bei mir „Internet, IPv4“ aktiviert.
Ich bekomme leider kein Verbindung über das Binding an meine Daten über den Internetanschluss.
Hast du eine Idee?
Danke,
Reinhard
P.S.: Andere Daten über das Binding z.B. Anrufer, Telefonnummer etc. funktionieren schon länger einwandfrei (eine Fehlkonfiguration des Bindings denke ich ist erst einmal ausgeschlossen).
Lukas · 18. November 2018 um 15:41
Hallo Reinhard,
siehst du in der FritzBox die aktuelle Geschwindigkeit deiner Internetverbindung?
Ich könnte mir vorstellen, dass eine Internetverbindung über Glasfaser intern anders abgewickelt wird und das Binding daher keinen Zugriff auf die Verbindungsgeschwindigkeit bekommt. Das würde bedeuten, dass das Binding nicht für Glasfaseranschlüsse konzipiert ist.
Was ich dir anbieten kann ist, dass ich mal recherchieren werde und mich – sofern ich etwas finde – nochmal bei dir melden werde.
Übrigens werden bei Hobbyblogging die Kommentare vormoderiert, weshalb du diese nicht sofort nach dem Verfassen lesen kannst.