Self-hosted Kia EV6 trip history dashboard
- Python 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Initialize the kia-dashboard project with:
- Python 3.13 project via `uv`
- Directory layout: `src/{scraper,api_client,db,web}`, `scripts/`, `tests/`
- Dependencies: Flask, Jinja2, httpx, hyundai_kia_connect_api, playwright, python-dotenv
- `.env.example` with KIA_USERNAME, KIA_PASSWORD, KIA_PIN
- `.gitignore` covering `.env`, `__pycache__`, `.venv`, `db.sqlite`
- `README.md` with setup instructions
- `main.py` entry point (Flask dev server on port 5000)
- Stub CLI scripts: `import-trips`, `sync-vehicle`
Closes task t_c3641c6e
Reviewed-on: #1
Reviewed-by: Ben Kreeger <[email protected]>
|
||
| scripts | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| .python-version | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
kia-dashboard
Self-hosted dashboard for Kia EV6 trip history and vehicle status.
Setup
Prerequisites
- Python 3.13+
- uv package manager
Install
# Clone the repo
git clone https://git.kree.gr/noid/kia-dashboard.git
cd kia-dashboard
# Install dependencies
uv sync
# Install Playwright browser (required for owners.kia.com scraping)
uv run playwright install chromium
# Copy and edit environment variables
cp .env.example .env
# Edit .env with your Kia Connect credentials
Run
# Start the web dashboard
uv run kia-dashboard
# Open http://localhost:5000 in your browser
Commands
| Command | Description |
|---|---|
uv run kia-dashboard |
Start Flask web server |
uv run import-trips |
Scrape trip history from owners.kia.com |
uv run sync-vehicle |
Poll vehicle status via Kia Connect API |
Project Structure
src/
scraper/ # owners.kia.com Playwright scraper
api_client/ # Kia Connect API wrapper
db/ # SQLite schema and queries
web/ # Flask routes and templates
scripts/ # CLI entry points
tests/ # Test suite