Need a ride on Bribie Island? This site is for transport operators. Book your ride at dycomdrive.com.au →
Talk to us
← All stories
The carBy Bruce Muir

Charging an EV9 off the roof

The lesson

Test the stop, not just the start. Then add a hard stop anyway.

Here’s the setup. Solar on the roof, a seven-seat EV9 in the driveway, and from 15 August 2026 an Alinta time-of-use electricity plan that reads like a dare. My aim for the car was simple: run it off the roof when the sun’s out, on the cheapest grid power when it isn’t, and stay out of peak unless I choose to be there.

This is the short version, with the numbers. The long, nerdy version, with the whole Home Assistant setup, is on my other site: Chasing Sunbeams.

The tariff

  • 8c a kilowatt-hour from midnight to 6 am, every day;
  • 39.9c from 4 pm to 8 pm on weekdays (peak);
  • 25.6c and 30c at other times;
  • 2c for every kilowatt-hour of solar I send back to the grid.

The 2c is the number that matters. Send a kilowatt-hour from the roof to the grid and I get 2c for it. Put it in the car instead and it saves me between 8c and 40c. So the rule wrote itself: use the roof first, then the 8c window, and stay out of peak.

Home Assistant bar charts for one day, 29 August: steady grid use from midnight to 6 am, then rooftop solar covering the house from mid-morning to late afternoon, with some sent back to the grid.
One day for the whole house, 29 August. The blue bars before 6 am are mostly the car on the 8c rate, and they stop dead at six. Then the sun takes over, and the purple below the line is what went back to the grid for 2c.

Taking the charger off the cloud

The car plugs into a portable 15 amp charger at home, a Kolanky. It’s a rebadged Tuya unit, and out of the box it only talks to the Tuya cloud, through a phone app. That would make my charging depend on a server in another country. So Home Assistant, the software that runs the house, talks to the charger directly over the home network instead. It can switch the charger on and off, and set its current anywhere from 6 to 15 amps.

It didn’t go quietly. The first reading Home Assistant got from it said the house was running at 22 volts. My house is not, in fact, running on a car battery. The readings were just scaled wrong, and once that was fixed they told the truth.

The current took longer to catch. Ask the charger for 16 amps, its theoretical maximum, and it ignores you and holds a low current. I found that out when a full-power overnight charge was quietly running at 6 amps. 15 is the real ceiling.

Day one: the charge that would not stop

Here’s where I got humbled. The first live run, on 24 August 2026, started on daytime solar exactly as planned. Then it didn’t stop. The sun went down and the charger kept pulling a full 15 amps from the grid. It rode the sunset straight into the 39.9c peak, the most expensive four hours of the day.

The logic was right. One line of it wasn’t: a time calculation that subtracted a time with no time zone from one with a time zone. Home Assistant threw an error, the “stop” branch died quietly, and nothing else noticed. I fixed it the same day and added a hard stop, so a solar session can never run on into the night or the peak window.

What I took from it: an automation that fails silently fails expensively. Test the stop, not just the start.

Clouds, and the 15-second loop

My first rule for solar charging was blunt: if the house starts drawing more than 500 watts from the grid, stop. Sounds sensible. It isn’t. Solar is a twitchy signal, and every passing cloud tripped the rule and ended the session. Worse, an EV9 that has been idle a while politely ignores a charger asking it to start, so after each stop the car often stayed asleep. A partly cloudy afternoon went charge, stop, snooze, charge, stop, snooze.

I should have built it the other way from the start: when the surplus shrinks, wind the amps down; don’t cut off. Since 29 August there are two loops. A slow one, every two minutes, decides only whether to charge. A fast one, every 15 seconds, decides only how hard. Ask a jittery signal “should I stop?” every 15 seconds and you’ve built a strobe light. Ask it “should I ease off a notch?” and you’ve built cruise control.

How it works now

  • In the sun, every 15 seconds Home Assistant looks at how much power the house is sending to or taking from the grid, and nudges the charging current up or down to match. The aim is for the car to soak up the spare solar without drawing from the grid. When a cloud passes, the current drops instead of the charge stopping.
  • Overnight, it charges at full current in the 8c window.
  • Every day, the car stops at 80%. Before a long trip, it goes to 100%.
  • When I need it now, a manual “charge now” switch charges at full current at any hour, peak included, and turns itself off when the car is unplugged.
A Home Assistant dashboard card for solar EV charging. The car is drawing 2,933 watts, the panels are making 2,566 watts and the house is taking 1,056 watts from the grid, and the charge current is set to 8 amps. Sliders set the start and stop thresholds and the 6 to 15 amp range.
Caught mid-adjustment. The panels are making 2.6 kW, the car is still pulling 2.9 kW and the house is taking about 1 kW from the grid, so it's winding the current down to 8 amps. Every threshold is a slider, because the one thing I know about tariffs is that they change.

Sharing with the pool

The car eats first. The pool filter runs on whatever solar is left once the car is full, or already charging flat out with sun to spare.

That took a second go too. On its first day the pool saw the car sitting idle, decided the car was finished, and took the surplus. Then the car tried to start and found its lunch money gone. “Not charging right now” and “done charging” are different things. Now the pool only counts the car out if it’s genuinely full or unplugged, or already at full current, and it hands the surplus back straight away when the car wants it.

