Raspberry Pi'de TeslaMate Çalıştırma

Bu yazı, PiMyLifeUp - Running TeslaMate on the Raspberry Pi kaynağından Türkçe'ye çevrilerek hazırlanmıştır.

Bu eğitimde, Raspberry Pi'nizde TeslaMate'i nasıl çalıştıracağınızı göstereceğiz.

Raspberry Pi TeslaMate

TeslaMate, bir Tesla araba hakkında çok sayıda ayrıntıyı takip etmenizi sağlayan bir veri kaydedicisidir. Bunu, Tesla API'sini yoklayarak ve döndürdüğü verileri Raspberry Pi'nizde çalışan bir PostgreSQL veritabanına kaydederek başarır.

Bu yazılım, bir Tesla'ya sahip olan ve onun döndürdüğü verileri takip etmekle ilgilenen kişiler için mükemmeldir. Bu verileri hatta arabanızın çeşitli özelliklerini otomatikleştirmek için Home Assistant gibi bir yazılımla entegre edebilirsiniz.

Raspberry Pi, 7/24 çalıştırması pahalı olmayan düşük güçlü bir cihaz olduğundan TeslaMate ile mükemmel bir eşleşme sağlar.

Raspberry Pi'nizde Teslamate'i çalıştırma sürecini önemli ölçüde basitleştirmek için, bunu bir Docker konteyneri üzerinden çalıştıracağız. Bu, birkaç farklı yazılım parçasını kurup yapılandırmak zorunda kalmamızı önler.

Raspberry Pi'nizi TeslaMate'i Çalıştırmaya Hazırlama

Raspberry Pi'nizde TeslaMate'i kurup çalıştırabilmemiz için, bazı ilk kurulum adımlarından geçmemiz gerekiyor.

Sonraki birkaç adımda, Raspberry Pi'yi güncelleyecek ve Docker compose'un kurulu olduğundan emin olacağız.

1. Daha ileri gitmeden önce, mevcut paketler listesini güncellemeli ve güncel olmayan tüm paketleri yükseltmeliyiz.

Terminalde aşağıdaki komutu kullanarak her iki görevi de gerçekleştirebiliriz.

sudo apt update
sudo apt upgrade

2. Ardından, Raspberry Pi'nize Docker kurma rehberimizi takip etmeniz gerekiyor.

Docker, Raspberry Pi'nizde TeslaMate'i çalıştırmayı önemli ölçüde daha basit hale getirecek.

Raspberry Pi'nize TeslaMate Kurulumu

Artık hazırlandığımıza göre, Raspberry Pi'nize TeslaMate kurmak güvenlidir.

Bu adımlar için, TeslaMate'i çalıştırmak için ihtiyaç duyduğumuz tüm hizmetleri kuracak bir Docker Compose betiği oluşturacağız.

3. Raspberry Pi'mize TeslaMate kurmadan önce, ana dizinimizde "teslamate" adlı bir dizin oluşturmamız gerekiyor.

Aşağıdaki komutu çalıştırarak bu klasörü oluşturmak için mkdir komutunu kullanabilirsiniz.

mkdir ~/teslamate

4. Artık yeni dizinimizi oluşturduğumuza göre, içine geçmek için cd komutunu kullanmamız gerekiyor.

cd ~/teslamate

5. Terminalde aşağıdaki komutu kullanarak "docker-compose" dosyamızı yazmaya başlayabiliriz.

Bu compose dosyası, Raspberry Pi'mizde dört farklı hizmet kuracak.

  1. Kurduğu ilk uygulama TeslaMate'in kendisidir.
  2. Ardından, TeslaMate'in verilerini saklaması için ihtiyaç duyduğu veritabanı hizmeti gelir. Bu durumda, bu PostgreSQL olacak.
  3. Ayrıca, Grafana da bir Docker konteyneri içinde kurulacak. Grafana, TeslaMate'in Raspberry Pi'nizde topladığı tüm verileri görüntülemenizi sağlayan şeydir.
  4. Sisteme kurulacak son Docker konteyneri Mosquitto broker'dır. Bu broker, HomeAssistant gibi diğer hizmetlerin TeslaMate ile etkileşim kurmasını sağlayan şeydir.
