Files
shaggy-solar/LVX6048/powermon-patches/port_config_model.py

39 lines
1.0 KiB
Python
Raw Normal View History

2026-04-24 16:34:10 -04:00
""" pydantic definitions for the powermon port config model
"""
from typing import Literal
from pydantic import Field
from powermon.configmodel import NoExtraBaseModel
class BlePortConfig(NoExtraBaseModel):
""" model/allowed elements for ble port config """
type: Literal["ble"]
mac: str
protocol: None | str
victron_key: None | str = Field(default=None, repr=False)
class SerialPortConfig(NoExtraBaseModel):
""" model/allowed elements for serial port config """
type: Literal["serial"]
path: str
baud: None | int = Field(default=None)
protocol: None | str
class UsbPortConfig(NoExtraBaseModel):
""" model/allowed elements for usb port config """
type: Literal["usb"]
path: None | str
protocol: None | str
serial_number: None | str | int = Field(default=None)
class TestPortConfig(NoExtraBaseModel):
""" model/allowed elements for test port config """
type: Literal["test"]
response_number: None | int = Field(default=None)
protocol: None | str = Field(default=None)