from pydantic import BaseSettings, Field import homie VERSION = "0.1.1" class Settings(BaseSettings): """Application settings for the DSMR 2 MQTT bridge.""" loglevel: str = Field('INFO', env='LOGLEVEL') mqtt_host: str = Field(None, env='MQTT_HOST') mqtt_port: int = Field(1883, env='MQTT_PORT') mqtt_username: str = Field(None, env='MQTT_USERNAME') mqtt_password: str = Field(None, env='MQTT_PASSWORD') dsmr_port: str = Field('/dev/ttyUSB0', env='DSMR_PORT') dsmr_protocol: str = Field('V5', env='DSMR_PROTOCOL') dsmr_update_interval: int = Field(15, env='DSMR_UPDATE_INTERVAL') homie_update_interval: int = 60 homie_topic: str = Field('homie', env='HOMIE_TOPIC') homie_implementation: str \ = f"DSMR Homie {VERSION} Homie 4 Version {homie.__version__}" homie_fw_name: str = "DSMR" homie_fw_version: str = VERSION class Config: """Where to find the environment file containing the settings.""" env_file = '.env'