paauto Posted February 25, 2016 Posted February 25, 2016 I am attempting to write a new program and am confused over how Program Status works and what triggers it. I must be missing something. For example, I have two garage doors each with a sensor attached. I have an identical program on each that fires off a notification to me if either door is closed (i.e. if the Status of the sensor is "Off"). Both garages are currently closed and the sensor reads "off" in the dashboard. In the Summary tab one of the garage notifications program's Status reads "True" and the other reads "False". I've opened and shut each and Status doesn't change.
Teken Posted February 25, 2016 Posted February 25, 2016 I am attempting to write a new program and am confused over how Program Status works and what triggers it. I must be missing something. For example, I have two garage doors each with a sensor attached. I have an identical program on each that fires off a notification to me if either door is closed (i.e. if the Status of the sensor is "Off"). Both garages are currently closed and the sensor reads "off" in the dashboard. In the Summary tab one of the garage notifications program's Status reads "True" and the other reads "False". I've opened and shut each and Status doesn't change. I am going to (Assume) it used to work at some time if it did. Then, you have a comm issue where the signal isn't making it back to the controller. If you press on the I/O Linc does the status change in the Admin Console?
paauto Posted February 25, 2016 Author Posted February 25, 2016 (edited) I don't think that it. I have another set of identical programs that shut off closet lights if left on. Both of those devices are Off, yet one of the programs is True and the other False. Unless of course I have some issue with my PLM that is causing this. Edited February 25, 2016 by paauto
Teken Posted February 25, 2016 Posted February 25, 2016 I don't think that it. I have another set of identical programs that shut off closet lights if left on. Both of those devices are Off, yet one of the programs is True and the other False. Unless of course I have some issue with my PLM that is causing this. If you watch the Admin Console for just one I/O Linc does the status change from on to off when you press the black set button? If you do the very same for the other does it reflect the true status. This must be true before you can even consider the programming aspect.
paauto Posted February 25, 2016 Author Posted February 25, 2016 (edited) I think I may have confused the question, apologies. What seems to be schizophrenic is program Status. I can't figure out why some programs' Status are indicated as "True" and some are "False". This is happening with two identical programs controlling two separate closet lights. All the If statement is doing in these prgromas is looking to see if the specific scene is On (i.e. looking for a change in status of the device). I also have another program that is time based (i.e. the If statement is Time = 9 AM) and it is showing True even though its 1 PM. Shouldn't it flip to False? Same deal with the Query All program. It's scheduled to Run at 3 AM and is currently showing True. Edited February 25, 2016 by paauto
LeeG Posted February 25, 2016 Posted February 25, 2016 (edited) The Program Status (True/False) reflects the last evaluation of the If clause. When the If evaluates as True the Program Status is True. When the If evaluates as False the Program Status is False. The Event Viewer at LEVEL 3 will show the the messages the PLM passed to the ISY which the Program used to drive the If clause. Post the Programs as they may help in the evaluation as well as the event messages. Edited February 25, 2016 by LeeG
paauto Posted February 25, 2016 Author Posted February 25, 2016 LeeG - you nailed it. I manually invoked the If statements and the Program Status corrected. Thanks much for explaining. This is helpful b/c I'm writing a house light timer program that will start at the earlier of sunset or 6 PM. To the extent sunset precedes 6 PM, I of course didn't want the program to re-run at 6 PM, so I added a condition (And statement) to only run if Status is False. At the end of the Then statement (6 hours later) I run the If statement which will presumably set the Program Status back to False from True and get the program ready for the next day.
Recommended Posts