L'intégration Tesla et automatisation!

Si, j’ai trouvé une API qui fonctionne ici : Charging - Tesla JSON API (Unofficial)

Ca change bien les valeurs sur l’app. Pas encore vérifié pendant un chargement mais je teste ça demain.
Un appel complet ici :

service: tesla_custom.api
data:
  command: CHARGING_AMPS
  parameters:
    path_vars:
      vehicle_id: '{{ state_attr(''binary_sensor.<voitureName>_online_sensor'', ''id'') }}'
    charging_amps: 10
2 « J'aime »

@AlexHass
Super le Dashboard HA de ta Tesla. :+1:

Je viens (enfin) de recevoir ma Tesla et je souhaiterais faire la même chose.

J’ai suivi la procédure décrite dans HACS et j’ai maintenant un dossier Tesla_custom dans config mais lorsque j’ajoute une carte je n’ai pas d’entités Tesla disponibles.
Il y a pratiquement un an que je n’ai pas touché à HA donc la reprise est difficile et je dois oublier une étape !

Salut,

Normalement si tu as tout installé et que la voiture est connectée en wifi sur le même réseau, tu devrais avoir la notification qu’une nouvelle intégrations est dispo.
C’est là qu’il faut configurer et entrée ton id et token.
Normalement c’est tout expliqué sur le repo de HACS

image

SI ça ne trouve pas tout seul tu dois pouvoir ajouter à la main dans les intégrations, mais je suppose qu’il faudra l’ip.

1 « J'aime »

J’ai dû oublier une étape car je ne vois pas cette image « Tesla Custom » dans Paramètres/Appareils et services/intégrations.

