Roughly 0% for us.
We have a 16.4 kW solar system with 2 x 16 kWh Sonnen batteries. The batteries capture most surplus solar production, especially at this time of year:
View attachment 392594
View attachment 392595
I have also written software ("Energy Genie") which forecasts tomorrow's solar production (using
Solcast — data and tools to build the solar future) and energy consumption (using locally-captured time series data), then every hour models the upcoming ~550 manual charging options to determine if a manual charge from grid will reduce overall energy cost. This takes into account inverter inefficiencies etc.
At this time of year Energy Genie generally causes a manual charge for 1-2 hours during the nightly off-peak, but sometimes it surprises me with a charge late in the morning. This happens when consumption was higher than forecast in the morning, or production was lower than forecast, so it's doing a quick charge before the afternoon peak starts. Here's a chart showing what Energy Genie thinks will happen over the next 24 hours without its intervention (not a great day, the batteries will only get to about 43% state of charge):
View attachment 392597
I have considered adding the Tesla APIs to Energy Genie so it can kick off a manual charge if it forecasts surplus solar energy may "escape" to the grid. However it would not improve things very much given the default Sonnen self-consumption mode supplemented with Energy Genie overrides.