Insteon integration

STOP - This integration is old and if you've come here looking for a solution now that Insteon servers are offline, use this one instead for Hubitat to control Insteon devices.

Is there a path to Insteon local control? Some work has been done to get ST controlling the hub locally - [RELEASE] Insteon Hub 2244 and 2245 Dimmer and On/Off Plugs/Switches/Bulbs - #115 by finik - Community Created Device Types - SmartThings Community

Half my lighting is still Insteon, so I'd like the have Pico control via Hubitat to Insteon


Thanks to the work of @ethomasii, @idealerror, @kuestess and @finik in the SmartThings community, we have a great start from which we could have local control of Insteon via Hubitat.

However, you don’t have to keep your Insteon devices sitting idly by while your Hubitat automates around them. Thanks to @krlaframboise and Other Hub, you can simply create virtual switches in Hubitat and link their state to the Insteon devices which are made available in SmartThings via the aforementioned SmartThings to Insteon integration.

It’s not fast. There’s about a 1 to 2 second delay, but it works. You’re not going to have more than ON/OFF or ON to a specific level, but at least you can include your Insteon lighting in the action until we have local control of Insteon directly from Hubitat available.

Here’s how to make it happen:

  1. Install the Insteon integration for SmartThings
  2. Create a virtual switch in Hubitat for each of your Insteon lights (choose Virtual Switch device type, regardless of whether or not the Insteon device is dimmable). For the Device Network Id, you can enter the device name (without spaces) or just some 4 digit unique number. For example 001A, 001B, etc.
  3. Install and configure Other Hub
  4. Select the virtual switches in Hubitat for use with the Other Hub Event Pusher app.
  5. In your SmartThings mobile app, refresh the “Things” list. You should see your devices with the prefix “OH-”.
  6. In the SmartThings mobile app Marketplace, select Lights & Switches > Smart Lights to install the Smart Lighting SmartApp
  7. Create a new lighting automation for each of the Insteon lights you wish to control.
  8. In the case of dimmable lights, you can change the choice for “What do you want to do?” to Turn On and Set Level so your dimmable lights will turn on to the desired brightness.
  9. The field “How do you want to trigger the action?” should be set to Switch Turned On/Off
  10. Set the “Which switch?” field by selecting the corresponding Other Hub device with the prefix “OH-”
  11. Set the field, “Turn on lights when” or “Turn on & set level lights when”, to Turned On (The name of this field changes depending on the choice made for “What do you want to do?” in step 8.

Test it. Your corresponding Insteon light(s) should toggle on & off when you turn the virtual device on & off in Hubitat.

1 Like

Don’t you still have Cloud dependence via this route ? If you unplug your Internet router (WAN) connection does it stay working ?

Yes, this is cloud dependent and is a stop-gap solution to at least be able to use Insteon with Hubitat. It is by no means what we eventually will want. Insteon local control is possible, but not yet available.

I have an API key and can do this with API calls, but do in fact use as you’ve demonstrated here.

What I’d love to see, since you can hit the Insteon Hub locally (I did this before the ST integration) having Hubitat locally control it may be possible since we have more control over the platform, I’m just spitballing as it’s all way outside my wheelhouse.

I ran a Event Ghost server on my always on server at home, and ST would call it, it would then craft the curl response to the Insteon hub to do actions. I didn’t get feedback though so all my CoRE Pistons had logic built in to set state before and after events occurred to try and keep things synced. The Insteon app did NOTHING automatic, just a dumb passthrough. It worked reasonably well. I bet someone could expand on this somehow…

Same here. If we could get someone with the skills interested, it would be a fantastic integration.

1 Like

If it’s got an open api, it’ll have details in there about how to interface with it. I have a similar interest in direct connection to a sinope hub, but the api is all in hex strings sent and retrieved with crc. Makes my head spin. Good luck!

1 Like

Has anyone been able to directly add the Insteon groovy from ST into Hubitat?

Its the only thing keeping my ST hub online

That’s not a pure local solution. Requires cloud API. I’m using Insteonlocal plugin to Homebridge with @tonesto7 ‘s modification of @pdlovelace ‘s Homebridge driver. With Hubitat virtual switches and Insteon devices both available in HomeKit, I use HomeKit automation to keep the two in sync. So when a virtual switch in Hubitat the is exposed to HomeKit turns on, the corresponding Insteon device exposed to HomeKit also turns on, and vise versa. It’s a lot of pieces, but it works well and is all local. There are limitations though. No dimming and it’s basically ON/OFF only. Fits my needs for now.

My preference would be full Insteon integration directly in Hubitat. Hopefully we’ll get that at some point.

My issue is I don't have the homekit hub. Mine is the previous gen unit.

I don't mind the cloud API as a temporary stopgap.

Hasn’t been ported to Hubitat. Don’t know if it can be. You can use OtherHub with HE and ST to connect to the Insteon DTH switches in ST.

But if you’re iOS already, the longer a Homebridge route is a better solution for Insteon. I didn’t have an Apple TV 4 either, but I bought one off eBay for $100. I really just wanted it for automations, but it’s much better than my old Apple TV 3, so I’m really glad I have it now. You can also use an iPad for automation if it’s new enough. Don’t remember where the cutoff is. Check Apple’s HomeKit page.

are you guys talking about this DTH? smartthings-insteon/insteondimmer.groovy at master · kuestess/smartthings-insteon · GitHub

I don't see anything in there that would keep you from running it on hubitat and just pointing it to the local ip/port of the insteon hub. have you tried that? I see in the instructions something about port forwarding your insteon hub to the internet, I assume that is because smartthings runs everything in the cloud.

1 Like

When my hubitat shows if someone can help me port it I will give it a try.

Not sure. I tried it, changing all that I know how to change from instructions (I'm not a dev), but it did not work. Probably I missed something important. From this thread he says it can run local (which I couldn't get working), but won't show status updates without access to Insteon's cloud instance.

Here he confirms you need to have an API key, which Insteon isn't issuing anymore, to even legitimate developers. I did it with other API keys, but I had issues on those other products. Not sure it was related, but I stopped using it because I moved onto my completely local solution via Hubitat, Homebridge and HomeKit automations.

If someone could make this work, I would try again for sure, but I'm much happier with a completely local solution, so that would be ideal. I did reach out to kuestess (who is also the author of the Insteonlocal Homebridge plugin), but he said he had no plans to move to Hubitat. However, he did offer to help with a port. I'm not the right guy for that though, and I had already moved on to my current setup, so did not pursue it further.

I am on holiday but when I get back I will start work on porting over the Insteon stuff.

I just don't want to replace my Insteon hub to get homekit

Nobody should buy the Insteon HomeKit compatible hub. The only person that I know who owns one, hates it and doesn’t use it. Adding Homebridge to your network with the Insteonlocal plugin for Homebridge will expose Insteon dimmers, switches, outlets and plug-in modules connected to the 2245-222 (Non-HomeKit compatible) hub, allowing local control of those Insteon devices. So even if Insteon’s cloud instance is offline again, those Insteon devices will still be controllable, and their status will update in HomeKit. Tie that together with HomeKit automation, and you can keep the status of virtual switches in Hubitat in sync with the Insteon devices. So even if your ISP’s connection to the internet drops off-line, you don’t lose control or status of Insteon devices in either Hubitat or HomeKit.

1 Like

Sorry -

I assumed to get HomeKit to work I needed the HomeKit hub.... so the only issue is no ability to dim?

I use some macros for various Plex scenes like - if after 6pm and plex starts a movie, dim cans to 10%

I just looked closer at the readme in his repo as I hadn’t been there in a while. Looks like he’s also supporting leak sensors and ioLinc now too, which is great news. I need to update my plugin and play with the new features next week.

“Implements local control of Insteon devices including switches, dimmers, scenes, iolincs (configured as a garage door), motion sensors, and leak sensors via Homebridge”

[Edit] Live dimming works from HomeKit, but (in the version I have anyway), it’s slow to update because it has to periodically poll the Insteon hub.

Can you point me to a document on what I need to do to install what you did?


I can try to pull together a few links quickly, but it’s my wife’s birthday, so I don’t have time today to pull together step by step. But I am willing to do that. I may have done it already. I’ll have to look around. I’m guilty of repeating myself sometimes and not remembering. :stuck_out_tongue_winking_eye: