Fetching Daytime only Power Consumption

Hello together,

I’m collecting my CurrentPower and Total Powerconsumption and than using below Query to fetch Daily and hourly consumption.
Now I would like to understand how much powerconsumption could be covered with SolarPanels during Daytime,
There for I like to get a daily value e.g. TotalConsumption from 18:00 minus TotalConsumption from 07:30.

Any Idea how the Query has to be adapted for the same?

from(bucket: "nrdb")
 |> range(start: -31d)
   
  |> filter(fn: (r) =>
    r._measurement == "Powermeter" and
    r._field == "TotalConsumption"
          )
 |> aggregateWindow(
    every: 1d,
    fn: last,
    column: "_value",
    timeSrc: "_stop",
    timeDst: "_time"
 )
|> timeShift(duration: -2h)
|> difference(nonNegative: true)

Thx & KR

For a start below works for me if some one has a more elegant way please share:

import "date"

from(bucket: "nrdb")
 |> range(start: -31d)
   
  |> filter(fn: (r) =>
    r._measurement == "Powermeter" and
    r._field == "TotalConsumption"
          )



 |> aggregateWindow(
    every: 1h,
    fn: last,
    column: "_value",
    timeSrc: "_stop",
    timeDst: "_time"
 )
|> timeShift(duration: -2h)
|> difference(nonNegative: true)

 |>filter(fn: (r) => date.hour(t: r["_time"]) >= 8)
 |>filter(fn: (r) => date.hour(t: r["_time"]) <= 18)

 |> aggregateWindow(
    every: 1d,
    fn: sum,
    column: "_value",
    timeSrc: "_stop",
    timeDst: "_time"
 )