HILFE: Fhem befehle von Bash(shell) auf einem Raspberry Pi ausführen

Begonnen von nocks, 07 Februar 2017, 07:09:14

Vorheriges Thema - Nächstes Thema

nocks

Hallo,

ich versuche verzweifelt folgenden Befehl zum Laufen zu bekommen:
pi@raspberrypi ~ $ sudo /opt/fhem/fhem.pl 10.0.0.41:7072 "set Lampe1 on"

Bekomme aber folgende Fehlermeldung:
Use of uninitialized value in numeric gt (>) at /opt/fhem/fhem.pl line 446.

Hab schon mit verschiedenen Rechtevergaben herumprobiert, Perl installiert und upgedated, Raspian upgegraded, ohne hostadresse, ohne sudo.
Fhem hab ich auch upgedated.

Hat alles nicht funktioniert.

Berechtigungen von fhem.pl:
-rwxrwxrwx  1 fhem dialout 129579 Feb  6 21:39 fhem.pl

Der fhem.pl Code ab der Stelle 434 gibt hinweise auf die übergebenen Argumente:
###################################################
# Client code
if(int(@ARGV) > 1 && $ARGV[$#ARGV] ne "-i") {
  my $buf;
  my $addr = shift @ARGV;
  $addr = "localhost:$addr" if($addr !~ m/:/);
  my $client = IO::Socket::INET->new(PeerAddr => $addr);
  die "Can't connect to $addr\n" if(!$client);
  for(my $i=0; $i < int(@ARGV); $i++) {
    syswrite($client, $ARGV[$i]."\n");
  }
  shutdown($client, 1);
  while(sysread($client, $buf, 256) > 0) {
    $buf =~ s/\xff\xfb\x01Password: //;
    $buf =~ s/\xff\xfc\x01\r\n//;
    $buf =~ s/\xff\xfd\x00//;
    print($buf);
  }
  exit(0);
}
# End of client code
###################################################


Vielleicht kann mir ja jemand einen Tipp geben.

Vielen lieben Dank. :)

Thorsten Pferdekaemper

Mal ne ganz blöde Frage: Läuft FHEM überhaupt, während Du das eingibst?
Gruß,
   Thorsten
FUIP

nocks

Hallo,

ja FHEM läuft.

