# -*- coding: utf-8 -*- from enum import Enum from typing import List, Optional from pydantic import BaseModel from app.schemas.space import Space class AirValveSpeed(float, Enum): off = 0.0 low = 1.0 medium = 2.0 high = 3.0 class BaseEquipment(BaseModel): id: str running_status: Optional[bool] = False in_cloud_status: Optional[bool] on_time: Optional[str] off_time: Optional[str] class FCU(BaseEquipment): work_mode: Optional[int] air_valve_speed: Optional[AirValveSpeed] = AirValveSpeed.off space: Optional[Space] setting_temperature: Optional[float] = 0.0 class VAVBox(BaseEquipment): spaces: Optional[List[Space]] supply_air_temperature: Optional[float] supply_air_flow: Optional[float] supply_air_flow_set: Optional[float] supply_air_flow_lower_limit: Optional[float] supply_air_flow_upper_limit: Optional[float] setting_temperature: Optional[float] = 0.0 virtual_realtime_temperature: Optional[float] virtual_target_temperature: Optional[float] class AHU(BaseEquipment): fan_freq_set: float supply_air_temperature_set: Optional[float] class VentilationFan(BaseEquipment): pass class PAU(BaseEquipment): pass