Thread Net::Fritz Beispiel reboot
(4 answers)
Opened by bianca at 2019-09-25 11:33
Hi,
IMHO: Die Fritzbox *muss* hierfür richtige Benutzer eingerichtet haben; die einfache Anmeldung mit nur einem Passwort reicht hier nicht mehr. Auf meiner Fritzbox gibt es beispielsweise einen Admin-Benutzer, einen FTP-Benutzer, und einen Benutzer, der für Skripting benutzt wird. Der Admin-Benutzer darf alles, und wird nur zur manuellen Konfiguration benutzt. Der FTP-Benutzer darf nur auf die Dateifreigabe via FTP zugreifen. Der Skripting-Benutzer muss berechtigt sein, Einstellungen der Fritzbox zu verändern. Und die Fritzbox muss den Zugriff für Anwendungen via TR-064 ebenfalls erlauben (wie MarkusH in msg #190560 schon anmerkte). Wahrscheinlich muss in der Fritzbox-Oberfläche auf die Expertenansicht umgeschaltet werden, um alle Bedingungen wie benötigt zu setzen. Und hier nun die zusammenkopierten Teile aus meinem Skript: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #! /usr/bin/perl use strict; use warnings; use Net::Fritz::Box; my $username = "username"; # Username for scripting at FritzBox my $password = "password"; # Username's password at FritzBox my $fritz = Net::Fritz::Box->new( username => $username, password => $password, ); die $fritz->error if $fritz->error; # only one FB in the network; use the one you find my $device = $fritz->discover(); $device->errorcheck; my $service = $device->find_service('DeviceConfig:1'); $service->errorcheck; my $response = $service->call('Reboot'); $response->errorcheck; Mehr brauchte es eigentlich nicht. Bei mir funktionierte das mit einer Fritzbox 7390. Hilfreich beim Entwickeln war/ist es, sich mal den Config-Baum aus der FB zu holen und auszugeben. Dafür habe ich aber momentan kein Skript mehr parat. meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |