Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }