Time-of-Use Electricity + Home Assistant (USA, 2026): Automate the Cheap Hours
If you're on a time-of-use electricity plan in the US, the math is simple and unforgiving: every kilowatt-hour you pull during the 4 p.m. to 9 p.m. peak window costs roughly twice what it costs at 2 a.m. The savings are real. But nobody is going to start the dishwasher at 2 a.m., and your EV charger doesn't read your utility's tariff schedule on its own.
That gap — between knowing peak hours exist and actually moving load out of them — is exactly what Home Assistant on a time-of-use plan is for. One platform reads your tariff windows, decides what runs when, and tells the dishwasher, the EV charger, the pool pump and the water heater to behave accordingly. You stop thinking about it after week one.
What "time-of-use" actually means in the US (and why it varies wildly)
There is no single national TOU tariff. Every investor-owned utility files its own with the state PUC, and the structures are not interchangeable. The big three flavors:
Fixed-window TOU — the most common shape. Your utility defines a peak window (typically late afternoon and evening) at one rate, and an off-peak rate for everything else, sometimes with a third "super off-peak" tier overnight. PG&E's E-TOU-C in California is the textbook example: peak is 4 p.m. to 9 p.m. every day, year-round. Summer (June through September) peak is roughly twice the off-peak rate; winter peak is closer to 1.3x. ConEd's residential time-of-use rate in New York runs peak Monday through Friday from 8 a.m. to 10 p.m., off-peak overnight and all weekend, with a "super-peak" 2 p.m. to 6 p.m. on summer weekdays. Eversource and National Grid use similar shapes in New England.
Hourly / real-time pricing — the rate changes every hour based on the wholesale market. ComEd's Hourly Pricing program in Illinois passes through the PJM real-time price, and ComEd publishes a 5-minute price feed plus an hour-average feed. This is closer in spirit to UK Octopus Agile than to fixed-window TOU: the cheap hours move every day, so you cannot just set a static schedule.
EV-specific TOU plans — most utilities now offer an EV rider. PG&E's EV2-A rate, for example, offers a deep midnight-to-3 p.m. off-peak rate aimed at overnight charging, in exchange for a punishing 4 p.m. to 9 p.m. peak that applies to the whole house. These plans only make sense if you can keep nearly all flexible load off-peak.
The point: a guide that says "set everything to run after 9 p.m." is wrong for half the country. The first job is figuring out exactly which windows your specific utility charges for, and treating them as authoritative.
The loads that actually pay back automation
You don't need to automate everything. Five categories carry almost all the savings on a TOU plan.
EV charging. This is the single biggest lever. A Level 2 charger pulls 7-11 kW. An overnight 40 kWh top-up shifted from a 30¢/kWh peak rate to a 12¢/kWh super off-peak rate is around $7 saved per session, every session. If you charge five days a week, that's $140 a month before you've automated anything else.
Electric water heating. A standard 50-gallon resistance tank cycles two to four times a day to maintain setpoint. Heating it during peak hours is wasteful; pre-heating during off-peak and letting it coast through peak is the play. A heat-pump water heater (Rheem ProTerra, A.O. Smith Voltex) does this even more efficiently, and Aquanta is the retrofit controller for traditional tanks that don't have native scheduling.
HVAC pre-cooling and pre-heating. On hot summer afternoons, run the AC harder before the peak window starts to drop the indoor temp 2-3°F below setpoint, then let it drift up during peak. The thermal mass of the house carries you through. Heat pumps love this pattern. Most modern smart thermostats — Ecobee, Honeywell T9, Nest Learning, Mysa for baseboards, Sensibo for ductless mini-splits — expose the setpoint to Home Assistant cleanly.
Pool pumps and dehumidifiers. Pool pumps on a 6-8 hour daily cycle are a perfect match for off-peak windows because the pool doesn't care when it gets filtered. Dehumidifiers in basements are similar. Both run continuously by default and do not need to.
Dishwashers, washers, dryers. The smallest individual saving but the easiest behavioral shift. Modern Bosch, Samsung, LG and GE machines support delayed start over Wi-Fi; older machines work fine on a smart plug if they resume cleanly from a cold start (test once before trusting an automation).
Reading your tariff into Home Assistant
Three approaches, depending on what your utility offers.
Fixed-window TOU — encode the schedule yourself. This is the most common situation. Create a binary_sensor or input_boolean template helper that flips on during your peak window and off otherwise. PG&E E-TOU-C is a one-line template (now().hour >= 16 and now().hour < 21). ConEd's TOU is a touch more complex because of the weekday/weekend split and the summer super-peak window, but it's still a 10-minute job. Once that helper exists, every automation hangs off it.
ComEd Hourly Pricing — use the official integration. Home Assistant ships a built-in ComEd Hourly Pricing integration that reads the 5-minute and current-hour-average feeds directly from ComEd's public API. No HACS, no key, no account. Two sensors land in your dashboard, and automations can compare against thresholds (e.g. "below 4 cents — run the dryer").
Other utility hourly pricing — varies. A handful of US utilities and competitive-market retailers (some Texas retail providers under ERCOT, parts of Massachusetts under the Mass Save program) publish hourly or real-time prices via API, but coverage is patchy and there is no single Home Assistant integration that handles all of them. If your utility doesn't have a published feed, fall back to the fixed-window approach using the published TOU schedule on your bill. The Nord Pool integration that UK and European households use does not cover US markets — don't waste an afternoon trying to make it work.
For solar households, the Electricity Maps integration gives you grid carbon intensity rather than price, which is a different decision axis but useful if you want to align discretionary loads with cleaner grid hours.
Three TOU automations to build first
Build these in order. Each one is independent, so you can stop after any of them and the previous ones keep paying.
1. EV charging — off-peak only, with a hard peak block
The pattern: tell the charger when to run, not the car. Cars sleep, lose connectivity, and forget overnight schedules; the charger doesn't. The reliable shape is a Home Assistant automation that enables charging at the start of off-peak, disables it at the start of peak, and never lets charging happen during peak under any circumstances.
For specific chargers:
- ChargePoint Home Flex — the official ChargePoint integration supports start/stop and current limiting from HA.
- Wallbox Pulsar Plus — the official Wallbox integration handles pause/resume and current control via the MyWallbox cloud.
- Tesla Wall Connector (Gen 3) — the native HA integration is read-only (sensors only, no control). To actually schedule the charge you either control the car via the Tesla / Teslemetry integration, or you put the Wall Connector behind a contactor / dedicated EV smart panel that HA can switch.
- Emporia EV charger, Grizzl-E, JuiceBox — coverage varies; community integrations exist for most, but always check that control (not just monitoring) is supported before you buy on the strength of HA compatibility.
Don't run vehicle-side and HA-side schedules at the same time. Pick one source of truth.
2. Water heater pre-heat into off-peak
Two patterns depending on the hardware.
If you have a smart water heater (Rheem EcoNet, A.O. Smith with iComfort, Aquanta retrofit controller), HA can move the setpoint directly. Bump it up by 5-10°F during the last two hours of off-peak so the tank stores extra heat at the cheap rate, then drop it back to normal at the start of peak so the heater doesn't fire during expensive hours.
If you have a dumb tank, put a 240V smart contactor (an Aeotec ZW140 or similar) on the breaker and let HA control the circuit. Run during off-peak, off during peak. This is more aggressive than setpoint shifting and will eventually cause a cold-shower complaint if you misjudge it — start with shorter peak-off windows and extend.
A heat-pump water heater on a thermal pre-heat schedule is the cheapest hot water in the country on a TOU plan. The COP advantage of the heat pump compounds with the off-peak rate.
3. HVAC pre-cool / pre-heat with peak setback
Drop the cooling setpoint by 2°F starting an hour before peak. Hold through the first 30 minutes of peak. Then let it drift up by 3-4°F until peak ends, at which point return to normal. The house is briefly warmer in the late afternoon, but the AC is running on cheap power, and the building's thermal mass carries you through the expensive window.
Heat pumps in winter benefit from the inverse — pre-heat hard before peak, coast through. Mysa and Sensibo handle this well for baseboards and mini-splits respectively. For forced-air systems, Ecobee and Honeywell T9 expose enough of the schedule API for HA to drive cleanly.
This is the automation most likely to generate household comfort complaints, so tune it cautiously. The 2°F pre-cool is invisible; a 6°F pre-cool is somebody putting a sweater on at 7 p.m.
The NEM 3.0 caveat for California solar households
If you're in California with rooftop solar under NEM 3.0 (the Net Billing Tariff that replaced NEM 2.0 in April 2023), TOU automation matters more, not less.
Under NEM 2.0, exporting a kWh paid you roughly the retail rate — around 30¢/kWh on most plans. Under NEM 3.0, export rates are based on the California Avoided Cost Calculator and average roughly 5-10¢/kWh, with the higher values concentrated in the late-summer evening hours when grid stress is real. Industry analyses put the average at around 8¢/kWh, a roughly 75% reduction from NEM 2.0. Your export vintage is locked in for nine years from the date you receive Permission to Operate.
The implication for HA automation: self-consumption now beats export. If you can run the dishwasher, the pool pump, the EV charger or the water heater during your solar production window, you're avoiding a 25-35¢/kWh import and giving up an 8¢/kWh export — a clear win. Before NEM 3.0 the math was much tighter. Now it isn't.
A typical California NEM 3.0 + TOU automation stack:
- Soak up midday solar with shiftable loads (water heater, pool pump, EV).
- Pre-cool the house aggressively in the 2 p.m. to 4 p.m. solar peak.
- Discharge a home battery (Powerwall, Enphase IQ Battery, FranklinWH) during the 4 p.m. to 9 p.m. peak to avoid imports at 30¢+/kWh.
- Charge the battery from solar the next day, never from the grid.
That stack only works because Home Assistant can see all four systems at once. The individual vendor apps cannot.
What goes wrong
A few honest warnings.
Tariff changes catch automations off guard. Utilities re-file TOU schedules every couple of years. PG&E shifted peak from 4 p.m.-9 p.m. to a different window in some prior tariff revisions, and the announcement runs through one bill insert and one email. If you hard-coded hour >= 16 into a template, you'll keep saving against the old tariff while the bill silently grows. Subscribe to your utility's tariff-change emails. Re-check the schedule once a year.
Daylight saving time is a real bug source. PG&E peak is 4 p.m. to 9 p.m. local time. If your HA instance is in UTC and your templates use UTC arithmetic, you'll be off by an hour for half the year. Use now() (local) or now().astimezone(...), never utcnow(), for tariff windows.
Utility integrations break. ComEd's API has been broken in HA core at least once historically — a documented issue on the home-assistant/core repo where the integration stopped reporting prices. Build automations to fail safe: if the price sensor hasn't updated in two hours, treat it as peak (don't run discretionary loads). The cost of a bad assumption in the cheap direction is a peak-priced load running for hours.
EV chargers have their own logic. Almost every charger ships with a built-in scheduler. If you tell HA to start charging at midnight while the charger app is also set to start at 1 a.m., one of them will win and you may not know which until the bill arrives. Pick one source of truth per charger and disable the other.
Smart plugs power-cycling appliances. Test each appliance once, deliberately, before letting an automation run it overnight. A few dishwashers and washing machines do not resume cleanly from a cold start.
Who this is right for
TOU automation pays back fastest if you have at least one of: an EV charging at home regularly, electric resistance or heat-pump water heating, a pool pump, ducted electric HVAC in a climate that runs the AC hard. If your house is gas-heated, gas-cooked, line-dried and you don't have an EV, the savings are smaller and the complexity probably isn't worth it.
For everyone else, the savings are concrete and recurring. A household on PG&E E-TOU-C with one EV, electric water heating and modest pre-cooling typically lands somewhere between $40 and $120 a month in shifted load value, depending on usage. We're not going to put a precise number on it because it depends on too many variables, but the EV charger alone usually pays for the rest of the stack.
Where habbb fits
habbb is a managed Home Assistant service for US households. The kit path (UK only) is not available here. The US service is BYOHA at $60/month — you bring or buy your own Pi 5 (or Home Assistant Green) running Home Assistant OS, and we adopt the running instance and run it for you from there. (Home Assistant Yellow also works fine if you already own one; Nabu Casa took Yellow out of production in early 2026, so it's not a current buy recommendation.) Stripe Tax adds your state's sales tax at checkout.
The subscription covers what we keep working: the Home Assistant install, the Cloudflare tunnel for remote access, daily encrypted backups, tested updates, monitoring, and tweaks to existing automations. New device categories and new automation projects are quoted separately — the boiler-service analogy fits here. We keep what you have working. Adding a new radiator is a separate job.
What we don't do: we don't switch your tariff for you, we don't argue with your utility, and we don't make promises about specific dollar savings. We do build and maintain the automations that put the dishwasher, water heater, EV charger and HVAC where the cheap hours are, and we keep them running through HA core updates, integration breakages and the occasional API change.
FAQs
Do I have to be on a time-of-use plan for any of this to make sense? On a flat-rate plan, the savings from shifting load between hours are zero by definition — every kWh costs the same. Smart-home automation still has value (presence-aware HVAC, peak-demand reduction if you're on a demand charge, solar self-consumption), but the specific patterns in this guide assume your utility charges different rates at different hours. Check your bill: if you see "Peak" and "Off-Peak" line items, you're on TOU.
What's the difference between TOU and ComEd Hourly Pricing? TOU has fixed peak/off-peak windows defined by your utility — same hours every day. Hourly Pricing changes the rate every hour based on the real-time wholesale market, so the cheap hours move. ComEd in Illinois is the main residential program in the US that does this; most other utilities run fixed-window TOU. Both can be automated in Home Assistant, but the automation logic is different — fixed-window uses a time-of-day template, hourly pricing uses a price-threshold template against a live sensor.
Will pre-cooling my house actually save money or just shift it? It saves money on a TOU plan because the rate is different. You pay less per kWh during the pre-cool window than you would during peak, and the building's thermal mass means you don't need to recover the full delta during peak. On a flat-rate plan it would just shift, with no saving. On TOU, the typical net is 10-25% off cooling costs in summer, depending on house insulation and climate.
Does this work with NEM 3.0 in California? Yes — and arguably it matters more under NEM 3.0 than NEM 2.0, because the export rate is now far lower than the retail rate. Self-consuming a kWh saves you roughly the difference between the retail import rate (25-35¢) and the export rate (~5-10¢ on average). Home Assistant is the layer that decides which loads run when, and it's where the NEM 3.0 self-consumption strategy actually gets implemented.
Can Home Assistant control my EV directly, or only the charger? Both, depending on the brand. Tesla vehicles can be controlled via the Tesla / Teslemetry integration (start/stop charging, set charge limit). Most other manufacturers expose limited cloud APIs that HA can read but not always write to. The reliable answer for non-Tesla EVs is to control the charger (Wallbox, ChargePoint, Emporia, etc.), which has a well-defined API and doesn't depend on the car staying online.
What if my utility doesn't publish an API? Most don't, and you don't need one for fixed-window TOU. The peak/off-peak schedule is on your bill or your utility's tariff page; you encode it as a time-of-day template in Home Assistant once and you're done. APIs only matter for hourly pricing and for utilities that want to push demand-response signals; for the typical PG&E, ConEd, Eversource or Duke residential TOU customer, no API is involved.
Is this worth doing if I rent? Probably not at the scale described in this guide — most of the high-ROI automations involve hardware (EV charger, smart water heater, smart thermostat, smart contactor on a circuit) that you can't easily install in a rental. The smaller wins (smart plug on a portable AC unit or dehumidifier, dishwasher delayed-start) are still doable and are a fine starting point if you're curious about Home Assistant generally.
Get in touch
If you're on a TOU plan, you've got at least one big flexible load (EV, water heater, pool, HVAC), and you'd rather not spend the next six weekends learning Home Assistant — that's exactly what habbb is for.
You can subscribe directly for the BYOHA plan at $60/month + state sales tax, or drop us an email first with what you've got and what you're trying to shift. We'll come back within a working day.
Time-of-use plans reward attention. Home Assistant is how you stop having to pay it.
Sources for the verified claims in this guide:
- PG&E E-TOU-C tariff schedule
- PG&E Time-of-Use Rate Plans overview
- Con Edison Time-of-Use Rates
- ComEd's Hourly Pricing program
- Home Assistant ComEd Hourly Pricing integration
- Home Assistant Tesla Wall Connector integration
- Home Assistant Wallbox integration
- Home Assistant ChargePoint integration
- Aurora Solar — Explaining and modeling California's Net Billing Tariff (NEM 3.0)
- EnergySage — NEM 3.0 in California