FHEM custom Modul Python script ausführen

Begonnen von tietze111, 17 Dezember 2017, 15:46:57

Vorheriges Thema - Nächstes Thema

tietze111

Hi,

ich steuere einiges python scripts auf meinem Raspberry Pis. Jetzt wollte ich mir quasi ein custom Modul schreiben, dass die Funktionen kapselt. Dafür versuche ich z.B. so etwas:

set customTest power on

In meiner Set Funktion versuche ich das hier auszuführen:

my $cmd = "sudo python /home/pi/OnOff.py on";
return system ($cmd);


Leider funktioniert das nicht. Eigentlich sollte das ohne sudo funktionieren, geht aber nicht mit und ohne.

Ich habe die Datei auch extra mittels "sudo chown fhem OnOff.py" dem fhem user überschrieben, was aber leider nichts gebracht hat. Vielleicht ist auch einfach die Perl syntax falsch, aber ich bekomme den Fehler nicht raus. Wenn ich dem pi user die Datei überschreibe, kann ich es ganz normal ohne sudo ausführen.

Der return Wert ist immer -1.

Ich hoffe jemand hat eine Idee, warum es nicht funktionieren will.
Danke und VG,
tietze111

betateilchen

Vielleicht solltest Du Dir mal ein paar Linux Grundlagen aneignen, dann kommst Du irgendwann darauf, dass es Sinn machen könnte, in diesem Fall mit kompletten Pfadangaben beim Aufruf von Programmen im Betriebssystem zu arbeiten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

tietze111

Zitat von: betateilchen am 17 Dezember 2017, 16:01:33
... kompletten Pfadangaben beim Aufruf von Programmen im Betriebssystem zu arbeiten.

Und seit wann ist /home nicht im root Verzeichnis?

betateilchen

#3
Ich schrieb ausdrücklich "Programm" ...

Du musst den vollständigen Pfad zu python angeben, denn das ist das Programm, das Du starten willst. (Genau genommen müsstest Du auch den kompletten Pfad zu sudo angeben, denn das ist auch ein Programm)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Ich geh mal Popcorn holen, das könnte noch lustig werden. Wie fast immer, wenn man es mit einem Besserwisser zu tun hat, der nicht lesen kann (oder nicht will)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!