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-23 21:19:25 +02:00
2026-06-23 21:35:29 +02:00
2026-06-23 20:33:35 +02:00
2026-06-23 21:19:25 +02:00
2026-06-23 21:35:29 +02:00
2026-04-20 17:06:03 +02:00
2026-04-20 20:40:04 +02:00
2026-06-23 20:43:46 +02:00
2026-06-22 20:45:47 +02:00
2026-06-12 16:35:07 +02:00
2026-06-23 21:35:29 +02:00