Author |
|
RichardL Senior Member
Joined: December 29 2008 Location: United States
Online Status: Offline Posts: 165
|
Posted: February 10 2018 at 11:05 | IP Logged
|
|
|
A problem I face is that many times, not always, I get two device responses (Incoming Insteon received...), causing two Trigger Checks.
This causes the VBS program actioned in the associated trigger to run twice.
I see consistently that the CMD2 value is zero for the first response, then a non-zero for the second response.
So my questions are such:
1: is there something I can do to totally eliminate the duplicate responses, or,
2: How can a VBS or formula inspect and retrieve the CMD2 value. I could test that and if it is not zero, exit the program.
Examples of what is happening below for my IOLinc which senses if a garage door is open:
Thank you!
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: February 10 2018 at 20:20 | IP Logged
|
|
|
Richard,
There are several ways to accomplish this. I would probably first change my trigger from "Insteon Group In" to "Insteon Device chg" trigger. This
trigger will fire anytime a command is received that changes the Insteon device monitored. With this trigger type, you'll have access to the current
Insteon device status as well as the incoming device status. You can do a comparison between them in the "Boolean" field of the trigger and if they are
different, then fire the trigger. If they're the same, don't. The incoming status and current status (as well as a host of other values) are available in
the TEMP and LOCAL variables. To accomplish what you want, you should be able to place this in the "Boolean" field:
[LOCAL9] <> [LOCAL10]
Another common method that users use is to temporarily disable the trigger when it's fired. What is typically done is that a macro is fired as the action
of the trigger whose first line is to execute the ph_disabletrigger function. The next few lines then perform the action desired by the trigger followed
by a macro "Wait" command for the amount of time the trigger should be disabled. After the "Wait", the next line is a ph_enabletrigger function.
Hope this helps,
Dave.
|
Back to Top |
|
|
RichardL Senior Member
Joined: December 29 2008 Location: United States
Online Status: Offline Posts: 165
|
Posted: February 11 2018 at 10:37 | IP Logged
|
|
|
Thanks for sending me in the right direction.
I haven't used the LOCAL and TEMP variables too much, and all my Boolean fields were just a 1 - seeing your Boolean entry, I went and learned more. What I found was that populating the boolean field with [TEMP3] = 0 gives me the result I need. Powerhome never disappoints!!!
The same Insteon Incoming entries are present, which is normal (saw from a past reply to one of my posts), but now the trigger runs once. All good! I kept everything else the same. Since I have about 180 triggers, it was easier to just paste the one boolean field down the line, vs change the trigger to Insteon Device Change. I always have that just in case. Will keep watch as to how everything behaves. This is a BIG win!
Thank you!
Richard
|
Back to Top |
|
|
dhoward Admin Group
Joined: June 29 2001 Location: United States
Online Status: Offline Posts: 4447
|
Posted: February 18 2018 at 18:35 | IP Logged
|
|
|
Richard,
Glad to hear you got it working .
Dave.
|
Back to Top |
|
|