Loading...
dk

Tesla Model S Rest API | Tesla Forum

Admin44 Administrator
Admin44 Dec 17 '13

Lad os få en diskussion igang omkring styring af Tesla via din computer, app eller andet.

Der findes, ud over Tesla's egen officielle app, forskellige API'er der tillader at sende kommandoer til din Tesla.

http://docs.timdorr.apiary.io/

https://github.com/jpasqua/VisibleTesla

Vi skal have Ken Seitzberg på banen. Ved han har undersøgt en del om det.

KS
KS Dec 31 '13

Ja, som Peter nævner har jeg brugt lidt tid på den.

Der er heldigvis andre der også har brugt tid på det, og lavet TeslaMS applikationen, som er dataopsamling fra jeres Tesla'er.

TeslaMs kan hentes på:

https://github.com/hjespers/teslams

Foruden TeslaMs skal man også installere MongoDB som er en "database" til lagring af den information der hives ud fra Teslas servere. Fordelen ved at anvende MongoDB som lagringsenhed er at denne database i modsætning til traditionelle databaser kan bruges til at lagre JSON dokumenter - altså tekstdokumenter af forskellig struktur. Skulle Teslas API returnere flere eller færre felter, så vil databasen automatisk lagre disse informationer i en ny kolonne, som automatisk oprettes.

Ulempen er at det ikke er en traditionel database, og den dermed kan være besværlig at hive data ud af - medmindre man anvender kode til at gøre dette.

Selve TeslaMS applikationen er skrevet i JavaScript og dermed helt åben. Alle der har lidt kodeforståelse kan læse (og rette) i koden hvis man ønsker det. TeslaMS anvender NodeJS som applikations server, og dette skal derfor også installeres.

Når både Node og MongoDB er installeret, er det blot at hente TeslaMS fra github og oprette en config fil, med login til Teslas servere.

For de der vil forfine det lidt mere, er det muligt at starte både MongoDB og NodeJS op som services på f.eks Windows platformen,

Har I lyst til en lidt mere udførlig vejledning i hvordan dette gøres, så giv lyd.

Men TeslaMS giver altså indblik i strømforbrug, både i forbindelse med kørsel og opladning. Forbrug og ladning kan gemmes og man kan gå måneder tilbage hvis man ønsker det.

Men det er også muligt at se detaljeret forbrug på kørte ture - data logges konstant. Ligeledes gør bilens GPS koordinater - og det er derfor muligt at genafspille sine kørte ture på Google Maps.

Bjarni
Bjarni Jan 2 '14

De programmer jeg har set indtil videre synes jeg er en anelse nørdet. Og besværlige.

Jeg ville synes det var meget smartere at have en hjemmeside man logger ind på og så styrer det derfra. Altså så det kører på en central server som nogen andre administrerer. Ja jeg ville endda gerne betale penge for det hvis hjemmesiden var god og f.eks. kunne vise mine ture på et kort.

Er der nogen som er bekendt med sådan en hjemmeside? Eller om nogen er ved at lave sådan noget?

Hvis ingen andre har gidet at lave det så kunne jeg godt selv finde på det.

kajakaj
kajakaj Jan 2 '14

Til Bjarni: Enig - jeg ser også frem til en løsning online, så man ikke selv skal have en server til at stå og opsamle data kun til eget brug. Ville meget gerne kunne se data over kørsel og forbrug, men orker ikke en besværlig hjemmeløsning.

Admin44 Administrator
Admin44 Jan 2 '14

Det kan laves rimelig let og med en pose penge i hånden. Jeg taler med kzeitzberg på lørdag til vores træf kl 13.00. http://teslaforum.dk/event/invitation-til-tesla-nyt%C3%A5rskur-4-amp-5-januar

sjensen
sjensen Jan 2 '14

Problematikken i en "online" løsning er ikke mindst at man giver andre sit login til ens tesla konto og bilen. Lige nu er jeg ikke specielt interesseret i at give adgangskoder fra mig der kan styre soltag, hornet, etc.

Man kunne godt forestille sig at Tesla i fremtiden vil lade os danne et "token" der gav specifik læse-adgang til f.eks. data om opladning og forbrug, men ikke andet. Hvis det sker skal der nok komme let tilgængelige on-line løsninger.

Til en hjemme-installation, så kunne en lille Raspberry Pi computer (500 kr,-) være en kandidat. Den har et minimalt strømforbrug og med lidt held er den kraftig nok til at kunne køre TeslaMS. Måske prøver jeg det til marts når der er en ny MS i garagen.

Kiefer
Kiefer Jan 2 '14

Her kan jeg ikke være mere enig i sjensen, en "hjemmeløsning" er på nuværende tidspunkt langt at foretrække af hensyn til sikkerheden.

 

Jeg kunne godt have mine tvivl om en Pi kunne løse opgaven, dens CPU er trods alt begrænset og JAVA er vist ikke det mindst krævende software der findes ;-)

 

Hvis man er villig til at betale for en sådan service, er næsten bedste bud efter min mening at anskaffe sig en VPS (virtual private server) og så få en der ved lidt om hvordan man sætter TeslaMS op til at hjælpe sig, så kan man komme igang for omkring 50,- om året.

 

Så er man fri for at have en hjemmeserver stående og man har ikke udleveret sit user/pass til andre end sig selv og sin VPS.

 

/Martin

KS
KS Jan 3 '14

@Kiefer

Hvis du kan skaffe en VPS til en flad 50'er, så laver jeg gerne en udførlig vejledning i hvordan man installerer TeslaMS og MongoDB på denne.

Er helt enig i at det ikke er en ide at dele sit login. Dels kan man via API'et simpelt finde bilens placering, dels kan man låse bilen op - eller bare åbne taget i regnvejr. Det er der ikke megen ide i..

