Axon-style, straight off GET /ingest/his:
a filter picks points or equipment (equipment expands to all of its points),
hisRead picks the span, hisRollup folds long spans into buckets.
Filter words are the words a Brick class is made of (zone and air and temperature),
a Brick class in any case with its subclasses (temperature_sensor, AHU),
or a Haystack marker (ahu, temp) - no need to know Brick's spelling. Try
readAll(ahu).hisRead(today),
readAll(air and temp and sensor).hisRead(pastWeek).hisRollup(avg, 1hr),
readAll(fan and run).hisRead(thisMonth).hisRollup(avg, 1day),
readAll(zone and temperature and setpoint).hisRead(yesterday),
readAll(Temperature_Sensor).hisRead(today).
Spans resolve in your browser's zone ().