No problem!
Het zit zo: Tesla heeft 2 verschillende APIs: de normale REST API die goed gedocumenteerd is, bijv
Tesla API. Deze heeft alle mogelijke data van de auto, maar het nadeel is dat wanneer je continue API calls doet, je auto niet in slaap valt. Services zoals Teslafi proberen hier om heen te werken door als de auto geparkeerd is steeds langere tussenpozen tussen de API calls te doen, zodat de auto tijd heeft om in slaap te vallen. Groot nadeel hiervan is dat je data kan missen als je na bijv 20min weer wegrijdt. Ook duurt het in slaap vallen langer dan wanneer je geen API calls zou doen. Komt nog bij dat Tesla er niet echt blij mee is als je elke 2 seconden een request naar hun servers doet.
De andere API is een websocket streaming API. Zodra de auto beweegt, wordt een paar x per seconde een bericht van de auto naar Tesla gepushed. Hierop kan je "subscriben", en krijg je dus realtime wat data van de auto binnen (snelheid, GPS positie, elevation, SoC, etc). De streaming API mist echter uitgebreidere data zoals klimaat/charging info, dus de truc is om een hybride te gebruiken tussen de streaming API en de REST API - zodra de auto begint te bewegen kan je met regelmaat de uitgebreidere data opvragen, maar zodra je stilstaat zal de auto wel net zo snel als kan in slaap vallen. Tot op heden is Teslamate de enige software waar dit goed in geïmplementeerd is.