Repository navigation
Features
🌐 Language: EN · DE · FR · ES · TR · EL
| 🇬🇧 English | You are here |
| 🇩🇪 Deutsch | Deutsche Version |
| 🇫🇷 Français | Version française |
| 🇪🇸 Español | Versión en español |
| 🇹🇷 Türkçe | Türkçe sürüm |
| 🇬🇷 Ελληνικά | Ελληνική έκδοση |
Tesla Carview covers the full lifecycle of your Tesla — from tracking every trip to controlling the car, planning routes, and managing charging costs. Everything runs on your own server.
| Module | Summary |
|---|---|
| 📊 Dashboard | Live status, stats, tariff widget, health overview |
| 🚗 Trip Logbook | Auto-recorded drives, BMF-compliant PDF export |
| ⚡ Charging | Sessions, locations, Monta sync, cost invoices |
| 🔋 Battery | Health tracking, degradation, range history |
| 🗺️ Route Planner | OSRM routing, intelligent charging stops, SoC-aware planning, weather/traffic/speed-cameras, tile proxy |
| 🎮 Vehicle Control | Climate, locks, charging, OTA, scheduled charging |
| 📝 Service Logbook | Maintenance records, intervals, push reminders |
| 💬 Grok Chat | xAI-powered AI assistant with vehicle context |
| 📤 Export | CSV, JSON, PDF invoices, full backup |
| 🔐 Security | Passkeys, MFA (TOTP), QR-SSO for Tesla browser |
| 🌍 Multi-Language | DE · EN · FR · ES · TR · EL |
| 📱 PWA | Installable on home screen, offline shell |
| 📈 Analytics | Trip metrics table, geo heatmap (4 layers, custom colours), zone analysis in the trip detail |
The dashboard is your central overview, showing:
- Live vehicle status — battery level, range, location, charging state
- Recent trips — last 5 trips with distance and consumption
- Monthly statistics — distance, energy used, charging cost
- Dynamic tariff widget — current electricity price (aWATTar DE/AT, Tibber) with 24 h price chart and auto-set charging window
- Service intervals — upcoming maintenance reminders (TÜV, oil, brake fluid, etc.)
- System health — Tesla API connection status, Fleet Telemetry, database size
- Your week (v3.30) — a "Your week" card with plain-text hints on mileage, consumption vs. the 90-day average (incl. a cold-weather reason), charging cost and open anomalies. Pure statistics; optional local LLM polish.
The dashboard is fully customisable: show, hide, and reorder cards in Settings → Setup Wizard.
Every drive is automatically recorded with:
- Start and end location (address + GPS coordinates)
- Distance, duration, average speed
- Energy consumption (kWh and kWh/100 km)
- Battery level at start/end
- Trip type classification (private / commute / business)
Above the trip list, a period bar offers quick presets (7 days, 30 days, this month, last month, this year) or free from/to bounds. Next to it stands the period total: distance, energy used (kWh) and trip count — calculated on the server across every trip in the period, not just the loaded page, so "load more" never changes it. When some trips carry no energy value (GPS-only trips), the kWh figure is marked with * and names the ratio it covers.
Select mode adds a checkbox per trip plus "all loaded", and sums the ticked trips at the bottom of the screen: count, distance, energy, average consumption and driving time. Useful when the trips of one business journey don't fall neatly into a calendar period.
Average consumption is weighted (total energy ÷ total distance), so a 400 m trip with preconditioning cannot distort it.
The trip logbook meets German tax office (Finanzamt/BMF) requirements:
- Business partner and trip purpose fields
- Sequential trip numbering
- "Lock" function for finalising the logbook
- PDF export in A4 landscape format with all legally required fields
- Trip merging and splitting for multi-stop journeys
- Manual trip creation for forgotten entries
If a trip has a missing or wrong address, edit it directly in the trip detail view.
When you use OwnTracks for GPS, three lines of defense protect your data:
- Bluetooth validation — iOS Shortcut reports "in the Tesla" / "got out", trips outside are ignored
- Trip lock — only one active device per Tesla, prevents duplicate recording
- Manual pause toggle — emergency brake for rental-car vacations etc.
Setup is in the handbook under {#owntracks-validation}, step by step.
Compares the 1% rule with the logbook method and computes the taxable benefit — with a date-dependent EV rate (0.25/0.5%, gross-list-price cap by acquisition date). Pure electric vehicles (BEV) only, company cars only, German-language.
Every trip change lands in an HMAC-signed linked hash chain — the change history cannot be silently altered afterwards (GoBD). Integrity check + statement in the tax-office PDF.
- Trip metrics (v3.37) — sortable table of all trips: duration, distance, consumption, speed and power each as min/max/avg; summary tiles, CSV export, scope up to "All"
- Geo heatmap (v3.38–v3.41) — map with four individually toggleable layers: trips (start/end density), charging sessions, charging spots and routes (as lines); selectable time range, each layer's colour adjustable
- Zone analysis in the trip detail (v3.39) — speed bands, own geofence/charging-spot zones or a freely chosen section: tabular values + map highlighting, hint markers for Vmax, peak power, regeneration and stops
- App Hub: custom apps (v3.40) — admins create their own web apps (emoji, name, URL, note), "Custom" category, audit log
All charging sessions are logged automatically:
- Location (GPS-matched to saved charging locations)
- Energy added (kWh) and estimated cost
- Charging speed and duration
- Home charging flag (🏠) via Monta integration
Define home and regular charging spots in Settings → Charging Locations — sessions are tagged automatically, and a per-kWh rate is applied for cost calculation.
Available for all vehicles — configure per vehicle in Settings → Vehicle profile → Home charging:
- Private vehicles: Monta sessions appear as home charges (🏠 badge, automatic home-wallbox detection via charge-point ID).
- Company cars: additionally, full cost billing — monthly overview, PDF reimbursement sheet, billing template for the employer.
Generate PDF invoices for reimbursement (Billing → Generate Invoice). Select date range, include/exclude sessions — fully client-side. Billing features are available for company car vehicles only.
- Charge timeline — every session opens "📈 View timeline": power and state-of-charge curve over time, key figures (duration, kWh added, avg/peak power, cost) and a labelled estimate of grid draw and charging loss (efficiency assumed per charger type).
- Cost by location — sums per location the number of charges, kWh, total cost and average €/kWh, with a home/away marker.
- Cheapest charging windows — when an electricity price provider (aWattar/Tibber) is connected, shows the current price plus the cheapest 4 h and 8 h window over the next 24 hours, with an hourly grid.
The charge planner (navigation Planning → Charge Planner) picks the cheapest hours before departure from the dynamic tariff (aWATTar/Tibber) — not necessarily contiguous. Enter current/target charge, battery capacity, charging power and departure time; it returns the energy to add, charging time, optimal cost and the savings versus charging straight away, plus a bar chart with the chosen charging hours highlighted in green. Pure price-curve analysis — no vehicle access, works without the Fleet API.
For company cars, the cost billing splits the home-charging cost into business/private and produces a reimbursement PDF — via flat rate (German § 3 No. 50 EStG, €30/€70 per month) or mileage share (business km share × home-charging cost). Company cars only, German-language.
Charges only from solar surplus: reads the surplus from a Home Assistant sensor (local REST API) and derives the recommended charging current (surplus ÷ (voltage × phases)). "Apply now" sets the current and starts/stops charging (Fleet API + virtual key). Fully local, no cloud.
Six sections on /battery, fully local and statistics-only (no AI, no cloud except a single weather lookup for preconditioning):
Phase 1 (from v3.6.0):
- Range history (rolling max rated_range)
- Degradation (first vs. last measurement, colour-coded)
- Charging curve (SOC-band aggregate + scatter kW vs. start SOC)
- Efficiency vs. outside temperature (kWh/100 km in 5 °C buckets)
- Phantom drain (SOC loss per hour while parked, filtered around trips/charges)
- Anomalies (live: SOC/range jumps, efficiency outliers)
Phase 2 (from v3.7.0):
- Companion alerts — persistent anomalies with one-shot push notification and "Mark as seen / Dismiss" actions
- Preconditioning suggestion — push when temperature below 5 °C or above 30 °C is expected at your typical departure time, learned from the last 30 days of trips
Health & forecast (v3.27): linear projection of the range normalised to 100 % SoC with a 95 % confidence band — degradation rate (%/year and km/year), projected range in 3 years and estimated time until 80 % of the starting value. Appears from 14 measurement days. Pure statistics, no AI.
Standby-drain trend warning (v3.28): if the last 7 days' phantom-drain median stays above the 30 days before it (or is sustained above 0.8 %/h), a hint banner appears.
Sources: battery_snapshots, trips, charging_sessions, plus a single Open-Meteo call for preconditioning. Persistence in battery_anomalies and precondition_suggestions with UNIQUE constraints (idempotent). The companion engine runs nightly + every 6 hours.
Battery health certificate as PDF for lease return/resale — range at 100%, degradation rate, projection to 80%, optional SoH in %. Statistical estimate, no warranty.
In the sleep monitor: "Why won't my car sleep?" Fleet Telemetry (Tesla only streams while the car is awake) shows how long the car was awake while parked and what that costs in charge and money. Plus a daily breakdown and data-backed hints on the cause: power draw while parked (Sentry Mode, climate control), sleep phases that end after minutes, regular wake-ups. Requires active Fleet Telemetry.
What cold costs your own car: consumption by temperature in 5 °C bands against your own reference at 15–25 °C, cold surcharge per trip (also in the trip detail), frost range for the next 7 days and winter tips. Missing outside temperatures (Fleet Telemetry provides none) are filled in from Open-Meteo; only coordinates rounded to ~11 km are sent. The reminder to precondition while plugged in when it freezes works again since v3.59.0.
Your driving year in numbers: kilometres, trips, CO₂ saved, charging (energy, home share, cost), kilometres per month and highlights such as the longest and coldest trip. The year card can be saved or shared as an image (1080 × 1350); it contains only numbers, no locations.
What an update brings appears as an info notice at the top of the app (with a direct jump to the feature), as a dot on the megaphone icon and on the "What's new" page (/news). The entries belong to the installed version, without contacting a third-party server; the website shows the same entries.
Plan routes before you drive and send them directly to your Tesla's navigation:
- Start location — auto-set from vehicle GPS, browser GPS, or manual entry
- Destination search — geocoded via Nominatim (backend proxy, no CSP issues)
- Up to 5 waypoints — add intermediate stops
- OSRM routing — open-source routing engine, no account needed
- Estimated arrival SoC — calculates battery level at destination based on your real consumption history
- Charger overlay — shows fast-charging stations (CCS, CHAdeMO, Tesla) along the route via OpenChargeMap
- Provider filter — when multiple charging-network operators are found, a chip bar lets you filter to a specific one; affects both the map display and the automatic charging-plan calculation
- Community comments — clicking a charging station lazy-loads up to three recent OpenChargeMap user comments (author, date, text) — often mentions amenity details like restroom cleanliness
- Send to Tesla — one tap sends the destination to the car's navigation
- Save & reload routes — store favourite routes for quick access
- ABRP fallback — optional link to A Better Route Planner with pre-filled destination
- Intelligent charging stop planning — automatically inserts charging stops when the route exceeds your battery range; each stop shows estimated charging time, estimated kWh added, charger type, and SoC at arrival/departure, plus a route-level total kWh
- Departure SoC — auto-filled from live vehicle data (ad-hoc trips) or enter manually (scheduled departure with estimated SoC at that time)
- Target arrival SoC — configure the minimum SoC at your destination (default 20%)
- Charge-to SoC per stop — set how full to charge at each stop (default 80%) to balance speed vs. range
- Total trip time & legs — once a charging plan is active, shows total trip time (driving + charging + breaks); with waypoints set, a leg-by-leg breakdown lists distance and duration per segment
- Planning breaks — add one or more breaks with an optional label and duration; flows into the calculated arrival/departure time and the ICS export. Session-only, not saved with stored routes
- Weather along route — temperature, precipitation, wind (Open-Meteo, free)
- Traffic alerts — congestion warnings via HERE Maps (optional API key)
- Speed camera overlay — radar/camera warnings from OpenStreetMap (legal note shown)
- Tile proxy — all map tiles served through backend proxy (no CSP blocks, no rate limits)
- Personal range instead of WLTP (v3.29) — the projected arrival SoC comes from your own, temperature-dependent consumption (from your trip history), not from the WLTP range. When the destination temperature is known, only trips within a ±7 °C window are used. Shows a confidence band, the data basis and a "could get tight" warning when the band reaches the critical zone. Pure statistics, no AI; falls back to the WLTP estimate without enough trips.
Control your Tesla directly from the app:
- 🌡️ Climate — start/stop, set temperature, seat heating, steering wheel heating, keeper modes (Camp/Dog/Keep)
- 🔓 Locks — lock/unlock doors
- 💡 Lights — flash lights, horn
- 🚪 Trunk/frunk — open trunk and frunk
- 🪟 Windows — open/close windows
- 🔌 Charging — open/close charge port, set charging amps, start/stop
- ⏰ Scheduled charging — set off-peak charging windows
- 🔄 Software updates — trigger and monitor OTA updates
- 🎵 Boombox — trigger boombox sounds (where supported)
Commands require the Virtual Key to be paired. See Tesla API Setup.
Log all maintenance events:
- Date, category (maintenance / repair / tire / inspection / note)
- Cost, mileage, workshop name
- Description
Configure recurring intervals (Settings → Service Intervals). The app sends Web Push notifications 30 days before and 1 000 km before each interval. The dashboard shows upcoming services as a preview card.
For km-based intervals, Tesla Carview projects from your actual mileage (avg km/day over the last 90 days) when an interval is likely due ("≈ in ~6 weeks"). In the TCO cockpit, a 12-month cost outlook shows expected maintenance, electricity, insurance and tax costs for the next 12 months (projected from the last 12). Pure statistics.
Ask questions about your Tesla data in natural language, powered by xAI Grok:
- Context-aware — Grok sees your recent trips, charging sessions, and vehicle stats
- Streaming — answers appear word by word like a real chat
- Multi-chat history — conversations are saved and searchable in the sidebar
- Budget control — set a daily token budget in Settings to cap costs
- Privacy — requests route through your backend, never directly from the browser to xAI; no raw VINs or exact addresses are sent
Requires an xAI API key (
XAI_API_KEYin.env). Get one at console.x.ai.
Log in with Face ID, Touch ID, or a hardware key instead of a password. Manage passkeys in Settings → Passkeys.
Enable two-factor authentication with any authenticator app. Backup codes are generated at setup.
The Tesla in-car browser cannot use Face ID or hardware keys. The QR login flow solves this:
- The Tesla browser shows a QR code (5-minute TTL)
- Scan with your phone
- Authenticate with your phone's passkey/Face ID
- The Tesla browser session is unlocked automatically
Standard username/password authentication with bcrypt hashing. Admins can generate reset tokens for users.
A step-by-step wizard guides you through the initial configuration and can be relaunched anytime from Settings → Launch Wizard.
Admin steps (first-time setup):
| # | Step | What you configure |
|---|---|---|
| 1 | Language | Interface language |
| 2 | Tesla OAuth | Connect your Tesla account |
| 3 | Vehicles | Select and sync vehicles |
| 4 | Virtual Key | Pair for vehicle commands |
| 5 | Fleet Telemetry | Enable real-time GPS per vehicle |
| 6 | Electricity price | Per-vehicle energy cost |
| 7 | Legal | Imprint, privacy, terms (scans for open placeholders) |
| 8 | External APIs | OpenChargeMap · HERE Maps · Tibber · xAI (Monta is per-vehicle in Settings) |
| 9 | Monitoring | SMTP e-mail delivery · Anthropic key for AI autofix |
| 10 | Design | Glass / Cyber / Minimal / Sport |
| 11 | Accent colour | Theme colour |
| 12 | Units | km/mi · °C/°F · kWh |
| 13 | Dashboard | Card visibility and order |
| 14 | Navigation | Tab visibility |
| 15 | Notifications | Push notification settings |
| 16 | Summary | Review and confirm all changes |
Non-admin users see only steps 10–16 (design, units, dashboard, navigation, notifications, summary).
Connect aWATTar (DE/AT, no API key) or Tibber (API key in Settings):
- Dashboard shows current price and 24 h price chart
- Auto-set charging window — one click sets scheduled charging to the cheapest 4 h window in the next 24 h
Fully translated into: 🇩🇪 German · 🇬🇧 English · 🇫🇷 French · 🇪🇸 Spanish · 🇹🇷 Turkish · 🇬🇷 Greek
Language resolution order:
- User profile setting (overrides everything)
- Tenant's default language
- Browser language
Install Tesla Carview on your home screen:
- Android/Desktop Chrome: Install icon in address bar
- iOS Safari: Share → "Add to Home Screen"
- Tesla browser: Menu → "Add to home screen"
The installed PWA caches the app shell, works offline for cached pages, and receives push notifications like a native app.
Get notified when:
- Charging is complete
- A service interval is approaching
- A software update is available
Setup: Settings → Push Notifications → Enable.
- Each tenant has a fully isolated SQLite database
- Admins invite users via one-time links
- Per-user permissions: can edit vehicles, can add vehicles, MFA required
- Tenant default language and settings
See Multi-Tenant & Users for full details.
Enable a demo sandbox with DEMO_ENABLED=true in .env:
- Fake trips and charging history are generated automatically
- Demo accounts expire after 14 days
- IP-based rate limiting prevents abuse
- Trips — CSV or JSON
- Charging sessions — CSV or JSON
- Service logbook — CSV
- Full backup — JSON (all tables), importable for restore via Admin → Data Management
When the backend restarts after an update, the app shows an overlay with Tesla quotes, a countdown, and auto-reconnects as soon as the backend is back.
Planned routes can be exported as .ics files and imported into any calendar application (Google Calendar, Apple Calendar, Outlook, etc.):
- Exports departure time, arrival time, and total duration (including charging stops)
- Description includes route summary, distance, and energy estimate
-
CLASS:PRIVATEis set automatically to protect trip data in shared calendars - A note reminds users to set the event to Private if their calendar is shared
Available in the Route Planner after a route has been calculated.
The Telemetry view shows tire pressure as an interactive top-down car silhouette:
- Color-coded tires: green (2.3–2.9 bar OK), yellow (outside recommendation), red (critical < 1.8 or > 3.4 bar)
- Glow effect per tire based on pressure level
- Tooltip on hover/tap with full tire name and status text
- Legend below the car for quick orientation
- No signal is shown as a grey placeholder
Trip detail pages now show energy recovered during braking:
- Recovered kWh during the trip
- Recuperation share (% of gross energy used)
- Net consumption after subtracting recuperation (kWh/100 km)
- Visual bar showing recuperation ratio
- Only shown when data is available (older trips without power data stay clean)
The Vehicle Control view lets users choose their preferred layout:
- Tile view — spacious cards, ideal for tablets and large screens
- Compact list — dense overview, ideal for small screens or power users
- Toggle button in the header; preference saved in
localStorage
Curated web apps for the Tesla browser at /launcher — only things Tesla does NOT offer natively:
ARD Audiothek, Deutschlandfunk Live, GoingElectric, electrive, OpenChargeMap, ABRP, Telegram Web, Wikipedia. Admin whitelist per tenant at /admin/launcher.
POIs (café, toilets, playground, geocaches, supermarket, viewpoints…) around the car's position, an active charging session, or the last trip end. Data via OpenStreetMap Overpass — free, no API key, 24-hour cache.
Manage home / work / frequent chargers with name, GPS, radius, rate and a desired charge limit. On arrival within the radius:
- With Fleet API: TeslaView sends
set_charge_limitto the car - Without Fleet API: push reminder to set it manually
Three lines of defense against bogus records:
- Bluetooth validation via iOS Shortcut
- Per-vehicle trip lock (prevents duplicates with 2+ devices)
- Manual pause toggle
Details and step-by-step iOS setup in the handbook under {#owntracks-validation}.
Trip and charging lists show addresses instead of raw GPS. Trips with GPS but no address get resolved automatically via Nominatim/OSM (live hook + nightly backfill + admin trigger). Cached locally for 24 hours.
At the top of System sits the Operational self-check. On "Run now" — and automatically every week in the nightly maintenance run — Tesla Carview verifies security and backup integrity: MFA coverage, encryption key, critical secrets, audit-log activity, SQLite database integrity, plus the recency and contents of the last backup (file readable, all tables present). The result is a traffic light per check; findings are also written to the audit log. Pure diagnostics.
Records tire pressure per wheel as a time series and detects slow, temperature-compensated pressure loss (no cold-weather false alarms). Warns via push/Telegram/email; TireMap shows a warning ring, badge and trend. Pure statistics, local.
A dashboard card rating the last 30 days as a relative efficiency index against your own long-term average (0–100, traffic-light band), plus data-backed saving tips (cold, average speed, short-trip share). Pure statistics, local.
Shows the running charging session in real time (power, state of charge) with an expected-curve overlay from a comparable session — throttling is visible instantly. No extra Tesla API call.
TeslaView uses Telegram + Web Push as notification channels — both free, both ToS-clean, both work without any third-party account.
Not implemented and why:
- WhatsApp: only via Meta Cloud API (Business account + verified business number + template approval). Private use is not provided for; unofficial libs are a ToS violation with account-ban risk.
- Signal: no official bot API; self-hosted forks (signald) are fragile.
- Threema: official API exists, but costs ~€50/year — overkill for private use.
If you really want WhatsApp despite the constraints: bridge libraries like whatsapp-web.js can be added by power users. We do not recommend it.
🇬🇧 Home · Installation · Troubleshooting · License | 🇩🇪 Startseite · Installation · Fehlerbehebung | 🇫🇷 Accueil | 🇪🇸 Inicio | 🇹🇷 Ana Sayfa | 🇬🇷 Αρχική
GitHub Repository · Report an Issue
Tesla Carview — non-commercial, self-hosted Tesla data logger · © Sven Krische
🇬🇧 English
🚀 Getting Started
🌐 Network & Infrastructure
⚙️ Configuration
🔐 Security
📱 Reference
🇩🇪 Deutsch
🚀 Einstieg
🌐 Netzwerk & Infrastruktur
⚙️ Konfiguration
🔐 Sicherheit
📱 Referenz
🇫🇷 Français
🚀 Démarrage
🌐 Réseau & Infrastructure
⚙️ Configuration
🔐 Sécurité
📱 Référence
🇪🇸 Español
🚀 Primeros pasos
🌐 Red & Infraestructura
⚙️ Configuración
🔐 Seguridad
📱 Referencia
🇹🇷 Türkçe
🚀 Başlarken
🌐 Ağ & Altyapı
⚙️ Yapılandırma
🔐 Güvenlik
📱 Başvuru