NEWS
Exec funtioniert nicht
-
Hallo Leute ich brauche hier mal Hilfe: :roll:
Ich bekomme meine 433mhz Funksteckdosen über den iobroker nicht zum laufen.
Im Terminal alles super. z.B. raspberry-remote/send 00011 2 1
Folgende Versionen istalliert
Adapter "admin" : 3.5.10 , installed 3.5.10
Adapter "javascript" : 3.6.4 , installed 3.6.4
Controller "js-controller" : 1.4.2 , installed 1.4.2
Das Log vom Skript schreibt auch mit:
11:41:23.502 [info] javascript.0 Start javascript script.js.common.Funksteckdosen1
11:41:23.504 [info] javascript.0 script.js.common.Funksteckdosen1: registered 1 subscription and 0 schedules
11:41:23.504 [info] javascript.0 script.js.common.Funksteckdosen1: exec: raspberry-remote/send 00011 2 1
11:41:25.738 [info] javascript.0 script.js.common.Funksteckdosen1: exec: raspberry-remote/send 00011 2 0
11:41:25.762 [info] javascript.0 Stop script script.js.common.Funksteckdosen1
Instanz:
Erlaube das Kommando "setObjekt", "sendToHost", und "EXEC" sind auch aktiviert.
Neustart Instanzen, iobroker, System alles versucht, jedoch scheint irgendetwas zu fehlen. :geek:
Hab im Forum paar Beiträge gefunden die mir aber nicht weiter geholfen haben.
Habt Ihr ne Idee / Lösung?
Danke
-
In welchem Ordner liegt das Skript das du ausführen willst? Hast du iobroker vor kurzem installiert? Wenn ja, hat der Benutzer iobroker Zugriff auf das Skript?
Gesendet von unterwegs
-
Die Installation ist aus 2019.
muss das Skript in eine gewissen Ordner zwegs Zugriff?
Ich hab das Skript „Send“ unter
„Raspberry-Remote“ und will das aufrufen.
Dachte wenn der ioBroker mit sudo gestartet wird hat er Root rechte und kann da hin springen und mit Root ausführen?
-
Neue installationen laufen aus Sicherheitsgründen nicht als root, sondern als user iobroker. Der braucht Zugriff auf die Dateien die du ausführen willst, daher sollten die weder in /home/pi, noch in /root liegen.
Du kannst das Skript zb in /home/iobroker legen oder in eine allgemeinen Ordner,zb unter /opt und iobroker Zugriff geben (sudo chmod 755 skriptname)
Gesendet von unterwegs
-
Hab das skript send einfach mal in den Ordner iobroker gelegt.
pi@raspberrypi:~ $ sudo chmod 755 send /home/iobroker/
und
pi@raspberrypi:/home/iobroker $ sudo chmod 755 send
ausgeführt
und im Skript nur noch /send …. eingetragen.
klappt leider noch nicht
-
ah es werde Licht….
Bei Befehl im exec muss dann
/home/iobroker/send 00011 2 0
stehen
send .. oder /send reicht nicht aus
Danke
-
Hallo
Ich habe eine ähnliche Frage die hier sehr gut rein passt. Ich wollte exec in node-red ausführen, was nicht funktioniert hat. Dann hab ich mir gedacht, ich versuche es als Javascript (exec ist im Adapter aktiviert ), hier ein Bsp. was ich ich gefunden habe Quelle https://www.smarthome-tricks.de/softwar … ript-exec/
exec('top', function (error, stdout, stderr) { setState('Datenpunkte.0.SystemInfos.Prozessorauslastung',stdout); });
Aber das funktioniert auch nicht.
Ich hab es auch erst vor kurzem installiert. Muss ich noch irgendwelche Rechte verteilen /einstellen ?
Danke und Grüsse von der Spree
-
Kannst du es mal mit dem vollen Pfad von top probieren, d.h. die Ausgabe von
which top
davor hängen?
-
exec('top', function (error, stdout, stderr) { ```` `
top aktualisiert ständig ein Fenster. Das wird wohl nicht stdout sein ?
Versuche es mal mit uptime.
exec('uptime', function (error, stdout, stderr) {