I'm curious, if I'm using the zwave integration on HA and connecting it to zwave-js-ui, when I perform a firmware update, what is actually doing the update from HA's perspective. Is HA making a call to the zwave-js-ui API or is HA handling any portion of it on it's own? When I I click on the device to do a firmware check, I get the spinning indicator, but no update. I have an issue open on the zwave-js-ui github related to this where it's unaware of my region and sending a null for the rfRegion and failing. What I'm trying to understand here is if it failing in HA is the same issue or a separate one. Thanks
#Home Assistant vs zwave-js-ui firmware update procedures
1 messages · Page 1 of 1 (latest)
HA never talks to Z-Wave JS UI, it talks to the zwave-js-server embedded in the application.
(applies to Z-Wave integration, not MQTT)
HA does not explicitly set any region when it checks for updates, in fact none of the APIs in the stack currently support it (zwave-js-server -> python library -> HA).
Thank you for the reply. Any reason that the update would be hanging there? There are 2 more firmware updates since the one listed there, current is 4.60.0.
Also, is it possible I'm not being pedantic enough and that I'm conflating zwave-js-server and zwave-js-ui? Is what you are calling zwave-js-server in the same stack with HA or is it in the same stack as zwave-js-ui? Sorry for the lame question.
I don't know why it's showing the progress icon.
zwave-js-server is a websocket server that HA uses to talk to the driver. ZUI merely hosts it.
ZUI is a javascript (node.js) application, as-is zwave-js-server
Did you initiate an update from ZUI? The progress might correspond to that.
I did not. I think this just confirmed that the issue is not on the HA side of things and is probably contained in the zwave side though. https://github.com/zwave-js/zwave-js-ui/discussions/4233
This is why I'm asking
If HA isn't doing it's own poll for the firmware version and it's all happening in zwave-js-server, then it's all connected
there's no polling, ZJS sends update messages
err, for update progress I mean. HA polls for firmware updates once a day or something.
if you trigger the update in ZUI then it will send progress to HA
Ok, so I think this is connected to rfRegion being null on my end.
Thanks for confirming
ZJS must have sent a firmware update progress message
Looking at the code, that progress icon would only be set when the integration sets the update "in progress", which is only triggered from an event from ZJS
It's when I click on "firmware" in the device in HA that I see that. There are no firmware upgrades happening currently and nothing has been triggered in ZJS
Clicking on "firmware" right there
Are you sure you didn't start an update from ZUI?
What's the in_progress attribute of the update entity in Dev Tools States?
It could also be due to missing release notes
That box is supposed to show them
I think that's the more likely explanation.
Oh, I just checked my HA install (still 2025.4.2). I see the same icon. Has nothing to do with your situation then.
The integration is just not setting any release notes unless there's an update available. Spinner is shown in that case.
Interesting. The spinner implies a hang in my mind, so it was a little confusing. I was starting it and looking at logs, dns queries on my dns server, etc and didn't see anything.
Either way, thank you for checking and for the explanations, super helpful.
I'd say it's a bug