FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ReneR1986 am 20 April 2022, 10:00:13

Titel: FHEM Shell Script "not found"
Beitrag von: ReneR1986 am 20 April 2022, 10:00:13
Hallo zusammen,

über FHEM soll ein shell Script ausgeführt werden.

/home/pi/RPi_Relay_Board/shell/Relay.sh CH1 ON

Aufruf über:
{qx("/home/pi/RPi_Relay_Board/shell/Relay.sh CH1 ON &")}

Das Script hat chmod +777 Berechtigungen.

Auch über den FHEM user klappt es.
sudo -su fhem bash

Nur eben aus FHEM heraus bekomme ich folgenden Fehler im Log:
sh: 1: /home/pi/RPi_Relay_Board/shell/Relay.sh CH1 ON: not found

Ich vermute immer noch ein Berechtigungsproblem, kann es mir aber momentan nicht erklären...


Titel: Antw:FHEM Shell Script "not found"
Beitrag von: Otto123 am 20 April 2022, 10:33:17
die "" sind zuviel!
{qx(/home/pi/RPi_Relay_Board/shell/Relay.sh CH1 ON &)}
Aber noch viel besser einfach als FHEM Befehl (https://fhem.de/commandref_modular_DE.html#command)! Hier gehören die "" aber dazu!!!
"/home/pi/RPi_Relay_Board/shell/Relay.sh CH1 ON"

Falls Du mehr wissen willst: meine Notiz (https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html)

ZitatDas Script hat chmod +777 Berechtigungen.
das ist zwar die Tat letzten Verzweiflung - aber völlig sinnlos! :o ;)

Gruß Otto
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: betateilchen am 20 April 2022, 10:40:14
Zitat von: Otto123 am 20 April 2022, 10:33:17
Aber noch viel besser einfach als FHEM Befehl! Hier gehören die "" aber dazu!!!
"/home/pi/RPi_Relay_Board/shell/Relay.sh CH1 ON"

Wer glaubt, dass das ein FHEM Befehl sei, der glaubt auch, dass Zitronenfalter Zitronen falten...
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: Otto123 am 20 April 2022, 10:49:54
Zitat von: betateilchen am 20 April 2022, 10:40:14
Wer glaubt, dass das ein FHEM Befehl sei, der glaubt auch, dass Zitronenfalter Zitronen falten...
Dann leg schon mal los :) Du Rosinenzähler ;)
ZitatFHEM Befehlstypen
[EN DE]
Es gibt drei Arten von Befehlen: "FHEM" Befehle (werden in diesem Dokument beschrieben), Shell-Befehle (diese müssen von doppelten Anführungszeichen "" eingeschlossen werden)
Sollte ich das Deiner Meinung nach als >FHEM Befehl< oder so als >"FHEM" Befehl<  oder soll ich das als FHEM Befehlstyp bezeichnen? Ich folge gerne Deiner Empfehlung - von dem Hilfesuchenden der die Antwort liest wird sie bestenfalls falsch verstanden. Es glaubt ja kaum einer, dass Rudi etwas eingebaut hat, dass man einfach so Shell Befehle in FHEM ausführen lassen kann. ;D
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: betateilchen am 20 April 2022, 11:09:20
Wenn es in doppelten Anführungszeichen steht, ist es ein Shell Befehl.

So steht es ja auch in dem von Dir zitierten Text.
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: TomLee am 20 April 2022, 11:28:00
OT

Hab auch was zu "meckern"/einen Verbesserungsvorschlag beim verlinken zur commandref.

Wenn ich merke das ein Link zur normalen commandref führt wenn ich unterwegs oder nur am Tablet bin, breche ich gleich ab, weil ich keine Lust drauf hab ewig zu warten bis alles geladen ist.

Viel besser find ich wenn man zur modularen commandref verweist, so wie das bspw. Rudi jetzt schon länger handhabt.

Also   https://fhem.de/commandref_DE.html#command  ->  https://fhem.de/commandref_modular_DE.html#command
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: Otto123 am 20 April 2022, 11:33:26
Zitat von: TomLee am 20 April 2022, 11:28:00
Viel besser find ich wenn man zur modularen commandref verweist, so wie das bspw. Rudi jetzt schon länger handhabt.
habs geändert und werde mich bessern :)
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: betateilchen am 20 April 2022, 11:36:01
Zitat von: TomLee am 20 April 2022, 11:28:00
https://fhem.de/commandref_modular_DE.html#command

Und am Anfang dieser Seite findet sich auch eine schöne Tabelle mit (fast) allen "FHEM Befehlen"  8)

Grundsätzlich sind "FHEM Befehle" für mich alle Befehle, die im hash %cmds auftauchen können.
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: ReneR1986 am 20 April 2022, 12:43:17
Tatsächlich bekomme ich bei Ausführung von:

"/home/pi/RPi_Relay_Board/shell/Relay.sh CH1 ON"

diverse Meldungen..

/home/pi/RPi_Relay_Board/shell/Relay.sh: line 28: /sys/class/gpio/export: Permission denied
/home/pi/RPi_Relay_Board/shell/Relay.sh: line 29: /sys/class/gpio/gpio26/direction: Permission denied
/home/pi/RPi_Relay_Board/shell/Relay.sh: line 30: /sys/class/gpio/gpio26/value: Permission denied
Relay CH1 ON

Hab mir die Verzeichnisse einmal angeschaut.
Hier taucht die Gruppe gpio auf, zu der ich dann auch den FHEM user hinzugefügt habe.
sudo adduser fhem gpio

Wie gesagt als fhem user im Terminal geht es ja auch, nur eben nicht aus FHEM heraus.
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: Otto123 am 20 April 2022, 13:04:55
Zitat von: ReneR1986 am 20 April 2022, 12:43:17
Hab mir die Verzeichnisse einmal angeschaut.
Hier taucht die Gruppe gpio auf, zu der ich dann auch den FHEM user hinzugefügt habe.
sudo adduser fhem gpio

FHEM neu gestartet? damit für die laufenden Instanz die Änderung der Gruppen Mitgliedschaft auch greift?
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: Otto123 am 20 April 2022, 13:05:58
Zitat von: betateilchen am 20 April 2022, 11:09:20
Wenn es in doppelten Anführungszeichen steht, ist es ein Shell Befehl.
Schlicht und ergreifend falsch! Versuch das Konstrukt doch mal in der Shell auszuführen. -> -bash: ... : Kommando nicht gefunden.
Das was in den doppelten Anführungszeichen steht ist ein Shellbefehl, die Tatsache das er umformatiert werden muss (zusätzliche Anführungszeichen), damit FHEM in versteht, macht ihn mMn zum FHEM Befehl(styp). Genau wie ein Perlbefehl, der in geschweifte Klammern eingeschlossen werden muss und wo "halbe Punkte" verdoppelt werden müssen - damit FHEM ihn als Befehl(styp) ausführen kann.
Für mich ist es so:
Shell Befehl ist etwas was die Shell ausführen kann
FHEM Befehl ist etwas was FHEM ausführen kann
Titel: Antw:FHEM Shell Script "not found"
Beitrag von: ReneR1986 am 20 April 2022, 13:21:01
Zitat von: Otto123 am 20 April 2022, 13:04:55
FHEM neu gestartet? damit für die laufenden Instanz die Änderung der Gruppen Mitgliedschaft auch greift?

Habe es nun mit {qx(/home/pi/RPi_Relay_Board/shell/Relay.sh CH1 ON &)} hinbekommen!
Besten Dank!