Patrick Schurig 5944d3a24a fix(dashboard): « Plan de la journée » retirée — cinquième donnée inventée, et la dernière
DayPlan.demo() fabriquait vingt-quatre heures de flux : une gaussienne solaire
et des coefficients écrits en dur — solToEcs = excédent × 0,35, solToVe × 0,3,
solToBatt × 0,15, battToHouse = déficit × 0,55 — sous le titre « Plan de la
journée · aujourd'hui », sans la moindre mention. Y compris une batterie
alimentant la maison à partir de 17 h, sur une installation qui n'a pas de
batterie.

Cinquième après les deux MPPT, les 38 % de PAC, les 82 % de part solaire et le
SOC à 62 %. Même réponse à chaque fois : il n'y a rien derrière.

Un plan suppose de savoir ce qui VA arriver — il demande une prévision PV et une
source tarifaire, dont aucune n'existe. La carte reviendra avec elles.

Le code de fabrication part AVEC la carte : DayPlan, HourlyFlow, WeatherPoint,
WeatherKind et le painter sont supprimés, pas mis de côté. Un générateur de
données plausibles laissé dans le dépôt se rebranche — c'est exactement ce qui
s'est passé quatre fois déjà.

339 tests.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw
2026-09-08 13:26:30 +02:00

70 lines
2.2 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/// Modèles du tableau de bord.
///
/// 🔴 `HourlyFlow`, `WeatherPoint` et `DayPlan` ont été **supprimés** le 2026-09-08 avec la
/// carte « Plan de la journée » qu'ils alimentaient. `DayPlan.demo()` fabriquait vingt-quatre
/// heures de flux à partir d'une gaussienne et de coefficients écrits en dur, présentées sans
/// mention comme la journée en cours.
///
/// Le code part **avec** la carte, délibérément : un générateur de données plausibles laissé
/// dans le dépôt se rebranche — c'est ce qui s'était passé pour les deux MPPT, les 38 % de
/// PAC, les 82 % de part solaire et le SOC à 62 %. Un plan reviendra quand il y aura une
/// prévision PV et une source tarifaire ; il se réécrira sur des données, pas sur celles-ci.
library;
class HeosAction {
final String iconKey;
final String title;
final String why;
final double powerKw;
const HeosAction({
required this.iconKey,
required this.title,
required this.why,
required this.powerKw,
});
}
class HeosDecision {
final String summary;
final String highlight;
final List<HeosAction> actions;
final DateTime updatedAt;
const HeosDecision({
required this.summary,
required this.highlight,
required this.actions,
required this.updatedAt,
});
static HeosDecision demo() => HeosDecision(
summary:
'Le surplus solaire part dans l\'eau chaude et la voiture '
'plutôt que d\'être revendu à bas prix.',
highlight: 'plutôt que d\'être revendu à bas prix',
actions: [
const HeosAction(
iconKey: 'water',
title: 'Chauffe-eau',
why: 'Surplus PV disponible · coût réseau ce soir 0,22 €/kWh',
powerKw: 2.0,
),
const HeosAction(
iconKey: 'ev',
title: 'Voiture — mode Éco',
why: 'Charge à partir du surplus · objectif 80 % pour 18h',
powerKw: 3.6,
),
const HeosAction(
iconKey: 'battery',
title: 'Batterie en charge',
why: 'Stockage pour couvrir le pic 18h–21h',
powerKw: 0.8,
),
],
updatedAt: DateTime.now(),
);
}