Aufruf von Script unter /home/pi/433Utils/RPi_utils/

Begonnen von tklein, 25 Oktober 2021, 15:01:45

Vorheriges Thema - Nächstes Thema

tklein

Hallo,

wie kann ich aus einem Notify das 433 Util Script starten?

Pfad:
pi@raspberrypi-iob:~/433Utils/RPi_utils $ pwd
/home/pi/433Utils/RPi_utils

Starten:
pi@raspberrypi-iob:~/433Utils/RPi_utils $ ./codesend 10101602

Bei meinem Notif bekomme ich immer leider nur
2021.10.25 14:57:42 3 : Leinwand_notify_1 return value: -1
2021-10-25 14:57:42 dummy Leinwand hoch

zurück.

Hier mein Notify:
defmod Leinwand_notify_1 notify Leinwand:hoch {system(" /home/pi/433Utils/RPi_utils/codesend 10101608 &")}

setstate Leinwand_notify_1 2021-10-25 14:57:42
setstate Leinwand_notify_1 2021-10-25 12:30:31 state active


Hier die Rechteübersicht:
drwxr-xr-x 2 pi pi  4096 Oct 25 12:28 .
drwxr-xr-x 7 pi pi  4096 Apr 30 11:46 ..
-rwxr-xr-x 1 pi pi 20104 Apr 30 11:47 codesend
-rwsrwxrwx 1 pi pi 20104 Oct 25 12:28 codesend_2


Ich freue mich über Hilfe

Grüße
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

MadMax-FHEM

Ein Script des Users pi im Home von User pi wird schwierig durch den User fhem ausführen zu lassen...

Was tut das Script?
Kannst du es posten?

Muss es unter /home/pi/... liegen?

Besser als User fhem (also Besitz und Rechte) unter /opt/fhem/...

Vielleicht hilft auch: https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tklein

Hallo Joachim,

damit sende ich 433 MHz Signale. Infos:https://github.com/ninjablocks/433Utils
Bei einer alten FHEM Instanz mit meinem 3er Raspi konnte ich das Script so starten:
/home/pi/433Utils/RPi_utils/codesend xyz

jetzt auf dem neuen System mit dem 4er Rasp muss ich ./codesend zum starten des Skriptes/Funktion eingeben.

Werde es nach /opt/fhem/FHEM/FhemUtils kopieren und hoffen, dass ich es mit den richtigen rechten/group versehe.
Thx für den Link, werde da a bissl lesen.
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

MadMax-FHEM

./codesend -> hängt halt davon ab "wo" "du" (bzw. der aufrufende User) in dem Moment des Aufrufes "steht".

Ein absoluter Pfad ist davon unabhängig...

Auf einem früheren System kann z.B. sein, dass fhem als root gestartet wurde -> root darf alles, also auch "Scripte" (oder Programme) eines "beliebigen Users" ausführen...

Evtl. brauchst du root-Rechte (in der Readme steht was von sudo ...) -> das muss user fhem auch erst mal "dürfen" (aufpassen: nicht zu großzügig)

Beim Verschieben nach /opt/fhem/...


sudo cp /vollerPfad/datei /neuerPfad/datei


dann


sudo chown fhem:dialout /neuerPfad/datei


Und prüfen, ob Execute gesetzt ist (ansonsten: sudo chmod +x /neuerPfad/datei )

Viel Erfolg, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tklein

thx,

so so sieh es jetzt aus:
drwxr-xr-x 2 fhem dialout  4096 Oct 25 16:30 .
drwxr-xr-x 6 fhem dialout 36864 Oct 25 09:07 ..
-rwxr-xr-x 1 fhem dialout 20104 Oct 25 16:30 codesend
-rw-r--r-- 1 fhem dialout   562 May  3 08:00 release.pm
-rw-r--r-- 1 fhem dialout   117 May  3 15:58 uniqueID
-rw-r--r-- 1 fhem dialout  5739 May  3 08:00 update-20130127-001


Der Aufruf ergibt dennoch -1 im Log.
Wie kann ich fhem als root für dieses Tool laufen lassen?
So klappt es auch nicht:
defmod Leinwand_notify_1 notify Leinwand:hoch {system(" sudo /opt/fhem/FHEM/FhemUtils/codesend 10101608 &")}

Kann es evtl damit zu tun haben, dass tool früher mit codesend xyz und jetzt mit ./codesend xyz aufgerufen werden muss?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

MadMax-FHEM

#5
Zitat von: tklein am 25 Oktober 2021, 16:42:29
thx,

