[Article] Gestion d'un véhicule électrique Renault

Bonjour,

Merci pour ce tuto !

Je viens aussi de tout paramétrer, par contre pour arrêter la recharge j’ai une erreur quand je mets la programmation. (Faut que je teste en laissant une programmation dans la voiture directement et ne pas la changer dans le script. L’erreur étant :
”« Error: An unknown error occurred while communicating with the Renault servers: (‹ err.func.wired.forbidden ›, ‹ The access is forbidden ›) »”

Ensuite, quand je passe en Always charging, ça doit changer quelque chose de bizarre, car mon appli My renault ne me propose plus les options de planif, de préchauffer, klaxon etc. j’ai juste la maintenance de visible…
Je pense que les API ont changée, car déjà, je n’ai pas accès à mode de charging dans mon devise :

Et dans le script, il me propose plus d’option que dans le tuto :

Donc pour l’instant… je suis un peu marron à cause de ça pour gérer vraiment la charge via HA.
D’autres personnes ont eu ce soucis ?

Hello,
J’utilisais l’intégration avec notre R5 électrique. Depuis la dernière mise à jour de HA, l’intégration ne remonte plus les entités. Elles sont toutes indisponibles. Avez vous ce problème ?

Avant cela, j’avais aussi ‹ The access is forbidden › pour les démarrage et arrêts recharge et planifications. J’ai créé un ticket, mais il avait été clos sans explications.

Bonjour, pour la R5 je ne sais pas mais là sur elle remarche

Merci pour tout ce travail et ce tuto que je découvre. Ça fait plaisir de rencontrer des personnes qui ont les mêmes loisirs passions que soi.

je me met sur ma ZOE et mon homeassistant ASAP.

Christian

Bonjour, ma femme vient d’acquérir une Twingo ZE d’occasion de 2021. Je viens d’installer l’intégration et il ne me remonte correctement que la position de la voiture. Il y a d’autres données mais qui ne correspondent pas, exemple la batterie est à 22% et la remontée indique 8%. Faut-il s’abonner à un pack, où les données peuvent remonter sans abonnement particulier.
Hier j’ai essayer l’appui sur “Commencer la charge”, aucune action.
Merci pour vos retours.

Hello, si ça fonctionne dans m’app MyRenault ça peut fonctionner sur HA. Si ça ne fonctionne plus du tout non plus sur l’app (services expirés) il faut les racheter dans le store MyRenault. Tu peux voir l’état des tes contrats dans l’onglet Mes contrats de l’app MyRenault.

1 « J'aime »

Bonjour. Merci beaucoup pour le tuto, mais je suis malheureusement bloqué.

Je n’ai pas le contrôle “Mode de recharge” sur ma Mégane 2022 ni sur la R5 de ma femme. :slightly_frowning_face:

Des idées ?

Bonjour.

Nouvelle année et peut-être nouvelle solutions ?

Quelqu’un est dans le même cas que moi ? (Voir le message précédent)

hello,

Cela n’a jamais marché. On ne peut pas démarrer et arrêter la charge. J’avais créé un ticket sur github, mais @epenet l’a fermé sans autre explications. J’ai alors testé moi l’API en python avec un petit programme de test python pour éventuellement proposer une modif du code dans github et j’ai la même erreur. Je crains que l’API ne le permette pas.

La gestion de la clim marche par contre.

bonjour BLANCA

j’ai pris un abonnement sur le compte myrenault pour une ZOE,sur l’application myrenault on a toutes sortes d’information sur la clim, le rechargement, le kilométrage, le déclenchement et l’arret de la charge ainsi que le pourcentage de chargement de la batterie. la localisation de la voiture, l’agenda d’entretien du véhicule etc. (#50€/an)

A part cela sur Home Assistant ça fait un an et demi que je déclenche des charges de batterie de 4H, 8H, 12H ou 16H sur une pris ordinaire munie d’un interrupteur commandé par HA.

Dans mon cas c’est souvent 8H pour <50% ou 12H si <40%. je cherche à ne pas dépasser les 80%. je vais changer et me baser sur le % de la batterie pour les chargements.

Christian

Bonjour @christian_PESC
Je fais une réponse rapide car dans l’immédiat je ne suis pas chez moi…
On peut effectivement contrôler la charge en limitant à 80%…par rapport à la présentation de @Barben360, il faut modifier le principe de déclenchement et d’arrêt de la charge.
Je l’ai appliqué sur ma Twingo électrique.
Le principe… c’est de basculer en mode charge immédiate / mode charge personnalisé en désactivant la ou les périodes de programmation.
En effet le fait de désactiver la ou les périodes de programmation la voiture bascule automatiquement en charge immédiate.
Pour cela au niveau d’une action tu choisis :
Renault mise à jour d’une planification de charge
et tu ajoutes

  • activated: false
    id: 1
    l’id correspondant à ma 1er planification (je n’en ai qu’une seule qui est d’une minute un jour de semaine vers 12h)
    Arrivé à 80%
    Renault mise à jour d’une planification de charge
    activated: true
    id: 1

Si tu as besoin de plus détails n’hésite pas

Bon, j’ai pas mal de trucs à dire sur cet article.
J’ai trois Zoé (uniquement 2 connectés via l’application MyRenault) et je suis administrateur du forum Zoé Pro, je connais bien cette voiture et l’application Renault.
A la maison, j’ai fais installer 2 bornes V2C Trydan Pro 22 kW (36 KVA en triphasé chez moi).
J’ai décidé de créer ce que tu as fais (enfin une partie) directement en yaml et chargé dans mon fichier de configuration. J’ai ajouté un bool « Arrêt automatique de la charge » qui me permet d’activer ou pas l’arrêt de la charge en mode automatique.
La Zoé ne remonte pas sa position, en tout cas, pas les versions que j’ai en tout cas.

Voici (pour le moment), ce que j’obtiens au niveau graphique :

L’icône de la batterie est dynamique ainsi que sa couleur.
Voici le code pour une voiture uniquement (il faudra remplacer les images, je peux les fournir).

type: custom:horizontal-layout
layout:
  max_cols: 2
  width: 400
path: voitures
icon: mdi:car-connected
title: voitures
cards:
  - type: vertical-stack
    cards:
      - type: horizontal-stack
        cards:
          - show_state: false
            show_name: false
            type: picture-entity
            entity: sensor.ab123yz_kilometrage
            image:
              media_content_id: media-source://image_upload/e8130ed7f61382cb5c192998d3033e0e
              media_content_type: image/png
              metadata:
                title: zoe_blanche.png
                thumbnail: /api/image/serve/e8130ed7f61382cb5c192998d3033e0e/256x256
                media_class: image
                navigateIds:
                  - {}
                  - media_content_type: app
                    media_content_id: media-source://image_upload
          - type: custom:mod-card
            card_mod:
              style: |
                ha-card {
                  background-color: rgba(226, 228, 226) !important;
                  --primary-text-color: black;
                  --secondary-text-color: black;
                  border-radius: 10px !important;
                  text-align: center !important;
                  height: 100%;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                }
            card:
              type: custom:mushroom-title-card
              title: AB-123-YZ
              subtitle: "{{ states('sensor.ab_123_yz_batterie') }} %"
      - type: horizontal-stack
        cards:
          - type: vertical-stack
            cards:
              - type: entities
                entities:
                  - entity: button.ab123yz_demarrer_la_climatisation
                    secondary_info: last-updated
                    name:
                      type: entity
                  - entity: sensor.ab123yz_kilometrage
                    secondary_info: last-updated
                    name:
                      type: entity
                  - entity: binary_sensor.ab123yz_prise
                    secondary_info: last-updated
                    name:
                      type: entity
                  - entity: binary_sensor.ab123yz_en_charge
                    secondary_info: last-updated
                    name:
                      type: entity
                  - entity: sensor.ab123yz_autonomie_de_la_batterie
                    secondary_info: last-updated
                    name:
                      type: entity
                  - entity: sensor.ab_123_yz_batterie
                    secondary_info: last-updated
                    name: Batterie
                    card_mod:
                      style: |
                        :host {
                          {% if states[config.entity] %}
                            --card-mod-icon-color: {{ states[config.entity].attributes.icon_color }};
                          {% endif %}
                        }
                  - entity: input_button.ab_123_yz_stop_charging
                    secondary_info: last-updated
                  - entity: input_button.ab_123_yz_instant_charging
                    secondary_info: last-updated
                  - entity: input_number.ab_123_yz_stop_charging_percent_target
                  - entity: input_boolean.ab_123_yz_manage_charging

Déjà il faut le savoir, l’application remonte très peu souvent les informations, je dirais environ toutes les 20 minutes.

Ce qui ne fonctionne pas bien :

  • Gestion de Prise / En charge :
    • Lorsque l’on branche la voiture la Prise reste « Débranchée » même après 30 minutes : NOK
    • Lorsque la voiture commence à charger, la Prise passe à « Branchée » et En charge à Chargement en cours (ou un truc du genre) : OK
    • Lorsque la charge s’arrête, la Prise reste à « Branchée » et En charge Pas en chargement : OK

Cela fonctionne bizarrement mais je pourrais certainement utiliser l’information de la Prise Branchée à Débranchée pour remettre la voiture en charge immédiate pour la prochaine charge.
Ce sont mes bornes qui décident quand lancer la charge, pas la voiture (pas assez fiable).

Ce qui ne fonctionne pas :
Lorsque la voiture dépasse le pourcentage de fin de charge il ne se passe rien, la charge continue. J’ai déjà remarqué qu’initialiser le planning de charge ou le modifier via l’application ne fonctionne quasiment jamais (j’ai du réussir 2 fois en 10 ans). J’ai passé la durée de charge le dimanche en plein après midi pendant 15 minutes comme l’a indiqué @Bash ici mais ça ne semble pas fonctionner non plus.

Ce qui me posera problème (si ça fini par fonctionner) :
Je charge avec une borne 22 kW, ce qui veut dire que si la voiture remonte les infos toutes les 20 minutes la voiture peut détecter 79% puis plus que 80% 20 minutes après ! Il y a fort à parier qu’à cette puissance je sois déjà à plus de 95% ! Donc ce sera au petit bonheur la chance !

Ce qui fonctionne :

  • Lancer la climatisation fonctionne (9 fois sur 10). La remontée des informations est lente mais semble correcte.
    Au pire, même si ça ne me permet pas d’arrêter la charge, avoir les informations est déjà bien.
    Cela me permet en un coup d’œil (et plus rapidement que l’application Renault) l’état de charge des voitures.
  • Repasser en charge immédiate fonctionne. Cela me permettra de remettre la voiture en charge instantanée lorsqu’elle est débranchée après une charge.

Pour le fichier suivant :
Il faut remplacer AB-123-YZ par l’immatriculation correspondante
Il faut remplacer ab_123_yz par l’immatriculation correspondante
Il faut remplacer ab123yz par l’immatriculation correspondante
Et il faut le charger, dans configuration.yaml ajouter (moi c’est dans /config/YAML/packages), moi c’est renaul_zoe_ab_123_yz.yaml

homeassistant:
  # Importation du fichier de customisation
  # Chargement des fichiers packages
  packages: !include_dir_named YAML/packages

Dans YAML/packages j’ai mes fichiers (vous les nommez comme vous le voulez, en .yaml)

#╔══════════════════════════════════════════════════════════════════════════════════╗
#║  Template commun aux voiture pour la gestion de la charge                        ║
#║                                                                                  ║
#║ Voiture Zoé Rouge: AB-123-YZ                                                     ║
#╚══════════════════════════════════════════════════════════════════════════════════╝

#╔══════════════════════╗
#║  INPUTS BUTTON       ║
#╚══════════════════════╝
input_button:
  #================================
  # Arrêt manuel de la charge
  #================================
  ab_123_yz_stop_charging:
    name: Arrêt de la charge
    icon: mdi:stop-circle
  #================================
  # Lancement manuel de la charge
  #================================
  ab_123_yz_instant_charging:
    name: Lancement de la charge
    icon: mdi:play-circle

#╔══════════════════════╗
#║  INPUTS BOOLEAN      ║
#╚══════════════════════╝
input_boolean:
  ab_123_yz_manage_charging:
    name: Arrêt automatique de la charge
    icon: mdi:battery-off

#╔══════════════════════╗
#║  INPUTS DE CONSIGNE  ║
#╚══════════════════════╝
input_number:
  ab_123_yz_stop_charging_percent_target:
    name: Poucentage de Fin de charge
    icon: mdi:ev-station
    min: 0
    max: 100
    step: 1

#╔═══════════════════════════════╗
#║  SENSOR                       ║
#╚═══════════════════════════════╝
template:
  - sensor:
      #=========================================
      #  SENSOR : Charge restante
      #=========================================
      - name: "Charge restante AB-123-YZ"
        unique_id: ab_123_yz_charge_left
        unit_of_measurement: "%"
        device_class: battery
        state_class: measurement
        state: >
          {% if has_value('sensor.ab123yz_batterie') %}
            {{ (states('input_number.ab_123_yz_stop_charging_percent_target') | int) - (states('sensor.ab123yz_batterie') | int) }}
          {% elif has_value('sensor.ab_123_yz_charge_left') %}
            {{ states('sensor.ab_123_yz_charge_left') }}
          {% else %}
            -1
          {% endif %}
      #=========================================
      #  SENSOR : Batterie - icône dynamique
      #=========================================
      - name: "ab_123_yz_batterie"
        unique_id: ab_123_yz_batterie_icon
        state: "{{ states('sensor.ab123yz_batterie') }}"
        unit_of_measurement: "%"
        device_class: battery
        icon: >
          {% set charge = states('sensor.ab123yz_batterie')|int %}
          {% if charge < 5 %}
            mdi:battery-outline
          {% elif charge < 15 %}
            mdi:battery-10
          {% elif charge < 25 %}
            mdi:battery-20
          {% elif charge < 35 %}
            mdi:battery-30
          {% elif charge < 45 %}
            mdi:battery-40
          {% elif charge < 55 %}
            mdi:battery-50
          {% elif charge < 65 %}
            mdi:battery-60
          {% elif charge < 75 %}
            mdi:battery-70
          {% elif charge < 85 %}
            mdi:battery-80
          {% elif charge < 95 %}
            mdi:battery-90
          {% else %}
            mdi:battery
          {% endif %}
        attributes:
          icon_color: >
            {% set charge = states('sensor.ab123yz_batterie')|int %}
            {% if charge < 20 %}
              red
            {% elif charge < 30 %}
              orange
            {% elif charge < 40 %}
              #E6A23C
            {% else %}
              green
            {% endif %}

#╔══════════════════════╗
#║       SCRIPTS        ║
#╚══════════════════════╝
script:
  # =================================================================
  # Ce script permet de stopper la charge de la voiture
  # =================================================================
  manual_ab_123_yz_stop_charging:
    alias: Stop charging AB-123-YZ
    description: "Arrêt de la charge"
    sequence:
      - action: renault.charge_set_schedules
        metadata: {}
        data:
          vehicle: 8f30f5310d0adc1d9f32afbbdc7242b2
          schedules:
            - id: 1
              activated: true
              monday: null
              tuesday: null
              wednesday: null
              thursday: null
              friday: null
              saturday: null
              sunday:
                startTime: T15:00Z
                duration: 15
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - device_id: 8f30f5310d0adc1d9f32afbbdc7242b2
        domain: select
        entity_id: adf36521c1af88bcfd205bdd4aed5b64
        type: select_option
        option: always_charging
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - device_id: 8f30f5310d0adc1d9f32afbbdc7242b2
        domain: select
        entity_id: adf36521c1af88bcfd205bdd4aed5b64
        type: select_option
        option: schedule_mode

  # ===================================================================
  # Ce script permet de remettre la charge de la voiture en instantané
  # ===================================================================
  manual_ab_123_yz_instant_charging:
    alias: Instant charging AB-123-YZ
    description: "Charge instantanée"
    sequence:
      - device_id: 8f30f5310d0adc1d9f32afbbdc7242b2
        domain: select
        entity_id: adf36521c1af88bcfd205bdd4aed5b64
        type: select_option
        option: always_charging

#╔══════════════════════╗
#║     AUTOMATIONS      ║
#╚══════════════════════╝
automation:
  # =================================================================
  # Cette automatisation permet d'arrêter manuellement la charge de
  # la voiture en appuyant sur le bouton stop
  # input_button.xx_stop_charging
  # =================================================================
  - id: ab_123_yz_manual_stop_charging
    alias: AB-123-YZ - Arrêt manuel de la charge
    description: "Arrêt manuel de la charge"
    mode: single
    trigger:
      - platform: state
        entity_id:
          - input_button.ab_123_yz_stop_charging
    condition: []
    action:
      - service: script.manual_ab_123_yz_stop_charging
        data: {}
      - action: notify.all_phones_cars
        data:
          message: |
            Demande d'arrêt manuel de La charge de la Zoé AB-123-YZ.
            Niveau de batterie : {% if has_value('sensor.ab123yz_batterie') %} {{ states('sensor.ab123yz_batterie') | int }} % {% else %}inconnu.{% endif %}
          title: Arrêt manuel de la charge

  # =================================================================
  # Cette automatisation permet de lancer immédiatement la charge de
  # la voiture
  # =================================================================
  - id: ab_123_yz_instant_charging
    alias: DK-400-NQ - Lancement de la charge
    description: "Lancement de la charge"
    mode: single
    trigger:
      - platform: state
        entity_id:
          - input_button.ab_123_yz_instant_charging
    condition: []
    action:
      - service: script.manual_ab_123_yz_instant_charging
        data: {}
      - action: notify.all_phones_cars
        data:
          message: |
            Demande de lancement immédiat de la charge de la Zoé AB-123-YZ.
          title: Lancement manuel de la charge

  # =================================================================
  # Cette automatisation permet d'arrêter automatiquement la charge
  # de la voiture lorsqu'elle est suffisamment chargée
  # =================================================================
  - id: ab_123_yz_automatic_stop_charging
    alias: "AB-123-YZ - Arrêt automatique de la charge"
    description: "Arrêt automatique de la charge lorsque le niveau de charge dépasse le niveau requis"
    mode: single
    triggers:
      - trigger: numeric_state
        entity_id:
          - sensor.Charge_restante_EW_131_BQ
        for:
          hours: 0
          minutes: 0
          seconds: 30
        below: 0
    conditions:
      - condition: state
        entity_id: input_boolean.ab_123_yz_manage_charging
        state:
          - "on"
    actions:
      - action: script.manual_ab_123_yz_stop_charging
        metadata: {}
        data: {}
      - action: notify.all_phones_cars
        metadata: {}
        data:
          message: |
            La charge de la Zoé AB-123-YZ est en cours d'arrêt.
            Niveau de batterie : {% if has_value('sensor.ab123yz_batterie') %} {{ states('sensor.ab123yz_batterie') | int }} % {% else %}inconnu.{% endif %}
          title: Arrêt automatique de la charge de la Zoé AB-123-YZ

  # ==================================================================
  # Cette automatisation permet de notifier le démarrage d'une charge
  # ==================================================================
  - id: ab_123_yz_car_start_charging
    alias: "AB-123-YZ - Démarrage de la charge"
    description: "Démarrage de la charge détectée par la voiture"
    mode: single
    triggers:
      - trigger: state
        entity_id:
          - binary_sensor.ab123yz_en_charge
        from:
          - "off"
        to:
          - "on"
    conditions: []
    actions:
      - action: notify.all_phones_cars
        metadata: {}
        data:
          message: |
            La charge de la Zoé AB-123-YZ a démarrée.
            Niveau de batterie : {% if has_value('sensor.ab123yz_batterie') %} {{ states('sensor.ab123yz_batterie') | int }} % {% else %}inconnu.{% endif %}
          title: Démarrage de la charge de la Zoé AB-123-YZ

  # ==================================================================
  # Cette automatisation permet de notifier le fin d'une charge
  # ==================================================================
  - id: ab_123_yz_car_stop_charging
    alias: "AB-123-YZ - Arrêt  de la charge"
    description: "Arrêt de la charge détectée par la voiture"
    mode: single
    triggers:
      - trigger: state
        entity_id:
          - binary_sensor.ab123yz_en_charge
        from:
          - "on"
        to:
          - "off"
    conditions: []
    actions:
      - action: notify.all_phones_cars
        metadata: {}
        data:
          message: |
            La charge de la Zoé AB-123-YZ est arrétée.
            Niveau de batterie : {% if has_value('sensor.ab123yz_batterie') %} {{ states('sensor.ab123yz_batterie') | int }} % {% else %}inconnu.{% endif %}
          title: Arrêt de la charge de la Zoé AB-123-YZ

  # ==================================================================
  # Cette automatisation permet de remettre la voiture en charge
  # instantanée lorsque la voiture est débranchée
  # ==================================================================
  - id: ab_123_yz_car_unplugged
    alias: "AB-123-YZ - Débranchement de la voiture"
    description: "Remet la voiture en charge instantanée lorsqu'elle est débranchée (ne fonctionne qu'après une charge)"
    mode: single
    triggers:
      - trigger: state
        entity_id:
          - binary_sensor.ab123yz_prise
        to:
          - "off"
    conditions: []
    action:
      - service: script.manual_ab_123_yz_instant_charging
        data: {}
      - action: notify.all_phones_cars
        data:
          message: |
            La Zoé repasse en mode 'charge instantanée'.
          title: Débranchement de la Zoé AB-123-YZ

Reste à faire fonctionner l’arrêt de la charge et ce serait parfait !