Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Silicon Labs SLUSB001A / SLUSB7000A - Silabs Z-Wave 700 UZB-7 USB Stick evaluation hardware and reference design #1357

Closed
Hedda opened this issue Jan 12, 2021 · 26 comments · Fixed by #2500
Labels
enhancement New feature or request
Projects

Comments

@Hedda
Copy link
Contributor

Hedda commented Jan 12, 2021

#1100 already mention compatibility with a other Z-Wave Series 700 USB stick however would for reference like to specifically know if Silicon Labs SLUSB001A / Silabs Z-Wave 700 SLUSB7000A UZB-7 USB Stick evaluation hardware is supported before I order one?

https://www.silabs.com/documents/public/data-sheets/DSH14483.pdf

Like other Z-Wave Series 700 sticks it's based on EFR32ZG14 Zen Gecko Z-Wave and require CP210x USB to UART Bridge VCP Drivers.

https://www.silabs.com/documents/public/schematic-files/PHD14501.zip

Surprisingly the SLUSB001A / SLUSB7000A UZB-7 looks like the most affordable Z-Wave 700 USB adapters readily available today:

https://www.google.com/search?q=SLUSB001A

image

Silabs community says that this UZB7 stick is backwards compatible with old Z-Wave Serial API command set for Z-Wave 500 / Z-Wave Plus via USB for the older the UZB3 stick but would love to use it in Z-Wave 700 mode to test a few Z-Wave Gen7 devices.

https://www.silabs.com/community/wireless/z-wave/forum.topic.html/uzb_7_backwards_compatiblewithuzb3-mFu8

This same dongle is the official Z-Wave 700 reference design from Silicon Labs Z-Wave 700 Wireless Starter Kit (SLWSTK6050A)

https://www.silabs.com/development-tools/wireless/z-wave/z-wave-700-starter-kit

https://www.silabs.com/development-tools/wireless/z-wave/z-wave-long-range-700-starter-kit

Follow-up question; this single UZB-7 USB Stick (SLUSB001A) hardware should be all "RF regions" but the host must change the actual "RF region" to be used, so the next question is if Z-Wave JS supports changing RF region for UZB-7 USB Stick (SLUSB001A)?

https://www.silabs.com/community/wireless/z-wave/knowledge-base.entry.html/2019/03/01/z-wave_700_how_toc-iQk2

Region information will be stored permanently on the SLUSB UZB-7 stick after being set by the host controller.

https://www.silabs.com/wireless/z-wave/global-regions

@Hedda Hedda added the enhancement New feature or request label Jan 12, 2021
@zwave-js-bot zwave-js-bot added this to Needs triage in Triage Jan 12, 2021
@Hedda Hedda changed the title Support for Silicon Labs SLUSB001A - Z-Wave 700 UZB-7 USB Stick evaluation hardware and reference design Support for Silicon Labs SLUSB001A / SLUSB7000A - Silabs Z-Wave 700 UZB-7 USB Stick evaluation hardware and reference design Jan 12, 2021
@marcus-j-davies
Copy link
Member

Disclaimer : Someone with more experience in zwave-js may want to back this up, but....

#1100 already mention Series 700 stick support however would just like to understand if Silicon Labs SLUSB001A - Silabs Z-Wave 700 SLUSB7000A UZB-7 USB Stick evaluation hardware is supported before I order one?

Adding support should be quite easy - see this

Folder structure is : manufacturerId / productId / productType_firmwareVersion.json

PS: Region information will be stored permanently on the stick after being set by the host controller.

We have talked about adding proprietary function support, depending on the protocol of the stick, you may be able to do this via sendMessage

example of turning off the LED on a Zwave stick

const turnLEDOff = new Message(driver, {
  type: MessageType.Request,
  functionType: 0xF2,
  payload: Buffer.from("5101000501", "hex"),
});
await driver.sendMessage(turnLEDOff, {
  priority: MessagePriority.Controller,
  supportCheck: false,
});

