Salut à tous,
En ces temps d’électrification du parc automobile, je me suis dit que partager mon installation de borne de charge pourrait en aider/inspirer certains.
J’en avais parlé brièvement dans un autre sujet, mais voici enfin un retour complet.
Depuis, j’ai acquis une BMW i4 eDrive 40 (et non une Tesla, avec laquelle j’hésitais).
Quelle machine, pleine de technologies ! ![]()
- Achat de la borne Feyree
Il existe plusieurs puissances disponibles.
Avec mon installation électrique privée assez limitée (ancien compteur 30A délivrant 6900W max sous 230V), j’ai choisi une borne Feyree 7KW.
Actuellement à 160 € sur AliExpress, son rapport qualité/prix est imbattable.
Elle permet un réglage de 8A à 32A par pas de 1A.
Lien vers la borne : feyree Tragbares EV-Ladegerät Typ2 32A 7KW Schnellladung für Elektrofahrzeuge APP-WLAN-Steuerung per Einstellstrom- und Ladezeit - AliExpress 34
- Installation électrique
J’avais déjà un tableau secondaire installé dans le garage, commandable via un sectionneur situé dans le tableau principal.
Le tableau secondaire est conforme aux normes, protégé par un disjoncteur différentiel, et la borne est raccordée via un disjoncteur 40A (je n’atteindrai jamais cette intensité).
Le câblage est fait en 10 mm² (comme entre le compteur et le tableau principal).
Distance borne ↔ tableau principal : ~25m.
Quelques précautions à prendre :
- Vérifiez les résistances de câbles pour éviter les surchauffes.
- Prenez en compte la production photovoltaïque si vous êtes équipés : chez moi, je peux produire 5kW tout en chargeant la voiture à 6kW.
La borne Feyree est prévue pour du câble en 6 mm².
Le câble fourni étant trop court, j’ai dû réaliser un raccord via 3 borniers DIN 6-10 mm² :
En-dessous du tableau électrique, j’ai également installé un Magic WiFi 6 (CPL) pour assurer une connexion optimale à la borne (qui ne possède pas de prise RJ45).
- Récupérer les informations des capteurs et les commandes dans Home Assistant
La récupération des capteurs et commandes se fait via Tuya Local.
Attention : à ne pas confondre avec Local Tuya (plus complexe à configurer).
Suivez ce guide pour l’intégration : Feyree Fey123 : intégration dans HA via Tuya Local
Avant cela, il faut correctement intégrer Tuya dans Home Assistant, en suivant ce tuto (par @MakerNix ) : Tuya sur Home Assistant
- Mettre en place une gestion dynamique de la charge pour une sécurité et une efficacité maximale
Pour éviter de surcharger mon installation, j’ai d’abord créé un tableau Excel basé sur mon compteur 30A monophasé.
Les seuils calculés apparaissent en jaune :
Finalement, j’ai simplifié l’automatisation, car :
- Trop d’ordres répétés font parfois bugger la borne.
- Lorsqu’un gros appareil est allumé, la consommation oscille avant de se stabiliser → besoin d’attendre avant de réagir.
Le compteur tolère quelques dépassements temporaires, ce qui m’a permis de rendre mon automatisation plus robuste.
Création de templates dans Home Assistant :
a) Puissance disponible pour la borne :
{% set P_total = states('sensor.shellyproem50_em0_power') | float(0) %}
{% set P_borne = (states('sensor.ev_charger_puissance') | float(0)) * 1000 %}
{% set P_maison = [P_total - P_borne, 0] | max %}
{% set P_dispo = 6900 - P_maison %}
{{ [P_dispo, 0] | max }}
b) Ampères disponibles pour la borne:
{% set P_dispo = states('sensor.puissance_dispo_pour_ev_charger') | float(0) %}
{% set amp_dispo = (P_dispo / 230) | round(0, 'floor') %}
{% set steps = [8, 12, 16, 20, 24, 28, 32] %}
{% if amp_dispo < 10 %}
8
{% else %}
{% set valid = steps | select('le', amp_dispo) | list %}
{{ valid[-1] if valid else 8 }}
{% endif %}
Mon automatisation finale, stable, testée (four en fonctionnement pendant la charge, etc.) :
alias: Auto_Borne_Charge
description: >-
Ajuster la borne de charge en fonction de la puissance disponible dans la
maison.
triggers:
- trigger: time_pattern
seconds: /30
- value_template: >
{{ states('sensor.i4_edrive40_remaining_battery_percent') | int >=
states('sensor.i4_edrive40_charging_target') | int }}
trigger: template
- trigger: numeric_state
entity_id:
- sensor.ev_charger_amperage_dispo
below: 10
conditions:
- condition: or
conditions:
- condition: state
entity_id: sensor.ev_charger_status
state: plugged_in
- condition: state
entity_id: sensor.ev_charger_status
state: charging
- condition: state
entity_id: sensor.ev_charger_status
state: charged
actions:
- choose:
- conditions:
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.i4_edrive40_charging_target
above: sensor.i4_edrive40_remaining_battery_percent
- condition: numeric_state
entity_id: sensor.ev_charger_amperage_dispo
above: 10
sequence:
- if:
- condition: not
conditions:
- condition: state
entity_id: select.ev_charger_toggle_charging
state: Start charging
then:
- target:
entity_id: select.ev_charger_toggle_charging
data:
option: Start charging
action: select.select_option
- if:
- condition: template
value_template: >-
{{ (states('number.ev_charger_set_charge_current') |
int(default=0)) !=
(states('sensor.ev_charger_amperage_dispo') | int(default=12)) }}
then:
- target:
entity_id: number.ev_charger_set_charge_current
data:
value: >-
{{ states('sensor.ev_charger_amperage_dispo') |
int(default=12) }}
action: number.set_value
- conditions:
- condition: or
conditions:
- condition: template
value_template: >
{{ states('sensor.i4_edrive40_remaining_battery_percent') |
int >= states('sensor.i4_edrive40_charging_target') | int }}
- condition: numeric_state
entity_id: sensor.ev_charger_amperage_dispo
below: 10
sequence:
- target:
entity_id: select.ev_charger_toggle_charging
data:
option: Stop charging
action: select.select_option
mode: restart
- Affichage dans Home Assistant
Voiture non en charge :

