A Home Assistant custom integration for tracking Xplora kids smartwatches. Provides GPS location, battery percentage, and charging state for all watches linked to your Xplora account.
- 📍 GPS tracking — live location for each watch displayed on the HA map
- 🔋 Battery level — percentage sensor with standard HA battery device class
- ⚡ Charging state —
charging/not_chargingsensor - 👤 Person integration — device trackers can be assigned to HA People
- 🔄 Configurable poll interval — 60 to 600 seconds (default 180 seconds)
- 🏷️ Custom watch names — set friendly names during setup or via the options flow
- 🔧 Configurable API settings — override the Xplora API endpoint, key, and secret through the integration options if upstream values change
- 🔁 Auto-discovery — watches are discovered from your account at login; adding or removing a watch takes effect on next HA restart
- Home Assistant 2024.1 or newer
- An Xplora account with at least one watch linked, accessible via goplay.myxplora.com
- Your Xplora account must use email + password login (not phone number)
- Download the latest release zip from the Releases page
- Extract and copy the
xplora_watch_trackerfolder into your HAconfig/custom_components/directory:config/ └── custom_components/ └── xplora_watch_tracker/ ├── __init__.py ├── api.py ├── config_flow.py ├── ... └── brand/ └── icon.png - Restart Home Assistant fully (Settings → System → Restart)
- In HACS, go to Integrations → ⋮ → Custom repositories
- Add
https://github.com/mspinapolice/xplora_watch_trackeras an Integration - Search for "Xplora Watch Tracker" and install
- Restart Home Assistant
- Go to Settings → Devices & Services → Add Integration
- Search for Xplora Watch Tracker
- Enter your credentials:
- Email address — the email on your Xplora account
- Password — your Xplora account password
- Timezone — your local timezone (e.g.
America/New_York) - Language — your preferred language code (e.g.
en-US)
- On the next screen, set a friendly name for each discovered watch and choose your poll interval
- Click Submit — the integration will appear under Devices & Services
For each watch, the integration creates three entities grouped under one device:
| Entity | Type | Example |
|---|---|---|
device_tracker.<name> |
Device Tracker | home / not_home |
sensor.<name>_battery |
Sensor | 79 % |
sensor.<name>_charging |
Sensor | not_charging |
The device tracker also exposes these attributes:
latitude/longitudelocate_type—GPS,WIFI, orLBS(cell tower)location_accuracy— radius in metreslast_seen— Unix timestamp of the last location fixcity,country,address— when available from the API
After setup, click Configure on the integration card to adjust:
- Poll interval — how often to request updated location and battery data (60–600 seconds)
- Watch names — rename any watch without removing and re-adding the integration
- API endpoint / API key / API secret — override the connection details used to reach Xplora's backend
Changes take effect immediately via an automatic integration reload.
- Go to Settings → People
- Edit or create a person (e.g. "YourNameHere")
- Under Tracking devices, select
device_tracker.yournamehere - HA will use the watch location to determine
home/not_homestate for that person
Authentication failed on setup
- Confirm you can log into goplay.myxplora.com with the same email and password
- Ensure you are using email address + password login, not a phone number - in my testing, it seems the new API only accepts email addresses now
- Check that your password does not need to be reset (the account may lock after repeated failed attempts)
Location not updating
- Check that the watch has GPS or WiFi signal
- The
locate_typeattribute shows the fix method —LBS(cell tower) is least accurate and may not update as frequently - Increase poll interval if you are seeing API errors in the HA logs (and to prevent potential IP bans from Xplora)
Icon not showing
- Requires a full HA restart (not just an integration reload) followed by a hard browser refresh (
Ctrl+Shift+R)
No watches found
- Ensure the watches are linked to your account in the Xplora app
- Try removing and re-adding the integration to trigger fresh discovery
- No real-time push — location is polled on a schedule, not pushed from the watch
- GPS accuracy varies — the watch reports
GPS,WIFI, orLBSfix types with varying accuracy - API dependency — this integration uses Xplora's private API. If Xplora changes their API, the integration may stop working until updated
- Email + password only — attempts using guardian's phone number were usuccesful authenticating via the API
- This integration communicates with the Xplora cloud API over
HTTPS. - At this time, the Xplora API requires passwords to be hashed with
MD5before transmission. This is a requirement imposed by Xplora's servers and is outside the control of this integration. - The account password is never stored in plain text. Home Assistant's encrypted config entry storage is used to protect credentials at rest.
MIT License — see LICENSE for details.