Zwave device writes value to wrong parameter

I recently installed 3 pieces vesternet z-wave ves-zw-018-motorcontroller.
After installation i calibrated the shutters. Hardware is all functioning properly.

The entity for positioning the shutter is a cover entity.
When is enter a position the cover is going to the right position.
The problem is that the z-wave software does not write the actual value to the same entity. Instead it creates a new cover entity and does write the actual value there.

When trying to enter a value in the new created entity it reports a error.
After a certain time the newly created entity becomes unavailable.

I created some debug reports with Z-wave JS UI

2025-12-19 20:13:39.560 INFO Z-WAVE: Calling api writeValue with args: [
  {
    nodeId: 43,
    commandClass: 38,
    endpoint: 0,
    property: 'targetValue'
  },
  20,
  null,
  [length]: 3
]
2025-12-19 20:13:39.565 INFO Z-WAVE: Writing 20 to 43-38-0-targetValue
2025-12-19 20:13:39.619 INFO Z-WAVE: [Node 043] Value updated: 38-0-targetValue 75 => 20
2025-12-19 20:13:39.629 INFO Z-WAVE: Success zwave api call writeValue {
  status: 1,
  remainingDuration: Duration { unit: 'unknown', _value: 0, [value]: [Getter/Setter] }
}
2025-12-19 20:13:42.378 INFO Z-WAVE: [Node 043] Metadata updated: 38-1-currentValue
2025-12-19 20:13:42.381 INFO Z-WAVE: [Node 043] Value added: 38-1-currentValue => 67
2025-12-19 20:13:42.498 INFO Z-WAVE: [Node 043] Value added 43-38-1-currentValue => 67
2025-12-19 20:13:42.501 INFO Z-WAVE: [Node 043] Metadata updated: 38-1-duration
2025-12-19 20:13:42.506 INFO Z-WAVE: [Node 043] Value added: 38-1-duration => 0s
2025-12-19 20:13:42.508 INFO Z-WAVE: [Node 043] Value added 43-38-1-duration => 0s
2025-12-19 20:13:42.511 INFO Z-WAVE: [Node 043] Metadata updated: 38-1-targetValue
2025-12-19 20:13:42.514 INFO Z-WAVE: [Node 043] Value added: 38-1-targetValue => 20
2025-12-19 20:13:42.515 INFO Z-WAVE: [Node 043] Value added 43-38-1-targetValue => 20
2025-12-19 20:13:43.319 INFO Z-WAVE: [Node 043] Value updated: 38-1-currentValue 67 => 62
2025-12-19 20:13:43.323 INFO Z-WAVE: [Node 043] Value updated: 38-1-duration 0s => 0s
2025-12-19 20:13:43.325 INFO Z-WAVE: [Node 043] Value updated: 38-1-targetValue 20 => 20
2025-12-19 20:13:44.428 INFO Z-WAVE: [Node 043] Value updated: 38-1-currentValue 62 => 57
2025-12-19 20:16:43.167 INFO Z-WAVE: Writing 85 to 43-38-1-targetValue
2025-12-19 20:16:43.171 ERROR Z-WAVE: Error while writing 85 on 38-1-targetValue: Node 43 (endpoint 1) does not support the Command Class Multilevel Switch! (ZW0302)
2025-12-19 20:16:43.174 ERROR Z-WAVE: Unable to write 85 on 38-1-targetValue: Fail

I already tried the following:

  • reinterview the nodes
  • exclude / include the nodes

Hope there is someone who can help me with this.

I would suggest using the Z-Wave integration instead of MQTT.

If your preference is to use MQTT I would then suggest getting help at the project itself: https://github.com/zwave-js/zwave-js-ui/discussions

Hi freshcoast. Thanks for your answer.
For my understanding. You mean to use the official home assistant Zwave-JS addon instead of the Z-wave-JS UI addon?

No, Z-Wave integration. The log message Calling api writeValue with args is not from using the integration.

Good idea to review Add-on vs Integration if you’re not clear:

I did use the integration to move the shutters. The result is the same.
I also tried to reinterview the node with the integration. After that still the same happens.

Is there a difference when i include the node with the ingration istead of the ZUI?

Inclusion is the same, just different UI flows.

If you are using the Z-Wave integration you can post the device diagnostic (device page → …) and also the section of the debug logs when interacting with the entity.

I found out it has something do do with security encryption. When i include the device with no security al works fine. As soon as i use security encrytion (S0 or S2) the problem shows again.

Is it a problem running the device without security encryption?

I would pass on S0. S2 is preferred, besides encryption for security it also provides verification of the data (no corruption) so it’s more reliable.

Whether or not running the device without security is reasonable is based on your personal threat level. I don’t have any problem running some device like lights without security (older ones), as someone hacking the network and those lights is not something I’m worried about.

Sounds like there’s either a device bug, or Z-Wave JS bug. If you want to see if it can be resolved I would post a discussion at zwave-js/zwave-js · Discussions · GitHub. If you do that, be sure to include the information I requested, plus include an interview or re-interview of the device with security enabled in the debug logs.

Thanks for your answer and help Freshcoast.
I seems the software (i dont know if it is the device or the zwave js) creates a not existing parameter for the device. When i surf the debug file after interviewing the device is looks like the device has to create 2 cover entities for the multilevel switch. One with endpoint 1 and one with endpoint 2. Instead it creates a entity with endpoint 0.
I will post this and the debug files on the zwave js github.

I contacted the seller (vesternet). They changed code. Eveything works fine now. Thanks again for your help.

1 Like