nano compose.yml

6. Bu dosyanın içine, aşağıdaki satırları girmek isteyeceksiniz.

Bu yapılandırma bilgilerini dosyaya girerken, aşağıdaki iki öğeyi değiştirmelisiniz.

  • [REPLACEWITHENCRYPTKEY] – Bu anahtar, Tesla API anahtarlarını Raspberry Pi'nizde dururken şifrelemek için kullanıldığından önemlidir. Bu anahtar için uzun, rastgele bir anahtar belirlediğinizden emin olun.

  • [REPLACEWITHDBPASSWORD] – Ardından, PostgreSQL veritabanı için bir şifre belirtmelisiniz. Bu, dosyada üç kez tekrarlanır. Bu veritabanı, TeslaMate'in Raspberry Pi'nizde çalışırken tüm verilerini sakladığı yerdir.

    services:
    teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
    - ENCRYPTION_KEY=[REPLACEWITHENCRYPTKEY]
    - DATABASE_USER=teslamate
    - DATABASE_PASS=[REPLACEWITHDBPASSWORD]
    - DATABASE_NAME=teslamate
    - DATABASE_HOST=database
    - MQTT_HOST=mosquitto
    ports:
    - 4000:4000
    volumes:
    - ./import:/opt/app/import
    cap_drop:
    - all

    database:
    image: postgres:17.3
    restart: always
    environment:
    - POSTGRES_USER=teslamate
    - POSTGRES_PASSWORD=[REPLACEWITHDBPASSWORD]
    - POSTGRES_DB=teslamate
    volumes:
    - teslamate-db:/var/lib/postgresql/data

    grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
    - DATABASE_USER=teslamate
    - DATABASE_PASS=[REPLACEWITHDBPASSWORD]
    - DATABASE_NAME=teslamate
    - DATABASE_HOST=database
    ports:
    - 3000:3000
    volumes:
    - teslamate-grafana-data:/var/lib/grafana

    mosquitto:
    image: eclipse-mosquitto:2
    restart: always
    command: mosquitto -c /mosquitto-no-auth.conf
    # ports:
    # - 1883:1883
    volumes:
    - mosquitto-conf:/mosquitto/config
    - mosquitto-data:/mosquitto/data

    volumes:
    teslamate-db:
    teslamate-grafana-data:
    mosquitto-conf:
    mosquitto-data:

7. Bunu yaptıktan sonra, CTRL + X, ardından Y, sonra ENTER tuşuna basarak kaydedip çıkabilirsiniz.

8. Bu noktada, terminaldeki komutu kullanarak sonunda Raspberry Pi'nizde TeslaMate'i başlatabiliriz.

İlk başlatma sırasında, Docker, TeslaMate konteynerinin en son sürümünü Grafana, Postgres ve Mosquitto gibi diğer yazılımlarla birlikte indirecektir.

docker compose up -d

TeslaMate İçin API'yi Ayarlama

9. TeslaMate'i kullanabilmeniz için, Tesla hesabınızın API anahtarlarını almanız gerekecek.

Bu muhtemelen tüm sürecin en karmaşık kısmıdır, çünkü Tesla bunları kolayca almayı sağlamaz.

Aşağıda, TeslaMate ekibi tarafından önerilen üç seçeneği bulabilirsiniz. Bu araçların sağladığı "Access Token" ve "Refresh Token"a ihtiyacınız olacak.

10. Şimdi favori web tarayıcınızda aşağıdaki adrese gitmek isteyeceksiniz.

"YOURIPADDRESS" kısmını Raspberry Pi'nizin IP'siyle değiştirdiğinizden emin olun.

http://IPADRESINIZ:4000

11. TeslaMate'in Raspberry Pi'nizde çalışmaya başlayabilmesi için, bazı bilgileri belirtmeniz gerekir.

Öncelikle, "Access Token"ı belirtin (1.). Erişim tokenı, TeslaMate'e API'ye erişim verir.

