The Fate of true Insteon PLM support from an already great product

There have been some changes to the platform since @SmartHomePrimer and I worked on this , it may be possible to setup a websocket to listen for events from the hub now. I find it very hard to do much more without any insteon equipment to test on.

1 Like

what do you need , I can get you some stuff, as if it helps the cause I am willing to invest :slight_smile:
The smartenit hub uses a usb cable to the usb Insteon PLM, now how they are accomplishing the com I dont know I will have to attach a monitor to the hub and snoop around :slight_smile:

But if you want I can fund som gear for ay just let me know ... I dealy I would like to see usb from the HE to the USB PLM com wouldbe sweet, not sure it is possible but as I said Smartenit is doing it (just getting started but works with statues etc)

I appreciate the offer. I however am a novice as best. I would not be comfortable taking equipment from anyone, there is no telling if I could make it work in the end. I don't want to put anyone out on what would be essentially a roll of the dice.

Reach out to @patrick. He wrote a driver for the USB PLM back in his SmartThings days. Only he can say for sure, but it might be possible for the code he started with to be modified to work with HE.

Otherwise, I think you're going to need a Raspberry PI to connect the USB to. There's lots of info about the Express Server which uses Home Controller and what it's capable of doing here. It was written for Home Assistant originally I think.

Anyway, get in touch with Scott Kuester via his Github repo GitHub - kuestess/homebridge-platform-insteonlocal: Homebridge platform plugin for local Insteon control. He wrote the original Insteonlocal plugin for Homebridge and also the stand alone Express Server and he's working on something else right now too which sounds like it needs one of the older serial Insteon controllers, or maybe it works with ISY. I just looked briefly at description. Scott can tell you more what's appropriate for the equipment you have.

Or, just buy an Insteon 2245-222 hub, a Raspberry Pi Zero W with a case and throw Node JS and the express server on it. That setup works fine for any Insteon switch, dimmer, micro dimmer, micro switch, outlet, or plug-in module. You can pick up a used 2245-222 hub for $45 used or $80 new and you can get a Raspberry Pi Zero W starter kit for $35. You just run the RPi headless. I'm using a computer for the express server right now because I use Node.js for other things, but if you're only going to run the Express Server for Insteon, it's really simple to setup SSH and the WiFi connection. You then just SSH into it and install Node.js and the Express Server vis NPM. I'll be happy to guide you if you need it. Lots of others here and online can help with that too. Not hard at all. It will take about 30-60 minutes to setup. After that, it's rock solid. I don't have to think about the express server. Never needed restarting. Just works.

SHP,

Thanks for the information...

I still need to reach out to @patrick and see if a port to use the usb PLM directly is possible or not worth it :slight_smile:

Yah I figured that each device would need to be configured induvidually, and then comminicat to the hub thru the HttpGet, and saw that the staus was an issue, which seeing that I uses these control daily manually will cause a problem as will always be out of sync :frowning:

I did take a look at the other option with using the middel layer Express server ( which means now we have 3 devices instead of one, which even though I have may setups using RPi and stuff it is what I was tring to get away from), but with the above said I also saw work on a beta where the where using the what iIthink is the 2243 hub Pro and flashing the ES image which would reduce the HW to 2 devices but
will have to take a look at this and see if it is worth yet going and buying a $143 hub when I already have 6 different solutions infront of me from different projects :slight_smile:
thanks again for th response, I will wait for my regulasr Insteon 2245 Hub to get here was suppose to be but some how got lost in the mail so they had to resend, and give the hub with out status as I also saw "sendHubCommand" in the code that was commented out and intreseted to see where that was going

Thanks

1 Like

Well you need to pick what you’re comfortable with. You’re never going to get below two boxes because you want HE because it’s one of the best home automation systems there is, and you need an Insteon radio, so you’re going to have a second box right there.

Honestly, the Express Server is so simple and the RPi so small and low power consumption, it’s almost like just plugging in a dongle to make things work. After initial config, you never touch it other than to start it.

Agreed...
and I do admit HE hub/Platform is one of the best out there, out there and I only see it getting better :slight_smile:

