Aller au contenu
GuiToon

OpenEVSE et Tesla

Messages recommandés

Bonjour,

 

Suite à la commande de ma Tesla Model 3, je me suis lancer dans la réalisation de 2 bornes pour la maison.

les produits du commerce ne me plaisait pas ou était beaucoup trop chers.

 

je suis donc parti sur une OpenEVSE, qui en plus pourra s'interfacer avec ma domotique.

 

Un petit retour pour les curieux, la borne coûte 240$ ( en promotion, sinon c'est  299$ )

kit.thumb.jpg.fac4d05da890c8441248698034b7e7f1.jpg

 

pour lesquels on ajoute les frais de douane 67€.

douane.thumb.jpg.4c29bcfc54797a782ced386bbb16f013.jpg

 

Il faut ajouter le prix d'un câble 120£ ( env 135€ )

cable.thumb.jpg.4f3cd59eabf65f9838ebd1c953dd3834.jpg

 

Il faut bien sur comme pour toute borne ajouter les protections électriques normale et obligatoire.

je suis partir sur un Legrand 410859 qui fait à la fois disjoncteur différentiel 30ma Type F ( ex HPi ou Si ) et fusible 40A ( Courbe C )

Prix public plus de 400€ mais on le trouve à 240€.

 

le montage est simple et bien documenté, la boite est des fois un peu juste pour les gros câble en 10mm2 ou 6mm2 coté voiture.

il faut prévoir en plus des cosses œillet  :

cosses.jpg.daf3d3d6dcb4f3e459e9f2d59616bcf3.jpg

 

 

Ca marche super bien, je l'utilise actuellement avec mon i3 ( limité à 16A )

depuis ma domotique je peux choisir la puissance de la borne, ainsi que les heures de fonctionnement.

 

Mais voilà je lis sur le forum, qu'il existe des câbles non tesla qui ont le bouton pour décrocher le cable.

( je n'avais pas pensé à ce point car sur la i3 l'ouverture des portes décroche le câble en même temps ... )

c'est des cable vendu par evChargeKing, Kratus en parle sur ce post: ICI

 

du coup je cherche ce que je dois modifier à mes câbles pour avoir la fonction aussi ...

je me demandais si Tesla n'avait pas joué avec les valeurs de résistance entre le PP et PE ( la terre ) comme c'était prévu dans la norme pour les prises T1.

Mais sur les T2 cette valeur indique la capacité max du cable, pour éviter un incendit à cause d'une borne 32A, une voiture 32A et une cable 16A par exemple, dans ce ca grace à la valeur de la résistance PP-PE la voiture limitera sa charge à 16A.

Pour les curieux les valeurs les plus courante sur une prise T2 sont:

100 Ω -> 63A

220 Ω -> 32A

680 Ω -> 16A

1500 Ω -> 10A

 

Si l'un de vous à un de ces câbles de evChargeKing,

pouvez-vous me donner les valeurs de résistance avant appuie et pendant appui ?

C'est facile à mesurer à l'aide d'un multimètre ( ou ohmmètre ) entre les bornes PP et PE:

T2.jpg.7723a981db1cdd66979c7ed8c8e12867.jpg

/!\ faite le bien sur un câble qui n'est branché à rien ! pas de risque inutile ?

 

 

 

 

Modifié par GuiToon
fautes :-p

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai finalement fini par trouver l'info tout seul sur le site de evChargeKing:

https://www.evchargeking.com/Media/Uploaded/Tesla Connector Installation Instructions.pdf

 

Donc c'est bien ca, ils jouent sur la résistance, le passage à 440 Ω arrête la charge et débloque le câble.

Vivement que je puisse faire des tests moi même ?

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai la même borne et oui, on "peut" gérer le délestage.

Pour cela, on a globalement 2 solutions, dont une plus complexe, qui nécessitent un openEVSE avec wifi :

1) Avoir un système externe, genre raspberry pi par exemple, qui consulte la téléinfo et limite le courant de charge (openEVSE dispose d'une interface RAPI pas exceptionnelle parait-il, mais ça fera le job).

2) Interfacer directement la téléinfo avec le module wifi de l'openEVSE et modifier le firmware pour gérer la limite du courant de charge.

 

