NEWS
[gelöst] FritzBox Routen ein oder ausschalten
-
Die FritzBoxen unterstützen ja LTE Sticks. Hat schonmal jemand probiert, ein USB-Lan-Adapter zu nutzen, wo ein zweites WAN dranhängt? Müsste dann nur ein anderer IP-Adressbereich als der der Ur-FritzBox sein.
-
@dieter_p naja, Homeoffice ist immer wichtiger und der nächste Ausfall ist ja bestimmt wenn ich nicht da bin.
Also ich würde die Automation schon cool finden.Zudem ich ja eben keine Benachrichtigung nach extern bekäme solange die Route nicht aktiv ist
-
@peterfido sagte in FritzBox Routen ein oder ausschalten:
Die FritzBoxen unterstützen ja LTE Sticks. Hat schonmal jemand probiert, ein USB-Lan-Adapter zu nutzen, wo ein zweites WAN dranhängt? Müsste dann nur ein anderer IP-Adressbereich als der der Ur-FritzBox sein.
Also ein USB-LAN den ich hier liegen habe erkennt er schon mal nicht (RTL Chip)
-
@bananajoe said in FritzBox Routen ein oder ausschalten:
Zudem ich ja eben keine Benachrichtigung nach extern bekäme solange die Route nicht aktiv ist
Wieso nicht. Simpleste Form wäre ein ESP mit Gateway 5530 und der per SMPT aktiv wird wenn die Internetverbindung der 6591 gestört ist.
So ein Ding hab ich auch laufen als Watchdog ob der IObroker noch läuft.
Oder Du lässt die 5530 über eine VOIP Nummer bei dir auf dem Handy anrufen.
-
@dieter_p Prinzipiell ist das Problem ja schon gelöst, aber eben nur manuell.
Für eine automatische Aktivierung der Route müsste man eruieren welcher LUA Seite der Fritzbox man was schicken muss, wenn das Ganze nicht per TR Interface machbar istHier gibt es Hinweise https://mehm.net/blog/?p=1713
Aus eigener Erfahrung habe ich aber Vorbehalte, dass eine Fritzbox, die ihre Kabel-Internet Verbindung verloren hat klaglos die gewünschten Routen abarbeitet, und ansonsten wartet, dass das Kabel-Internet sich wieder heilt.
Ich habe schon beobachtet dass die Firmware Programmierer da auch durchaus Holzhammer Methoden programmiert haben, und die Fritzbox komplett neu starten, um die Internet Verbindung zu heilen..
-
@martinp sagte in FritzBox Routen ein oder ausschalten:
Für eine automatische Aktivierung der Route müsste man eruieren welcher LUA Seite der Fritzbox man was schicken muss,
Vorausgesetzt es handelt sich nicht um eine gebrandete Provider-Box, bei der der LUA-Aufruf unterbunden ist bzw. wo dieser nicht funktioniert. Insbesondere Vodafone (vormals KD) mit ihren Kabel-Boxen ist da ganz vorne mit dabei.
-
@samson71 ich habe eine Unitymedia Box zumindest die LUA Seite mit den Kabel-Signalqualitätsseiten kann man per Javascript absaugen..
Stabil wird das Ganze aber wohl eh nicht, wenn sich die Fritzbox alle 10 Minuten neu startet, solange die Kabel- Internet Verbindung fehlschlägt..... -
@martinp
Meine startet nicht neu. Die "pollt" nur in regelmäßigen Abständen und versucht einen Re-Connect. -
@bananajoe sagte in FritzBox Routen ein oder ausschalten:
So, fritz-route will schon mal bei mir nicht:
das Skript geht noch von html Daten aus, die aber mittlerweile auf JSON umgestellt wurden. Ich hab mal mein Kabeldatenscript erweitert, bei mir funktioniert die Umstellung aktiv/disabled. Wenn das bei Dir grundsätzlich funktioniert dann könnte man die Aktivierung der Route von den Kabeldaten abhängig machen. schau mal ab Zeile 217. data.activatedroute0 = 0; schalted die erste Route inaktiv.
Das Skript läuft alle Minute und die Aktivierung der Route ist fest verdrahted, probier erstmal
dann kann man das anpassen
-
@martinp sagte in FritzBox Routen ein oder ausschalten:
Hier gibt es Hinweise https://mehm.net/blog/?p=1713
Ich habe bei dem Herrn auf GitHub mal ein Issue hinterlegt.
Ich muss leider zugeben das ich auf Anhieb nicht erkannt habe was genau er da Abfragt bzw. wie er es macht. -
@samson71 sagte in FritzBox Routen ein oder ausschalten:
Vorausgesetzt es handelt sich nicht um eine gebrandete Provider-Box, bei der der LUA-Aufruf unterbunden ist bzw. wo dieser nicht funktioniert. Insbesondere Vodafone (vormals KD) mit ihren Kabel-Boxen ist da ganz vorne mit dabei.
Ist eine gebrandete Kabel-Deutschland-Box,
meine Glasfaser-Box ist aber nicht gebrandet und den gleichen Fehler. -
@martinp sagte in FritzBox Routen ein oder ausschalten:
Stabil wird das Ganze aber wohl eh nicht, wenn sich die Fritzbox alle 10 Minuten neu startet, solange die Kabel- Internet Verbindung fehlschlägt.....
wie @Samson71 schrieb: Da wird nichts neu gestartet, die wartet einfach bis die Verbindung wieder da ist.
Route war auch sofort aktiv -
@fastfoot Klasse, das funktioniert schon mal!
Hier das Log für Aus und wieder ein:
2024-08-14 19:29:56.877 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 2024-08-14 19:29:56.984 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: sessionID: 9dd765637c35a8b1 2024-08-14 19:29:57.139 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: Logout in 20 Min. 2024-08-14 19:30:14.653 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: {"staticRoutes":{"route":[{"_node":"route0","ipaddr":"192.168.128.0","netmask":"255.255.255.0","activated":"0","gateway":"192.168.1.200"},{"_node":"route1","ipaddr":"0.0.0.0","netmask":"0.0.0.0","activated":"0","gateway":"192.168.1.200"}]},"apply":"ok"} 2024-08-14 19:30:20.056 - info: javascript.1 (1635) Stopping script script.js.001_Routinen.FritzBoxen.Test_Routen 2024-08-14 19:30:20.108 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: Successfully logged out 2024-08-14 19:31:41.275 - info: javascript.1 (1635) Stopping script script.js.001_Routinen.FritzBoxen.Test_Routen 2024-08-14 19:31:41.275 - info: javascript.0 (242636) Stopping script script.js.001_Routinen.FritzBoxen.Test_Routen 2024-08-14 19:31:44.327 - info: javascript.1 (1635) Start JavaScript script.js.001_Routinen.FritzBoxen.Test_Routen (Javascript/js) 2024-08-14 19:31:44.335 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 2024-08-14 19:31:44.437 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: sessionID: 406dfb960655f6f5 2024-08-14 19:31:44.598 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: Logout in 20 Min. 2024-08-14 19:32:01.839 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: {"staticRoutes":{"route":[{"_node":"route0","ipaddr":"192.168.128.0","netmask":"255.255.255.0","activated":"1","gateway":"192.168.1.200"},{"_node":"route1","ipaddr":"0.0.0.0","netmask":"0.0.0.0","activated":"0","gateway":"192.168.1.200"}]},"apply":"ok"} 2024-08-14 19:32:02.646 - info: javascript.1 (1635) Stopping script script.js.001_Routinen.FritzBoxen.Test_Routen 2024-08-14 19:32:02.699 - info: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: Successfully logged out
Ich musste das Timeout für den Zugriff auf
data.lua
erhöhen, das dauert bei mir so 15 bis 20 Sekunden bis da was kommt (bis er beim Ändern der Route ist), ich habe den Wert mal auf 30 Sekunden gesetzt. Die Default 2 Sekunden reichten dafür nicht.Und wie du geschrieben hast, schaltet er die erste Regel. Was nicht automatisch mit der Reihenfolge der dargestellten Routen übereinstimmt sondern die Reihenfolge ist in der die Routen angelegt sind.
Aber das lässt sich ja ausklingeln. -
Nachtrag: Und die Routen werden sofort übernommen. so 2 bis 3 Sekunden nachdem die Meldung zur Änderung der Route im Log kommt, funktioniert auch ein Dauerping über die Route (oder eben nicht mehr).
-
@bananajoe Hattest du einen timeout Fehler, kann ich mir fast nicht vorstellen! Das Skript würde das auch anzeigen! Das dauert halt etwas da ja die anderen Pages vorher abgearbeitet werden. Das Ganze war sehr quick'n dirty weil ich keine Lust hatte die anderen Sachen zu entfernen um dann zu hören dass es bei dir nicht funktioniert Da du wohl nicht ständig Routen hinzufügst oder löscht sollte ein fixer Wert ausreichen.
Das Skript als solches ist eigentlich auch nicht fertig, ich hatte da erstmal alles eingetragen was mir wichtig schien, wirklich ausgereift ist eig. nur der erste Teil mit den Kabeldaten(docInfo). Den würde ich auch nehmen um den Switch der Route zu steuern
-
@fastfoot sagte in FritzBox Routen ein oder ausschalten:
Hattest du einen timeout Fehler, kann ich mir fast nicht vorstellen! Das Skript würde das auch anzeigen!
Genau:
2024-08-14 19:27:02.191 - error: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: httpPost(url=http://192.168.1.198/data.lua, error=timeout of 2000ms exceeded) 2024-08-14 19:27:02.191 - error: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: Huch! Ein Fehler => timeout of 2000ms exceeded 2024-08-14 19:27:02.197 - warn: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Routen: Noch 9 Versuche, dann wird das Script beendet
Schnelle Suche im Internet ergab das manche Boxen nicht so schnell sind bzw. es lange dauert
Hängt eventuell auch damit zusammen was die noch alles machen.
Meine Box wird ja nun auch schon vom FritzDECT-Adapter und vom TR-064 Adapter beackert, jetzt noch dieses Skript dazu. -
@bananajoe interessant! Dann kansst Du ja noch die 'unnötigen' Pages auskommentieren, dann wird die Belastung auch weniger. Wenn dich nur der Routeswitch interessiert dann kann man auch noch das docInfo verkürzen und da nur auf online/offline abfragen
-
wie mache ich denn das dynamisch?
data.activatedroute0 = 1;
Ich baue das gerade so um das er die Routen ausliest und Datenpunkte dafür anlegt.
Dementsprechend wird es dannroute0
,route1
,route2
und so weiter geben.
activated
wollte ich als Wahr/Falsch Datenpunkt anlegen mit einem Trigger darauf und dann entsprechend umschalten.
Soweit, so gut, das bekomme ich hin.Aber dann müsste ich mir das ja für das Senden/Schreiben zusammenbauen.
data.activated${myroute} = 1;
?
-
@bananajoe ok, etwas in Blockly abschauen und googeln:
let sessionID = '0000000000000000'; const data = { xhr: 1, sid: sessionID, lang: "de", page: 'xxxxxx', xhrId: "all", no_sidrenew: null }; let targetroute = 'route1'; data['activated' + targetroute] = 1; console.warn(data);
In Zeile 4 baue ich mir den Attributnamen dynamisch aus einen festen Text und den Inhalt der Variable
targetroute
zusammen. Ausgabe:2024-08-14 21:22:29.393 - warn: javascript.1 (1635) script.js.001_Routinen.FritzBoxen.Test_Dynamisch: { xhr: 1, sid: '0000000000000000', lang: 'de', page: 'xxxxxx', xhrId: 'all', no_sidrenew: null, activatedroute1: 1 }
-
@fastfoot sagte in FritzBox Routen ein oder ausschalten:
Dann kansst Du ja noch die 'unnötigen' Pages auskommentieren, dann wird die Belastung auch weniger.
Jepp, wenn ich nur noch die Routen abfrage oder setze, dauert es nur um die 200ms