so so sieh es jetzt aus:
drwxr-xr-x 2 fhem dialout  4096 Oct 25 16:30 .
drwxr-xr-x 6 fhem dialout 36864 Oct 25 09:07 ..
-rwxr-xr-x 1 fhem dialout 20104 Oct 25 16:30 codesend
-rw-r--r-- 1 fhem dialout   562 May  3 08:00 release.pm
-rw-r--r-- 1 fhem dialout   117 May  3 15:58 uniqueID
-rw-r--r-- 1 fhem dialout  5739 May  3 08:00 update-20130127-001


Sieht gut aus...


Zitat von: tklein am 25 Oktober 2021, 16:42:29
Der Aufruf ergibt dennoch -1 im Log.
Wie kann ich fhem als root für dieses Tool laufen lassen?

Hast du die verlinkte Seite gelesen? -> system( ) liefert IMMER -1 zurück ;)

root: sudo (hatte ich ja geschrieben), das muss aber für User fhem erst "eingerichtet" werden. Da gibt's (bestimmt) auch einen Blog für ;)
EDIT: oder hier mal schauen https://forum.fhem.de/index.php/topic,88282.0.html

Zitat von: tklein am 25 Oktober 2021, 16:42:29
So klappt es auch nicht:
defmod Leinwand_notify_1 notify Leinwand:hoch {system(" sudo /opt/fhem/FHEM/FhemUtils/codesend 10101608 &")}

Geht denn das:

{system(" sudo /opt/fhem/FHEM/FhemUtils/codesend 10101608 &")}

in FHEMWeb-cmd?

Steht etwas im Log?

Evtl. mal (nur zum Test wegen "Rückmeldung") folgendes:

qx(sudo /opt/fhem/FHEM/FhemUtils/codesend 10101608)


Zitat von: tklein am 25 Oktober 2021, 16:42:29
So klappt es auch nicht:
defmod Leinwand_notify_1 notify Leinwand:hoch {system(" sudo /opt/fhem/FHEM/FhemUtils/codesend 10101608 &")}

Kann es evtl damit zu tun haben, dass tool früher mit codesend xyz und jetzt mit ./codesend xyz aufgerufen werden muss?

Löst das notify aus?
Wie hast du es erstellt?
Eventmonitor erstellen lassen?

Ich denke, dass fhem kein sudo darf...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tklein

Zitat{system(" sudo /opt/fhem/FHEM/FhemUtils/codesend 10101608 &")}
--> nix im Log

Zitatqx(sudo /opt/fhem/FHEM/FhemUtils/codesend 10101608)
--> Unknown command qx(sudo, try help.

ZitatWie hast du es erstellt?
Eventmonitor erstellen lassen?
--> ja. Notify löst aus.


FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

MadMax-FHEM

#7
Sorry, nat.


{qx(sudo /opt/fhem/FHEM/FhemUtils/codesend 10101608)}


Etwas "mitdenken" ist schon erlaubt ;)

qx ist ja ein Perl Kommando/Befehl und kein fhem Befehl, also erst mal nach Perl -> { Perl } ;)

Evtl. auch Anführungszeichen um den Befehl innerhalb von qx, nutze das nicht (weil es blockiert) daher weiß ich es nicht genau...
Also:

{qx("sudo /opt/fhem/FHEM/FhemUtils/codesend 10101608")}


EDIT: aber bevor du einfach wild irgendwelche Dinge durchtestest: erst mal die verlinkten Dinge lesen. Ich denke ja, dass es an "fhem darf kein sudo (ohne Passwort)" liegt... Aber auch hier: sorgfältig lesen! Bevor du dir dein System "zerschießt" oder "zu große Löcher reißt" (-> Sicherheit)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tklein

Hi Joachim,

besten Dank für deine Hilfe/Supprt. Bin fhemmäßig "eingerostet" Nutze es nur noch für 433 MHz Signale zum Syncen zu meinem iobroker.
So langsam kommen die Sachen wieder :-)

Werde da wohl doch noch (wieder) tiefer in die Materie gehen müssen.

Gruß
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

MadMax-FHEM

Wäre mqtt keine bessere Lösung?

Wobei ich ja nicht weiß was du syncst ;)

Viel Erfolg, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wernieman

Du kannst externe Programme auch ohne Umwege über die perl-Ebene starten:
"/pfad/zu/meinem/tollen/Programm/programm.sh"
Also in "" setzen, dann wird nur keine Rückgabe ausgewertet, dafür dann aber auch nicht blockierend
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Otto123

Hi,

ich habe nicht herausgelesen ob das Script überhaupt funktioniert? Hat's denn ein Shebang am Anfang?
Braucht es für die Ausführung noch andere Rechte? Auf was greift das Script denn zu? pi ist ja in allen möglichen Gruppen, der user fhem nicht. gpio z.B.?


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tklein

