This script is a Python library for Indigo that will examine a variable value, and if that value is the name or ID of another variable, it will examine that variable's value, recursively. When it finds a name or ID that's not a variable, it will check to see if it's an action group and if so it will execute that action group.
This allows the user to create a tree of choices that can easily be traversed until it finds what the user wants. It's used in the Advanced Thermostat Adjustment wiki article but can be used in a variety of other ways.
Download the script using the link above
Unzip the file (if it doesn't automatically do so)
Move the script into this folder:
/Library/Python/2.5/site-packages/ (for Indigo 5/6 on Mac OS X 10.9 and earlier)
/Library/Python/2.6/site-packages/ (for Indigo 5/6 on Mac OS X 10.10 and later)
/Library/Python/2.7/site-packages/ (for Indigo 7 or later)
In the Indigo Mac client, select the Plugins->Reload Libraries and Attachments menu item
In any Indigo Python script, you can call the
processVariable() method with the ID (or name) of a variable and traverse the tree until it finds an Action Group, which it will execute. A simple example:
from variable_watcher import processVariable processVariable(123456) # ID or name of a variable