コード例 #1
0
ファイル: widget.py プロジェクト: sug4rok/Servus
def get_widget_data():
    """
    Получение данных о текущей температуре и влажности из таблицы climate_temphumidvalue БД
    :returns: список кортежей вида [(<полное имя датчика>, влажность, тепмпература), ...]
    """

    sensors = get_used_plugins_by(plugin_type='TempHumidSensor')
    values = [get_latest_sensor_value(TempHumidValue, sensor) for sensor in sensors]

    return [(v.content_object.location, v.humidity, v.temperature) for v in values if v is not None]
コード例 #2
0
def get_widget_data(plan_id):
    """
    Функция, предоставляющая данные с датчиков дождя YL-83

    :returns: list Список кортежей с данными о дожде и координатами расположения
    виджетов.
    """

    sensors = get_used_plugins_by(package='plugins.arduino_yl83')
    sensors = [s for s in sensors if s.plan_image_id == plan_id]

    values = [get_latest_sensor_value(RaindropValue, sensor) for sensor in sensors]

    return [(plan_id, v.content_object.name, v.content_object.horiz_position,
             v.content_object.vert_position, rain_level(v.content_object, v.raindrop)) for v in values if v is not None]
コード例 #3
0
def get_widget_data(plan_id):
    """
    Функция, предоставляющая данные атмосферного давления для каждого добавленого датчика BMP085/BMP180

    :param plan_id: int ID планировки.
    :returns: list Список кортежей с данными атмосферного давления и координатами расположения.
    виджетов.
    """

    sensors = get_used_plugins_by(package='plugins.arduino_bmp085')
    sensors = [s for s in sensors if s.plan_image_id == plan_id]

    values = [get_latest_sensor_value(PressureValue, sensor) for sensor in sensors]

    return [(plan_id, v.content_object.name, v.content_object.horiz_position,
             v.content_object.vert_position, v.pressure) for v in values if v is not None]
コード例 #4
0
def get_widget_data(plan_id):
    """
    Функция, предоставляющая данные освещенности для каждого добавленого датчика BH1750

    :param plan_id: int ID планировки.
    :returns: list Список кортежей с данными освещенности и координатами расположения
    виджетов.
    """

    sensors = get_used_plugins_by(package='plugins.arduino_bh1750')
    sensors = [s for s in sensors if s.plan_image_id == plan_id]

    values = [get_latest_sensor_value(AmbientLightValue, sensor) for sensor in sensors]

    return [(plan_id, v.content_object.name, v.content_object.horiz_position,
             v.content_object.vert_position, v.ambient_light) for v in values if v is not None]
コード例 #5
0
def get_widget_data(plan_id):
    """
    Функция, предоставляющая данные температуры и относительной влажности для каждого
    добавленого датчика DHT.

    :param plan_id: int ID планировки.
    :returns: list Список кортежей с данными температуры, влажности и координатами расположения
    виджета.
    """

    sensors = get_used_plugins_by(package='plugins.arduino_dht')
    sensors = [sensor for sensor in sensors if sensor.plan_image_id == plan_id]

    values = [get_latest_sensor_value(TempHumidValue, sensor) for sensor in sensors]

    return [(plan_id, v.content_object.name, v.content_object.horiz_position,
             v.content_object.vert_position, v.temperature, v.humidity) for v in values if v is not None]