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.
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.
This integration does not allow you to perform actions based on button presses on the SmartTag! There are other ways to do that.
- 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)
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.
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.
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.
- Add this repository as a custom repository in HACS. Either by manually adding
https://github.com/Vedeneb/HA-SmartThings-Find
with categoryintegration
or simply click the following button:
- Search for "SmartThings Find" in HACS and install the integration
- Restart Home Assistant
- Proceed to Setup instructions
- Download the
custom_components/smartthings_find
directory to your Home Assistant configuration directory - Restart Home Assistant
- Proceed to Setup instructions
- Go to the Integrations page
- Search for "SmartThings Find" (do not confuse with the built-in SmartThings integration!)
- To login, scan the QR Code shown in the config flow or follow the shown link.
- Wait a few seconds, and the integration should be ready.
To enable debugging, you need to set the log level in configuration.yaml
:
logger:
default: info
logs:
custom_components.smartthings_find: debug
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Feel free to open issues or submit pull requests to help improve this integration.
For support, please create an issue on the GitHub repository.
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)✅
This is a third-party integration and is not affiliated with or endorsed by Samsung or SmartThings.