Hallo und guten Abend zusammen,
ich bin gerade dabei meinem FHEM beizubringen, daß er meine Satelitenreceiver zeitgesteuert updatet und neu startet.
habe folgende Zeilen in der fhem.cfg:
define STB2Update at *18:53 {fhem("{UpdateSTB2}")}
attr STB2Update group Updates
attr STB2Update room Technik
und in der 99_myUtils.pm
UpdateSTB2()
{
use Net::Telnet();
my $STB2U = new Net::Telnet (Timeout => 50,Port => 23);
#my $STB2U1 = $STB2U->dump_log("STB2telnetclient.txt");
#my $STB2U2 = $STB2U->input_log("STB2telnetclient_input.txt");
#my $STB2U3 = $STB2U->output_log("STB2telnetclient_output.txt");
$STB2U->open("192.168.10.72");
$STB2U->print("sudo opkg update && sudo opkg upgrade && reboot");
}
und erhalte im Log folgende Fehlermeldung:
2015.02.15 18:53:00 3: {UpdateSTB2} : Bareword "UpdateSTB2" not allowed while "strict subs" in use at (eval 2727) line 1.
2015.02.15 18:53:00 3: STB2Update: Bareword "UpdateSTB2" not allowed while "strict subs" in use at (eval 2727) line 1.,
mit der ich momentan wenig anfangen kann.
Hat jmd eine Idee?
Danke schonmal im Voraus
Gruß
Thorsten
Dir fehlt ein "sub" ganz am Anfang in der myUtils
sub UpdateSTB2()
{
use Net::Telnet();
my $STB2U = new Net::Telnet (Timeout => 50,Port => 23);
#my $STB2U1 = $STB2U->dump_log("STB2telnetclient.txt");
#my $STB2U2 = $STB2U->input_log("STB2telnetclient_input.txt");
#my $STB2U3 = $STB2U->output_log("STB2telnetclient_output.txt");
$STB2U->open("192.168.10.72");
$STB2U->print("sudo opkg update && sudo opkg upgrade && reboot");
}
lg, Ici
Und das hier ist Quatsch, auch wenn es vermutlich funktioniert:
define STB2Update at *18:53 {fhem("{UpdateSTB2}")}
So:
define STB2Update at *18:53 {UpdateSTB2}