There's a really simple way to do this now with QSYS 7.01
Timer.CallAfter( insert function here , delay time in seconds )
What I typically do is define a function for all the commands I may want to delay/schedule, then I can create a seperate function that calls them after a specific time.
TV:Write("Set HDMI1 as source")
Timer.CallAfter(HDMI1 , 1)
Hope that helps!