Solved: How I got my zwave to work using a HUSBZB-1 usb stick with Hass in a Windows 10 Hyper-V Guest

I’m new to Home Assistant and Home Automation. I was using OpenHab for awhile but decided to try Home Assistant too. I started out by installing Hass (Home Assistant) in Windows 10 using Python for Windows. I generally followed this guide to install it: https://www.home-assistant.io/docs/installation/windows/

The install went pretty smooth and quick and I had a Hass server up and running in no time. Happily I plugged in my HUSBZB-1 usb stick to add my zwave network. That’s when things went to hell in a handbasket. No matter what I did, I just couldn’t get zwave installed. I kept getting an error that the homeassistant-pyozw package couldn’t install because WINDOWSSDKVERSION was not found.

Very frustrated, even though I’m a linux moron, I decided to give the linux version a try, because Home Assistant seems to be linux centric. Still frustrated, I went about setting up a Debian 10
version of linux in a Windows 10 Hyper-V Guest machine. That went well, so I installed Hass (Home Assistant) on it generally using this guide: https://www.home-assistant.io/docs/installation/raspberry-pi/

Though thoroughly confused by what hass.io, hassbian, hass, homeassistant, rasberry pi was all about, I muddled through it and got a version a Hass server up and running on Debian in my little Hyper-V VM.

After much research to figure out how to install my zwave usb stick, I determined my Debian had no USB ports available. Excuse my language but WTF???

So miffed, I did a bunch more research trying to figure out my problem. I finally figured out that Hyper-V is a level 1 hypervisor and as such its not possible to use any of the Hosts hardware. Damn, that’s exactly where my zwave usb is located.

Now double frustrated because I can’t get my zwave stick to work in either Windows or Debian, I was ready to throw in the towel and go back to OpenHab land. Instead I took a fews days breather to see if I could figure a way around this predicament. I looked into dual booting my machine or using level 2 hypervisors like VMWare and VirtualBox where you can share Host hardware, but wasn’t really satisfied with any of that.

In despair, ready to give up again, I finally found a little company in Australia called VirtualHere. They claimed to be able to use IP to tunnel USB devices through VM Guests from either Hosts or even remote machines. In desperation with lots of skepticism, I decided to give the VirtualHere product a try. Much to my utter amazement, after about 15 minutes to run a server program on my Windows host and a client program on my Debian VM, I was immediately able to access all my host USB ports, including the one with my zwave stick plugged in!!! (picture me dancing a jig hoot hoot) :slight_smile:

Well alrighty then, installing zwave on Hass should be a breeze now, right? WRONG… :frowning:
Just like Windows, the zwave install failed with an error that homeassistant-pyozw could not be installed. Triple Damn, back to the drawing board grrrrr… :frowning:

After yet more research, someone mentioned that maybe installing libudev-dev would help. I went back to my install guide and found that lib wasn’t listed as a pre-req and I determined it was not installed on my Debian. So I did an apt-get to install libudev-dev. It installed without problem, so I tried installing zwave again on my Hass server. This time it didn’t immediately error out but looked like it had frozen. After waiting a long while, I was about to reboot my Debian, when suddenly I saw a message that homeassistant-pyozw was installed successfully. After I opened the Hass web UI page I was able to determine that indeed my zwave stick was working and I could see all my nodes on the zwave network. WHEW… SUCCESS… FINALLY!!!

After all that, my main thought was that it seems that zwave and zigbee networks are kinda core to what home assistant is all about and they should work harder at making it easier to attach these networks with a blindfold on no matter which platform the Hass server runs on.

Regards

EDIT: Warning… I found that the VirtualHere trial software is crippled and won’t work properly without a paid license. It’s about $49 and seems pretty good deal compared to what their competitors charge. Personally I think it works great.

2 Likes

I went through a similar journey.

I looked around and people seemed to be saying esxi or hyperV, pick your poison, just a matter of preference.

Started with hyper-v server on a dell optiplex 9020 and a wink hub. Running 4 guests (Hass, unifi controller, unifi NVR and deepstack). Lots of time invested in setup. The the wink fiasco started and I had to start looking into a usb stick and found out that hyperV and esxi are not so equal. Level 1 vs level 2 hypervisor as you mentioned.
So I am now in the process of rebuilding my system on VMware esxi.

Esxi is free and blows the doors of the free hyperV server. Better in every way and most importantly it allows usb passthrough easily with no hacks or additional software.

2 Likes