Author |
|
smarty Super User
Joined: May 21 2006 Location: United States
Online Status: Offline Posts: 728
|
Posted: February 25 2009 at 21:27 | IP Logged
|
|
|
BeachBum wrote:
.....EDIT: I spoke too soon. The Generic Trigger Disable still does not work..... |
|
|
I too see multiple responses from my Insteon Motion Sensors.
I had to try Dave's TriggerDisable for myself, and yes, I also see that the Insteon responses arrive BEFORE the trigger is disabled (and hence the disable macro is ran twice. OOh well, back to doing it a less than elegant way.
__________________ Elk - Insteon - BlueIris - DMC1 - PowerHome - XLobby - HA_Bridge w/Dots - Brultech
|
Back to Top |
|
|
BeachBum Super User
Joined: April 11 2007 Location: United States
Online Status: Offline Posts: 1880
|
Posted: February 26 2009 at 08:15 | IP Logged
|
|
|
IF ({GATE_MOTION_1} = 1, 0, ph_setglobal_s("GATE_MOTION_1", "1") +1)
If you place this in the Boolean field of the Trigger and create a Global GATE_MOTION_1 or whatever you want to call it works fine for me. The macro you call MUST have a Set Global (GATE_MOTION_1) to 0 before you exit the macro. There is a multitude of fancy ways to do the same thing. This one works. I have the same problem with all AP devices.
__________________ Pete - X10 Oldie
|
Back to Top |
|
|
BeachBum Super User
Joined: April 11 2007 Location: United States
Online Status: Offline Posts: 1880
|
Posted: February 26 2009 at 09:09 | IP Logged
|
|
|
Here’s even a more elegant way and you don’t have to worry about the GATE being reset nor declaring a Global. Just stick this in the Boolean of the Trigger.
if (ph_getvar_s(3, 100) = "1", ph_setvar_s(3,100, "0") +0, ph_setvar_s(3,100, "1") +1)
__________________ Pete - X10 Oldie
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: February 26 2009 at 23:51 | IP Logged
|
|
|
Hmmmm...if the Insteon commands are coming in too quick before the macro is executed, try just placing the call to the TRIGDISABLE macro in the boolean field like so:
Code:
ph_macroparm("TRIGDISABLE",5,0,0,0,0) + 1
|
|
|
instead of within the action field. Then just set the action to whatever action you would normally run.
The "+ 1" is so that the boolean field will return true so that the action will execute because the ph_macroparm function normally returns a 0.
I havent tested this, but it should work because the boolean field is executed immediately and does not get placed into the execution queue like the "action" field is.
HTH,
Dave.
|
Back to Top |
|
|
BeachBum Super User
Joined: April 11 2007 Location: United States
Online Status: Offline Posts: 1880
|
Posted: February 27 2009 at 08:39 | IP Logged
|
|
|
That works great and cuts down the chatter.
__________________ Pete - X10 Oldie
|
Back to Top |
|
|