Z-Wave/Zigbee USB Stick?

The stick is definitely happy in Linux. It just presents itself to your PC as two serial ports so it doesn’t need drivers (beyond the standard USB/serial ones baked into the OS). And on the Z-Wave side, both HASS and the Open Zwave Control Panel work perfectly on it.

Trying to pair a GE Link bulb with zha:

17-03-10 17:56:00 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.4/asyncio/tasks.py", line 237, in _step
result = next(coro)
  File "/home/homeassistant/.homeassistant/custom_components/zha/__init__.py", line 144, in async_device_initialized
    import homeassistant.components.zha.const as zha_const
ImportError: No module named 'homeassistant.components.zha'
17-03-10 17:56:00 WARNING (MainThread) [bellows.zigbee.zcl] Data remains after deserializing ZCL frame
17-03-10 17:56:00 WARNING (MainThread) [bellows.zigbee.endpoint] [0x38a6:1] Message on unknown cluster 0x0019

Boo. If you get only the first commit of the PR, it should be more reliable. The second commit has been rather hastily put together and not well tested (and adding zha_const was one of its changes). I’ll probably only have time to fix this tomorrow.

1 Like

Ah, I think I see what’s going on here.

Looks like you’ve placed the new files in custom_components. Which would work, if I didn’t add the const imports. I think you can work around that and keep the files in custom_components. If you change line 144 of zha/init.py to

from . import const as zha_const

I think it should work.

1 Like

I’ll give it a shot when I get home. Thanks

@russell Looks great! I will give it a try, hopefully soon. I have a couple Ember EM3588 NCPs (a MATRIX Creator and a USB stick) that I’ve been wanting to integrate with H-A so this is perfect!

I have made some ZHA devices (using CC2530 and CC2650) and have done a lot with binding and attribute reporting so perhaps I can help with the code as well. I’m no Python expert, but I can manage.

Is there a similar stick with EU frequency?

I want to setup HA for the first time but Z-Wave is too expensive, there are more and more affordable Zigbee devices appearing (Osram, Xiaomi…).

I can’t find any good info on getting Zigbee to work with HA, even for Xbee there are several protocol/hardware versions and not sure which one to get.

Does this new code also apply to Xbee or just this stick?

Otherwise running a MQTT server in the Raspberry that supports all the usb sticks would also work and maybe an easier option?
http://rijware.com/zigbee-and-mqtt

Hello, I just got this stick ( Nortek HUSBZB-1).
Can you help me with directions on how to install / setup ZHA.
I have few IRIS motion sensors, GE in wall dimmer and SmartThings tracker.
Please help with instructions (I am still new to Home Assistant)
thanks

Was able to pair a GE dimmer (Jasco Products 45857):
Any help?

EDIT: Further investigation:

  • first issue: it seems I have first endpoint = Devide.Dimmable_Light which is parsed. But the second “endpoint = DeviceType.DIMMER_SWITCH” is not. The Cluster does not have this definition

    Traceback (most recent call last):
    File “/usr/lib/python3.4/asyncio/tasks.py”, line 235, in _step
    result = coro.send(value)
    File “/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/zha/init.py”, line 154, in async_device_initialized
    used_clusters = profile.CLUSTERS[endpoint.device_type]
    KeyError: DeviceType.DIMMER_SWITCH: 260>

  • second issue: I can control the first endpoint (turn on/off/dim) , but i can not parse the response. If i turn on/off the light manually , HAAS does not respond. I print out the data below

         17-04-06 23:44:48 WARNING (MainThread) [bellows.zigbee.zcl] Data remains after deserializing ZCL frame: **data: b'\x00$\x11\x00\x00\x06\x00\x00\x00', value:[]**
         17-04-06 23:44:48 WARNING (MainThread) [bellows.zigbee.endpoint] [0x6223:1] Message on unknown cluster 0x0019

The KeyError should now be fixed. Cluster 0x0019 is the OTA update cluster, which is not implemented, so the warning is fairly innocuous.

Can you run with debug logging to get more information about the command for which it cannot parse data?

i noticed the pull request was finally closed like a week and a half ago. Is it going to be supported with the 0.44 release?

I’m looking for a little help over in this new thread.

I’m getting errors with an Osram Lightify RGBW bulb. I can add it but I can’t operate it.

Hello! I got Nortek USB stick and z-wave part is working, but how-to use zigbee part. Added zha to configuration.yaml in file zigbee.db appeared. Please help.

interested in knowing your experience

I got one of the Notek Sticks as well, and have it running in a test HA environment, as I learn zigbee and zwave.

For the zigbee, you need to add:

zha:
  usb_path: /dev/ttyUSB1
  database_path: /home/homeassistant/.homeassistant/zigbee.db

Note, this is for a hassbian install. My stick came up as /dev/ttyUSB0 and /dev/tty/USB1, I guess correctly that the USB1 was zigbee and the USB0 was z-wave.

once this is added, if it is working you will see zha under the Domains in the Services page of the Developer tools.

if you select zha, you can then call the permit service, call this, then run the steps to join the zigbee device to a network for the specific device.

I have only gotten a Iris contact sensor (From Lowes, aka CentraLite 3320-L) to connect. I tried a smartthings temp/humidity sensor I had, but I’m not sure I’m doing the correct joining procedure with it.

After running the permit service, and joining the device, I can see the contact sensor in HA as binary sensor for the contact and temperature sensor for the temp reading it supplies as well.

The biggest hurdle was understanding that the database_path requires the full path to zigbee.db, not just the file name as the docs say.

1 Like

tube0013 thanks for the configuration. I tried it but I get an Invalid Configuration message -

The following components and platforms could not be set up:

  • zha
    Please check your config

I added the zha config to the end of the configuration.yaml file and restarted hass.
BTW, I’m using the HUSBZB-1 adapter and I do see ttyUSB0 & ttyUSB1 created after I plugged in the device.
What am I missing?

Wish I could help more… maybe turn on debug logging to get a better idea of what is wrong…

Turned out I forgot to add homeassistant user to the dialout group to allow access to the USB stick. Now past that I tried to pair a Xiaomi PIR but ran into an exception:

2017-05-11 15:20:48 ERROR (MainThread) [bellows.ezsp] Exception running handler
Traceback (most recent call last):
File “/home/homeassistant/.homeassistant/deps/bellows/ezsp.py”, line 175, in handle_callback
handler(*args)
File “/home/homeassistant/.homeassistant/deps/bellows/zigbee/application.py”, line 149, in ezsp_callback_handler
self._handle_frame_failure(*args)
File “/home/homeassistant/.homeassistant/deps/bellows/zigbee/application.py”, line 221, in _handle_frame_failure
send_fut.set_exception(Exception(“Message send failure: %s” % (status, )))
File “/usr/lib/python3.4/enum.py”, line 464, in str
return “%s.%s” % (self.class.name, self.name)
AttributeError: ‘EmberStatus’ object has no attribute ‘name

BTW, it did look like the sensor pairing did happen based on some messages that scrolled by but I don’t see anything on the main page to show the sensor.

I tried pairing a button and this one also threw exceptions but based on logging it looks like something is working. Whenever I hit the button I get this message in the logs:

2017-05-11 15:28:45 WARNING (MainThread) [bellows.zigbee.endpoint] [0xb44a:1] Message on unknown cluster 0x0006

What does that mean? Also, should I be able to see the button on any of the web screens ?

I get a bunch of warnings in the log, but my sensor is working reliably, so I think they can be ignored.