NEWS
gelöst: exec geht nicht?
-
Hallo alle
Ich versuche meine WLAN Steckdose zu schalten wenn der Batterielevel unter oder über einen bestimmten Wert geht (wird vom fully kiosk Browser geliefert)
Die Steckdose schalte ich mit einem Exec Befehl der auf der Commandline im Putty funktioniert (user root).
Wenn ich das aber über das Script starte wird nicht geschaltet.on('fullybrowser.0.192_168_111_79.Info.batteryLevel'/*batteryLevel*/, function (obj){ CheckBatteryLevel(); } ); function CheckBatteryLevel() { var level = getState('fullybrowser.0.192_168_111_79.Info.batteryLevel'/*batteryLevel*/).val; log ("akt. Batterielevel = "+level); if ( level < 30 ) { exec("python /root/tplink-smartplug.py -t 192.168.111.30 -c on", function(err, stdout, stderr) {}); log("Level < 30, muss geladen werden: python /root/tplink-smartplug.py -t 192.168.111.30 -c on"); } else if (level > 95) { exec("python /root/tplink-smartplug.py -t 192.168.111.30 -c off", function(err, stdout, stderr) {}); log("Level > 95, muss nicht mehr geladen werden: python /root/tplink-smartplug.py -t 192.168.111.30 -c off"); } else { log ("Level ok. Nichts zu tun"); } }
Gruss Ralf
-
@derrapf Versuch mal auch für python die vollen Pfade zu nehmen
/usr/bin/python /root/tplink-smartplug.py -t 192.168.111.30 -c off
Und prüfe dabei auch ob es die gewünschte Python Version ist
ABER!
bei mir läuft ioBroker als Benutzer iobroker - ich bezweifle der das Zugriff auf /root/ hat
-
In /root hat sowas ja auch nix zu suchen.
-
@thomas-braun Ich kann das Script gerne woanders hin tun. Wo muss es denn hin? Nach /home/iobroker ?
Python ist übrigens 2.7.13 -
@derrapf Nachtrag
Unter /home/iobroker funktioniert das Script! Danke an Euch.Gruss Ralf
-
@derrapf Klar, da hat der User ja auch die Rechte.