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 |
|
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 |
|
tliu93
|
35b95f5c88
|
M5-T11: add HA discovery and state publishing wired to polling
|
2026-06-22 15:32:43 +02:00 |
|
tliu93
|
9d05f5ea62
|
M5-T10: add paho MQTT client with lifespan connect/reconnect and mqtt/test endpoint
|
2026-06-22 15:06:30 +02:00 |
|
tliu93
|
360cddc05b
|
M5-T09: add exposed_entities table and ExposableEntity provider framework
|
2026-06-22 14:50:40 +02:00 |
|
tliu93
|
c89cea4953
|
M5-T03: add Modbus TCP driver, YAML profile framework, sdm120, modbus_cli
|
2026-06-22 13:03:50 +02:00 |
|
tliu93
|
fe0409dafe
|
Refine runtime config and redirect settings
|
2026-04-20 17:36:05 +02:00 |
|
tliu93
|
982af62f4f
|
Migrate TickTick OAuth and action tasks
|
2026-04-20 17:06:03 +02:00 |
|
tliu93
|
151ad46275
|
Add Home Assistant outbound adapter
|
2026-04-20 10:11:02 +02:00 |
|
tliu93
|
31390882ef
|
Bootstrap Python rewrite skeleton
|
2026-04-19 20:19:58 +02:00 |
|