zha-device-handlers
zha-device-handlers copied to clipboard
Device Support Request: Smartthings Presence sensor
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)'
That’s not the signature. Please remove the device and repair it and provide the correct data.
Bump... are you able to provide this info?
@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.
I will get this data today EOD.
Done, updated issue description with the info
Thanks. This is going to be interesting... not sure how this works TBH
Thanks. This is going to be interesting... not sure how this works TBH
How can I help?
I have this same issue, is there any further help on this?
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?
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?
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.
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.
I would still find this a valuable feature to add. SmartThings presence sensors are the only thing keeping me active on that platform.
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.
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).
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.
I believe there's still a lot of interest in this request for people migrating from SmartThings.
Keep alive
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.
Unstale
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.
Still wanted
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.
Still quite interested.