Jump to content

Motion Detection Issues, again!


Recommended Posts

I know this has been discussed many times, but I cannot make my motion lights work properly.  Here is the setup:  I have 3 lights on my driveway (2 are motion sensing) and use a micro module in one, and a inline-linc in the other to sens the voltage from the motion sensor.  When either motion light is triggered, it should turn on all 3 lights.   After a wait of 7 minutes I expect the lights to go off.  But, due to the strange way the wait command works, I cannot make it work.  I tried to move the wait command to the second program, but still have issues.

 

Originally it was set up as 1 program with a wait statement which didn't work properly.  So, after reading many posts here, I split it up into 1 programs.

 

Here they are:

***************************************

Motion LIGHTUP ON - [iD 0058][Parent 0001]
 
If
        'Light, Drivew, park, MODULE' Status is On
     Or 'Light, Drivew, Park, MODULE 2' Status is On
 
Then
        Set 'Light, Front Corner, Outside' On
        Set 'Light, Drivew, park, MODULE' On
        Set 'Light, Drivew, Park, MODULE 2' On
        Wait  7 minutes 
        $ParkMotion  = 1
 
Else
   - No Actions - (To add one, press 'Action')
***************************************
After the light is switched on, then the following program should execute.
***************************************
Motion LIGHTUP OFF - [iD 0059][Parent 0001]
 
If
        $ParkMotion is 1
 
Then
        Set 'Light, Front Corner, Outside' Off
        Set 'Light, Drivew, Park, MODULE 2' Off
        Set 'Light, Drivew, park, MODULE' Off
        $ParkMotion  = 0
 
Else
   - No Actions - (To add one, press 'Action')
****************************************
 Should this not work ok?  The lights seem to come on and never go off, or sometimes never go on at all.  This is not a communications issue.  It seems that sometimes the off program doesn't pick up the value of "1".
 
Any ideas?
 
 
Link to comment

 

I know this has been discussed many times, but I cannot make my motion lights work properly.  Here is the setup:  I have 3 lights on my driveway (2 are motion sensing) and use a micro module in one, and a inline-linc in the other to sens the voltage from the motion sensor.  When either motion light is triggered, it should turn on all 3 lights.   After a wait of 7 minutes I expect the lights to go off.  But, due to the strange way the wait command works, I cannot make it work.  I tried to move the wait command to the second program, but still have issues.

 

Originally it was set up as 1 program with a wait statement which didn't work properly.  So, after reading many posts here, I split it up into 1 programs.

 

Here they are:

***************************************

Motion LIGHTUP ON - [iD 0058][Parent 0001]
 
If
        'Light, Drivew, park, MODULE' Status is On
     Or 'Light, Drivew, Park, MODULE 2' Status is On
 
Then
        Set 'Light, Front Corner, Outside' On
        Set 'Light, Drivew, park, MODULE' On
        Set 'Light, Drivew, Park, MODULE 2' On
        Wait  7 minutes 
        $ParkMotion  = 1
 
Else
   - No Actions - (To add one, press 'Action')
***************************************
After the light is switched on, then the following program should execute.
***************************************
Motion LIGHTUP OFF - [iD 0059][Parent 0001]
 
If
        $ParkMotion is 1
 
Then
        Set 'Light, Front Corner, Outside' Off
        Set 'Light, Drivew, Park, MODULE 2' Off
        Set 'Light, Drivew, park, MODULE' Off
        $ParkMotion  = 0
 
Else
   - No Actions - (To add one, press 'Action')
****************************************
 Should this not work ok?  The lights seem to come on and never go off, or sometimes never go on at all.  This is not a communications issue.  It seems that sometimes the off program doesn't pick up the value of "1".
 
Any ideas?

 

Stop using status. They are cancelling your program running.

 

Go back to one program with a wait and then turn the lights off

 

 

If

...control MS.1 is switched On

OR

...control MS.2 is switched on

OR

...control MS.3 is switched On

 

Then

....set Light1 On

...set Light2 On

....more?

....Wait 10 minutes

....set Light1 off

....set Light2 Off

.....more?

Else

....never get here with control/switched 

 

Also...for a variable to trigger a program it has to be an Integer variable type.

Link to comment

Stop using status. They are cancelling your program running.

 

Go back to one program with a wait and then turn the lights off

 

 

If

...control MS.1 is switched On

OR

...control MS.2 is switched on

OR

...control MS.3 is switched On

 

Then

....set Light1 On

...set Light2 On

....more?

....Wait 10 minutes

....set Light1 off

....set Light2 Off

.....more?

Else

....never get here with control/switched 

 

Also...for a variable to trigger a program it has to be an Integer variable type.

The inline-linc does not show up in the list for control (it only shows up under STATUS).  Only the micro module does.  I'll try it and see.

 

Thank you!

Link to comment

Here's a program snippet, ISY firmware and UI 4.6.2. Both Control and Status are available. OTOH, if you're using a test version of the ISY, then you should so indicate.

If
        Control 'EX / Devices / EX Breezeway Rear' is switched On
     Or Status  'EX / Devices / EX Breezeway Rear' is On
 
Then
   - No Actions - (To add one, press 'Action')
 
Else

 

   - No Actions - (To add one, press 'Action')
 
This is the In-LineLinc:
post-625-0-80417600-1503718617_thumb.jpg

Link to comment

I can't imagine UDI would have removed anything from v5 and without any of these modules I cannot attest to them having the switched/control construct but.....

 

Assuming you only have status triggering you can break this into two programs in order to isolate the timing cycle from a Off trigger stopping the Wait.

 

An additional trigger to On can reset the Wait 7 minutes, but now it cannot cancel the timer with a detected Off trigger.

 

Program.trigger

If

....Ms.1 ststus is On

....OR

....MS.2 status is On

Then

....run (if) Program.cycle

Else

....----

 

Program.cycle (disabled)

If

....----    <--------- here you could put a time of day filter or logic to run alternative Else coding

Then

.....set Light1 On

....set Light2 On

....Wait 7 minutes

....set Light1 Off

....set Light2 Off

Else

....--

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...