Identifying KeypadLincs

Forum rules

This is a legacy forum which is locked for new topics. New topics should be started in one of the other forums under Extending Indigo

Posted on
Sun Jun 09, 2013 4:03 pm
Perry The Cynic offline
Posts: 836
Joined: Apr 07, 2008

Identifying KeypadLincs

I'm about to write a plugin that specifically deals with secondary buttons of KeypadLincs. How do you recommend I identify KeypadLinc devices?

More generally, do you consider KeypadLincs special enough to just work with them sui generis, or do you want us to treat them as some exemplar of a more general kind of device ("multi button device with lights")? If so, where might this be written up? Most of the KeypadLinc instructions seem very specific to the way they're organized...

Have you given any thought to how KeypadLincs and handheld multibutton remotes and Z-wave pushbutton thingies (and Lutron wall buttons and so on) should be unified into some coherent programming model?

Cheers
-- perry

Posted on
Sun Jun 09, 2013 4:53 pm
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: Identifying KeypadLincs

Currently, the best approach to detect a KeypadLinc type device would be to check dev.model to see if it contains the string "KeypadLinc". Another useful properly is dev.ledStates which will be a list of bools that represent what Indigo thinks are the LED on/off states. I believe KeypadLincs are the only module that will return a list with length 2 or higher, but that could change in the future.

Multi-button controllers are all over the map in how they work and what functionality they support. Indigo treats KeypadLincs as a normal dimmer/relay module that also has a bunch of LED states. Some of the Z-Wave in-wall dual button controllers create 2 Indigo devices, primarily because they can control 2 loads, so the UI needs to show 2 controllable devices in that case. And then you have multi-button controllers that aren't wired directly to any loads (RemoteLincs, ControLincs, Aeotec MiniMotes), which are treated as stateless devices (since they are) that you have to create triggers to catch the specific button press/scene commands.

I'm not real happy with how un-unified it is currently, even if it is primarily that way because the hardware fundamentally works differently for all these different types of controllers. Anyhow, to answer your question, I have thought about it some but don't have a good solution or any near term plans to abstract multi-button controllers into their own device type or personality.

Image

Posted on
Sun Jun 09, 2013 9:12 pm
Perry The Cynic offline
Posts: 836
Joined: Apr 07, 2008

Re: Identifying KeypadLincs

Currently, the best approach to detect a KeypadLinc type device would be to check dev.model to see if it contains the string "KeypadLinc".


Okay, I'll do that. Is that also how I check for a RemoteLinc 2 and such?

There's really nothing wrong with using triggers to link things up. The problem is one of scaling: INSTEON buttons have four functions (on, off, instant-on, instant-off), which need four triggers to implement per button, and it's really easy to get them out of sync since nothing is holding them together, other than whatever naming convention I manage to keep to. If I need to clone a button behavior, I get to clone all those triggers and then edit them each consistently. I'm not very good at doing boring things consistently...

The other problem, specific to KeypadLinc buttons, is that the lights on the buttons are actually very useful as status indicators, which means I also need triggers that detect external state changes and reflect them in the button light. That's another two triggers...

I'll see what I can come up with.

Cheers
-- perry

Posted on
Sun Jun 09, 2013 9:29 pm
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: Identifying KeypadLincs

Perry The Cynic wrote:
Okay, I'll do that. Is that also how I check for a RemoteLinc 2 and such?

Yeah, that should work for RemoteLincs as well.

Image

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 1 guest