tliu93
bedea196c3
M6-T03: add pricing profile framework + strategy registry
- app/integrations/pricing: profiles.py (pydantic ManualProfile/TibberProfile,
load_profile/list_profiles/validate_values), manual.yaml + tibber.yaml
(structure-only, no price values), strategies.py (register/get_strategy,
manual dual-tariff + tibber strategies, all Decimal).
- tibber strategy matches nearest tibber_price with starts_at <= t0.
- tests for profiles + strategies (hand-checked dual-tariff & tibber math).
2026-06-23 20:58:34 +02:00
..
2026-06-21 21:20:28 +02:00
2026-06-21 22:27:07 +02:00
2026-06-23 20:43:46 +02:00
2026-06-13 15:20:50 +02:00
2026-06-22 20:11:54 +02:00
2026-06-22 14:17:59 +02:00
2026-06-12 23:33:08 +02:00
2026-06-21 22:08:55 +02:00
2026-06-21 22:08:55 +02:00
2026-06-13 15:20:50 +02:00
2026-06-21 21:38:22 +02:00
2026-06-12 16:57:54 +02:00
2026-06-13 15:20:50 +02:00
2026-06-23 20:33:35 +02:00
2026-06-23 20:33:35 +02:00
2026-06-22 20:11:54 +02:00
2026-06-12 16:50:05 +02:00
2026-04-20 11:48:48 +02:00
2026-06-12 16:50:05 +02:00
2026-06-21 21:20:28 +02:00
2026-06-12 19:11:13 +02:00
2026-06-22 13:03:50 +02:00
2026-06-22 13:03:50 +02:00
2026-06-22 20:45:47 +02:00
2026-06-22 13:24:11 +02:00
2026-06-22 13:03:50 +02:00
2026-06-22 15:06:30 +02:00
2026-06-12 16:50:05 +02:00
2026-06-23 20:58:34 +02:00
2026-06-23 20:58:34 +02:00
2026-06-13 15:20:50 +02:00
2026-06-13 15:20:50 +02:00
2026-06-13 15:20:50 +02:00
2026-06-13 15:20:50 +02:00
2026-06-22 12:45:50 +02:00