should work so far

This commit is contained in:
2025-12-05 11:54:53 +01:00
parent 6faed5441c
commit 3f13a5adfa
7 changed files with 169 additions and 46 deletions

View File

@@ -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