Dans les 2 cas, la solution nécessite un peu de travail et quelques connaissances.

Peut-être quelqu'un l'a déjà réalisé ?

 

@Fab_33 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Il y a 11 heures, Chicken a dit :

Il est possible de gérer le délestage automatique avec ce type de borne ?

Comment se fait ton interfaçage avec la domotique ?

Comme pour beaucoup de solution DIY on peut tout faire mais il faut le faire à soit même.

de base et cle en main tu as:

une page web d'admin ( avec des commandes simple, puissance, on off, programmation horaire, ou quantité +10Kw par exemple )

la possibilité de passé des commandes via URL

l'envoi de données vers un site Emoncms ( le tien, ou le leurs comme tu veux )

un recepteur MQTT ( je ne l'ai pas utilisé, il est documenté pour asservissement avec des panneaux solaires )

envoi vers OhmConnect ( pas utiliser non plus, je n'ai pas compris ce que c'est ? ) 

 

Perso, j'ai une box de type domoticz ( DIY aussi ? ) donc j'utilise surtout des commandes par URL pour changer la puissance de la borne ( 32A ou 16A pour ne pas faire sauter le disjoncteur ) et la programmation horaire.

 

 

il y a 38 minutes, alfniev a dit :

Sinon , pour 50€ de plus , une solution clé en main avec la vente groupée en cours. ( délestage intégré et fiable )

oui ... mais j'aime le DIY et comprendre ce qu'il y a dedans en général ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Le 17/02/2019 à 15:16, GuiToon a dit :

Bonjour,

 

Suite à la commande de ma Tesla Model 3, je me suis lancer dans la réalisation de 2 bornes pour la maison.

les produits du commerce ne me plaisait pas ou était beaucoup trop chers.

 

je suis donc parti sur une OpenEVSE, qui en plus pourra s'interfacer avec ma domotique.

 

Un petit retour pour les curieux, la borne coûte 240$ ( en promotion, sinon c'est  299$ )

kit.thumb.jpg.fac4d05da890c8441248698034b7e7f1.jpg

 

pour lesquels on ajoute les frais de douane 67€.

douane.thumb.jpg.4c29bcfc54797a782ced386bbb16f013.jpg

 

Il faut ajouter le prix d'un câble 120£ ( env 135€ )

cable.thumb.jpg.4f3cd59eabf65f9838ebd1c953dd3834.jpg

 

Il faut bien sur comme pour toute borne ajouter les protections électriques normale et obligatoire.

je suis partir sur un Legrand 410859 qui fait à la fois disjoncteur différentiel 30ma Type F ( ex HPi ou Si ) et fusible 40A ( Courbe C )

Prix public plus de 400€ mais on le trouve à 240€.

 

le montage est simple et bien documenté, la boite est des fois un peu juste pour les gros câble en 10mm2 ou 6mm2 coté voiture.

il faut prévoir en plus des cosses œillet  :

cosses.jpg.daf3d3d6dcb4f3e459e9f2d59616bcf3.jpg

 

 

Ca marche super bien, je l'utilise actuellement avec mon i3 ( limité à 16A )

depuis ma domotique je peux choisir la puissance de la borne, ainsi que les heures de fonctionnement.

 

Mais voilà je lis sur le forum, qu'il existe des câbles non tesla qui ont le bouton pour décrocher le cable.

( je n'avais pas pensé à ce point car sur la i3 l'ouverture des portes décroche le câble en même temps ... )

c'est des cable vendu par evChargeKing, Kratus en parle sur ce post: ICI

 

du coup je cherche ce que je dois modifier à mes câbles pour avoir la fonction aussi ...

je me demandais si Tesla n'avait pas joué avec les valeurs de résistance entre le PP et PE ( la terre ) comme c'était prévu dans la norme pour les prises T1.

Mais sur les T2 cette valeur indique la capacité max du cable, pour éviter un incendit à cause d'une borne 32A, une voiture 32A et une cable 16A par exemple, dans ce ca grace à la valeur de la résistance PP-PE la voiture limitera sa charge à 16A.

Pour les curieux les valeurs les plus courante sur une prise T2 sont:

100 Ω -> 63A

220 Ω -> 32A

680 Ω -> 16A

1500 Ω -> 10A

 

Si l'un de vous à un de ces câbles de evChargeKing,

pouvez-vous me donner les valeurs de résistance avant appuie et pendant appui ?

C'est facile à mesurer à l'aide d'un multimètre ( ou ohmmètre ) entre les bornes PP et PE:

T2.jpg.7723a981db1cdd66979c7ed8c8e12867.jpg

/!\ faite le bien sur un câble qui n'est branché à rien ! pas de risque inutile ?

Tu as l'air de maîtriser à fond. Aussi pourrais-tu me conseiller pour le câble et seulement lui ? Dans l'attente de ma M3 j'avais fait installer une prise 32A par un électricien pensant que Tesla fournissait la bonne connectique. Ce câble sera dispo à la vente en avril dans le SC (parole, parole, parole !) mais si je pouvais en trouver un avant ça me dépannerait bien... Et je n'ai pas très envie de le bricoler.

 

 

 

 

IMG_2668.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 31 minutes, GuiToon a dit :

Il y a une question ? ?

Tu as l'air de maîtriser à fond. Aussi pourrais-tu me conseiller pour le câble et seulement lui ? Dans l'attente de ma M3 j'avais fait installer une prise 32A par un électricien pensant que Tesla fournissait la bonne connectique. Ce câble sera dispo à la vente en avril dans le SC (parole, parole, parole !) mais si je pouvais en trouver un avant ça me dépannerait bien... Et je n'ai pas très envie de le bricoler.

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a 22 minutes, pailler a dit :

Tu as l'air de maîtriser à fond. Aussi pourrais-tu me conseiller pour le câble et seulement lui ? Dans l'attente de ma M3 j'avais fait installer une prise 32A par un électricien pensant que Tesla fournissait la bonne connectique. Ce câble sera dispo à la vente en avril dans le SC (parole, parole, parole !) mais si je pouvais en trouver un avant ça me dépannerait bien... Et je n'ai pas très envie de le bricoler.

affectivement, comme c'était dans mon texte j'avais pas vu ?

 

mais j'ai pas mieux compris ta question, un conseil pour le cable .... dit-m'en plus.

celui qui va du tableau électrique à ta prise 32A ?

Celui qui va à la voiture ? 

un adaptateur pour utiliser le câble tesla 16A sur la prise 32A ?

 

ou la cable que Tesla vendra à partir d'avril ? celui là il me semble que la prise est propriétaire, donc pas fabriquable soit même.

par contre je n'ai pas encore vu le CRO Tesla, j'ai bien compris qu'il était différent de celui des Model S, mais les adaptateurs ( Bleu 16A, Bleu 32A, Rouge 16A et Rouge 32A) ne sont pas les mêmes que pour les model S ?

Au US c'est les mêmes ICI

Du coup le plus simple serait de te faire prêter un adaptateur bleu 32A d'une Model S ou X.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, ce qu'il me faut c'est le câble pour brancher la bagnole sur ma prise qui, elle, a été installée par un pro.

Ben s'il s'adapte sur la M3 (si j'ai bien compris on peut y brancher une fiche mâle T2 comme sur une S ou X ?) je peux acheter directement l'adaptateur que tu dis, non ?

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai pas compris ton histoire de fiche male T2, les fiches male T2 c'est ce qu'il y a sur le cable T2-T2 que tu as eu avec la voiture pour les bornes publique.

 

et acheter directement l'adaptateur: oui mais c'est justement lui qui n'est pas en stock chez tesla car il était fourni de série avec les S et les X.

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour ceux qui bricole un peut avec de la domotique voici 3 scripts que j'utilise:

 

 

Un script qui lance la charge de la voiture, car souvent elle est en sommeil et "oublie" de charger à 22h.

#!/bin/bash
#Script Name: tesla-charge.sh
#Author: Guillaume VALET sur la base du script de climatisation de Doug Fuhrer
#Credit to Tim Dorr's documentation of the tesla API

######### Define Your Credentials Here for authentication #######
#enter your email and password here
email="[email protected]"
password="SuperPasswordBienCommeIlFaut"
######### End Credential Definition ################

######### Enter a pin drop location where you want auto start to occur #######
### Use google maps to find the lattitude and longitude of where you usually park yor car ### 
#enter lattitude here. If your in US its usually the positive number 
slat="0.000000"
#enter longitude here. If your in US its usually the negative number
slon="0.000000"
######### End location definition ##################

#This function calculates the "geofence" off of the location specified for the pin drop
function calcgeo
{
        #calc the min and max longitude 
        clon_min=$(bc <<< "$slon - -.002558")
        clon_max=$(bc <<< "$slon + -.001977")

        #calc the min and max lattitude
        clat_min=$(bc <<< "$slat - .002566" )
        clat_max=$(bc <<< "$slat + .001987" )

        echo "geofence: Lattitude bounderies $clat_min, $clat_max and Longitude bounderies $clon_min, $clon_max" 
}

function wake
{
        awake="false"
        echo "getting token"

        data=$(curl -s -X POST \
        "https://owner-api.teslamotors.com/oauth/token?grant_type=password&client_id=81527cff06843c8634fdc09e8ac0abefb46ac849f38fe1e431c2ef2106796384&client_secret=c7257eb71a564034f9419ee651c7d0e5f7aa6bfbd18bafb5c5c033b093bb2fa3&email=$email&password=$password" \
        -H 'cache-control: no-cache')

        token=$(echo $data|awk -F ":" '{ print $2}'|awk -F "," '{ print $1}'|sed 's/"//g')

        echo "your token is $token"

        viddata=$(curl -s -X GET \
                https://owner-api.teslamotors.com/api/1/vehicles \
                -H "Authorization: Bearer $token" \
                -H 'cache-control: no-cache')

        vid=$(echo $viddata|awk -F ':' '{ print $3 }'|awk -F ',' '{ print $1 }')

        echo "your vid is: $vid"
        echo "waking up your car!"

while [[ $awake == "false" ]]
        do
                wakestat=$(curl -s -X POST \
                https://owner-api.teslamotors.com/api/1/vehicles/$vid/wake_up \
                -H "Authorization: Bearer $token" \
                -H 'cache-control: no-cache')

                wakedata=$(echo $wakestat|awk -F ',' '{ print $50 }'|awk -F ':' '{ print $2 }'|sed 's/"//g')
                echo "your car is $wakedata !"

                        if [[ $wakedata == "online" ]]
                                then
                                        awake="true"
                                fi
                sleep 10
        done
}

function locate
{
        echo "getting location of car!"
        locstat=$(curl -s -X GET \
        https://owner-api.teslamotors.com/api/1/vehicles/$vid/data_request/drive_state \
        -H "Authorization: Bearer $token" \
        -H 'cache-control: no-cache')

        loc=$(echo $locstat|awk -F ',' '{ print $3 , $4 }')

        echo "the location is $loc"

        lat=$(echo $loc|awk -F ':' '{ print $2 }'| awk -F ' ' '{print $1 }'|sed 's/"//g')

        lon=$(echo $loc|awk -F ':' '{ print $3 }'|sed 's/"//g')
}

function checkcharge
{
        chargedata=$(curl -s -X GET \
        https://owner-api.teslamotors.com/api/1/vehicles/$vid/data_request/charge_state \
        -H "Authorization: Bearer $token" \
        -H 'cache-control: no-cache')
        charge=$(echo $chargedata|awk -F ',' '{ print $2 }'| awk -F ":" '{ print $2 }')
		#pour plustard changer la puissance de la borne
        #curl -s http://openevse/r?rapi=%24SC+20
}

function startcharge
{
        tempstat=$(curl -s -X POST \
        https://owner-api.teslamotors.com/api/1/vehicles/$vid/command/charge_start \
        -H "Authorization: Bearer $token" \
        -H 'cache-control: no-cache')
}

function checkreq
{
# check if the location of the car is in "geofence"
if [[ $(bc <<< "$lat > $clat_min") -eq 1  &&  $(bc <<< "$lat < $clat_max") -eq 1 && $(bc <<< "$clon_min > $lon") -eq 1 && $(bc <<< "$clon_max < $lon") -eq 1 ]]
        then
                echo "car is between coordinates!"
                checkcharge
                echo "Charge $charge"
                sleep 10
                startcharge
                echo "Starting your charge now!" | mail -s "Domo Tesla" $email
        else
                echo "Your car is somewhere else no charge"
                echo "Not starting charge. coordinates are $lat , $lon ." | mail -s "Domo Tesla" $email
fi
}

##### Start of main! here we call out all of the above functions. #####

#wake up the car
wake

if [[ $awake == "true" ]] # if the car is awake then locate the car and run the rest of the automation
        then
        #calculate geofence
        calcgeo
        #locate the car
        locate 
        #check all reqs and start automation if met
        checkreq
fi

 

Un script qui lance la clim ( ou le chauffage ) quand ma voiture est au boulot. environ 20min avant que je parte.

#!/bin/bash
#Script Name: tesla-clim.sh
#Author: Guillaume VALET sur la base du script de climatisation de Doug Fuhrer
#Credit to Tim Dorr's documentation of the tesla API

######### Define Your Credentials Here for authentication #######
#enter your email and password here
email="[email protected]"
password="SuperPasswordBienCommeIlFaut"
######### End Credential Definition ################

######### Enter a pin drop location where you want auto start to occur #######
### Use google maps to find the lattitude and longitude of where you usually park yor car ### 
#enter lattitude here. If your in US its usually the positive number 
slat="0.000000"
#enter longitude here. If your in US its usually the negative number
slon="0.000000"
######### End location definition ##################

######### Enter in car temperatures in celcius ############
#Enter the warmest you want your car to be
maxt=23
#Enter the coolest you want the car to be
lowt=17
######### End enter car temperatures ###########

#This function calculates the "geofence" off of the location specified for the pin drop
function calcgeo
{
        #calc the min and max longitude 
        clon_min=$(bc <<< "$slon - -.002558")
        clon_max=$(bc <<< "$slon + -.001977")

        #calc the min and max lattitude
        clat_min=$(bc <<< "$slat - .002566" )
        clat_max=$(bc <<< "$slat + .001987" )

        echo "geofence: Lattitude bounderies $clat_min, $clat_max and Longitude bounderies $clon_min, $clon_max" 
}

function wake
{
        awake="false"
        echo "getting token"

        data=$(curl -s -X POST \
        "https://owner-api.teslamotors.com/oauth/token?grant_type=password&client_id=81527cff06843c8634fdc09e8ac0abefb46ac849f38fe1e431c2ef2106796384&client_secret=c7257eb71a564034f9419ee651c7d0e5f7aa6bfbd18bafb5c5c033b093bb2fa3&email=$email&password=$password" \
        -H 'cache-control: no-cache')

        token=$(echo $data|awk -F ":" '{ print $2}'|awk -F "," '{ print $1}'|sed 's/"//g')

        echo "your token is $token"

        viddata=$(curl -s -X GET \
                https://owner-api.teslamotors.com/api/1/vehicles \
                -H "Authorization: Bearer $token" \
                -H 'cache-control: no-cache')

        vid=$(echo $viddata|awk -F ':' '{ print $3 }'|awk -F ',' '{ print $1 }')

        echo "your vid is: $vid"
        echo "waking up your car!"

while [[ $awake == "false" ]]
        do
                wakestat=$(curl -s -X POST \
                https://owner-api.teslamotors.com/api/1/vehicles/$vid/wake_up \
                -H "Authorization: Bearer $token" \
                -H 'cache-control: no-cache')

                wakedata=$(echo $wakestat|awk -F ',' '{ print $50 }'|awk -F ':' '{ print $2 }'|sed 's/"//g')
                echo "your car is $wakedata !"

                        if [[ $wakedata == "online" ]]
                                then
                                        awake="true"
                                fi
                sleep 10
        done
}

function locate
{
        echo "getting location of car!"
        locstat=$(curl -s -X GET \
        https://owner-api.teslamotors.com/api/1/vehicles/$vid/data_request/drive_state \
        -H "Authorization: Bearer $token" \
        -H 'cache-control: no-cache')

        loc=$(echo $locstat|awk -F ',' '{ print $3 , $4 }')

        echo "the location is $loc"

        lat=$(echo $loc|awk -F ':' '{ print $2 }'| awk -F ' ' '{print $1 }'|sed 's/"//g')

        lon=$(echo $loc|awk -F ':' '{ print $3 }'|sed 's/"//g')
}

function checktemp
{
        tempdata=$(curl -s -X GET \
        https://owner-api.teslamotors.com/api/1/vehicles/$vid/data_request/climate_state \
        -H "Authorization: Bearer $token" \
        -H 'cache-control: no-cache')
        temp=$(echo $tempdata|awk -F ',' '{ print $6 }'| awk -F ":" '{ print $2 }')
}


function startclim
{
        tempstat=$(curl -s -X POST \
        https://owner-api.teslamotors.com/api/1/vehicles/$vid/command/auto_conditioning_start \
        -H "Authorization: Bearer $token" \
        -H 'cache-control: no-cache')
}

function checkreq
{
# check if the location of the car is in "geofence"
if [[ $(bc <<< "$lat > $clat_min") -eq 1  &&  $(bc <<< "$lat < $clat_max") -eq 1 && $(bc <<< "$clon_min > $lon") -eq 1 && $(bc <<< "$clon_max < $lon") -eq 1 ]]
        then
                echo "car is between coordinates!"
                if [[ $(bc <<< "$temp < $lowt") -eq 1 || $(bc <<< "$temp > $maxt") -eq 1 ]]
                        then
                                echo "car temp is $temp celcius."
                                startclim
                                echo "Starting your climate now!" | mail -s "Domo Tesla" $email
                fi
        else
                echo "Your car is somewhere else and or car temp is already good. The car temp is $temp"
                echo "Not starting car. coordinates are $lat , $lon . The car temp is $temp" | mail -s "Domo Tesla" $email
fi
}

##### Start of main! here we call out all of the above functions. #####

#wake up the car
wake

if [[ $awake == "true" ]] # if the car is awake then locate the car and run the rest of the automation
        then
        #calculate geofence
        calcgeo
        #locate the car
        locate 
        #check the temperature
        checktemp
        #check all reqs and start climate automation if met
        checkreq
fi

 

 

Et un qui est lancé par un bouton à coté de la voiture dans la garage, il ouvre la voiture et débloque la prise de chargement.

#!/bin/bash
#Script Name: tesla-open.sh
#Author: Guillaume VALET sur la base du script de climatisation de Doug Fuhrer
#Credit to Tim Dorr's documentation of the tesla API

######### Define Your Credentials Here for authentication #######
#enter your email and password here
email="[email protected]"
password="SuperPasswordBienCommeIlFaut"
######### End Credential Definition ################

######### Enter a pin drop location where you want auto start to occur #######
### Use google maps to find the lattitude and longitude of where you usually park yor car ### 
#enter lattitude here. If your in US its usually the positive number 
slat="0.000000"
#enter longitude here. If your in US its usually the negative number
slon="0.000000"
######### End location definition ##################

#This function calculates the "geofence" off of the location specified for the pin drop
function calcgeo
{
        #calc the min and max longitude 
        clon_min=$(bc <<< "$slon - -.002558")
        clon_max=$(bc <<< "$slon + -.001977")

        #calc the min and max lattitude
        clat_min=$(bc <<< "$slat - .002566" )
        clat_max=$(bc <<< "$slat + .001987" )

        echo "geofence: Lattitude bounderies $clat_min, $clat_max and Longitude bounderies $clon_min, $clon_max" 
}

function wake
{
        awake="false"
        echo "getting token"

        data=$(curl -s -X POST \
        "https://owner-api.teslamotors.com/oauth/token?grant_type=password&client_id=81527cff06843c8634fdc09e8ac0abefb46ac849f38fe1e431c2ef2106796384&client_secret=c7257eb71a564034f9419ee651c7d0e5f7aa6bfbd18bafb5c5c033b093bb2fa3&email=$email&password=$password" \
        -H 'cache-control: no-cache')

        token=$(echo $data|awk -F ":" '{ print $2}'|awk -F "," '{ print $1}'|sed 's/"//g')

        echo "your token is $token"

        viddata=$(curl -s -X GET \
                https://owner-api.teslamotors.com/api/1/vehicles \
                -H "Authorization: Bearer $token" \
                -H 'cache-control: no-cache')

        vid=$(echo $viddata|awk -F ':' '{ print $3 }'|awk -F ',' '{ print $1 }')

        echo "your vid is: $vid"
        echo "waking up your car!"

while [[ $awake == "false" ]]
        do
                wakestat=$(curl -s -X POST \
                https://owner-api.teslamotors.com/api/1/vehicles/$vid/wake_up \
                -H "Authorization: Bearer $token" \
                -H 'cache-control: no-cache')

                wakedata=$(echo $wakestat|awk -F ',' '{ print $50 }'|awk -F ':' '{ print $2 }'|sed 's/"//g')
                echo "your car is $wakedata !"

                        if [[ $wakedata == "online" ]]
                                then
                                        awake="true"
                                fi
                sleep 10
        done
}

function locate
{
        echo "getting location of car!"
        locstat=$(curl -s -X GET \
        https://owner-api.teslamotors.com/api/1/vehicles/$vid/data_request/drive_state \
        -H "Authorization: Bearer $token" \
        -H 'cache-control: no-cache')

        loc=$(echo $locstat|awk -F ',' '{ print $3 , $4 }')

        echo "the location is $loc"

        lat=$(echo $loc|awk -F ':' '{ print $2 }'| awk -F ' ' '{print $1 }'|sed 's/"//g')

        lon=$(echo $loc|awk -F ':' '{ print $3 }'|sed 's/"//g')
}

function teslaopen
{
        data1=$(curl -s -X POST \
        https://owner-api.teslamotors.com/api/1/vehicles/$vid/command/door_unlock \
        -H "Authorization: Bearer $token" \
        -H 'cache-control: no-cache')
        echo $data1
}

function teslaopenprise
{
        data2=$(curl -s -X POST \
        https://owner-api.teslamotors.com/api/1/vehicles/$vid/command/charge_port_door_open \
        -H "Authorization: Bearer $token" \
        -H 'cache-control: no-cache')
        echo $data2
}

function checkreq
{
# check if the location of the car is in "geofence"
if [[ $(bc <<< "$lat > $clat_min") -eq 1  &&  $(bc <<< "$lat < $clat_max") -eq 1 && $(bc <<< "$clon_min > $lon") -eq 1 && $(bc <<< "$clon_max < $lon") -eq 1 ]]
        then
                echo "car is between coordinates!"
                echo "Ouverture Tesla"
                teslaopen
                echo "Ouverture prise"
                teslaopenprise
        else
                echo "Your car is somewhere else no charge"
                echo "Not ouverture. coordinates are $lat , $lon ." | mail -s "Domo Tesla" $email
fi
}

##### Start of main! here we call out all of the above functions. #####

#wake up the car
wake

if [[ $awake == "true" ]] # if the car is awake then locate the car and run the rest of the automation
        then
        #calculate geofence
        calcgeo
        #locate the car
        locate 
        #check all reqs and start automation if met
        checkreq
fi

 

Pour tout ces scripts il faut mettre son email et password du compte tesla.

et il ne fonctionne QUE sur des coordonnés GPS voulu.

 

si vous ne les connaissez pas, il suffit de lancer un fois le script, avec la voiture à l'endroit voulu, et vous recevez les coordonnées par email.

 

 

Modifié par GuiToon

Partager ce message


Lien à poster
Partager sur d’autres sites





×
×
  • Créer...
Automobile Propre

Automobile Propre est un site d'information communautaire qui est dédié à tout ce qui concerne l'automobile et l'environnement. Les thématiques les plus populaires de notre blog auto sont la voiture électrique et les hybrides, mais nous abordons également la voiture GNV / GPL, les auto à l'hydrogène, les apects politiques et environnementaux liés à l'automobile. Les internautes sont invités à réagir aux articles du blog dans les commentaires, mais également dans les différents forums qui sont mis à leur dispositon. Le plus populaire d'entre eux est certainement le forum voiture électrique qui centralise les discussions relatives à l'arrivée de ces nouveaux véhicules. Un lexique centralise les définitions des principaux mots techniques utilisés sur le blog, tandis qu'une base de données des voitures (commercialisées ou non) recense les voitures électriques et hybrides.