A Home Assistant pool control card showing the filter idle, 5 of a 100-minute daily target done, while the car draws 2,933 watts of the solar.
The pool waits its turn. Five of its 100 minutes done and sitting idle, because the car is pulling 2,933 W and the car eats first.

What it actually cost

From 29 August 2026, Home Assistant has metered the car’s home charging by tariff window. Over the 40 days from 29 August to 8 October 2026:

  • the car travelled 2,411 km (that includes private driving, not just paid trips);
  • it took 507.6 kWh at the wall at home, and about 75 kWh more in three charges at public charging stations: about 580 kWh in all;
  • of the home charging, 72% went in during the 8c overnight window, 24% in the 30c shoulder window (mostly daytime), 2.6% at the 25.6c off-peak rate and 1.4% at peak;
  • about 117 kWh came straight off the roof: about a fifth of everything the car took, and about 23% of its home charging. Charging in the shoulder window was 93.5% solar;
  • the panels made 993 kWh in that time, and we still exported 417 kWh at 2c.
The car’s energy by source: solar off the roof 117.0 kWh, grid at 8c overnight 366.0 kWh, grid at other times 21.9 kWh, public charging about 75 kWh, of about 580 kWh.
  • Solar off the roof: 117.0 kWh
  • Grid at 8c overnight: 366.0 kWh
  • Grid at other times: 21.9 kWh
  • Public charging: about 75 kWh
Where the car’s energy came from, 29 August to 8 October 2026 (40 days): about a fifth straight off the roof. Home charging is metered: our method accounts for 504.9 kWh of the 507.6 kWh the charger’s meters recorded, within half a percent. The three public charges are our own approximate figure. How we worked it out, and what these numbers are not.
The car’s energy by source, kilowatt-hours, 29 August to 8 October 2026
SourcekWh
Solar off the roof117.0
Grid at 8c overnight (midnight to 6 am)366.0
Grid at other times21.9
off-peak (25.6c)8.0
shoulder (30c)7.8
peak (39.9c)6.1
Home charging accounted for504.9
Public charging (three charges, approximate)about 75
All the car’s energyabout 580

The peak charging was a choice. Most of it is one top-up: on Thursday 1 October I put 5.6 kWh in at peak price, on purpose, so the car was ready for a trip. That’s what the “charge now” switch is for. The rest, about 1.3 kWh over the 40 days, is the charger’s own standby draw counted in the peak window, plus a few short charges that ran into it.

What the home charging cost. Counting the grid power at the price we paid, and the solar at the 2c we gave up by not exporting it, the home charging cost about $38.40: about 7.6c a kilowatt-hour.

Per kilometre. All the charging together, public included, comes to about 24 kWh per 100 km at the wall. I haven’t counted what the three public charges cost, so the per-kilometre figure here is at home rates: about $1.80 per 100 km.

For comparison, at the same consumption:

If every kilowatt-hour had costPer 100 km
Our home average (about 7.6c)about $1.80
8c (all overnight)about $1.90
30c (all at the shoulder rate)about $7.30
39.9c (all at peak)about $9.60

Charging at peak price all the time would cost more than five times as much. Home Assistant’s own running total prices every daytime kilowatt-hour as if it came from the grid; on that basis the home-rate cost would be about $3.40 per 100 km. Treat that as the upper bound.

For one trip: Bribie Island to Caboolture Hospital is about 28 km. At about 24 kWh per 100 km that is about 6.8 kWh: at home rates, about 50c of electricity one way, and about a dollar there and back, counting the drive home empty. At peak rates the same one-way trip would be about $2.70.

What these numbers are not

  • The public charging is approximate. The home charging is metered; the three public charges are my own figure of about 75 kWh, so every figure that includes them is an “about”.
  • At home rates. The cost per kilometre and per trip uses what home charging cost. What the public charges cost is not in any dollar figure here.
  • Energy only. No tyres, servicing, insurance, registration, wear on the battery, or the car itself. About $1.80 per 100 km is the electricity, not the cost of running the car.
  • At the wall. About 24 kWh per 100 km includes charging losses and the car’s climate control while parked. The car’s own figure, measured at the battery, is 15.6 kWh per 100 km.
  • Conservative on solar. The method counts any grid power drawn while the car was charging as the car’s, so if anything I’ve understated the solar share.

How I worked it out: the meter readings by tariff window, five-minute averages of the house’s grid connection and the charger’s power, and the odometer at the start and end, all from Home Assistant’s history, plus my own count of the three public charges. 507.6 kWh plus about 75 kWh is about 580 kWh; over 2,411 km that is about 24 kWh per 100 km. The method prices 504.9 kWh of the 507.6 kWh the meters recorded. That comes to $38.43, or 7.6c a kilowatt-hour. Spread over all 507.6 kWh it’s still about 7.6c. And 24 kWh at 7.6c is about $1.80. The solar share and the home meters agree to within half a percent.

If you want to build the same thing, the Home Assistant configuration is all in Chasing Sunbeams.

Kolanky and Alinta are simply what I use; I’m not recommending them.

Thinking about your own booked-hire service?

Tell me where you’re up to. I’ll tell you honestly what I think the next step is, including when the answer is “not yet”. The first conversation is free.