Ecolink Door/Window Sensor DWZWAVE25 + Z-Wave JS Integration - Unknown!

Hi guys,

I have 2 ecolink door sensors, both were working perfectly.
A few weeks ago, one of them suddenly started showing ‘unknown’ in HA. I removed the node, and re-added the node using Z-Wave2Mqtt add-on. The node pairs perfectly, but…

The binary sensor that the HA integration creates shows ‘unknown’. The other sensors like battery level, tampering, etc. are all showing OK in home assistant.

It’s the binary sensor that is the only thing showing up as ‘unknown’. Does anyone know how to fix that? (from the integration)

does the state not change, when you open/close the window?

It changes when I’m looking at the Zwave2Mqtt dashboard, but not in lovelace/HA. Just stays unknown.

It’s killing me slowly!

What value are you looking at in z2m? Might not be the same HA is showing.

Both of these values (circled in blue) change when the door opens/closes.

Also…my other ecolink sensor (exactly the same kind) has 5 disabled entities in HA, and this one only has 4 (see first picture).

Are their configs different? How is that possible? Firmware appears to be the same on both…

The device diagnostic data has the driver values that map to the entities. If you look in there, you could see what is being reported for the Door state value. Perhaps something is off there.

I think you’re right…but how would I go about mapping things correctly? I just spontaneously creates the HA entities when you pair it to the hub. How can I re-map?

Well, what does it show? I wasn’t asking you “map” anything, just asking what the data shows. There’s nothing you should need to do.

This is normal:

        {
          "endpoint": 0,
          "commandClass": 113,
          "commandClassName": "Notification",
          "property": "Access Control",
          "propertyKey": "Door state",
          "propertyName": "Access Control",
          "propertyKeyName": "Door state",
          "ccVersion": 4,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Door state",
            "ccSpecific": {
              "notificationType": 6
            },
            "min": 0,
            "max": 255,
            "states": {
              "22": "Window/door is open",
              "23": "Window/door is closed"
            }
          },
          "value": 23
        },

where can i pull that data from (like you just did?)

I dont’ want to dump a huge file on to you here…so I’m wondering, before I post, if I’m searching in the right spot (most of what I’m seeing is a lot longer than what you just posted)

In your first screen shot there’s a Download Diagnostics button. Click that and you get a file. Open and just search “Door state” like I did. Just paste the same one I did, no need for the entire file.

I’m getting a pretty long json dump when I push that button, and there’s quite a bit of personal info I’d rather not post. I’m just trying to figure out what section is relevant to post here…but it’s a heck of a lot longer than what you’re showing me.

Just do this?

(I’m not so smart :wink: )

here you go:

        {
          "endpoint": 0,
          "commandClass": 113,
          "commandClassName": "Notification",
          "property": "Access Control",
          "propertyKey": "Door state",
          "propertyName": "Access Control",
          "propertyKeyName": "Door state",
          "ccVersion": 5,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Door state",
            "ccSpecific": {
              "notificationType": 6
            },
            "min": 0,
            "max": 255,
            "states": {
              "22": "Window/door is open",
              "23": "Window/door is closed"
            }
          },
          "value": 23
        }

Looks like the copy was truncated. Is yours missing the "value": 23? If "value" is missing, that is probably why the entity shows “Unknown”. You can compare that to one if your working sensors. The question would be why the value is missing… that should be the same value as what zwavejs2mqtt shows. :thinking:

Sorry about that. That value is there, it was my fault - i didn’t copy the entire way down. I corrected it.

Hmm, looks fine to me. The dump shows what the zwave-js-server knows about, but there could be some problem between it and HA. Have you tried restarting HA to see if there’s a difference?

The only other thing I could suggest would be to enable debug logging and see what happens when you open and close the door. Otherwise, this one’s got me stumped.

Here are some example debug logs when I open and close a door:

2022-03-17 18:34:20 DEBUG (MainThread) [zwave_js_server] Received message:
WSMessage(type=<WSMsgType.TEXT: 1>, data='{"type":"event","event":{"source":"node","event":"value updated","nodeId":5,"args":{"commandClassName":"Notification","commandClass":113,"endpoint":0,"property":"Access Control","propertyKey":"Door state","newValue":22,"prevValue":23,"propertyName":"Access Control","propertyKeyName":"Door state"}}}', extra='')

2022-03-17 18:34:20 DEBUG (MainThread) [homeassistant.components.zwave_js.entity] [binary_sensor.door_sensor_access_control_window_door_is_open] Value Access Control/Door state changed to: 22

2022-03-17 18:34:21 DEBUG (MainThread) [zwave_js_server] Received message:
WSMessage(type=<WSMsgType.TEXT: 1>, data='{"type":"event","event":{"source":"node","event":"value updated","nodeId":5,"args":{"commandClassName":"Notification","commandClass":113,"endpoint":0,"property":"Access Control","propertyKey":"Door state","newValue":23,"prevValue":22,"propertyName":"Access Control","propertyKeyName":"Door state"}}}', extra='')

2022-03-17 18:34:21 DEBUG (MainThread) [homeassistant.components.zwave_js.entity] [binary_sensor.door_sensor_access_control_window_door_is_open] Value Access Control/Door state changed to: 23

The logs are visible in the settings page or the home-assistant.log file. You can see that the open and close messages were received from the server and HA mapped that to the entity state.

To enable debug logs you can use the service call:

service: logger.set_level
data:
  zwave_js_server: debug
  homeassistant.components.zwave_js: debug

Then open and close the door. Maybe the logs will reveal something abnormal.

freshcoast, thank you very for your help so far. Really.

So I unpaired the device again, and re-paired it. After the 5th pair/re-pair HA has started to pick up the sensor again. I don’t know what the problem was, but it’s gone.

Now, the only other concern I have is that both ecolink sensors (both are identical) have slightly different config setups in Z2M addon. Even though they have the same firmware, etc. their setups are slightly different.

This also has me stumped. I don’t know how to fix that…if anyone knows, please let me know. I think I’d have to upload a custom config file in Z2M but I don’t know where to get one for this sensor.

In the meantime things are working, so that’s good. I’d like to make both sensor configs exactly the same…to satisfy my OCD.

What is a “setup”, and what is the difference?