tliu93
7e266a21eb
M6-T05: add Tibber GraphQL client + price refresh service + schedule
- app/integrations/tibber/client.py: fetch_price_range/fetch_current_price
(priceInfoRange QUARTER_HOURLY, startsAt->UTC, no fixed node count assumption),
TibberError/TibberAuthError; token never logged or put in exception text.
- app/services/tibber_prices.py: refresh_prices upserts by starts_at (idempotent),
no-op unless an active kind=tibber contract + token exist.
- main.py: hourly tibber-refresh job (existing jobs/MQTT untouched). Tests added.
2026-06-23 21:35:29 +02:00
..
2026-06-22 13:03:50 +02:00
2026-06-23 20:58:34 +02:00
2026-06-23 21:35:29 +02:00
2026-04-19 20:19:58 +02:00
2026-06-22 15:32:43 +02:00
2026-04-20 10:11:02 +02:00
2026-06-22 15:06:30 +02:00
2026-04-20 17:36:05 +02:00