Hauptmenü

In Bashscript FHEM Befehle

Begonnen von Rampler, 10 Juni 2016, 12:28:56

Vorheriges Thema - Nächstes Thema

Rampler

Hallo zusammen,
habe meine Menueinträge damit erweitert:
attr WEB menuEntries shutdown_rpi,cmd={system('/opt/fhem/shutdown_rpi&')}

##!/bin/bash
# Shutdown Rasberry ...
perl /opt/fhem/fhem.pl 7072 "{fhem(Log 1,'Linux shutdown has been requested from WEBUI')}"


Bei Aufruf über Webui (klick) hängt sich FHEM auf.
Bei Aufruf über Putty funktioniert es einwandfrei.

Wa mache ich falsch ?
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

CoolTux

Fhem wartet auf eine Rückmeldung. Die kommt aber nicht wegen dem &
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Rampler

#2
Sorry, das & hatte ich zu Testzwecken eingebaut, ohne geht es auch nicht. Ich muss nach aufruf von shutdown_rpi (wohl gemerkt, nur über die WebUI) den prozess shutdown_rpi killen, erst dann arbeitet fhem weiter ...
Starte ich shutdown_rpi über Putty kommt die Meldung ...
Sehr merkwürdig ..

Bei eingabe über putty:

klaus@Raspberry ~ $ perl /opt/fhem/fhem.pl 7072 "{fhem(Log 1,'Linux shutdown has been requested from WEEBUI')}"

2016.06.10 15:06:10 1: Linux shutdown has been requested from WEEBUI
2016.06.10 15:06:10 1: PERL WARNING: Use of uninitialized value $cmd in pattern match (m//) at fhem.pl line 921.


Per klick in der FHEM WEBGUI:

klaus@Raspberry ~ $ ps -e
  PID TTY          TIME CMD
    1 ?        00:00:01 init
   ......
2192 ?        00:00:00 perl
2196 pts/0    00:00:00 ps
klaus@Raspberry ~ $ sudo kill 2192
klaus@Raspberry ~ $

Dann läuft auch wieder FHEM ...


Merkwürdig finde ich auch die:
PERL WARNING: Use of uninitialized value $cmd in pattern match (m//) at fhem.pl line 921.
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

Rampler

... auch bei eingabe von {system('/opt/fhem/shutdown_rpi')} hängt FHEM bis der Prozess gekillt wird ...
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

Rampler

Mit:
{system('/opt/fhem/shutdown_rpi &')} in der Eingabezeile tuts jetzt, allerdings mit Menuentries nach wie vor nicht ..
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

CoolTux

#5
Das wollte ich noch schreiben, ist mir auch eben am pc aufgefallen das du ein leerzeichen vergessen hast.

Mach mal besser so


qx(/opt/fhem/shutdown_rp &);


Und was willst Du jetzt für ein Menüeintrag?

Was steht denn in Deinem shutdown Script drin?

Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Rampler

Danke erstmal...
Möchte mal mein Problem übersichtlicher darstellen:
Bei eingabe von:
{system('/opt/fhem/shutdown_rpi &')}
in Commandfenster, funktioniert das script.

Bei Aufruf mit menuEntries:
attr WEb menuEntries shutdown_rpi,cmd={system('/opt/fhem/shutdown_rpi+&')}
bekomme ich den Fehler:
Unknown command {system('/opt/fhem/shutdown_rpi


Inhalte des Scripts:
#!/bin/bash
# Shutdown Rasberry ...
/opt/fhem/fhem.pl 7072 "{fhem(Log 1,'Linux shutdown has been requested from WEEBUI')}"
#/etc/init.d/fhem stop
#sudo shutdown -h now
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

CoolTux

Mach mal das Pluszeichen weg zwischen dem Befehl und dem Kaufmanns UND. Eventuell ist es das ja.
Und im Script machst du gaaanz am Ende ein exit 0. Vielleicht klappt es ja
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Rampler

Also habe das + entfernt, sieht nun so aus:
attr WEb menuEntries shutdown_rpi,cmd={system('/opt/fhem/shutdown_rpi &')}
Exit 0 im Script ist auch drinn...

Fehlermeldung:
Unknown command {system('/opt/fhem/shutdown_rpi, try help.

Muss doch möglich sein, da eine Leerstelle rein zu kriegen...
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

CoolTux

Mach mal an Stelle dem Leerzeichen ein %20
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Rampler

%20 ..shutdown_rpi,cmd={system('/opt/fhem/shutdown_rpi%20&')}
Unknown command {system('/opt/fhem/shutdown_rpi, try help.
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

ph1959de

ist ewas gegen
{system("/opt...")}
statt
{system('/opt...')}
einzuwenden? Schon ausprobiert? Damit funktioniert zumindest bei mir ein "wget...&".

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

automatisierer

seid ihr euch sicher, dass da die geschweiften Klammern drum müssen?

Rampler

shutdown_rpi,cmd={system("/opt/fhem/shutdown_rpi%20&")}

==> leider auch net
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

Rampler

shutdown_rpi,cmd=system("/opt/fhem/shutdown_rpi%20&")
nogo
shutdown_rpi,cmd=system('/opt/fhem/shutdown_rpi%20&')
nogo
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!