Bonjour à toutes et tous,
D’abord, merci pour ce sujet !
J’ai commandé le chargeur AFEEV 3.5/7KW chargeur EV Portable Type2 IEC62196-2 chargeur de voiture électrique 16A EVSE câble de charge rapide WiFi APP contrôle Bluetooth - AliExpress 34
J’ai une installation Sofar Solar avec un onduleur ESI 6K-S1 et un pack de batteries BTS-5K.
J’ai relié le tout sur HA via Solarman : GitHub - davidrapan/ha-solarman: ⚡ Solarman Stick Logger integration for 🏡 Home Assistant (rafraichissement toutes les 5s environs, c’est top !) pour le photovoltaïque et Tuya Local : GitHub - make-all/tuya-local: Local support for Tuya devices in Home Assistant pour le chargeur EV.
Avec l’aide de ChatGPT O4 mini High, voici les automations de gestion de la charge, des notifications d’arrêt et de démarrage de la charge, en incluant un retour d’information sur les sécurité (Problème, t°…) (V.2) :
alias: 🚗⚡ Charge EV selon PV & Batterie
description: >
Toutes les 5 minutes (seulement à la seconde 0) : 1) stop si PV<1200 W ou
SOC≤40 % ou batterie en décharge (uniquement si en charge) 2) avertit si
PV≥1400 W & 40 %<SOC<60 % & maison & non branchée 3) règle le courant +
démarre si PV≥1400 W & SOC≥60 % & maison & branchée
& pas de problème & T° OK & batterie non en décharge
triggers:
- minutes: /5
seconds: "0"
trigger: time_pattern
actions:
- choose:
- conditions:
- condition: or
conditions:
- condition: template
value_template: "{{ pv_power < 1200 }}"
- condition: numeric_state
entity_id: sensor.inverter_battery
below: 41
- condition: template
value_template: "{{ battery_power < -1500 }}"
- condition: state
entity_id: switch.ev_charger
state: "on"
sequence:
- target:
entity_id: switch.ev_charger
action: switch.turn_off
data: {}
- conditions:
- condition: device
device_id: [ID Device à Tracker]
domain: device_tracker
entity_id: [ID Entité à Tracker]
type: is_home
- condition: numeric_state
entity_id: sensor.inverter_battery
above: 40
below: 60
- condition: numeric_state
entity_id: sensor.inverter_pv_power
above: 1399
- condition: state
entity_id: binary_sensor.ev_charger_connectivite
state: "off"
sequence:
- data:
title: Voiture non branchée
message: >
PV={{ pv_power }} W SOC={{ battery_soc }} % : merci de
brancher la voiture.
action: notify.phones
- conditions:
- condition: device
device_id: [ID Device à Tracker]
domain: device_tracker
entity_id: [ID Entité à Tracker]
type: is_home
- condition: state
entity_id: binary_sensor.ev_charger_connectivite
state: "on"
- condition: state
entity_id: binary_sensor.ev_charger_probleme
state: "off"
- condition: numeric_state
entity_id: sensor.ev_charger_temperature
above: -30
- condition: numeric_state
entity_id: sensor.ev_charger_temperature
below: 50
- condition: numeric_state
entity_id: sensor.inverter_battery
above: 59
- condition: numeric_state
entity_id: sensor.inverter_pv_power
above: 1399
- condition: template
value_template: "{{ battery_power >= 0 }}"
sequence:
- target:
entity_id: number.ev_charger_charging_current
data:
value: |
{{ current_map[
(current_map.keys()
| select("le", pv_power)
| max)
] }}
action: number.set_value
- condition: state
entity_id: switch.ev_charger
state: "off"
- target:
entity_id: switch.ev_charger
action: switch.turn_on
data: {}
default: []
variables:
pv_power: "{{ states('sensor.inverter_pv_power') | float }}"
battery_power: "{{ states('sensor.inverter_battery_power')| float }}"
battery_soc: "{{ states('sensor.inverter_battery') | float }}"
current_map: |
{{ {
1800: 6, 2100: 7, 2500: 8, 2700: 9,
3000:10, 3300:11, 3600:12, 3800:13,
4200:14, 4400:15, 4700:16
} }}
mode: single
En sachant qu’il faut déclarer notify.group dans configuration.yaml (puis un rechargement rapide pour la prise en compte) :
# Notifications Groupées
notify:
- name: phones # nom du groupe → service notify.phones
platform: group # plateforme “group”
services:
- service: [ID de l'entité 1 à notifier]
- service: [ID de l'entité 2 à notifier]
Puis l’automation de notification de début de charge (V.2) :
alias: 🔔 Notification Démarrage Charge EV
description: Prévient quand la charge EV démarre (stabile 10 s en ON)
triggers:
- entity_id: switch.ev_charger
from: "off"
to: "on"
for: "00:00:10"
trigger: state
actions:
- data:
title: Mise en charge EV
message: >
La charge de la voiture vient de démarrer (PV={{
states('sensor.inverter_pv_power') }} W, Batterie={{
states('sensor.inverter_battery') }} %).
action: notify.phones
mode: single
Puis l’automation de notification d’arrêt de charge suivant si elle a été initié par les conditions Photovoltaïque, si un Problème est détecté ou si la plage de T° de fonctionnement est dépassée (V.2) :
alias: 🔕 Notification Arrêt Charge EV
description: |
Préviens quand la charge EV s’arrête (stabilisé 10 s en OFF)
triggers:
- entity_id: switch.ev_charger
from: "on"
to: "off"
for: "00:00:10"
trigger: state
actions:
- data:
title: Arrêt de la charge EV
message: |-
{% if pv_power < 1200 or battery_soc <= 40 %}
Arrêt : seuil PV/SOC atteint (PV={{ pv_power }} W, Batterie={{ battery_soc }} %).
{% elif battery_power < -1500 %}
Arrêt : batterie en forte décharge ({{ battery_power }} W).
{% elif is_state('binary_sensor.ev_charger_probleme','on') %}
Arrêt : problème détecté sur le chargeur.
{% elif temp < -30 or temp > 50 %}
Arrêt : température hors plage ({{ temp }} °C).
{% else %}
Arrêt : cause non déterminée (PV={{ pv_power }} W, Batterie={{ battery_soc }} %, T°={{ temp }} °C).
{% endif %}
action: notify.phones
variables:
pv_power: "{{ states('sensor.inverter_pv_power') | float }}"
battery_soc: "{{ states('sensor.inverter_battery') | float }}"
battery_power: "{{ states('sensor.inverter_battery_power') | float }}"
temp: "{{ states('sensor.ev_charger_temperature') | float }}"
mode: single
Actuellement , cela fonctionne bien 
Si cela peut aider quelqu’un ou si vous voyez des erreurs/ajustements à faire dans les YAML…
Bonne journée