def get_measurement(self): """ Get measurements and store in the database """ if not self.sensor: self.logger.error("Input not set up") return self.return_dict = copy.deepcopy(measurements_dict) if self.is_enabled(0): self.value_set(0, self.sensor.read_temperature()) if self.is_enabled(1): self.value_set(1, self.sensor.read_humidity()) if self.is_enabled(2): self.value_set( 2, convert_from_x_to_y_unit('hPa', 'Pa', self.sensor.read_pressure())) if self.is_enabled(3) and self.is_enabled(0) and self.is_enabled(1): self.value_set( 3, calculate_dewpoint(self.value_get(0), self.value_get(1))) if self.is_enabled(4) and self.is_enabled(2): self.value_set(4, calculate_altitude(self.value_get(2))) if self.is_enabled(5) and self.is_enabled(0) and self.is_enabled(1): self.value_set( 5, calculate_vapor_pressure_deficit(self.value_get(0), self.value_get(1))) return self.return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ return_dict = measurements_dict.copy() if self.is_enabled(0): return_dict[0]['value'] = self.sensor.read_temperature() if self.is_enabled(1): return_dict[1]['value'] = self.sensor.read_humidity() if self.is_enabled(2): return_dict[2]['value'] = self.sensor.read_pressure() if (self.is_enabled(3) and self.is_enabled(0) and self.is_enabled(1)): return_dict[3]['value'] = calculate_dewpoint( return_dict[0]['value'], return_dict[1]['value']) if self.is_enabled(4) and self.is_enabled(2): return_dict[4]['value'] = calculate_altitude( return_dict[2]['value']) if (self.is_enabled(5) and self.is_enabled(0) and self.is_enabled(1)): return_dict[5]['value'] = calculate_vapor_pressure_deficit( return_dict[0]['value'], return_dict[1]['value']) return return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ if not self.sensor: self.logger.error("Input not set up") return self.return_dict = copy.deepcopy(measurements_dict) data = self.sensor.sample(self.bus, self.i2c_address, self.calibration_params) if self.is_enabled(0): self.value_set(0, data.temperature) if self.is_enabled(1): self.value_set(1, data.humidity) if self.is_enabled(2): self.value_set( 2, convert_from_x_to_y_unit('hPa', 'Pa', data.pressure)) if self.is_enabled(0) and self.is_enabled(1): self.value_set( 3, calculate_dewpoint(self.value_get(0), self.value_get(1))) if self.is_enabled(2): self.value_set(4, calculate_altitude(self.value_get(2))) if self.is_enabled(0) and self.is_enabled(1): self.value_set( 5, calculate_vapor_pressure_deficit(self.value_get(0), self.value_get(1))) return self.return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ self.return_dict = measurements_dict.copy() if self.is_enabled(0): self.value_set(0, self.sensor.read_temperature()) if self.is_enabled(1): self.value_set(1, self.sensor.read_humidity()) if self.is_enabled(2): self.value_set(2, self.sensor.read_pressure()) if (self.is_enabled(3) and self.is_enabled(0) and self.is_enabled(1)): self.value_set( 3, calculate_dewpoint(self.value_get(0), self.value_get(1))) if self.is_enabled(4) and self.is_enabled(2): self.value_set(4, calculate_altitude(self.value_get(2))) if (self.is_enabled(5) and self.is_enabled(0) and self.is_enabled(1)): self.value_set( 5, calculate_vapor_pressure_deficit(self.value_get(0), self.value_get(1))) return self.return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ self.return_dict = measurements_dict.copy() data = self.sensor.sample(self.bus, self.i2c_address, self.calibration_params) if self.is_enabled(0): self.value_set(0, data.temperature) if self.is_enabled(1): self.value_set(1, data.humidity) if self.is_enabled(2): self.value_set(2, data.pressure) if (self.is_enabled(3) and self.is_enabled(0) and self.is_enabled(1)): self.value_set( 3, calculate_dewpoint(self.value_get(0), self.value_get(1))) if self.is_enabled(4) and self.is_enabled(2): self.value_set(4, calculate_altitude(self.value_get(2))) if (self.is_enabled(5) and self.is_enabled(0) and self.is_enabled(1)): self.value_set( 5, calculate_vapor_pressure_deficit(self.value_get(0), self.value_get(1))) return self.return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ self.return_dict = measurements_dict.copy() if self.is_enabled(0): self.value_set(0, self.sensor.read_temperature()) if self.is_enabled(1): self.value_set(1, self.sensor.read_humidity()) if self.is_enabled(2): self.value_set(2, self.sensor.read_pressure()) if (self.is_enabled(3) and self.is_enabled(0) and self.is_enabled(1)): dewpoint = calculate_dewpoint( self.value_get(0), self.value_get(1)) self.value_set(3, dewpoint) if self.is_enabled(4) and self.is_enabled(2): altitude = calculate_altitude(self.value_get(2)) self.value_set(4, altitude) if (self.is_enabled(5) and self.is_enabled(0) and self.is_enabled(1)): vpd = calculate_vapor_pressure_deficit( self.value_get(0), self.value_get(1)) self.value_set(5, vpd) try: now = time.time() if now > self.timer: self.timer = now + 80 # "B" designates this data belonging to the BME280 string_send = 'B,{},{},{}'.format( self.value_get(1), self.value_get(2), self.value_get(0)) self.lock_acquire(self.lock_file, timeout=10) if self.locked[self.lock_file]: try: self.serial_send = self.serial.Serial(self.serial_device, 9600) self.serial_send.write(string_send.encode()) time.sleep(4) finally: self.lock_release(self.lock_file) self.ttn_serial_error = False except Exception as e: if not self.ttn_serial_error: # Only send this error once if it continually occurs self.logger.error("TTN: Could not send serial: {}".format(e)) self.ttn_serial_error = True return self.return_dict
def get_measurement(self): """Gets the measurement in units by reading the""" if not self.sensor: self.logger.error( "Error 101: Device not set up. See https://kizniche.github.io/Mycodo/Error-Codes#error-101 for more info." ) return self.return_dict = copy.deepcopy(measurements_dict) if not self.sensor.get_sensor_data(): self.logger.error("Sensor get_sensor_data() returned False.") return if self.is_enabled(0): self.value_set(0, self.sensor.data.temperature) if self.is_enabled(1): self.value_set(1, self.sensor.data.humidity) if self.is_enabled(2): self.value_set( 2, convert_from_x_to_y_unit('hPa', 'Pa', self.sensor.data.pressure)) if self.is_enabled(3): if self.sensor.data.heat_stable: self.value_set(3, self.sensor.data.gas_resistance) else: self.logger.error("Sensor heat unstable") self.logger.debug("Temp: {t}, Hum: {h}, Press: {p}, Gas: {g}".format( t=self.value_get(0), h=self.value_get(1), p=self.value_get(2), g=self.value_get(3))) if self.is_enabled(0) and self.is_enabled(1) and self.is_enabled(4): self.value_set( 4, calculate_dewpoint(self.value_get(0), self.value_get(1))) if self.is_enabled(2) and self.is_enabled(5): self.value_set(5, calculate_altitude(self.value_get(2))) if self.is_enabled(0) and self.is_enabled(1) and self.is_enabled(6): self.value_set( 6, calculate_vapor_pressure_deficit(self.value_get(0), self.value_get(1))) return self.return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ return_dict = measurements_dict.copy() if self.is_enabled(0): return_dict[0]['value'] = self.sensor.read_temperature() if self.is_enabled(1): return_dict[1]['value'] = self.sensor.read_humidity() if self.is_enabled(2): return_dict[2]['value'] = self.sensor.read_pressure() if (self.is_enabled(3) and self.is_enabled(0) and self.is_enabled(1)): return_dict[3]['value'] = calculate_dewpoint( return_dict[0]['value'], return_dict[1]['value']) if self.is_enabled(4) and self.is_enabled(2): return_dict[4]['value'] = calculate_altitude(return_dict[2]['value']) if (self.is_enabled(5) and self.is_enabled(0) and self.is_enabled(1)): return_dict[5]['value'] = calculate_vapor_pressure_deficit( return_dict[0]['value'], return_dict[1]['value']) try: now = time.time() if now > self.timer: self.timer = now + 80 # "B" designates this data belonging to the BME280 string_send = 'B,{},{},{}'.format( return_dict[1]['value'], return_dict[2]['value'], return_dict[0]['value']) self.lock_setup() self.serial_send = self.serial.Serial(self.serial_device, 9600) self.serial_send.write(string_send.encode()) time.sleep(4) self.lock_release() self.ttn_serial_error = False except: if not self.ttn_serial_error: # Only send this error once if it continually occurs self.logger.error("TTN: Could not send serial") self.ttn_serial_error = True return return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ self.return_dict = measurements_dict.copy() if self.is_enabled(0): self.set_value(0, self.read_pressure()) if self.is_enabled(1): self.set_value(1, self.read_temperature()) if self.is_enabled(2) and self.is_enabled(0): self.set_value(2, calculate_altitude(self.get_value(0))) return self.return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ return_dict = measurements_dict.copy() if self.is_enabled(0): return_dict[0]['value'] = self.read_pressure() if self.is_enabled(1): return_dict[1]['value'] = self.read_temperature() if self.is_enabled(2) and self.is_enabled(0): return_dict[2]['value'] = calculate_altitude( return_dict[0]['value']) return return_dict
def get_measurement(self): """ Gets the measurement in units by reading the BMP180/085 """ time.sleep(2) self.return_dict = measurements_dict.copy() if self.is_enabled(0): self.value_set(0, self.bmp.read_pressure()) if self.is_enabled(1): self.value_set(1, self.bmp.read_temperature()) if self.is_enabled(2) and self.is_enabled(0): self.value_set(2, calculate_altitude(self.value_get(0))) return self.return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ self.return_dict = measurements_dict.copy() if not self.sensor.get_sensor_data(): self.logger.error("Sensor get_sensor_data() returned False.") return if self.is_enabled(0): self.value_set(0, self.sensor.data.temperature) if self.is_enabled(1): self.value_set(1, self.sensor.data.humidity) if self.is_enabled(2): self.value_set(2, self.sensor.data.pressure) if self.is_enabled(3): if self.sensor.data.heat_stable: self.value_set(3, self.sensor.data.gas_resistance) else: self.logger.error("Sensor heat unstable") self.logger.debug("Temp: {t}, Hum: {h}, Press: {p}, Gas: {g}".format( t=self.value_get(0), h=self.value_get(1), p=self.value_get(2), g=self.value_get(3))) if (self.is_enabled(4) and self.is_enabled(0) and self.is_enabled(1)): self.value_set(4, calculate_dewpoint( self.value_get(0), self.value_get(1))) if self.is_enabled(5) and self.is_enabled(2): self.value_set(5, calculate_altitude(self.value_get(2))) if (self.is_enabled(6) and self.is_enabled(0) and self.is_enabled(1)): self.value_set(6, calculate_vapor_pressure_deficit( self.value_get(0), self.value_get(1))) return self.return_dict
def get_measurement(self): """Gets the measurement.""" if not self.sensor: self.logger.error("Error 101: Device not set up. See https://kizniche.github.io/Mycodo/Error-Codes#error-101 for more info.") return self.return_dict = copy.deepcopy(measurements_dict) if self.is_enabled(0): self.value_set(0, self.sensor.get_pressure()) if self.is_enabled(1): self.value_set(1, self.sensor.get_temperature()) if self.is_enabled(0): self.value_set(2, calculate_altitude(self.value_get(0))) return self.return_dict
def get_measurement(self): """ Gets the measurement in units by reading the """ if not self.sensor: self.logger.error("Input not set up") return self.return_dict = copy.deepcopy(measurements_dict) if self.is_enabled(0): self.value_set(0, self.read_pressure()) if self.is_enabled(1): self.value_set(1, self.read_temperature()) if self.is_enabled(0): self.value_set(2, calculate_altitude(self.value_get(0))) return self.return_dict
def get_measurement(self): """Gets the measurement in units by reading the""" if not self.sensor: self.logger.error( "Error 101: Device not set up. See https://kizniche.github.io/Mycodo/Error-Codes#error-101 for more info." ) return self.return_dict = copy.deepcopy(measurements_dict) data = self.sensor.sample(self.bus, self.i2c_address, self.calibration_params) if self.is_enabled(0): self.value_set(0, data.temperature) if self.is_enabled(1): self.value_set(1, data.humidity) if self.is_enabled(2): self.value_set( 2, convert_from_x_to_y_unit('hPa', 'Pa', data.pressure)) if self.is_enabled(0) and self.is_enabled(1): self.value_set( 3, calculate_dewpoint(self.value_get(0), self.value_get(1))) if self.is_enabled(2): self.value_set(4, calculate_altitude(self.value_get(2))) if self.is_enabled(0) and self.is_enabled(1): self.value_set( 5, calculate_vapor_pressure_deficit(self.value_get(0), self.value_get(1))) return self.return_dict
def get_measurement(self): """Get measurements and store in the database.""" if not self.sensor: self.logger.error( "Error 101: Device not set up. See https://kizniche.github.io/Mycodo/Error-Codes#error-101 for more info." ) return self.return_dict = copy.deepcopy(measurements_dict) if self.is_enabled(0): self.value_set(0, self.sensor.read_temperature()) if self.is_enabled(1): self.value_set(1, self.sensor.read_humidity()) if self.is_enabled(2): self.value_set( 2, convert_from_x_to_y_unit('hPa', 'Pa', self.sensor.read_pressure())) if self.is_enabled(3) and self.is_enabled(0) and self.is_enabled(1): self.value_set( 3, calculate_dewpoint(self.value_get(0), self.value_get(1))) if self.is_enabled(4) and self.is_enabled(2): self.value_set(4, calculate_altitude(self.value_get(2))) if self.is_enabled(5) and self.is_enabled(0) and self.is_enabled(1): self.value_set( 5, calculate_vapor_pressure_deficit(self.value_get(0), self.value_get(1))) return self.return_dict
def get_measurement(self): """ Get measurements and store in the database """ if not self.sensor: self.logger.error("Input not set up") return self.return_dict = measurements_dict.copy() if not self.sensor.get_sensor_data(): self.logger.debug("Sensor get_sensor_data() returned False.") return if self.sensor.data.temperature == 34.54: self.logger.debug( "sensor yielded 34.54 C, executing soft_reset() and remeasuring." ) self.sensor.soft_reset() self.sensor_initialize() if not self.sensor.get_sensor_data(): self.logger.debug( "soft_reset() executed, get_sensor_data() returned False.") return if self.sensor.data.temperature == 34.54: self.logger.debug( "soft_reset() executed, second measure attempt yielded 34.54 C" ) else: self.logger.debug( "soft_reset() executed, normal temperature measured: {} C". format(self.sensor.data.temperature)) if self.is_enabled(0): self.value_set(0, self.sensor.data.temperature) if self.is_enabled(1): self.value_set(1, self.sensor.data.humidity) if self.is_enabled(2): self.value_set(2, self.sensor.data.pressure) if self.is_enabled(3): if self.sensor.data.heat_stable: self.value_set(3, self.sensor.data.gas_resistance) else: self.logger.debug("Sensor heat unstable") self.logger.debug("Temp: {t}, Hum: {h}, Press: {p}, Gas: {g}".format( t=self.value_get(0), h=self.value_get(1), p=self.value_get(2), g=self.value_get(3))) if self.is_enabled(4) and self.is_enabled(0) and self.is_enabled(1): self.value_set( 4, calculate_dewpoint(self.value_get(0), self.value_get(1))) if self.is_enabled(5) and self.is_enabled(2): self.value_set(5, calculate_altitude(self.value_get(2))) if self.is_enabled(6) and self.is_enabled(0) and self.is_enabled(1): self.value_set( 6, calculate_vapor_pressure_deficit(self.value_get(0), self.value_get(1))) return self.return_dict