I think I will do baby steps and start with the device code and the 2245 hub then either move to
the RPi and ES and the hub or see where the Hub Pro 2243 is heading as I really want the sensors, KeyPadLInc to be exposed with in HE :slight_smile:

I did ping Patrick to see wherether direct HE HUB to PLM was even possible or a waste, so we will see,

I know it can be done as I said I have another HUB by Smartenit that is USB to the 2413U PLM and it seems to work (they are still a work in progress, same bumps I see in other treads) but they only support Zigbee and not Zwave, Zigbee etc.

Also consider that CES starting in a few days could bring announcements from both manufacturers that could change the landscape a bit.

Wait it out a few days if you’re undecided is the best advice.

Cool...

and I do love to hear what comes from CES, one day I will get there almost went a few years ago, but
ended up having a triple bypass, that sort of threw a wrench into the mix.,.. ROTFL

It truly is amazing at how how fast things and tech change, I been dabbeling with this for like 20 yeas, and have had boards in computers running X10 with voice, and sensors,I remember when they came out with Eliza on the TRS80 and it was a pain to setup/program, jump forward 20 years and you can get plug and play HA. and ask alex or google to do alot...

who knows whats next :slight_smile:
Again thanks for you help, cant wait to get my Insteon HUB and give it a whirl..

I cant say that my ISY994i has ever failed me, I just love the approach HE has taken to make creating Rules and lighting scenes, like the direction of the Dashboards do hope it gets to where SharpTools is going as there interface to HE is slick and getting slicker :slight_smile:

Keep up the good work, and if you ever need some one to test some stuff Just ask,

Mark

1 Like

Hi SHP,

I was with my friend today and we priced out both Lutron Homework’s and RA2 anthem cost would be well into like $8k with the friends and family discount, so that’s a show stopper :frowning:, all in with Insteon, keypads, dimmers, switches, sensors, open close, a new hub, mini remotes, jam switches I’m in for about $1.3k so I will have to make it work :slightly_smiling_face:

So I tried the direct PLM driver and it is fast and works well, but as you said, no status of any type and I see it is only switches, so I guess I will try and move next to the homebridge-platform-insteonlocal, I probably already know the answer but is there a guide as to what steps to get it all set up and interfaced together like what OS I should use on the RPi, I got a 3b+ with a 32GB micro I think It has noobs so I have a choice of installs, I have to assemble tomorrow and start, so I saw you said I need to install node.js and express server ...... any way any directions steps would be great as once the Pi is built how do I tie it back to HE, as I would assume I should remove the Driver cove for Insteon direct dimmer/switch and any devices created with that, I am pretty good at getting things working just need to have a guide or the proper steps so thanks in advance for any help you or anyone else can provide, an if any one has a config file that has scenes, 8 way keypad links dimmers and sensors configured that I could use as atemplat that would be a real help.
Look forward to getting it up and running :slightly_smiling_face:

So this one...

homebridge-platform-insteonlocal

Is the only one you're going to get anywhere with Keypads and Sensors at the moment. Chris and I are going to see if it's possible to get sensor input, but I'm not able to look at that until mid January. Also, Scott Kuester said...

"Battery powered devices such as the leak sensor and open/close sensors go to sleep to save battery and only wake up to update status on a defined interval or as an event occurs. If you’re lucky, you might catch the device while its awake, but 99% of the time the status call won’t work because the device is asleep. For something like this, you need a persistent connection and code like the event listener in the homebridge plugin that triggers action on those events."

Also there's an issue that at the moment, there's no way to get HomeKit feedback into Hubitat unless you create a HomeKit automation between a HomeKit sensor (which is what the Insteon sensors would be essentially) and a virtual switch from Hubitat published in HomeKit via the Homebridge Hubitat app written by @tonesto7. Then you would need to also have either an iPad that can run the latest OS and dedicat it to being a hub for HomeKit automations, or an Apple TV 4 or later works as a HomeKit automation hub. HomeKit automations are not all that reliable in my experience. I'm using HomeKit automations for geolocation with HE right now and that works great, but I've stopped using them for other purposes.

So all we can do at the moment is control switches or dimmers. I was also able to control an I/O Linc, but only the relay. Same issue with the sensors. No input. Maybe we can do more, but I don't want to get your hopes up on the sensors and keypads.

