Files
ems-core/backend/app/models/meter.py

25 lines
1.1 KiB
Python
Raw Normal View History

from sqlalchemy import Column, Integer, String, Float, DateTime, JSON
from sqlalchemy.sql import func
from app.core.database import Base
class MeterReading(Base):
"""电表读数时序数据"""
__tablename__ = "meter_readings"
time = Column(DateTime(timezone=True), primary_key=True, nullable=False)
meter_id = Column(Integer, primary_key=True, nullable=False)
meter_name = Column(String(100))
forward_active_energy = Column(Float) # 正向有功电能 kWh
reverse_active_energy = Column(Float) # 反向有功电能 kWh
active_power = Column(Float) # 有功功率 kW
reactive_power = Column(Float) # 无功功率 kvar
power_factor = Column(Float) # 功率因数
voltage_a = Column(Float) # A相电压 V
voltage_b = Column(Float) # B相电压 V
voltage_c = Column(Float) # C相电压 V
current_a = Column(Float) # A相电流 A
current_b = Column(Float) # B相电流 A
current_c = Column(Float) # C相电流 A
raw_json = Column(JSON) # 原始数据包