Aufruf von Shell Scripts in FHEM

Begonnen von mj2680, 05 Dezember 2015, 08:59:00

Vorheriges Thema - Nächstes Thema

mj2680

Vielleicht kann mir jemand sagen was ich falsch mache,
Versuche in FHEM (Weboberfläche) mit dem Befehl in der Kommandozeile ein Shell Script aufzurufen welches dann ein MP3 File abspielen soll

Befehl den ich in der Kommandozeile eintrage:
{system("sh /opt/fhem/mp3/abspielen.sh")}

Als Rückmeldung kommt einfach -1 ???


Wenn ich in der Raspberry-Konsole folgenden Befehl eingebe funktioniert des einwandfrei und das MP3 File wird abgespielt
sh /opt/fhem/mp3/abspielen.sh

Habe schon einiges versucht aber es klappt irgendwie nicht.
In diesem Forum habe ich z.B. folgenden Hinweis gefunden
Die Datei sudoers anpassen
sudo nano /etc/sudoers
Am Ende der Datei habe ich folgenden Anweisung hinzugefügt:
fhem ALL=(ALL) NOPASSWD: ALL

Aber auch das hat nicht geholfen.....

Vielleicht weiß jemand was die Ursache sein könnte.

Vielen Dank

mrbreil

Versuch mal

system("/opt/fhem/mp3/abspielen.sh &")

mj2680

Danke für den Versuch:

Habe jetzt folgenden Anweisung versucht:
{system("/opt/fhem/mp3/abspielen.sh &")}

Ändert aber nichts am Verhalten--> geht nicht und die Meldung -1 kommt erneut

Vielelicht hat jemand noch ein Idee?

Paddinho


mj2680

ok des könnte sein.

Hast noch eine Tip was ich hier genau anpassen sollte ?

Amenophis86

Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

mj2680

Ich habe eine Hardcopy aus FTP gemacht

mj2680

Des mit den Rechten sollte eigentlich passen?


Gesendet von iPhone mit Tapatalk

Amenophis86

Mal mit einem Sudo vor dem Befehl versucht. Hast ja fhem die Sudo Rechte gegeben, laut deiner Aussage oben.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

mj2680

Nach meinen Versuchen funktioniert der sudo Befehl auch nicht mehr aus der Konsole des Raspberry. Damit kann der sudo Befehl wahrscheinlich auch nicht in fhem funktionieren.

Es kommt folgende Meldung in der Konsole:
(http://images.tapatalk-cdn.com/15/12/06/a22cc9f7d99d9b4908f4b185d63f7725.jpg)

Könntest du mal posten wie die richtige Vergabe zur Anpassung der Rechte sein sollte?
Ich habe folgendes versucht:
1) Schreib -Leserechte --
chmod -R 777 /opt/fhem/mp3 (da liegt auch das Shell Script)

2) Shell Datei ausführbar gemacht
Chmod +x /opt/fhem/mp3/abspielen.sh

Wie gesagt Aus der Rpi Konsole geht das Script, auch ohne sudo....

Gibt es evtl. eine Beschreibung was ich tun muss um ein Script aus fhem aufrufen zu können?


Vielen Dank


Gesendet von iPhone mit Tapatalk


viegener

Zitat von: mj2680 am 07 Dezember 2015, 05:39:08
Es kommt folgende Meldung in der Konsole:
(http://images.tapatalk-cdn.com/15/12/06/a22cc9f7d99d9b4908f4b185d63f7725.jpg)


Wenn sudo mit dieser Meldung kommt ist schon etwas ziemlich durcheinander.
Solche Dinge sollten repariert werden, denn root-Zugriff ist in vielen Fällen notwendig um updates einzuspielen / GPIOs zu nutzen etc.

Was hat denn zu diesem Verhalten geführt, hast Du die sudo-Datei selbst verändert?
Gibt es noch mehr "komische" Meldungen?




Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Jak

Ich habe versucht die sudoers Datei mit zusätzlichen Einträgen anzupassen.
Da habe ich irgendwie was falsch gemacht.
Der Rest funktioniert aber einwandfrei.  Wenn dann muesste ich das System neu installieren.

Koennte ich schon machen würde aber gerne vorab verstehen wie ich die Rechte / User richtig anpassen muss um eine  Shell Datei in fhem auszuführen.
Vielen Dank für deine Info

Gesendet von meinem SM-G920F mit Tapatalk


Jak

Zitat von: Prof. Dr. Peter Henning am 07 Dezember 2015, 07:47:43
Bitte mal hier nachlesen:

http://www.perlhowto.com/executing_external_commands

LG

pah
Danke für den Input.
Habe versucht des zu verstehen was Sie mir gesendet haben,  liest sich aber nicht ganz einfach.
Haetten Sie da noch etwas konkretere Infos?

Gesendet von meinem SM-G920F mit Tapatalk


dev0

Zitat von: Jak am 07 Dezember 2015, 09:48:40
verstehen wie ich die Rechte / User richtig anpassen muss um eine  Shell Datei in fhem auszuführen
Um ein shell script aus fhem heraus auszuführen sind generell erstmal keine zusätzlichen Rechte nötig. Wenn das shell script zusätzliche Rechte benötigt, dann kann man:
- fhem user in Unixgruppen aufnehmen, die die Rechte haben
- setuid auf Dateiebene verwenden
- das shell script mit sudo aufrufen

siehe:
man addgroup
https://de.wikipedia.org/wiki/Setuid
https://de.wikipedia.org/wiki/Sudo