Jump to content

Solution for a fancy Staircase lights


snowtech

Recommended Posts

Hey there guys.

I have this idea of having my staircase to light up (in a nice pattern) every time I trigger the sensor on the top or bottom step.

Here is the sensor Im using :

http://www.aartech.ca/spy4-visonic-spy- ... rtain.html

One in each ending of the stair.

 

So What I was planning is to light up one by one in a nice smooth way, I tried just using a plain command like :

 

If sensor detects the movement

Then turn light 1 ON

turn light 2 ON

turn light 3 ON

... and so on ...

 

but there is a little bit of delay in between them, so the light 2 wont start until the light 1 is not completely ON.

So I thought of something like this:

 

If sensor detected motion, set "var" = 1

 

And then a program for each light:

If "var" = 1

Then turn ON

 

But in this case all of them would go ON at the same time and if I add Wait command, I can only get minimum of 1 sec , I dont know if that is enough for the timing, but I would like them to wait less, lets say 0.5 sec in between each one.

 

Light 1:

If var=1

Then Turn ON

 

Light 2

If var=1

Wait "0.5 sec"

Turn ON

 

Light 3

If var=1

Wait "1 sec"

Turn ON

 

Light 4

If var=1

Wait "1.5 sec"

Turn ON

 

... Adn so on...

 

Does anybody know any solution for this? I even thought of using the % as a trigger for the next light ... but I dont know if that could work...

Hope we can get fancy things working here !

:D

Thanks a lot guys !

Link to comment

snowtech-

 

I don't believe you can delay for less than 1 second with a wait statement. Maybe you can use a 2 second ramp rate for each stair and just call them all in sequence. The slower ramp rate may help mask the inconsistent start times.

 

Or 2 scenes. One for Going Up and One for Going down. Set the ramp rate for the first 3 steps to .5 then the next 5 steps to 2.0 then the remaining steps to 4.5 in one scene and reverse the steps in the other scene.

 

Out of curiosity, what is your $/Step on this project? I'm working on a similar project but never considered addressing each step individually. Still trying to get the cost of the lighting down to a reasonable amount.

 

-Xathros

Link to comment

Hey Xathros ! Thanks for the reply !

I thought of that too, getting "secctions" of steps and call them together, but the way I am, I really want to get that working one by one ... lol ...

 

I was thinking of something like this, I want to start trying for real as soon as my lights and my InLine Modules arrive...

If
       Status  'Light1' is 40%

Then
       Set 'Light2' on

 

If
       Status  'Light2' is 40%

Then
       Set 'Light3' on

 

I dont know if that would trigger the next light ... I will try that anyways...

 

The $/step I havent figured that out yet but I would say roughly $65.00 for each step

 

$55.00 for each Inline Dimmer (one per step)

If I go sessions of 2 or 3 steps at a time, I would need only one Module for each 2 or 3 sets of lights ...

 

Im using this Lights :

http://www.ebay.com/itm/230956499979?var=530133170295&ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

Which is $9.50 for each meter (I was planning to use 2 ft for each step)

 

Wires ... I havent Figured out how much that could cost ...

 

Lets keep on trying things and let each other know ...

 

Take Care

Link to comment

The checking for a particular On Level assuming the light is ramping up at a slow rate will not work. The ISY only knows the final % the light was told to turn On to. Insteon does not provide real time On Level information as the InLineLinc ramps On. A Program can Query a device but at the rate the device must ramp for this application to work too many queries would be needed with the potential interference with other Insteon activity.

 

Could try turning all the InLineLincs On with a Scene that has each InLineLinc Responder ramping at a slightly slower speed. This might give the appearance of an incremental delay with the step lighting progressing up or down depending on which motion sensor started the process. Two Scenes would be needed, one to ramp up from bottom to top, the other to ramp from top to bottom.

 

If

Status 'Light1' is 40%

 

Then

Set 'Light2' on

Link to comment

Hi LeeG

 

I thought so about the % ...

 

I've been thinking about lots of things, even adding a "few lines" before the command to turn on, a cheating kind of thing...

Something like change "vars" to 0 , to 1, to 0, to 1 just to make the little extra delay... lol

 

That might be a solution out there ... :)

 

Cheers !

Link to comment

Actually, your original idea may be workable if done like this (Assuming 14 steps):

 

Program: StartLightsUp

If

Then
  Set i.direction=1
  Set StepOne 40%

Else

 

Program: StartLightsDown

If

Then
  Set i.direction=0
  Set StepFourteen 40%

