[SOLVED] Exekvera .py från Bashfil

Moderators: hekj, Telldus

Post Reply
AWulff
Posts: 10
Joined: Fri Mar 17, 2023 9:45 am

[SOLVED] Exekvera .py från Bashfil

Post by AWulff »

Hej,

Jag har en installation av nexahome på en raspberry pi där jag har en sensor kopplad som en dummy-enhet. Jag har sen skapat en .bsh-fil i nexahomekatalongen som triggas av sensorn för att kunna utföra vissa kommandon. I det här fallet så skickar den ett kommando gällande deviceOn för att tända en lampa när sensorn löser ut. Så långt fungerar allt fint.

Vad jag nu skulle vilja göra är att i Bashscriptet exekvera ett Pythonscript i en fil i nexahome-katalogen som i sin tur skickar instruktioner till tjänsten Pushover för att skicka en pushnotis till min telefon.
Pythonscriptet fungerar bra om jag exekverar det manuellt från terminalen. Och Bashscriptet fungerar så långt att lampan tänds. Men hur kan jag få Bashscriptet att köra Pythonscriptet? Jag är nybörjare på detta så tänk dig att du pratar med en tolvåring eller något i den stilen :)

Stort tack på förhand!
Last edited by AWulff on Wed Oct 05, 2016 1:50 pm, edited 1 time in total.
tingo
Posts: 31
Joined: Fri Mar 17, 2023 9:45 am
Location: Oslo, Norway

Re: Exekvera .py från Bashfil

Post by tingo »

Noe sånt i scriptet

Code: Select all

/usr/bin/python /sti/og/navn.py
for eksempel?
Du må selvfølgelig justere slik at det passer ditt miljø, eksempelvis dersom python finnes et annet sted enn /usr/bin, eller den heter python3, osv.
Håper dette hjelper.
Torfinn
hekj
Posts: 992
Joined: Fri Mar 17, 2023 9:45 am
Location: Stockholm
Contact:

Re: Exekvera .py från Bashfil

Post by hekj »

NexaHome beanshell, ersätt filnamnet 203 med ditt eget device id.

203.bsh

Code: Select all

execFile("/usr/bin/python");
execParam("/home/pi/nexahome/python_test.py");
python_test.py

Code: Select all

#!/usr/bin/python
print "Hello world"
2016-10-01 15:29:23 Script executed (203.bsh), result: [[exec, /usr/bin/python, /home/pi/nexahome/python_test.py]]
2016-10-01 15:29:23 Exec (python)
2016-10-01 15:29:23 Output: Hello world
AWulff
Posts: 10
Joined: Fri Mar 17, 2023 9:45 am

Re: Exekvera .py från Bashfil

Post by AWulff »

Tack för svar och tips.

Jag löste det slutligen med:

Process P = Runtime.getRuntime().exec("python3 mittfilnamn.py");
i bashfilen.
Pythonfilen ligger i samma mapp som Bashfilen. Pythonfilen är exekverbar med chmod +x.

Om det är någon som är intresserad av detta och vill göra liknande saker så fungerar det toppenbra.
Post Reply