Skip to content

Home Assisstant custom integration to provide data from Samsung SmartThings Find, such as SmartTag locations

License

Notifications You must be signed in to change notification settings

davidalben/HA-SmartThings-Find

 
 

Repository files navigation

⚠️ Repository archived! ⚠️

Unfortunately, I no longer have the time to maintain this repository. I underestimated how much work it would be. Additionally, my focus recently has shifted away from HA (and programming in general) towards other things. I sincerely hope someone else can take over and build a solid, reliable integration from what's already here.

SmartThings Find Integration for Home Assistant

This integration adds support for devices from Samsung SmartThings Find. While intended mainly for Samsung SmartTags, it also works with other devices, such as phones, tablets, watches and earbuds.

Currently the integration creates three entities for each device:

  • device_tracker: Shows the location of the tag/device.
  • sensor: Represents the battery level of the tag/device (not supported for earbuds!)
  • button: Allows you to ring the tag/device.

screenshot

This integration does not allow you to perform actions based on button presses on the SmartTag! There are other ways to do that.

⚠️ Warning/Disclaimer ⚠️

  • API Limitations: Created by reverse engineering the SmartThings Find API, this integration might stop working at any time if changes occur on the SmartThings side.
  • Limited Testing: The integration hasn't been thoroughly tested. If you encounter issues, please report them by creating an issue.
  • Feature Constraints: The integration can only support features available on the SmartThings Find website. For instance, stopping a SmartTag from ringing is not possible due to API limitations (while other devices do support this; not yet implemented)

Notes on authentication

The integration simulates Samsung login using QR code. It stores the retrieved JSESSIONID-Cookie and uses it for further requests. It is not yet known, how long exactly the session is valid! While it did work at least for several weeks for me and others, there's no definite answer and the session might become invalid anytime! As a precaution I implemented a reauth-flow: In case the session expires, Home Assistant will inform you and you can easily repeat the QR code login process.

Notes on connection to the devices

Being able to let a SmartTag ring depends on a phone/tablet nearby which forwards your request via Bluetooth. If your phone is not near your tag, you can't make it ring. The location should still update if any Galaxy device is nearby.

If ringing your tag does not work, first try to let it ring from the SmartThings Find website. If it does not work from there, it can not work from Home Assistant too! Note that letting it ring with the SmartThings Mobile App is not the same as the website. Just because it does work in the App, does not mean it works on the web. So always use the web version to do your tests.

Notes on active/passive mode

Starting with version 0.2.0, it is possible to configure whether to use the integration in an active or passive mode. In passive mode the integration only fetches the location from the server which was last reported to STF. In active mode the integration sends an actual "request location update" request. This will make the STF server try to connect to e.g. your phone, get the current location and send it back to the STF server from where the integration can then read it. This has quite a big impact on the devices battery and in some cases might also wake up the screen of the phone or tablet.

By default active mode is enabled for SmartTags but disabled for any other devices. You can change this behaviour on the integrations page by clicking on Configure. Here you can also set the update interval, which is set to 120 seconds by default.

Installation Instructions

Using HACS

  1. Add this repository as a custom repository in HACS. Either by manually adding https://github.com/Vedeneb/HA-SmartThings-Find with category integration or simply click the following button:

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

  1. Search for "SmartThings Find" in HACS and install the integration
  2. Restart Home Assistant
  3. Proceed to Setup instructions

Manual install

  1. Download the custom_components/smartthings_find directory to your Home Assistant configuration directory
  2. Restart Home Assistant
  3. Proceed to Setup instructions

Setup Instructions

Open your Home Assistant instance and start setting up a new integration.

  1. Go to the Integrations page
  2. Search for "SmartThings Find" (do not confuse with the built-in SmartThings integration!)
  3. To login, scan the QR Code shown in the config flow or follow the shown link.
  4. Wait a few seconds, and the integration should be ready.

Debugging

To enable debugging, you need to set the log level in configuration.yaml:

logger:
  default: info
  logs:
    custom_components.smartthings_find: debug

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributions

Contributions are welcome! Feel free to open issues or submit pull requests to help improve this integration.

Support

For support, please create an issue on the GitHub repository.

Roadmap

  • HACS support
  • Service to let a device ring
  • Service to make a device stop ringing (for devices that support this feature)
  • Allow adding two instances of this integration (two Samsung Accounts)

Disclaimer

This is a third-party integration and is not affiliated with or endorsed by Samsung or SmartThings.

About

Home Assisstant custom integration to provide data from Samsung SmartThings Find, such as SmartTag locations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%