ZHA Zigbee HUSBZB-1: GoControl Mac OSX configuration

Has anyone sucessfully set up zigbee using the HUSBZB-1: GoControl USB adapter for use with the new ZHA component?

I have used the terminal command ls /dev/ but do not see anything jumping out as the serial ports for the device. Most of the sites state that is is MAC compatible. I didi find this software (trial downloaded), https://www.decisivetactics.com/products/serial/, that detects the device but no more information on how to interface with it.

My guess is a driver issue. Any ideas?

macOS is pretty Unix(y) :wink:

I’ll forewarn you, I do not run Home-Assistant on my Mac’s nor do I intend to start. I likely will not be helping past this information dump on you :slight_smile:

I’m running macOS 10.12.5

Excerpt from system_profiler SPUSBDataType

HubZ Smart Home Controller:

 Product ID: 0x8a2a
 Vendor ID: 0x10c4  (Silicon Laboratories, Inc.)
 Version: 1.00
 Serial Number: REDACTED
 Speed: Up to 12 Mb/sec
 Manufacturer: Silicon Labs
 Location ID: 0xfa134000 / 6
 Current Available (mA): 500
 Current Required (mA): 100
 Extra Operating Current (mA): 0

Excerpt from ioreg -p IOUSB

|   +-o HubZ Smart Home Controller@fa134000  <class AppleUSBDevice, id 0x100000ea7, registered, matched, active, busy 0 (6 ms), retain 16>

I unplugged it from my hub and installed the SI Labs CP210x drivers for Mac. Found Here

Excerpt from ioreg -p IOUSB -l

|   +-o HubZ Smart Home Controller@fa134000  <class AppleUSBDevice, id 0x10000125f, registered, matched, active, busy 0 (9 ms), retain 19>
|       {
|         "sessionID" = 21654441055784
|         "iManufacturer" = 1
|         "bNumConfigurations" = 1
|         "idProduct" = 35370
|         "bcdDevice" = 256
|         "Bus Power Available" = 250
|         "USB Address" = 9
|         "bMaxPacketSize0" = 64
|         "iProduct" = 2
|         "iSerialNumber" = 5
|         "bDeviceClass" = 0
|         "Built-In" = No
|         "locationID" = 18446744073610149888
|         "bDeviceSubClass" = 0
|         "bcdUSB" = 512
|         "USB Product Name" = "HubZ Smart Home Controller"
|         "PortNum" = 4
|         "non-removable" = "no"
|         "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
|         "bDeviceProtocol" = 0
|         "IOUserClientClass" = "IOUSBDeviceUserClientV2"
|         "IOPowerManagement" = {"ChildrenPowerState"=4,"DevicePowerState"=0,"CurrentPowerState"=4,"CapabilityFlags"=32768,"MaxPowerState"=4,"DriverPowerState"=4}
|         "kUSBCurrentConfiguration" = 1
|         "Device Speed" = 1
|         "USB Vendor Name" = "Silicon Labs"
|         "idVendor" = 4292
|         "IOGeneralInterest" = "IOCommand is not serializable"
|         "USB Serial Number" = "REDACTED"
|         "IOClassNameOverride" = "IOUSBDevice"
|       }
|

Then running ls /dev/tty.* results in a few other ports, but importantly, /dev/tty.SLAB_USBtoUART which should be the GoControl\Nortek\Linear USB device. It also goes away when I unplug it and run it again.

Running kextstat | grep silabs spits out 179 0 0xffffff7f83fe1000 0x6000 0x6000 com.silabs.driver.CP210xVCPDriver (4.11.1) 5652355C-01F5-34F5-8F0A-BDFB69F1F549 <144 47 4 3>

So you do know it’s running the SI Labs driver.

This page has some abundant information! http://community.silabs.com/t5/Interface/MacOS-10-12-2-Update-breaks-CP210x-VCP-driver/td-p/186256/page/2

Finally, be aware that there seems to be a bit of iffy behavior if even known good USB cables are used. Very finicky. Also, macOS updates tend to make it a bit unhappy it seems.

Hope you make progress!!

Thanks for the reply. After posting here and in the thread that you provided I worked with SilLabs to have the devices ID’s added to their existing mac driver as a first step to get it working. As you found yourself it was not a complete sucess since the device only shows up as /dev/tty.SLAB_USBtoUART instead of two seperate serial ports.

I continue to communicate with the SIllabs driver team to hopefully figure this out. I also reached out to the makers of the Serial app that I mentioned before since the device shows properly with the applications internal custom drivers, but I have not heard back.

Thanks again!

1 Like

Hah! You’re awesome. Good job going straight to, and being the source!!

