-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Setting up the integration after Installation: logging in, the two poll intervals, reauth, and how your credentials are handled.
- Settings → Devices & Services → Add Integration.
- Search "Suunto App (unofficial)".
- Enter the email and password of your Suunto app account.
- Submit. On success you get one device named after your Suunto account (your username/handle), with all sensors, the statistics and the workouts calendar attached.
The integration logs in once, exchanges your password for a session token, and stores only the email + token. See Credential model below.
| Message | Cause |
|---|---|
| "Login was rejected..." | Wrong email/password, or account 2FA blocking the call. |
| "Could not reach the Suunto/Sports Tracker servers." | Network/DNS issue or the backend is down. |
| "This Suunto account is already configured." | You already added this account (it is de-duplicated by your user key). |
Press Configure on the integration to set two independent refresh cadences. They are split deliberately: live values should be fresh, but re-fetching ~90 days of history every few minutes would be wasteful (and hard on an unofficial API).
| Option | Default | Min | Max | Feeds |
|---|---|---|---|---|
| Live data interval | 15 min | 5 | 120 | Current heart rate, daily steps, daily energy (the fast coordinator). |
| History interval | 60 min | 15 | 1440 | Sleep, recovery, workouts, training load, baselines, and the hourly long-term statistics (the daily coordinator). |
Keep the History interval modest. Hourly is plenty - the statistics backfill means a late watch sync is still captured retroactively, so a faster poll buys you almost nothing while hammering a private API. See Architecture for why there are two coordinators.
If the stored session token is ever invalidated by the server, the coordinator raises an auth failure and HA shows "Reauthentication required" on the integration. Click it and enter your password again - a fresh session token is obtained and stored. The password is still not kept between times.
There is no silent re-login with a stored password by design (there is no stored password). This means: a revoked/expired session always surfaces as an explicit reauth prompt.
- Your password is used once - at setup, and again only if you go through reauth.
- It is immediately exchanged for a session token and then discarded. It is never written to disk.
- HA's
.storageholds only your email and the revocable session token. - Rationale: a revocable token is safer to persist than a reusable password. (HA
.storageis plaintext - a HA limitation; a token limits the blast radius.)
Suunto sends a new login notification email on every login call. To minimise these, the integration caches the session token and reuses it across restarts - during normal data fetching it does not log in and does not trigger emails. You should only see a login email on first setup and on reauth.
More detail in Privacy & Disclaimer.
ha-suunto - Unofficial Suunto integration for Home Assistant - Not affiliated with Suunto / Amer Sports / Sports-Tracker - Report an issue
Getting started
Reference
Build with it
Under the hood
Help