Smartthings arrival sensor no entities

Just tried bring over one of my ST arrival sensors with ZHA and it didn’t turn out so well. After multi tries to connect it it finally paired. Shows manufacturer - ST and model - PGC410. Unfortunately that’s it. There is no entities for it. What am I missing?

Note: if HA needed to pull something off the internet while pairing that might be my problem. I have satellite internet and it was crashing all day for some reason.

The code base for ZHA is built into Home-assistant, so a compatible device should work and create entities without an internet connection.

The arrival sensor also does appear on the ZHA supported device list.

Not sure why it’s not working. Maybe try pulling the battery and adding a fresh one?

Another thing to try is pair it right next to your Zigbee coordinator. Super close. I’ve also read these devices fall asleep quickly, so press the button on it to wake it up during the pairing process.

1 Like

I will try it super close. Ya had to press the button several times waking it up while pairing.

Okay tried super close and super close with a new battery. No luck. You would think after it knows what the device make and model is it would know what entities it has. Is there anyway to tell it what entities it has?

Not sure how invested into ZHA you are, but it also is listed to work with zigbee2mqtt if you want to try that.

https://www.zigbee2mqtt.io/devices/STS-PRS-251.html

It says it exposes battery, presence, action, beep, and linkquality, which should all be created as entities.

Only have a few things on ZHA at the moment. Will give zigbee2mqtt a try. Thought ZHA was suppose to replace or be a easier option to zigbee2mqtt?

Both have their advantages and disadvantages, and there are a lot of posts floating around the forum comparing them. Personally I use Zigbee2mqtt because I have a device that was better supported in it. Zigbee2mqtt supports more devices, while ZHA generally supports more zigbee controller sticks. ZHA is built into home assistant, so no separate addon, but some like the separation as restarting Home Assistant with zigbee2mqtt doesn’t restart the zigbee network. This guy did a pretty good video comparing them

Finally got zigbee2mqtt up and running. Seems I have both model arrival sensors. The newer model connected right up. The older model ones are not connecting with anything I try.

Old thread, I know… but I’m having the exact same issue with my SmartThings Arrival/Presence sensors (PGC410EU) and ZHA in Home Assistant.
I read here and in other threads that it should “just work”, and it does to some degree: the device is recognised and added without any problems. The “Last seen” value is updated every 20 seconds.
BUT there are no entities and cannot run any automations.

Any suggestions would be appreciated.

{
  "home_assistant": {
    "installation_type": "Home Assistant Container",
    "version": "2023.1.4",
    "dev": false,
    "hassio": false,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/London",
    "os_name": "Linux",
    "os_version": "5.15.92-v8+",
    "run_as_root": true
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "requirements": [
      "bellows==0.34.6",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.90",
      "zigpy-deconz==0.19.2",
      "zigpy==0.53.0",
      "zigpy-xbee==0.16.2",
      "zigpy-zigate==0.10.3",
      "zigpy-znp==0.9.2"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "1A86",
        "pid": "55D4",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga",
      "@puddly"
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      }
    ],
    "dependencies": [
      "file_upload"
    ],
    "after_dependencies": [
      "onboarding",
      "usb",
      "zeroconf"
    ],
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp"
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 57483,
    "manufacturer": "SmartThings",
    "model": "PGC410EU",
    "name": "SmartThings PGC410EU",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4362,
    "power_source": "Battery or Unknown",
    "lqi": 172,
    "rssi": -57,
    "last_seen": "2023-02-15T20:12:49",
    "available": true,
    "device_type": "EndDevice",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4362, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=0, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": 260,
          "device_type": "0x019a",
          "in_clusters": [
            "0x0000"
          ],
          "out_clusters": []
        },
        "2": {
          "profile_id": 64513,
          "device_type": "0x019a",
          "in_clusters": [],
          "out_clusters": []
        }
      }
    },
    "active_coordinator": false,
    "entities": [],
    "neighbors": [],
    "routes": [],
    "endpoint_names": [
      {
        "name": "undefined_0x019a"
      },
      {
        "name": "unknown 410 device_type of 0xfc01 profile id"
      }
    ],
    "user_given_name": "Arrival Sensor",
    "device_reg_id": "0e114539710e41115fc1717e3b0961f2",
    "area_id": null,
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "undefined_0x019a",
          "id": 410
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "SmartThings"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "PGC410EU"
              }
            },
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      },
      "2": {
        "device_type": {
          "name": "unknown",
          "id": 410
        },
        "profile_id": 64513,
        "in_clusters": {},
        "out_clusters": {}
      }
    }
  }
}

These key fob sensors have been incredibly useful in my SmartThings setup since they are extremely accurate and perfect for short-stay guests or non-technical people. Used fobs can be bought very cheaply on eBay. Their only downside is the short battery life (about two months) and a design flaw that means the battery holder clip breaks away very easily and the battery ends up being held in place by the cover. But otherwise a very useful product.

