should work so far
This commit is contained in:
@@ -22,16 +22,25 @@ class OutputConfig(BaseModel):
|
||||
"""Output Configuration for Modbus Devices"""
|
||||
name: str
|
||||
enabled: bool = Field(default=True)
|
||||
scan_rate: Optional[int] = Field(default=60)
|
||||
publish_topic: str
|
||||
slave_id: int
|
||||
registers: List[RegisterConfig]
|
||||
|
||||
class InputConfig(BaseModel):
|
||||
"""Input Configuration for Modbus Devices (MQTT -> Modbus)"""
|
||||
name: str
|
||||
enabled: bool = Field(default=True)
|
||||
subscribe_topic: str
|
||||
slave_id: int
|
||||
address: int
|
||||
register_type: str
|
||||
|
||||
|
||||
class MqttConfig(BaseModel):
|
||||
"""MQTT Configuration"""
|
||||
broker: str
|
||||
port: int
|
||||
publish_period: int
|
||||
|
||||
|
||||
class ModbusConfig(BaseModel):
|
||||
@@ -39,10 +48,18 @@ class ModbusConfig(BaseModel):
|
||||
gateway: str
|
||||
|
||||
|
||||
class GlobalConfig(BaseModel):
|
||||
"""Global settings"""
|
||||
scan_interval: int
|
||||
log_level: str
|
||||
|
||||
|
||||
class Config(BaseModel):
|
||||
"""Main Configuration"""
|
||||
global_: GlobalConfig = Field(alias="global")
|
||||
mqtt: MqttConfig
|
||||
modbus: ModbusConfig
|
||||
input: List[InputConfig]
|
||||
output: List[OutputConfig]
|
||||
|
||||
@classmethod
|
||||
|
||||
Reference in New Issue
Block a user