memory
This commit is contained in:
172
MEMORY.md
Normal file
172
MEMORY.md
Normal file
@@ -0,0 +1,172 @@
|
||||
# MEMORY.md — Session du 13/06/2026
|
||||
|
||||
> Ce document résume l'analyse effectuée lors de la session précédente pour servir de mémoire pour la suite.
|
||||
|
||||
---
|
||||
|
||||
## 1. Workflows n8n pilotables par MCP (liés au projet EVCS/Victron)
|
||||
|
||||
Liste des workflows directement liés au projet EVCS/Victron dans `/mnt/projects/EVCS/EVCS` :
|
||||
|
||||
| Workflow | ID | Statut | Fonction |
|
||||
|----------|-----|--------|----------|
|
||||
| **HA Snapshot EVCS Surplus Controller V2.6** | `ATswvGfG4KJUls0K` | **Actif** | Workflow principal. Récupère snapshot HA → parse inputs → calcule fenêtres/batteries → prend décision de charge → exécute appels service HA. |
|
||||
| HA Snapshot EVCS Surplus Controller V2.0 | `Y4U0g0f6CsZhfhCc` | Inactif | Version précédente (avant upgrade V2.6). |
|
||||
| HA Snapshot EVCS Surplus Controller V1.2 | `xi9DyQKqF6p01lNy` | Inactif | Version legacy. |
|
||||
| Victron - EVCS Surplus Controller V1 | `XDIbH81MPoI8MWR4` | Inactif | Première version du contrôleur. |
|
||||
| **Victron - PV Surplus Advisor V1** | `U0nRmdS9Pa0qzpWm` | **Actif** | Conseiller de surplus PV. |
|
||||
| **Victron - Auto Charge Manager V1.2** | `cTeeHy4ePiVeELLh` | **Actif** | Gestionnaire de charge automatique Victron. |
|
||||
| **Victron - Battery / Grid Hysteresis Fix V1** | `7iIlu7LLTW7TZA8o` | **Actif** | Correctif d'hystérésis batterie/réseau. |
|
||||
| **Victron - Garage Thermal Surplus Manager V2.2** | `FtPVF7byhtu4o6Oh` | **Actif** | Gestionnaire de surplus thermique garage. |
|
||||
| **SDB Climate & Surplus Manager V2.2** | `2NhrfxuGm4pTUNs9` | **Actif** | Gestionnaire climat/surplus SDB. |
|
||||
| **Water Heater Advisor V2.3** | `A11aOb50cGtpJmvn` | **Actif** | Conseiller chauffe-eau. |
|
||||
| **Water Heater Advisor ECS 6 Nodes + Build + Execute** | `yX2j8m04e3pxaoQq` | **Actif** | Version 6 nœuds du conseiller ECS. |
|
||||
| **Victron - Flexible Load Advisor V1** | `YjiNCpEoVhPT8JMw` | **Actif** | Conseiller de charge flexible. |
|
||||
|
||||
**Actions MCP disponibles** : Activer/Désactiver, Mettre à jour, Exécuter, Supprimer, Consulter les exécutions.
|
||||
|
||||
---
|
||||
|
||||
## 2. Analyse de HANDOFF.md
|
||||
|
||||
Fichier lu : `/mnt/projects/EVCS/EVCS/HANDOFF.md`
|
||||
|
||||
### Contexte Projet
|
||||
- Installation **Victron ESS sans injection réseau**, batterie 17,5 kWh.
|
||||
- Workflow actif : `HA Snapshot EVCS Surplus Controller V2.6`.
|
||||
- Code source modulaire dans `/mnt/projects/EVCS/EVCS/decoupesurplus/`.
|
||||
|
||||
### Problème historique documenté (Outside-Window Solar Charging Block)
|
||||
L'après-midi, même avec **fort ensoleillement et SOC élevé (> 85%)**, l'EVCS restait bloqué en :
|
||||
- **Profil** : `outside_window`
|
||||
- **Décision** : `stop_hard` / `blocked`
|
||||
- **Source** : `Bloqué`
|
||||
|
||||
### Root Cause identifiée dans HANDOFF.md
|
||||
1. **Seuils PV trop élevés** : `pvStartMinW = 1800W`, `pvHoldMinW = 1200W`. Sans injection, MPPT régule PV à la charge maison (~800W) → seuils jamais atteints.
|
||||
2. **Cloud Debt bloquant** : `cloudDebtPrevKwh = 1.66 kWh` > `cloudDebtMaxKwh = 1.2 kWh` → `cloudDebtOkForPotential = false`.
|
||||
3. **Aucune probe en `outside_window`** : Sondes uniquement pour `morning_solar` et `midday_hc_or_solar`. Trou de 14:24→17:00 sans mécanisme de test.
|
||||
|
||||
### Corrections déjà déployées en V2.6
|
||||
- **Bug EDF corrigé** : Switch `edf_general_ok_switch` clignotait ON/OFF toutes les 30s. Fix=conditionner l'appel au `sourceMode`.
|
||||
- **Feature `afternoon_probe` déployée** : Nouvelle sonde pour l'après-midi.
|
||||
|
||||
### Workflows MCP tests
|
||||
- `TEST - Tous les appels HA (complet)` (ID: `18dOsLJmqtSo3Nek`) — Inactif
|
||||
- `TEST - Tous les appels HA` (ID: `QtWF02XU5e6cHFTk`) — Inactif
|
||||
- `MCP - ha.get_state` (ID: `76hHlVYIgt1lEHyR`) — Inactif
|
||||
- `MCP - ha.set_helper` (ID: `eeDmEICJ3ArjwpCt`) — Inactif
|
||||
- `MCP - ha.call_service` (ID: `tZSzbVG1dxBkYT4y`) — Inactif
|
||||
- `MCP - grid.set_state` (ID: `uGZAOJjKegRuRNyb`) — Inactif
|
||||
- `MCP - pv.get_forecast` (ID: `RVTMdsvR4i8wSc18`) — Inactif
|
||||
- `MCP - victron.set_charge_limits` (ID: `a92quWH4pokpIqdn`) — Inactif
|
||||
|
||||
---
|
||||
|
||||
## 3. Description des captures d'écran analysées
|
||||
|
||||
### Image 1 : Vue exécution nœud `Build EVCS Surplus Controller V2.0 Actions` (onglet Output)
|
||||
- **Workflow** : `HA Snapshot EVCS Surplus Controller V2.6`
|
||||
- **Pipeline visible** : `Schedule Trigger` → `HA Snapshot` → `INPUT_PARSE` → `WINDOWS_SOURCEV2` → `BATTERY_CLOUD_LOCKS` → `DECISION_ENGIN` → `HA_SERVICE_CALLS_OUTPUT` → `Build EVCS...` → `Execute HA Service`
|
||||
- **Nœud sélectionné** : `Build EVCS Surplus Controller V2.0 Actions` — Success in 13ms, 27 items output.
|
||||
- **Timestamp** : `2026-06-13 00:05:30`
|
||||
- **État observé** :
|
||||
- `helper_state` = `vehicle_not_connected`
|
||||
- `helper_current_decision` = `stop_not_connected`
|
||||
- `helper_reason` = `Véhicule ou borne non connecté | ... | Stratégie=auto_solar_plus | Profil=outside_window | Source=blocked | Mode=battery_priority_mod`
|
||||
- `helper_operating_mode` = `outside_window`
|
||||
- `helper_source_mode` = `Bloqué`
|
||||
- `helper_target_current` = `6 A`
|
||||
|
||||
### Image 2 : Vue détaillée Input/Output du même nœud
|
||||
- **Section `computed`** :
|
||||
- `operating_mode` : `outside_window`
|
||||
- `profile` : `outside_window`
|
||||
- `source_mode` : `blocked`
|
||||
- `source_mode_label` : `Bloqué`
|
||||
- `user_strategy` : `auto_solar_plus`
|
||||
- `in_night_hc_window` : `false`
|
||||
- `in_morning_window` : `false`
|
||||
- `in_midday_window` : `false`
|
||||
- `in_evening_window` : `false`
|
||||
- `departure_priority_active` : `false`
|
||||
- `minutes_until_departure` : `525`
|
||||
- `battery_priority_mode` : `true`
|
||||
- `physical_cap_current_a` : `19`
|
||||
- `can_run_at_min_current` : `true`
|
||||
- `forecast_buffer_kwh` : `-15`
|
||||
- `projected_end_soc_after_charge` : `0`
|
||||
- `cloud_debt_next_kwh` : `0`
|
||||
- `cloud_debt_duration_minutes` : `0`
|
||||
- `cloud_debt_active` : `false`
|
||||
- `cloud_tolerance_ok` : `true`
|
||||
- `probe_window_active` : `false`
|
||||
- **Section `decision`** :
|
||||
- `state` : `vehicle_not_connected`
|
||||
- `current_decision` : `stop_not_connected`
|
||||
- `desired_charging` : `false`
|
||||
- `desired_permission` : `false`
|
||||
- `desired_current_a` : `6`
|
||||
- `charging_action` : `none`
|
||||
- `permission_action` : `none`
|
||||
- `current_action` : `none`
|
||||
- `block_reason` : `vehicle_not_connected`
|
||||
- `blocked_until` : `2026-06-13 00:05:30`
|
||||
- `dynamic_ok` : `false`
|
||||
- `must_stop` : `false`
|
||||
|
||||
---
|
||||
|
||||
## 4. Synthèse de la situation observée
|
||||
|
||||
Les captures montrent une exécution **nocturne** (`00:05:30`) :
|
||||
- Véhicule **non connecté**.
|
||||
- Système en `outside_window` (normal à minuit).
|
||||
- Source `blocked` / `Bloqué`.
|
||||
- Décision `stop_not_connected`.
|
||||
|
||||
**Verdict** : C'est un état **attendu et normal** pour cette heure sans véhicule branché.
|
||||
|
||||
### Point d'attention issu de HANDOFF.md
|
||||
Le problème documenté concernait le **même état mais l'après-midi avec véhicule branché et soleil disponible**. Ce cas problématique semble avoir été adressé par le déploiement de la feature `afternoon_probe` en V2.6. À surveiller.
|
||||
|
||||
---
|
||||
|
||||
## 5. Fichiers critiques du projet (à connaître)
|
||||
|
||||
| Fichier | Chemin | Rôle |
|
||||
|---------|--------|------|
|
||||
| `WINDOWS/WINDOW_SOURCEV2.js` | `/mnt/projects/EVCS/EVCS/decoupesurplus/WINDOWS/WINDOW_SOURCEV2.js` | Détermine `profile` et `sourceMode` |
|
||||
| `BATTERY/BATTERY_CLOUD_LOCKS.js` | `/mnt/projects/EVCS/EVCS/decoupesurplus/BATTERY/BATTERY_CLOUD_LOCKS.js` | Calcule `cloudDebt`, `cloudToleranceOk` |
|
||||
| `snapshot.js` | `/mnt/projects/EVCS/EVCS/decoupesurplus/snapshot.js` | Récupération des helpers HA |
|
||||
| `EVCS_V2.5_PATCHED.json` | `/mnt/projects/EVCS/EVCS/modified/EVCS_V2.5_PATCHED.json` | Export n8n de référence (rollback) |
|
||||
| `HANDOFF.md` | `/mnt/projects/EVCS/EVCS/HANDOFF.md` | Rapport de transfert technique session précédente |
|
||||
| `MEMORY.md` | `/mnt/projects/EVCS/EVCS/MEMORY.md` | Ce fichier (mémoire de session) |
|
||||
|
||||
---
|
||||
|
||||
## 6. Paramètres clés Home Assistant (à vérifier si besoin)
|
||||
|
||||
| Paramètre | Entité typique | Valeur défaut | Notes |
|
||||
|-----------|----------------|---------------|-------|
|
||||
| `pv_start_min_w` | `input_number.victron_pv_start_min_w` | 1800 W | Seuil démarrage PV |
|
||||
| `pv_hold_min_w` | `input_number.victron_pv_hold_min_w` | 1200 W | Seuil maintien PV |
|
||||
| `cloud_debt_max_kwh` | `input_number.victron_cloud_debt_max_kwh` | 1.2 kWh | Dette nuage max |
|
||||
| `battery_neutral_band_a` | `input_number.victron_battery_neutral_band_a` | 3 A | Bande neutre batterie |
|
||||
| `allow_grid_hc_midday` | `input_boolean.victron_allow_grid_hc_midday` | OFF | ON actif |
|
||||
| `allow_grid_hc_night` | `input_boolean.victron_allow_grid_hc_night` | OFF | ON actif |
|
||||
|
||||
---
|
||||
|
||||
## 7. Prochaines étapes possibles (à discuter avec l'utilisateur)
|
||||
|
||||
1. **Observer** le comportement en afternoon avec la nouvelle V2.6 / `afternoon_probe`.
|
||||
2. **Ajuster** les seuils des helpers HA si nécessaire (`pv_start_min_w`, `pv_hold_min_w`, etc.).
|
||||
3. **Modifier** un workflow n8n via MCP (activer/désactiver/exécuter).
|
||||
4. **Modifier** le code source dans `decoupesurplus/` si un ajustement de logique est nécessaire.
|
||||
5. **Relire** les exécutions récentes du workflow V2.6 via `n8n-mcp_list_executions` pour vérifier le comportement.
|
||||
|
||||
---
|
||||
|
||||
*Document créé par l'IA le : 13/06/2026*
|
||||
*Session précédente terminée : sauvegarde mémoire pour session suivante.*
|
||||
51
SOUL_EVCS.md
Normal file
51
SOUL_EVCS.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# HA Snapshot EVCS Surplus Controller V2.6
|
||||
|
||||
Le workflow "HA Snapshot EVCS Surplus Controller V2.6" est un système d'automatisation complexe conçu pour gérer les contrôles de charge des véhicules électriques (EVCS) en fonction de plusieurs facteurs tels que l'état de la batterie, la production solaire, la consommation domestique, et les conditions du réseau électrique. Voici une analyse détaillée de son fonctionnement :
|
||||
|
||||
### 1. **Déclenchement du Workflow**
|
||||
Le workflow est déclenché par un **déclencheur de planification** (Schedule Trigger) qui s'exécute à intervalles réguliers. Cela permet de surveiller et d'ajuster les paramètres de charge en temps réel.
|
||||
|
||||
### 2. **Étapes Clés du Workflow**
|
||||
|
||||
#### **Étape 1: Calcul des Conditions de Charge**
|
||||
Le premier bloc de code (`BATTERY_CLOUD_LOCKS`) effectue une analyse approfondie des conditions actuelles :
|
||||
- **État de la batterie** : Il calcule le niveau de charge (SOC) et détermine la bande de charge appropriée.
|
||||
- **Conditions météorologiques et solaires** : Il évalue la production solaire actuelle et le potentiel de production pour les prochaines heures.
|
||||
- **Consommation domestique** : Il analyse la consommation d'électricité dans la maison, notamment les pics de puissance.
|
||||
- **États du réseau électrique** : Il vérifie si le réseau est disponible et si des restrictions sont en place.
|
||||
|
||||
#### **Étape 2: Prise de Décision**
|
||||
Le deuxième bloc de code (`Build EVCS Surplus Controller V2.0 Actions`) utilise les données calculées pour prendre des décisions sur les actions à effectuer :
|
||||
- **Détection des conditions de charge** : Il détermine si la charge peut commencer ou continuer en fonction des conditions actuelles.
|
||||
- **Gestion des modes de charge** : Il gère différents modes de charge (par exemple, charge solaire, charge du réseau, charge de batterie).
|
||||
- **Prise de décisions basées sur les règles** : Il applique des règles spécifiques pour optimiser la charge, comme la priorité de charge solaire ou la protection de la batterie.
|
||||
|
||||
#### **Étape 3: Exécution des Actions**
|
||||
Le troisième bloc (`Execute HA Service EVCS Surplus`) exécute les actions décidées :
|
||||
- **Appel de services Home Assistant** : Il envoie des commandes à Home Assistant pour contrôler les dispositifs EVCS.
|
||||
- **Mise à jour des états** : Il met à jour les états des dispositifs et enregistre les actions dans un journal.
|
||||
|
||||
### 3. **Fonctionnalités Spécifiques**
|
||||
|
||||
#### **Gestion de la Charge Solaires**
|
||||
- **Priorité solaire** : Le système priorise la charge solaire lorsqu'elle est disponible.
|
||||
- **Optimisation de la production solaire** : Il ajuste la charge pour maximiser l'utilisation de l'énergie solaire.
|
||||
|
||||
#### **Protection de la Batterie**
|
||||
- **Limitation de la décharge** : Il limite la décharge de la batterie pour éviter les niveaux critiques.
|
||||
- **Gestion des températures** : Il surveille les températures de la batterie et ajuste la charge en conséquence.
|
||||
|
||||
#### **Gestion des Réseaux Électriques**
|
||||
- **Surveillance du réseau** : Il surveille les conditions du réseau électrique et ajuste la charge en fonction.
|
||||
- **Réponse aux restrictions** : Il répond aux restrictions du réseau, comme les coupures ou les limitations de puissance.
|
||||
|
||||
### 4. **Intégration avec Home Assistant**
|
||||
Le workflow utilise les fonctionnalités de Home Assistant pour :
|
||||
- **Récupération des données** : Il récupère les données de capteurs et de dispositifs.
|
||||
- **Contrôle des dispositifs** : Il contrôle les dispositifs EVCS et autres dispositifs de la maison.
|
||||
- **Enregistrement des actions** : Il enregistre les actions et les événements dans un journal.
|
||||
|
||||
### 5. **Résultats**
|
||||
Le workflow permet une gestion intelligente et optimisée de la charge des véhicules électriques, en tenant compte de plusieurs facteurs pour maximiser l'efficacité énergétique et la durabilité de la batterie.
|
||||
|
||||
En résumé, ce workflow est un système complet de contrôle de charge qui utilise des algorithmes avancés pour optimiser la charge des véhicules électriques en fonction des conditions actuelles de l'énergie, de la batterie, et du réseau électrique.
|
||||
Reference in New Issue
Block a user