cheapest_hours
TIMING tool. Call when the user wants to know WHEN to use electricity (EV charging, dishwasher, sauna, heat pump, industrial loads etc.). Also good for "is electricity cheap now?" questions.
Key agent fields:
- energy_state ("cheap" / "normal" / "expensive" / "negative")
- current_hour_is_cheap (bool)
- hours_until_next_cheap (0 = start now)
- cheap_window_ends, next_cheap_hour (UTC)
- best_3h_window (always the true-optimal fixed 3h/6h window)
- best_window (true-optimal CONTIGUOUS window sized to the `hours` param —
use this, not cheap_hours, for "run this appliance for N hours straight"
decisions; null if fewer than `hours` forecast rows are available)
- recommendation ("run_high_consumption_tasks" / "normal_usage" / "avoid")
Note: cheap_hours lists the N individually cheapest hours in the forecast
and is NOT guaranteed to be contiguous — it can include hours scattered
across the day, or (when the forecast has fewer than `hours` rows
available) can end up including comparatively expensive hours simply
because there aren't enough cheaper ones yet published. Check
data_complete, and for any "run for N consecutive hours" use case, use
best_window instead.
All timestamps are UTC — convert to local time before presenting.
data_complete: false = treat signals with caution.
Not available: AU, NZ, KR, KR-JEJU, ZA, PH-LUZ, PH-VIS, PH-MIN.
Args:
zone: Any supported zone (see spot_price for full list).
Use exact codes only — do not guess or abbreviate.
AU, NZ, KR, KR-JEJU, ZA, PH-* return available: false.
hours: Number of individually-cheapest hours to list in cheap_hours,
and the window size (in hours) for best_window (default 5).
window: Hours to look ahead (default 24).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| zone | No | Electricity market zone code. AU, NZ, KR, ZA, PH-* return available: false. See spot_price for full zone list. | FI |
| hours | No | Number of cheapest hours to return. Default: 5. Range: 1–24. | |
| window | No | Hours ahead to look. Default: 24. Range: 1–48. |