I pay different prices for electricity depending on when I use it. My utility calls this Time-of-Use (TOU) pricing. They call it a "choice." I call it an opportunity. Because when you've got a 16.16 kW DC solar array on your roof, ~96kWh of usable battery capacity in your garage, and Home Assistant orchestrating the whole thing here in Coastal Georgia, TOU pricing isn't a penalty โ it's a game you can win.
Here's exactly how I play it, what the numbers look like, and what I've learned after a year of optimization.
Understanding My Rate Structure
My utility offers a TOU plan with three tiers:
| Period | Hours | Rate ($/kWh) | Notes |
|---|---|---|---|
| Super Off-Peak | 10 PM โ 6 AM | $0.06 | Cheapest. Grid charging window. |
| Off-Peak | 6 AM โ 4 PM, 8 PM โ 10 PM | $0.11 | Normal rate. Solar production hours. |
| Peak | 4 PM โ 8 PM | $0.21 | Most expensive. Evening demand. |
The spread between super off-peak and peak is $0.15/kWh. That's the arbitrage opportunity. Every kWh I can shift from peak to super off-peak saves me $0.15. Every kWh I can replace with solar saves me $0.11-0.21 depending on when I use it.
The Strategy
My optimization strategy has four pillars:
Pillar 1: Never Import During Peak
This is rule number one. Between 4 PM and 8 PM, my battery and solar (what's left of it in the late afternoon) cover everything. The inverters are configured to prioritize battery discharge during these hours, and my automation verifies that grid import stays at zero.
In practice, this means the battery needs at least 25-30% SOC at 4 PM to cover a typical evening. On high-AC days, it needs 35-40%. My automation starts checking at 2 PM โ if SOC is below the threshold and solar forecast for the remaining afternoon is poor, it triggers a brief grid charge during the remaining off-peak hours ($0.11) rather than risk importing at $0.21.
Pillar 2: Solar Maximization During Off-Peak Daytime
From 6 AM to 4 PM, the 16.16 kW DC solar array is producing. Every watt that goes to the home or battery is displacing $0.11/kWh off-peak electricity. I schedule high-consumption tasks during this window:
- EV charging: Solar surplus goes to Augustus first
- Laundry and dishwasher: Run between 10 AM and 2 PM
- Water heaters: Two electric water heaters on timers to run during solar production hours
These aren't inconvenient changes. The dishwasher doesn't care when it runs. I just shifted the timers.
Pillar 3: Strategic Super Off-Peak Grid Charging
Super off-peak at $0.06/kWh is cheap enough that it sometimes makes sense to charge the battery from the grid. But not always. My automation considers:
- Tomorrow's solar forecast: If sunny, skip grid charging โ solar will fill the ~96kWh battery capacity for free
- Current SOC: If above 60%, probably fine without grid charging
- Day of week: Weekends I'm home and use more โ might need extra buffer
- Weather: Multiple cloudy days ahead? Charge now
The decision logic runs at 9:45 PM, right before super off-peak starts at 10 PM:
IF tomorrow_solar_forecast < 30 kWh AND battery_soc < 70% THEN "Charge Batteries" โ grid powers home and charges battery to 80% ELIF battery_soc < 40% THEN "Charge Batteries" โ grid powers home and charges battery to 60% ELSE "Battery First" or "Grid First" based on current conditions
The three modes:
- Charge Batteries: Grid powers home loads AND charges the battery bank
- Battery First: Home runs off stored battery power (no grid)
- Grid First: Grid powers home loads, batteries not charged
Over the year, I grid-charged overnight about 40% of nights โ mostly in winter and during cloudy stretches.
The Home Assistant Implementation
Rate Schedule Entity
I created a template sensor that always knows the current rate:
template:
- sensor:
- name: "Current Electricity Rate"
unit_of_measurement: "$/kWh"
state: >
{% set hour = now().hour %}
{% if hour >= 0 and hour < 6 %}
0.06
{% elif hour >= 16 and hour < 20 %}
0.21
{% else %}
0.11
{% endif %}
This drives the color coding on my dashboard โ green during super off-peak, yellow off-peak, red peak. Visual reminder of what every watt costs.
Cost Tracking
I track running costs in real-time using a utility meter helper combined with the rate sensor:
- Daily grid cost: Sum of (grid_import ร current_rate) per interval
- Daily avoided cost: Sum of (solar_used + battery_discharged) ร current_rate
- Monthly running total: Accumulated daily costs
- Projected monthly bill: Running total + (daily average ร remaining days)
The dashboard shows these in a card I look at every morning. Seeing "$4.20 projected bill" for the month is deeply satisfying when the same usage would have been $160 on a flat rate without solar.
Automation Group
The TOU automations are grouped together:
- TOU Mode Switcher โ Changes battery operation mode at each rate transition
- Solar Forecast Evaluator โ Runs at 8 PM, checks tomorrow's forecast
- Super Off-Peak Charge Decision โ Runs at 9:45 PM, decides whether to grid-charge overnight
- Peak Guardian โ Runs continuously during 4-8 PM, ensures zero grid import
- Monthly Rate Comparison โ On the 1st of each month, calculates what I would have paid on flat rate
The Results: Actual Billing History
I flipped the breaker for solar in late April 2025. Here's my actual electric bill history, pre- and post-solar:
Pre-Solar (Nov 2024 โ Apr 2025)
| Month | Bill |
|---|---|
| Nov 2024 | $247 |
| Dec 2024 | $233 |
| Jan 2025 | $194 |
| Feb 2025 | $294 |
| Mar 2025 | $199 |
| Apr 2025 | $210 |
Pre-solar average: $229/mo
Post-Solar (May 2025 โ Feb 2026)
| Month | Bill | Notes |
|---|---|---|
| May 2025 | $109 | First full solar month |
| Jun 2025 | $145 | |
| Jul 2025 | $125 | |
| Aug 2025 | $161 | |
| Sep 2025 | $117 | |
| Oct 2025 | $44 | Lowest bill |
| Nov 2025 | $83 | |
| Dec 2025 | $124 | |
| Jan 2026 | $154 | |
| Feb 2026 | $142 |
Post-solar average: $120/mo
Summary
- Pre-solar 6-month total: $1,377 (avg $229/mo)
- Post-solar 10-month total: $1,204 (avg $120/mo)
- Average monthly savings: ~$109 (48% reduction)
- Projected annual savings: ~$1,300+
The numbers speak for themselves. October 2025 at $44 is my favorite bill โ that's less than the connection fee alone on a bad month pre-solar.
Peak Grid Import
This is my proudest metric. Out of 365 days:
- 312 days: Zero peak grid import
- 41 days: Less than 1 kWh peak import
- 12 days: More than 1 kWh peak import (extended heat waves, system maintenance)
Most months I don't import a single watt during peak hours. That's the goal โ keep every possible kWh off the $0.21 rate.
Cost Per kWh Consumed
My effective cost per kWh consumed (total bill รท total consumption) dropped significantly after solar came online. For comparison, my neighbor without solar pays about $0.14/kWh. I'm paying a fraction of that for the same electricity.
Mistakes I Made
Underestimating summer peak demand. My first summer, the AC compressor starting up during peak caught me off guard a few times. The initial surge draws 4-5kW for a few seconds, faster than my automation could respond. Fix: I now pre-stage the battery discharge rate 15 minutes before peak starts, so it's already pushing power when the transition happens.
Over-optimizing. There was a period where I was tweaking thresholds daily, chasing another $0.50/month in savings. The 80/20 rule applies hard here. The basic strategy (don't import during peak, charge at super off-peak or use solar) gets 80% of the benefit. The fine-tuning gets the remaining 20% but takes 10x the effort.
Is TOU Right for You?
TOU rates benefit you if:
- You can shift consumption away from peak hours
- You have battery storage to buffer the peaks
- You have solar that produces during off-peak daytime hours
- You're willing to run some automations (or set manual timers)
TOU rates hurt you if:
- You can't shift consumption (e.g., home all day with AC)
- You have no storage or solar
- Your peak usage aligns with the utility's peak pricing
For me, with 16.16 kW solar + ~96kWh battery + Home Assistant here in Coastal Georgia, TOU is a no-brainer. The rate spread is free money if you have the tools to exploit it.
The Bigger Picture
Utilities are moving toward TOU and dynamic pricing everywhere. It's the future of the grid. The people who invest in solar, storage, and automation now are positioning themselves to benefit as these rate structures become universal. Those who don't will pay more and more for peak electricity while the grid strains under electrification.
I'm not doing this to save the planet (though that's a nice side effect). I'm doing this because the math works. And every month the math works better, because rates go up and my system is already paid for.
Play the game. Win the game.