Jump to content

Isy programming challenges


kevinvw

Recommended Posts

Hi All,

I have been slowly learning how this gem works... and I love it.. for the most part. I do have some questions on how to do a couple of things..

I have a bathroom remodel just completed and I went with a bunch (7) of inlinelincs to control can lights, wall lights, toe kick, exhaust fan, etc. Got some pretty good scenes going, but here are a few things I would like to do:

 

1) when a scene containing the exhaust fan goes off, I would like to keep the fan running longer. right now, I have a small program that detects when the status goes off, to wait a few secs and then turn it back on for 5 minutes. would be better if i could just keep it on.

1.5) would also be nice if I could run the fan for a time based on the time the fan was initially on (you know, the longer you are in there, the more important exhaust is!)

 

2) I have toe kick lights that are included in several scenes, but during late evening, I would like to keep them on at a dim level.... even if I turn on the all lights scene, it would be nice to keep the toe kicks on as a nite lite. So, thinking it would be cool to be able to remove a scene member from a program (adjust scene), or even just fix the on AND the off level of a device. Just a wish list item, but would probably require insteon device firmware.

 

3) I did something similar to another post... wanted to set the on level during late night for certain lights in a scene. in my case, the controller was kpl E. The only way I could get the program to work was to select kpl E as the scene name in the program pull down for adjust scene. In a test program and a test scene, I was able to get this to work fine using the scene name. Not sure if that is a bug or something I am still missing. Learned a lot about the scope of on level and ramp rate settings during that time!

 

Anyway, going to keep on trolling for cool solutions to my challenges.... really enjoying this thing and trying to figure out what to do next!

thanks.

Link to comment
I have a small program that detects when the status goes off, to wait a few secs and then turn it back on for 5 minutes. would be better if i could just keep it on.

 

I can imagine only that it may increase wear and tear on the motor. Perhaps is would impact electrical use. I suspect neither will be noticable.

 

would also be nice if I could run the fan for a time based on the time the fan was initially on (you know, the longer you are in there, the more important exhaust is!)

 

Probably doable with variables, but I suspect the effort is not worth it.

 

So, thinking it would be cool to be able to remove a scene member from a program (adjust scene), or even just fix the on AND the off level of a device. Just a wish list item, but would probably require insteon device firmware.

 

You could create a different scene with the same members (all may have to be responders, however). Adjust "on" levels to suit, such as kick lights dimmed, the rest off. Trigger this scene from a program. I think the "off" levels are not adjustable by insteon design.

Link to comment

Hmmm... second scene is an interesting approach.. I was trying to avoid having a program in the loop when a button is pressed, but it works.

 

I agree, off level isnt currently an option in insteon, but it would still be nice! I guess another approach (would still need to be added to isy) would be to have in the syntax for the adjust scene command, the ability to 'freeze' a responder. So when the isy does it, the responder would be removed from the group on the devices in the scene. unfreeze would require the isy to remember the original group membership and put that responder back into the group. any thoughts on how usefull that would be? Probably not very... works for my problem, but may not have widespread use.

 

thanks for the response!

Link to comment
I guess another approach (would still need to be added to isy) would be to have in the syntax for the adjust scene command, the ability to 'freeze' a responder. So when the isy does it, the responder would be removed from the group on the devices in the scene. unfreeze would require the isy to remember the original group membership and put that responder back into the group

 

I suspect that the limitation is with the insteon protocol that would make this suggestion difficult to implement. I don't use it, but there is a command to adjust devices within a scene within the ISY. Folks around here have used this to change responder levels at defined times (reduced brightness after 11pm, for example). Perhaps this would offer an opportunity to do what you desire. It would also require a program.

Link to comment

How about this for the lighting:

 

Split the scene into 2 scenes with the stuff that changes based on time of day in one and the rest in another. Remove the controllers from the scene(s) and add back as responders if necessary (Switch with load attached). Create 3 programs. One will adjust the changing scene on levels based on time of day. The other will turn on both scenes when the controller(s) say On and the third will turn off one or both scenes depending on time of day when the controller(s) say off. Maybe a fourth program to watch for fastoff at the controller(s) to turn off both regardless of time.

 

As for the fan, remove it from the scene(s) and just run it via a program that monitors the appropriate controller(s).

 

Fan Prog 1

If 
  control MainBathFanSWL is switched On

then
  Set  MainBathFanILR On

Else


Fan Prog2

If 
  status MainBathFanILR is on

then
  repeat every 60
     $s.fandelay += 1

else


Fan Prog 3

If
  status MainBathFanSWL is switched Off
  and
  $s.fandelay is > 0

Then
  wait 90
  $s.fandelay -= 1

Else
  Set  MainBathFanILR off

$s.fandelay is a state variable. This will keep the fan on for an additional 1.5 mins for every minute the fan was turned on at the switch.

 

 

This is how I would approach this one anyway.

 

HTH

 

-Xathros

Link to comment

Archived

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


×
×
  • Create New...