Capacite : repli sur les sessions du branchement sans compteur historise ; point VW du 15/09
This commit is contained in:
@@ -1561,6 +1561,13 @@ Premiers points reels : **JEEP 9,8 kWh** (53 % -> plein, 4,6 kWh le 03/10 midi),
|
|||||||
15,3 kWh** (48 -> 78 %, 4,6 kWh). Releves du 03/10 soir saisis par moi : JEEP 112 694 km
|
15,3 kWh** (48 -> 78 %, 4,6 kWh). Releves du 03/10 soir saisis par moi : JEEP 112 694 km
|
||||||
(date du branchement 20:14, niveau 54), ZERO 16 469 km (date du debranchement 18:47,
|
(date du branchement 20:14, niveau 54), ZERO 16 469 km (date du debranchement 18:47,
|
||||||
niveau 78, n'a pas roule depuis : confirme), VW 216 830 km (niveau 100 %, donne par le proprietaire).
|
niveau 78, n'a pas roule depuis : confirme), VW 216 830 km (niveau 100 %, donne par le proprietaire).
|
||||||
|
- **Point VW ajoute (proprietaire, 04/10)** : la VW etait a **5 %** au branchement du 14/09
|
||||||
|
23:19 (charge 7,7 kWh jusqu'au plein du 15/09, la reference du MANUEL §0) -> capacite
|
||||||
|
**8,1 kWh**. Saisie posee dans `niveau_saisi` (source « proprietaire 04/10 (souvenir) »,
|
||||||
|
`ref_kwh` NULL : colonne rendue nullable + colonne `source`). La vue prend desormais,
|
||||||
|
a defaut du compteur de la borne (historise seulement depuis le 30/09), la somme des
|
||||||
|
sessions du branchement. Tests vues 25/25. Nuage km/kWh : une trame par serie (les
|
||||||
|
colonnes vides etaient tracees a zero), compteur affiche en km (« 217 Mm » avant).
|
||||||
|
|
||||||
---
|
---
|
||||||
*Document mis a jour le : 04/10/2026 (~01:00) — kilometrage des vehicules (km/kWh, capacite) ; 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 : 04/10/2026 (~01:00) — kilometrage des vehicules (km/kWh, capacite) ; 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*
|
||||||
|
|||||||
@@ -85,6 +85,14 @@ 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);
|
||||||
|
// 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 c.query(`INSERT INTO session_charge (debut, fin, terminee, vehicule, vehicule_sur, energie_kwh, energie_station_kwh)
|
||||||
|
VALUES ('2020-03-01T23:25Z','2020-03-02T01:41Z',true,'TESTV',true,7.6,7.7)`);
|
||||||
|
await c.query(`INSERT INTO niveau_saisi (saisi_a, niveau_pct, ref_kwh, source) VALUES ('2020-03-01T20:00:01Z', 5, NULL, 'test')`);
|
||||||
|
await c.query(`INSERT INTO decision (ts, etat) VALUES ('2020-03-02T01:42Z','night_recovery_done_idle')`);
|
||||||
|
const v = (await c.query("SELECT * FROM capacite_estimee WHERE branche >= '2020-03-01' AND branche < '2020-03-02'")).rows[0];
|
||||||
|
proche('sans compteur : sessions du branchement 7,7 / 0,95', v.capacite_kwh, 7.7 / 0.95);
|
||||||
} finally { await c.query('ROLLBACK'); await c.end(); }
|
} finally { await c.query('ROLLBACK'); await c.end(); }
|
||||||
}
|
}
|
||||||
console.log(`${ok}/${ok + ko}`);
|
console.log(`${ok}/${ok + ko}`);
|
||||||
|
|||||||
@@ -89,6 +89,10 @@ export async function creerSchemaKm(client) {
|
|||||||
ref_kwh double precision NOT NULL,
|
ref_kwh double precision NOT NULL,
|
||||||
pose_a timestamptz NOT NULL DEFAULT now()
|
pose_a timestamptz NOT NULL DEFAULT now()
|
||||||
)`);
|
)`);
|
||||||
|
// Saisie ANCIENNE ajoutee a la main (04/10 : VW a 5 % le 15/09) : le compteur
|
||||||
|
// 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 ADD COLUMN IF NOT EXISTS source text');
|
||||||
await client.query(SQL_VUE_INTERVALLES);
|
await client.query(SQL_VUE_INTERVALLES);
|
||||||
await client.query(SQL_VUE_CAPACITE);
|
await client.query(SQL_VUE_CAPACITE);
|
||||||
}
|
}
|
||||||
@@ -170,10 +174,15 @@ WITH tr AS (
|
|||||||
FROM b WHERE debranche IS NOT NULL
|
FROM b WHERE debranche IS NOT NULL
|
||||||
), k AS (
|
), k AS (
|
||||||
SELECT v.*,
|
SELECT v.*,
|
||||||
(SELECT valeur FROM mesure m WHERE m.cle = 'sensor.evcs_hq2239dnt7p_total_energy'
|
-- Compteur de la borne (historise depuis le 30/09), a defaut la somme
|
||||||
AND m.ts <= v.debranche ORDER BY m.ts DESC LIMIT 1)
|
-- des sessions du branchement (compteur de la borne par session).
|
||||||
- coalesce((SELECT valeur FROM mesure m WHERE m.cle = 'sensor.evcs_hq2239dnt7p_total_energy'
|
coalesce(
|
||||||
AND m.ts <= v.branche ORDER BY m.ts DESC LIMIT 1), ref_kwh) AS kwh_livres,
|
(SELECT valeur FROM mesure m WHERE m.cle = 'sensor.evcs_hq2239dnt7p_total_energy'
|
||||||
|
AND m.ts <= v.debranche AND m.ts >= v.branche - interval '1 day' ORDER BY m.ts DESC LIMIT 1)
|
||||||
|
- coalesce((SELECT valeur FROM mesure m WHERE m.cle = 'sensor.evcs_hq2239dnt7p_total_energy'
|
||||||
|
AND m.ts <= v.branche AND m.ts >= v.branche - interval '1 day' ORDER BY m.ts DESC LIMIT 1), ref_kwh),
|
||||||
|
(SELECT sum(coalesce(sc.energie_station_kwh, sc.energie_kwh)) FROM session_charge sc
|
||||||
|
WHERE sc.debut >= v.branche AND sc.debut < v.debranche)) AS kwh_livres,
|
||||||
EXISTS (SELECT 1 FROM decision d WHERE d.ts > v.branche AND d.ts <= v.debranche
|
EXISTS (SELECT 1 FROM decision d WHERE d.ts > v.branche AND d.ts <= v.debranche
|
||||||
AND d.etat = ANY (ARRAY['${ETATS_PLEIN.join("','")}'])) AS plein,
|
AND d.etat = ANY (ARRAY['${ETATS_PLEIN.join("','")}'])) AS plein,
|
||||||
(SELECT r.niveau_pct FROM releve_km r
|
(SELECT r.niveau_pct FROM releve_km r
|
||||||
|
|||||||
Reference in New Issue
Block a user