Carte des decisions : qui ecrit sur quoi, et les seuils figes

Le 12/09 : cinq automates ecrivent sur le contacteur reseau, chacun
localement correct, aucun ne voit les autres, et personne n avait la
liste. Une automatisation HA coupait a 35 % de SOC pendant que le bilan
demandait 42,8 % — le conflit a dure sept mois sans etre vu.

Genere depuis les sources (n8n par l API, automatisations, scripts et
paquets HA), jamais tenu a la main : une carte maintenue a la main
pourrit, et c est exactement ce qu on veut eviter. Chaque execution ecrit
un instantane et affiche l ecart avec le precedent — la trace des
evolutions demandee.

Premiere sortie : 4 ecrivains concurrents sur le contacteur reseau,
2 sur le courant de la borne, 2 sur le verrou hysteresis, et dix valeurs
de SOC figees entre 20 et 100 dont le 35 fautif, present six fois.

Destine a etre lu par le conseiller : c est ce qui lui permettra de dire
« cet ecrivain contredit celui-la », au lieu d un detecteur code en dur
qui doublerait une capacite qu il a deja demontree.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
Tallagrand Thierry
2026-09-12 07:14:08 +02:00
parent 040d2fc730
commit 23dc09a344
2 changed files with 714 additions and 0 deletions

View File

