[SOLVED] Exekvera .py från Bashfil

Moderators: hekj, Telldus

[SOLVED] Exekvera .py från Bashfil

Postby AWulff » Wed Sep 28, 2016 7:25 am

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.
AWulff
 
Posts: 10
Joined: Mon Jan 04, 2016 9:04 pm

Re: Exekvera .py från Bashfil

Postby tingo » Wed Sep 28, 2016 8:14 pm

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
tingo
 
Posts: 26
Joined: Mon Apr 07, 2014 5:52 pm
Location: Oslo, Norway

Re: Exekvera .py från Bashfil

Postby hekj » Sat Oct 01, 2016 1:38 pm

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
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Exekvera .py från Bashfil

Postby AWulff » Wed Oct 05, 2016 1:50 pm

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.
AWulff
 
Posts: 10
Joined: Mon Jan 04, 2016 9:04 pm


Return to NexaHome

Who is online

Users browsing this forum: Yahoo [Bot] and 4 guests