dstern71 Posted November 11, 2012 Posted November 11, 2012 I’ve installed a flow sensor and am getting nuisance trips, probably due to air in the line or pressure fluctuations. I am attempting to write a program that will ignore the nuisance trips by having the ISY only react to signals sustained for more than 5 seconds. The programs are below (I change the input to a light switch for test purposes). Upon execution, when I turn kitchen light on, the program gets stuck at $Flowstate=1 and $Int_1=1. Any help is appreciated. Program Flow B0 If $Flowstate is 0 Then $Int_1 = 0 Program Flow B1 If $Flowstate is 1 Then Wait 5 seconds $Int_1 = 1 Program Flow B2 If $Flowstate is 2 Then Send Notification to 'Dan - Text to phone' content 'Unexpected Water Flow' $Flowstate = 3 Program Flow C0 If $Flowstate is 0 And Status '17.C9.E9.1 Kitchen Ceiling' is On Then $Flowstate = 1 Program Flow C1 If $Int_1 is 1 Then $Flowstate = 2 Program Flow C2 If $Flowstate is 3 And Status '17.C9.E9.1 Kitchen Ceiling' is Off Then $Flowstate Init To 0
oberkc Posted November 13, 2012 Posted November 13, 2012 I stared at this set of programs for a while and am having trouble following the logic. What is the purpose of the two variables? Perhaps including some explanation as to the purpose of the various programs would help spur broader response. I don't use variables in any of my programming, but I understand there are two types: integer and state. What types are your two variables? If integer, this could explain why you are not getting the response you expect.
dstern71 Posted November 13, 2012 Author Posted November 13, 2012 Thanks for your response, sorry for the confusion. The “B†programs are intended to be a State Machine. Flowstate is a state variable. Int_1, an integer variable, and is intended as a flag to indicate that the timer has timed out and there is a real flow event, not a nuisance trip (a sustained 5 second signal not a momentary one) and therefore want to transition to state 2.
oberkc Posted November 13, 2012 Posted November 13, 2012 I understand that integer variables will not TRIGGER a program evaluation, but STATE programs will. For example, your program C1 has in it only a condition based on an integer variable. If my understanding is correct, this program will NOT execute, because there is nothing to trigger an evaluation. Perhaps this is why your series of programs is getting stuck? But, as I said, I have yet to need variables and can speak only based on things I have read around here. Hopefully, others can confirm this.
ergodic Posted December 6, 2012 Posted December 6, 2012 I had a very similar problem after installing a whole-house generator. I wanted it to message me when it tripped on or off. The problem is that as the generator fires on and off, the AC output wobbles around before finally settling in at a steady 120V. Because of that AC spiking, the InlineLinc I installed to sense generator power and then trigger the ISY to send messages would fire off about a dozen messages each time the generator turned on or off. ("Generator is on"... "Generator is off"... I wrote programs to smooth this out. Which is what I think you're looking to do. So quite possibly they will be of help. That post is here: http://forum.universal-devices.com/viewtopic.php?f=26&t=8805&p=66991&hilit=generac#p66991 You may need to adjust the wait times for your situation.
Recommended Posts