Kilometrage : niveau de fin saisi par le proprietaire (table niveau_fin), niveaux VW du 10/10

This commit is contained in:
Tallagrand Thierry
2026-10-10 14:10:01 +02:00
parent 6231e2ab06
commit b9bdb44f4c
3 changed files with 37 additions and 3 deletions

View File

@@ -2344,5 +2344,22 @@ batterie a 32 A et JEEP (branchee 13:01, 52 %) qui ne demarre pas. SOC 47 % a 12
- **A verifier le 10/10** : revue de 07:30 (constat attendu : info « charge maximale de midi » du 09/10) ; SOC a 07:24 - **A verifier le 10/10** : revue de 07:30 (constat attendu : info « charge maximale de midi » du 09/10) ; SOC a 07:24
contre ~44,6 % et courant de recharge de nuit ; midi samedi (verdict voiture, demarrage JEEP au-dessus de 35 %). contre ~44,6 % et courant de recharge de nuit ; midi samedi (verdict voiture, demarrage JEEP au-dessus de 35 %).
### 10/10 midi — Nuit sans HP, pas d'EDF a midi (journee suffisante), niveaux VW historises
- Nuit : session 01:24-07:24, 11,1 kWh en HC, SOC 22 -> 31 % (05:00) puis tenu, 30 % a 07:24 ; courant ACM faible
(25 -> 10 A, energie / temps restant), pas de bridage. ⚠️ Ma prevision « ~44 % a 07:24 » etait fausse : les 44,6 % de
00:01 incluaient la maison de 00:01 a 01:24 ; une fois la maison sur EDF, le bilan ne demandait plus que ~30 %.
- Revue 07:30 : rien a examiner ; info « charge maximale de midi » du 09/10 49 -> 62 % (+3,9 kWh) avec l'etat bride de
13:24 (consigne 4,9 kW, borne 0 W) : une recharge maximale bridee n'est pas encore un point « a examiner » (propose).
- Midi : pas de session (51 % pour 29,4 % requis jusqu'a 01:24 ; jour suffisant 72,5 % prevus a 18 h pour 70 % ;
production 14 kWh a 13 h, 137 % de VRM ; VW sans depart). Proprietaire : ECS en BOOST a midi. 14:08 : PV 10,8 kW,
batterie +160 A, SOC 61 %.
- **VW (proprietaire)** : 22 km d'autonomie au branchement de 12:29, 39 km au debranchement de 14:02 (reference 42 km)
-> `niveau_saisi` 52 % et nouvelle table **`niveau_fin`** 93 % (`tools/kilometrage.mjs` : la vue `capacite_estimee`
prend un niveau de fin saisi dans [debranchement -15 min, +1 h] AVANT le « plein » du controleur ; tests 22/22,
vues 38/38). Capacite estimee **8,29 kWh** (3,40 kWh pour 41 points ; 8,10 le 07/10). Le controleur avait vu la VW
« pleine » a 93 %.
- 14:05 : nouveau branchement (1,8 kW), etiquete VW par defaut et non confirme : probablement la JEEP (18 % a 13:16,
depart 15:30) — a confirmer par le proprietaire.
--- ---
*Document mis a jour le : 10/10/2026 (~01:05) — conseiller relecteur de la journee (revue calculee + pistes) ; nuit : voiture qui profite d'EDF ferme pour la batterie, nuit qui prepare le soir les jours annonces faibles ; 08/10/2026 (~00:15) — jour faible : charge maximale en HC de midi (bilan 100 %, ACM plafond + solaire) ; 07/10/2026 (~22:45) — reprise de 16 h verifiee, EDF en HP a 18:03, bilan : reprise du soir et prevision recalee sur la matinee ; bilan HC de midi, reprise du soir apres coupure en pleine chauffe, mesure ECS sur 10 min ; recharge reseau HC : courant calcule (12 kVA) et consigne non tenue ; HC de midi : AUTO ne chauffe pas (BOOST), alerte v2, Jeep (contact, relecture, zone), recharge batterie bridee a 30 A par l'ACM ; jour faible = EDF les deux fenetres HC pour le chauffe-eau, alerte BOOST, Victron Mobile refait ; 1re decision jour faible en reel, mesure ECS reparee, douches 06:00/20:00, Grafana chauffe-eau, tableaux ECS ; chauffe-eau en HC de nuit les jours faibles (decision du bilan, workflow ECS sous controle du depot, VRM, V2.3 desactive) ; garde batterie reseau : voiture bridee a 6 A au lieu d'un arret ; garde-fou concierge 2 h ; allers-retours brefs de la borne retrouves dans l'historique HA (echange VW -> JEEP de 20 s), production 14,5 kWh contre 22 prevus, defaut garde batterie en mode reseau a trancher ; voiture a midi : la batterie n'est plus comptee comme du solaire (EDF automatique les jours de depart si le surplus ne couvre pas) ; nuit 05->06 : JEEP chargee sur EDF en complete (6,32 kWh), budget 0 du a la prevision, Windy/ECMWF contre VRM, a comparer ce soir ; concierge aligne sur la preuve fin de trajet ; a verifier : nuit 05->06 et mardi faible, comparaison VRM/Forecast.Solar ; JEEP identifiee aussi par sa fin de trajet, prevision de la nuit 05->06 ; identification JEEP reussie en reel, correction humaine qui prime (refus supprime), session du 04/10 coupee ; EVCS Master en quatre onglets ; Jeep lue par Uconnect et identifiee seule, capacite JEEP 10 kWh, concierge variante (a) ; releve par photo (SPARK), hass-uconnect en attente ; ecart semaine/week-end mesure (pas de profil week-end la nuit) ; nuit du budget : budget borne au plancher prudent, sans EDF = voiture bloquee meme EDF ferme (batterie seule) ; Energie : sauts corriges ; tableau Energie complete (Sud/Ouest, batterie par integration, borne ; aucun redemarrage HA) ; kilometrage des vehicules (km/kWh, capacite, releves de reference, agent cable 15/15) ; a verifier le 04/10 au matin : nuit du budget JEEP ; concierge : vehicule non confirme demande, heure de saisie ; Grafana vehicules en tableau ; Grafana vehicules : ZERO et Invite ajoutes, session 16:46 reetiquetee ZERO ; prevision SOC 10 h ~35 % ; concierge fiable : niveau note par le script, une ligne, dedoublonnage, simulation par drapeau ; agent : message incompris = question, bourse sur demande explicite (banc final 6/6) ; a verifier : nuit du samedi 03 au dimanche 04/10 (budget < besoin JEEP), cron orange-cloture lundi 05/10 apres 17:40, comparaison VRM / Forecast.Solar lundi 05/10* *Document mis a jour le : 10/10/2026 (~14:15) — conseiller relecteur de la journee (revue calculee + pistes) ; nuit : voiture qui profite d'EDF ferme pour la batterie, nuit qui prepare le soir les jours annonces faibles ; 08/10/2026 (~00:15) — jour faible : charge maximale en HC de midi (bilan 100 %, ACM plafond + solaire) ; 07/10/2026 (~22:45) — reprise de 16 h verifiee, EDF en HP a 18:03, bilan : reprise du soir et prevision recalee sur la matinee ; bilan HC de midi, reprise du soir apres coupure en pleine chauffe, mesure ECS sur 10 min ; recharge reseau HC : courant calcule (12 kVA) et consigne non tenue ; HC de midi : AUTO ne chauffe pas (BOOST), alerte v2, Jeep (contact, relecture, zone), recharge batterie bridee a 30 A par l'ACM ; jour faible = EDF les deux fenetres HC pour le chauffe-eau, alerte BOOST, Victron Mobile refait ; 1re decision jour faible en reel, mesure ECS reparee, douches 06:00/20:00, Grafana chauffe-eau, tableaux ECS ; chauffe-eau en HC de nuit les jours faibles (decision du bilan, workflow ECS sous controle du depot, VRM, V2.3 desactive) ; garde batterie reseau : voiture bridee a 6 A au lieu d'un arret ; garde-fou concierge 2 h ; allers-retours brefs de la borne retrouves dans l'historique HA (echange VW -> JEEP de 20 s), production 14,5 kWh contre 22 prevus, defaut garde batterie en mode reseau a trancher ; voiture a midi : la batterie n'est plus comptee comme du solaire (EDF automatique les jours de depart si le surplus ne couvre pas) ; nuit 05->06 : JEEP chargee sur EDF en complete (6,32 kWh), budget 0 du a la prevision, Windy/ECMWF contre VRM, a comparer ce soir ; concierge aligne sur la preuve fin de trajet ; a verifier : nuit 05->06 et mardi faible, comparaison VRM/Forecast.Solar ; JEEP identifiee aussi par sa fin de trajet, prevision de la nuit 05->06 ; identification JEEP reussie en reel, correction humaine qui prime (refus supprime), session du 04/10 coupee ; EVCS Master en quatre onglets ; Jeep lue par Uconnect et identifiee seule, capacite JEEP 10 kWh, concierge variante (a) ; releve par photo (SPARK), hass-uconnect en attente ; ecart semaine/week-end mesure (pas de profil week-end la nuit) ; nuit du budget : budget borne au plancher prudent, sans EDF = voiture bloquee meme EDF ferme (batterie seule) ; Energie : sauts corriges ; tableau Energie complete (Sud/Ouest, batterie par integration, borne ; aucun redemarrage HA) ; kilometrage des vehicules (km/kWh, capacite, releves de reference, agent cable 15/15) ; a verifier le 04/10 au matin : nuit du budget JEEP ; concierge : vehicule non confirme demande, heure de saisie ; Grafana vehicules en tableau ; Grafana vehicules : ZERO et Invite ajoutes, session 16:46 reetiquetee ZERO ; prevision SOC 10 h ~35 % ; concierge fiable : niveau note par le script, une ligne, dedoublonnage, simulation par drapeau ; agent : message incompris = question, bourse sur demande explicite (banc final 6/6) ; a verifier : nuit du samedi 03 au dimanche 04/10 (budget < besoin JEEP), cron orange-cloture lundi 05/10 apres 17:40, comparaison VRM / Forecast.Solar lundi 05/10*

