Thank you! That seems to have solved it 
from(bucket: "test-bucket-new")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => contains(value: r["_measurement"], set: ${devices:json}))
|> filter(fn: (r) => r["_field"] == "WheelBasedVehicleSpeed")
|> aggregateWindow(every: v.windowPeriod, fn: mean)
|> yield(name: "mean")