Hallo,
ich lasse automatisch täglich ein Backup laufen, dazu rufe ich ein Shell Skript im Linux auf, das funktioniert wunderbar.
Wenn ich jedoch den telnet port 7072 mit Passwort dicht mache, bekomme ich vom Skript in Fhem nichts mehr rein.
Wie muss ich da vorgehen, was muss ich da einrichten ?
Bisher läuft es so:
perl /opt/fhem/fhem.pl 7072 "set FHEM.Backup off"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Backup info backup done"
irgendjemand eine Idee ?
Einfachste Variante: einen zweiten Telnet Port einrichten und nur die entsprechenden Befehle erlauben.
"help allowed"
sollte ein paar nützliche Informationen liefern.
"globalpassword" statt "password" könnte auch helfen wenn das Skript auf dem selben Host läuft wie FHEM.
Dann wird für lokal laufende telnet Anfragen kein Passwort benötigt.
Gruß
Dan
Und/oder man verzichtet bei der Definition von telnet auf global, dann kann man nur vom localhost eine Verbindung aufbauen.
Oder Du loggst Dich per perl Script ein und setzt den Befehl ab.
Etwa so (ungestetet aus dem Bauch ;) ). Bei Interesse findest Du Details hier: http://search.cpan.org/perldoc/Net::Telnet
#!/usr/bin/perl
$telnet = new Net::Telnet ( Timeout=>10, Errmode=>'die');
$telnet->open('yourHost_or_IP');
$telnet->waitfor('/Password:/');
$telnet->print('yourPassword');
$telnet->print('set FHEM_COMMAND ', $ARGV[0]); # $ARGV[0] -> command line parameter
$telnet->print('exit');
Habe bei mir unter "allowed_telnetPort" alle Passwörter rausgelöscht, dann läuft es einwandfrei.
mfg Torben
Wenn Du keine Passwortabsicherung benötigst, dann geht das in Ordnung.