zha-device-handlers icon indicating copy to clipboard operation
zha-device-handlers copied to clipboard

Device Support Request: Smartthings Presence sensor

Open ocalvo opened this issue 4 years ago • 24 comments

Is your feature request related to a problem? Please describe. No.

Describe the solution you'd like Smartthings presence sensor does not expose any entities to homeassistant. Model: SmartThings PGC410EU

Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.

[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
[0x0000](EZSP): started initialization
[0x0000:ZDO](EZSP): 'async_initialize' stage succeeded
[0x0000](EZSP): power source: Mains
[0x0000](EZSP): completed initialization
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [60, <Bool.false: 0>]
Device 0x7877 (d0:52:a8:1e:92:c6:00:05) joined the network
[0x7877:zdo] ZDO request ZDOCmd.Device_annce: [0x7877, d0:52:a8:1e:92:c6:00:05, 128]
[0x7877] Requesting 'Node Descriptor'
[0x7877] Extending timeout for 0x07 request
[0x7877] Node Descriptor: <Optional byte1=2 byte2=64 mac_capability_flags=128 manufacturer_code=4362 maximum_buffer_size=82 maximum_incoming_transfer_size=82 server_mask=0 maximum_outgoing_transfer_size=82 descriptor_capability_field=0>
[0x7877] Discovering endpoints
[0x7877] Extending timeout for 0x09 request
Ignoring message (b'1d0a115e01') on cluster 64517: unknown endpoint or cluster id: 2
[0x7877] Discovered endpoints: [1, 2]
[0x7877:1] Discovering endpoint information
[0x7877] Extending timeout for 0x0b request
[0x7877:1] Discovered endpoint information: <SimpleDescriptor endpoint=1 profile=260 device_type=410 device_version=0 input_clusters=[0] output_clusters=[]>
[0x7877] Extending timeout for 0x0d request
[0x7877:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=13 command_id=Command.Read_Attributes_rsp>
[0x7877:1] Manufacturer: SmartThings
[0x7877:1] Model: PGC410EU
[0x7877:2] Discovering endpoint information
[0x7877] Extending timeout for 0x0f request
[0x7877:2] Discovered endpoint information: <SimpleDescriptor endpoint=2 profile=64513 device_type=410 device_version=0 input_clusters=[] output_clusters=[]>
Checking quirks for SmartThings PGC410EU (d0:52:a8:1e:92:c6:00:05)
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {1, 2}
Considering <class 'zhaquirks.lutron.lzl4bwhl01remote.LutronLZL4BWHL01Remote2'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.osram.a19twhite.A19TunableWhite'>
Fail because endpoint list mismatch: {3} {1, 2}
Considering <class 'zhaquirks.philips.rom001.PhilipsROM001'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.philips.rwl020.PhilipsRWL020'>
Fail because profile_id mismatch on at least one endpoint
Considering <class 'zhaquirks.philips.rwl021.PhilipsRWL021'>
Fail because profile_id mismatch on at least one endpoint
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because endpoint list mismatch: {1} {1, 2}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2}
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {1, 2}
Considering <class 'zhaquirks.xiaomi.mija.smoke.MijiaHoneywellSmokeDetectorSensor'>
Fail because endpoint list mismatch: {1} {1, 2}
device - 0x7877:d0:52:a8:1e:92:c6:00:05 entering async_device_initialized - is_new_join: True
device - 0x7877:d0:52:a8:1e:92:c6:00:05 has joined the ZHA zigbee network
[0x7877](PGC410EU): started configuration
[0x7877:ZDO](PGC410EU): 'async_configure' stage succeeded
[0x7877] Extending timeout for 0x11 request
Ignoring message (b'1d0a115f01') on cluster 64517: unknown endpoint or cluster id: 'No cluster ID 0xfc05 on (d0:52:a8:1e:92:c6:00:05, 2)'
[0x7877:1:0x0000]: bound 'basic' cluster: Status.NOT_SUPPORTED
[0x7877:1:0x0000]: finished channel configuration
[0x7877] Extending timeout for 0x13 request
[0x7877:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=19 command_id=Command.Read_Attributes_rsp>
[0x7877:1:0x0000]: initializing channel: from_cache: False
[0x7877:1:0x0000]: 'async_configure' stage succeeded
[0x7877](PGC410EU): completed configuration
[0x7877](PGC410EU): stored in registry: ZhaDeviceEntry(name='SmartThings PGC410EU', ieee='d0:52:a8:1e:92:c6:00:05', last_seen=1587405039.1616018)
[0x7877](PGC410EU): started initialization
[0x7877:ZDO](PGC410EU): 'async_initialize' stage succeeded
[0x7877] Extending timeout for 0x15 request
[0x7877:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=21 command_id=Command.Read_Attributes_rsp>
[0x7877:1:0x0000]: initializing channel: from_cache: False
[0x7877:1:0x0000]: 'async_initialize' stage succeeded
[0x7877](PGC410EU): power source: Battery or Unknown
[0x7877](PGC410EU): completed initialization
Ignoring message (b'1d0a116001') on cluster 64517: unknown endpoint or cluster id: 'No cluster ID 0xfc05 on (d0:52:a8:1e:92:c6:00:05, 2)'
Ignoring message (b'1d0a116001') on cluster 64517: unknown endpoint or cluster id: 'No cluster ID 0xfc05 on (d0:52:a8:1e:92:c6:00:05, 2)'
Ignoring message (b'1d0a116101') on cluster 64517: unknown endpoint or cluster id: 'No cluster ID 0xfc05 on (d0:52:a8:1e:92:c6:00:05, 2)'

ocalvo avatar Apr 07 '20 22:04 ocalvo

That’s not the signature. Please remove the device and repair it and provide the correct data.

dmulcahey avatar Apr 07 '20 22:04 dmulcahey

Bump... are you able to provide this info?

dmulcahey avatar Apr 16 '20 19:04 dmulcahey

@ocalvo since you have other issues since this (that have been resolved) I'll wait until Friday for the requested info then I am going to close this.

dmulcahey avatar Apr 20 '20 12:04 dmulcahey

I will get this data today EOD.

ocalvo avatar Apr 20 '20 16:04 ocalvo

Done, updated issue description with the info

ocalvo avatar Apr 20 '20 17:04 ocalvo

Thanks. This is going to be interesting... not sure how this works TBH

dmulcahey avatar Apr 23 '20 12:04 dmulcahey

Thanks. This is going to be interesting... not sure how this works TBH

How can I help?

ocalvo avatar Apr 23 '20 17:04 ocalvo

I have this same issue, is there any further help on this?

g-enzo avatar Jun 07 '20 12:06 g-enzo

Any update on this?

I have development environment that I can use to hack something around, but I would love to have some place to start.

Is there another ZigBee presence device that works that I could use as baseline?

ocalvo avatar Sep 26 '20 19:09 ocalvo

To add another datapoint, I’d quite like to get this working but depends if ZHA itself supports presence as a possible entity, I don’t really want to get into modifying ZHA. I don’t need it that badly :)

As far as I can tell the device has 2 endpoints, one only has a simple basic info (0x0000) in cluster; the second has a proprietary profile but I expect this is used to play a sound on the device from the SmartThings app. You may find the smartthings handler useful: https://github.com/SmartThingsCommunity/SmartThingsPublic/blob/master/devicetypes/smartthings/arrival-sensor.src/arrival-sensor.groovy

My expectation of this device is that presence is purely based on whether the device is online and reporting messages or not. I don’t think smartthings ever reports the device as being offline (I think this is what registering it to the devicewatch service as “untracked” means), but listens for periodic status messages to update either battery/RSSI/LQI or the presence state (think it’s two types of message content). Whilst to the handler they look like parsing incoming messages I’m not 100% sure if they are really push events or responses to polling the info endpoint though.

I think it should be possible to work out how it works based on the smartthings handler, but aside from masking the offline state with a static value, what should the quirk expose to ZHA to support presence?

andyjenkinson avatar Feb 03 '21 21:02 andyjenkinson

To add: seems like this message, wherever it comes from, looks simply like this:

presence: 1 or presence: 0

I am a little perplexed though. I was thinking perhaps they do this (ie the device keeps track of its presence rather than just poll it’s status frequently) to save power - it only sends the message when rejoining the network - but I cannot work out how it can possibly send a “I am not present” message that the hub is guaranteed to receive. That makes no sense to me so must be missing something.

andyjenkinson avatar Feb 03 '21 21:02 andyjenkinson

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Aug 06 '21 18:08 github-actions[bot]

I would still find this a valuable feature to add. SmartThings presence sensors are the only thing keeping me active on that platform.

ChrisHardie avatar Aug 06 '21 18:08 ChrisHardie

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Feb 02 '22 19:02 github-actions[bot]

There looks to be a device handler for smartthings tagV4 sensors (samsung smartthings tag V4) but maybe not newer PGC410?

https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/smartthings/tag_v4.py

Does anyone know if the European / United Kingdom version of these tags works with the ZHA integration in Home Assistant?

Follow-up question is if it can be made to use of the Device Tracker integration for Presence Detection or just as a binary sensor?

@roquemore92 mentioned in https://github.com/zigpy/zha-device-handlers/issues/533 that Tagv4 model variant work with device tracker entity but PGC410 model variants does not?

According to @JMan7777 posted in https://github.com/zigpy/zha-device-handlers/issues/533 it at least sounds as if the binary sensor work as "device_tracker" entity may work it(?).

(I don't own one yet but got an offer to buy a couple of unused and wondering if worth it to track the arrival of our two cars?).

Was sold as "SmartThings Presence Sensor" in the UK and rest of Europe (and "SmartThings Arrival Sensor" in North America).

Hedda avatar Feb 08 '22 15:02 Hedda

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Aug 07 '22 16:08 github-actions[bot]

I believe there's still a lot of interest in this request for people migrating from SmartThings.

ChrisHardie avatar Aug 07 '22 16:08 ChrisHardie

Keep alive

ocalvo avatar Sep 20 '22 03:09 ocalvo

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Mar 19 '23 04:03 github-actions[bot]

Unstale

Hedda avatar Mar 19 '23 10:03 Hedda

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Sep 15 '23 12:09 github-actions[bot]

Still wanted

Hedda avatar Sep 15 '23 16:09 Hedda

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Mar 13 '24 17:03 github-actions[bot]

Still quite interested.

ChrisHardie avatar Mar 13 '24 17:03 ChrisHardie