Just in case any other OS X server people are happening upon this post, I have ordered a second Go Control Stick for Silicon Labs so they can diagnose a solution for their drivers.

For the interim, my solution is using the stick with a Fedora virtual machine and moving all of my HA settings to it. There is some great information out there on getting it the VM (using Virtual Box) to auto start when OS X is restarted as well as ensuring the HA starts when the VM is booted.

It works well, though I’d still prefer to only upkeep one machine/OS, and is worth the ability to remove the SmartThings hub (training wheels) and MQTT from the setup for a 90% local polling automation setup.

Silicon Labs has been very responsive with this issue and I have high hopes they will come through with a solution.

If you / they want me to try anything with my stick in my setup, let me know. I’m going to 10.12.6 soon however!

Thanks @jonathanweinberg, I appreciate the offer. I shipped a dongle off to the Silabs firmware engineer team. They confirmed the behavior with their current drivers and are investigating a fix. Crossing my fingers that I don’t have to manage a second OS anymore!

1 Like

Definitely interested to see what happens!

Any update by chance? I’m interested in moving away from hubs and going with this directly, but wanted to check to see if you had any luck here first.

Hi @ammdc7,
So I have been working with SilconLabs for awhile now. We are at the point where the USB stick shows two discount devices. I don’t believe the current changes have been put in the most recent driver update they have released. Zigbee is working great, however, the issue I am facing with z-wave is either the openzwave is not compatible with the latest MacOS or there is a communication problem with the driver to the zwave serial port.

In the meantime I was using Virtualbox with a linux guest OS which then started to have USB connection issues with the latest OS update causing Hass to no longer see the the zigbee stick.

Needing both zigbee and z-wave I have since moved to a raspberryPi creating an inexpensive consolidated hub for Hass (not using the Hass.io). I am continuing to work with SIlconLabs to hopefully have all services within a single server.

1 Like

Thank you for the update. I will look forward toward the release of new driver update.

I appreciate your time and look to implement the HUSBZB-1 in the near future for my Zigbee lights.

Thanks again!

Would running USB over IP from the RPi+HUSBZB to your Mac help at all?

1 Like

Just as a follow-up, I was able to set up and use the stick and the ZHA component on macOS 10.11 with the 5.03 without that any issues.

Thanks for the update!

Are you using anything on the z-wave half of the husbz-1?

Glad to see SilLabs got the updated driver out. I haven’t tried switching back to MacOS since moving to raspberry pi. I am once again seeing issues with zigbee communication dropping out as I did with the Linux virtual machine setup hosted on MacOS before I started working with SilLabs to support the stick in Mac. Have any of you been experiencing a cut off of communication to your zigbee devices after a period of time (hours or couple of days)? A restart of HomeAssistant software has brought everything back online when they stopped responding to the system.

I haven’t tested with any Z-Wave devices yet, but I installed the HomeAssistant ZWave component with OpenZWave and pointed it at the tty (tty.GoControl_zwave) and it loaded without any issues.

I can call the services as well (zwave.test_network, zwave_heal_network, etc) as well without any issues.

I only have a few Sengfeld lights so far and I have seen a cut off of in communication. I will send a command to turn no a light and nothing will happen. If I turn off the light and then turn it back on a second time I will see a log entry for “device has joined the network” and the device will then respond normally for a time.

Another update, I got a few Z-Wave devices and was able to add them without any issue, once again on Mac OS X 10.11 with the 5.03 SiLabs driver.

I did have to change the HA config to:

zwave:
  usb_path: /dev/cu.GoControl_zwave

After that change, the network started quickly and add_nodes worked without any issues.

2 Likes

I was playing around with this last night in hope of once again consolidating my servers to one machine. Happy to see SilLabs took my suggestion for port naming, so much easier to identify them. I never thought of using the cu prefix for zwave, I don’t know the technical aspects between cu and tty. But it works!

For those looking for the HUSBZB-1 drivers they can be found at SilLabs VCP download page.

Once step closer.

@walt, do you happen to have bluetooth device tracking working? I had problems with pybluez the last time I attempted and I don’t have in my notes if I successfully got to to work. This time around the installation seems to be a breeze for it but HA hangs during start up when the bluetooth tracker is enabled.

Running the pyBluez example command to search for BT devices outside of HA for the software returns items. Not sure why it hangs during startup, I couldn’t find any more information buying the logs up in verbosity.

Thanks again @walt for sharing your experience here.

1 Like

Glad to hear it’s working for you as well. I have been very happy with the adapter so far- my zigbee reliability has been rock solid after adding a few more devices.

I haven’t used pybluez. I did try to install it tonight but kept getting errors from clang on the pip install that looked like the underlying libraries had changed. That was on 10.11 with Python 3.6.

1 Like