Bin gerade am Perl Debuggen. Irgendwie kommt beim der Zeile
while(sysread($client, $buf, 256) > 0) {
nichts in die Variable $buf.
Beim einem Durchgang hab ich es aber über die Zeile geschafft.

Kharim

Noch ne blöde Frage.....

bei mir sieht das wie folgt aus
perl /opt/fhem/fhem.pl 7072 "set ErrorlevelBackup $?"

Nutze ich lokal, auf dem selben Linux.......dir fehlt das "perl" davor?!

Grüße,
Kharim
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

nocks

geht leider weder mit, noch ohne Perl davor. Immer die selbe Fehlermeldung. :(

Thorsten Pferdekaemper

Ist SSL im telnet Device eingeschaltet? Wenn ich das mache, dann bekomme ich das Problem auch.
Wenn nicht, dann bitte mal ein list vom telnet Device.
Gruß,
   Thorsten
FUIP

Wernieman

Wenn Du kein SSL an hast, geht folgendes besser:
echo -en "set blablabla\n" | nc -w 5 localhost 7072 >/dev/null

Mit SSL, siehe Doku:
https://fhem.de/commandref.html#telnet
socat openssl:fhemhost:fhemport,verify=0 readline
ncat --ssl fhemhost fhemport
openssl s_client -connect fhemhost:fhemport
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

schka17

Und wenn du direkt eine telnet session auf 7072 öffnest und dort den Befehl eingibst, geht es dann?


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

nocks

Hallo,

vielen Dank für die Antworten.

Ich verwende SSL.

Also wenn ich mich mit:
openssl s_client -connect fhemhost:fhemport
verbinde muss ich mein Passwort eingeben.
Danach kann ich mit set XXXXX on Befehle absetzen und fhem reagiert darauf.

pi@raspberrypi /opt/fhem $ openssl s_client -connect 10.0.0.41:7272                                                                                                                     
CONNECTED(00000003)                                                                                                                                                                     
depth=0 C = AT, ST = NOE, L = HOLLABRUNN, O = NO, OU = NO                                                                                                                               
verify error:num=18:self signed certificate                                                                                                                                             
verify return:1                                                                                                                                                                         
depth=0 C = AT, ST = NOE, L = HOLLABRUNN, O = NO, OU = NO                                                                                                                               
verify return:1                                                                                                                                                                         
---                                                                                                                                                                                     
Certificate chain                                                                                                                                                                       
0 s:/C=AT/ST=NOE/L=HOLLABRUNN/O=NO/OU=NO                                                                                                                                               
   i:/C=AT/ST=NOE/L=HOLLABRUNN/O=NO/OU=NO                                                                                                                                               
---                                                                                                                                                                                     
Server certificate                                                                                                                                                                     
-----BEGIN CERTIFICATE-----                                                                                                                                                             
MIIDZzCCAk+gAwIBAgIJAMk/RSz9E07yMA0GCSqGSIb3DQEBBQUAMEoxCzAJBgNV                                                                                                                       
BAYTAkFUMQwwCgYDVQQIDANOT0UxEzARBgNVBAcMCkhPTExBQlJVTk4xCzAJBgNV                                                                                                                       
BAoMAk5PMQswCQYDVQQLDAJOTzAeFw0xNTExMDIxMDU2NTFaFw0yNTEwMzAxMDU2                                                                                                                       
NTFaMEoxCzAJBgNVBAYTAkFUMQwwCgYDVQQIDANOT0UxEzARBgNVBAcMCkhPTExB                                                                                                                       
QlJVTk4xCzAJBgNVBAoMAk5PMQswCQYDVQQLDAJOTzCCASIwDQYJKoZIhvcNAQEB                                                                                                                       
BQADggEPADCCAQoCggEBAJu1I4Ocrr0OUcQJPulI8qbuGXpHxQtXGanueMTHRdrq                                                                                                                       
FXbwb2faMP4gedX8OpEjmlx0epinboMCN8YlnMN/KexZB1nH+2kavqSvxw6uTz71                                                                                                                       
t9JCQXliJ3zbPO8m10PQpwMi8BIEWjdrOW3KxBc8VcoZxP2cIocCnNszuhcmJBmv                                                                                                                       
ZjRTCR3KoV8SQSl+yU0X0MRrypqGTtcWz8/vw3GMe+lfou7wv2zMWwfbhLDKjldH                                                                                                                       
VOM+nzpTp6KTnMXYkhdDcfvqyp95e3QBvACW/H9KajqYnWGDgSR4gyRRbj77KAMy                                                                                                                       
Fna8l2qXu1DXMlYfYGkdrgd4O3y13zbPRKWBHuO7fcECAwEAAaNQME4wHQYDVR0O                                                                                                                       
BBYEFD7HwDmXSZ1TOmMn0MOLjVtkeWYsMB8GA1UdIwQYMBaAFD7HwDmXSZ1TOmMn                                                                                                                       
0MOLjVtkeWYsMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAEszTxa7                                                                                                                       
hOy3MKxXgdzM6wiaDRanekvQ+WOGDDvgAscD+IWZdf2kFfjNVKRsS8teitxKkOkq                                                                                                                       
bYsGIQECZ6bNhqVIxwrUkWQLHNgkRNJ9vGwj/zcod4Th6QrdW+eeyKPo9kU3DWad                                                                                                                       
wVCxSBqf52SJJ/U7AVTdsbDj2XzEbZFGyMTlnHkskxXlp+pzc++KllZ/ZP/qiRnH                                                                                                                       
LHHU7PqQxmgD59Oq6IvQkk1a0f7ZVaUF8SCLUtLB+gtq1BfOtsHPTWlfNx7vdb4V                                                                                                                       
/6d/h7F9sJAKuWv/evGcOXckxMlNA8bh+YtQFXAi2oLXcO1TGmE979YXF+HoP4fv                                                                                                                       
nwqZ73Lk1MjLtpk=                                                                                                                                                                       
-----END CERTIFICATE-----                                                                                                                                                               
subject=/C=AT/ST=NOE/L=HOLLABRUNN/O=NO/OU=NO                                                                                                                                           
issuer=/C=AT/ST=NOE/L=HOLLABRUNN/O=NO/OU=NO                                                                                                                                             
---                                                                                                                                                                                     
No client certificate CA names sent                                                                                                                                                     
---                                                                                                                                                                                     
SSL handshake has read 1197 bytes and written 616 bytes                                                                                                                                 
---                                                                                                                                                                                     
New, TLSv1/SSLv3, Cipher is AES256-GCM-SHA384                                                                                                                                           
Server public key is 2048 bit                                                                                                                                                           
Secure Renegotiation IS supported                                                                                                                                                       
Compression: zlib compression                                                                                                                                                           
Expansion: zlib compression                                                                                                                                                             
SSL-Session:                                                                                                                                                                           
    Protocol  : TLSv1.2                                                                                                                                                                 
    Cipher    : AES256-GCM-SHA384                                                                                                                                                       
    Session-ID: 5940CB0E953C8ECFC1F3BCFDD30B363985ACF8F090E6300411ACE6BA186AF729                                                                                                       
    Session-ID-ctx:                                                                                                                                                                     
    Master-Key: D287AADE73DE395186F34AF39A8DA2DB7FDC4F5A334FAFD29ECDED4B8E17116DC92518543ADC90B70081698E5BA62E21                                                                       
    Key-Arg   : None                                                                                                                                                                   
    PSK identity: None                                                                                                                                                                 
    PSK identity hint: None                                                                                                                                                             
    SRP username: None                                                                                                                                                                 
    TLS session ticket lifetime hint: 300 (seconds)                                                                                                                                     
    TLS session ticket:                                                                                                                                                                 
    0000 - 74 98 3e ef 80 af b1 f8-13 39 c2 08 8a 43 89 2e   t.>......9...C..                                                                                                           
    0010 - 54 51 9d d0 2b ed 27 06-9f 8e e0 d5 39 7a f0 ae   TQ..+.'.....9z..                                                                                                           
    0020 - 2d 42 2a 6c f8 97 56 ce-c5 aa 4c 30 69 3b fc cf   -B*l..V...L0i;..                                                                                                           
    0030 - e6 b3 29 25 d7 67 45 de-36 6c 2a fe 94 1a 60 07   ..)%.gE.6l*...`.                                                                                                           
    0040 - 55 4f 43 7e 27 3c dc 45-97 b5 36 a2 aa b3 20 04   UOC~'<.E..6... .                                                                                                           
    0050 - 28 ca d8 d4 77 73 9a fc-7a 26 8e 9b 0b d4 3b 10   (...ws..z&....;.                                                                                                           
    0060 - d3 80 f7 7b f0 bf e3 5b-f2 9e 6a a4 7c 5d c7 93   ...{...[..j.|]..                                                                                                           
    0070 - 1f 87 74 78 5e 0b b0 d6-95 a6 cc b2 c8 89 46 e8   ..tx^.........F.                                                                                                           
    0080 - 46 6a f9 97 51 42 6e ba-b6 3d 90 d9 95 1e 01 cf   Fj..QBn..=......                                                                                                           
    0090 - ba 3e 9e db 56 9c a3 2d-d0 a6 70 de 29 39 1e 86   .>..V..-..p.)9..                                                                                                           
                                                                                                                                                                                       
    Compression: 1 (zlib compression)                                                                                                                                                   
    Start Time: 1486454561                                                                                                                                                             
    Timeout   : 300 (sec)                                                                                                                                                               
    Verify return code: 18 (self signed certificate)                                                                                                                                   
---                                                                                                                                                                                     
Password: XXXXXXXXXXXXXX                                                                                                                                                                     
                                                                                                                                                                                       
set FBH_WZ_SZ_Sw_01_KU on                                                                                                                                                               
set FBH_WZ_SZ_Sw_01_KU off
q                                                                                                                                                                                       
Bye...                                                                                                                                                                                 
closed                                                                                                                                                                                 
pi@raspberrypi /opt/fhem $ perl /opt/fhem/fhem.pl 10.0.0.41:7272 "set FBH_WZ_SZ_Sw_01_KU on"                                                                                           
Use of uninitialized value in numeric gt (>) at /opt/fhem/fhem.pl line 446.   


Falls sich wer wundert. Ich habe in der zwischenzeit den Port von 7072 auf 7272 umgestellt, nur um zu Testen ob FHEM das mitbekommt.

Thorsten Pferdekaemper

Heißt das jetzt, dass das Problem gelöst ist?
Gruß,
   Thorsten
FUIP

nocks

Leider nein.

pi@raspberrypi /opt/fhem $ perl /opt/fhem/fhem.pl 10.0.0.41:7272 "set FBH_WZ_SZ_Sw_01_KU on"                                                                                           
Use of uninitialized value in numeric gt (>) at /opt/fhem/fhem.pl line 446.


Immer noch derselbe Fehler.

Hier mal das List des telnet devices aus fhem:
Internals:
   CONNECTS   2
   DEF        7272 global
   FD         5
   NAME       telnetPort
   NR         3
   PORT       7272
   SSL        1
   STATE      Initialized
   TYPE       telnet
Attributes:
   SSL        1


Muss da irgendwie noch das Passwort mitübergeben werden bei dem Aufruf wenn SSL aktiv ist?

nocks

Hier noch das List vom Device: allowed_telnetPort

Internals:
   NAME       allowed_telnetPort
   NR         4
   STATE      active
   TYPE       allowed
   validFor   telnetPort
   Readings:
     2017-02-07 08:27:42   state           active
Attributes:
   globalpassword  NoPWD
   validFor   telnetPort

Wernieman

Nochmals:
Warum verwendest Du fhem als Client, wenn es per z.B. openssl kleiner und einfacher geht?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

pula

Hmm... habe das Problem leider auch :-(
Hab bisher meine Heizung per python-Skripten abgefragt/gesteuert und die Readings dann per urllib (web) an fhem zurückgegeben.
Funktioniert jetzt auch noch, aber nur wenn ich csrfToken auf none setze - was mir eigentlich nicht gefällt.

Daher wollte ich das per telnet versuchen, was aber in genau dem Fehler mündet, den auch nocks hat.

@Wernieman: was genau meinst Du mit:
ZitatWarum verwendest Du fhem als Client, wenn es per z.B. openssl kleiner und einfacher geht?

Kannst Du das bitte erklären? Vielleicht mit Beispielen? Ist zwar nicht lebensnotwendig, aber wäre schön...

Cheers,

Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html