I thought Zwave JS UI is supposed to integrate with the HA update entities? I have a zooz zen22 running 4.0.1, which HA shows as up-to-date but when I went to OTA updates in zwave js ui it says 4.4.1 is available. Even after seeing that, HA still says I'm up to date. I have 110 devices so I didn't click through each one but I clicked a bunch and this was the only one I could find the discrepancy. Is there a way to make sure HA syncs with zwave js ui so if there are other updates I see them?
#Updates Showing in Zwave JS but not HA?
1 messages · Page 1 of 1 (latest)
HA checks for updates on its own schedule
Surely it should have picked up the update that has been available for 4 months now though
Any chance you've ignored that update somehow?
Depends on when the node was added. Added 4 months ago, should have been found by now. Added 5 mins ago to a 110+ node network, will take 9+ hours for first update check.
For the original question though, there's no synchronization between Z-Wave JS UI and HA.
I can't say for sure how long this node has been on my mesh but it's node 28 so it's been around for a long time. Months if not over a year. As a note, I posted this almost 24h ago and it still hasn't shown up as available in HA
I don't think it's an ignore because when I look HA shows this even now. I don't ignore updates frequently but I think this would still show the new version?
Zwave JS shows this.
I can force the update from zwave js I just didn't want to do that in case there was any debug info I could pull to help figure it out
There's no logging for the update entity except when it fails and that's a debug log.
You can check the device diagnostic file but I don't think it has anything concerning update entities.
You aren't restarting HA regularly, right?
The /config/.storage/core.restore_state has the stored state of the update entities, you could see if there's anything unusual for that one
If you turn on integration debug logging you could wait and see if the request is ever made (there will be a ton of logging though).
2024-09-25 15:32:09.094 DEBUG (MainThread) [zwave_js_server] Publishing message:
{'apiKey': '2e39d98fc56386389fbb35e5a98fa1b44b9fdd8f971460303587cff408430d4cfcde6134',
'command': 'controller.get_available_firmware_updates',
'includePrereleases': True,
'messageId': 'b9e64c6b59e94a169d53b6db02fd846b',
'nodeId': 24}
2024-09-25 15:32:09.289 DEBUG (MainThread) [zwave_js_server] Received message:
WSMessage(type=<WSMsgType.TEXT: 1>, data='{"type":"result","success":true,"messageId":"b9e64c6b59e94a169d53b6db02fd846b","result":{"updates":[]}}', extra='')
2024-09-25 15:42:09.095 DEBUG (MainThread) [zwave_js_server] Publishing message:
{'apiKey': '2e39d98fc56386389fbb35e5a98fa1b44b9fdd8f971460303587cff408430d4cfcde6134',
'command': 'controller.get_available_firmware_updates',
'includePrereleases': True,
'messageId': '4aec1f7f04614ca3a5c8448110fcdb7c',
'nodeId': 2}
2024-09-25 15:42:09.293 DEBUG (MainThread) [zwave_js_server] Received message:
WSMessage(type=<WSMsgType.TEXT: 1>, data='{"type":"result","success":true,"messageId":"4aec1f7f04614ca3a5c8448110fcdb7c","result":{"updates":[{"device":{"manufacturerId":99,"productType":18756,"productId":12344,"firmwareVersion":"5.29","rfRegion":9},"version":"5.26","changelog":"1. Original Release Firmware","channel":"stable","files":[{"target":0,"integrity":"sha256:9e7841287948fd4208f8f332b4ecb07fdcc1a5290b78b3569b5b60600402701f","url":"https://raw.githubusercontent.com/jascoproducts/firmware/9b5520f5056f7d3fce3fa6adc28bdaf27f8d0a68/zwave/Enbrighten-GE/ZW3005/14294%20-%20In-Wall%20Smart%20Paddle%20Dimmer%2C%20500S/5.26/ZW3005_Enbrighten-GE_14294_5.26.hex"}],"downgrade":true,"normalizedVersion":"5.26.0"}]}}', extra='')
No only when I install updates or have reason to, no like nightly reboots or anything
Here's from the restore state, not an expert but looks normal: { "state": {"entity_id":"update.kitchen_accent_lights_firmware","state":"off","attributes":{"auto_update":false,"installed_version":"4.0.1","in_progress":false,"latest_version":"4.0.1"> "extra_data": { "latest_version_firmware": null }, "last_seen": "2024-09-25T23:49:31.965071+00:00" },
I can turn on debug logs, how long should I wait to see if the API is called? a day?
It does at most once a day.
ok, I enabled debug logging for zwave
Ok I enabled it and spotted this already:
WSMessage(type=<WSMsgType.TEXT: 1>, data='{"type":"result","success":true,"messageId":"5e3b1d4f7eda4a3c8abcb8189efaaec7","result":{"updates":[{"device":{"manufacturerId":99,"productType":18770,"productId":12595,"firmwareVersion":"5.26","rfRegion":9},"version":"5.23","changelog":"1. Original Release Firmware","channel":"stable","files":[{"target":0,"integrity":"sha256:f7a7f0f925c679d4e13fc74ecd79d8b8b697bdb26d02e9dd6822d5a2529d63f3","url":"https://raw.githubusercontent.com/jascoproducts/firmware/9b5520f5056f7d3fce3fa6adc28bdaf27f8d0a68/zwave/Enbrighten-GE/ZW1002/14288%20-%20In-Wall%20Smart%20Outlet%2C%20Tamper%20Resistant%2C%20500S/5.23/ZW1002_Enbrighten-GE_14288_5.23.hex"}],"downgrade":true,"normalizedVersion":"5.23.0"},{"device":{"manufacturerId":99,"productType":18770,"productId":12595,"firmwareVersion":"5.26","rfRegion":9},"version":"5.24","changelog":"1. Updated Devkit from 6.51.09 to 6.51.10","channel":"stable","files":[{"target":0,"integrity":"sha256:841a5e3d7226c9f9b2eec8472a15b4b9db82042406900247761ce786158764ad","url":"https://raw.githubusercontent.com/jascoproducts/firmware/9b5520f5056f7d3fce3fa6adc28bdaf27f8d0a68/zwave/Enbrighten-GE/ZW1002/14288%20-%20In-Wall%20Smart%20Outlet%2C%20Tamper%20Resistant%2C%20500S/5.24/ZW1002_Enbrighten-GE_14288_5.24.hex"}],"downgrade":true,"normalizedVersion":"5.24.0"}]}}', extra='')```
I don't see the specific Zooz device herethough
Does each node individually throughout the day
ah gotcha
unfortunately the way the logs puts this on multiple lines makes setting up a nice easy grep to capture it tricky
When you startup HA and it loads all of the update entities, it will set a timer and trigger an update check 5 mins apart for each one. So if you had 110 update entities, the last entity loaded would be checked 550 minutes later. Then for each entity it schedules the next update 1 day later.
got it, so tl;dr since I updated to the 2024.10.0 beta today, don't update to b1 till I let it run long enough to capture the log 🙂
I suppose if you want to speed it up, disable all the other update entities
Could easily be done in the UI.
how do you do that quickly without me clicking 100?
Select all then unselect the one you want.
ah so something like open entities, filter by zwave integration, filter by update. disable them all except this one?
I never had a reason to bulk enable/disable so never saw this option before
yep
some of that is probably relatively new with the table updates
So you can also start from the z-wave integration page and click on the "entities" to filter by the integration instance
yup got it done, just waiting till the next poll
You might need to reload the integration to accelerate it, I don't think disabling entities restarts it.
ok I'll check in 5 mins
Since the delay is set on startup and last check.
I restarted it to be safe doesn't hurt
Would be nice if the entity could show when the next update is scheduled, and when the last check was done.
you sure it's every 5 mins? It's been 6 since I restarted. I noticed the other ones seemed spaced 10 mins
hmm been 11 now anyway
Maybe disabling the entities doesn't work
Yeah, sorry probably not, I guess this code gets executed whether the entity is enabled or not. https://github.com/home-assistant/core/blob/1395baef017b08c8681499fc2ce8507436b999ee/homeassistant/components/zwave_js/update.py#L87-L96
but I'm seeing nothing, not that it picked a different node, just hasn't sent one
maybe it doesn't log disabled ones or something
cause all the others are disabled. but i think it still configured the delay.
ok well I'll still leave them disabled, it will make it easier to spot because it means the next time I see get_available_firmware_updates in the logs it should be my node, right? Even if it takes hours?
The other option would be to edit the code to remove the delay. Ease of that depends on your installation.
HAOS
I think you could install it as a custom component, but I haven't tried it.
yeah I've done that before. I think I'll probably just wait. This is my production HA and my wife yells at me when I break all the automations 🙂
I think if I just edit /usr/src/homeassistant/homeassistant/components/zwave_js/update.py and restart ha that may work
Possibly. Depends on what happens when you restart HA in HAOS, not sure if it re-creates the container or just restarts the container, or restarts in the running container.
easy enough to try. Guess that means I need to turn on debug logging via yaml though so it doesn't get shut off when I restart ha
pretty sure the UI debug logs turn off on restart?
That might be the case. I have my test instance configuration in configuration.yaml
easy enough for me to change this one line, restart ha and see if it worked
logger:
default: info
logs:
homeassistant.components.zwave_js: debug
zwave_js_server: debug
argh didn't add the zwave_js_server one
code change survived the restart but nothing in logs so restarting again adding zwave_js_server too
hmm restarted again, I basically changed the code so delay = 0 instead of the 5 mins. Still not seeing it in th elogs
The entity of interest is still enabled?
yup
I assume the node's not currently Dead?
asleep... which is also odd for a mains powered device?
Uh, yeah
Guess I should have asked earlier, but wasn't expecting that to be the case for a ZEN22.
same
Well, that explains it.
didn't cross my mind to check that
Can you post the device diagnostic?
Lol that's all kinds of messed up.
"isListening": false,
causes it to be considered a battery device
"maxDataRate": 9600,
"supportedDataRates": [
9600
],
is odd for a Z-Wave Plus device
This is hosed:
"deviceClass": {
"basic": {
"key": 5,
"label": "unknown (0x05)"
},
"generic": {
"key": 112,
"label": "UNKNOWN (0x70)"
},
"specific": {
"key": 0,
"label": "Unused"
}
},
Have you tried a re-interview yet?
I thought I did but I can make sure
it's like switching between alive and dead every few seconds after doing that
now it's just dead
Maybe that was the issue in the first place and the flags were just messed up
It's been working from HA?
sending commands
it's not a device I frequently turn on/off from HA so honestly no idea
lol this device hates me. I factory reset it and reincluded it. Working fine in zwave js but HA didn't create a device for it
I'm wondering if there's a device issue. I excluded and included again, it shows up in HA now but the interview must be failing because nothing sees that it's a dimmer
I had to force a reinterview a few times and now it's working. I will keep an eye on this
also, now it shows the update for the firmware is available. Guess I'll do that, faulty device - maybe the firmware fixes it!
How'd it go? I've had good support from zooz replacing a couple of defective items over the past few years.