/// <summary> /// Retrieve measurements /// </summary> /// <param name="deviceId">device id to retrieve measurements for</param> /// <param name="scale">Scale for the measurements, not all Measurement Types support all scales for more info see "https://dev.netatmo.com/doc/methods/getmeasure"</param> /// <param name="measurementTypes">Measurement types to retrieve</param> /// <param name="onlyLastMeasurement">Retrieve only the last measurement</param> /// <param name="moduleId">id of the module to retirve if not supplied the measurements from the device will be fetched</param> /// <param name="optimize">optimize response data</param> /// <param name="begin">begin date of measurements to retrieve</param> /// <param name="end">end date of measurements to retrieve</param> /// <param name="limit">limit the measurements by a given amount, max = 1024</param> /// <param name="realtime">In scales higher than max, since the data is aggregated, the timestamps returned are by default offset by +(scale/2). </param> public async Task <Response <MeasurementData> > GetMeasure(string deviceId, Scale scale, MeasurementType[] measurementTypes, string moduleId = null, bool onlyLastMeasurement = false, DateTime?begin = null, DateTime?end = null, bool optimize = true, int limit = 1024, bool realtime = false) { var content = HttpContentCreator.CreateGetMeasureHttpContent(deviceId, scale, measurementTypes, moduleId, onlyLastMeasurement, begin, end, optimize, limit, realtime); var response = await Request <MeasurementData>(AppConstants.NetatmoGetMeasureUrl, content); if (response.Success) { response.Result.CreateMeasurementData(optimize, measurementTypes); } return(response); }