INSTEON support - trying to start a central thread for request

Yeah, the insteon code i’m using allows for this “back door” connection to the hub as well… although I’ve not verified as I don’t have one. I’m only going by the insteon documents. But, help on the ST side if you’re more comfortable there would be great. I’ve only had my ST hub for a week, and this lack of documentation is really slowing me down.

@tracstarr - When coding this, also remember that @Ben has said that Hub v2 will have a USB port on it. That might make it easier? Don’t know enough about INSTEON to know if the USB adapter would be workable through the Hub and if you could discover devices through it.

Yeah, it would depend if they allow low level access to serial port drives via fdti which is what you need to connect to the PLM. Also, I’m doubting there would be the ability to keep that port open with a service running - which you would need to receive communication FROM the PLM to update status of devices manually triggered or otherwise. It sure would be nice though… but until we know more…

So I have an Insteon HUB and a number of Insteon devices. I’m really not happy with having to setup everything from my phone and would like to find another solution.

If I bailed on the Insteon HUB could I use the SmartThings to control my Insteon device?

My system isn’t all that complicated, I’m just having a number of lights automagically come on/off in the morning and at night

Is there a reason Insteon wouldn’t be considered for core protocol support (or am I misunderstanding SmartThing’s stance on this?)?

For me it’s more about my existing (Insteon) devices than anything else. I’m not just going to rip everything out and replace; but I might be willing to slowly shift to something else, if it makes sense.

You can have the smartthings hub talk to the insteon hub with this code:

Any ideas to get this http://www.insteon.com/hidden-door-sensor working with ST? Any help would be greatly appreciated.

Aeon has a sensor like this.

Unfortunately, SmartThings does not support Insteon at all. So, you need to find equivalent zwave, zigbee, or wifi devices…and there are plenty of them!

Thanks Brian. I actually have a few of those, I’m able to add them to my ST hub, but they do not report status changes (seems they always report as open). I was going to use the Insteon sensors instead, but it seems I’m out of luck.

Just want to add to the chorus of abandoned Revolv users with big investments in Insteon. The Revolv community alone should be incentive enough for ST to add capability to control Insteon, but I will offer up that Insteon has devices that I don’t see anywhere else. Example: outdoor appliance controller. I have an outdoor lighting controller that is 100 feet away from my home and can reach wifi. Because of Insteon’s dual band capable of extending the mesh via the 110v circuit that does reach that far, Revolv can control my outdoor lights. I’m not aware of another way to do that without rewiring within my house. Hope ST adds Insteon support!!! Save me from my Revolv!

the new insteon hup has an official api. so with that and the newer ST hub coming out soon i would think support for insteon should follow. lets hope anyways.

I already had the older Hub (2242-222) and decided to try out the new Hub (2245-222) for the integration with Harmony and to try out the new API. After messing around with it for a couple days and sniffing the traffic from the Windows app I thought I share some of what I found.

Insteon has stated that the new hub needs to be connected for it to work and this is mostly correct. If you link items like switches or remotes to responders, they will still work if the network is unplugged. However it looks like all the mobile apps rely on using the cloud service to send command and receive status updates.

The new Hub seems to basically work as a relay device. It looks like the Hub and the clients all connect to a couple Pubnub channels to receive and publish commands. There are two channels, one appears to be for the Hub itself and one is for the any commands/events.

When the Windows app connects it authenticates with the Insteon api getting all the info about the account and the devices that are setup. It also makes a call to request the authentication token and the channel names on Pubnub for the specific Hub ID.

The app uses the rest api to subscribe to the two channels get the event status. The events stream seems to show everything the hub does. I paired a mini remote buttons to 4 empty scenes and I was able to see the different insteon events for a single tap, double tap, long press, etc.

Each event in the stream is tagged with a message id which is the epoch timestamp along with a sequential id number. Looking at the history of the events, it only stores the last 100 events. Looking at the stream for the Hub I also saw the history of when upgraded the Hub and the PLM firmware along with the web addresses for the firmware files.

I’ve been playing around with the official API as well which does have an event stream endpoint but I was never able to get it to work properly. Tapping into the pubnub stream I’m hoping to make a smartapp to tie in the insteon devices and provide realtime status for the various devices. This method would depend on still having internet connectivity.