How many door/window sensors do you have? Would replacement with Zigbee or Z-Wave sensors be feasible? I don't have an option for you for Insteaon Keypads and I don't own one, Which keypad or keypads do you have? I might be able to borrow one, but it would take some time to get to that.

As far as installation, if you're going to run the full Homebridge so you can use the Insteonlocal plugin, then you should install Raspbian not Noobs. I can't remember why, but do recall for some reason it made things more difficult.

Raspberry Pi setup

You can either run the Raspberry PI headless, you can get a keyboard and connect it to a monitor, or you can install TightVNC Server and remote into it. Headless is more challenging, but only for initial setup. After that, you really don't have to touch it.

If you're going to run the RPi headless, then you need to enable SSH which is simple.

  1. After imaging Raspian to the SD card, navigate to the boot directory of the SD Card and create a blank file. To do this, at the prompt > just type sudo touch ssh. Another way is to download ATOM text editor. It will be able to navigate to the boot directory of the SD card and then you can just make a new file with nothing in it and save it to the boot directory with the name ssh

  2. Eject the card and boot it up in the Pi. Type SSH pi@ and then enter. The default password is raspberry, but you should change this.

  3. Once you're logged in, change the password with passwd

  4. Type sudo raspi-config at the prompt and you can setup the rest, and If you're going to setup the WiFi, you can do that here as well. I wasn't able to setup WiFi on a RPi Zero W using the raspbian configuration utility, so if it doesn't work you'll have to eject the card and make wpa_supplicant file. Also easy, but try the configuration utility with a RPi 3b+ first.

  5. After those are setup, you need to update with sudo apt-get update

Homebridge and Insteonlocal setup

If you're going to do the Homebridge install, it will install node.js for you. Just follow these instructions.

It should only be necessary to type sudo npm install -g homebridge

  1. After install, at the prompt, type homebridge to see if it works. It will complain about not having plugins or a config.json file. Ignore that for now.
  2. CRTL-C to stop it and now install the insteonlocal plugin with sudo npm -g install homebridge-platform-insteonlocal
  3. Once everything is installed, in the home directory you'll find a directory named .homebridge and inside that you'll create the config.json file.
  4. Type sudo nano config.json
  5. Your homebridge config file should be something like this [see below], obviously replacing "hub username" and "hub password" with your actual hub username and password, and replace host with your hub's IP address. And of course, all the devices will be what you have and your device IDs. The names can be anything you want, that's really just for you. It is the name that will show up in HomeKit, but it's the ID and type that's important to making your Insteon devices work.

Information about the config.json options for various Insteon devices can be found here

{
    "bridge": {
        "name": "Homebridge",
        "username": "1A:2B:3C:4D:5E:6F",
        "port": 45525,
        "pin": "777-20-543"
    },
    "description": "Hubitat Integrations, Insteon integrations",
    "accessories": [],
    "platforms": [{
            "platform": "InsteonLocal",
            "name": "Insteon Local Platform",
            "user": "[hub username]",
            "pass": "[hub password]",
            "host": "192.168.0.2",
            "port": "25105",
            "model": "2245",
            "refresh": "300",
            "use_express": "true",
            "server_port": "3000",
            "devices": [
		{
         	     "name": "Kitchen Light",
        	    "deviceID": "22D508",
       		    "dimmable": "no",
         	    "deviceType": "lightbulb"
       		},
		{
                    "name": "Table Lamp",
                    "deviceID": "3381AA",
                    "dimmable": "yes",
                    "deviceType": "lightbulb"
                },
                {
                    "name": "Floor Lamp",
                    "deviceID": "39FD35",
                    "dimmable": "no",
                    "deviceType": "lightbulb"
                },
                {
                    "name": "Deck Light",
                    "deviceID": "22740C",
                    "dimmable": "yes",
                    "deviceType": "lightbulb"
                },
                {
                    "name": "Overhead Light",
                    "deviceID": "2B55GH",
                    "dimmable": "yes",
                    "deviceType": "lightbulb"
                },
                {
                    "name": "Porch Light",
                    "deviceID": "3H6G48",
                    "dimmable": "yes",
                    "deviceType": "lightbulb"
                },
                {
                    "name": "Toilet",
                    "deviceID": "245D99",
                    "deviceType": "leaksensor"
                },
                {
                    "name": "Front Door",
                    "deviceID": "3FFFF64",
                    "deviceType": "doorsensor"
                }
            ]
        }
    ]
}

