hass.tibber_prices/custom_components/tibber_prices/services
Julian Pawlowski 95950f48c1 feat(services): add find_best_start and plan_charging services
Add two new service actions for intelligent device scheduling:

- find_best_start: Find optimal start time for run-once appliances
  - Considers price, optional energy estimates, optional PV power
  - Supports flexible time windows (HH:MM, ISO datetime, with/without timezone)
  - Prefers future candidates over past ones
  - Includes current interval by default (configurable)
  - Returns recommended start time with cost analysis

- plan_charging: Create optimized charging schedule for energy storage
  - Supports EV, home battery, balcony battery use cases
  - Energy target or duration-based planning
  - Split or continuous charging modes
  - Efficiency factor support
  - Includes current interval by default (configurable)
  - Returns detailed slot-by-slot charging plan

Common improvements:
- Flexible datetime parsing (ISO 8601, with/without timezone, microseconds)
- Time selector in GUI (better UX than text field)
- Currency display based on config entry settings
- Comprehensive error handling and validation
- Detailed response envelopes with warnings/errors

Impact: Users can automate appliance scheduling based on electricity
prices without external automation rules.
2026-01-20 11:47:26 +00:00
..
__init__.py feat(services): add find_best_start and plan_charging services 2026-01-20 11:47:26 +00:00
common.py feat(services): add find_best_start and plan_charging services 2026-01-20 11:47:26 +00:00
debug_clear_tomorrow.py feat(services): add debug_clear_tomorrow for testing refresh cycle 2025-12-23 14:13:51 +00:00
find_best_start.py feat(services): add find_best_start and plan_charging services 2026-01-20 11:47:26 +00:00
formatters.py fix: support main and subunit currency 2025-12-11 23:07:06 +00:00
get_apexcharts_yaml.py feat(services): add find_best_start and plan_charging services 2026-01-20 11:47:26 +00:00
get_chartdata.py feat(services): add find_best_start and plan_charging services 2026-01-20 11:47:26 +00:00
get_price.py feat(services): add find_best_start and plan_charging services 2026-01-20 11:47:26 +00:00
helpers.py feat(services): add find_best_start and plan_charging services 2026-01-20 11:47:26 +00:00
plan_charging.py feat(services): add find_best_start and plan_charging services 2026-01-20 11:47:26 +00:00
refresh_user_data.py feat(services): add find_best_start and plan_charging services 2026-01-20 11:47:26 +00:00