I agree that the documentation here is unclear; I will be updating it in the future. The properties function as follows:
Start: Beginning of range in milliseconds.
End: End of range in milliseconds since Epoch. 0 or blank means current time, and negative values are milliseconds into the past from now. End can also be an Epoch timestamp.
Duration: The duration of time over which to look (when not using start).
Resolution: The time segments over which to perform the data aggregation; groups the data together.
These properties do not all function concurrently. For example, trying to use end, start, and duration together will result in duration being ignored altogether.
For your use case, I would recommend using start, end, and resolution. You will be able to use start and end for your date range, resolution for the length of your aggregation, and can define a deviceID to get your historical data. Here is an example:
Hopefully this helps,