Ejemplo n.º 1
0
def recent_humidities_reset_in_range():
    logging.debug("Received request /recent/humidities/reset/range")
    startTime = time.monotonic()
    try:
        # Requires a simple pw
        pw = req.args.get("pw")
        logging.debug("pw arg is: " + str(pw))
        if pw != "A7G2V9":
            abort(403)

        start = req.args.get('start')
        if start is None:
            start = '2020-01-01T00:00:00'
        logging.debug("Start arg is: " + str(start))

        end = req.args.get('end')
        if end is None:
            end = datetime.utcnow()
        logging.debug("End arg is: " + str(end))

        RecentHumidityModel.delete_by_range(start, end)
        elapsedTime = time.monotonic() - startTime
        logging.debug("temperature reset in range request time: " +
                      str(round(elapsedTime, 5)) + " seconds")
        return res(204, timeUTC=datetime.utcnow())
    except mariadb.Error as e:
        abort(500, str(e))
Ejemplo n.º 2
0
    def delete_by_range(start, end):
        # Init
        returnValue = True

        # Execution
        RecentPressureModel.deltee_by_range(start, end)
        RecentHumidityModel.delete_by_range(start, end)
        RecentCO2Model.delete_by_range(start, end)
        RecentTemperatureModel.delete_by_range(start, end)

        # Clean and return
        return returnValue
Ejemplo n.º 3
0
    def delete_all():
        # Init
        returnValue = True

        # Execution
        RecentPressureModel.delete_all()
        RecentHumidityModel.delete_all()
        RecentCO2Model.delete_all()
        RecentTemperatureModel.delete_all()

        # Clean and return
        return returnValue
Ejemplo n.º 4
0
def recent_humidity_get_average():
    logging.debug("Received request /recent/humidities/average")
    startTime = time.monotonic()
    try:
        returnValue = RecentHumidityModel.get_average()
        data = RecentHumidityModel.average_json(returnValue)
        elapsedTime = time.monotonic() - startTime
        logging.debug("humidity get average request time: " +
                      str(round(elapsedTime, 5)) + " seconds")
        return res(200, data=data, timeUTC=datetime.utcnow())
    except mariadb.Error as e:
        abort(500, str(e))
Ejemplo n.º 5
0
def mockRun():
    while True:
        try:
            # Create a Mock value
            value = random.uniform(0, 100)
            newReading = RecentHumidityModel(None, None, value)

            # Place in database
            logging.info(
                "Generating mock data for humidity sensor with value: " +
                str(value))
            newReading.post()

            time.sleep(5)
        except BaseException as e:
            logging.exception(e)
Ejemplo n.º 6
0
def recent_humidity_get_by_search():
    logging.debug("Received request /recent/humidities/search")
    startTime = time.monotonic()
    try:
        start = req.args.get('start')
        if start is None:
            start = '2020-01-01T00:00:00'
        logging.debug("Start arg is: " + str(start))

        end = req.args.get('end')
        if end is None:
            end = datetime.utcnow()
        logging.debug("End arg is: " + str(end))

        dataArray = []
        humArray = RecentHumidityModel.get_by_search(start, end)
        for tempModel in humArray:
            dataArray.append(tempModel.to_json())
        elapsedTime = time.monotonic() - startTime
        logging.debug("humidity get by search request time: " +
                      str(round(elapsedTime, 5)) + " seconds")
        return res(200, data=dataArray, timeUTC=datetime.utcnow())
    except mariadb.Error as e:
        logging.exception(e)
        abort(500, str(e))
Ejemplo n.º 7
0
def recent_humidities_reset():
    logging.debug("Received request /recent/humidities/reset")
    startTime = time.monotonic()
    try:
        # Requires a simple pw
        pw = req.args.get("pw")
        logging.debug("pw arg is: " + str(pw))
        if pw != "A7G2V9":
            abort(403)

        RecentHumidityModel.delete_all()
        elapsedTime = time.monotonic() - startTime
        logging.debug("humidities reset request time: " +
                      str(round(elapsedTime, 5)) + " seconds")
        return res(204, timeUTC=datetime.utcnow())
    except mariadb.Error as e:
        abort(500, str(e))