Else

 

Program: StepTwoOn

If 
  (
  Status StepOne > 1%
  and 
  1.Direction=1
  )
Or
  (Status SetpThree > 1%
   and
   i.Direction = 0
  )

Then
  Set StepTwo 40%

Else

 

 

Program: StepThreeOn

If 
  (
  Status StepTwo > 1%
  and 
  1.Direction=1
  )
Or
  (Status SetpFour > 1%
   and
   i.Direction = 0
  )

Then
  Set StepThree 40%

Else

 

...

 

Program: StepThirteenOn

If 
  (
  Status StepTwelve > 1%
  and 
  1.Direction=1
  )
Or
  (Status SetpFourteen > 1%
   and
   i.Direction = 0
  )

Then
  Set StepThirteen 40%

Else

 

Program:StepFourteenUp

If 
  (
  Status StepThirteen > 1%
  and 
  1.Direction=1
  )

Then
  Set StepFourteen 40%

Else

 

 

Program:StepOneDown

If 
  (
  Status StepTwo > 1%
  and 
  1.Direction=0
  )

Then
  Set StepOne 40%

Else

 

Trigger the Then Clause of StartLightsUp or StartLightsDown to begin the cascade. There should be enough process delay between the actuation of a step and the status checks to get about what you want.

 

For turning off the steps, you might consider starting at the middle step and dissolving from the center in both up/dn directions at the same time. This way only a single direction needed and adds another effect.

 

This method would also allow for changes to the local onlevel for the steps without recoding.

 

Please post a video when you get this up and running. That and a Pic of your bank of InlineLinc's :)

 

-Xathros

Link to comment

Xathros !!!!

 

Man thats a lot of thinking !

 

The house where im going to install this will be ready only in october ... But, I have to get the solution testing and running 100% before I install it in the house !

Do you think as soon as it passes the 1% it will start the next program or it will have to reach the 40% for the next program to run ?

 

I like the idea of the lights going off from the mid, It will look even nicer ...

As soon as I receive the lights, I will get the inline modules and I will do a test in my house !

For sure I will do a video and post here !

 

If something crosses your mind, another idea or solution, please let me know !!!

 

Thanks a lot !

Link to comment

The >1% is basically saying "is not Off" As soon as the ISY requests the Set StepOne 40% that status should trigger the next step. The only delay will be in process/insteon traffic delay and I'm hopeful that it will be <= 1 second. Hard to say without actual testing in the final environment as some of this will likely be effected by Insteon communications quality.

 

-Xathros

Link to comment

Might be a good idea NOT to put the PLM in a box as that may limit it's RF range to other Insteon gear. In general, it's best to locate the PLM as close to the main breaker panel as possible. The ISY will want to be a short distance from the PLM as it is connected via a serial interface (not ethernet)

 

Here is a box that might work: http://www.a1components.com/BVModules/ProductTemplates/Bvc5/Product.aspx?productid=a4f858e6-f770-45e1-b49f-45b3af605045&gclid=CPin162yzbYCFcVT4AodYAgAxQ

 

You could cut a Plexi/Lexan cover for it. Plenty of others out there. Search for "Structured Wiring Cabinet".

 

-Xathros

Link to comment

I think you may have a way less expensive solution by using a pair of 8 unit relay modules, like something from Smarthome init. Then you can use a set of SSR relays.

 

 

http://www.simplehomenet.com/proddetail.asp?prod=9357342309

 

Now really thinking outside the box, use a light animation controller like a Light O Rama controller and a raspberry pi or something.

 

 

http://store.lightorama.com/ctascpa.html

 

Alan

Link to comment
I think you may have a way less expensive solution by using a pair of 8 unit relay modules, like something from Smarthome init. Then you can use a set of SSR relays.

 

 

http://www.simplehomenet.com/proddetail.asp?prod=9357342309

 

Now really thinking outside the box, use a light animation controller like a Light O Rama controller and a raspberry pi or something.

 

 

http://store.lightorama.com/ctascpa.html

 

Alan

 

Hey there !

Well I already purchased all the devices I need for this project, maybe for the future I can take a look at those ... One thing I would like to do is being able to run the programa only if it's night and the lights upstairs are off ...

 

Thanks for the tip !

Link to comment

easy enough to include the time and status of the other lights as conditions in your trigger program. I am assuming that the other lights will be Insteon as well.

 

If 
  Control BottomStairIOLincSensor is Switched On  (Assuming here that you are using IOLincs to interface to your PIR Curtain sensors)
  and
  From Sunset to Sunrise (Next Day)
  and
  Status Upstairs Hall Lights is Off

