Browse Source

make new VAV box supply air flow set control logic as default

chenhaiyang 4 years ago
parent
commit
a0ec534251
1 changed files with 11 additions and 8 deletions
  1. 11 8
      app/api/routers/equipment.py

+ 11 - 8
app/api/routers/equipment.py

@@ -3,13 +3,13 @@
 from enum import Enum
 
 import numpy as np
-from fastapi import APIRouter, Depends, HTTPException, Query
+from fastapi import APIRouter, Depends, Query
 from loguru import logger
 from sqlalchemy.orm import Session
 
 from app.api.dependencies.db import get_db
 from app.controllers.equipment.fcu.basic import get_fcu_control_result
-from app.controllers.equipment.vav import get_vav_control_v1, get_vav_control_v2
+from app.controllers.equipment.vav import get_vav_control_v2
 from app.models.domain.equipment import EquipmentControlResponse, EquipmentControlRequest, EquipmentInstructionsResponse
 from app.schemas.equipment import PAU
 from app.utils.date import get_time_str
@@ -27,16 +27,19 @@ router = APIRouter()
 async def get_equipment_command_test(
         project_id: str = Query(..., max_length=50, regex='^Pj', alias='projectId'),
         equip_id: str = Query(..., max_length=50, regex='^Eq', alias='equipId'),
-        equip_type: EquipmentName = Query(..., alias='equipType')
+        equip_type: EquipmentName = Query(..., alias='equipType'),
+        db: Session = Depends(get_db)
 ):
     if equip_type.value == EquipmentName.FCU:
         output = await get_fcu_control_result(project_id, equip_id)
     elif equip_type.value == EquipmentName.VAV:
-        vav = await get_vav_control_v1(project_id, equip_id)
+        vav = await get_vav_control_v2(db, project_id, equip_id)
         output = {
             'SupplyAirFlowSet': vav.supply_air_flow_set,
-            'VirtualRealtimeTemperature': vav.virtual_realtime_temperature,
-            'TargetTemperatureSet': vav.virtual_target_temperature
+            'VirtualRealtimeTemperature': vav.virtual_realtime_temperature if not np.isnan(
+                vav.virtual_realtime_temperature) else None,
+            'TargetTemperatureSet': vav.virtual_target_temperature if not np.isnan(
+                vav.virtual_target_temperature) else None
         }
     else:
         output = {}
@@ -51,11 +54,11 @@ async def get_equipment_command_test(
 
 
 @router.post('/control', response_model=EquipmentControlResponse)
-async def get_equipment_command(equipment_control_info: EquipmentControlRequest):
+async def get_equipment_command(equipment_control_info: EquipmentControlRequest, db: Session = Depends(get_db)):
     if equipment_control_info.equipType == EquipmentName.FCU:
         output = await get_fcu_control_result(equipment_control_info.projectId, equipment_control_info.equipId)
     elif equipment_control_info.equipType == EquipmentName.VAV:
-        vav = await get_vav_control_v1(equipment_control_info.projectId, equipment_control_info.equipId)
+        vav = await get_vav_control_v2(db, equipment_control_info.projectId, equipment_control_info.equipId)
         output = {
             'SupplyAirFlowSet': vav.supply_air_flow_set,
             'VirtualRealtimeTemperature': vav.virtual_realtime_temperature if not np.isnan(