Here's a script that will do what you want I think:
import jmri as jmri
from jmri_bindings import *
import time
class MyTurnouts():
def __init__(self):
pass
def setTurnouts(self, turnoutList):
for point in turnoutList:
name, action, delay = point
t = turnouts.getTurnout(name)
t.setCommandedState(action)
time.sleep(delay)
# Edit this bit with your own list of turnouts:
turnoutList = [
["LT1", CLOSED, 2], # set the turnout called LT1 to state 'closed' and wait 2 seconds
["LT2", THROWN, 3.5], # set the turnout called LT2 to state 'thrown' and wait 3.5 seconds
["LT3", CLOSED, 0] # set the turnout called LT3 to state 'closed' and don't wait
]
MyTurnouts().setTurnouts(turnoutList)
Edit the list of turnouts to match your turnout names (either system or user name will work) and the direction ans delay you want. You're not limited to three, add more lines as you need to. A delay of zero effectively means do the next one at the same time so you can batch them up.
Once you've get that working I'll show you how to do it for multiple routes and have the script fired automatically by the JMRI route.