Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with 2018 SmartThings Water Leak Sensor (IM6001-WLP01) treated like 2015 version (F-WTR-UK-V2) #749

Closed
airdrummingfool opened this issue Nov 15, 2019 · 8 comments

Comments

@airdrummingfool
Copy link
Contributor

I have found a weird circumstance when pairing my IM6001-WLP01 SmartThings water leak sensor. I have verified that the device's firmware is fully up-to-date (version 0x11 / 17).

During pairing, it identifies itself as follows:

  • Manufacturer: Samjin
  • ModelID: water

When pairing is complete, Zigbee2MQTT treats it as a SmartThings F-WTR-UK-V2, which is a completely different device. When I short the sensors (to simulate a water leak event), zigbee2mqtt cannot interpret the resulting zigbee message, so the leak is not reported.

Interestingly, the F-WTR-UK-V2 is referred to as the "2018 model" by z2m, but it is actually a 2014 or 2015 model according to this SmartThings support article. I believe the device I have (the IM6001-WLP01) is the 2018 model. The zigbee2mqtt documentation website has the correct pictures for both the IM6001-WLP01 and the F-WTR-UK-V2.

I believe that one of two things has happened:

  1. There are multiple different devices with the modelId water. This would be bad!
  2. zigbee-herdsman-converter's devices.js has an error in it.

I do not know what to do if 1 has happened, and I'm hoping that Samsung wouldn't allow that kind of oversight. Thus, going forward, I will assume 2.

Here's what I've been able to gather:

In order to make my device work, I would have to change the modelId of water for the existing devices.js entry for the F-WTR-UK-V2 (and replace the modelId of IM6001-WLP01 for the existing IM6001-WLP01 entry). I don't know what the correct modelId for the F-WTR-UK-V2 is, and I certainly don't want to break any existing device configurations.

@Koenkk
Copy link
Owner

Koenkk commented Nov 15, 2019

Thanks for this throughout investigation, hopefully the people will respond so it can be solved.

@johntdyer
Copy link
Contributor

@airdrummingfool ... Yea, I dont recall why I picked that modelID, I kinda pieced this together from other PR's and other models... It would not surprise me if I messed something up, Node is far from my strongest language

@johntdyer
Copy link
Contributor

@airdrummingfool - Its possible I Cargo cult'ed it from here

@johntdyer
Copy link
Contributor

@airdrummingfool IMHO you should go ahead w/ your suggestion since you seem to have a firmer grasp of the situation then I do at this moment

@airdrummingfool
Copy link
Contributor Author

@johntdyer thanks for your responses. I've been testing some modifications to support the sensor I have on hand correctly, and I'll be submitting a PR soon.

Would it be possible for you to check database.db for the actual modelId reported by the sensor you have (or upload your entire database.db)? This will help me feel more confident that I won't be breaking compatibility for any existing sensors.

@achurak
Copy link

achurak commented Dec 18, 2019

Hello,

I have exactly the same problem. I have several newer leak sensors (bought in US), but they are treated as F-WTR-UK-V2 for some reason (though it does say 2018 model). It also doesn't recognize the "contact" events:

zigbee2mqtt | zigbee2mqtt:debug 2019-12-18 12:56:09: Received Zigbee message from '0x286d970001016dcd', type 'commandStatusChangeNotification', cluster 'ssIasZone', data '{"zonestatus":33,"extendedstatus":0}' from endpoint 1 with groupID 0

zigbee2mqtt | zigbee2mqtt:debug 2019-12-18 12:56:09: No converter available for 'F-WTR-UK-V2' with cluster 'ssIasZone' and type 'commandStatusChangeNotification' and data '{"zonestatus":33,"extendedstatus":0}'

Here's the database entry for one of these sensors:

{"id":2,"type":"EndDevice","ieeeAddr":"0x286d970001016dcd","nwkAddr":36939,"manufId":4673,"manufName":"Samjin","powerSource":"Battery","modelId":"water","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[0,1,3,32,1026,1280,2821],"outClusterList":[3,25],"clusters":{"genBasic":{"attributes":{"modelId":"water","manufacturerName":"Samjin","powerSource":3,"zclVersion":2,"appVersion":17,"hwVersion":0,"swBuildId":""}}},"binds":[{"cluster":1026,"type":"endpoint","deviceIeeeAddress":"0x00124b00194a20da","endpointID":1},{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00124b00194a20da","endpointID":1}]}},"appVersion":17,"hwVersion":0,"swBuildId":"","zclVersion":2,"interviewCompleted":false,"meta":{"configured":1},"lastSeen":1576691619459}

Let me know if you need any additional information.

@airdrummingfool
Copy link
Contributor Author

@achurak thanks for the information. I had the same issue with contact events on my sensor, and have fixed it in my local branch. I'll be submitting a PR in the next couple days that includes the fix for both the contact sensor and the identification of the device.

@Koenkk
Copy link
Owner

Koenkk commented Dec 23, 2019

Closing this as #833 has been merged, thank you very much @airdrummingfool for figuring this out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants