Files
EVCS/docs/MANUEL_COMPLET.md

18 KiB

Manuel Utilisateur - Système EVCS Solaire

Document généré le 17/07/2026 Projet: n8n / Home Assistant / EVCS Solaire sans injection réseau


1. Architecture Globale

┌─────────────────────────────────────────────────────────────────┐
│                         DGX Spark (10.10.10.8)                  │
│  ┌─────────────────┐    ┌─────────────────┐                     │
│  │  Qwen3.6-35B    │    │  Qwen3-VL       │                     │
│  │  (texte, code)  │    │  (vision)       │                     │
│  └────────┬────────┘    └────────┬────────┘                     │
└───────────┼──────────────────────┼──────────────────────────────┘
            │                      │
            ▼                      ▼
┌───────────────────────────────────────────────────────────────────┐
│                     opencode (minimax-m2.5)                       │
│  ┌─────────────────────────────────────────────────────────────┐ │
│  │ Skills: n8n-code-javascript, n8n-expression-syntax,         │ │
│  │         n8n-mcp-tools-expert, n8n-node-configuration,       │ │
│  │         n8n-validation-expert                               │ │
│  └─────────────────────────────────────────────────────────────┘ │
└───────────┬──────────────────────┬───────────────────────────────┘
            │                      │
            ▼                      ▼
┌──────────────────────┐    ┌──────────────────────────────────────┐
│   n8n (cloud)        │    │   Home Assistant (10.10.10.17:8123)  │
│   https://n8n.airtria.pro    │    ┌──────────────────────────────────┐ │
│  ┌────────────────┐ │    │ │ Dashboards YAML (17 fichiers)      │ │
│  │ 40 workflows   │ │    │ │ - evcs_master.yaml                 │ │
│  │ 13 actifs      │ │    │ │ - evcs_mobile.yaml                 │ │
│  └────────┬───────┘ │    │ │ - victron_master.yaml              │ │
│           │         │    │ │ - etc.                              │ │
│           ▼         │    │ └──────────────────────────────────┘ │
│  ┌────────────────┐ │    └──────────────────────────────────────┘
│  │ MCP Servers    │ │
│  │ (6 outils)     │ │
│  └────────┬───────┘ │
└───────────┼─────────┘
            │
            ▼
┌───────────────────────────────────────────────────────────────────┐
│                     Équipements physiques                          │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐               │
│  │ EVCS HQ229  │  │ Victron ESS │  │ MultiPlus   │               │
│  │ (borne VE)  │  │ (batterie)  │  │ (onduleur)  │               │
│  └─────────────┘  └─────────────┘  └─────────────┘               │
└───────────────────────────────────────────────────────────────────┘

2. Workflows n8n Actifs

2.1 Gestion Énergie (EVCS + Grid)

ID Nom Fréquence Fonction
ATswvGfG4KJUls0K HA Snapshot EVCS Surplus Controller V2.6 30s Pilotage borne EVCS, décision charge solaire/réseau
7iIlu7LLTW7TZA8o Victron - Battery / Grid Hysteresis Fix V1 1 min Hystérésis réseau EDF (ON ≤20%, OFF ≥30%)
cTeeHy4ePiVeELLh Victron - Auto Charge Manager V1.2 30s Limites DVCC batterie (MaxChargeCurrent/Voltage)

2.2 Gestion Charges

ID Nom Fréquence Fonction
2NhrfxuGm4pTUNs9 SDB Climate & Surplus Manager V2.2 1 min Pilotage chauffage SDB selon surplus
FtPVF7byhtu4o6Oh Victron - Garage Thermal Surplus Manager V2.2 1 min Gestion garage thermique
A11aOb50cGtpJmvn Water Heater Advisor V2.3 10 min Advisor ballon ECS
yX2j8m04e3pxaoQq Water Heater Advisor ECS 6 Nodes + Build + Execute 10 min Pilotage ballon ECS
YjiNCpEoVhPT8JMw Victron - Flexible Load Advisor V1 5 min Charge flexible

2.3 Advisor / Monitoring

ID Nom Fréquence Fonction
U0nRmdS9Pa0qzpWm Victron - PV Surplus Advisor V1 15 min Advisor surplus PV

2.4 MCP (Machine Communication Protocol)