Zitat von: Wernieman am 25 Oktober 2021, 18:15:08
Du kannst externe Programme auch ohne Umwege über die perl-Ebene starten:
"/pfad/zu/meinem/tollen/Programm/programm.sh"
Also in "" setzen, dann wird nur keine Rückgabe ausgewertet, dafür dann aber auch nicht blockierend

es ist kein shell script. sondern ein tool, um 433 MHz Daten zu senden.
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

tklein

Zitat von: MadMax-FHEM am 25 Oktober 2021, 18:11:23
Wäre mqtt keine bessere Lösung?

Wobei ich ja nicht weiß was du syncst ;)

Viel Erfolg, Joachim

In Fhem bekomme ich via Signalduino Infos von Fernbedienungen, PIR, etc. diese synce ich per fhem-adapter zu meinem iobroker. dort kann ich auf die signale reagieren und aktoren schalten.

Hier gehe ich jetzt den Weg genau anders: in iobroker schalte ich einen Datenpunkt, dieser synct sich zu fhem und dann schaltet fhem per 433 sender die Leinwand.
Ich kann dafür nicht verlässlich über den Signalduino gehen. Das klappt nicht immer. Daher der Umweg über den alternativen Sender.
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

MadMax-FHEM

Ah, ok für die Verbindung fhem-ioBroker den "Connector"...
Ich hatte so verstanden, als ob du 433MHz-Nachrichten für die Kopplung verwenden würdest ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

Zitat von: tklein am 25 Oktober 2021, 19:03:33
es ist kein shell script. sondern ein tool, um 433 MHz Daten zu senden.
Aber im Betreff steht doch "Aufruf von Script"  :o
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MadMax-FHEM

Zitat von: Otto123 am 25 Oktober 2021, 20:18:22
Aber im Betreff steht doch "Aufruf von Script"  :o

Ist aber doch nicht wirklich relevant, oder?

Also ob Script oder Programm/Executable...

@tklein: unter de User pi hat es aber funktioniert? Kompiliert hast du auf dem PI wo es läuft/laufen soll? Pin2 passt auch?

Ich tippe ja (immer noch) auf: fhem darf kein sudo ohne PW...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

ich tippe auf fehlende Gruppenzugehörigkeit - wenns nur mit sudo geht ist es sowieso ins dünne Brett gebohrt. ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tklein

Zitat von: Wernieman am 25 Oktober 2021, 18:15:08
Du kannst externe Programme auch ohne Umwege über die perl-Ebene starten:
"/pfad/zu/meinem/tollen/Programm/programm.sh"
Also in "" setzen, dann wird nur keine Rückgabe ausgewertet, dafür dann aber auch nicht blockierend

wie kann ich mein neues shell script aus fhem heraus starten?

Script:
#!/bin/sh
cd /opt/fhem/FhemUtils

echo ausgabe text
./codesend 10101602


Rechte:
pi@raspberrypi-iob:/opt/fhem/FhemUtils $ pwd
/opt/fhem/FhemUtils
pi@raspberrypi-iob:/opt/fhem/FhemUtils $ ls -la
total 32
drwxr-xr-x  2 root root     4096 Oct 25 22:19 .
drwxr-xr-x 11 fhem dialout  4096 Oct 25 20:59 ..
-rwxrwxrwx  1 fhem dialout 20104 Oct 25 22:00 codesend
-rwxrwxrwx  1 fhem dialout    73 Oct 25 22:16 test.sh


Aufruf im Notify:

defmod Leinwand_notify_2 notify Leinwand:runter { system("opt/fhem/FhemUtils/test.sh &")}

Das klappt nicht.

In der Konsole kann ich das Script mit
bash test.sh erfolgreich ausführen
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

MadMax-FHEM

Zitat von: Otto123 am 25 Oktober 2021, 22:21:35
ich tippe auf fehlende Gruppenzugehörigkeit - wenns nur mit sudo geht ist es sowieso ins dünne Brett gebohrt. ;D

Oder so... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

#20
Warum rufst du das "Programm" per Shell-Script auf und nicht einfach direkt?

Ist für die Problematik irrelevant...

Wenn es auf der Console bist und es geht: als User pi!?
Ohne sudo?

Wenn du es von fhem aus aufrufst (egal welcher Weg), dann führt das der User fhem aus!

Solange der das "Programm" nicht ausführen kann/darf, kannst du noch so viele "Umwege" drumrum bauen: es wird nicht gehen...

In deibem notify Aufruf ust der Pfad falsch!
Du musst schon an der "Wurzel" '/' anfangen... ;)
Also:

/opt/fhem/FhemUtils/test.sh

Absonsten startest du bzw. der User fhem wo er eben gerade "steht" und versucht nach opt usw. zu kommen. Das wird nicht gehen ;)
Sollte aber einen Fehler im Log geben...

