Ana içeriğe geç

Tesla API Token Alma ve TeslaMate Entegrasyon Rehberi

TeslaMate; Tesla aracınızın tüm sürüş, şarj, batarya sağlığı, uyku ve konum verilerini kendi yerel veritabanınızda (PostgreSQL) toplayıp Grafana ile görselleştiren en kapsamlı açık kaynaklı telemetri platformudur.

Tesla'nın güvenlik ve API mimarisindeki güncellemeler (Fleet API vs. Owner API) nedeniyle token alma süreci karmaşıklaşabilir. Bu rehber; bireysel araç sahipleri için doğru token üretimini, sık karşılaşılan "Tokens are invalid" hatasının çözümünü ve TeslaMate entegrasyonunu adım adım açıklar.


🔑 1. Hayati Ayrım: Owner API ve Fleet API Farkı

Tesla API ekosisteminde iki temel erişim yöntemi vardır: - Fleet API: Filolar, kurumsal geliştiriciler ve ticari işletmeler için tasarlanmıştır. Karmaşık geliştirici hesabı ve sertifika altyapısı gerektirir. - Owner API: Bireysel araç sahiplerinin resmi Tesla mobil uygulaması üzerinden araca eriştiği doğrudan OAuth2 protokolüdür.

[!important] Kritik Teşhis: "Tokens are invalid" Hatası TeslaMate'in dahili token yenileme mekanizması bireysel araçlar için Owner API (client_id="ownerapi") protokolünü kullanır. Eğer üçüncü taraf web servislerinden (Fleet API tabanlı) token üretip TeslaMate'e yapıştırırsanız, sistem POST https://auth.tesla.com/oauth2/v3/nts/token -> 404 hatası verir. Çözüm: Bireysel hesaplar için doğrudan tesla_auth aracı kullanılmalıdır.


🛠️ 2. tesla_auth ile Güvenli Token Üretimi

Adrian Kumpf tarafından geliştirilen açık kaynaklı tesla_auth aracı, kimlik bilgilerinizi üçüncü taraf web sitelerine göndermeden doğrudan kendi bilgisayarınızdan resmi Tesla OAuth sunucusuyla konuşarak güvenli Access Token ve Refresh Token üretir.

Linux (Arch, CachyOS, Ubuntu) Üzerinde Çalıştırma:

# Klasör oluşturun ve son sürümü indirin
mkdir -p ~/tesla_auth && cd ~/tesla_auth
curl -LO https://github.com/adriankumpf/tesla_auth/releases/latest/download/tesla_auth-x86_64-unknown-linux-gnu.tar.xz
tar -xf tesla_auth-x86_64-unknown-linux-gnu.tar.xz
cd tesla_auth-x86_64-unknown-linux-gnu
chmod +x tesla_auth
./tesla_auth

[!tip] "libxdo.so.3: cannot open shared object file" Hatası Çözümü Eğer modern Linux dağıtımlarında libxdo.so.3 bulunamadı hatası alırsanız, sisteminizdeki mevcut kütüphaneye sembolik link vererek sorunu saniyeler içinde çözebilirsiniz:

sudo pacman -S xdotool  # veya apt install libxdo3
sudo ln -s /usr/lib/libxdo.so.4 /usr/lib/libxdo.so.3
sudo ldconfig

Program çalıştığında tarayıcı tabanlı bir pencere açılır. Tesla hesabınızla (e-posta, şifre ve 2FA) oturum açtığınızda terminal ekranınıza iki kritik değer basılır: 1. Access Token (eyJhbGciOi...): Anlık veri çekme yetkisi. 2. Refresh Token (EU_... veya eyJhbGciOi...): Süresi bittikçe yeni token alma yetkisi.


🐳 3. TeslaMate ve Grafana Yapılandırması

Home Assistant OS Eklentisi veya bağımsız Docker Compose üzerinde TeslaMate'in yapılandırılması:

Gerekli Servis Parametreleri:

database_user: teslamate
database_pass: <GUCLU_VERITABANI_SIFRESI>
database_name: teslamate
database_host: teslamate-db
database_port: 5432
database_ssl: false

# Otomatik Grafana Panosu İçe Aktarımı:
grafana_import_dashboards: true
grafana_host: teslamate-grafana
grafana_port: 3000
grafana_user: admin
grafana_pass: <GRAFANA_SIFRESI>

disable_mqtt: true
timezone: Europe/Istanbul
encryption_key: <RASTGELE_32_KARAKTER_GUVENLIK_ANAHTARI>

[!success] Otomatik Dashboard Kurulumu grafana_import_dashboards: true parametresi sayesinde TeslaMate, Grafana konteynerine dahili ağdan bağlanarak tüm sürüş, şarj ve batarya sağlığı panellerini otomatik olarak kurar. Elle JSON import etmenize gerek kalmaz.


⚠️ 4. Grafana "Origin not allowed" Hatası Çözümü

Grafana 11+ sürümlerinde güvenlik nedeniyle tarayıcı Origin header doğrulaması yapılır. Home Assistant Ingress veya ters vekil (Reverse Proxy) üzerinden Grafana'ya girerken bu hatayı alırsanız:

Grafana yapılandırmasına veya Docker ortam değişkenlerine (environment) şu değişkeni ekleyin:

GF_SECURITY_CSRF_TRUSTED_ORIGINS: "homeassistant.local 192.168.1.100:8123"
(Birden fazla adres varsa virgülle değil, aralarında boşluk bırakarak yazılmalıdır).


🔒 5. Güvenlik ve Temizlik Kontrolü

Token işlemi bittikten sonra: 1. Tesla Account → Güvenlik → Üçüncü Taraf Uygulamaları menüsüne gidin. 2. Artık kullanmadığınız veya geçersiz token üretmiş eski üçüncü taraf test izinlerini kaldırın. 3. TeslaMate sunucunuzu açın; ilk sürüş veya şarj başladığında tüm telemetri verilerinin saniye saniye Grafana'ya işlendiğini görebilirsiniz.