ID Nom Fonction
76hHlVYIgt1lEHyR MCP - ha.get_state Lecture états HA
eeDmEICJ3ArjwpCt MCP - ha.set_helper Écriture helpers HA
uGZAOJjKegRuRNyb MCP - grid-set-state Pilotage ON/OFF réseau EDF
a92quWH4pokpIqdn MCP - victron-set-charge-limits Limites courant/tension batterie
RVTMdsvR4i8wSc18 MCP - pv.get_forecast Prévisions Forecast.Solar

3. Skills opencode

Skill Chemin Fonction
n8n-code-javascript .opencode/skills/n8n-code-javascript/SKILL.md Analyse/patch code JS dans nodes n8n
n8n-expression-syntax .opencode/skills/n8n-expression-syntax/SKILL.md Validation syntaxe {{ }}
n8n-mcp-tools-expert .opencode/skills/n8n-mcp-tools-expert/SKILL.md Utilisation outils MCP
n8n-node-configuration .opencode/skills/n8n-node-configuration/SKILL.md Configuration nœuds n8n
n8n-validation-expert .opencode/skills/n8n-validation-expert/SKILL.md Interprétation erreurs validation

4. MCP - Outils disponibles

4.1 Lecture

  • ha-get-state : Lire un état Home Assistant

    • Input: entity_id (ex: sensor.victron_battery_soc)
    • Output: état + attributs
  • pv-get-forecast : Prévisions solaires

    • Input: aucun
    • Output: today_remaining_kwh, tomorrow_kwh, tomorrow_peak_time

4.2 Écriture

  • ha-set-helper : Écrire un helper HA

    • Input: entity_id, value
  • grid-set-state : Piloter le réseau EDF

    • Input: state ('on' ou 'off')
  • victron-set-charge-limits : Limites de charge

    • Input: max_charge_current_a, max_charge_voltage_v

4.3 Workflows n8n

  • n8n-mcp : CRUD workflows
    • List workflows, get workflow, update workflow, activate/deactivate

5. Dashboards Home Assistant

5.1 Principaux

Fichier Titre Description
evcs_master.yaml EVCS Master Dashboard principal borne VE
evcs_mobile.yaml EVCS Mobile Version mobile
victron_master.yaml Victron Master Dashboard principal système Victron
victron_mobile.yaml Victron Mobile Version mobile

5.2 Debug

Fichier Titre Description
big_victron_debug.yaml Victron Debug (complet) Debug étendu
victron_debug.yaml Victron Debug Debug standard
EVCS_SOLAR.yaml EVCS Solar Vue solaire EVCS

5.3 Pilotage

Fichier Titre Description
ECS_PILOTAGE.yaml ECS Pilotage Pilotage ECS
ECS_PILOTAGE_PREMIUM.yaml ECS Pilotage Premium Pilotage ECS avancé
GARAGE_PREMIUM_PILOTAGE.yaml Garage Premium Pilotage Pilotage garage
SDB_PREMIUM_PILOTAGE.yaml SDB Premium Pilotage Pilotage SDB

5.4 Debug Premium

Fichier Titre Description
ECS_DEBUG_REGLAGES.yaml ECS Debug Réglages Debug ECS
ECS_DEBUG_REGLAGES_PREMIUM.yaml ECS Debug Réglages Premium Debug ECS avancé
GARAGE_DEBUG_PREMIUM.yaml Garage Debug Premium Debug garage
SDB_DEBUG_PREMIUM.yaml SDB Debug Premium Debug SDB

6. Helpers Home Assistant (principaux)

6.1 Configuration EVCS

Entity ID Type Description
input_select.victron_evcs_strategy select Stratégie (auto_solar_plus, force_grid_now, etc.)
input_number.victron_evcs_required_energy_kwh number Énergie demandée (kWh)
input_boolean.victron_evcs_departure_priority_enabled boolean Priorité départ
input_datetime.victron_evcs_departure_time datetime Heure de départ
input_boolean.victron_evcs_allow_grid_hc_night boolean Réseau HC nuit
input_boolean.victron_evcs_allow_grid_hc_midday boolean Réseau HC midi
input_boolean.victron_evcs_surplus_auto_enabled boolean Contrôleur surplus actif

6.2 État système

Entity ID Type Description
input_text.victron_evcs_operating_mode text Profil actif
input_text.victron_evcs_surplus_state text État interne
input_text.victron_evcs_surplus_current_decision text Décision logique
input_text.victron_evcs_source_mode text Source autorisée (Solaire/Réseau)
input_text.victron_evcs_surplus_reason text Raison courte
input_text.victron_evcs_last_block_reason text Dernier blocage

6.3 Paramètres seuils

Entity ID Type Description Valeur actuelle
input_number.victron_evcs_soc_start_min number Seuil SOC démarrage 80%
input_number.victron_evcs_soc_stop_min number Seuil SOC arrêt 70%
input_number.victron_evcs_midday_soc_min number Seuil SOC midi 75%
input_number.victron_evcs_night_target_soc number Cible SOC nuit 70%
input_number.evcs_plafond_courant_edf_on number Plafond EDF ON 20A
input_number.victron_evcs_current_max_auto_a number Plafond modes auto 22A

6.4 Hystérésis réseau

Entity ID Type Description
input_boolean.victron_grid_hysteresis_latch boolean Latch hystérésis
input_boolean.victron_evcs_night_session_active boolean Session nuit active
input_boolean.victron_evcs_night_grid_takeover_needed boolean Takeover réseau nuit

7. Capteurs clés (lecture seule)

Entity ID Description
sensor.victron_battery_soc SOC batterie (%)
sensor.victron_battery_current Courant batterie (A)
sensor.victron_pv_power_system Puissance PV totale (W)
sensor.victron_consumption_power_l1 Consommation maison (W)
sensor.victron_grid_power_l1 Puissance réseau (W)
sensor.victron_evcs_current Courant EVCS réel (A)
sensor.victron_evcs_set_current Consigne lue borne (A)
sensor.victron_evcs_ac_power Puissance EVCS (W)
sensor.victron_evcs_charging_time Durée de charge
sensor.victron_evcs_statut_fr Statut FR borne
sensor.victron_evcs_mode_fr Mode FR borne
switch.edf_general_ok_switch Interrupteur réseau EDF
binary_sensor.victron_evcs_vehicle_connected Véhicule connecté
binary_sensor.victron_evcs_device_connected Borne détectée

8. Scripts HA

Script Fonction
script.evcs_boost_edf BOOST EDF 28A (plafonds 28A + force_grid_now)
script.evcs_boost_off Retour normal (plafonds 20/22 + auto_solar_plus)
script.edf_urgence_off EDF Urgence OFF (hystérésis OFF + latch OFF + stratégie stop)
script.edf_force_on EDF forcé ON
script.edf_rendre_la_main Rendre la main au système auto

9. Stratégies de charge

Stratégie Description SourceMode Conditions
auto_solar_plus Solaire uniquement + assistance batterie haute solar_only / solar_potential SOC ≥ 90% + dette nuageuse faible
auto_solar Solaire classique solar_only -
force_grid_now Préservation batterie (remonter à seuil) grid_forced / grid_hc_allowed Si SOC < 22% → remonter à 35% été / 50% mi-saison / 75% hiver
force_charge_now Charge immédiate (solution de secours manuelle) solar_only si possible, grid_forced si SOC < 35% À la discrétion du conducteur qui doit prendre sa voiture
stop Arrêt complet - -

10. Profils temporels

Profil Horaire Description
morning_solar 07:30 - 11:00 Fenêtre solaire matin
midday_hc_or_solar 12:24 - 14:24 HC midi ou solaire
evening_high_soc 17:00 - 20:30 Soir haute priorité SOC
night_hc 01:24 - 07:24 Heures creuses nuit
outside_window Autres Hors fenêtres → Mode probe (sonde) pour relancer le PV si besoin

11. Logique de décision (DECISION_ENGINEV2)

11.1 Garde-fous (Safety)

  • commonSafetyStartOk : Vérifications sécurité au démarrage
  • commonSafetyHoldOk : Vérifications sécurité au maintien
  • mustStopHard : Arrêt d'urgence (batterie basse, surcharge)

11.2 Conditions de démarrage

Condition Seuil Description
solarStartOk SOC ≥ profil + PV ≥ 1000W Démarrage solaire
gridStartOk SOC ≤ 35% + réseau dispo Démarrage réseau
batteryAssistSolarStartOk SOC ≥ 90% + dette nuageuse faible Assistance batterie solaire
probeStartOk Mode probe actif Sonde PV

11.3 Step-up / Step-down

  • Step-up : Augmente le courant si PV suffisant ou batterie en charge
  • Step-down : Diminue si batterie décharge trop ou dette nuageuse

11.4 Cloud Debt (Dette Nuageuse) & Probe

Problème

