I have a Pentair multi-color pool light. Their technology is so lame, the way a user (or even Pentair's automation) switches from one color (or preset animated scene) to another, is to flip the light's on-off switch some number of times. On-off 9 times for "green", on-off 4 times for "Caribbean Mode", etc. Up to 14 times!! Even their "very sophisticated" automation controller does that, you can hear its relay clicking on-off, on-off, on-off... like I said, lame.
So to recreate that with Insteon, I have a Python loop that turns on and off my pool light device x number of times. Which works with the right amount of delay, etc.
The problem is, the pool light device is sync'd to both another Insteon device (like a three-way switch setup), AND a KeypadLinc button. I use triggers and scenes to keep all my three-way switches and KeypadLinc buttons in sync. All good. But when I want to change the pool light's color with Python, and the pool's light switch is turning on and off numerous times, Indigo fires the trigger each time, for both on and off, and subsequently executes the scene, which is controlling the other switch device and the KeypadLinc button, plus all the clean up commands! You can imagine all the traffic when I have Indigo turning the pool light on and off a dozen times, not to mention what that does to the log!!
So... within the Python that is executing the on-off loop, is there a way to suppress the trigger (which is listening for "On/Off State - Has Any Change")? That way, after the loop is done, I can call the syncing scene just once.
I know I can use Python to disable the trigger before the loop runs, and then enable after its done, but is there a more elegant way? I'm getting some inconsistent behavior when I re-enable the trigger. It seems to be executing, and I rather it didn't. I'd rather do the syncing manually, by just turning the syncing scene on.