View File

@@ -145,6 +145,9 @@ if (process.argv.includes('--vues')) {
eq('pas plein, pas de releve -> pas de capacite', cap.capacite_kwh, null); eq('pas plein, pas de releve -> pas de capacite', cap.capacite_kwh, null);
await ins('TESTX', '2020-02-01T14:20Z', 777, 80, 15, 200, true); await ins('TESTX', '2020-02-01T14:20Z', 777, 80, 15, 200, true);
proche('releve dans l heure : 4,5 / (80-50) %', (await capa()).capacite_kwh, 15.0); proche('releve dans l heure : 4,5 / (80-50) %', (await capa()).capacite_kwh, 15.0);
// Niveau de fin donne par le proprietaire (10/10) : il prime sur le releve et sur le plein.
await c.query(`INSERT INTO niveau_fin (saisi_a, niveau_pct, source) VALUES ('2020-02-01T14:00Z', 95, 'test')`);
proche('niveau de fin saisi : 4,5 / (95-50) %', (await capa()).capacite_kwh, 10.0);
// Saisie ancienne sans compteur historise : somme des sessions du branchement. // Saisie ancienne sans compteur historise : somme des sessions du branchement.
await ev('2020-03-01T20:00Z', 'on'); await ev('2020-03-02T04:00Z', 'off'); await ev('2020-03-01T20:00Z', 'on'); await ev('2020-03-02T04:00Z', 'off');
await c.query(`INSERT INTO session_charge (debut, fin, terminee, vehicule, vehicule_sur, energie_kwh, energie_station_kwh) await c.query(`INSERT INTO session_charge (debut, fin, terminee, vehicule, vehicule_sur, energie_kwh, energie_station_kwh)

View File

@@ -93,6 +93,17 @@ export async function creerSchemaKm(client) {
// de la borne n'etait pas encore historise, la reference peut manquer. // de la borne n'etait pas encore historise, la reference peut manquer.
await client.query('ALTER TABLE niveau_saisi ALTER COLUMN ref_kwh DROP NOT NULL'); await client.query('ALTER TABLE niveau_saisi ALTER COLUMN ref_kwh DROP NOT NULL');
await client.query('ALTER TABLE niveau_saisi ADD COLUMN IF NOT EXISTS source text'); await client.query('ALTER TABLE niveau_saisi ADD COLUMN IF NOT EXISTS source text');
// NIVEAU A LA FIN (10/10/2026) : le proprietaire donne l'autonomie au
// debranchement (VW 22 km au branchement, 39 km au debranchement, pour 42 km
// pleine). Sans releve kilometrique, ce niveau n'avait nulle part ou aller ;
// il prime sur le « plein » du controleur, peu fiable pour la VW (§11.5).
await client.query(`
CREATE TABLE IF NOT EXISTS niveau_fin (
saisi_a timestamptz PRIMARY KEY,
niveau_pct integer NOT NULL,
source text,
pose_a timestamptz NOT NULL DEFAULT now()
)`);
await client.query(SQL_VUE_INTERVALLES); await client.query(SQL_VUE_INTERVALLES);
await client.query(SQL_VUE_CAPACITE); await client.query(SQL_VUE_CAPACITE);
} }
@@ -188,10 +199,13 @@ WITH tr AS (
(SELECT r.niveau_pct FROM releve_km r (SELECT r.niveau_pct FROM releve_km r
WHERE r.vehicule = v.vehicule AND r.niveau_pct IS NOT NULL WHERE r.vehicule = v.vehicule AND r.niveau_pct IS NOT NULL
AND r.ts >= v.debranche AND r.ts <= v.debranche + interval '1 hour' AND r.ts >= v.debranche AND r.ts <= v.debranche + interval '1 hour'
ORDER BY r.ts LIMIT 1) AS niveau_releve_apres ORDER BY r.ts LIMIT 1) AS niveau_releve_apres,
(SELECT nf.niveau_pct FROM niveau_fin nf
WHERE nf.saisi_a >= v.debranche - interval '15 minutes' AND nf.saisi_a <= v.debranche + interval '1 hour'
ORDER BY nf.saisi_a LIMIT 1) AS niveau_fin_saisi
FROM v FROM v
), f AS ( ), f AS (
SELECT k.*, CASE WHEN plein THEN 100 ELSE niveau_releve_apres END AS niveau_fin FROM k SELECT k.*, coalesce(niveau_fin_saisi, CASE WHEN plein THEN 100 ELSE niveau_releve_apres END) AS niveau_fin FROM k
) )
SELECT branche, debranche, coalesce(vehicule, '?') AS vehicule, niveau_pct, niveau_fin, SELECT branche, debranche, coalesce(vehicule, '?') AS vehicule, niveau_pct, niveau_fin,
kwh_livres, plein, kwh_livres, plein,