Ejemplo n.º 8
0
def recent_humidity_get_average_in_range():
    logging.debug("Received request /recent/humidities/average/range")
    startTime = time.monotonic()
    try:
        start = req.args.get('start')
        if start is None:
            start = '2020-01-01T00:00:00'
        logging.debug("Start arg is: " + str(start))

        end = req.args.get('end')
        if end is None:
            end = datetime.utcnow()
        logging.debug("End arg is: " + str(end))

        returnValue = RecentHumidityModel.get_average_by_range(start, end)
        data = RecentHumidityModel.average_json(returnValue)
        elapsedTime = time.monotonic() - startTime
        logging.debug("humidity get average in range request time: " +
                      str(round(elapsedTime, 5)) + " seconds")
        return res(200, data=data, timeUTC=datetime.utcnow())
    except mariadb.Error as e:
        abort(500, str(e))
Ejemplo n.º 9
0
    def comp_H(adc_hum):
        global flo
        humidity = flo - 76800.0
        if humidity != 0:
            humidity = (adc_hum -
                        (dH[3] * 64.0 + dH[4] / 16384.0 * humidity)) * (
                            dH[1] / 65536.0 *
                            (1.0 + dH[5] / 67108864.0 * humidity *
                             (1.0 + dH[2] / 67108864.0 * humidity)))
        else:
            return 0
        humidity = humidity * (1.0 - dH[0] * humidity / 524288.0)
        if humidity > 100.0:
            humidity = 100.0
        elif humidity < 0.0:
            humidity = 0.0
        #print "hum : %6.2f" % (humidity)

        # Save to db
        newReading = RecentHumidityModel(None, None, humidity)
        logging.info("Reading humidity sensor with value: " + str(humidity))
        newReading.post()
Ejemplo n.º 10
0
def recent_humidity_get_newest():
    logging.debug("Received request /recent/humidities/newest")
    startTime = time.monotonic()
    try:
        returnValue = RecentHumidityModel.get_newest()
        if returnValue is None:
            abort(404)
        data = returnValue.to_json()
        elapsedTime = time.monotonic() - startTime
        logging.debug("humidity get newest request time: " +
                      str(round(elapsedTime, 5)) + " seconds")
        return res(200, data=data, timeUTC=datetime.utcnow())
    except mariadb.Error as e:
        abort(500, str(e))
Ejemplo n.º 11
0
def recent_humidity_get_all():
    logging.debug("Received request /recent/humidities")
    startTime = time.monotonic()
    try:
        dataArray = []
        humArray = RecentHumidityModel.get_all()
        for tempModel in humArray:
            dataArray.append(tempModel.to_json())
        elapsedTime = time.monotonic() - startTime
        logging.debug("humidity get all request time: " +
                      str(round(elapsedTime, 5)) + " seconds")
        return res(200, data=dataArray, timeUTC=datetime.utcnow())
    except mariadb.Error as e:
        abort(500, str(e))
Ejemplo n.º 12
0
 def to_average_json(self):
     logging.debug("Formatting SensorModel to average json")
     json = {
         'type': 'All recent sensor average',
         'attributes': {
             'pressure':
             RecentPressureModel.average_json(self.pressures),
             'humidity':
             RecentHumidityModel.average_json(self.humidities),
             'co2':
             RecentCO2Model.average_json(self.co2),
             'temperature':
             RecentTemperatureModel.average_json(self.temperatures)
         }
     }
     return json
Ejemplo n.º 13
0
    def get_average():
        # init
        foundPressure = None
        foundHumidities = None
        foundCo2 = None
        foundTemperatures = None

        # Execution (4 connection, could be more efficient but query time is hardly an issue)
        foundPressure = RecentPressureModel.get_average()
        foundHumidities = RecentHumidityModel.get_average()
        foundCo2 = RecentCO2Model.get_average()
        foundTemperatures = RecentTemperatureModel.get_average()

        # Build object
        returnObj = RecentSensorModel(foundPressure, foundHumidities, foundCo2,
                                      foundTemperatures)

        # Clean and return
        return returnObj
Ejemplo n.º 14
0
    def get_by_search(start, end):
        # init
        foundPressure = []
        foundHumidities = []
        foundCo2 = []
        foundTemperatures = []

        # Execution (4 connection, could be more efficient but query time is hardly an issue)
        foundPressure = RecentPressureModel.get_by_search(start, end)
        foundHumidities = RecentHumidityModel.get_by_search(start, end)
        foundCo2 = RecentCO2Model.get_by_search(start, end)
        foundTemperatures = RecentTemperatureModel.get_by_search(start, end)

        # Build object
        returnObj = RecentSensorModel(foundPressure, foundHumidities, foundCo2,
                                      foundTemperatures)

        # Clean and return
        return returnObj