from pydantic import BaseSettings, Field from openhab.__init__ import __version__ class Settings(BaseSettings): """Application settings for the DSMR 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_baudrate: str = Field(115200, env='DSMR_BAUDRATE') dsmr_bytesize: str = Field('EIGHTBITS', env='DSMR_BITESIZE') dsmr_parity: str = Field('NONE', env='DSMR_PARITY') dsmr_stopbits: str = Field('ONE', env='DSMR_STOPBITS') 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 = "0.1.0" class Config: """Where to find the environment file containing the settings.""" env_file = '.env'