hamw wrote:Is it possible that the process you are creating could be adapted to allow copy/paste of single/multiple buttons between control pages, or other actions?
That's essentially what I'm doing. I haven't done any work on this since my previous comments but I've gotten as far as proving the concept. What I will do is use Indigo's WYSIWYG to create a template for a single instance - i.e. one room. Each room will have a power control, volume, and input selection.
Then I use my script to extract this template control page from Indigo, and then have it create a new control page which iterates the template several times. On each iteration I can have it modify some parameter, i.e. the name of the room and the corresponding zone ID to be controlled on the audio switchbox. Also of course the Y coordinates of the buttons will be incremented for each group.
At first I was thinking the the control page would contain applescripted actions for each button to send commands to the switchbox. However I realized it would be better to have the control page only affect variables, and then use triggers on those variables to issue the commands to the switchbox. This abstraction allows for any other indigo event (eg an Insteon command) to trigger audio controls simply by updating a variable.
Obviously, this entails a huge number of variables. For each room we have volume, power, and true/false for each input. But the creation of variables can also be scripted in the same way. So if I do 8 zones and 6 inputs I am looking at perhaps 80 control page elements and about the same number of variables.
It additionally occurred to me that even though the iPhone control is the most capable, it would still be nice to have hard buttons on the wall. It occurred to me that an Insteon keypad dimmer would work, and the dim state of the keypad could be linked to volume (obviously with no light connected).