@@ -0,0 +1,554 @@
{
"genere": "2026-09-12T05:13:34.948Z",
"carte": {
"switch.edf_general_ok_switch": {
"libelle": "Contacteur reseau EDF",
"ecrivains": [
{
"famille": "n8n",
"nom": "Victron - Battery / Grid Hysteresis Fix V1",
"id": "7iIlu7LLTW7TZA8o",
"services": [
"turn_on",
"turn_off"
],
"desactive": false
},
{
"famille": "n8n",
"nom": "HA Snapshot EVCS Surplus Controller V2.6",
"id": "ATswvGfG4KJUls0K",
"services": [
"turn_on",
"set_value",
"turn_off"
],
"desactive": false
},
{
"famille": "HA",
"nom": "automations.yaml",
"services": [
"turn_on",
"turn_off"
],
"desactive": false
},
{
"famille": "HA",
"nom": "scripts.yaml",
"services": [
"turn_on",
"turn_off",
"set_value"
],
"desactive": false
}
],
"lecteurs": [
"n8n:SDB Climate & Surplus Manager V2.2",
"n8n:Water Heater Advisor V2.3",
"n8n:Victron - Garage Thermal Surplus Manager V2.2",
"n8n:EVCS Energy Balance V1",
"n8n:Victron - Flexible Load Advisor V1",
"n8n:Victron - Auto Charge Manager V1.2",
"n8n:EVCS Advisor Shadow V1",
"n8n:Water Heater Advisor ECS 6 Nodes + Build + Execute"
]
},
"number.gx_device_ac_power_setpoint": {
"libelle": "Consigne de puissance reseau",
"ecrivains": [
{
"famille": "n8n",
"nom": "HA Snapshot EVCS Surplus Controller V2.6",
"id": "ATswvGfG4KJUls0K",
"services": [
"turn_on",
"set_value",
"turn_off"
],
"desactive": false
}
],
"lecteurs": [
"n8n:EVCS Advisor Shadow V1"
]
},
"switch.victron_evcs_charging": {
"libelle": "Charge de la borne",
"ecrivains": [
{
"famille": "n8n",
"nom": "HA Snapshot EVCS Surplus Controller V2.6",
"id": "ATswvGfG4KJUls0K",
"services": [
"turn_off",
"turn_on",
"set_current"
],
"desactive": false
}
],
"lecteurs": [
"n8n:Victron - Battery / Grid Hysteresis Fix V1",
"n8n:EVCS Advisor Shadow V1"
]
},
"number.victron_evcs_set_current_command": {
"libelle": "Courant de la borne",
"ecrivains": [
{
"famille": "n8n",
"nom": "HA Snapshot EVCS Surplus Controller V2.6",
"id": "ATswvGfG4KJUls0K",
"services": [
"turn_on",
"turn_off",
"set_current",
"set_value"
],
"desactive": false
},
{
"famille": "HA",
"nom": "scripts.yaml",
"services": [
"set_value",
"set_current"
],
"desactive": false
}
],
"lecteurs": []
},
"input_boolean.victron_grid_hysteresis_latch": {
"libelle": "Verrou hysteresis",
"ecrivains": [
{
"famille": "n8n",
"nom": "Victron - Battery / Grid Hysteresis Fix V1",
"id": "7iIlu7LLTW7TZA8o",
"services": [
"set_value",
"turn_on",
"turn_off"
],
"desactive": false
},
{
"famille": "HA",
"nom": "scripts.yaml",
"services": [
"turn_off",
"set_value",
"turn_on"
],
"desactive": false
}
],
"lecteurs": [
"n8n:EVCS Advisor Shadow V1"
]
},
"input_boolean.victron_evcs_night_grid_takeover_needed": {
"libelle": "Reprise reseau nuit",
"ecrivains": [
{
"famille": "n8n",
"nom": "HA Snapshot EVCS Surplus Controller V2.6",
"id": "ATswvGfG4KJUls0K",
"services": [
"turn_on",
"turn_off"
],
"desactive": false
}
],
"lecteurs": [
"n8n:Victron - Battery / Grid Hysteresis Fix V1",
"n8n:Victron - Auto Charge Manager V1.2",
"n8n:EVCS Advisor Shadow V1"
]
},
"number.gx_device_ess_min_soc_limit": {
"libelle": "SOC minimal de l ESS",
"ecrivains": [],
"lecteurs": []
}
},
"seuilsSoc": {
"20": [
{
"valeur": 20,
"extrait": "SOC <= 20)",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 20,
"extrait": "SOC <= 20)",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 20,
"extrait": "soc < 20 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 20,
"extrait": "soc < 20 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
}
],
"22": [
{
"valeur": 22,
"extrait": "soc < 22)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 22,
"extrait": "SOC < 22%",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 22,
"extrait": "soc < 22)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 22,
"extrait": "SOC < 22%",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 22,
"extrait": "SoC < 22%",
"source": "HA:automations.yaml"
},
{
"valeur": 22,
"extrait": "SoC < 22%",
"source": "HA:automations.yaml"
},
{
"valeur": 22,
"extrait": "below: 22",
"source": "HA:automations.yaml"
},
{
"valeur": 22,
"extrait": "below: 22",
"source": "HA:automations.yaml"
}
],
"25": [
{
"valeur": 25,
"extrait": "soc > 25 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 25,
"extrait": "soc > 25 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
}
],
"35": [
{
"valeur": 35,
"extrait": "SOC > 35%",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 35,
"extrait": "soc <= 35;",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 35,
"extrait": "SOC > 35%",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 35,
"extrait": "soc <= 35;",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 35,
"extrait": "SoC > 35%",
"source": "HA:automations.yaml"
},
{
"valeur": 35,
"extrait": "above: 35",
"source": "HA:automations.yaml"
}
],
"40": [
{
"valeur": 40,
"extrait": "soc > 40 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 40,
"extrait": "soc >= 40 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 40,
"extrait": "soc >= 40 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 40,
"extrait": "soc > 40 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 40,
"extrait": "soc >= 40 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 40,
"extrait": "soc >= 40 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
}
],
"60": [
{
"valeur": 60,
"extrait": "soc > 60 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 60,
"extrait": "soc >= 60 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 60,
"extrait": "soc >= 60 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 60,
"extrait": "soc > 60 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 60,
"extrait": "soc >= 60 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 60,
"extrait": "soc >= 60 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
}
],
"80": [
{
"valeur": 80,
"extrait": "soc > 80 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 80,
"extrait": "soc >= 80 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 80,
"extrait": "soc >= 80 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 80,
"extrait": "soc >= 80 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 80,
"extrait": "soc > 80 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 80,
"extrait": "soc >= 80 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 80,
"extrait": "soc >= 80 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 80,
"extrait": "soc >= 80 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 80,
"extrait": "soc < 80)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 80,
"extrait": "soc < 80)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
}
],
"85": [
{
"valeur": 85,
"extrait": "soc >= 85 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 85,
"extrait": "soc >= 85 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 85,
"extrait": "soc < 85 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 85,
"extrait": "soc < 85 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
}
],
"90": [
{
"valeur": 90,
"extrait": "soc > 90 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "SOC > 90,",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "soc >= 90 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "soc >= 90 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "SOC >= 90\\",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "soc > 90 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "SOC > 90,",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "soc >= 90 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "soc >= 90 ",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "SOC >= 90\\",
"source": "n8n:HA Snapshot EVCS Surplus Controller V2.6"
},
{
"valeur": 90,
"extrait": "soc < 90)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 90,
"extrait": "soc >= 90)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 90,
"extrait": "soc >= 90 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 90,
"extrait": "soc < 90)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 90,
"extrait": "soc >= 90)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 90,
"extrait": "soc >= 90 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
}
],
"95": [
{
"valeur": 95,
"extrait": "soc < 95)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 95,
"extrait": "soc < 95 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 95,
"extrait": "soc < 95 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 95,
"extrait": "soc < 95)",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 95,
"extrait": "soc < 95 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
},
{
"valeur": 95,
"extrait": "soc < 95 ",
"source": "n8n:Victron - Auto Charge Manager V1.2"
}
],
"100": [
{
"valeur": 100,
"extrait": "SocAtStartPct <= 100,",
"source": "n8n:EVCS Energy Balance V1"
},
{
"valeur": 100,
"extrait": "SocAtStartPct <= 100,",
"source": "n8n:EVCS Energy Balance V1"
}
]
}
}