TJF1960 Posted December 12, 2012 Posted December 12, 2012 No, the else should only run when there is a change in the If condition. In this case if the Alarm Status is On then the Else will run when the Alarm Status switches to Off. So if/when the Alarm Status changes to Off then the Else will run. A query will not change the status of the device unless the ISY is out of sync with the device.
barkster Posted December 13, 2012 Author Posted December 13, 2012 If I turn on say fireplace light and then run "query all" the light is turned off by the program below... To me if status is not "On" it will always run the else statement any time a query is run. Seems to work that way on mine. If Status 'Alarm Sensor' is On Then Repeat Every 0 seconds Set 'Fireplace Light' Fast On Set 'Living Room Fan Light' Fast On Set 'Front Porch Light' Fast On Wait 2 seconds Set 'Living Room Fan Light' Fast Off Set 'Fireplace Light' Fast Off Set 'Front Porch Light' Fast Off Wait 2 seconds Else Set 'Fireplace Light' Off Set 'Front Porch Light' Off Set 'Living Room Fan Light' Off
TJF1960 Posted December 13, 2012 Posted December 13, 2012 Well, tail between my legs..it goes to show you are never too old to learn something new. I am sorry barkster for steering you wrong on that one, you are 100% correct. I just set up a test and proved it. A query will run the Else on your program. That is the very reason I use very little programs with Else actions. Try changing "Status 'Alarm Sensor' is On" to: If Control 'Alarm Sensor' is Switched On and Control 'Alarm Sensor' is Not Switched Off This should fix the query problem and still run Then and Else as expected. Again I sorry for the bad info about the query. Tim
LeeG Posted December 13, 2012 Posted December 13, 2012 A Query should not cause a change in Status unless the I/O Linc is using the Trigger Reverse option. This option reverses the On/Off commands issued by the I/O Linc Sensor but does not reverse the Query response. It makes the Sensor change state because Query returns the true status of the Sensor rather than the command reversed status. The Trigger Reverse option has been known to cause a garage door to move at the 3AM QueryAll because the Query response is opposite to the last command received from the Sensor.
TJF1960 Posted December 13, 2012 Posted December 13, 2012 LeeG, good point, I had forgotten about the trigger reverse query problem with the I/OLincs and I believe the OP is using one. It’s a new day and I have learned something new already this morning. After reading your post I ran a couple of more tests and found that a normal nightly query or a query on a specific device called by a program will in fact Not affect the conditional status in a program, unless the ISY has the wrong status (which is what I had originally thought). But as I tested last night if you right click the device node and select query it will affect the conditional status in a program…no matter if the status is correct or not! Barkster, are you using the I/OLinc with “trigger reverse†button checked? Tim
barkster Posted December 13, 2012 Author Posted December 13, 2012 Not that I know of... I did notice that the status wasn't right though at one point. Not sure why but after I ran query the status was correct. I'm starting to get confused now Maybe I should explain my setup and what I'm trying to accomplish. I have an I/O Linc that is attached to my GE Concord Output 1 via the status port using a 5v relay to close the circuit of the status port of the I/O Linc when my alarm is sounding in my house. Before when I was on X10 the concord automatically flashed all the lights in my house so I'm trying to replicated this using my insteon devices. So when my alarm is tripped and the circuit is closed I want my lights to blink and when it is normal I do not want them to blink. Then I started thinking could I store the state of each light as a variable somehow and restore them back to their original state after the blinking occurred but at this point I just want it to function without and can tackle that once I get the general operation resolved. What does trigger reverse do?
TJF1960 Posted December 13, 2012 Posted December 13, 2012 Well, to quote LeeG "This option reverses the On/Off commands issued by the I/O Linc Sensor but does not reverse the Query response." It is used to issue an opposite command than what it would normally issue. Like Lee said though the biggest problem is when the I/O Linc is queried it will return its true state (not the reversed state). But since you are not using it that is not a problem. Based on your last post you may have some sort of communication error if the ISY wasn't showing the correct status of the Alarm sensor. First thing you should do is get that squared away then your program should work as you want it to. If the alarm sensor is part of a scene you can run a series of scene tests on it while monitoring the event viewer set to Level 3. If not then manually activate the I/O linc sensor input a series of times while monitoring the event viewer, again at level 3. Tim
barkster Posted December 13, 2012 Author Posted December 13, 2012 ok thanks for all the help, I'll see if I can track down any communication issue and monitor it for a bit. Once I'm comfortable, I'll try and capture state of lights...
barkster Posted May 1, 2013 Author Posted May 1, 2013 Robin that has nothing to do with what I'm trying to do, you obviously don't understand. My alarm works just fine thanks
LeeG Posted May 1, 2013 Posted May 1, 2013 barkster I'm pretty sure Robin is using the forum for commercial purposes. There are a few posts from that ID which look very commercial oriented.
Michel Kohanim Posted May 2, 2013 Posted May 2, 2013 Hi LeeG, Yes, very sneaky! I didn't want to delete him/her because there are no links yet. With kind regards, Michel
Recommended Posts