Proper use of mean() and group by time() + fill() in a Time Series Panel / Chart

I record data from a wallbox via Iobroker to an InfluxDB. The data gets recorded only on a certain change (0.5 kW) or at least once an hour, which leads to a low amount of datapoints.

This shows all the datapoints charging a car over one hour, while the car was drawing about 11 kW.
The line shows exactly what happend, when the car started and stopped charging as well as the correct power of 11 kW.

As soon as I use the mean() function with a time interval of 1m, it changes the picture completely.
The shown power drops down to about the half, and the charging time span doubles.

Is this the desired behaviour?

I expected to see 1m average values, means only a smoth -1m beginn and a smoth +1m end at the real time frame of one hour.
How could I achive that?

I am using Grafana v9.5.2.