Support setting Insteon KeypadLinc and SwitchLinc LED backlight brightness (and maybe arbitrary commands)

The KeypadLinc and SwitchLinc backlights are way too bright at night in the bedrooms. In my use case (I have them running on a Mac Mini with Indigo right now), I set the backlights to brightness 1 at night, and 75 (out of 100) during the day.

The Insteon Keypads and Switches/Dimmers support turning on and off the LED backlight ( standard commands 0x2008, 0x2009), as well as setting the LED backlight brightness (Extended command 0x2E00 0x0007 0x11-7F).

I don’t see support for sending arbitrary commands exposed in the nugget/python-insteonplm module, but the underlying hooks seem to be there.

Indigo’s logs look like this when I send the command to set brightness to 1:

   Sent INSTEON                    "East Bedroom Hall Light" raw insteon command (20 09   00 00 00 00 00 00 00 00 00 00 00 00 00 00; ack: 09)
   Sent INSTEON                    "East Bedroom Hall Light" raw insteon command (2E 00   00 07 06 00 00 00 00 00 00 00 00 00 00 00; ack: 00)

And here are the logs when I send the command to set brightness to 75:

   Sent INSTEON                    "East Bedroom Hall Light" raw insteon command (20 09   00 00 00 00 00 00 00 00 00 00 00 00 00 00; ack: 09)
   Sent INSTEON                    "East Bedroom Hall Light" raw insteon command (2E 00   00 07 60 00 00 00 00 00 00 00 00 00 00 00; ack: 00)

That device, East Bedroom Hall Light, is a Switchlinc Dimmer (2-wire), but the commands to my KeypadLinc Dimmers look identical.

According to the Insteon command tables:

Page 8: The first command 0x2009 is a standard command commanding the device to turn on the back light. 02x2008 turns off the backlight completely, so it makes sense that you’d want it to be on in order for the backlight brightness to have any effect.

Page 26: The second command 0x2E00, an extended command with D1 set to anything and D2 set to 0x07, says set the backlight brightness to the value in the following data octet, D3. According to the doc, D3 must be in the range 0x11 through 0x7F

Better yet just buy a ISY994i and it will save you way more in time and stability. It also work very well with Home Assistant.

I have a mac mini running Indigo that I’m trying to retire. I’d rather not go even more retro with an ISY.

1 Like

I made the same switch from Indigo recently, I haven’t yet dug into manipulating Insteon commands but it’s on my list, I’ll let you know if I find anything. All in all, aside from the fairly steep learning curve I’m really liking HA, how is it working for you compared to Indigo?

It’s working well for me. I’ve been able to replicate most of the logic I had in Indigo with Home Assistant pretty easily, and the device support in Home Assistant is great.

If you’re the author of a couple of Indigo plugins, I’ve used yours on Indigo many times, but I’ve never quite had a feel for writing Indigo plugins - they always seemed kludgey in that you have to write your own event loops. I find the API for home assistant easier to understand, though I miss the native feel of the Indigo front-end.

1 Like

About 30 of them, yes :).

That makes one of us, the HA API has me lost at the moment.

Same!

They’re a little cleaner here with their separation of userspace configs from plugin code.

One of the nicer bits are the schema definitions inside of the official plugins - as a plugin author, this makes parsing the YAML manifests or GUI inputs easier since validation is handled for you, in one place, consistently. I know Indigo had validation to a degree, but there was always this feeling that you had to validate input twice - once for the form, and once for the actual backend code.

As a consumer of the end-user API, it’s significantly easier to call a service defined by a plugin than it ever was in Indigo.

I’m in the exact same situation as the OP. Former Indigo, trying to retire Mac mini, keypads too bright any night.

Wondering if there’s a workaround for this?

In case you all missed it, I have released a frontend to configure the Insteon devices. It allows direct access to properties, operating flags and the All-Link Database. It is not perfect and is still in development but it is a start. Details are in this post:
Insteon control panel - Share your Projects! / Lovelace & Frontend - Home Assistant Community (home-assistant.io)

@CO_4X4 any interest in helping with the HA development for insteon?

I’m happy to lend any assistance I can. I’ve never developed an HA integration (it’s on my to-do list) so it would be a great way to learn that.

That being said, I have started pulling away from Insteon as it’s becoming more and more problematic in my network (probably yet another Insteon hub starting to go south). I’ll still have Insteon for a while because I still have 100+ devices, but even just this weekend I ripped out 20 Insteon devices in favor of new Z-Wave replacements to regain stability in my home automation. But, honestly, one of the reasons I decided no more new Insteon is because all the great tools from Indigo for Insteon that I really loved didn’t exist and I dreaded adding anything new or having to reconfigure a device, so maybe this will pull be back from the cliffs edge.

100+ devices is impressive. If I were you I would use a PLM rather than the Hub due to reliability but that is probably not on your priority list if you are moving away from it. :smile:

At any rate, please have a look at the Insteon control panel posted above and let me know what you think can be improved. I am planning to add an enhanced version into the core HA but that is some time away.

I have been running fine on the USB hub but once a single Insteon device starts to fail then it chatters across the network and one problem after another starts to happen - in my experience at least.

But nonetheless, I’m on Insteon for a while yet. Z-Wave has taken over for sheer number of devices now but it’s too disruptive to replace the entire thing at once.

Just the morning, before you tagged me, I watched the video of your interface and it looks pretty cool!

@teharris1 I’m sure you are busy with getting the Insteon control panel up and ready for mainstage use much faster than expected. A few questions, does it include the option to do backlight? Will it work with an ISY hub as well? Luckly I have been using a ISY hub so I haven’t been affected by the shutdown but I would love to move more automations from that hub and to Home Assistant. Getting button lights to sync up is the part that I can’t do currently unless set up in ISY. Having this control in Home Assistant would allow for some other more advance indicators, and easier dimming of the brightness depending on the time of day. THANKS.

There is a separate integration for the ISY. I don’t know much about them. I thought the ISY had to have a modem (PLM) connected to it in order to function. If so, you can bypass the ISY and connect the PLM directly to Home Assistant. This will require you to redo all of your automations etc. but it will get you what you are asking for.

Hi, Tom - thanks for the Insteon component. It is helping me migrate from Indigo.

Have you added a way to send a raw command? It looks like it was on your list but I can’t tell if it’s surfaced.

Thanks!

@teharris1 any progress on being able to change the switch led brightness via a Home Assistant?