M6-T02: add DSMR + Tibber flat config fields

- Settings: dsmr_ingest_enabled, dsmr_mqtt_topic, dsmr_sample_interval_s,
  tibber_api_token (secret), tibber_home_id (all opt-in / off by default).
- CONFIG_FIELDS DSMR + Tibber sections; _settings_payload extended.
- .env.example examples; test_api_config coverage (sections, secret, 422).
This commit is contained in:
2026-06-23 20:43:46 +02:00
parent 18fe18281b
commit df54f5518b
5 changed files with 257 additions and 1 deletions
+10
View File
@@ -58,6 +58,16 @@ class Settings(BaseSettings):
ha_discovery_enabled: bool = False
ha_discovery_prefix: str = "homeassistant"
# DSMR smart-meter ingest via MQTT (M6; default off — opt-in).
# Subscribe to dsmr_mqtt_topic when dsmr_ingest_enabled=True.
dsmr_ingest_enabled: bool = False
dsmr_mqtt_topic: str = "dsmr/json"
dsmr_sample_interval_s: int = 10
# Tibber dynamic pricing credentials (M6; only used when active contract kind=tibber).
tibber_api_token: str = ""
tibber_home_id: str = ""
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",