[Updated] October 6, 2018
I have wonderful news for Hubitat owners with Insteon devices. Thanks to the efforts of @ogiewon with the development of HTTP Momentary Switch, @cwwilson08 has modified it for use with the Insteonlocal plugin for Homebridge!
By setting "use_express": "true" in the Insteonlocal section of the Homebridge config.json file, Homebridge will accept HTTP GET request and turn on or turn off Insteon lights with no need to send to the cloud and no requirement to sync HomeKit automations to virtual switches for lights.
Scott Kuester, the creator of the Insteonlocal plugin for Homebridge, has created a stand-alone Express Server for those that do not want or need Homebridge. You can find it in his repo, but it is not published on NPM yet, so you will need to first install Node.js, download the zip of Insteon-Server from Scott's github repository, move the expanded files to the node_modules directory and the type npm -g install. Once that's done, you need to run npm -g install home-controller and npm -g install express to get the required dependencies. Lastly, run it by typing node insteonserver.js
Difference between this driver and the express server, versus the Instoen direct driver
•Use this driver with Express Server, for input from Insteon sensors.
•Use this driver if you have Insteon Keypads (currently only supported via Homebridge)
•If you only need to control Insteon lights, outlets, relays, micro dimmers and switches, and don't need to interact with the device directly (e.g. you don't need changes to the device to refresh the state in Hubitat) then you should use the Insteon direct PLM driver
Ramp Rate - The built-in device Ramp Rates are now supported for individual devices, but user definable Ramp Rates are not supported from the driver. Therefore, the Fade box in the driver does not serve any purpose and may be left blank.
Refresh - User selectable refresh has been removed due to unexpected issue with Rule Machine delay settings and slow device behavior when more than one device at a time was using the built-in refresh. If you need Hubitat to reflect changes made to a device such as a wall switch or micro module, you should create a Rule Machine trigger based on periodic. Multiple devices using this HTTP driver for express server can be refreshed at once without issue. Changes to the driver in Hubitat will update instantly, but changes at the devices outside of Hubitat, such as dimmer adjustment, Micro Module latching or momentary modes, or response to Insteon Load Sensing feature found in LampLinc plug-in modules and wall outlets will not be updated in Hubitat unless refresh is used.
Future goals include, support for:
• IOLinc devices
• Insteon Scene Control
Here's how to get started:
- Install Homebridge on a RPi or old computer and then install the Insteonlocal plugin. A stand-alone Express Server that does not requre homebridge is also available. See update note above.
- Add "use_express": "true" to your Homebridge config.json file. It should be just before the line "server_port": "3000",
- Add the Hubitat "Insteon HTTP switch/dimmer" driver code (copy from above)
- Enter the IP of your Homebridge computer in the driver (not the IP of your Insteon hub)
- Enter the port number from your config.json file. This is the port number of the Insteonlocal Express Server (not the port number of your Insteon hub). Default is port 3000.
- Enter the IP address of your Insteon hub. This is required to allow smooth dimming when using the Express Server that does not otherwise support it.
- Enter the port number of your Insteon hub. Default port is 25105
- Enter the Insteon ID (Do not include decimal points or spaces) of your switch, bulb, dimmer, lamp module, etc. You can find these in the Insteon app under Settings > Devices (Note IO Link and Insteon scenes are not supported at this time)
Your Insteon lights should now be controllable from the driver.
- Enter a value in the top field and click "Set Level" to manually set Brightness level. Brightness may also be changed via Rule Machine, Alexa Skill or anything that supports changes to brightness levels in Hubitat.
Thanks go to @ogiewon and @cwwilson08 for the great work in putting this driver together and a big thanks to Scott Kuester for creating the Insteonlocal driver for Homebridge and the stand-alone Insteon Express Server