Z-NET Integration with HA

This week, we tweaked our Z-NET so that it would work with HA and we’re testing this now. Seems to work pretty well. Before we head too far down this road, we’re wondering if this is something that folks would be interested in?

In a nutshell, the Z-NET is functionally equivalent to a Z-Wave USB dongle except it works with a network connection instead. Originally, we developed this back in 2015 as a way to support outbuildings (barns, workshops and other structures) that were out of range of the primary residence network. More info here: Z-Wave USB & Network Interfaces | HomeSeer

UPDATE: Z-NET Integration with HA Doc
Let me know if you’re interested in this or have questions. - Thanks in advance.


Using ser2net it’s possible to connect any USB serial device across a TCP/IP network. I do this with a zigbee dongle on an raspberry pi to connect it to my HA server. So, yes, I’d say it’s a very useful technique.

Ah, thanks for that… so I should modify my question then. If there’s already a DIY solution for this, does it make sense for us to create a stand-alone product to do this?

The more options for ZWave, the merrier IMO. If it works w/ ZWave JS, then it’s a + in my book!


Yes, in fact we had to install ZWave JS components onto it to make it work with HA.

According to this post the Z-NET is using ser2net to expose the serial port. If that’s true (or is exposing the port by similar means), you can use Z-Wave JS UI remotely (e.g. as an add-on in a VM running HAOS) and set the device path to the TCP serial port destination, tcp://z-net-host:port, and it should just work. Z-Wave JS natively supports TCP serial ports.

If the host is capable of it, I always recommend to others to run Z-Wave JS locally, and connecting remotely via websocket, as that cuts out the “middleman”. So if that’s supported by Z-NET natively, then all the better. It makes more sense to use TCP serial ports for very low performance devices, IMO. Still, some people use it with success.

This could help a lot as often the location of the servers is not in the ideal location for a zwave dongle.

With a POE (power over ethernet), it could be installed and powered and placed in a central location.

As other have said, this solution may already exist.

PoE is not included on these but you could use an injector.

Back in about 2015, Sigma Designs Inc. produced a hardware Ethernet to Z-Wave device for distributed hotel room control with a software stack called Z/IP. Basically PoE + a box for (say) two hotel suites (where the 100+ node Z-Wave network limit would be exceeded across the building).

Here’s a contemporary report and a Z/IP ZIPR gateway hardware picture:

The openHAB project looked at it (I still have many of the original tech documentation PDFs), but the hardware only worked with the proprietary Z-Wave software Z/IP API stack so it went nowhere. At the time, the hardware was available from suppliers like Farnell, but I’ve not seen any reference to it for a long time.

For me, extending your existing Z-Wave mesh is preferable to creating another island. With more IPv6 friendly alternatives like Thread on the horizon, unfortunately don’t see the point!

(For reference, I have many tens of Z-Wave devices in production use.)

I could not get this to work, although I might have missed something. I think you need to reconfigure zwave-js to use zwave-js/UI and then configure it to use the network connection. I agree though that it is better to not run Z-Wave over TCP if possible although it does work. The modifications we made to the ZNET connect directly to the Z-Wave interface inside the ZNET so it does not use ser2net. We are pushing to ensure our hardware works with as many systems as possible and offering a pre-built solution makes it easier for the less technical user. RPI boards are still hard to find and we do not use that hardware, so we have a good supply. If you can connect to it with ser2net, you can use that solution, we did not remove ser2net, that still functions.

Sorry guys, the community automatically flags users with the same IP. I’m assuming you’re all logging in from work and the system thinks you’re the same person. It only flags you if you post on the same thread. Just PM me if you want others to sign up and I’ll see what we can do.

Ah, understood. Yes, we’re both at the office here and that’s a static IP. I think it’s just the 2 of us for the time being. Rich is in development so he’s the one I’ll normally defer to for coding questions.

I’ll let him know what happened. Let me know when he can try again or if I need to post for him.

Have him try now

I’ll let him know, thanks… appears to be there now! :+1:

When you want to have a surface pro mounted on the wall, wish local installed ha, and don’t want to have a nasty cable running next to it. Especially when more protocols (zwave, zigbee, rf) are needed. Don’t want to ruin a additional server. So yes I think there is interest for this.

I really liked my Z-Net (I have 2 doing nothing now) for the sole reason I could put it anywhere.

So will this be an update to z-net that allows Zwave JS to run on it? Will it work on z-net v3? Would it still be able to work with homeseer?

I’m definitely interested. Right now I’m trying to get socat installed in a Zwave JS docker container so I can get it to connect to z-net.

Our goal would be to ship one product that could be used for HS or HA with a simple settings change off the “911” maintenance page. Initially, this would be on new G3 units. Once this is in place, we can take a look at updating previous models or offering some kind of instruction set on how to do that.

1 Like

If you are going this route, you should be able to just use a tcp://host:port path in the Z-Wave JS UI z-wave configuration, instead of installing socat and referencing a local serial device.

1 Like

I’ve been using 2 different Z-Net devices with Home Assistant for months now. In fact I was switching it back and forth between HomeSeer and Home Assistant without any issues and all the Z-wave devices worked in each system (while connected). I didn’t make any changes to the Z-Net for it to work.

I’ve mostly used Z-wave JS UI for this (it used to be called something else) and it works out of the box with the TCP://IP-Address:Port syntax. With that support, no need for any serial port redirection software on Home Assistant, as the linked conversation above discusses.

The biggest issue I’d have with this is a lack of RPI updates to the Z-Net. AFAIK, once it leaves HomeSeer it never updates again unless you do it yourself. I know some people are OK with that, but it’s not a good security best practice.

Edit: To clarify my earlier post, I’m running the Z-Wave JS UI Addon under my Home Assistant Host (Debian now, but RPi 4 earlier). This is as a standard Supervised install. From the HA machine Z-Wave JS UI goes network to the Z-net with it’s standard ser2net configuration. This setup is trouble free for some time now. Not sure what the advantage of running Z-Wave JS UI directly on the Z-Net would provide, there would still be a TCP connection between the 2 machines.