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 !