K O Posted May 31, 2014 Posted May 31, 2014 I want to setup some lights to intelligently turn on when the garage door opens, but only if it's dark downstairs (already have a working program for that), and only if it's X hours after sundown but before sun up (also easy), but not to do it if I just got finished turning the lights off (this is where it's breaking down). Example 1: I am gone and come home to an empty dark house at night, the lights leading into the house, through the kitchen and up the stairs should turn on so that I can carry a sleeping child without having to bang every light switch. Example 2: I just turned off all the lights in the house and then open the garage. The lights shouldn't turn right back on, even if it is dark. I had a set of programs that waited for the garage door opener event and could detect how long it's been dark in order to kick on the lights, but it wasn't working very reliably, so I disabled it. About 10% of the time, it would kick the lights on even if I had just turned all the lights off. In order for this program to work, I either need to be able to track how long a program has been resolving to true or come up with another idea altogether. I'm sure someone else has thought of this. What have you done? Am I overcomplicating it?
andyf0 Posted May 31, 2014 Posted May 31, 2014 I'm not going to kill myself trying to think something up but the first thing that came to mind is that you can tell if the lights were turned on at the switch vs under program control by using "if Control" vs "if Status". So if you you hit the light switches you could disable the program that turns the lights back on for how ever long it takes you to get in the car and drive away. If you were using MobiLinc on your smartphone you could re-enable the program when your phone left the geo-fenced area.
oberkc Posted May 31, 2014 Posted May 31, 2014 I have a program that does this. I simply include a condition based on relationship to sunset/sunrise and a condition based upon the status of a few key switches (indicating certain scenes and lights are on or off). Your example 2 is an additional factor I dont attempt to deal with, but I think andyf0 has a good idea. Create a program that looks for status or control of a few key devices (to indicate you just turned off all the lights) and disable the garage door program for some pre-determined period of time, then re-enabling it.
Xathros Posted June 2, 2014 Posted June 2, 2014 Create a program as follows: Program: GarageAutoLightPrevent If Control 'Garage Lights' is Switched Off Or Control 'Garage Lights' is Swiatched Fast Off Then Wait 5 minutes Run Program 'GarageAutoLightPrevent' (Else Path) Else Use the True/False state of this program in the conditions for your garage lights program: If From Sunset +X Hours to Sunrise (next day) And 'Dark Downstairs however you determine that' And GarageAutoLightPrevent is False Then Set scene 'Arriving Home' On This will prevent the garage auto lights from operating for 5 minutes after you turn the garage lights off. Hope that helps -Xathros
Recommended Posts