Voiture en charge :

Une information disponible apparaît automatiquement en plus: c’est heure finale de la charge pour atteindre la cible.
Et voici le code de mon tableau de bord :
type: custom:vertical-stack-in-card
cards:
- type: horizontal-stack
cards:
- type: custom:mushroom-template-card
entity: sensor.i4_edrive40_mileage
icon: mdi:car-electric
icon_color: |-
{% if states('sensor.ev_charger_status') == 'charging' %} orange
{% else %} white
{% endif %}
primary: >-
Charge | {{ states('sensor.i4_edrive40_remaining_battery_percent') |
float(0) | int }}% | {{
states('sensor.i4_edrive40_remaining_range_total') | float(0) | int
}}Km
secondary: >-
{{ states('sensor.ev_charger_puissance_w') | float(0) | int }}W | {{
states('sensor.ev_charger_current_l1') | float(0) | int }}A {% if
states('sensor.ev_charger_status') == 'charging' %} | {{
as_timestamp(states('sensor.i4_edrive40_charging_end_time')) |
timestamp_custom('%H:%M') }} {% endif %}
tap_action:
action: more-info
entity: sensor.i4_edrive40_mileage
card_mod:
style: |
ha-card {
padding: 0px;
min-height: 35px;
border: none !important;
box-shadow: none !important;
}
ha-state-icon {
{% if states('sensor.ev_charger_status') == 'charging' %}
animation: blink 1s infinite;
{% endif %}
}
@keyframes blink {
0% { opacity: 1; }
50% { opacity: 0.5; }
100% { opacity: 1; }
}
- type: custom:mushroom-number-card
entity: number.i4_edrive40_target_soc
icon: mdi:battery-charging
icon_color: white
name: Target
display_mode: buttons
layout: horizontal
secondary_info: none
card_mod:
style: |
ha-card {
padding: 0px;
min-height: 35px;
border: none !important;
box-shadow: none !important;
}


