public void GetMeasurements_ForModule(Type moduleType) { // Arrange var measurementService = new MeasurementsService(_authenticationToken); string firstDevice = _user.DeviceIds.First(); var devicesService = new DevicesService(_authenticationToken); var stationDetails = devicesService.Get(); Module module = stationDetails.Modules.First(x => x.GetType() == moduleType); // Act List <SensorMeasurement> measurements = measurementService.Get(firstDevice, module); // Assert Assert.IsNotNull(measurements); }
public void GetMeasurements_ForModule(Type moduleType) { // Arrange string firstDevice = _user.DeviceIds.First(); // Get the (rain) module to look up measurements from. var devicesService = new DevicesService(_authenticationToken, new HttpWrapper()); var stationDetails = devicesService.Get().Result; Module module = stationDetails.Modules.First(x => x.GetType() == moduleType); var measurementService = new MeasurementsService(_authenticationToken, new HttpWrapper()); // Act List <SensorMeasurement> measurements = measurementService.Get(firstDevice, module).Result; // Assert Assert.IsNotNull(measurements); }
private void PushData(MeasurementsService service, Device device, Module module = null) { // Get measures var measures = service.Get(device.Id, module); // Push device/module info if (module != null) { PackageHost.PushStateObject <Module>(string.Concat(module.Name.Replace(" ", ""), ".Info"), module, "NetAtmo.Module"); } else { PackageHost.PushStateObject <Device>(string.Concat(device.ModuleName, ".Info"), device, "NetAtmo.Device"); } // Push measure foreach (SensorMeasurement measure in measures.Result) { string sensorType = measure.GetType().Name; string stateObjectName = string.Concat(module != null ? module.Name.Replace(" ", "") : device.ModuleName, ".", sensorType.Replace("Measurement", "")); var metadatas = new Dictionary <string, object>() { { "TimeStamp", measure.TimeStamp }, { "ModuleId", module?.Id ?? device.Id }, { "ModuleName", module?.Name ?? device.ModuleName } }; var rainMeasurement = measure as RainMeasurement; if (rainMeasurement != null) { metadatas.Add("HourlySum", rainMeasurement.MillimetersIn60Minutes); metadatas.Add("DailySum", rainMeasurement.MillimetersIn24Hour); } PackageHost.PushStateObject <decimal>(stateObjectName, measure.Value, "NetAtmo." + sensorType, metadatas); } // Ok! PackageHost.WriteInfo("Successfully pushed {0} measurement(s).", measures.Result.Count); }