Quand les batteries sont pleines (SOC > 90%) et que la maison consomme peu (< 1200W), le MPPT de l'onduleur Victron se bride à la consommation maison uniquement. Le PV visible reste bas tant que l'EVCS ne démarre pas.

Dette Nuageuse

  • Définition : La batterie se décharge pour alimenter la maison + VE sans production PV suffisante
  • Seuil max : 1.5 kWh
  • Durée max : 30 min
  • Cette dette doit être "remboursée" par du surplus PV ultérieur

Mode Probe (Sonde)

  • Principe : Lancer la borne à 10A pour "provoquer" une production PV qui va s'adapter en quelques secondes
  • Courant probe : 10A (augmenté de 6A à 10A)
  • Durée probe : 3 minutes
  • Retry : 45 minutes si échec
  • Activation : En dehors des fenêtres définies (outside_window) ou lors de passages nuageux

Bypass outside_window

En mode auto_solar_plus ou force_charge_now, le profil outside_window ne bloque plus la charge solaire locale si :

  • SOC batterie ≥ 90%
  • Forecast solaire fort
  • Maison consommation faible

11.5 Logique Heure de départ (Night EVCS)

Objectif

S'assurer que le véhicule est chargé avant l'heure de départ prévue.

Comportement

Scénario Action
Heure départ proche + batteries suffisantes Charge solaire prioritaire
Heure départ proche + batteries insuffisantes grid_forced (HC) si disponible
Heure départ proche + pas de HC grid_forced (plein tarif)

Paramètres

  • batteryHardFloorPct : Plancher dur batterie (ex: 22%)
  • batteryMorningTargetPct : Objectif SOC matin selon forecast
    • Forecast fort (> 15 kWh) : 40%
    • Forecast moyen (8-15 kWh) : 50%
    • Forecast faible (< 8 kWh) : 75%
  • gridTakeoverTriggerPct : Seuil de basculement réseau
  • batteryRecoveryUrgent : Si temps restant < temps de charge nécessaire

12. Configuration opencode.json

{
  "provider": {
    "openrama": {
      "models": {
        "minimax-m2.5": { "name": "minimax-m2.5" }
      }
    },
    "qwen-dgx-vl": {
      "models": {
        "qwen3-vl": { "attachment": true, "modalities": {"input": ["text","image"]} },
        "qwen3.6-35b": { "options": { "temperature": 0.15, "reasoningEffort": "none" } }
      }
    }
  },
  "mcp": {
    "n8n-mcp": { "type": "local", "command": ["npx", "-y", "n8n-mcp-server"] },
    "ha-get-state": { "type": "remote", "url": "https://n8n.airtria.pro/mcp/..." },
    "ha-set-helper": { "type": "remote", "url": "https://n8n.airtria.pro/mcp/..." },
    "grid-set-state": { "type": "remote", "url": "https://n8n.airtria.pro/mcp/grid-set-state/sse" },
    "victron-set-charge-limits": { "type": "remote", "url": "https://n8n.airtria.pro/mcp/..." },
    "pv-get-forecast": { "type": "remote", "url": "https://n8n.airtria.pro/mcp/..." }
  },
  "permission": {
    "bash": { "curl *": "deny", "wget *": "deny", "*": "ask" }
  }
}

13. Méthode de travail

13.1 Lecture d'un workflow n8n

  1. Utiliser n8n-mcp_get_workflow avec l'ID
  2. Le fichier est écrit dans ~/.local/share/opencode/tool-output/tool_*
  3. Attention : Le fichier commence par "Retrieved workflow: " AVANT le JSON
  4. Extraction par nœud :
    grep -n '"name": "NOM_DU_NOEUD"' <fichier>
    sed -n 'DEBUT,FINp' <fichier>
    

13.2 Modification

  1. TOUJOURS backup avant modification
  2. Une seule modification à la fois
  3. Vérifier avec dry-run
  4. Valider en production

13.3 Interdiction

  • JAMAIS de curl/wget direct vers HA/n8n/Victron
  • JAMAIS d'IP/URL/token inventés
  • Utiliser les MCP uniquement

14. À compléter par l'utilisateur

  • Tableau détaillé des fonctionnalités (entrées/sorties/conditions)
  • Documentation EDF Urgence (créé par FABLE)
  • Liste des incidents récurrents
  • Procédures de dépannage
  • Glossaire des termes techniques

Document généré automatiquement le 17/07/2026