the same method may be able to set the region.

again - I would get a 2nd opinion on this.

@Hedda
Copy link
Contributor Author

Hedda commented Jan 12, 2021

the same method may be able to set the region.

Another follow-up question is setting/adjusting TX power for this SLUSB001A / SLUSB7000A UZB-7 dongle?

https://www.silabs.com/community/wireless/z-wave/forum.topic.html/how_to_set_tx_powertoslusb7000auzb-7dongle-MbOF

https://www.silabs.com/community/wireless/z-wave/knowledge-base.entry.html/2019/01/04/z-wave_700_how_toa-JSjE.html

@AlCalzone
Copy link
Member

AlCalzone commented Jan 12, 2021

Without having read all the references you posted:
Aeotec's Gen7 stick seems to be supported with the new API since #1276, so I'd assume that you can at least control your network with that.

The additional commands you mention are either not implemented yet or proprietary and thus depend on having a good API concept for #1245

For sticks, the config files @marcus-j-davies mentions mostly affect displaying the device name/label in UIs.

@Hedda
Copy link
Contributor Author

Hedda commented Jan 12, 2021

The additional commands you mention are either not implemented yet or proprietary and thus depend on having a good API concept for #1245

OK, I understand. When you do decide to look at Z-Wave 700 I suggest you use a SLUSB001A / SLUSB7000A stick as reference.

Again this is the only official reference design hardware from Silicon Labs who as you probably know makes all Z-Wave chips.

@AlCalzone
Copy link
Member

I'm getting one of those soon, so I'll can test it first hand.

@jcam
Copy link
Contributor

jcam commented Jan 13, 2021

Do you have this stick? If you can give a log of the startup, we can at least take care of the config descriptors file.

@kpine
Copy link
Contributor

kpine commented Jan 16, 2021

If it helps, here are some logs and cache files, as well as screenshots from the PC-Controller software. I don't have any nodes added besides the controller.

cache.zip
zwave2.log

The log file actually has two runs. For some reason my stick had 4-virtual nodes. I'm not sure if it came that way from the factory, or if they were added by the zipgateway when I was trying that previously. I factory reset the node after running that since it was causing some failures, and the virtual nodes were removed. I left that in log in case it was interesting for some reason.

Unrelated to 700-series, do you plan to update this to show 100k speed (or a separate field)?

            "maxBaudRate": 40000,

image

image

@kpine
Copy link
Contributor

kpine commented Jan 16, 2021

Appears to have the same IDs as the Zooz. 😆

dump.txt

@AlCalzone
Copy link
Member

The 100kbps speed is not documented in the public specs yet. If anyone has more details, let me know.

@jcam
Copy link
Contributor

jcam commented Jan 16, 2021

Guessing the Zooz firmware guys forgot to update the IDs, and we should update the config to report SiLabs...

@kpine
Copy link
Contributor

kpine commented Jan 16, 2021

The 100kbps speed is not documented in the public specs yet. If anyone has more details, let me know.

Ah, you're right, I forget what's public and not. I thought it was public now because of this comment. Perhaps it will be soon.

@syepes
Copy link

syepes commented Feb 8, 2021

1+ For this integration

@jcam
Copy link
Contributor

jcam commented Feb 8, 2021

@kpine @billiaz should we keep this issue open? From my understanding, this already is working.

@kpine
Copy link
Contributor

kpine commented Feb 8, 2021

My SLUSB001A is working fine, so I think we can say it's "supported". Adding support for serial API functions (tx power) or displaying the 100kbps speed perhaps belong in their own issues (seems API already does)?

@AlCalzone
Copy link
Member

Agreed. If the stick is working per se, any missing functionality should be it's own issue.

@Hedda
Copy link
Contributor Author

Hedda commented Feb 9, 2021

My SLUSB001A is working fine, so I think we can say it's "supported".

Agreed. If the stick is working per se, any missing functionality should be it's own issue.