Den PC'er jeg har stående hjemme og som kører både TeslaMS og VisibleTesla + lidt andet til overvågning og styring af hjemmet er en lille Fit-PC3 - som for det første ikke siger noget, og for det andet er utroligt strømbesparende. Selve node.js og dermed teslams kræver ikke det store af CPU'en - det er jo blot HTTP kald og gemme data i en lille database. Det er kun når front-end tilgås der trækkes på CPU og disk, da data skal hentes og processeres til visning. Her kunne jeg også godt have min tvivl om en Pi er nok.

JF
JF Jan 3 '14

Den mindste Microsoft Windows Azure Virtuelle Windows Server sælges for ca. kr. 87,- pr. måned. Det er relativt let at opsætte sig egen Virtuelle Maskine med Azure og anvende ovenstående apps.

http://www.windowsazure.com/da-dk/pricing/details/virtual-machines/

Jeg vil i hvert fald prøve når min bil leveres i slutningen af marts. Måske der kommer en lille vejledning til den tid.

/Jess

Kiefer
Kiefer Jan 3 '14

@kseitzberg

Der findes et hav af firmaer der tilbyder VPS'er til billige penge, en hurtig søgning på Google gav f.eks. domvps.com til 12 GBP om året vel at mærke, for den mindste udgave.

 

Selv bruger jeg ovh.com som er beliggende i Frankrig og koster en anelse mere, men er stadig relativ billige. Eneste ulempe er at de kun taler fransk, man kunne bruge ovh.co.uk, men så koster det det samme i Pund som i EUR...

 

Skal det være stabilt er der selvfølgelig Amazon og Azure, de koster en smule mere, men så er mulighederne også næsten uendelige. Du kan faktisk på Azure sætte det OS op du vil, du er ikke bundet til at det skal være et Microsoft OS. Jeg har en enkelt Server 2012 R2 kørende på Azure og den har fungeret upklageligt de sidste 4 måneder uden nedetid. den laver så heller ikke rigtig noget andet end at idle...

 

/Martin

KS
KS Jan 4 '14

@Kiefer:

Har lige lavet en konto på Amazon - det første år er 31,25 dage pr. måned gratis...

Har nu en Windows installation kørende herhjemme og en Linux (ubuntu) kørende på Amazon.

 

Amazon = gratis 1 år - Linux - lidt besværligt at konfigurere for ikke "nørder"

Amazon = gratis 1 år - Windows - lidt langsommere men for flere. Der skal stadigvæk installeres lidt og installeres en service manager, men det kan gøres grafisk.

 

Tror jeg laver en guide til begge, så kan folk selv vælge.

 

Har overvejet ganske meget om det kan lade sig gøre at lave en hosted service, og både ja og nej.

Det kan godt lade sig gøre at lave en "sikker" hosted løsning - men det kræver en proxy service - en for hver bruger. På proxy'en kan der laves et ganske lille node.js program der så hentes data fra - og som bagved henter fra Tesla's maskiner. Men skal man først have sin egen maskine kørende - så kan man lige så godt tage hele stakken. Det er ikke meget mere besværligt.

 

Hvis man skulle lave en hosted - ikke sikker - altså hvor brugernes login og password var gemt centralt. vil dette formodentligt også skabe problemer. Årsagen hertil er at når der hentes data hos Tesla, så tillades kun et vist antal requests pr. minut. - overskrides disse bliver man banned et stykke tid - ca 24 timer. For hver bruger der kommer på, vil man skulle hente 1 gang data. - hvis der kører 12 brugere på en central løsning - så hentes og skabes 12 gange så mange requests, og man vil dermed blive smidt ud af serveren hos Tesla.

Jeg kan derfor kun se 2 mulige løsninger:

1. VPS installation - 1 for hver bruger

2. Tesla laver en service og et visualiseringsprogram på MyTesla (hvilket jeg har foreslået dem for et par måneder siden)

 

 

Kiefer
Kiefer Jan 4 '14

Hej.

 

Men vil antallet af request ikke være det samme; fra samme IP uanset om du bruger en proxy eller ej?

 

Jeg tror mange firmaer ville være stærkt interesserede i en hosted løsning, forestil dig de data man kan samle op hvis man har adgang til køreinformtion fra x-tusind Teslaer. Det ville jo være et stærkt værktøj at have adgang til i markedsføringsøjemed :-)

 

Skulle man tilbyde TeslaMS som en service for brugere vil en lejet server med openvz jo være en oplagt mulighed, her kunne man så oprette en template med TeslaMS præinstalleret og det eneste brugeren skulle indtaste er sit user/pass og så kunne man jo med de værktøjer der følger med openvz med et simpelt script oprette mange VPS'er med TeslaMS prækonfigureret.

 

KS
KS Jan 4 '14

Nej, hvis man bruger en proxy - så vil det være den der ses - men jeg tænker på en proxy pr. bruger., hvor hver proxy kører en lille node applikation, som blot kaldes, og som inden bagved henter på Teslas portaler.

 

Men vil nu hellere arbejde på at lave en maskine der kan køre i cloud. Har fået TeslaMS til at køre på en amazon linux maskine, og vil forsøge at gøre 2 yderligere ting, inden den kan laves til et delbart image.

1. Dokumentere hvad der skal gøres for at lave en VPS - både på linux og windows

2. Udbygge den ellers glimrende app - TeslaMS med 2 ekstra faneblade. Første indeholdende en status for bilen. Anden indeholdende en Scheduler - som kan indeholde 20 punkter eller lignende, og en scheduler node.js applikation bagved - der sørger for at udføre kommandoer..