I have the same problem. The Samsung arrival sensor once paired with ZHA shows up as PGC410 and the last seen updates but no entities show up. How to we troubleshoot this?

Thanks for any help

The best thing I’ve come up with so far is creating a template sensor that checks how long ago the RSSI of the PGC410 was updated. The RSSI is likely to be updated a lot more often than the LQI.
Unfortunately this is not the same as the “last seen” value and in my testing I had to set the timeout after which the sensor is considered away to 15 minutes due to large number of false positives.
I added this to the configuration.yaml

template:
  - binary_sensor:
      - name: "Arrival Sensor present"
        unique_id: arrival_sensor_present
        device_class: presence
        state: '{{(as_timestamp(now()) - as_timestamp(states.sensor.arrival_sensor_rssi.last_changed) |float < 900 )}}'

Access to a true “last seen” value would make it a lot more reliable and could reduce the timeout to just 2 or 3 minutes as it was the case in the SmartThings Hub

1 Like

I came across this thread as part of my efforts to wean myself off SmartThings, which really isn’t the product it once was, and move all my devices over to HA. I had the same symptoms described above with missing entities once I had installed the Arrival sensors, but found that all I needed to do was to enable them. Once enabled, I tried the template that cipint suggested but found that this didn’t work well for me as the RSSI values sometimes stay the same if the sensor is in the house but isn’t moving. I did some screenshots showing the RSSI and LQI values. The consistent low levels are where the device is out of the house, but there are lower values shown for a short period when the device is actually at home. Not sure how this can happen but it does! I’ll need to experiment a bit with the template I think. Any ideas?

The template sensor worked reasonably well for me for a couple of weeks during which I tested it. I settled on 16 minutes timeout as that was least likely to return a false positive while still being reasonably precise.
But the lack of a true last_seen and no access to crucial info like battery level or to the useful buzzer on the key fob were a deal breaker for me so I have now given up on the SmartThings Arrival Sensors and am doing some early test with Bluetooth and the iBeacon integrations, but even that’s proving difficult as there are so many of them

1 Like

There’s a way to smooth the RSSI data within HA. I set it up once and it worked ok, but now I am blanking on the details for how to do it.

Basically the idea is to set up an automation based on the RSSI of a beacon, but because the RSSIs occasionally jump around, I smoothed the RSSI data. Then instead of the RSSI value triggering the automation, I switched it to Smoothed RSSI data for triggering the automation.

Sorry I can’t remember the details how to do it. But if I could figure it out (a total HA noob), anyone can! :grin:

1 Like

After testing many different things I have finally found a replacement for ST arrival sensors. I’m using Tile Pro’s. They look almost identical to the ST arrival sensor. The Tile app and integration is way to slow. After activating them with the app on your phone delete the app. Do not install the integration. I have a rpi4 running my HA. I activated the bluetooth on it and connected the Tile sensors with the bluetooth_le_tracker. Add this to your configuration.yaml

device_tracker:
#  - platform: bluetooth_tracker
#    track_new_devices: false
  - platform: bluetooth_le_tracker
    track_new_devices: false

I commented bluetooth_tracker out because I don’t use it at the moment. Change track_new_devices: true. I had to completely restart HA for it to start working and add the known_device.yaml file. After about 5 or 10 minutes change track_new_devices: false. Then restart HA. If you do not the list will just keep growing. Then go to entities and search device.tracker to bring up all the devices that were found. Remove the battery from the tile. Wait then put it back in. Keep doing this until you find your device in the list. Then you can go to known_devices.yaml and delete all the other devices and rename yours. To increase the bluetooth range I’m using ESPHome Bluetooth Proxy. Use the Olimex device. The M5Stack does not have the range to pickup the sensor very far. Plus it shares the antenna with the wifi so you will keep getting the Away notification. I had 5 M5Stacks around my house and they would barely pickup the vehicle outside the garage or in the driveway. I’m using 2 Olimex and have had no problems picking up vehicles when they come Home or getting Away notifications with them parked outside.

1 Like

Hi, how fast does the Tile Pro sensor shows up as away in HA?
I use the smartthings arrival sensor and it takes around 2 or 3 mins to get the away signal. I tried to use a ble keyfob, but it was taking 10-15 minutes or more to detect the keyfob as away. The “arrival” is instantaneous.

I’ve never timed it when testing by removing the battery but normally didn’t take that long to show away. He are the settings in the esphome device.

[17:43:02][C][esp32_ble_tracker:616]: BLE Tracker:
[17:43:02][C][esp32_ble_tracker:617]: Scan Duration: 300 s
[17:43:02][C][esp32_ble_tracker:618]: Scan Interval: 1100.0 ms
[17:43:02][C][esp32_ble_tracker:619]: Scan Window: 1100.0 ms
[17:43:02][C][esp32_ble_tracker:620]: Scan Type: ACTIVE

1 Like