Then
  Run StartLighsUp Then Path

 

 

If 
  Control TopStairIOLincSensor is Switched On 
  and
  From Sunset to Sunrise (Next Day)
  and
  Status Upstairs Hall Lights is Off

Then
  Run StartLighsDown Then Path

 

From My last post of programs, lets modify the StartLighsUp and StartLighsDown to include the trigger for turning them back off after 30 seconds:

 

Program: StartLightsUp

If

Then
  Set i.direction=1
  Set StepOne 40%
  Wait 30 seconds
  Run StairLightsDissolve Then Path

Else

 

 

-Xathros

Link to comment
easy enough to include the time and status of the other lights as conditions in your trigger program. I am assuming that the other lights will be Insteon as well.

 

If 
  Control BottomStairIOLincSensor is Switched On  (Assuming here that you are using IOLincs to interface to your PIR Curtain sensors)
  and
  From Sunset to Sunrise (Next Day)
  and
  Status Upstairs Hall Lights is Off

Then
  Run StartLighsUp Then Path

 

 

If 
  Control TopStairIOLincSensor is Switched On 
  and
  From Sunset to Sunrise (Next Day)
  and
  Status Upstairs Hall Lights is Off

Then
  Run StartLighsDown Then Path

 

From My last post of programs, lets modify the StartLighsUp and StartLighsDown to include the trigger for turning them back off after 30 seconds:

 

Program: StartLightsUp

If

Then
  Set i.direction=1
  Set StepOne 40%
  Wait 30 seconds
  Run StairLightsDissolve Then Path

Else

 

 

-Xathros

 

 

Hey Xathros.

Thanks for all the help in this project !!!!!

 

What I want to do is

If im going down, when I hit the top sensor all the lights will go ON

When I reach the bottom sensor all the lights will go off ...

 

Of course when this program is running, most of the times it wont be a "crazy traffic" on the stairs, meaning most of the times would be only one person activating the program, otherwise we would have lights on in the house, but some bugs can occur:

 

If I start going down and in the middle of the way, somebody is coming up, they will trigger the "OFF" sensor = Both of us in the dark ... :)

Or If Im going down and right after somebody comes behind me and I reach the bottom sensor before that second person, all the lights will go off when the second person is still on the way ...

 

So I thought of a kind of a trigger like using VARs:

I wont write the codes but I will write the logic and I will write only the "Going DOWN" program

 

Every time the TOP sensor is triggered "var.top" += 1

wait 1 sec

 

If "var.top" is >1 (it means it was triggered first so the program will run is going down)

(and BOTTOM sensor is triggered)

then "var.top" -=1

 

If "var.top" is = 0

OR "var.bottom" is = 0

 

then run "Lights OFF Program" (that could be the one you mentioned from "mid to out"

 

And having another program that makes the lights go OFF it they are still ON for more than 30 secs (This is just to be sure it will turn OFF if for some reasons the "var" counts dont match)

 

So whats gonna happen is, while the "var.top" is being trigger it's counting how many people is going down

The 1 sec wait is to avoid being triggered by both legs ...

 

I know Im going crazy with this, but I could either go simple or go All the Way ! lol

This is all its going on in my head right now ...

As soon as I receive my lights (Which are in canada already) I will start going nuts with it !!

 

Lets keep this Post UP !!!!

 

Thank you very much again !

Link to comment

I really think that a simple delay would be easier to deal with rather than trying to track direction and count with non directional sensors. I think it would be cool to have the lights dissolve as you arrive at the opposite end of the staircase but that could likely be accomplished more easily by calculating the average traversal time for the stairs and using that for the delay.

 

There are a number of problems that you would need to overcome in the counting of the sensor activations and avoiding false counts (multiple legs etc) and one of the bigger issues you may find is the process delay involved when you want your lights to respond instantly to a trigger activation. The more you try to do there, the longer the delay will be.

 

The simple delay will help avoid the problems when two people pass on the stairs and with the current design, the delay would restart in the event two people headed downstairs say 8 seconds apart giving the second person the full delay with the lights on.

 

-Xathros

Link to comment

You are right ...

I had the same problem with the garage door I have.

I wanted to do so many things that at the end I was getting into a conflict ...

 

I will do the simple and I will be playing on my spare time on the "crazy version" :D

 

I will keep everybody posted as this could be something useful for everybody !

Link to comment

Archived

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


×
×
  • Create New...