[Release] Insteon HTTP switch/dimmer

Just checking in since it's been some time since this thread was last touched. Is this still the only/preferred method for controlling Insteon through hubitat? I got the insteonserver running on my raspberry pi and added the device to Hubitat but I can't seem to get the dimmer function working. I am able to turn the light on and off but using the dimmer slider does nothing. Has anyone else run into the same issue or have any advice on what to check to troubleshoot? Thanks in advance,


Have you entered the username and password for both the Insteon server and the Insteon hub?

There is a new driver. I have not posted an update and instructions, but the new driver (parent and child) is in Chris’ repo along with the existing drivers posted above.

Yes. I updated config.json with the hub username, password, ip addy and port. And I have added the Express Server ip & port along with the Insteon hub's ip/port/username/pw and the device's Insteon id in the device preferences.

As previously mentioned, I can turn the light on/off via Hubitat, just can't do any dimming. I'll see if I can find the new driver and see if that changes anything.

Ok, I figured it out. It wasn't clear in the version of the driver I'm using that the Insteon device id (for the dimmer) needs to be entered WITHOUT any periods. I noticed that there was a comment in the Insteondirect drivers that mentioned that so I removed the periods and it worked!

Thanks @SmartHomePrimer for the hint to look at Chris' repositories.

1 Like

Thanks. I'll update the instructions. Good catch.

We had a problem with getting dimming to work properly with "insteonlocal", as it was at the time Chris wrote the driver, which runs as a plugin to Homebridge. and created it as a hybrid, connecting both directly to the hub for smooth dimming and fast-off, and to the Insteonlocal plugin for on/off and status if I remember correctly. Since there was a lot of overhead in Homebridge at the time, that tended to be slow and not fire on occasion, or it wouldn't refresh properly sometimes. So we asked Scott Kuester if he would separate them out and he kindly did. Worked amazing. Then Chris asked about web sockets for instant refresh, so he added that too. That's where we are currently. Now working on 8 button keypad.

This setup has been super fast and reliable for me. The Insteon-Server application as you can see now is nothing difficult for a Pi to run. I run on a Macbook Pro with other stuff, so lots of HP there to spare. I don't have a massive number of Insteon products, 12 in total. Small house. I've shared it back into Homebridge using the driver from @dan.t and it's super responsive. No refresh problems anymore. Much better than when it was integrated into the Homebridge plugin

If you run the newer Insteon parent and child driver Chris wrote, once all your devices are saved in your config.json file, you just click Initialize in the parent, and it will auto create all the children. You also won't have to enter their deviceIDs as you do in the older driver linked to in this post.

Without knowing how many Insteon devices you have, if you're a long time Insteon user, you know how great they are. No worrying about losing pairing like Zigbee and Z-Wave. The dual mesh is very reliable, so it's just amazing with the compatibility and strength of Rule Machine 4. I'm able to integrate a massive amount of devices with the tools available from Hubitat and the community here.

1 Like

Oh and welcome to the Hubitat Community! I think you'll have fun with the hub. It's a work in progress, but pretty damn stable if you pick your devices right. Insteon and Caséta Picos are two excellent choices in my opinion. Both very stable.

Thanks! I'm trying to migrate from openHAB, but I'm finding that there's minimal support for my devices. I've had Insteon devices for years now and I love how solid and reliable they are. I just wish there was broader support amongst HA platforms. I currently have about 25 Insteon devices, including on/off switches, dimmers, dimmable outlets, motion sensors, leak sensors and an I/O link. I have everything working great in openHAB but I have heard great things about Hubitat so I figured I'd give it a try and see how it compares.

I'm going to have to figure out how to modify the driver and insteonserver to integrate the other devices or else this hub will be of no use to me. I also have about 40 Wireless Sensor Tags (including temp/humidity tags, motion sensors and open close sensors) that aren't supported by Hubitat so that will be a whole separate struggle.

Anyway, thanks for the welcome. I hope to be able to contribute as well.


All of these work with the latest driver. Dimmable outlets are not tested, but they should function just fine if you call them lightbulbs in the config.json file. All my dimmable devices, lightbulb or not, are set to "deviceType": "lightbulb", and then just "dimmable": "no", or "dimmable": "yes", Device types would be "contact" for door/window sensors (which should include the hidden contacts), "leaksensor", and "motionsensor". We would really appreciate knowing how well, or if it works properly with the dimmable outlet, as my outlet is on/off only. Shouldn't be any different than the 600W dimmers and plug-in dimmer modules we've tested on. I have an Insteon leak sensor, and although my IO isn't in use at the moment, it works. Motion sensors are also untested, but they are supported, so we would love that feedback as well.

Well that’s great news then. Can you post a link to the newest driver?

Oh and one last question (for now :wink:): are scenes/groups supported yet?

Sure. Will post something official later, but for now they're right here
Everything but the Hubitat-Insteondirect.groovy, that is the old direct driver.

There should be support via the Keypad driver if we get them working, but honestly it won't make as much sense to build them on the Insteon hub anymore. Hubitat scenes and groups is very good, and the response of Insteon devices is fast. Do you have multiple lights on a few switches in a large room? That hasn't been tested in a real world setup, but I've simulated it and there was no popcorn effect. Scenes are supported by the Insteonlocal driver, and it shares home-controller with the Insteon-server node.js app. Home-Controller is the listener and where the magic happens. We have been able to see the group numbers in the server terminal, so we're trying to get that addressable by button, then using RM you should be able to just use keypad press. Just not sure at this point if that can work without an actual keypad being joined to the Insteon hub.

Yes. This is really the only reason I use groups. I have over-cabinet rope lighting in the kitchen that utilizes 4 dimmable outlets. I use these as a sort of night light in the evening. When a motion sensor is triggered, I slowly ramp up all 4 outlets to a given percentage. I want for these to all ramp up in unison.

1 Like

We can't control ramp rate in the driver like you can with other devices attached to HE. You have to set it in the hardware. So if you want that rate to vary, then you will need to address Insteon scenes. I think it should be doable, but Chris is the one able to make that call better than I. However, if you just need to control specific dimmers in a specific order, that can be done with HE via scenes and many other different ways. I only use the ramp rates set into the hardware or I use fast-on/off. Probably you can simulate the same thing with a RM rule. Just never tried.

I’ll just have to play around with the rules and see how everything works then. Thanks again.

1 Like

@SmartHomePrimer, I'm struggling with how to properly list the devices in the config.json file. Do you have a working example? When I do what I think I'm supposed to do, and click Initiailize on the Insteon Parent, nothing happens.

All the child device code is there? You need a different child device driver for each device type (i.e. Insteon Leak Child, Insteon Contact Child, Insteon Dimmer Child, and Insteon Motion Child).

Yes, I added all of the child device drivers as well as the parent.

After you click Initialize, click Save Device