Ardından, "Refresh Token"a ihtiyacınız var (2.). Bu token, TeslaMate'in gerektiğinde erişim tokenını otomatik olarak güncellemesini sağlar.

Her iki tokene de sahip olduğunuzda, devam etmek için "Sign in" düğmesine tıklamalısınız (3.). TeslaMate, Tesla API'siyle etkileşim kurabilmek için bu tokenlara ihtiyaç duyar.

Tesla API Bilgilerini Girme

12. Artık Raspberry Pi'nizde çalışan TeslaMate'e erişiminiz var. Hemen Tesla API üzerinden bilgi alacak ve veritabanına kaydedecektir.

TeslaMate geçmiş verileri alamadığından, veritabanının anlamlı verilerle dolması biraz zaman alacaktır.

Raspberry Pi TeslaMate Gösterge Paneli

Raspberry Pi'de TeslaMate Grafana Gösterge Panelini Görüntüleme

13. Artık Raspberry Pi'nizde TeslaMate çalıştığına göre, Grafana gösterge panellerine erişerek kaydettiği verileri görüntüleyebilirsiniz.

Daha önce fark etmiş olabileceğiniz gibi, Docker compose dosyamıza Grafana'yı da dahil ettik. Aşağıdaki adrese giderek bu web arayüzüne erişebilirsiniz.

"<YOURIPADDRESS>" kısmını Raspberry Pi'nizin IP'siyle değiştirdiğinizden emin olun.

http://<IPADRESINIZ>:3000

14. Grafana'yı ilk açtığınızda, web arayüzüne giriş yapmanız gerekecektir.

Varsayılan kullanıcı adı ve şifre "admin"dir (1.).

Varsayılan kullanıcı adını ve şifreyi girdikten sonra, "Log in" düğmesine tıklayın (2.).

TeslaMate Grafana'ya Giriş Yapma

15. Ardından, Grafana için yeni, daha güvenli bir şifre belirlemeniz istenecektir. Sağlanan kutulara yeni bir şifre yazın (1.).

Belirlediğiniz yeni şifreden memnun olduğunuzda, "Submit" düğmesine tıklayın (2.).

Grafana için yeni şifre belirleme

16. Artık cihazınızda Grafana açık olduğuna göre, gösterge panellerinin bir listesine göz atabiliriz.

Öncelikle, aşağıdaki ekran görüntüsünde gösterildiği gibi sol kenar çubuğundaki tablo simgesine tıklayın (1.).

Bu bir alt menü getirecektir. Devam etmek için "Browse" düğmesine tıklamanız gerekiyor (2.).

Gösterge Paneli Ekranına Göz Atma

17. Artık Raspberry Pi'nizde kullanabileceğiniz TeslaMate gösterge panellerinin bir listesini görebilirsiniz.

Bu listeyi açmak için, "TeslaMate" başlığına tıklayın (1.).

Ardından, verilerini görüntülemek istediğiniz gösterge panelini bulun ve devam etmek için tıklayın (2.). Örneğimiz için, "Charging Stats" gösterge panelini açacağız.

Raspberry Pi'de TeslaMate Gösterge Panelleri Listesi

18. Aşağıda, TeslaMate'in Raspberry Pi'nizde çalışırken topladığı tüm şarj istatistiklerini bulabilirsiniz.

Raspberry Pi'niz çalıştığı ve arabanıza bir bağlantısı olduğu sürece bu veriyi işlemeye devam edecektir.

TeslaMate Şarj İstatistikleri

Sonuç

Bu noktada, umarız artık Raspberry Pi'nizde TeslaMate çalışıyor olacaktır.

TeslaMate, API'sini yoklayarak Tesla'nız hakkında veri toplayan bir veri kaydedicisidir. Bu veriler bir PostgreSQL veritabanında saklanır ve bir Grafana veritabanı üzerinden sunulur.

TeslaMate'i cihazınızda çalıştırırken herhangi bir sorunla karşılaştıysanız, aşağıya yorum bırakın.