Intégration Home Assistant - Wallbox Pulsar Plus
Vue d'ensemble
Cette documentation décrit l'intégration complète de la Wallbox Pulsar Plus avec Home Assistant, incluant l'intégration native Wallbox et la connexion MQTT via EVCC.
Architecture d'intégration
┌─────────────────────────────────────────────────────────────────┐
│ Home Assistant │
│ (VM 100) │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Intégration │ │ Intégration │ │
│ │ Wallbox (native) │ │ MQTT (evcc) │ │
│ └────────┬─────────┘ └────────┬─────────┘ │
│ │ │ │
└───────────┼───────────────────────┼──────────────────────────────┘
│ │
│ API Cloud │ MQTT
│ (myWallbox) │ (192.168.1.152:1883)
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Wallbox │ │ EVCC │
│ Pulsar Plus │◄──────│ (LXC 132) │
│ (Wi-Fi) │ API │ │
└───────────────┘ └───────────────┘
Méthode 1 : Intégration native Wallbox
Installation
- Aller dans Paramètres → Appareils et services
- Cliquer sur + Ajouter une intégration
- Rechercher Wallbox
- Entrer les identifiants du compte myWallbox :
- Email
- Mot de passe
Entités créées
| Entité |
Type |
Description |
sensor.wallbox_charging_power |
Capteur |
Puissance instantanée (kW) |
sensor.wallbox_charging_speed |
Capteur |
Courant de charge (A) |
sensor.wallbox_added_energy |
Capteur |
Énergie de la session (kWh) |
sensor.wallbox_added_range |
Capteur |
Autonomie ajoutée (km) |
sensor.wallbox_status |
Capteur |
État de la borne |
sensor.wallbox_max_charging_current |
Capteur |
Courant max configuré |
lock.wallbox_lock |
Verrou |
Verrouillage de la borne |
switch.wallbox_pause_resume |
Interrupteur |
Pause/reprise de charge |
number.wallbox_max_charging_current |
Nombre |
Réglage courant max (A) |
États de charge
| Valeur |
Signification |
waiting |
En attente (pas de véhicule) |
ready |
Prêt (véhicule connecté) |
charging |
Charge en cours |
paused |
Charge en pause |
scheduled |
Charge programmée |
error |
Erreur |
Avantages
- ✅ Installation simple via UI
- ✅ Entités auto-découvertes
- ✅ Contrôle pause/reprise natif
- ✅ Historique automatique
Inconvénients
- ❌ Dépend du cloud myWallbox
- ❌ Pas de gestion du surplus solaire
- ❌ Latence API (quelques secondes)
Méthode 2 : Intégration EVCC via MQTT (recommandé)
Configuration EVCC
EVCC publie automatiquement ses données sur MQTT. Configurer dans /etc/evcc.yaml :
mqtt:
broker: 192.168.1.152:1883 # Broker HA (Zigbee2MQTT)
topic: evcc
# user: "" # Si authentification requise
# password: ""
Topics MQTT publiés
Site (installation globale)
| Topic |
Description |
Exemple |
evcc/site/gridPower |
Puissance réseau (W) |
1234.5 |
evcc/site/pvPower |
Production PV (W) |
3456.7 |
evcc/site/batteryPower |
Puissance batterie (W) |
-500 (charge) |
evcc/site/batterySoc |
SoC batterie maison (%) |
75 |
evcc/site/homePower |
Consommation maison (W) |
890.1 |
Loadpoint (point de charge)
| Topic |
Description |
Exemple |
evcc/loadpoints/1/charging |
Charge en cours |
true |
evcc/loadpoints/1/chargePower |
Puissance de charge (W) |
7400 |
evcc/loadpoints/1/chargedEnergy |
Énergie chargée session (kWh) |
12.5 |
evcc/loadpoints/1/chargeDuration |
Durée de charge (ns) |
3600000000000 |
evcc/loadpoints/1/mode |
Mode actuel |
pv |
evcc/loadpoints/1/phases |
Phases actives |
3 |
evcc/loadpoints/1/activePhases |
Phases utilisées |
3 |
evcc/loadpoints/1/minCurrent |
Courant minimum (A) |
6 |
evcc/loadpoints/1/maxCurrent |
Courant maximum (A) |
32 |
evcc/loadpoints/1/enabled |
Point de charge actif |
true |
Véhicule
| Topic |
Description |
Exemple |
evcc/loadpoints/1/vehicleSoc |
SoC véhicule (%) |
65 |
evcc/loadpoints/1/vehicleRange |
Autonomie (km) |
280 |
evcc/loadpoints/1/vehiclePresent |
Véhicule connecté |
true |
evcc/loadpoints/1/vehicleTitle |
Nom du véhicule |
Nissan Ariya |
Topics MQTT de commande
| Topic |
Valeurs |
Description |
evcc/loadpoints/1/mode/set |
pv, minpv, now, off |
Changer le mode |
evcc/loadpoints/1/minSoc/set |
0-100 |
SoC minimum |
evcc/loadpoints/1/targetSoc/set |
0-100 |
SoC cible |
evcc/loadpoints/1/minCurrent/set |
6-32 |
Courant minimum |
evcc/loadpoints/1/maxCurrent/set |
6-32 |
Courant maximum |
Configuration Home Assistant
Capteurs MQTT
Ajouter dans configuration.yaml ou via l'UI MQTT :
mqtt:
sensor:
# Site
- name: "EVCC Grid Power"
state_topic: "evcc/site/gridPower"
unit_of_measurement: "W"
device_class: power
state_class: measurement
unique_id: evcc_grid_power
- name: "EVCC PV Power"
state_topic: "evcc/site/pvPower"
unit_of_measurement: "W"
device_class: power
state_class: measurement
unique_id: evcc_pv_power
- name: "EVCC Battery Power"
state_topic: "evcc/site/batteryPower"
unit_of_measurement: "W"
device_class: power
state_class: measurement
unique_id: evcc_battery_power
- name: "EVCC Battery SoC"
state_topic: "evcc/site/batterySoc"
unit_of_measurement: "%"
device_class: battery
unique_id: evcc_battery_soc
# Loadpoint
- name: "EVCC Charge Power"
state_topic: "evcc/loadpoints/1/chargePower"
unit_of_measurement: "W"
device_class: power
state_class: measurement
unique_id: evcc_charge_power
- name: "EVCC Charged Energy"
state_topic: "evcc/loadpoints/1/chargedEnergy"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
unique_id: evcc_charged_energy
- name: "EVCC Mode"
state_topic: "evcc/loadpoints/1/mode"
unique_id: evcc_mode
- name: "EVCC Vehicle SoC"
state_topic: "evcc/loadpoints/1/vehicleSoc"
unit_of_measurement: "%"
device_class: battery
unique_id: evcc_vehicle_soc
- name: "EVCC Vehicle Range"
state_topic: "evcc/loadpoints/1/vehicleRange"
unit_of_measurement: "km"
icon: mdi:map-marker-distance
unique_id: evcc_vehicle_range
binary_sensor:
- name: "EVCC Charging"
state_topic: "evcc/loadpoints/1/charging"
payload_on: "true"
payload_off: "false"
device_class: battery_charging
unique_id: evcc_charging
- name: "EVCC Vehicle Connected"
state_topic: "evcc/loadpoints/1/vehiclePresent"
payload_on: "true"
payload_off: "false"
device_class: plug
unique_id: evcc_vehicle_connected
Select pour le mode de charge
mqtt:
select:
- name: "EVCC Charge Mode"
state_topic: "evcc/loadpoints/1/mode"
command_topic: "evcc/loadpoints/1/mode/set"
options:
- "pv"
- "minpv"
- "now"
- "off"
unique_id: evcc_charge_mode
icon: mdi:ev-station
Number pour les seuils
mqtt:
number:
- name: "EVCC Target SoC"
state_topic: "evcc/loadpoints/1/targetSoc"
command_topic: "evcc/loadpoints/1/targetSoc/set"
min: 0
max: 100
step: 5
unit_of_measurement: "%"
unique_id: evcc_target_soc
icon: mdi:battery-charging-high
- name: "EVCC Min SoC"
state_topic: "evcc/loadpoints/1/minSoc"
command_topic: "evcc/loadpoints/1/minSoc/set"
min: 0
max: 100
step: 5
unit_of_measurement: "%"
unique_id: evcc_min_soc
icon: mdi:battery-alert
Avantages MQTT/EVCC
- ✅ Données locales (pas de cloud)
- ✅ Latence minimale (~1s)
- ✅ Gestion intelligente du surplus solaire
- ✅ Contrôle complet via MQTT
- ✅ Intégration avec batterie Zendure
Automatisations
Notification début de charge
alias: "EV - Notification début charge"
description: "Notifie quand la charge démarre"
trigger:
- platform: state
entity_id: binary_sensor.evcc_charging
from: "off"
to: "on"
condition: []
action:
- service: notify.mobile_app_telephone
data:
title: "🔌 Charge Ariya"
message: >
Début de charge en mode {{ states('sensor.evcc_mode') }}.
SoC actuel : {{ states('sensor.evcc_vehicle_soc') }}%
data:
tag: ev_charging
mode: single
Notification fin de charge
alias: "EV - Notification fin charge"
description: "Notifie quand la charge se termine"
trigger:
- platform: state
entity_id: binary_sensor.evcc_charging
from: "on"
to: "off"
condition:
- condition: state
entity_id: binary_sensor.evcc_vehicle_connected
state: "on"
action:
- service: notify.mobile_app_telephone
data:
title: "✅ Charge terminée"
message: >
Ariya chargée à {{ states('sensor.evcc_vehicle_soc') }}%.
Énergie ajoutée : {{ states('sensor.evcc_charged_energy') }} kWh
Autonomie : {{ states('sensor.evcc_vehicle_range') }} km
data:
tag: ev_charging
mode: single
Alerte charge interrompue
alias: "EV - Alerte charge interrompue"
description: "Alerte si la charge s'arrête avec SoC bas"
trigger:
- platform: state
entity_id: binary_sensor.evcc_charging
from: "on"
to: "off"
for:
minutes: 5
condition:
- condition: numeric_state
entity_id: sensor.evcc_vehicle_soc
below: 50
- condition: state
entity_id: binary_sensor.evcc_vehicle_connected
state: "on"
action:
- service: notify.mobile_app_telephone
data:
title: "⚠️ Charge interrompue"
message: >
La charge s'est arrêtée à {{ states('sensor.evcc_vehicle_soc') }}%.
Vérifiez l'état de la borne.
data:
tag: ev_alert
importance: high
mode: single
Rapport quotidien
alias: "EV - Rapport quotidien"
description: "Envoie un résumé quotidien de charge"
trigger:
- platform: time
at: "20:00:00"
condition:
- condition: template
value_template: "{{ states('sensor.evcc_charged_energy') | float > 0 }}"
action:
- service: notify.mobile_app_telephone
data:
title: "📊 Résumé charge du jour"
message: >
Énergie chargée : {{ states('sensor.evcc_charged_energy') }} kWh
SoC Ariya : {{ states('sensor.evcc_vehicle_soc') }}%
Autonomie : {{ states('sensor.evcc_vehicle_range') }} km
Mode utilisé : {{ states('sensor.evcc_mode') }}
mode: single
Passage automatique en mode PV le matin
alias: "EV - Mode PV automatique"
description: "Passe en mode PV si véhicule connecté le matin"
trigger:
- platform: time
at: "08:00:00"
condition:
- condition: state
entity_id: binary_sensor.evcc_vehicle_connected
state: "on"
- condition: numeric_state
entity_id: sensor.evcc_vehicle_soc
below: 80
action:
- service: mqtt.publish
data:
topic: evcc/loadpoints/1/mode/set
payload: pv
mode: single
Troubleshooting
L'intégration Wallbox ne se connecte pas
| Problème |
Cause |
Solution |
| Erreur d'authentification |
Identifiants incorrects |
Vérifier email/mot de passe myWallbox |
| Timeout |
Serveur myWallbox indisponible |
Réessayer plus tard |
| Borne non trouvée |
Borne non associée au compte |
Vérifier dans l'app myWallbox |
Les entités MQTT ne se mettent pas à jour
| Problème |
Cause |
Solution |
| Pas de données |
EVCC non configuré MQTT |
Vérifier /etc/evcc.yaml |
| Topics vides |
EVCC non démarré |
systemctl status evcc |
| Connexion refusée |
Broker MQTT inaccessible |
Vérifier connectivité |
Commandes de diagnostic
# Vérifier EVCC
ssh root@192.168.1.32 "pct exec 132 -- systemctl status evcc"
# Voir les logs EVCC
ssh root@192.168.1.32 "pct exec 132 -- journalctl -u evcc -f"
# Tester publication MQTT
ssh root@192.168.1.32 "pct exec 132 -- evcc mqtt"
# Écouter les messages MQTT
mosquitto_sub -h 192.168.1.152 -t "evcc/#" -v
# Tester une commande MQTT
mosquitto_pub -h 192.168.1.152 -t "evcc/loadpoints/1/mode/set" -m "pv"
Vérifier la configuration MQTT dans EVCC
ssh root@192.168.1.32 "pct exec 132 -- grep -A5 mqtt /etc/evcc.yaml"
Comparaison des méthodes
| Critère |
Intégration native |
EVCC + MQTT |
| Installation |
Simple (UI) |
Configuration YAML |
| Dépendance cloud |
Oui (myWallbox) |
Non (local) |
| Latence |
5-30s |
~1s |
| Surplus solaire |
Non |
Oui (natif) |
| Contrôle granulaire |
Limité |
Complet |
| Historique |
Automatique |
Via MQTT |
| Fiabilité |
Dépend du cloud |
Très fiable |
Recommandation
Utiliser les deux méthodes conjointement :
- Intégration native Wallbox : Pour le verrouillage et les données cloud
- EVCC + MQTT : Pour le contrôle intelligent et le surplus solaire
Les entités ne se chevauchent pas et offrent une couverture complète.
Liens utiles