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
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
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