Suppress Triggers

Posted on
Sun Nov 24, 2019 2:29 pm
Mark offline
User avatar
Posts: 262
Joined: Apr 21, 2005
Location: California

Suppress Triggers

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.

Posted on
Sun Nov 24, 2019 3:03 pm
jay (support) offline
Site Admin
User avatar
Posts: 18216
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Suppress Triggers

Mark wrote:
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?


If you have direct Insteon links between the devices, there's nothing really you can do. If it's all done through triggers, this would be the way to do it. You might try playing with some delays when disabling and enabling. One problem is that a turn on/off is done asynchronously - so those commands get queued up such that the script will finish before the commands finish sending/receiving. I think you're gonna need to just play around with it to see what can be done in terms of timing.

That's a super lame way for that device to work, I wholeheartedly agree... :lol:

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 8 guests