Example #1
0
        public void SetAvailable(bool available)
        {
            if (IsOn)
            {
                TurnOff();
            }

            if (!available)
            {
                TemperatureReadings.Clear();
                PowerReadings.Clear();
                ReadingsUpdated?.Invoke(this, EventArgs.Empty);
            }

            IsAvailable = available;

            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(IsAvailable)));
            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(IsOn)));
            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(TurnOnEnabled)));
            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(TurnOffEnabled)));
            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(Status)));
            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(CoolerTabInfoVisibility)));
            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(CoolerTabNotOnVisibility)));
            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(IsOffVisibility)));
            PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(IsOnVisibility)));
        }
        private void getSelectedNodeTempData()
        {
            TemperatureReadings.Clear();

            foreach (string sensor in tempSensors)
            {
                //Database Stuff
                NpgsqlConnection conn = new NpgsqlConnection("Server=flick.cs.niu.edu;Port=5432;User Id=readonly;Database=aot;CommandTimeout=240");
                conn.Open();
                NpgsqlCommand command = new NpgsqlCommand("SELECT value_hrf FROM data WHERE aot_node_id = '" +
                                                          SelectedNodeId +
                                                          "' AND sensor = '" +
                                                          sensor +
                                                          "' and parameter = 'temperature' AND timestamp >= '" +
                                                          StartTime +
                                                          "' AND timestamp < '" +
                                                          EndTime + "' LIMIT 1;", conn);

                try
                {
                    NpgsqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        TemperatureReadings.Add(sensor, reader.GetString(0));
                    }
                }
                catch (System.Exception ex)
                {
                    print(ex);
                }

                conn.Close();
            }
        }
Example #3
0
        public void AddReading(DateTime readingTime, double?temperature, double?power)
        {
            LastReadingTime = readingTime;

            TemperatureReadings.Add(new DataPoint(DateTimeAxis.ToDouble(readingTime), temperature ?? double.NaN));
            PowerReadings.Add(new DataPoint(DateTimeAxis.ToDouble(readingTime), power ?? double.NaN));

            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(LastPowerReading)));
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(LastTemperatureReading)));
            ReadingsUpdated?.Invoke(this, EventArgs.Empty);
        }
        public async Task <TemperatureReadings> ReadAsync()
        {
            var reading = await _sensor.GetReadingAsync().AsTask();

            var readings = new TemperatureReadings
            {
                //Temperature = reading.Temperature,
                //Humidity = reading.Humidity
            };

            return(readings);
        }
Example #5
0
        public async Task <TemperatureReadings> ReadAsync()
        {
            float temp = await _bme280.ReadTemperature();

            float humidity = await _bme280.ReadHumidity();

            float pressure = await _bme280.ReadPressure();

            var data = new TemperatureReadings
            {
                Temperature = temp.Truncate(2),
                Humidity    = humidity.Truncate(2),
                Pressure    = pressure.Truncate(2),
                Source      = TemperatureSensorType.BME280
            };

            return(data);
        }