Aller au contenu

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

  1. Aller dans ParamètresAppareils et services
  2. Cliquer sur + Ajouter une intégration
  3. Rechercher Wallbox
  4. Entrer les identifiants du compte myWallbox :
  5. Email
  6. 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 :

  1. Intégration native Wallbox : Pour le verrouillage et les données cloud
  2. 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