Hallo zusammen,
ich würde gerne mein FHEM auf der FritzBox per FHEM auf meinem Raspberry starten.
Dafür habe ich folgendes gebaut/zusammenkopiert:
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
sub FHEMstarten()
{
use Net::Telnet();
my $tab = new Net::Telnet (Timeout => 50,Port => 23, Errmode=>'die', Prompt => '/\# $/i');
my $fh1 = $tab->dump_log("telnetclient.txt");
my $fh2 = $tab->input_log("telnetclient_input.txt");
my $fh3 = $tab->output_log("telnetclient_output.txt");
$tab->open("192.168.198.1");
$tab->waitfor('/password: $/i');
$tab->print("ganzgeheimesPasswort");
$tab->waitfor('/\# $/i');
$tab->print("./var/InternerSpeicher/fhem/startfhem");
$tab->print("exit");
}
1;
Leider geht es so nicht - FHEM startet nicht. Kann jemand helfen?
Kurzer *Push* - Ist die Frage hier vielleicht falsch? Gibt es einen besser passenden Forenbereich?
Kann man so oder so sehen. Eigentlich ist's kein fhem-Problem, andererseits ist's ein Anfängerproblem.
Eine direkte Antwort habe ich nicht, aber einen Tipp zum einfachen debuggen. Bau in deine Funktion Log-Ausgaben ein und schaue wie weit du kommst, dann siehst du evtl. ungefährt wo's hakt. Also so in der Art:
$tab->open("192.168.198.1");
Log 1, "after open";
$tab->waitfor('/password: $/i');
Log 1, "waitfor pass";
$tab->print("ganzgeheimesPasswort");
Log 1, "pass printed";
etc..
Evtl. fällt dir dabei auch eine ohnehin schon im Log stehende Fehlermeldung auf.