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]
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]
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]
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]
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]