|
@@ -6,6 +6,7 @@ from fastapi import APIRouter, Query
|
|
from loguru import logger
|
|
from loguru import logger
|
|
|
|
|
|
from app.controllers.equipment.fcu.basic import get_fcu_control_result
|
|
from app.controllers.equipment.fcu.basic import get_fcu_control_result
|
|
|
|
+from app.controllers.equipment.fcu.q_learning import get_fcu_q_learning_control_result
|
|
from app.controllers.equipment.vav import get_vav_control_result
|
|
from app.controllers.equipment.vav import get_vav_control_result
|
|
from app.models.domain.equipment import EquipmentControlResponse, EquipmentControlRequest
|
|
from app.models.domain.equipment import EquipmentControlResponse, EquipmentControlRequest
|
|
from app.utils.date import get_time_str
|
|
from app.utils.date import get_time_str
|
|
@@ -27,13 +28,16 @@ async def get_equipment_command(
|
|
equip_type: EquipmentName = Query(..., alias='equipType'),
|
|
equip_type: EquipmentName = Query(..., alias='equipType'),
|
|
):
|
|
):
|
|
if equip_type.value == EquipmentName.FCU:
|
|
if equip_type.value == EquipmentName.FCU:
|
|
- fcu = await get_fcu_control_result(project_id, equip_id)
|
|
|
|
- output = {
|
|
|
|
- 'EquipSwitchSet': 1 if fcu.running_status else 0,
|
|
|
|
- 'WorkModeSet': 3,
|
|
|
|
- 'FanGearSet': fcu.air_valve_speed.value,
|
|
|
|
- 'IndoorAirTempSet': fcu.setting_temperature
|
|
|
|
- }
|
|
|
|
|
|
+ if project_id == 'Pj1101050030':
|
|
|
|
+ fcu = await get_fcu_control_result(project_id, equip_id)
|
|
|
|
+ output = {
|
|
|
|
+ 'EquipSwitchSet': 1 if fcu.running_status else 0,
|
|
|
|
+ 'WorkModeSet': 3,
|
|
|
|
+ 'FanGearSet': fcu.air_valve_speed.value,
|
|
|
|
+ 'IndoorAirTempSet': fcu.setting_temperature
|
|
|
|
+ }
|
|
|
|
+ else:
|
|
|
|
+ output = await get_fcu_q_learning_control_result(project_id, equip_id)
|
|
elif equip_type.value == EquipmentName.VAV:
|
|
elif equip_type.value == EquipmentName.VAV:
|
|
vav = await get_vav_control_result(project_id, equip_id)
|
|
vav = await get_vav_control_result(project_id, equip_id)
|
|
output = {
|
|
output = {
|
|
@@ -54,14 +58,20 @@ async def get_equipment_command(
|
|
@router.post('/control', response_model=EquipmentControlResponse)
|
|
@router.post('/control', response_model=EquipmentControlResponse)
|
|
async def get_equipment_command_v2(equipment_control_info: EquipmentControlRequest):
|
|
async def get_equipment_command_v2(equipment_control_info: EquipmentControlRequest):
|
|
if equipment_control_info.equipType == EquipmentName.FCU:
|
|
if equipment_control_info.equipType == EquipmentName.FCU:
|
|
- fcu = await get_fcu_control_result(equipment_control_info.projectId, equipment_control_info.equipId)
|
|
|
|
- output = {
|
|
|
|
- 'EquipSwitchSet': 1 if fcu.running_status else 0,
|
|
|
|
- 'WorkModeSet': 3,
|
|
|
|
- 'IndoorAirTempSet': int(round_half_up(fcu.setting_temperature, 1) * 10)
|
|
|
|
- }
|
|
|
|
- if fcu.air_valve_speed.value != 0.0:
|
|
|
|
- output.update({'FanGearSet': fcu.air_valve_speed.value})
|
|
|
|
|
|
+ if equipment_control_info.projectId == 'Pj1101050030':
|
|
|
|
+ fcu = await get_fcu_control_result(equipment_control_info.projectId, equipment_control_info.equipId)
|
|
|
|
+ output = {
|
|
|
|
+ 'EquipSwitchSet': 1 if fcu.running_status else 0,
|
|
|
|
+ 'WorkModeSet': 3,
|
|
|
|
+ 'IndoorAirTempSet': int(round_half_up(fcu.setting_temperature, 1) * 10)
|
|
|
|
+ }
|
|
|
|
+ if fcu.air_valve_speed.value != 0.0:
|
|
|
|
+ output.update({'FanGearSet': fcu.air_valve_speed.value})
|
|
|
|
+ else:
|
|
|
|
+ output = await get_fcu_q_learning_control_result(
|
|
|
|
+ equipment_control_info.projectId,
|
|
|
|
+ equipment_control_info.equipId
|
|
|
|
+ )
|
|
elif equipment_control_info.equipType == EquipmentName.VAV:
|
|
elif equipment_control_info.equipType == EquipmentName.VAV:
|
|
vav = await get_vav_control_result(equipment_control_info.projectId, equipment_control_info.equipId)
|
|
vav = await get_vav_control_result(equipment_control_info.projectId, equipment_control_info.equipId)
|
|
output = {
|
|
output = {
|