Jump to content

Insteon 6 Button, need setup advice


Recommended Posts

I need advice on a 6 button keypad usage scenario. The 2 main buttons are used for triggering a program and are set to mutually exclusive mode, this works fine. Of the other 4 buttons I use 3 to individually trigger programs that control mutually exclusive lighting scenes and this is where I need advice. I know that I could set up individual scenes for the lights, including the buttons but this doesn't work for me since I also control these scenes with Home Assistant which requires that I use programs. The programs also enforce the mutually exclusive requirement for HA and they control variables that affect other program functions.  In the Insteon switch setup (I use EISY) there is a dialog where you can make buttons mutually exclusive but this doesn't seem to work. My goal is to only use the 3 buttons as program triggers, with the button LED reflecting which of the 3 different scenes is active. I would also like the button LED to reflect the current lighting scene if initiated by Home Assistant. Is this possible or am I going down the wrong path?

 

Link to comment

Following. I'm here to learn but sharing some thoughts which may help.

I wonder if you may be setting yourself up for future issues with multiple control points. Although you may have good reasons for doing this, as a former real-time software developer, I would anticipate situations that might be difficult to troubleshoot between systems, especially with timing and status updates.

Others who run multiple control systems for years may disagree. In that case, I'm here to learn.

You may have a lot of time and effort invested in the Home Assistant setup and the porting of all of that to a different platform will seem redundant and time-consuming.

If I were implementing this, I would keep all of the scene and device control elements on one platform, and use the other platform just for signaling (requesting action by setting variables or flags) and displaying status. Then you isolate all the decision making to one place and only have to troubleshoot the signaling.

Link to comment

@bhihifi

Thanks for the reply. I do use EISY (ISY) for all of my control programming and only use HA as a graphical interface to EISY. With Insteon "scenes" are the way to go for quick responding lighting scene changes and in this case I do have Insteon scenes setup for the different lighting scenes. I need to figure out this mutually exclusive button issue. 

Link to comment

I'm not following everything you are saying you want to do but if you want to control one of the small buttons of a keypad with a program you have to put that button in a scene then turn the scene on and off from the program to have it reflect the state you want. I hope that gets you on the right track for what you are trying to accomplish.

  • Like 1
Link to comment

If I understand you correctly, the HA system is the signaling and status interface but the real control lies in your EISY setup.

I'm not well-versed in mutual exclusivity but you can implement this in EISY program logic with conditions and state variables. May not be as fast as having mutual exclusivity within the switch itself, assuming that this was also an option.

As an exercise, I would actually draw out my desired states and actions in a flowchart first to see what I want to have happen, then figure out the implementation that created the least dependency on hardware features.

Link to comment

The way I have it implemented now the programs provide the mutual exclusivity when each one executes. This works for everything except for the button LEDs. When I tried including the buttons in the Insteon scenes the lights (the actual lights that are part of the scene) get set correctly but the button LED of the previous scene remains lit when the new scene is activated. For example, let's say there are 2 scenes, each one controlled by a keypad button, one scene is "TV" and the other scene is "Conversation". If the "Conversation" button is pressed the lights in the room get set to level that supports people conversing, playing games, etc. Then the user changes their mind and decides to watch the TV. This requires the lights to be dimmer than conversing so they push the "TV" button. This causes the TVe scene to to be activated, which sets all of the lights in the room to a dimmer or off level, but there are now 2 buttons illuminated on the keypad even though the "conversation" scene is no longer active. When the activity is over the current scene button is pressed again to revert the lights back to there normal behavior. (the actual implementation is far more complicated than this since the "normal" behavior of the lights in this room is controlled by occupancy, time of day, security system armed vs. disarmed, etc). This is another reason for the programs, if a lighting scene is active this overrides the automation of the lights. 

To get around the mutual exclusivity of the buttons issue I have to press the button for the currently active scene, which turns it off, then press the button for the new scene to turn it on. This is workable but not very family friendly. Hopefully this makes more sense now.

Link to comment

I have some buttons that control scenes not turn off even when the scene is turned off from a voice command or from another controller scene member. I fail to fix it because I don’t remember how to duplicate the problem.

You want a mutually exclusive set where each button is a responder to the inverse state of the active button. So after each button is a scene by itself, turn the other scene(s) off when another scene is on.

You could use a single subprogram that you run as part of each scene’s main program to clean up the other buttons using a single state variable or argument specifying the desired active scene. You could use a series of if-then statements to mimic a case statement conditional on the active scene.

Link to comment

I am not sure that I fully understand the problem here (I dont use HA).  regardless…..

Mutually exclusive relationships are only enforced when manually controlling a keypad.  These will not be enforced when commoanding a button via a scene or via the admin panel, or via a program.

given this, I would not use the mutually exclusive relationship to achieve th desired results.  Wihtin the scene for each button, add the other buttons that you want to turn off, as responders.  For thos responder buttons, set the ON level to “off”.  Once set, when you turn on a scene, regardless of method, the responder buttons will turn off.

  • Like 1
Link to comment
Guest
This topic is now closed to further replies.

×
×
  • Create New...