Zwave_js.set_value removes leading 0s on property_key

I’m trying to trigger a command for the remote that came with my shades so I can control the top of my tdbu shades. However, the property keys for the remote have leading 0s (001, 002, …, 025, 026, …) and when I try to use zwave_js.set_value, it removes those leading 0s so I get the error as shown in this screenshot. Any ideas how to make this work?

Here’s an example property key of the remote from debug info
image

It would be a bug, but what you’re attempting to do is not possible anyways. You can’t set Central Scene scene values.

If you look further in the debug info you’ll see it’s a read-only value.

“readable”: true,
“writeable”: false,

{
      "id": "39-91-0-scene-001",
      "nodeId": 39,
      "toUpdate": false,
      "commandClass": 91,
      "commandClassName": "Central Scene",
      "endpoint": 0,
      "property": "scene",
      "propertyName": "scene",
      "propertyKey": "001",
      "propertyKeyName": "001",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Scene 001",
      "stateless": false,
      "commandClassVersion": 3,
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "KeyPressed",
          "value": 0
        },
        {
          "text": "KeyReleased",
          "value": 1
        },
        {
          "text": "KeyHeldDown",
          "value": 2
        },
        {
          "text": "KeyPressed2x",
          "value": 3
        },
        {
          "text": "KeyPressed3x",
          "value": 4
        },
        {
          "text": "KeyPressed4x",
          "value": 5
        },
        {
          "text": "KeyPressed5x",
          "value": 6
        }
      ],
      "lastUpdate": 1708996561193
    },

Alright. Thank you.

Any idea how I can achieve my goal of controlling the top part of the TDBU shades? The shades themselves have a command class 38 with a targetValue property. Setting it moves the bottom part. I can’t figure out how to make it move the top part.

When I use the remote, I double tap the button to control the top part. The z-wave logs show two events for the button press, but the event for the shade moving is exactly the same as if the bottom moved. I was trying to make it where I can simulate that double button press in Home Assistant since the shades events don’t appear any different.

I don’t really want to modify the central scene. I want to trigger it. The integration added event entities for each scene, but I’m not sure how to trigger them.

Perhaps if you post the Device diagnostic file (Device page → ... → Download diagnostic) it will reveal some information about the device and how it might be possible. Can’t really say w/o knowing anything about it.

It would be quite unusual and non-standard to control the shades using Central Scene events. Those are designed for sending events from end devices to your software “hub”, e.g. HA (hence the name “central” as in a central hub). Perhaps the controller is sending one command to the shades and central scene to the controller? Regardless, it’s not impossible this is happening, but definitely non-standard. If you had a Zniffer (second controller programmed to sniff z-wave traffic) you would know for sure. Is it possible the controller is using some other RF protocol to talk to the shades?

The Z-Wave driver does not support this, you cannot send Central Scene events unless you wrote your own Javascript code and hand-crafted a message. Also, Event entities in HA are also read-only, there is nothing to trigger, they are a trigger from device events.

This is a Springs Window Fashion TDBU z-wave shade. And there’s no RF or IR options mentioned in the manual.

I looked in the diagnostics and didn’t see anything indicating how to control the top part. So I decided to more thoroughly log what was happening.

I was mistaken on (at least) one more thing. It doesn’t fire two events on a double press. However, the events are still indistinguishable from one another unless I’m missing something. And even when the top part moves, the value reported in the shade’s events are representative of the bottom part.

If I hit the down arrow once, this single event from the remote occurs and the bottom part of the shades go down all the way.

That one event from the remote ends up resulting in these three events from the shade.

If I hit the down arrow twice, this single event from the remote occurs and the top part of the shades go down all the way.

That one event from the remote ends up resulting in these three events from the shade.

So, it’s not looking good for my ability to control the top portion from Home Assistant. I also played around with the MQTT part of zwave_js and it didn’t help either.

Are the shades and remotes separate devices? Can you post the diagnostic?

Yes, they are separate devices.

Here are the diagnostic files

Also, thanks for working through this with me.

Yeah, unfortunately I’m not seeing anything currently exposed by the shade that would allow control of both top and bottom directions. Usually that be done by the use of the Window Covering Command Class, which it does not report support for. It only reports support for the Multilevel Switch Command Class, which would only allow control of one end (usually).

Strangely, your logs are showing identical reports for both top and bottom actions, so not sure what that is supposed to mean. What happens if you control the cover entity in HA? A value of 0 lowers it to the bottom? A value of 100% raises it to what point?

It’s possible the interview isn’t finding some functionality, even though it should, e.g. a second endpoint to control the top end. You could attach a re-interview driver debug log if you wanted to.

Otherwise, if the remotes are indeed communicating via Z-Wave, a last option would be capturing the commands via a Zniffer to see how it is controlled.

When I control it via HA, 100% brings the bottom all the way up and 0% takes the bottom back down.

If I have previously used the remote to lower the top, then the top moves with the bottom if it’s moving up. If it’s moving down, only the bottom moves.

I did a re-interview of the shade, but nothing changed. The log for it doesn’t mention a Window Covering Command Class anywhere.

2024-03-02T20:19:05.034Z CNTRLR « [Node 049] node info received
supported CCs:
· Z-Wave Plus Info
· Multilevel Switch
· Association
· Association Group Information
· Manufacturer Specific
· Version
· Device Reset Locally
· Powerlevel
· Firmware Update Meta Data
· Supervision
· Transport Service
· Battery
2024-03-02T20:19:05.034Z CNTRLR « [Node 049] node info received
supported CCs:
· Z-Wave Plus Info
· Multilevel Switch
· Association
· Association Group Information
· Manufacturer Specific
· Version
· Device Reset Locally
· Powerlevel
· Firmware Update Meta Data
· Supervision
· Transport Service
· Battery

I have an old Z-wave gen5 stick not being used. I’ll look into using it as a zniffer. Any suggestions? I assume a gen5 zniffer will still work even though my current one is gen7 since it’s all supposed to be backward compatible.

You can program a Gen5 as a Zniffer, although when I tried it the range was very poor compared to a UZB3.