NEWS
[Frage] Phyton über JavaScript starten
-
Hallo Paul,
Der komplette Pfad wie in Putty angezeigt:
pi@ioBroker-RasPi:~ $ python3 homescripts/light/MasterLightOn.py
Dieser Befehl funzt. Ich steh auf der Leitung bzw. bin zu blöd.
Gruß
Blacki
2613_screen.jpg -
exec("python3 /homescripts/light/MasterLightOn.py", function(err, stdout, stderr) `
Wenn das die Zeile ist wie du sie jetzt verwendest und das
@Blacki:python3 homescripts/light/MasterLightOn.py `
der Pfad ist wie er sein sollte, dann ist da vielleicht einfach das "/" vor homescripts zu viel. -
Vielleicht ein Zugriffsrechte-Problem ? Setze mal die Datei "MasterLightOn.py" für alle User auf lesbar und ausführbar.

-
Hallo Paul,
Erstmal Danke für den Tipp. Habe jetzt ein paar Stunden alles durchprobiert.
Das Js findet die Datei einfach nicht. Daher mal ein Grundsatzfrage.
Die Datei und iobroker laufen auf dem gleichen Pi. Kann der iobroker Zugriffsrechte vorausgesetzt
Auf das gesamt Filesystem zugreifen oder muss die Datei an speziellen Orten liegen (root,)
Danke
Blacki
-
Kann der iobroker Zugriffsrechte vorausgesetzt
Auf das gesamt Filesystem zugreifen oder muss die Datei an speziellen Orten liegen (root,) `
Die Exec-Funktion des JS-Adapters kann auf alle Dateien zugreifen, wenn der angegebene Pfad stimmt und entsprechende Zugriffsrechte existieren. Laut Fehlerlog wird beim Aufruf über exec() python3 auch ausgeführt, python3 meckert allerdings, dass das Skript nicht gefunden wird.javascript.0 script.js.MasterLightOn: Exec-Fehler: python3: can't open file '/homescripts/light/MasterLightOn.py': [Errno 2] No such file or directory -
Hi
Ich weiss zwar nicht ob Du schon eine Lösung hast, aber Dein Problem wird sein dass python nicht gefunden wird. Du musst den Pfad zu python noch mit angeben. Findest Du leicht raus in dem Du auf der Console which python3 eingibst.
Angenommen phyton3 ist unter /usr/bin/python installiert dann musst Du schreiben:
... exec("/usr/bin/python3 /homescripts/light/MasterLightOn.py", function(err, stdout, stderr) {... ...Gruss Ralf
-
Hallo,
bevor ich einen neuen Thread eröffne, möchte ich hier anknüpfen.Auch ich habe ein Python Script auf meinem Raspberry und ich bekomme das mit dem oben aufgeführten JavaScript zum laufen. Mein Skript startet einen Motor, bzw. ein Relais, und schaltet es nach 10 Sekunden wieder ab. Wenn ich den State auf True setze, wird auch ordentlich das Skript gestartet. (Als das geklappt hat, hab ich vor Freude fast den Schreibtisch umgeworfen, da ich mit Java vorher eigentlich noch nie was zu tun hatte).
Kann ich den State auch automatisch von True auf False zurück ändern lassen? Hintergrund ist nun der, dass ich das Objekt in Vis mit einem Button verknüpft habe, und wenn ich den toggle, ändert sich der Status korrekter Weise auf True, aber da bleibt er dann auch. Ich könnte über den Button auch erst wieder auf False umschalten, aber ich fände es schöner wenn ich am Button auch sehen kann, dass der Vorgang am Motor nach 10 Sekunden beendet wurde.
Vielen Dank im Voraus
vg