Open source data logger for Volvo and Polestar EVs.
runsten.app · Documentation · Self-hosting
Runsten records the trips, charges and costs of Volvo electric cars, and shows them as a history and as statistics. It reads the car through the Volvo Cars API, on a server of your own. The name comes from runestones (runsten in Swedish), which often commemorated journeys: Runsten carves your car's trips in stone.
- A collector polls the Volvo API and keeps every response as it came; trips and charges are worked out from them, including those that happened while nothing could be read, marked as reconstructed.
- A web interface, on a phone as well as a desktop, in English, French and Swedish: the car's state, its trips and charges, their costs from your tariffs, statistics, and an estimate of the battery's capacity.
- An API (
/api/v1) and MQTT publishing, with Home Assistant's discovery, for your own scripts and home automation.
Status: early development. Expect changes between versions.
Runsten runs with Docker Compose on any Linux server: a NAS, a small VPS, a Raspberry Pi 4 or 5. It needs an application of your own on the Volvo Cars developer portal.
The documentation covers installing, the Volvo application, updating, backups and the API; its sources are in documentation/.
A simulator of the Volvo API makes it possible to work without a car. DEVELOPMENT.md explains how to set Runsten up, run and test it, and how releases are made; ARCHITECTURE.md how the code is organized; CONTRIBUTING.md how to propose a change. In short:
task web-install # once: the front end's dependencies (Node of web/.nvmrc)
tilt up # the whole stack on the simulator: http://127.0.0.1:5173 (admin / runsten-dev-password)
task unit # format, lint, tests and build, before a pull requestRunsten is an independent project, not affiliated with Volvo Car Corporation or Polestar. "Volvo" and "Polestar" are trademarks of their respective owners.