EDIT: war es nicht schon mal der Pfad /opt/fhem/FHEM/FhemUtils ? ;) Wo nun? ;)
EDIT: die Rechte die du zuletzt gepostet hast sind auch übertrieben unnötig. Daher hat User pi überhaupt die Chance es auszuführen. Das sollte eigentlich NICHT (einfach) gehen, weil das ist ja das Home-Verzeichnis von fhem. Da darf pi erst mal nix was viel... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

was macht denn codesend? Welche Rechte braucht das? Welche Gruppenzugehörigkeit ist notwendig? Welche Hardware wird damit gesteuert?

mit sudo -su fhem codesend ...kannst Du im terminal mit user fhem testen.
Vielleicht einfacher im Test wie das rumgebammel innerhalb von FHEM.

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tklein

Zitat von: Otto123 am 25 Oktober 2021, 22:37:38
was macht denn codesend? Welche Rechte braucht das? Welche Gruppenzugehörigkeit ist notwendig? Welche Hardware wird damit gesteuert?

mit sudo -su fhem codesend ...kannst Du im terminal mit user fhem testen.
Vielleicht einfacher im Test wie das rumgebammel innerhalb von FHEM.

hier die Ausgabe. Da liegt der Hund begraben:
pi@raspberrypi-iob:~/433Utils/RPi_utils $ sudo -su fhem ./codesend 1234
wiringPiSetup: Unable to open /dev/mem or /dev/gpiomem: Permission denied.
  Aborting your program because if it can not access the GPIO
  hardware then it most certianly won't work
  Try running with sudo?
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Otto123

#23
da lag ich doch mit meiner Vermutung richtig :)

packe user fhem in die Gruppe gpio, starte einmal neu (ich weiß nicht genau wann die neue Gruppe greift) und dann funktionieren die zahlreichen Vorschläge und Möglichkeiten ;) (Bevorzugt die Variante von Werner einfach als FHEM Command)
Beispiel
sudo usermod -aG gpio fhem
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tklein

Zitat von: MadMax-FHEM am 25 Oktober 2021, 22:27:55
Warum rufst du das "Programm" per Shell-Script auf und nicht einfach direkt?

Ist für die Problematik irrelevant...
--> war ein Test/Idee von mir.

Wenn es auf der Console bist und es geht: als User pi!?
Ohne sudo?
--> Ja

Wenn du es von fhem aus aufrufst (egal welcher Weg), dann führt das der User fhem aus!
--> okay da hilft auch wohl kein sudo

Solange der das "Programm" nicht ausführen kann/darf, kannst du noch so viele "Umwege" drumrum bauen: es wird nicht gehen...

In deibem notify Aufruf ust der Pfad falsch!
Du musst schon an der "Wurzel" '/' anfangen... ;)
Also:

/opt/fhem/FhemUtils/test.sh

Absonsten startest du bzw. der User fhem wo er eben gerade "steht" und versucht nach opt usw. zu kommen. Das wird nicht gehen ;)
Sollte aber einen Fehler im Log geben...
--> steht leider immer nur
2021.10.26 09:34:51 3 : Leinwand_notify_2 return value: -1
2021-10-26 09:34:51 dummy Leinwand runter

[/b]

EDIT: war es nicht schon mal der Pfad /opt/fhem/FHEM/FhemUtils ? ;) Wo nun? ;)  --> /opt/fhem/FhemUtils
EDIT: die Rechte die du zuletzt gepostet hast sind auch übertrieben unnötig. Daher hat User pi überhaupt die Chance es auszuführen. Das sollte eigentlich NICHT (einfach) gehen, weil das ist ja das Home-Verzeichnis von fhem. Da darf pi erst mal nix was viel... ;)
--> Danke für die Erklärung

Gruß, Joachim
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

MadMax-FHEM

Zitat
Wenn du es von fhem aus aufrufst (egal welcher Weg), dann führt das der User fhem aus!
--> okay da hilft auch wohl kein sudo

Naja: helfen würde es schon ;)

Aber der Weg von Otto ist besser (der richtige Weg): https://forum.fhem.de/index.php/topic,123658.msg1182360.html#msg1182360

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wernieman

Und noch eine Kleinigkeit:
Wenn eine Datei Beginnt mit einer Zeile #!, wie hier z.B. #!/bin/bash, brauchst Du den Interpreter nicht nochmals anzugeben.

Also ./test.sh reicht und nicht "bash ./test.sh"
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

tklein

Zitat von: Wernieman am 26 Oktober 2021, 14:21:53
Und noch eine Kleinigkeit:
Wenn eine Datei Beginnt mit einer Zeile #!, wie hier z.B. #!/bin/bash, brauchst Du den Interpreter nicht nochmals anzugeben.

Also ./test.sh reicht und nicht "bash ./test.sh"

besten dank für die Erklärung!
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2