I think you are failing to understand the actual meaning of the word event or at least the meaning of event within the context of VoxCommando (or other programs like EventGhost).
The way we use the word event is a bit different from the way you might think of it. If your birthday is an event that lasts all day, it is not the same thing as an event in VC, or an event triggered by a Vera, or an ISY controller. An event is something that happens once, at precise
point in time (like a trigger), and is not something that can be defined over a time range. If you read the description for the action VC.SetEventTimer (
http://voxcommando.com/mediawiki/index.php?title=Actions#SetEventTimer) you will see that it says
VC.SetEventTimer
Creates a timer that triggers the event <EventName> after a period of time.
So calling this action will cause an event to occur, (for example) 30 seconds after the action is called. (You choose the event name and the delay until it is triggered when you call the action, by specifying the parameters)
I don't think this is what you want.
I think what you will ultimately need is to have an event occur when the motion sensor goes off, but without knowing how to use the ISY api I'm not sure how this can be accomplished.
If I were using Vera it would work like this:
- Vera detects motion from a sensor
- Because the Vera plugin for VC has subscribed to events from the Vera controller an event will be generated in VoxCommando. The event will be unique based on the device number of the motion sensor.
- This event will trigger a VC command (whichever command you assigned the event to).
- The command will check to see what time it is, and if the current time falls within a certain period then it will use a TTS action to say something.
I can give you an xml example of this but it won't help you because there is no plugin for the ISY so you need to find a way to detect when the motion has been triggered. There are probably 2 ways to do this but please keep in mind that I am not familiar with this device or the API and I don't have the hardware so I cannot do any experiments to try to figure it out.
- One way is to write a loop that checks every x seconds to see if the motion sensor was triggered. This is a bad choice since it is very wasteful, but it might be the only option. It is also a pain to set up and might not be worth the trouble. In order to do this in a way that will be stable and not clogging up the VC pipeline you will probably need to write a python script to do it. If you can find some sample python code which performs this type of function, then maybe I can help you adapt it to work in VC.
- A better way would be to subscribe to the ISY for events. Unfortunately I don't know how the ISY works, so in this case I can't give you an example of how to do it.
You say that you are very familiar with the ISY api so maybe once you become more familiar with VC will you find a way to do it.