Wir haben immer wieder Probleme mit unserem Internet, weil sich die Box aufhängt. Ist vor allem im Urlaub sehr doof

Insbesondere weil wir kein dynDNS beim Anbieter haben und somit sich beim Neustart die sonst "fixe" IP Adresse sich verändert. Dann komme ich halt nicht mehr auf den VPN und meine lokalen Daten (wie z.B. Grafana für die Statistiken)
Irgendwie habe ich mit der Suche im Forum immer nur Bruchstücke gefunden, daher ein Post, wie ich das Problem nun gelöst habe. Vielleicht hilft es jemandem
Internet Check
- Ping auf verschiedene Orte im Internet und nur wenn ALLE offline sind, scheint das Internet off zu sein
- Wenn aber das interne Netz offline ist, dann muss die Internet Box nicht neu gestartet werden.
- Falls Internet tatsächlich Down ist, dann gibt es einen Off/on Zyklus der Box
- Gleichzeitig startet Impulsgeber, dass die Box auch mehrmals durchgestartet werden kann (das Teil ist nicht so zuverlässig)
- Die Neustartzyklen sind mittels Formel berechnet so dass es ca. 10min, 20min, 40min, 90min und 180min durchgestartet wird. Ich wollte nicht, dass alle 5min das Teil neu Startet wenn der Provider down ist.
- Formel = 9.72*2.08^(I1)*60 (I1 ist der aktuelle Stand des Zählers, startend bei 0)
- Notification wenn Internet wieder verfügbar ist
- Dass das Internet nicht recycled wird, bei einem Miniserverneustart habe ich mittels Startimpuls und Monoflop einen Puffer eingebaut (kann man vielleicht eleganter lösen?)
IP Adresse
Dann kam ich zur IP Adresse.
Zuerst musste ich einen "für mich vertrauenswürdigen" my IP Service finden, der auch im virtuellen Eingang ausgelesen werden kann :-) Das habe ich via https://support.hostfactory.ch/wieistmeineip/ erreichen können.
Dank dem folgenden Wiki-Eintrag konnte ich die Website als "Text" auslesen.
Da sich der 1. Teil meiner IP nicht verändert, habe ich im Text nach den beiden ersten Blöcken gesucht und danach die ASCII Zeichen ausgelesen. Da ich nur Zahlen, Punkte und < benötige zum auslesen, habe ich beim Abfragen der ASCII Zeichen grad die Korrektur im HTTP Eingang gemacht:
(gelieferter Wert -48 ergibt die Zahl, -2 für den Punkt und 12 für die spitze Klammer)
Danach braucht es ein paar Statusblöcke, um die IP richtig zusammen zu setzen. Denn je nach dem an welcher Stelle der Punkt oder die spitze Klammer auf kommt, ist der IP Block anders lang. (dies ist bei dieser IP Abfrage nötig, weil nicht 180.004.002.102 angegeben wird, sondern 180.4.2.102)
(die IPs sind fake im Screenshot

Zuguter Letzt musste ich noch den Abgleich machen, ob sich die IP verändert hat (kann ja sein, dass aus welchen Gründen auch immer, sich die IP Adresse ohne mein Zutun verändert. das will ich auch abgefangen haben).
Hier war das Problem, dass ich den Text nicht in einen Analogspeicher packen konnte. (da war ich zu Blöd die richtigen Bausteine zu finden

So habe ich die IP in eine Zahl umgewandelt und mache so den Vergleich und löse nur eine Pushnachricht aus, wenn sich die IP ändert. Und auch nicht, wenn der MS neu startet.
Für Vereinfachungen, Verbesserungsvorschläge oder Kritik bin ich sehr offen

Beste Grüsse Mav