Stand-alone Express Server

If you're going to just install the express server, then you'll need to install Node.js separately and before installing Express Server. Probably easiest to still just use the homebridge install, but then just don't run homebridge if you don't want it.

  1. To install the stand-alone Express Server, type sudo npm -g install insteon-server

  2. If it complains about missing dependencies, then type sudo npm -g install home-controller and after that's done, type sudo npm -g install express to get the required dependencies.

  3. The Express Server config.json file needs to be created in the insteon-server directory and it should look something like this [see below], obviously replacing "hub username" and "hub password" with your actual hub username and password, and replace host with your hub's IP address. And of course, all the devices will be what you have and your device IDs. The names can be anything you want, that's really just for you. It's the ID and type that makes a difference.

      {
     	"user": "[hub username]",
     	"pass": "[hub password]",
     	"host": "192.168.0.2",
     	"port": "25105",
     	"model": "2245",
     	"server_port": "3000",
     	"devices": [
         		{
                  	     "name": "Kitchen Light",
                 	    "deviceID": "22D508",
                		    "dimmable": "no",
                  	    "deviceType": "lightbulb"
                		},
         		{
                             "name": "Table Lamp",
                             "deviceID": "3381AA",
                             "dimmable": "yes",
                             "deviceType": "lightbulb"
                         },
                         {
                             "name": "Floor Lamp",
                             "deviceID": "39FD35",
                             "dimmable": "no",
                             "deviceType": "lightbulb"
                         },
                         {
                             "name": "Deck Light",
                             "deviceID": "22740C",
                             "dimmable": "yes",
                             "deviceType": "lightbulb"
                         },
                         {
                             "name": "Overhead Light",
                             "deviceID": "2B55GH",
                             "dimmable": "yes",
                             "deviceType": "lightbulb"
                         },
                         {
                             "name": "Porch Light",
                             "deviceID": "3H6G48",
                             "dimmable": "yes",
                             "deviceType": "lightbulb"
                         }
                     ]
                 }
    
  4. To run the express server, type cd /usr/local/lib/node_modules/insteon-server (or the exact path where your insteon-server directory lives on Raspbian) and then type node insteonserver.js

Note: the /usr/local/lib/ path might be different on Raspbian. I cannot remember. I run mine on a Mac. You essentially need to be at the insteon-server directory to run. You may be able to add the directory path to your run command (i.e. node /usr/local/lib/node_modules/insteon-server insteonserver.js), but this doesn't work for me.

There's are many different ways to accomplish the same things in Raspbian, so over time you might want to play with them. One in particular is auto startup. I personally prefer the manual startup. I just find it easier to see what's going on with Homebridge, but if you're just using the stand-alone Express Server, then there's nothing to see. All it will show is

Connecting to Insteon Model 2245 Hub...
Connected to Insteon Model 2245 Hub...

