sfroach Posted June 28, 2015 Posted June 28, 2015 I'm a new user. I've created programs to control my exterior lights. They worked great for last week. However, last night we had lighting & rain storm in the evening and the programs failed to shut off the lights. The off programs ran & ISY changed the device status to off which was incorrect. A few minutes later I manually turned the scene/devices off. see attached pdf of log file. Front Lights ON - [iD 0005][Parent 0004] If Time is Sunset + 20 minutes Then Set Scene 'Front Low Volt Lights' On Else - No Actions - (To add one, press 'Action') Front Lights OFF - [iD 0006][Parent 0004] If Time is Sunset + 1 hour and 5 minutes Then Set Scene 'Front Low Volt Lights' Off Else - No Actions - (To add one, press 'Action') My questions are: 1. Was the 'didn't shut off failure' cause by my program code or something else? 2. Since this could happen again when I'm not at home, how can I expand the code to verify the lights are truely off. I've added some device status checking (via query) code to the programs. I now have 5 programs as follows. Will this work? How can I test it? 1 Rear Lights ON Sunset - [iD 0007][Parent 0003] If Time is Sunset + 10 minutes Then Set Scene 'Rear Low Volt Lights' On $iRearLightsShouldBeOff = 0 Else - No Actions - (To add one, press 'Action') 2 Rear Lights OFF Sunset - [iD 0008][Parent 0003] If Time is Sunset + 18 minutes Then Set Scene 'Rear Low Volt Lights' Off $iRearLightsShouldBeOff = 1 Wait 15 seconds Run Program '3 Query Rear Lights' (If) Else - No Actions - (To add one, press 'Action') To minimize network traffic, it's best to avoid shutting rear lights off at same time that front lights are turning on/off. This program failed to turn off the lights ao an integer variable and device query programs were added. 3 Query Rear Lights - [iD 000E][Parent 0003] If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Set 'Outlet03.1 On-Off Top' Query Set 'Outlet03.2 On-Off Bot' Query Else - No Actions - (To add one, press 'Action') This program performs a device query to determine status. Apparently there is no scene query available. ISY's device table is updated with actual device status. 4 Rear Lights Check After Query - [iD 0013][Parent 0003] If Status 'Outlet03.1 On-Off Top' is On Or Status 'Outlet03.2 On-Off Bot' is On And $iRearLightsShouldBeOff is 1 Then Run Program '5 Rear Lights Scene Off' (If) Wait 1 minute Run Program '3 Query Rear Lights' (If) Else - No Actions - (To add one, press 'Action') This program tests for inconsistency between device status and an integer variable set to one/true in the Lights OFF program. If inconsistency is found, a Lights OFF program is run. Followed by a wait. Then a query to verify lights are out. 5 Rear Lights Scene Off - [iD 000D][Parent 0003] If - No Conditions - (To add one, press 'Schedule' or 'Condition') Then Set Scene 'Rear Low Volt Lights' Off Else - No Actions - (To add one, press 'Action') This program turns off the Rear Light scene 2015-06-28_11-53-43.pdf
oberkc Posted June 29, 2015 Posted June 29, 2015 I see nothing in your front lights off program that would explain a program cause for your 'didn't shut off failure'. Are you sure there was power at the time? If Status 'Outlet03.1 On-Off Top' is On Or Status 'Outlet03.2 On-Off Bot' is On And $iRearLightsShouldBeOff is 1 Then Run Program '5 Rear Lights Scene Off' (If) Wait 1 minute Run Program '3 Query Rear Lights' (If) Else - No Actions - (To add one, press 'Action') One thing I noticed is that the above program calls program 3 (if path), yet program 3 has no IF condition. You may want to change this to the THEN path. I suppose a bunch of queries could work, but it seems to me that it would be simpler to put an additional OFF time in your second program, as a backup, for times when storms and communication problem pop up: If Time is Sunset + 1 hour and 5 minutes or time is 2am <<<<backup! Then Set Scene 'Front Low Volt Lights' Off Else - No Actions - (To add one, press 'Action')
LeeG Posted June 29, 2015 Posted June 29, 2015 sfroach Note that a Scene On and Scene Off command sends a single Insteon command and there are NO ACKs associated with the Insteon activity. It is assumed the devices received the command and turned On or Off. It is common for a low voltage transformer to generate enough interference when On that the Off command is not recognized. Suggest using a simple incandescent bulb to run a test of On and Off without the transformers. If that does not work reliably then there is a general comm issue to the OutletLinc. If the incandescent bulb is reliable then the transformers are the issue. Try powering a single transformer from FilterLinc to see if things improve.
apostolakisl Posted June 29, 2015 Posted June 29, 2015 Try manually doing a "run then" on your first two programs. Does the light turn on, but not turn off? Any time a device turns on by Insteon command, but fails to turn off, there is a good chance that the device itself is a source of power line noise. Try putting a filter between the Insteon switch and the device (low voltage transformer). Of course it is also possible that at the time you specified to turn the light off, that something else in your network is making noise. If it works fine in your "run then" tests but then at your sunset plus time it doesn't, this would point to something else as the source of noise.
sfroach Posted June 30, 2015 Author Posted June 30, 2015 Thanks for the ideas. Since programs had been working ok for a week. My thinking was taking me down the path of the ISY status table being out of sync with the device status. Your suggestions are pointing me in a different direction. Thanks! Based on your comments the likely issue is AC line noise being generated from the low voltage transformers I'm trying to control. Makes sense that's why they turned on but not off. Only puzzle is why they worked ok for a week & then misbehaved. Real issue could be something else causing line noise. I tried Manually doing a 'run then' on the first two programs. This failed to work consistently. So I've relocated the 2 Access points & 1 Range Extender. The PLM (dual-band) really can't be relocated. Next move is get some additional FilterLincs FilterLinc between transformers & on/off outdoor module for Front Lights scene. Easy to do; transformers & module are inside out of weather. FilterLinc between transformers (in weather proof box) & OutletLinc dual-mode recepticle (in small weather proof box) for the Rear Lights scene. Difficult to do because of weather considerations. If I can't get the original (simpler programs) to work then I work on the more complex programs.
apostolakisl Posted June 30, 2015 Posted June 30, 2015 Thanks for the ideas. Since programs had been working ok for a week. My thinking was taking me down the path of the ISY status table being out of sync with the device status. Your suggestions are pointing me in a different direction. Thanks! Based on your comments the likely issue is AC line noise being generated from the low voltage transformers I'm trying to control. Makes sense that's why they turned on but not off. Only puzzle is why they worked ok for a week & then misbehaved. Real issue could be something else causing line noise. I tried Manually doing a 'run then' on the first two programs. This failed to work consistently. So I've relocated the 2 Access points & 1 Range Extender. The PLM (dual-band) really can't be relocated. Next move is get some additional FilterLincs FilterLinc between transformers & on/off outdoor module for Front Lights scene. Easy to do; transformers & module are inside out of weather. FilterLinc between transformers (in weather proof box) & OutletLinc dual-mode recepticle (in small weather proof box) for the Rear Lights scene. Difficult to do because of weather considerations. If I can't get the original (simpler programs) to work then I work on the more complex programs. You can always unplug the low voltage transformer and plug a non-noisy device in for testing, like a regular light bulb. Then do the "run thens" and see if it works.
Recommended Posts