"System"-Kommando absetzten

Begonnen von gahle, 05 Januar 2016, 21:46:57

Vorheriges Thema - Nächstes Thema

gahle

Hallo,

via notify rufe ich
016-01-05 21:42:23 dummy LeinwandRauf on
auf,

in der fhem.cfg steht

#********************************************
# Leinwandsteuerung
#********************************************
define Leinwand_Rauf_on notify LeinwandRauf:on {system("/home/pi/433Utils/RPi_utils/codesend 5416340")}
define Leinwand_Rauf_on notify LeinwandRauf:on set S_LeinwandRauf on

define Leinwand_Rauf_off notify LeinwandRauf:off {system("/home/pi/433Utils/RPi_utils/codesend 5416344")}
define Leinwand_Rauf_off notify LeinwandRauf:off set S_LeinwandRauf off


Mein Problem ist, das ncihts passiert....
Wie kann ich herausbekommen, warum codesend nicht ausgeführt wird?

Gruss
gahle

Puschel74

Indem du ins Logfile schaust.
Aber ich tippe mal wieder auf Rechteprobleme - so wie in 99% der Beiträge mit solchen Fragen.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

gahle

Hallo,
das mag sein, finde im Logfile den Eintrag

sudo: no tty present and no askpass program specified
2016.01.06 00:58:34 3: Leinwand_Rauf_on return value: -1


Gibt es einen Tipp wo ich  nachsehen kann? Google gibt viele verschiedene hinweise, aber keiner der mir hilft..
:-)

dev0

Wenn ich nach der Fehlermeldung google bekomme ich leider auch nur die Tipps, die ich Dir auch gegeben hätte. Da diese ja nicht helfen, wird es sehr schwer mit einer Lösung. :-)

marvin78


ernst1024

Hi,

ich habe auch 1,5 Tage an dem gleichen Problem rum gedoktort. Gefühle 1 Millionen Formen von system ausprobiert, nix ging. Letztlich war es ein Rechteproblem. Zwar wurde fhem lt. Installationsanleitung für meinen Pi Rechte zugewiesen die im Normalfall auch reichen. Aber bei system commandos die auf die GPIO zugreifen reichen diese Rechte wohl nicht. Ich nutze raspberry-remote und das Programm zum senden der codes heisst sinnigerweise "send". Okay, jetzt bin ich in das raspberry-remote Verzeichnis gewechselt und habe da die folgenden commandos abgesetzt:

sudo chown root ./send
sudo chmod 4711 ./send

bei dir wäre das dann

sudo chown root ./codesend
sudo chmod 4711 ./codesend


Hoffe es hilft .. ernst
Gruß Ernst

dev0

Diese SUID-Methode funktioniert nicht mit ShellScripts, nur mit Binaries.

ernst1024

Zitat von: dev0 am 11 Januar 2016, 19:41:52
Diese SUID-Methode funktioniert nicht mit ShellScripts, nur mit Binaries.

weiss jetzt nicht was du meinst. Was ist SUID? "send" ist in meinem Fall kein ShellScript sondern eine ausführbare Datei (unter WIN würde man send.exe sagen)
Ich bin jetzt davon ausgeganden dass "codesend" auch ein Porgramm ist. Oder habe ich da jetzt was total falsch verstanden?

Gruss ernst
Gruß Ernst

dev0

SUID ist die die Methode die Du gepostet hast ;) Ob codesend ein shell script ist weiss ich auch nicht, der TO hat es uns nicht verraten.

ernst1024

Zitat von: dev0 am 11 Januar 2016, 19:58:46
SUID ist die die Methode die Du gepostet hast ;) Ob codesend ein shell script ist weiss ich auch nicht, der TO hat es uns nicht verraten.

alles klar, wieder was gelernt. Bin mir fast sicher das codesend ein Programm und kein script ist.

Gruß .. ernst
Gruß Ernst