There are tons of guides and instructions out there for how to setup auto startup and many opinions on which way is best. Best advice I can give is, once you get it working, make a backup of your config.json file (and if you're using Homebridge then also backup the persist and accessories directories) and most importantly, make an image of your entire SD card. That way you can play with stuff and if it gets screwed up, you just re-image the SD card and your sins are forgiven.

To install and configure the drivers in HE, download the driver code and follow the instructions here

Instructions for installing HE driver code are here if you haven't done that before.

Hi SHP,

and wow thanks for the information it is fantastic, I will give it a shot today...

I guess in my old age I seem to get confused more easily LOL, but just to make sure I undrestand, if I go the full route and install the homebridge-platform-insteonlocal, barring sensors, which I really have not implimented any yet, as this will be for a brand new install in my new home once I sell my existion home, but want to sort it all before I get down there and start installing and configuring, as I have about 7 - open/close, 7 - in jam switches, 7 - motion detectors, all of which if I had to could be moved to Zigbee or Zwave as I will use the SmartThings Multi sensor for the MyQ Garage door stuff so I can always sell off if need be,
but back to the point so if I read from your statement:
"So all we can do at the moment is control switches or dimmers. I was also able to control an I/O Linc, but only the relay. Same issue with the sensors. No input. Maybe we can do more, but I don't want to get your hopes up on the sensors and keypads."

the only thing I am gaining from adding the extra layer v.s. using what i am doing now with the Insteon Direct Dimmer/Switch is status in HE, as I see as you said only switches and dimmers, where I would liek to be able to use kepads, scenes as it seems that the homebridge-platform-insteonlocal has alot more to it, that is not yet implimented but has the possibility in the future...

Sorry If I am repeating myself, and trust me it does even frustrate myself, as as I said had Open heart surgurt about a year ago and it has seemed to messed with my cognative functions, where as sometime the Bulb is bright and I get it and somtimes my mind is foggy and cant remeber my own name ROTFL (not that bad but you get the picture.

Again thanks much I will impliment the homebridge-platform-insteonlocal and give it a whirl and tell you how it goes

All is good ... and working thanks so much for you help

so @SmartHomePrimer after playing around with it it does what you say and shows status, the issue is I am not really sure it is as realtime as I would have expected but I did see something about buiding a rule to poll it to make it happen faster I do see in the Homebridge screen stuff is happening and status is polled but I dont see the updat happen in HE untill I do a refresh, as I was wanting to make an action happen when say a light is turned on and reaches over a certain level

All correct. You get status updates from the Express Server and Insteon HTTP switch/dimmer driver. Whether the Express Server is configured stand alone, or used by way of the Homebridge Plugin, the result is the same as far as switches and dimmers are concerned, but I find greater stability in separating out the Express Server from Homebridge.

Insteon input devices will not work with the current HE drivers. The only way to get responses from Insteon input devices is to trigger HE devices at the moment (which also requires another hub essentially, in the form of an iPad that can run the latest OS or an Apple TV 4 or later) and tie those automations between Insteon and HE by also adding the HE Homebridge Plugin and exposing virtual switches. So when for example, an open/close sensor triggers, HomeKit shows it as active. So then a HomeKit automation would turn on an HE virtual switch in HomeKit and then HE would do something when that virtual switch was activated. Same as it would if a directly connected sensor activated.

It works, but then you're reliant on HomeKit automations to always work. While some say they are rock solid, that was not my experience with HomeKit automations, so I've abandoned that workflow personally.

CES starts today, and there's a possibility of announcements that could change things. Wait a few more days if you can before making any decisions on the sensors, If nothing helpful to your scenario is announced, then Zigbee or Z-Wave sensors would be guaranteed to work with HE and your Insteon switches, dimmers and micro modules, no extra equipment or software required.

Very simple periodic Rule Machine Trigger will refresh the devices for you.
Here's the rule overview...

And the settings you choose...

43%20AM 55%20AM

U da Man.... ROTFL...

Whats the impact you have seen on system performance, if any???

It does accomplish what I was expecting... now if i use it manually ot thru another app it will reflect within 10 seconds

As I see that the homebridge-platform-insteonlocal has scene capabilities and keypads, so have thoes other options been attempted and not worked, or was it due to a lack of time or intrest??

If attempted would these be needed to be added to the existing HTTP Insteon Switch/Dimmer driver code or would you say that maybe device code for keypads or scenes should be in a different codes set or whould that clash , as after I look atit for a while and digest the code what is going on, I may want to try and see if I could add keypads and scenes, but if this has been tried and not obtainable than I will not attempt, or if it has been started and abandoned is there som base code other than what I have to start tinkering with where might I find it... Not gaurenteeing much as even though I used to code, I was a hack at best and that was in the late 80's on mainframes and "C" on PC's :slight_smile:

Thanks for you help

I have not noticed any, but I only have 7 Insteon switches, dimmers, outlets and micro dimmers in use at the moment. You have more than that in just sensors alone. I don't own enough Insteon devices to stress test it. I started out with Insteon, but then realized the limitations of their hub software and saw no progress. I moved to Wink and ran two separate systems, then SmartThings and integrated everything and now HE.

A little from both column A and B. I first integrated Insteon by tying HomeKit automations to Virtual Switches. That seemed to work at first, but I soon found that automations often failed to turn switches off, or they would bounce off and then back on again. When Chris helped with the drivers, things became much more stable, but I still had an ON/OFF switch that is used frequently in our Kitchen, fail to operate, or it would still bounce on and off, or vise versa. Once Scott Kuester released the stand alone Express Server, I found that running it separate from HomeKit gave me 100% reliability. I do find that some of my lights lag behind when I run my Goodnight routine for example, so it's not like normal Insteon where everything turns off at once, but it's not that big a deal to me since everything does turn off every night as expected and turns on as expected.

So pursuing the sensor compatibility wasn't a high priority and time was short. With no other Insteon users asking for it and other projects we both wanted to work on, it has been sitting idle and unexamined. I began to discover inexpensive Xiaomi sensors. Tried a few and they're really impressive. Even though they don't follow the Zigbee spec 100%, they work great thanks to drivers created by @veeceeoh for HE. Until recently, their range was an issue and if they were too far from the HE hub, they would tend to drop-off and would have to be paired again or prodded into reconnecting. But we now know that Xbee devices and the new IKEA Trådfri outlets are compatible repeaters for them, so I have even less reason personally to pursue Insteon input devices. I live in a small house, so my issues with Xiaomi devices were minimal, as everything I own really has no choice but to be fairly close to my HE hub. However, I did have the occasional issue. Since adding two IKEA Trådfri outlets as repeaters, I've had no issues at all with the Xiaomi devices. So now I just order them when I need input devices because they're small, very nicely designed and solid performers thanks to the repeaters.

Having said that, I do have an Insteon leak sensor and an open/close sensor that I wouldn't mind putting to use. And if there's someone else in the community that can benefit, it's worth taking another look at. There's a possibility Chris says, of using Web Sockets to get sensor status. I'm not a dev and don't know how to code. I'm picking up some basics, but very slowly. My role in all this has simply been an alpha tester for Chris, since he doesn't own any Insteon equipment.

If you're looking for a recessed door sensor, Monoprice makes a Z-Wave version. No personal experience, but is a heck of a lot more affordably priced than the Aeotec or Insteon, and it looks like it might actually be the same sensor that Aeotec is using.

gonna start poking at this soon. we will see where that rabbit hole leads.

1 Like

@mjohnson007

I was trying to work on websocket code for insteon devices. The hub @SmartHomePrimer has does not support websocket as far as i can tell. (2245)

You however have the isy which I believe might work with with websocket.

Any chance youd be willing to do a little testing?

1 Like

:frowning: I was hoping that WS would have worked

Sure tell me what you need me to test,

It's funny all I wanted... was trying to find a one HUB/one stop solution...

This is what I am currently running to find my nirvana...

If I could take the best of all of them and creat a HUB it would be great, as Hubitat is so.. so.. close if they would just add native support for Insteon ROTFL heck the code is all there is OpenHAB is doing it directly to a PLM they should be able to take and mode the code, and maybe oneday add linking thru the interface :wink:

ISY994i w/ Zwave, Insteon w/ a Serial connection to a PLM running - web access & MobiLinc app on my phone/tablets supporting 50+ Insteon devices 5+ year (just tired of coding want graphical rules etc)

Hubitat HUB w/ Zigbee, Zwave , Insteon hub and PLM, then a Pi3+ running Homekit stuff you and others wrote , tried the direct but need notifications from switches and sensors, (all web access)

Smatenit HUB w/ Zigbee, Insteon, HTML, Insteon thru serial PLM, all web access, getting there but still in dev but allows direct linking of Insteon devices thru app, needs work, but when done will support all Insteon stuff, cameras and Smartenit Zigbee sdevices and other like locks etc

OpenHAB running on a Pi3+ which will soon be connected to a serial Insteon PLMusing another Pi3+ with 7" touch pannel to run HABPanel, soon to find out how well the Insteon works on that as they say Ity can talk directly to the PLM once the discoveries are done to it we will see, looks promising by requires alot of setup (all web Access)

Download the Hubitat app