# coding: utf-8

from __future__ import annotations
from datetime import date, datetime  # noqa: F401

import re  # noqa: F401
from typing import Any, Dict, List, Optional  # noqa: F401

from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator  # noqa: F401


class FreezeFrame(BaseModel):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.

    FreezeFrame - a model defined in OpenAPI

        occurrence_time: The occurrence_time of this FreezeFrame [Optional].
        operation_time: The operation_time of this FreezeFrame [Optional].
        charging_state: The charging_state of this FreezeFrame [Optional].
        conn_mgr_status: The conn_mgr_status of this FreezeFrame [Optional].
        cp_plc_modem_status: The cp_plc_modem_status of this FreezeFrame [Optional].
        grid_plc_modem_status: The grid_plc_modem_status of this FreezeFrame [Optional].
        wifi_modem_status: The wifi_modem_status of this FreezeFrame [Optional].
        zigbee_modem_status: The zigbee_modem_status of this FreezeFrame [Optional].
        m4core_status: The m4core_status of this FreezeFrame [Optional].
        cpu_load: The cpu_load of this FreezeFrame [Optional].
        root_part1_free_mem: The root_part1_free_mem of this FreezeFrame [Optional].
        root_part2_free_mem: The root_part2_free_mem of this FreezeFrame [Optional].
        linux_ram_free: The linux_ram_free of this FreezeFrame [Optional].
        userdata_part1_free_mem: The userdata_part1_free_mem of this FreezeFrame [Optional].
        userdata_part2_free_mem: The userdata_part2_free_mem of this FreezeFrame [Optional].
        temp_uc: The temp_uc of this FreezeFrame [Optional].
        temp_lcd: The temp_lcd of this FreezeFrame [Optional].
        temp_relay1: The temp_relay1 of this FreezeFrame [Optional].
        temp_relay2: The temp_relay2 of this FreezeFrame [Optional].
        temp_cable: The temp_cable of this FreezeFrame [Optional].
        cp_low: The cp_low of this FreezeFrame [Optional].
        cp_high: The cp_high of this FreezeFrame [Optional].
        cp_pwm: The cp_pwm of this FreezeFrame [Optional].
        ac_voltage_l1: The ac_voltage_l1 of this FreezeFrame [Optional].
        ac_voltage_l2: The ac_voltage_l2 of this FreezeFrame [Optional].
        ac_voltage_l3: The ac_voltage_l3 of this FreezeFrame [Optional].
        ac_current_l1: The ac_current_l1 of this FreezeFrame [Optional].
        ac_current_l2: The ac_current_l2 of this FreezeFrame [Optional].
        ac_current_l3: The ac_current_l3 of this FreezeFrame [Optional].
    """
    class Config:
        orm_mode = True

    occurrence_time: Optional[datetime] = Field(alias="occurrenceTime", default=None)
    operation_time: Optional[int] = Field(alias="operationTime", default=None)
    charging_state: Optional[int] = Field(alias="chargingState", default=None)
    conn_mgr_status: Optional[int] = Field(alias="connMgrStatus", default=None)
    cp_plc_modem_status: Optional[int] = Field(alias="cpPlcModemStatus", default=None)
    grid_plc_modem_status: Optional[int] = Field(alias="gridPlcModemStatus", default=None)
    wifi_modem_status: Optional[int] = Field(alias="wifiModemStatus", default=None)
    zigbee_modem_status: Optional[int] = Field(alias="zigbeeModemStatus", default=None)
    m4core_status: Optional[int] = Field(alias="m4coreStatus", default=None)
    cpu_load: Optional[int] = Field(alias="cpuLoad", default=None)
    root_part1_free_mem: Optional[int] = Field(alias="rootPart1FreeMem", default=None)
    root_part2_free_mem: Optional[int] = Field(alias="rootPart2FreeMem", default=None)
    linux_ram_free: Optional[int] = Field(alias="linuxRamFree", default=None)
    userdata_part1_free_mem: Optional[int] = Field(alias="userdataPart1FreeMem", default=None)
    userdata_part2_free_mem: Optional[int] = Field(alias="userdataPart2FreeMem", default=None)
    temp_uc: Optional[int] = Field(alias="tempUC", default=None)
    temp_lcd: Optional[int] = Field(alias="tempLcd", default=None)
    temp_relay1: Optional[int] = Field(alias="tempRelay1", default=None)
    temp_relay2: Optional[int] = Field(alias="tempRelay2", default=None)
    temp_cable: Optional[int] = Field(alias="tempCable", default=None)
    cp_low: Optional[int] = Field(alias="cpLow", default=None)
    cp_high: Optional[int] = Field(alias="cpHigh", default=None)
    cp_pwm: Optional[int] = Field(alias="cpPwm", default=None)
    ac_voltage_l1: Optional[int] = Field(alias="acVoltageL1", default=None)
    ac_voltage_l2: Optional[int] = Field(alias="acVoltageL2", default=None)
    ac_voltage_l3: Optional[int] = Field(alias="acVoltageL3", default=None)
    ac_current_l1: Optional[int] = Field(alias="acCurrentL1", default=None)
    ac_current_l2: Optional[int] = Field(alias="acCurrentL2", default=None)
    ac_current_l3: Optional[int] = Field(alias="acCurrentL3", default=None)

FreezeFrame.update_forward_refs()
