Polestar smart home integration, free and open source

Battery, range, charging, odometer and service of your Polestar cars.
Follow your Polestar cars in Gladys: battery, range, charging, odometer and service. The data comes from the Polestar cloud (the one of the Polestar app): the integration needs an internet access, and the car must be online.
This integration is not made nor supported by Polestar. It uses the same service as the Polestar app, which may change without notice.
What you get
One device per car of your Polestar account, with these values:
| Value | Unit | Note |
|---|---|---|
| Battery | % | |
| Range | km | estimated by the car |
| Charging | on/off | on while the car is charging |
| Time to full charge | minutes | while charging |
| Odometer | km | |
| Days to service | days | negative when the service is overdue |
| Distance to service | km | negative when the service is overdue |
Everything is read-only: Polestar does not open remote commands (lock, climate, charge) to third parties.
Configuration
- Open the Configuration tab of the integration.
- Enter the e-mail and the password of your Polestar ID account, the one you use in the Polestar app.
- Optional: in Cars to follow (VIN), list the VINs to follow, separated by commas. Empty means every car of the account.
- Refresh interval: how often each car is read, in seconds (5 minutes by default, 2 minutes at least). The car itself only reports every few minutes: a shorter interval brings nothing.
- Low battery threshold: the level under which the "Battery low" scene trigger fires (20 % by default).
- Save: your cars appear in the Discovery tab, ready to be added.
The Test the connection button signs in and lists the cars found.
If Polestar ID refuses the password, the integration says so and stops trying until you save the configuration again: repeated attempts with a wrong password could lock your account.
Scenes
The integration adds its own cards to the scene editor (Gladys 5.1 or later), under the Integrations category. Each trigger can be limited to one car.
- Charging started (trigger) — a car started charging. Variables: car, battery (%), range (km).
- Charging stopped (trigger) — a car stopped charging: charge complete,
unplugged or paused. The
completedvariable tells a complete charge apart. - Battery low (trigger) — the battery went under the threshold of the configuration. Fires once per crossing, not at every refresh.
- Service needed (trigger) — the service became more urgent: soon, due, then overdue. Optionally filter on the urgency.
- Read a Polestar now (action) — reads the car right away and gives its values (battery, range, charging, odometer, service) to the next actions of the scene, for example to send you a message with the range.
The triggers compare each reading with the previous one: the first reading after a restart of Gladys fires nothing.
Dashboard
Add the Polestar car widget to a dashboard and pick a car in its settings. It shows the battery, the range and the odometer live, the charging state (with the time to full charge), the service, the fluid levels and the time of the last report of the car. Its Refresh button reads the car right away.
Cloud badge
The integration is tagged cloud: each car shows a cloud badge while the Polestar cloud answers, and unreachable when it does not.
Troubleshooting
- "Polestar ID refused the e-mail or the password": sign in to the Polestar app with the same e-mail and password, then save the configuration again.
- No value: the car only sends data when it is online. Open the Polestar app: if it shows no recent data either, the integration cannot have any.
- Logs: check the integration logs from the Gladys interface (or
docker logson the host). SetLOG_LEVEL=debugon the container for more detail. The password and the tokens are never written in the logs.
Configuration settings
These are the settings Polestar asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Getting started | section | No | Sign in with the Polestar ID account of the Polestar app. The data comes from the Polestar cloud: the car must be online, and it reports every few minutes. Read-only: Polestar does not open remote commands. |
| Polestar ID e-mail | string | Yes | |
| Polestar ID password | secret | Yes | |
| Cars to follow (VIN) | string | No | Leave empty to follow every car of the account, or list VINs separated by commas. |
| Refresh interval (s) | number | No | How often each car is read from the Polestar cloud, in seconds (2 minutes minimum). |
| Low battery threshold (%) | number | No | The "Battery low" scene trigger fires when the battery goes under this level. |
How to install Polestar in Gladys
- In Gladys, open Integrations: Polestar appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/prohand/gladys-polestar:0.0.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/prohand/gladys-polestar.
Polestar requires Gladys >=5.3.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Polestar is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by prohand, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation