That feature is for devices, not controllers.
I’m saying I can’t possibly square that statement with…
… which is merely one part of the whole rube-goldbergian process in involving signing up for a developer account for software not designed for end users, installing that software, agreeing to whatever series of terms and conditions, figuring out how install and launch the right subordinate tool within the multitude the “Simplicity” software offers, etc. — all compared to the alternative, which is:
- Send a special (short!) canned sequence of characters to the USB serial device
- Pick the “upload firmware” menu option when prompted
- Upload the firmware using the tried-and-true xmodem protocol
- Pick the “run firmware” menu option
… and done.
… All of which could actually be pretty easily put into a simple script making it almost or completely automatic (see for example suggestion -- provide minicom script for 700 series Controller Firmware Updates doc · Issue #14 · kpine/zwave-js-server-docker · GitHub).
I know minicom
is a bit esoteric to people who didn’t grow up in the BBS days, but it’s actually overkill — just used because it’s handy and available in most Linux distros. But it’s not really necessary. Probably a few dozen lines of Python could do it too.
The Simplicity Studio software is even more overkill.
I’ll never argue against easy. But the current method isn’t bad and no worse than many other things in HA or even linux. Seeing as many people seem to be able to accomplish it without much difficulty seems to supprt this. Zooz will even swap your stick if you don’t feel like you can handle it, not sure about Aeotec. Again I’ll always take an easier way and support in HA would be great. iMO SI is really the guilty party here and should release an end user update tool that’s simple to use
If theres one thing we should all know about HA, is that it is never as easy as we’d like. Personally, if i expected polished I’d run to apple (puny i know). Of course I’d also have fewer choices, some vendor lock and be beholden to their roadmap.
Well, it’s pretty bad on Linux. The Simplicity Studio software is only supported on specific versions of Ubuntu, and once you’ve jumped that hoop, you’ll find that the specific sub-program that does the update is Windows-only. (And all of that complication turns out to be just overhead. I agree — SI could definitely make an easier tool.
But really, they’re (clearly) not in the business of making end-user tools. Their software that Zooz directs you to is meant for engineers. I’m surprised Zooz doesn’t provide something themselves. But, failing that… maybe I should go ahead and make that python script.
It said earlier in this thread that support will replace your stick with an upgraded one. What more could you expect? They are not software developers/
I guess that’s kind of surprising — I get that for hobbyist hardware makers selling things they’ve built for fun and to share, but for a commercial product that inherently depends on software and firmware?
You mean like every modern computer sold? Earl ones were programmed with wiring. Enev your microwave oven depends on software.
You must not have a television either. All now depend on firmware & software. Do do any systems broadcasting the signal.analog television dies years ago.
Here’s what’s in the HA Hardware list.
DEVLINKS: "/dev/serial/by-id/usb-Silicon_Labs_Zooz_ZST10\_700_Z-Wave_Stick_0001-if00-port0 /dev/serial/by-path/pci-0000:00:0c.0-usb-0:5:1.0-port0
Right, you can see instead of an underscore, the space in ZST10\_700
is some other character. If you have access to udevadm
, you might be able to see exactly what that character is.
$ udevadm info -q property -n /dev/ttyUSB0 | grep _ENC
ID_VENDOR_ENC=Silicon\x20Labs
ID_MODEL_ENC=CP2102N\x20USB\x20to\x20UART\x20Bridge\x20Controller
\x20
is a normal ASCII space. For example, you might see a \xA0
instead.
Thanks
Is that command available in HAOS?, when I try it, I get “command not found”.
So if I could determine what the character is, would I be able to use the by-id path?
I wouldn’t know how to do it in HAOS, if you even can. If you have another Linux host you can try it there, even a regular VM.
The web forms might convert the character, I can’t copy and paste a \xA0
into this forum for example. I would contact Zooz instead of trying to work around their mistake.
Ok, will do
Yes, that’s literally what I mean. The companies that sell all of those things have people who work on the software for them. Even when they outsource the basic OS and functionality, they have in-house people who work on the integrations, customizations, etc. Of course, because of regulatory and safety concerns a microwave is in its own class of things, but, say – my Fujifilm digital camera. Fujifilm provides a consumer-oriented way to update the firmware. They don’t expect me to send the camera back for that to be done at the factory — or for me to sign up for “Camera Embedded Studio Pro Lite Express” or whatever from some other manufacturer.
Controllers are different than Devices. Controllers are similar to microwave ovens in that the manufacturer does not expect the normal user to need to update the firmware.
Silicon Labs who owns the Z-Wave standards do not permit any other company to make the firmware. It is licensed, I believe. Silicon Labs does not normally expect user to need to upgrade firmware but has provided developer tools. Their latest Z-Wave standard firmware had issues that did not show up during pre-production testing necessitating the need to upgrade their firmware.
Zooz decided to make it easier for their users by offering a stick replacement. You are not required to do that though.
Right, but as we can see that’s not a reasonable expectation. Early digital camera manufacturers also thought that firmware could be baked-in and wouldn’t need updates, but with anything this complicated, that is obviously untrue. If you’re selling Z-wave devices, you are in the software business.
What exactly you can use as an alternative way to express the sequence will depend on the tooling you’re using. In the systemd service file I’m using, \u00A0
(note the \
) works because systemd understands that syntax (see systemd.syntax, Quoting). If you’re putting it into the zwave2mqtt config, the same may work (zwave2mqtt stores its config in a json file, and json supports that same syntax), but it might not (something may try to sanitize away “weird” values, because… really that’s terrible and it’s a reasonable expectation that device names should not have characters like that).
You should be able to copy and paste the string, depending on your terminal. If that doesn’t work, try going to - no-break space (u+00A0) copy and paste - Unicode® symbol and copying from the box there.
I’m following instructions here: How to Perform an OTA Firmware Update on Zooz Devices - Zooz Support Center
The Zooz 700 stick is in. Recognized by PC. I get to step 6 and cannot get PC Controller to add it. It’s a brand new stick received today, so it’s not been used before. Any idea what’s up?
I could be wrong, but I believe you need to use OTW
Dude, I’m so lost. Everything I’m seeing says to do the OTA instructions for brand new devices. As said above (not by me), I’m just a hobbyist and all the dev changes are wayyyy over my head. I’m just trying to follow a single doc and half the time it doesn’t work. I just happen to not be able to get past this step.
With that said, I saw the OTW option, so I did that. It said it was successful, but it didn’t update the driver version from what I saw. I tried just now again, but it gave me error 0x18. Very insightful. Do you know how to verify the firmware version? I looked in Device Manager and it’s still 6.7.3.350.