Loading...
dk

Hentning og visning af data fra din Model S (TeslaMS) | Tesla Forum

KS
KS Oct 6 '13

Installation af TeslaMS

TeslaMS er en lille utility til opsamling af data fra din Model S, til en lille database, hvorfra du efterfølgende kan se grafer over din bils forbrug - jeg beskriver her hvordan dette gøres på Windows platformen - folk der kører Linux eller MAC OS X ved nok godt hvordan det gøres :-)

(Du kan se en lille video der viser hvorledes dette kan se ud i google maps under "VIDEO" her på siden)

For at hente data fra bilen, vil jeg her beskrive hvorledes du henter og opsætter de nødvendige dele, for at samle data op - og vise disse på en lille web side.

Selve applikationen TeslaMS er skrevet i Node.js, som er en java script server. Den kan afvilke java script programmer og vise web sider via den indbyggede web server.

Først og fremmest skal du hente og installere Node.js - dette gøres fra http://nodejs.org/download/ - du henter og installerer den version der passer til din maskine - 32 eller 64 bit MSI installer.

Herefter henter du databasen MongoDB fra http://www.mongodb.org/downloads - og installerer denne på din maskine - hent igen 32 eller 64 bit efter hvad der passer på din maskine.

Så skal du hente TeslaMS fra https://github.com/hjespers/teslams (vælg til højre - Download ZIP).

Til sidst skal du hente NSSM (Non-sucking service manager) fra http://nssm.cc/download/ - dette bruges til at starte datahentning og web server som en service under Windows - kopier nssm.exe til windows\system32

Opret et bibliotek i roden på C-drever "c:\Data" og 2 underbiblioteker "C:\Data\db" og "C:\Data\teslams"

Data\db er hvor MongoDB placerer sine database filer
Data\teslams er hvor du skal placere filerne fra den hentede pakke.

Åben ZIP filen hentet fra github - og udpak denne. Kopier fra biblioteket teslams-master alle filerne til c:\data\teslams således der ligger et antal filer her og underbiblioteket examples

Herefter skal du oprette et bibliotek direkte under din brugerprofil i windows der hedder .teslams

Hertil skal du kopiere filen config.json - som du bagefter skal åbne i Wordpad/Notepad og redigere. Indsæt dit brugernavn og password til MyTesla - gem og luk

Åben en kommando prompt som administrator og udfør følgende:

 

sc create MongoDB binpath= "C:\Program Files\mongedb\bin\mongod.exe --service --dbpath=c:\data\db --logpath=c:\data\log.txt" displayname= "MongoDB" depend= tcpip start= auto
(Dette opretter en Windows service kaldet MondoDB)

Nssm install NodeVisualize "C:\Program Files\nodejs\node.exe" "C:\data\teslams\examples\visualize\visualize.js --db teslams"
(dette opretter en Windows Service kaldet NodeVisualize - som er webserveren du skal hente data fra - Den henter data fra databasen under MongoDB med navnet TeslaMS)

Nssm install NodeZstreaming "C:\Program Files\nodejs\node.exe" "C:\data\teslams\examples\zstreaming.js -u user@MyTesla.com -p MyPassword --db teslams"
(Dette opretter en Windows Service kaldet NodeZstreaming - som er programmet der henter data fra din MyTesla account og Tesla's streaming server - indsæt dit brugernavn og password)

Gå til kontrol panelet - services og find dine 3 nye services. Ændr disse fra at køre under en service account - til at køre med angiven bruger og kode - Gå til fanebladet recovery og sæt den til automatisk at starte servicen igen ved fejl - for alle 3).

Start de 3 Windows services - Først MongoDB, vent 1 minut - så NodeZstreaming - vent 1 minut - så NodeVisualize.

På maskinen hvor du har installeret - åben en browser og indtast http://localhost:8766 i url'en - så skulle du gerne se en web side med data fra din Tesla.

Bemærk at data vises i miles, men med lidt snilde kan du selv rette i koden, således der omregnes til km/t

 

Admin44 Administrator
Admin44 Oct 6 '13

Fantastisk Ken. Det er "fandme" godt at have dig med her. Super indlæg.

Hookmaker
Hookmaker Oct 6 '13
Kanon!
KS
KS Oct 6 '13

Ja, dette er ganske glimrende - og virker fornuftigt. Det ville dog være at foretrække om Tesla ville lave en service der kunne visualisere disse data - evt direkte på MyTesla (Har sendt ownership en mail med forslaget - og jeg ville gerne hjælpe dem med at lave det - såfremt de ønsker dette...)

Forummets indlæg er redigeret af KS Oct 6 '13
KS
KS Oct 8 '13

Vær forsigtig med at bruge TeslaMs..

Kør det ikke hele tiden, da Tesla i så fald vil lukke for din adgang til portal og streamingserverne fra din ip-adresse..

Det er lige sket for mig, så brug er som normalt helt på eget ansvar.

