Refine
This commit is contained in:
@@ -1487,35 +1487,39 @@ def query_SCADA_data_by_device_ID_and_timerange(query_ids_list: List[str], start
|
|||||||
beijing_end_time = datetime.fromisoformat(end_time)
|
beijing_end_time = datetime.fromisoformat(end_time)
|
||||||
print('beijing_end_time', beijing_end_time)
|
print('beijing_end_time', beijing_end_time)
|
||||||
|
|
||||||
utc_end_time = time_api.to_utc_time(beijing_end_time)
|
utc_stop_time = time_api.to_utc_time(beijing_end_time)
|
||||||
print('utc_end_time', utc_end_time)
|
print('utc_stop_time', utc_stop_time)
|
||||||
|
|
||||||
SCADA_dict = {}
|
SCADA_dict = {}
|
||||||
for device_id in query_ids_list:
|
for device_id in query_ids_list:
|
||||||
|
# 构建 Flux 查询语句
|
||||||
print('device_id', device_id)
|
|
||||||
print('utc_start_time', utc_start_time.isoformat())
|
|
||||||
print('utc_end_time', utc_end_time.isoformat())
|
|
||||||
|
|
||||||
flux_query = f'''
|
flux_query = f'''
|
||||||
from(bucket: "{bucket}")
|
from(bucket: "{bucket}")
|
||||||
|> range(start: {utc_start_time.isoformat()}, stop: {utc_end_time.isoformat()})
|
|> range(start: {utc_start_time.isoformat()}, stop: {utc_stop_time.isoformat()})
|
||||||
|> filter(fn: (r) => r["device_ID"] = {device_id} and r["_field"] == "monitored_value")
|
|> filter(fn: (r) => r["device_ID"] == "{device_id}" and r["_field"] == "monitored_value")
|
||||||
|> sort(columns: ["_time"])
|
|> sort(columns: ["_time"])
|
||||||
'''
|
'''
|
||||||
|
# 执行查询
|
||||||
# 执行查询,返回一个 FluxTable 列表
|
try:
|
||||||
tables = query_api.query(flux_query)
|
result = query_api.query(flux_query)
|
||||||
|
# 从查询结果中提取 monitored_value
|
||||||
records_list = []
|
if result:
|
||||||
for table in tables:
|
# 假设返回的结果为一行数据
|
||||||
for record in table.records:
|
records_list = []
|
||||||
# 获取记录的时间和监测值
|
|
||||||
records_list.append({
|
for table in result:
|
||||||
"time": record["_time"],
|
for record in table.records:
|
||||||
"value": record["_value"]
|
# 获取记录的时间和监测值
|
||||||
})
|
records_list.append({
|
||||||
SCADA_dict[device_id] = records_list
|
"time": record["_time"],
|
||||||
|
"value": record["_value"]
|
||||||
|
})
|
||||||
|
|
||||||
|
SCADA_dict[device_id] = records_list
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error querying InfluxDB for device ID {device_id}: {e}")
|
||||||
|
SCADA_result_dict[device_id] = None
|
||||||
|
|
||||||
client.close()
|
client.close()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user