The old local HTTP api on the hub still works for sending commands and getting the bufferstatus so it is also possible to have local commands as backup if there is no network. The api though makes it much easier to discover all the devices and get a realtime status of devices.

Having a lot of Insteon I am wondering if the Smart Things hub could replace what my system is doing for me. I dislike the interface on my Insteon ISY but love the power.

I built a new home about a year ago and put 75 Insteon switched in it. I also have about 10 insteon motion detectors and 12 wall controllers etc. I control this system with the ISY994i device. I can say that it is very (very) powerful. It automates everything and you can build very complex rules. Basically my house “hides” it’s automation from me. If I forget to turn off a light it will turn them off for me. It will turn on the outside lights if it is raining and below freezing so my barn lights don’t overload with ice. It fades down specific lights so I have enough time to move from one room to the other before it goes dark. It sets night lights if it detects motion in certain areas. With that power comes a very clunky interface that runs on Java. It is not for everyone - it’s not even for 10% of the public - but for people that can run it it is perfect once it is set up. It’s hard to explain how these rules work and how complex you can set them - but it is almost unlimited. I don’t have this system tied to a phone app - because much of it is automated - and there are wall controllers everywhere. Insteon hardware has been rock solid (having been a Leviton Green Line switch customer in the last house) over everything else I have tried. I even have custom printed buttons and wall plates so I can hit “goodnight” and my kid’s room will slowly fade the lights after 20 min to a night light level and then turn off in 30 min and not let him turn them back on for about an hour (only on weekdays and skipping holidays). I can double press a button and turn on his WiiU for an hour - Double press another and he gets 2 hours. The lights in the room will flash on and off so he knows he has ten minutes remaining.

I would love an easier system - but still need all the power. I’m not sure if that is possible but would love it. Insteon offers a lot of horsepower in terms of its’ ability to customize - and it integrates with my Elk alarm system giving it the ability to detect many other variables.

Outside of those two systems that are integrated - I have a lot of Lutron Serena shades - nest thermostats - a dedicated Samsung DVR security system - and Big Ass Fans with Sense Me. I’m unsure how adding these systems to my lighting system would improve the overall setup…

I would love to test out another system - but am unsure if I can live with limited ability. From my understanding - The Insteon switches store the information in the hardware and not the hub. The hub acts as a controller for external variables (weather / time / counters / etc.) but the core is stored on the switch side. It also handles all the addressing etc.

It would be awesome to have a SmartThings to Insteon hub LAN interface with full control. Everybody wins.

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.

1 Like

I was going the SmartThings route because Echo would connect to SmartThings and then I could connect to Sonos and Insteon for voice command. Well Echo now connects to the Insteon Hub directly and it works pretty well. So I’m suddenly good.

subscribed

subscribed

Thanks for sharing this. Have you been able to use the restAPI to get the events? I can only get the device activation events using the restAPI, but not the device on/off events.

Specifically, this is the code (python) that I’m using. I think the problem is that this URL is only good for device activations and not on/off event. The documentation does not mention URL we should use to get events associated with device on/off. If you find out please let me know.

from urllib2 import Request, url open
headers = {
  'Content-Type': 'text/event-stream',
  'Authentication': 'APIKey my_api_key',
  'Authorization': 'Bearer my_token'
}
request = Request('https://connect.insteon.com/api/v2/houses/my_house_ID/stream', headers=headers)

response_body = urlopen(request).read()
print response_body

I’ve had no luck using the steam endpoint at all. I keep getting the same 403 forbidden error when it tries to redirect me. I tried submitting a ticket to the developer portal way back in September but never received a reply. I’ve just been trying it with the Postman app and some other sites though, i’ll give your python code a try to see if I have any better luck.

As a work around I’m looking at sending email alerts to pushingbox.com which can then fire off a HTTP command to an endpoint in a smartapp.

If you are getting 403 it means that your token isn’t right. Trying co trolling a device with your token and API key first t make sure your credentials are correct. I can get streaming to work for device activations but not for on/off events.