KS
KS Jan 11 '14

Schedulering af kommandoer..

Jeg har arbejdet på en lille scheduler, som bliver bygget sammen med TeslaMS.

Har fået backend-delen til at køre, og dette er første resultat af testen:

COMMAND:
1 = HVAC ON
2 = HVAC OFF
3 = SET TEMP (17-32)
4 = CHARGING START
5 = CHARGING STOP
6 = CHARGING SET STD
7 = CHARGING SET MAX
8 = CHARGING SET TO PERCENT (1-100)
9 = CHECK IF UNPLUGGED (Send mail)

db.scheduler.insert({ SCHEDULEID : 28 , Active : 1, MON : 1, TUE : 1, WED : 1, THU : 1, FRI : 1, SAT : 1, SUN : 1, TIME : "00:13", SAFE : 1, PLUGGEDIN : 1, COMMAND : 1, NOTIFY : 0, TEMPPERCENT : 0})
db.scheduler.insert({ SCHEDULEID : 29 , Active : 1, MON : 1, TUE : 1, WED : 1, THU : 1, FRI : 1, SAT : 1, SUN : 1, TIME : "00:15", SAFE : 1, PLUGGEDIN : 1, COMMAND : 2, NOTIFY : 0, TEMPPERCENT : 0})
db.scheduler.insert({ SCHEDULEID : 30 , Active : 1, MON : 1, TUE : 1, WED : 1, THU : 1, FRI : 1, SAT : 1, SUN : 1, TIME : "00:16", SAFE : 1, PLUGGEDIN : 1, COMMAND : 3, NOTIFY : 0, TEMPPERCENT : 20})


Kl 00:13 - start aircon

Kl 00:15 - stop aircon

Kl 00:16 - set temp til 20 grader (temp var inden sat til HI)

 

Og om ikke det virkede!!

Tester lidt videre og i morgen skulle den gerne:

05.19 - sætte ladning til STD 90% - står nu til 80

05.19 - sætte temp til 20

05.20 - Start ladning

05.21 - start aircon

06.00 - Stoppe aircon

06:01 - sætte temp til 19

 

Så skulle den være klar til brug - Ja, skal tidligt op - men til en fuldt opladet bil, dejlig varm. Så er jeg klar til den kolde tid kommer - og det er slut med at skulle skrabe sne.

Er der nogen der kunne tænke sig at teste, deler jeg gerne min kode..

 

 

KS
KS Jan 13 '14

Så har jeg hele app'en oppe og fungere - der er blot en enkelt lille ting der skal fixes men dette er minor.

Ellers har jeg ændret vurderingen af hvor mange entries der skal være i brugergrænsefladen og lavet 20. Det kan simpelt udviddes i koden så flere linier kan sættes ind (2 steder i et par loop).

Det der skal fixes er check om bilen er sat i stikket - når man udsteder en tænd klimaanlæg kommando. (har man ikke checket plugged in - skal den være koblet fra for at den starter - så der skal lige ændres lidt logik)

Ellers fungerer alt - scheduleren kan enddog sende beskeder når den har udført en kommando.

Jeg vedlægger et billede at hvorledes brugergrænsefladen er:

 

dennisogmia
dennisogmia Feb 6 '14

Har brug for lidt hjælp, hvordan gør man dette?:
Herefter skal du oprette et bibliotek direkte under din brugerprofil i windows der hedder .teslams



 

Kiefer
Kiefer Feb 6 '14

To Muligheder:

 

Hvis du bruger Windows 7:

Klik på det runde Windows billede nederst i ventre hjørne -> i den menubjælke der så kommer frem, vil der i højre del stå dit navn øverst, højreklik på navnet og vælg "åbn". -> I det vindue der åbner opretter du nu en mappe der hedder .teslams

 

Mulighed to:

I søgefeltet i Windows Explorer skriver du C:\users\"dit brugernavn" og taster enter. Samme mappe som i mulighed 1 dukker nu frem.

 

/Martin

Kiefer
Kiefer Mar 12 '14

@kseitzberg: Ville du dele koden til din scheduler også?

 

/Martin

KS
KS Mar 12 '14

@Kiefer:

Yes - naturligvis - den er pakket i rar (ligesom mig) format :-) indeholder en lille readme fil og hvad der er nødvendigt for at få skidtet til at køre. Har ikke opdateret TeslaMS delen efter Hans har opdateret TeslaMS. Men det fungerer stadigvæk efter hensigten. Husk evt -zzz option når man installerer som service, så bilen kan få lov til at gå i sleep mode.

http://www.it-work.dk/Data/teslams.rar

 

Kiefer
Kiefer Mar 13 '14

Super, takker :-)

 

Har installeret det på en CentOS "i skyen" men kører det dog på port 80 i stedet for 8766, så kan konen også finde ud af at gå ind på siden ;-)

 

/Martin