La doc de l’intégration dit qu’il faut l’ajouter à la main.
(A noter que Configuration>Integration" maintenant c’est remplacé par " Paramètres/Appareils et services/intégrations")

1 « J'aime »

Merci. C’est bien à cette étape que j’ai foiré. Maintenant il demande :

  • une adresse mail : peut-on mettre une adresse valide quelconque ou obligatoirement celle associée au compte Tesla ?
  • un refresh token ?

C’est tjrs dans la même doc. :wink:
Il faut l’adresse utilisée pour le compte. Et un token que tu peux extraire avec les options données dans la doc, j’utilise l’extension chromium, c’est à faire 1 fois après c’est bon.

1 « J'aime »

C’est bon j’ai bien les entités :+1: Merci beaucoup pour l’aide.
Dans le dernier message, tu indiques que la procédure du token est à faire une seule fois mais au début du sujet tu précises « *Cette alternative ne sera pour le moment pas prise en tant qu’officielle car elle nécessite de passer par un application tierce pour récupérer des nouveau tokens d’authentification tous les 2 mois. » ?

Oui ça a changé. Je ne sais pas s’il expire encore… mais en tous cas ça fait un baille, genre 6 mois que je n’ai pas eu à le changer :wink:

1 « J'aime »

Je vais maintenant me pencher sur la carte, notamment la « Picture éléments » en espérant que ce ne soit pas une usine à gaz !
Ce sont tes propres photos pour le port de charge ?

Ca peut-être velu si tu veux beaucoup d’infos et en plus jouer avec les couleurs, les conditions et d’autres choses dynamiques. :slight_smile:

Oui c’est maison.

Voici un exemple de la carte picture-elements qui change l’image suivant l’état de la prise et qui affiche aussi la vitesse de charge. C’est puissant comme carte, mais faut s’y retrouver.

type: picture-elements
elements:
  - type: state-badge
    entity: device_tracker.voiture_location_tracker
    title: null
    style:
      top: 93%
      left: 15%
  - type: conditional
    conditions:
      - entity: lock.voiture_charger_door_lock
        state: unlocked
      - entity: binary_sensor.voiture_charger_sensor
        state: 'off'
    elements:
      - type: image
        image: /local/UI_Pics/PlugOff.jpg
        style:
          top: 50%
          left: 50%
          height: 100%
          width: 100%
  - type: conditional
    conditions:
      - entity: binary_sensor.voiture_charger_sensor
        state: 'on'
    elements:
      - type: image
        image: /local/UI_Pics/PlugOn.jpg
        style:
          top: 50%
          left: 50%
          height: 100%
          width: 100%
  - type: conditional
    conditions:
      - entity: switch.voiture_charger_switch
        state: 'on'
    elements:
      - type: state-icon
        entity: switch.voiture_charger_switch
        icon: mdi:flash
        state_color: false
        style:
          top: 60%
          left: 31%
          '--paper-item-icon-color': hsl(100, 87%, 54%)
          transform: translate(-50%,-50%) scale(2,2)
      - type: state-label
        entity: sensor.voiture_charging_rate_sensor
        tap_action:
          action: toggle
        style:
          top: 90%
          left: 25%
          color: black
image: /local/UI_Pics/PlugClosed.jpg

1 « J'aime »

Bonjour,
Je début sur HA et Node Red, et j’ai une question sur la fonction « Calcul durée de charge ».
Je viens de suivre votre intégration et cela fonctionne chez moi. Toutefois je n’arrive pas a comprendre comment vous avez fait pour le calcul de la durée de charge.
Pouvez vous m’aider.

Merci de votre retour.

Bonjour et Bienvenue.

Alors c’est quelque chose que je n’ai plus besoin en fait :slight_smile: ayant changé les heures auxquelles mais appareils tournent la nuit et l’utilité du calcul n’était pas non plu énorme.

Mais l’idée générale était de ne commencer la charge que le plus tard possible.
Tout ce que je faisais c’était qu’en sachant que ma charge lente remplit 5% / heure, combien de temps il faudrait suivant le niveau de batterie…
Par exemple si je suis à 70% , il me faut 6h de charge. Donc au lieue de commencer à 23h qui est le début des mes heures creuses, je commence à 1h du matin.

Bonjour,
J’ai de nombreuses entités indisponibles comme, par exemple, « battery sensor » avec le message « Cette entité n’est plus fournie par l’intégration tesla_custom. Si l’entité n’est plus utilisée, supprimez-la depuis les paramètres. » ?
Merci @AlexHass pour l’exemple de la picture elements (je n’ai pas reçu de notifications)

Salut,

Tu s dû mettre à jour à la version 3.0.0!!
Il y avait une grosse notice de breaking change! Toute l’intégration a été réécrite du début!
Et les changements sont importants mais intéressants.

L’auteur recommandair même de ne pas mettre à jour mais de supprimer/réinstaller toute l’intégration!

De mémoire ce qui change c’est:

  • Le nom de la majorité des entités, en fait il a enlevé le type redondant, exemple: « sensor._battery_sensor » s’appelle maintenant « sensor._battery », plus de sensor, switch ou lock dans le nom!!
  • Les coffres sont maintenant des « cover » et plus des « lock ».
  • Des « boutons » pour forcéer le réveil et la mise à jour de données (pratique pour certaines autoamtisations)
  • Une entité de type « Update » qui fait que els mises à jour de la voiture font partie de la liste des mises à jour de HA.
  • Pas mal de nouveau sensors qui étaient avant des attributs. Par exemple maintenant y’a un snesor pour la puissance instantanée de charge en kw.
  • Et le plus important!! Une entité « number » pour définir l’Ampérage directement!
    image

J’ai attendu avant de faire la mises à jour, et j’ai supprimé recréé, ça m’a pris 20-30 min pour tout corriger.
La majorité des changements nécessaires c’était partout où il fallait changer les noms, généralement c’était simple, juste a enlever le type dans le nom de l’entité.

Je ne suis pas certain d’avoir fait la mise à jour et je ne trouve la version installée.
Dans paramètres/Appareils et services/intégrations/Tesla custom integration, la version n’est pas affichée.
[Edit]
J’ai finalement tout effacé y compris le dossier dans le config puis redémarrer HA mais impossible de réinstaller Custom Tesla Component :

  • depuis HACS/ Integrations/champ recherche il trouve Tesla custom integration mais je n’ai pas de bouton télécharger
  • depuis HACS/ Integrations/explorer et télécharger des dépots /champ recherche, il ne trouve rien
    Un pas en avant puis deux pas en arrière ! :unamused:

L’un d’entre vous aurait la gentillesse de pousser la conf de son dashboard, histoire de ne pas partir de zéro ? :slight_smile:

Wow solution drastique :wink:

Quand tu vas sur l’intégration de HACS, et puis sur les 3 points tu n’as pas l’option re-télécharger ou l’option desinstaller?
Je crois que c’est normal que tu ne trouve pas le repo, s’il est déjà installé!

Salut,
c’est possible mais bon pas tjrs pratique car j’ai aussi des cartes custom qui ne sont pas forcément nécessaires, comme mini-graph-card, bar-card & simple-thermostat.
Et aussi des photos pour les picture-elements.

Voici le yaml complet de toute la vue, attention c’est long.

Résumé
  - icon: mdi:car
    title: Car
    path: car
    badges: []
    cards:
      - type: vertical-stack
        cards:
          - type: picture-elements
            elements:
              - type: state-icon
                entity: lock.razengan_doors
                tap_action:
                  action: toggle
                state-filter:
                  unlocked: hue-rotate(150deg)
                style:
                  top: 40%
                  left: 69%
                  '--paper-item-icon-color': hsl(213, 71%, 60%)
              - type: state-icon
                entity: cover.razengan_frunk
                tap_action:
                  action: toggle
                state-filter:
                  unlocked: hue-rotate(150deg);
                style:
                  top: 50%
                  left: 15%
                  '--paper-item-icon-color': hsl(213, 71%, 60%)
              - type: state-icon
                entity: cover.razengan_trunk
                tap_action:
                  action: toggle
                state-filter:
                  unlocked: hue-rotate(150deg);
                style:
                  top: 30%
                  left: 90%
                  '--paper-item-icon-color': hsl(213, 71%, 60%)
              - type: icon
                icon: mdi:car-light-high
                style:
                  top: 90%
                  left: 65%
                  color: hsl(213, 71%, 60%)
                tap_action:
                  action: call-service
                  service: button.press
                  service_data:
                    entity_id: button.razengan_flash_lights
              - type: icon
                icon: mdi:bullhorn
                style:
                  top: 90%
                  left: 50%
                  color: hsl(213, 71%, 60%)
                tap_action:
                  action: call-service
                  service: button.press
                  service_data:
                    entity_id: button.razengan_horn
              - type: state-icon
                entity: binary_sensor.razengan_parking_brake
                style:
                  top: 30%
                  left: 5%
            image: /local/UI_Pics/TeslaModel3.jpg
          - type: entities
            entities:
              - entity: sensor.razengan_odometer
                name: Kilométrage
              - entity: switch.razengan_sentry_mode
                name: Mode Sentinelle
                icon: mdi:police-badge-outline
              - entity: binary_sensor.razengan_online
                name: Etat de connection
              - entity: switch.razengan_polling
                name: Collecte des données
              - entity: number.razengan_charging_amps
              - entity: number.razengan_charge_limit
              - entity: button.razengan_force_data_update
              - entity: button.razengan_wake_up
          - type: map
            entities:
              - entity: device_tracker.razengan_location_tracker
      - type: vertical-stack
        cards:
          - type: horizontal-stack
            cards:
              - type: picture-elements
                style: |
                  @keyframes blink {
                    0% {background-color: pink;}              
                    50% {background-color: black;}
                  } 
                elements:
                  - type: state-badge
                    entity: device_tracker.razengan_location_tracker
                    title: null
                    style:
                      top: 93%
                      left: 15%
                  - type: conditional
                    conditions:
                      - entity: lock.razengan_charger_door_lock
                        state: unlocked
                      - entity: binary_sensor.razengan_charger
                        state: 'off'
                    elements:
                      - type: image
                        image: /local/UI_Pics/PlugOff.jpg
                        style:
                          top: 50%
                          left: 50%
                          height: 100%
                          width: 100%
                  - type: conditional
                    conditions:
                      - entity: binary_sensor.razengan_charger
                        state: 'on'
                    elements:
                      - type: image
                        image: /local/UI_Pics/PlugOn.jpg
                        style:
                          top: 50%
                          left: 50%
                          height: 100%
                          width: 100%
                  - type: conditional
                    conditions:
                      - entity: switch.razengan_charger
                        state: 'on'
                    elements:
                      - type: state-icon
                        entity: switch.razengan_charger
                        icon: mdi:flash
                        state_color: false
                        style:
                          top: 60%
                          left: 31%
                          '--paper-item-icon-color': hsl(100, 87%, 54%)
                          transform: translate(-50%,-50%) scale(2,2)
                      - type: state-label
                        entity: sensor.razengan_charger_power
                        tap_action:
                          action: toggle
                        style:
                          top: 90%
                          left: 25%
                          color: black
                image: /local/UI_Pics/PlugClosed.jpg
              - show_name: true
                show_icon: true
                type: button
                tap_action:
                  action: toggle
                entity: switch.razengan_charger
                show_state: true
                name: Chargeur
                icon: mdi:ev-station
          - type: custom:bar-card
            entities:
              - entity: sensor.razengan_battery
                icon: mdi:battery-80
                name: Batterie
                animation:
                  state: 'on'
                  speed: '2'
                severity:
                  - from: '0'
                    to: '30'
                    color: Red
                  - from: '30'
                    to: '60'
                    color: Orange
                  - from: '60'
                    color: Green
                    to: '100'
                height: 30px
                positions:
                  icon: inside
              - entity: sensor.razengan_range
                max: '420'
                name: Autonomie
                height: 30px
                positions:
                  icon: inside
          - type: custom:mini-graph-card
            name: Batterie (72h)
            entities:
              - entity: sensor.razengan_battery
            hours_to_show: 72
            points_per_hour: 1
            hour24: true
            align_state: right
            show:
              labels: false
              fill: false
            lower_bound: 0
            upper_bound: 100
            color_thresholds:
              - value: 100
                color: green
              - value: 60
                color: orange
              - value: 30
                color: red
          - type: entities
            entities:
              - entity: sensor.razengan_energy_added
                icon: mdi:transmission-tower-import
                name: Energie Consommée
              - entity: sensor.razengan_charger_power
              - entity: binary_sensor.razengan_charging
          - type: custom:simple-thermostat
            entity: climate.razengan_hvac_climate_system
            layout:
              mode:
                names: true
              step: row
            header: false
            control:
              hvac:
                'off': true
                heat_cool:
                  name: Climatisation
                  icon: mdi:sun-snowflake
              preset:
                normal:
                  name: Normal
                  icon: mdi:waves
                defrost:
                  name: Dégivrage
                  icon: mdi:snowflake
          - type: custom:mini-graph-card
            name: Températures
            icon: mdi:thermometer
            entities:
              - entity: sensor.razengan_temperature_inside
                name: Intérieur
              - entity: sensor.razengan_temperature_outside
                name: Extérieur

Top merci. Ca permet de pas repartir à 0 quoi. C’est une bonne base pour commencer !