Hallo zusammen,
ich habe mir für meine RaspberryMatic ein kleines AddOn gebaut, welches den eingebauten Internet-Check (/bin/checkInternet) ersetzt. Statt eines Verbindungstests zu Google fragt das AddOn die FritzBox per UPNP nach dem Status der Internetverbindung. Das entsprechende Prüf-Skript ist in TCL geschrieben (mein erstes TCL-Skript überhaupt ) und wird mittels Cron alle 5 Minuten ausgeführt.
Neben einer Status-Datei im Dateisystem (/var/status/hasInternetFritzBox) wird zusätzlich auch eine Systemvariable (FRITZ!Box Status Internetverbindung) gesetzt. Damit ist es möglich auch innerhalb von Programmen auf eine fehlende Internetverbindung zu reagieren. So kann z.B. der Versand von Push-Nachrichten unterbunden werden, wenn der Status nicht "Connected" ist.
Das AddOn deaktiviert bei der Installation den eingebauten Internet-Check indem die Datei /etc/config/internetCheckDisabled angelegt wird (wird bei der Deinstallation wieder entfernt).
Zusätzlich enthält das AddOn einen eigenen Monit-Check, der bei fehlender Internet-Verbindung eine Alarmmeldung erzeugt.
Vielleicht kann das AddOn ja noch jemand gebrauchen. Ich würde mich über Feedback freuen
Gruß
hotroot
Edit 19.4.21: Die aktuelle Version gibt es jetzt auf GitHub: https://github.com/hotroot/fbcheckinternet/releases
FRITZ!Box Internet Check Addon
Moderatoren: jmaus, Co-Administratoren
-
- Beiträge: 393
- Registriert: 26.06.2018, 11:02
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 11 Mal
Re: FRITZ!Box Internet Check Addon
Setzt das Script auch einen nicht mehr bestehenden Internetalarm zurück? RM kann das ja nicht. Stichwort dafür: Entwarnung (z. B. Feueralarm, Überschwemmung, Chemiealarm usw.)
-
- Beiträge: 55
- Registriert: 23.05.2017, 13:08
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 7 Mal
Re: FRITZ!Box Internet Check Addon
Nein, das Erzeugen der Alarmmeldungen übernimmt Monit, genau die beim Original. Ein zurücksetzen des Watchdog-Alarms findet nicht statt.
Gruß
hotroot
Gruß
hotroot
-
- Beiträge: 4156
- Registriert: 26.01.2016, 08:14
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Renningen
- Hat sich bedankt: 348 Mal
- Danksagung erhalten: 284 Mal
Re: FRITZ!Box Internet Check Addon
Und UPnP muss dazu auf der Fritzbox aktiv sein? Sorry.... aber das birgt (nicht nur) in meinen Augen ein Sicherheitsrisiko.
Ansosnten finde ich die Idee den Status der Fritte direkt ab zu fragen für gut.
Ansosnten finde ich die Idee den Status der Fritte direkt ab zu fragen für gut.
-
- Beiträge: 55
- Registriert: 23.05.2017, 13:08
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 7 Mal
Re: FRITZ!Box Internet Check Addon
Moin zusammen,
ich habe das Addon noch etwas umgearbeitet. Das Skript /bin/checkInternet wird jetzt ersetzt. Somit kann der zusätzliche Monit-Check entfallen und das Addon funktioniert auch auf der original CCU. Getestet habe ich es auf einer CCU2 und RaspberryMatic. Es sollte aber auch auf einer originalen CCU3 funktionieren.
Die aktuelle Version gibt's hier: https://github.com/hotroot/fbcheckinternet
frohe Ostern
hotroot
ich habe das Addon noch etwas umgearbeitet. Das Skript /bin/checkInternet wird jetzt ersetzt. Somit kann der zusätzliche Monit-Check entfallen und das Addon funktioniert auch auf der original CCU. Getestet habe ich es auf einer CCU2 und RaspberryMatic. Es sollte aber auch auf einer originalen CCU3 funktionieren.
Die aktuelle Version gibt's hier: https://github.com/hotroot/fbcheckinternet
frohe Ostern
hotroot
- jmaus
- Beiträge: 9862
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1880 Mal
- Kontaktdaten:
Re: FRITZ!Box Internet Check Addon
Erst einmal von meiner Seite aus danke das du dich an das entwickeln eines CCU Addons herangewagt hast. Prinzipiell eine gute Idee. Und auch das du hier versuchst den Internetcheck zu verbessern.hotroot hat geschrieben: ↑03.04.2021, 23:07ich habe das Addon noch etwas umgearbeitet. Das Skript /bin/checkInternet wird jetzt ersetzt. Somit kann der zusätzliche Monit-Check entfallen und das Addon funktioniert auch auf der original CCU. Getestet habe ich es auf einer CCU2 und RaspberryMatic. Es sollte aber auch auf einer originalen CCU3 funktionieren.
Die aktuelle Version gibt's hier: https://github.com/hotroot/fbcheckinternet
Trotzdem hast du hier meine Aufmerksamkeit vor allem deswegen geweckt, da du quasi eine NoGo-Area betreten hast - nämlich das patchen des Root-Filesystems ohne driftigen Grund. Dein Add-on nimmt veränderungen des Root-Filesystems (konkret das verschieben des /bin/checkInternet skriptes) von RaspberryMatic selbst vor. Des weiteren löscht es automatisch vom nutzer vorgenommene Anpassungen - nämlich ein manuell hinzugefügtes /etc/config/internetCheckDisabled File um den InternetCheck gänzlich abzuschalten.
Ich würde dich daher bitten, diese beiden Dinge zurück zu nehmen weil wie gesagt ein CCU Add-on es wirklich wenn möglich unterlassen sollte im - nicht ohne Grund - read-only Root-Filesystem veränderungen vorzunehmen. Insofern sollte es auch daher keinerlei "rw" remount des rootfs vornehmen.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
-
- Beiträge: 55
- Registriert: 23.05.2017, 13:08
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 7 Mal
Re: FRITZ!Box Internet Check Addon
Hallo Jens,
danke für dein Feedback. Mein Ziel ist es den eingebauten Internet-Check vollwertig zu ersetzten. Das schließt für mich auch eine korrekte LED-Anzeige ein. Der hss_led verlässt sich auf die Status-Datei /var/status/hasInternet. Sobald die Datei weg ist fängt das LED-geblinke an, so wie es soll. Wird die Datei angelegt hört das geblinke wieder auf. Deaktiviere ich den Internet-Check durch Anlegen der Datei /etc/config/internetCheckDisabled, sorgt das Original-Skript checkInternet dafür, dass die Datei /var/status/hasInternet immer existiert. Das bedeutet, wenn mein Skript die Datei löschen würde, weil das Internet ausgefallen ist, wird die Datei wieder angelegt, da der hss_led /bin/checkInternet ca. alle 3 Minuten ausführt. Der LED-Status stimmt dann nicht mehr mit der Realität überein, bis das Skript nochmal läuft. Und die FritzBox alle paar Sekunden abzufragen finde ich dann doch etwas overkill.
Hast du eine Idee wie ich diese Anforderung ohne rootfs-Modifikationen umgesetzt bekomme?
Außerdem, gibt es auf der CCU2 und CCU3 keine Möglichkeit den eingebauten Internet-Check zu deaktivieren, wobei nach meinen Tests zumindest auf der CCU2 keine automatische periodische Ausführung von /bin/checkInternet gibt.
Als möglichen Kompromiss könnte ich mir vorstellen, dass das Add-On den Eingriff im rootfs nur vornimmt, wenn der Benutzer dies explizit wünscht (z.B. durch manuelles anlegen einer leeren Datei ähnlich /etc/config/internetCheckDisabled) und ansonsten nur die Systemvariable setzt.
Gruß
hotroot
danke für dein Feedback. Mein Ziel ist es den eingebauten Internet-Check vollwertig zu ersetzten. Das schließt für mich auch eine korrekte LED-Anzeige ein. Der hss_led verlässt sich auf die Status-Datei /var/status/hasInternet. Sobald die Datei weg ist fängt das LED-geblinke an, so wie es soll. Wird die Datei angelegt hört das geblinke wieder auf. Deaktiviere ich den Internet-Check durch Anlegen der Datei /etc/config/internetCheckDisabled, sorgt das Original-Skript checkInternet dafür, dass die Datei /var/status/hasInternet immer existiert. Das bedeutet, wenn mein Skript die Datei löschen würde, weil das Internet ausgefallen ist, wird die Datei wieder angelegt, da der hss_led /bin/checkInternet ca. alle 3 Minuten ausführt. Der LED-Status stimmt dann nicht mehr mit der Realität überein, bis das Skript nochmal läuft. Und die FritzBox alle paar Sekunden abzufragen finde ich dann doch etwas overkill.
Hast du eine Idee wie ich diese Anforderung ohne rootfs-Modifikationen umgesetzt bekomme?
Außerdem, gibt es auf der CCU2 und CCU3 keine Möglichkeit den eingebauten Internet-Check zu deaktivieren, wobei nach meinen Tests zumindest auf der CCU2 keine automatische periodische Ausführung von /bin/checkInternet gibt.
Als möglichen Kompromiss könnte ich mir vorstellen, dass das Add-On den Eingriff im rootfs nur vornimmt, wenn der Benutzer dies explizit wünscht (z.B. durch manuelles anlegen einer leeren Datei ähnlich /etc/config/internetCheckDisabled) und ansonsten nur die Systemvariable setzt.
Gruß
hotroot
-
- Beiträge: 55
- Registriert: 23.05.2017, 13:08
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 7 Mal
Re: FRITZ!Box Internet Check Addon
Moin zusammen,
ich habe gerade auf GitHub Version 0.3 (https://github.com/hotroot/fbcheckinter ... es/tag/0.3) des Addons veröffentlicht. Standardmäßig findet jetzt keine Veränderung mehr am Root-Dateisystem der CCU statt. /bin/checkInternet wird nur auf expliziten User-Wunsch ersetzt, ansonsten arbeitet das Skript parallel zum eingebauten Internet-Check.
Gruß
hotroot
ich habe gerade auf GitHub Version 0.3 (https://github.com/hotroot/fbcheckinter ... es/tag/0.3) des Addons veröffentlicht. Standardmäßig findet jetzt keine Veränderung mehr am Root-Dateisystem der CCU statt. /bin/checkInternet wird nur auf expliziten User-Wunsch ersetzt, ansonsten arbeitet das Skript parallel zum eingebauten Internet-Check.
Gruß
hotroot