Refine
This commit is contained in:
@@ -1018,7 +1018,7 @@ def query_SCADA_data_by_device_ID_and_time(query_ids_list: List[str], query_time
|
|||||||
return SCADA_result_dict
|
return SCADA_result_dict
|
||||||
|
|
||||||
# DingZQ, 2025-02-15
|
# DingZQ, 2025-02-15
|
||||||
def query_SCADA_data_by_device_ID_and_time_range(query_ids_list: List[str], start_time: str, end_time: str, bucket: str="SCADA_data", client: InfluxDBClient=client) -> Dict[str, float]:
|
def query_SCADA_data_by_device_ID_and_time_range(query_ids_list: List[str], start_time: str, end_time: str, bucket: str="SCADA_data", client: InfluxDBClient=client) -> list[dict[str, float]]:
|
||||||
"""
|
"""
|
||||||
根据SCADA设备的ID和时间查询值
|
根据SCADA设备的ID和时间查询值
|
||||||
:param query_ids_list: SCADA设备ID的列表
|
:param query_ids_list: SCADA设备ID的列表
|
||||||
@@ -1039,7 +1039,7 @@ def query_SCADA_data_by_device_ID_and_time_range(query_ids_list: List[str], star
|
|||||||
utc_end_time = time_api.to_utc_time(end_time)
|
utc_end_time = time_api.to_utc_time(end_time)
|
||||||
|
|
||||||
# 构建查询字典
|
# 构建查询字典
|
||||||
SCADA_result_dict = {}
|
SCADA_results = []
|
||||||
|
|
||||||
for device_id in query_ids_list:
|
for device_id in query_ids_list:
|
||||||
# 构建 Flux 查询语句
|
# 构建 Flux 查询语句
|
||||||
@@ -1048,6 +1048,7 @@ def query_SCADA_data_by_device_ID_and_time_range(query_ids_list: List[str], star
|
|||||||
|> range(start: {utc_start_time.isoformat()}, stop: {utc_end_time.isoformat()})
|
|> range(start: {utc_start_time.isoformat()}, stop: {utc_end_time.isoformat()})
|
||||||
|> filter(fn: (r) => r["device_ID"] == "{device_id}")
|
|> filter(fn: (r) => r["device_ID"] == "{device_id}")
|
||||||
|> filter(fn: (r) => r["_field"] == "monitored_value")
|
|> filter(fn: (r) => r["_field"] == "monitored_value")
|
||||||
|
|> sort(columns: ["_time"], desc: true)
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# 执行查询
|
# 执行查询
|
||||||
@@ -1061,15 +1062,17 @@ def query_SCADA_data_by_device_ID_and_time_range(query_ids_list: List[str], star
|
|||||||
for record in table.records:
|
for record in table.records:
|
||||||
# 获取字段 "_value" 即为 monitored_value
|
# 获取字段 "_value" 即为 monitored_value
|
||||||
monitored_value = record.get_value()
|
monitored_value = record.get_value()
|
||||||
SCADA_result_dict[device_id] = monitored_value
|
rec = {
|
||||||
else:
|
"ID": device_id,
|
||||||
# 如果没有结果,默认设置为 None 或其他值
|
"time": record.get_time(),
|
||||||
SCADA_result_dict[device_id] = None
|
"value": monitored_value
|
||||||
|
}
|
||||||
|
SCADA_results.append(rec)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Error querying InfluxDB for device ID {device_id}: {e}")
|
print(f"Error querying InfluxDB for device ID {device_id}: {e}")
|
||||||
SCADA_result_dict[device_id] = None
|
|
||||||
|
|
||||||
return SCADA_result_dict
|
return SCADA_results
|
||||||
|
|
||||||
# 2025/02/01
|
# 2025/02/01
|
||||||
def store_realtime_simulation_result_to_influxdb(node_result_list: List[Dict[str, any]], link_result_list: List[Dict[str, any]],
|
def store_realtime_simulation_result_to_influxdb(node_result_list: List[Dict[str, any]], link_result_list: List[Dict[str, any]],
|
||||||
|
|||||||
Reference in New Issue
Block a user