FHEM auf FritzBox per Telnet starten

Begonnen von blixx, 04 März 2015, 12:39:15

Vorheriges Thema - Nächstes Thema

blixx

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?

blixx

Kurzer *Push* - Ist die Frage hier vielleicht falsch? Gibt es einen besser passenden Forenbereich?

nesges

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.