(Gelöst) shell Skript aus fhem starten

Begonnen von schka17, 23 März 2014, 17:53:10

Vorheriges Thema - Nächstes Thema

schka17

hallo,

stehe im Moment komplett auf der Leitung, versuche ein Skript aus fhem notify zu starten.

Kommandos im Telnetfenster:

{system("/scripts/milight 1 ON")}
-1
  {system("/scripts/milight 1 OFF")}
-1
  {system("/scripts/sendsms WZ_Temp_Alarm")}
-1
  {system("/scripts/testscript")}
-1


die ersten beiden Befehle funktionieren (trotz return code -1) die beiden anderen nicht.

Die Benutzerrechte der Skripts:
root@HAL9000:/scripts# ls -al
total 1076
drwxr-xr-x  4 root root    4096 Mar 23 17:21 .
drwxr-xr-x 23 1003 1003    4096 Feb  3 20:28 ..
drwxr-xr-x  2 root root    4096 Feb  1 23:42 ibeacon
drwxrwxr-x  2 fhem root 1032192 Mar 17 11:57 lcd4fhem
-rwxrwxrwx  1 root root   25588 Feb  7 23:52 milight
-rw-rw-rw-  1 root root      20 Feb  7 23:53 milight.conf
-rwxrwxr-x  1 nut  root     155 Mar  2 19:52 nut-notify.sh
-rwxr-xr-x  1 fhem root     167 Jul  8  2017 sendsms
-rwxr-xr-x  1 root root     187 Jul  8  2017 sendsms.HAL9003
-rwxrwxrwx  1 root root      45 Mar 23 17:21 testscript
-rwxrwxrwx  1 root root     100 Jul  8  2017 testsms


milight ist ein excutable, die anderen sind shell scripts, aber das sollte doch keinen Unterschied machen?

Komme jedenfalls nicht mehr weiter, hat jemand eine Idee?

Gruss, Karl
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

fiedel

Hi Karl,

die "-1" ist als Rückgabewert normal. Dann wurde der Befehl von FHEM soweit erst mal akzeptiert.
Zu den Rechten und Besitzverhältnissen: Da kannst du im FHEM- Verzeichnis abgucken und die Eigenschaften von vorhandenen Dateien übernehmen. Ansonsten könntest du es mit "sudo" versuchen. Der Benutzer "fhem" oder "FHEM" (nachgucken!) muss dann zu den Sudoers hinzugefügt werden und bestimmte Ausführungsrechte zugewiesen bekommen. Dazu findest du Einiges hier im Forum.
Generell müssen die Scripte und Befehle zuerst mal in der Shell laufen. Dann kriegt man es in aller Regel auch von FHEM aus hin.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

schka17

Hallo Frank,

danke für deine Antwort.

Ich denke ich habe alles zu dem Thema gelesen, und die SMS Benachrichtigung funktionierte ja auch seit mehr als einem Jahr. Und ich verstehe nicht warum bei zwei Kommandos, die dieselben Benutzerrechte haben, eines funktioniert und das zweite nicht?

Aber du hast natürlich recht, es war letztendlich ein fehlender Eintrag in sudoers, kann mich nicht erinnern wann ich die Datei mit dem default Inhalt überschrieben habe. Manchmal braucht man den Stoß in die richtige Richtung.

danke und Gruss

Karl
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