How to apply Z-Wave parameter change (gray circle)?

When I go to Settings → Devices and Services → Z-Wave → X devices → {pick my device} → Configure, I see a list of parameters the device supports that I can change. See here the first few parameters for my Aeotec ZWA039:

I’d like to change some of the parameters, e.g. parameter 1. When I change the current value into something else (e.g. change 20 into 50), then focus on another text field, a gray circle appears below the parameter description:

I can’t figure out what this means and, more importantly, how to actually apply the change. Does the circle merely indicate that I changed a value? Does it mean the change is enqueued to be applied? And if the latter, when will it be applied?

AFAIK, the gray circle never disappears, unless I reload the page, after which the original value appears again (i.e. the new value isn’t saved). The page has no save or apply button anywhere to ensure the changed value is stored.

Is this working as intended?

Yes

When the device wakes up, either on its own programmed interval, or by you pressing some kind of action button.

Is this working as intended?

Yes, this is how all Z-Wave battery devices work. They only check for incoming commands when waking up, so the config settings (or any command) will be pending until then. If you restart Z-Wave JS though, the pending commands are lost.

Maybe the indicator could use some improvement though, I think this same question asked the other day.

Thanks!

Just two more questions to be sure: do I need to keep the page open until the changes have been submitted (and sort of watch the gray circle disappear)? And is there a timeout for this, e.g. if the new values can’t be set within X time, are they lost?

I entered changes for this device several times but they have never been applied, so I’m wondering if it’s a user error or if something else went wrong.

Nope, they are queued in the driver (Z-Wave JS) and held for as long as the driver process is running and the device has not yet woken up.

Nope, there is no timeout. Lost only if Z-Wave JS is restarted (i.e. your add-on). A possibility could be the message failed to send, you would see logs for that, but there’s be no notification otherwise.

Changing it multiple times won’t accomplish anything. You can check the wake up interval by downloading the device diagnostic (Device page → … → Download diagnostic) and searching for wakeUpInterval, the value is in seconds, and see if you’ve waited long enough. Defaults are often 1 hour. The device will also have a “node status” sensor which will show Awake or Asleep status, so you can check for the last wake up time. The HA Log Book will also show wake up and sleep events for the status sensors. You can speed up the process by manually waking up the device via its “action” button (see manual), i.e. set configuration, wake up device, see setting applied. If that’s not working, next step would be to get some debug logs.

Thanks again, I’ll gather some logs and see if there’s anything useful.

What seems strange so far is that the device is shown to have been asleep for the past 48 hours, even though it reported new data 22 minutes ago (a humidity percentage update).

Changing it multiple times won’t accomplish anything.

I take your point of course, though keep in mind that pending value changes won’t show on the config page after a reload, which is why a user might try to submit multiple updates. It would be great if the UI acknowledges that there are still pending updates, even after a page reload.

That would be because wake up has nothing to do with reporting, report != wake up. Generally, battery devices don’t listen for commands when they send reports, only when waking up. Check your device manual for instructions to perform a wake up.

Sure, but unfortunately that’s just not possible at this time. The Z-Wave driver doesn’t yet provide a way to know any state of queued messages, and managing that in HA would likely be cumbersome/inaccurate.

Thanks for the pointer, that lead me to queue parameter changes from the UI, then press the button on the device to actually wake it up. Changes now applied!

Sure, but unfortunately that’s just not possible at this time. The Z-Wave driver doesn’t yet provide a way to know any state of queued messages, and managing that in HA would likely be cumbersome/inaccurate.

Alright, good to know it’s being worked on, and agree that HA itself might not be the best place to track this.

Finally, assuming more users than just me trip over these things, I wonder if it would be useful to add some of the points you made to the top of the configuration page? Maybe something like:

Changes made below will be queued and sent to the node once it’s awake. Check your device’s documentation to find out how to manually wake it up.

I’m sure someone could do a better job on this than me, but it would at least explain why it could seem like nothing is happening and what to do about it.

In any event, thanks for your help and time!

2 Likes