[Gelöst] Befehle per telnet

Begonnen von Paul, 01 Mai 2013, 18:47:34

Vorheriges Thema - Nächstes Thema

Hanky

Hallo,

bitte mal mit folgendem probieren:

Kanal_Umschalten()
{
use Net::Telnet();
my $tab = new Net::Telnet (Timeout => 50,Port => 5012);
#my $fh1 = $tab->dump_log("telnetclient.txt"); <-- macht zum debuggen Sinn.
#my $fh2 = $tab->input_log("telnetclient_input.txt"); <-- macht zum debuggen Sinn.
#my $fh3 = $tab->output_log("telnetclient_output.txt"); <-- macht zum debuggen Sinn.

$tab->open("192.168.1.103");
$tab->print("xyz");
}

standard ist port 23. Die Doku ist hier zu finden --> http://search.cpan.org/~jrogers/Net-Telnet-3.04/lib/Net/Telnet.pm


Paul

Habe jetzt folgendes probiert:

define schalteron notify FS20_4b841b:on
{
use Net::Telnet();
my $tab = new Net::Telnet (Timeout => 50,Port => 8102);
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.178.23");
$tab->print("vu\n2spk");
}

aber da bekomme ich schon beim abspeichern viele Fehler.

Usage: define notify Unknown command {, try help Unknown command use, try help Unknown command my, try help Unknown command my, try help Unknown command my, try help Unknown command my, try help Unknown command $tab->open("192.168.178.23"), try help Unknown command $tab->print("vu\n2spk"), try help Unknown command }, try help

muß ich hinter jeder Zeile ein \ setzen????
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Puschel74

Hallo,

das müsste auch so sein:

define schalteron notify FS20_4b841b:on {
use Net::Telnet();
my $tab = new Net::Telnet (Timeout => 50,Port => 8102);
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.178.23");
$tab->print("vu\n2spk");
}
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Paul

Mensch seit ihr schnell

Jetzt habe ich so:

define schalteron notify FS20_4b841b:on {
use Net::Telnet();
my $tab = new Net::Telnet (Timeout => 50,Port => 8102);
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.178.23");
$tab->print("vu\n2spk");
}

und wieder diese Fehler:

Unknown command use, try help Unknown command my, try help Unknown command my, try help Unknown command my, try help Unknown command my, try help Unknown command $tab->open("192.168.178.23"), try help Unknown command $tab->print("vu\n2spk"), try help Unknown command }, try help

muss ich noch etwas machen damit Net::Telnet auf der FB läuft oder ist das automatisch wenn ich Fhem draufgepackt habe?
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Puschel74

Hallo,

achso - ja.

Ich glaub nicht das use in einem notify klappt.
Das ist eher etwas für die 99_myUtils.pm
Dort kann dann per use auf "Fremdpakete" verwiesen werden die dann benutzt werden können.
(Ich hoff das ist so einigermaßen richtig).

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Paul

ich glaube jetzt verstehe ich nur noch Bahnhof. Trotzdem ich hier schon viel ggelesen habe und auch FHEM für einsteiger gelesen habe. Ich glaube ich habe wieder mehr Freizeit und keine schlaflose Nächte wenn ich den Cul wieder aus der Fritzbox ziehe.
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Hanky

Oh ja genau... das gehört in die MyUtils.. und muss als Funktion aufgerufen werden. So ist es bei mir auch.

Also speicher es anstatt in die fhem.cfg in eine Datei 99_MyUtils.pm ab. Das geht wenn du über den "Edit files" Dialog die Datei 99_MyUtils öffnest, alles raus löschst und diese unter 99_MyUtils.pm speicherst. Dort kannst du dann den Code von hier abspeichern. Bin dummerweise einfach davon ausgegangen, dass es nach Funktion aussieht durch den FUnktionsnamen mit den nachfolgenden Klammern.

Aufrufen tust du die Funktion mit dem Notify in der fhem.cfg --> define schalteron notify FS20_4b841b:on {fhem("{Kanal_Umschalten}")}

Ich verwende dieses telnetmodul um mein NAS runter zu fahren wenn es nicht mehr benötigt wird. Bei mir hat es auf der Fritzbox ohne etwas zu ändern funktioniert.

Paul

Besten Dank, ziehe doch nicht den Cul -)

es klappt !!!!!
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Erasor

Hi!
Hat vielleicht auch noch einer von euch eine Idee, wie das ohne Fritzbox aussehen müsste?

Das wär echt super.

Vielen Dank

Erasor

Paul

Net::telnet ist glaube ich nicht auf die fritzbox beschränkt.

Schau doch mal hier http://powerforen.de/forum/showthread.php?t=190640
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Hanky

Hallo,

ich würde auch behaupten, dass dieses Modul bei den meisten Perl Paketen dabei ist. Einfach ausprobieren.

tom_1000

Danke für die Hinweise aus dem Beitrag. Konnte so erfolgreich die Anbindung von ZoneMinder vornehmen.

Bei meiner Ubuntu-Installation war das Perl-Telnet-Modul übrigens defaultmäßig leider nicht installiert und so bekam ich erstmal einen Fehler nachdem ich die Definition in der 99_myUtils.pm vorgenommen hab. Da es für Ubuntu direkt ein Paket gibt konnte ich es mit dem Befehl sudo apt-get install libnet-telnet-perl direkt nachinstallieren und danach ging auch gleich die Definition in der 99_myUtils.pm und hat keine Fehler mehr gebracht.

KernSani

da ich nicht annehme, dass der ursprüngliche TE hier noch mit liest, daher setze ich das Ding mal auf gelöst ;-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

mroschk

Hallo,

ich versuche auch gerade etwas per telnet zu senden, leider bekomme ich folgende fehlermeldung:

Zitat
Can't locate Telnet.pm in @INC (you may need to install the Telnet module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM ./FHEM/lib) at ./FHEM/99_myUtils.pm line 12. BEGIN failed--compilation aborted at ./FHEM/99_myUtils.pm line 12.

in die 99_myUtils hab ich nur folgendes einfügen wollen:


Licht_an()
{
    use Net::Telnet();
    my $tab = new Net::Telnet (Timeout => 50);
    #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.220.57");
    $tab->print("set MQTT2_DVES_AEF3E7 on");

}


anscheinend fehlt ja die Telnet.pm irgendiwe. Telnet ist aber installiert und funktioniert auch. Also ich kann mich per telnet auf den raspi einloggen und dann per telnet das licht an/aus schalten.

Wie installiere ich denn Telnet.pm??

Matthias
ich stehe leider noch am Anfang mit FHEM :-)
deConz Stick
Maple_CUL 868 MAX Mode für Max! HT + Stackable 433
Xiaomi Roborock S5 (weiß, 2. Generation)

mroschk

Hallo, 

habs grad gefunden ,

das hier hat gefehlt:


sudo apt-get install libjson-perl libwww-perl libsoap-lite-perl libjson-xs-perl
sudo apt-get install libnet-telnet-perl


Matthias
ich stehe leider noch am Anfang mit FHEM :-)
deConz Stick
Maple_CUL 868 MAX Mode für Max! HT + Stackable 433
Xiaomi Roborock S5 (weiß, 2. Generation)