Ajoute la page de détail d'un site (fiche, mesure instantanée, jauge de
consommation, historique) en remplacement du placeholder. Les champs
null sont affichés explicitement avec leur raison plutôt que masqués.
Ajoute l'endpoint GET /sites/{id}/current côté backend, qui retourne la
dernière mesure connue d'un site sans filtre temporel, conformément au
contrat de l'issue.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012i5NteMLRZgfTAKB5GD37X
24 lines
763 B
TypeScript
24 lines
763 B
TypeScript
export type ReadingSource = 'csv' | 'api_current' | 'api_history';
|
|
export type ReadingDataQuality = 'good' | 'partial' | 'degraded' | 'critical';
|
|
|
|
export interface Reading {
|
|
reading_id: number;
|
|
site_id: string;
|
|
timestamp: string;
|
|
source: ReadingSource;
|
|
consumption_kw: number | null;
|
|
consumption_kwh: number | null;
|
|
consumption_euros: string | null;
|
|
voltage_v: number | null;
|
|
current_a: number | null;
|
|
power_factor: number | null;
|
|
temperature_celsius: number | null;
|
|
humidity_percent: number | null;
|
|
solar_irradiance_wm2: number | null;
|
|
is_working_hours: boolean | null;
|
|
data_quality: ReadingDataQuality | null;
|
|
null_reasons: string[] | null;
|
|
imputed_values: Record<string, unknown> | null;
|
|
imputation_method: string | null;
|
|
}
|