Replacing ISY with Home Assistant – Part 1a – Transition Planning

This is the continuation of a short series on transitioning away from the ISY using Home Assistant.

The Experiment

I mentioned in my previous post that I had ordered some parts to run an experiment with my PowerLinc Modem (PLM). I needed to determine that I could use my existing PLM (an Insteon 2413S, which is the serial version) with Home Assistant’s Insteon plugin.

Following this highly-detailed post from P. Lutus, I ordered the following parts:

  • A USB Serial Adapter -> I used this one, but I think any USB to DB9 adapter will work.
  • A DB9 to RJ45 Modular Adapter -> The one seems to be popular in most posts, and it was easy to use.

While I waited for these parts, I grabbed the Raspberry Pi 4 Model B that I have tasked for this and got to work installing a test copy of Home Assistant on it. Before you even ask, I have had this Raspberry Pi 4 for a few years now, prior to the shortages. It has served many purposes, but its most recent task was as a driver for MagicMirror on my office television. However, since I transitioned to a Banana Pi M5 for my network reverse proxy, well, I had a spare Raspberry Pi 3 Model B hanging around. So I moved MagicMirror to the RPi 3, and I have a spare RPi 4 ready to be my new Home Assistant.

Parts Arrived!

Once my parts arrived, I assembled the “Frankencable” necessary to connect my PLM to the Raspberry Pi. It goes PLM -> Standard Cat 5 (or Cat 6) Ethernet Cable -> RJ45 to DB9 Adapter -> Serial to USB Adapter -> USB Port on the Pi.

With regard to the RJ45 to DB9 Adapter, you do need the pinout. Thankfully, Universal Devices provides one as part of their Serial PLM Kit. You could absolutely order their kit and it would work. But their Kit is $26: I was able to get the Serial to USB adapter for $11.99, and the DB9 to RJ45 for $3.35, and I have enough ethernet cable lying around to wire a new house, so I got away for under $20.

Before I started, I grabbed an output of all of my Insteon devices from my ISY. Now, P. Lutus’ post indicates using the ISY’s web interface to grab those addresses, but if you are comfortable with Postman or have another favorite program for making Web API calls, you can get an XML document with everything. The curl command is

curl http://<isy ip address>/rest/nodes -u "<isy user>:<isy password>"

I used Postman to make the call and stored the XML in a file for reference.

With everything plugged in, I added the Insteon integration to my test Home Assistant installation, selected the PLM Serial option, and filled in the device address. That last one took some digging, as I had to figure out which device to use. The easiest way to do it is to plug in the cable, then use dmesg to determine where in /dev the device is mounted. This post gives you a few options for finding out more about your USB devices on Linux systems.

At that point, the integration took some time to discover my devices. As mentioned in P. Lutus’ post, it will take some time to discover everything, and the battery-operated devices will not be found automatically. However, all of my switches came in, and each device address was available.

What about Z-Wave?

I have a few Z-Wave devices that also use the ISY as a hub. To move off of the ISY completely, I need a Z-Wave alternative. A colleague of mine runs Z-Wave at home to control EVERYTHING, and does so with a Z-Wave antenna and Home Assistant. I put my trust in his work and did not feel the need to experiment with the Z-Wave aspect. I just ordered an antenna.

With that out of the way, I declared my experiment a success, and starting working on a transition plan.

Raspberry Pi à la Mode

Raspberry Pi is great on its own, but everything is better with some ice cream! In this case, my “ice cream” is a new case and a new M.2 SSD. Why? Home Assistant is chatty, and will be busy running a lot of my Home Automation. And literally every channel I’ve seen on the Home Assistant Discord server says “do not run on an SD card!”

The case above is an expandable system that not only lets me add an M.2 SATA drive to the Pi, but also adds some thermal management for the platform in general. Sure, it also adds and HDMI daughter board, but considering I’ll be running Home Assistant OS, dual screen displays of the command line does not seem like a wise display choice.

With those parts on order, I have started to plan my transition. It should be pretty easy, but there are a number of steps involved. I will be running two instances of Home Assistant in parallel for a time, just to make sure I can still turn the lights on and off with the Amazon Echo… If I don’t, my kids might have a fit.

  1. Get a good inventory of what I have defined in the ISY. I will want a good reference.
  2. Get a new instance of Home Assistant running from the SSD on the RPI 4. I know there will be some extra steps to get this all working, so look for that in the next post.
  3. Check out voice control with Home Assistant Cloud. Before I move everything over, I want to verify the Home Assistant Cloud functionality. I am currently paying for the ISY portal, so I’ll be switching from one to the other for the virtual assistant integration.
  4. Migrate my Z-Wave devices. Why Z-Wave first? I only have a few of those (about 6), and they are running less “vital” things, like lamps and landscape lighting. Getting the Z-Wave transferred will allow me to test all of my automation before moving the Insteon Devices
  5. Migrate my Insteon Devices. This should be straight forward, although I’ll have to re-configure any scenes and automations in Node Red.

Node Red??

For most of my automation, I am using a separate installation of Node Red and the Home Assistant palette.

Node Red provides a great drag-and-drop experience for automation, and allows for some pretty unique and complex flows. I started moving away from the ISY programs over the last year. The only issue with it has been that the ISY’s API connectivity is spotty, meaning Home Assistant sometimes has difficulty talking to the ISY. Since Node Red goes through Home Assistant to get to the ISY, sometimes the programs look like they’ve run correctly when, in fact, they have not.

I am hoping that removing the ISY will provide a much better experience with this automation.

Next Steps

When my parts arrive, I will start into my plan. Look for the next in the series in a week or so!


5 responses to “Replacing ISY with Home Assistant – Part 1a – Transition Planning”

  1. David Bryan Avatar

    Why not go with the Home Assistant Yellow board, and Z-Wave GPIO board? I’m going to be doing the same adventure as this soon too. Not looking forward to having to re-pair all the devices, but hopefully I can just use the HA app on my phone, vs having to lug a laptop around with a Java client to pair my devices (especially on a ladder for the motion sensors). Also also have a number of Insteon devices, and am hoping that the PLM just works with a serial to USB adaptor.

    1. Matt Avatar

      I thought about HA Yellow, but I have a perfectly good RPI4 sitting here, so why not take advantage.

      Most of the Insteon devices came back without issue. I believe their network info is written to the devices, and since I didn’t switch out the modem, they came back. I had to re-build the Z-Wave network which meant removing the devices from the old network and building out the new one.

    2. JP Avatar

      You can used the mobile app to pair devices so you don’t have to haul your computer around.

  2. Chris Heard Avatar

    I am thinking about the same transition, but I have a few hundred programs built into the ISY that will take significant fraction of my remaining lifetime to rewrite. Has anyone thought about that in charge of migration to home assistant?

    1. Matt Avatar

      I don’t think the HA community has been worried much about supporting such a migration. There is already an integration between HA and ISY that allows some interoperability, that’s usually enough to bridge the gap. I’ve been using NodeRed and the Home Assistant command palette to write NodeRed flows for HA. This takes the place of all of my ISY programs, and I appreciate some of the flexibility that NodeRed provides. But, those are more personal choices, so I’m not sure how one could go about migrating ISY programs into HA or NodeRed. I’m sure it’s possible, just not sue the use case is large enough to support automating such a conversion.

Leave a Reply

Your email address will not be published. Required fields are marked *