Insteon Local Control!

Thanks and let me know if you need more info from me.

So Iā€™ve not had time to continue work on this Insteon LAN bridge lately, but hereā€™s a link to my solution. I have a local insteon webservice running talking to a PLM. You need to have your insteon devices linked to the PLM already to use in ST. You can then install the ST app and it will discover the insteon devices for you. Refresh of device status is handled by the local web server. It receives the insteon events and passes them on to ST. This way things are ā€˜refreshedā€™ when they happen, not on some schedule.

Thereā€™s still lots to do, but it does work.

This is awesome, going to dig into this a bit.

Just message me if you have questions etc. It would be great to get help. I seem to get only chunks of time every few weeks to play with it. The one thing that may not currently work is the old url using api graph. I think itā€™s now dynamic and would have to be passed in as settings. There is case for it in github already.

Ah, This is only for the new insteon hub. Most of us are still using the 2422 or Smartlinc.

Hi Michael.

Thanks for your work above. I followed your instructions and almost everything worked with the exception of the light I am trying to control turning on. Below is an exact sequence of what I did.

First, I am using the Insteon Hub 2245-222 with Hub2

Log in to https://graph.api.smartthings.com
Select ā€˜My device typesā€™
Click on ā€˜+new deviceā€™
Select tab ā€˜From Codeā€™
Pasted code and changed Hub IP, port 25105, device ID, user, and password.
Note: I used the device ID that shows up in the Insteon hub app for my device (without .)
Click ā€˜Createā€™
Click ā€˜Saveā€™
Click ā€˜Publishā€™ and ā€˜For Meā€™

Select ā€˜My Devicesā€™
Select ā€˜+New Deviceā€™
ā€¢ Name: Island Lights
ā€¢ Label:
ā€¢ Zigbee ID:
ā€¢ Device Network ID: 2B7311
ā€¢ Type: Insteon Switch (LOCAL)
ā€¢ Version: Published
ā€¢ Location Home
ā€¢ Hub: Home Hub
ā€¢ Group:

Click ā€˜Createā€™

Select ā€˜My Devicesā€™
Select ā€˜Island Lightsā€™ under ā€˜Display Nameā€™
Under ā€˜Preferencesā€™ click ā€˜Editā€™
In the blank fields, I used the same information that I included in the code: Hub IP address, Insteon port, device ID, user name, and password
Click ā€˜Saveā€™

Select tab ā€˜My Device Typesā€™
Choose ā€˜michaelgold: Insteon Switch (LOCAL)ā€™ [which is listed as published under ā€˜Statusā€™ and Actuator, Sensor, Switch under ā€˜Capabilitiesā€™

On the right, under ā€˜Locationā€™ I chose ā€˜Homeā€™ and then ā€˜Set Locationā€™
Under ā€˜Preferencesā€™ ā€˜Choose a device to test withā€™, I selected ā€˜Island Lightsā€™ and then ā€˜Installā€™

Click on ā€˜Publishā€™ and ā€˜For Meā€™

Under ā€˜Simulatorā€™, I clicked on the virtual button, but nothing happens.

I tried the set up previously and had more success where the button change status to ā€˜Onā€™ and ā€˜offā€™ but the lights didnā€™t go on or off.

In the Smartthings app, under ā€˜Thingsā€™, the ā€˜Island Lightsā€™ would go on and off in sync with the simulator (but the lights would not work).

Additionally, there were no errors reported in the log.

Can you provide me with some suggestions on what I may be doing wrong?

Thanks

A

No, itā€™s not for the new hub. It should work with smartlinc (itā€™s serial over ip isnā€™t it?) Any serial protocol device should work, although Iā€™ve only tested with usb PLM. (2413u).

I donā€™t see any mention of the 2422 and smartlinc code in here anywhere. That code specifically is like this -

http://IP_ADDRESS/3?02620E79860F11FF=I=3

This would turn device 0E7986 to 100%. FF is 100%, 00 is 0%.

Ok so I now got a new Insteon Hub (I really wanted the integration with Echo and thought worst case I could make it work with Logitech Harmony Hub).
Tried with the latest code 55 (Insteon Switch Groovy) and removed the extra / which was giving the error.
Now I am getting a new error:
: error org.apache.http.conn.ConnectTimeoutException: Connect to 192.168.1.31:25105 timed out @ line 76
Any thoughts?
Thanks

You canā€™t use a local address. You have to use your ISP address. SmartThings connects to your home network via your ISP public address.

Make sure you forward the ports.

Have you tried it? I donā€™t have the 2422 specifically. Try setting the network address in the config. Donā€™t worry about the message format you provide.

I have the Insteon Hub 2242-222 and the V2 hub. Iā€™ve tried the code written by idealerror and gold. Canā€™t get either to work. Ports are forwarded, Insteon app works fine.

Getting a timeout message @ Line 76- failed connection:

7:23:08 PM: error org.apache.http.conn.ConnectTimeoutException: Connect to 192.168.1.33:25105 [/192.168.1.33] failed: connect timed out @ line 76

Any thoughts on how to fix it?

Hi everyone.

New to the community and will be a new ST user soon. I have a few Insteon switches that the previous owner of my house installed. Wondering if this code works with the Hub v2 2245-222 as I have a link to get one for a good price at the moment. Iā€™ve lurched the boards and I havenā€™t seem to find a definite answer. Please advise. Thanks!

Derrick

Dumb question here. Since the smartlinc is discontinued, and the hub/hubII, and hub Pro all have some issues in terms of what they do support/work with, and people seem to want/need a LAN to Insteon type of interface, has anyone looked at the published APIs and REST stuff that Universal Devices has for their ISY-994 controller series?

https://www.universal-devices.com/isy-developers/

Iā€™m not a programmer, but for those of us that do have an ISY controller, it seems that Universal Devices has a very well published set of how to do things via REST (seems thatā€™s what Smart Things would need to use?).

I think the WSDL stuff is the REST code? (again, I donā€™t know anything about programming).

Hope this helps whomever may be trying to write stuff to work with Insteon.
Yes, not everyone has the $200 for the ISY controller, so Iā€™m sure the population is probably less than Insteon folks with the Hub.

Smartthings cannot talk to 192.168.1.33, Thatā€™s your internal IP. You need to put in your external IP provided by your ISP.

tracstarā€™s code should work with the 2245-222 as it utilizes Insteonā€™s real API service.

@idealerror thanks for your reply. So it seems I have some old switches that doesnā€™t work with the Insteon hub, but will work with Smartlinc.
So hypothetically I find a Smartlinc, from what I gather I would have to set up a port forwarding to gain access to Smartlinc from outside my network. But when setting it up with the code above would enter my internal IP address or my ISPā€™s address?

Sorry, totally overthinking this before i go out and buy anything :slight_smile:

Keep in mind, insteon is vaguely supported here so I wouldnā€™t go out and buy anything. So far Iā€™ve only built a basic on off switch. No other insteon product is supported really. If you have the newer Hub with the newer API, anything is possible with tracstars code.

You would need to use your ISP IP because smart things connects from outside your house.

@idealerror Thanks! Yeah I think I might be able to get a Smartlinc for rather cheap so itā€™ll be more for me to mess with while Iā€™m on holidays. So looking at @tracstarr Git page, Iā€™m assuming I would add the InsteonConnectApp.groovy and InsteonDimmableSwitch.groovy to the IDE since I have dimmable switches? Sorry for the many questions. You have been quite the help!

Yes, basically.

Keep in mind, tracstarā€™s code is only valid for the hub model 2245 and higher. Most people using the SmartLinc or the 2242 or below will not be compatible with his code.