Thanks for the quick response. With regards to representing Programs in Elve I think you could do it in a similar way to Scenes. ie. a few array properties like ProgramIDs, ProgramNames, and ProgramStatuses. Those combined with some methods that correspond to the ISY program methods ( ProgramRun(string ID), ProgramProgramRunElse)(string ID), ProgramStop(string ID), etc ) would be a great start I'd think.
I'm trying to figure out the best way to get Elve to respond to a KeypadLinc FastOff command and I was thinking if I couldn't do it directly then maybe I could have the ISY set a Program to True on FastOff. Then when Elve saw the Program status change to True, it could trigger a rule and set the Program back to False.
Please let me know if I can help in any way or do any testing.