Nice! Do you also feel that that is can be recommended to new Z-Wave JS users who haven't yet bought a Z-Wave USB stick?

Again, SLUSB001A (SLUSB7000A UZB-7) is surprisingly among the most affordable Z-Wave USB adapters readily available today:

https://www.google.com/search?q=SLUSB001A

SLUSB001A is sold for about less than $20/€20 from many large global distributors of electronic components around the world.

I'm thinking that installing a Z-Wave 700 series compatible stick from the start hopefully makes the setup more future-proof?

@Hedda
Copy link
Contributor Author

Hedda commented Feb 9, 2021

Appears to have the same IDs as the Zooz. 😆

I guess probably both Aeotec Z-Stick 7 Gen7 and Zooz ZST10 700 Series S2 Stick USB sticks are more or less clones of the official Silicon Labs SLUSB001A/SLUSB7000A reference hardware, if so they could even use reference firmware compiled for it by Silabs(?)

@AlCalzone AlCalzone moved this from Needs triage to Backlog in Triage Feb 12, 2021
@bushvin
Copy link

bushvin commented Apr 16, 2021

Is there currently any documentation on how to get series 7 (SLUSB7000A) adapters working?

zwavejs detects the adapter correctly, but I cannot join devices, the adapter doesn't seem to detect any devices to join.

@AlCalzone
Copy link
Member

It works for me, so I will need a log to look at.

@bushvin
Copy link

bushvin commented Apr 16, 2021

Coincidentally, I found issue #1764, which resolved my issue.
It appears my firmware version (7.11) wasn't liked. So after updating it to the latest provided through Simplicity Studio, it started to work! Yay!

I tried to use the Firmware Update feature from the control panel, but no joy, unfortunately:

2021-04-16 23:16:11.764 INFO ZWAVE: Calling api beginFirmwareUpdate with args: [
  1,
  'ZW_SerialAPI_Controller_7.15.4_256_EFR32ZG14_REGION_EU.gbl',
  <Buffer eb 17 a6 03 08 00 00 00 00 00 00 03 01 01 00 00 fa 06 06 fa 10 00 00 00 d2 66 02 00 46 ee 4f 4c 1f 8a c0 48 8c 31 63 c6 f9 07 07 f9 24 00 00 00 72 3c ... 157486 more bytes>,
  0,
  [length]: 4
]
2021-04-16 23:16:11.774 INFO ZWAVE: Node 1 does not support the Command Class Firmware Update Meta Data! beginFirmwareUpdate {
  success: false,
  message: 'Node 1 does not support the Command Class Firmware Update Meta Data!'
}

Anyway, it works now!

@AlCalzone
Copy link
Member

I tried to use the Firmware Update feature from the control panel

That's for OTA firmware update of the other nodes. OTW firmware update for the stick works quite differently and isn't implemented yet.

@bushvin
Copy link

bushvin commented Apr 16, 2021

Thanks for clarifying!

Triage automation moved this from Backlog to Closed May 4, 2021
@Hedda
Copy link
Contributor Author

Hedda commented May 5, 2021

I tried to use the Firmware Update feature from the control panel, but no joy, unfortunately

FYI, I posted a follow-up question about FW in the discussions section here -> #2544

@blamaz
Copy link

blamaz commented Sep 7, 2021

Somes online stores part no for the USB7 is SLUSB001A while others it's SLUSB7000A.
Is there any difference between the 2 ?

@AlCalzone
Copy link
Member

According to https://www.mouser.de/ProductDetail/Silicon-Labs/SLUSB001A?qs=u16ybLDytRbJsMfgk3EnSA==, the latter is an alias for the former, but don't take my word for it 😅

@Hedda
Copy link
Contributor Author

Hedda commented Sep 8, 2021

Yes those are the same hardware. FYI, tip is that I started a open discussion thread about SLUSB001A / SLUSB7000A here -> #2544

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Triage
Closed
8 participants