M5-T08: add MQTT, HA Discovery, and Modbus polling config fields
This commit is contained in:
+13
-1
@@ -41,9 +41,21 @@ class Settings(BaseSettings):
|
||||
auth_trust_forwarded_for: bool = False
|
||||
auth_totp_issuer: str = "" # defaults to app_name when empty
|
||||
|
||||
# Modbus polling — global kill-switch; T08 will wire this into CONFIG_FIELDS/UI.
|
||||
# Modbus polling — global kill-switch (CONFIG_FIELDS registered in T08).
|
||||
modbus_polling_enabled: bool = True
|
||||
|
||||
# MQTT broker connection (T08 wires into CONFIG_FIELDS/UI; T10 builds the client).
|
||||
mqtt_enabled: bool = False
|
||||
mqtt_broker_host: str = ""
|
||||
mqtt_broker_port: int = 1883
|
||||
mqtt_username: str = ""
|
||||
mqtt_password: str = ""
|
||||
mqtt_tls_enabled: bool = False
|
||||
|
||||
# Home Assistant MQTT Discovery (T08 wires into CONFIG_FIELDS/UI; T11 does publishing).
|
||||
ha_discovery_enabled: bool = False
|
||||
ha_discovery_prefix: str = "homeassistant"
|
||||
|
||||
model_config = SettingsConfigDict(
|
||||
env_file=".env",
|
||||
env_file_encoding="utf-8",
|
||||
|
||||
@@ -102,6 +102,25 @@ CONFIG_FIELDS: tuple[ConfigField, ...] = (
|
||||
"home_assistant_action_task_project_id",
|
||||
"Home Assistant Action Task Project ID",
|
||||
),
|
||||
ConfigField("MQTT", "MQTT_ENABLED", "mqtt_enabled", "MQTT Enabled"),
|
||||
ConfigField("MQTT", "MQTT_BROKER_HOST", "mqtt_broker_host", "MQTT Broker Host"),
|
||||
ConfigField("MQTT", "MQTT_BROKER_PORT", "mqtt_broker_port", "MQTT Broker Port", input_type="number"),
|
||||
ConfigField("MQTT", "MQTT_USERNAME", "mqtt_username", "MQTT Username"),
|
||||
ConfigField("MQTT", "MQTT_PASSWORD", "mqtt_password", "MQTT Password", secret=True),
|
||||
ConfigField("MQTT", "MQTT_TLS_ENABLED", "mqtt_tls_enabled", "MQTT TLS Enabled"),
|
||||
ConfigField(
|
||||
"Home Assistant Discovery",
|
||||
"HA_DISCOVERY_ENABLED",
|
||||
"ha_discovery_enabled",
|
||||
"HA Discovery Enabled",
|
||||
),
|
||||
ConfigField(
|
||||
"Home Assistant Discovery",
|
||||
"HA_DISCOVERY_PREFIX",
|
||||
"ha_discovery_prefix",
|
||||
"HA Discovery Prefix",
|
||||
),
|
||||
ConfigField("Modbus", "MODBUS_POLLING_ENABLED", "modbus_polling_enabled", "Modbus Polling Enabled"),
|
||||
)
|
||||
|
||||
|
||||
@@ -292,4 +311,13 @@ def _settings_payload(settings: Settings) -> dict[str, Any]:
|
||||
"auth_cookie_secure_override": settings.auth_cookie_secure_override,
|
||||
"auth_login_throttle_enabled": settings.auth_login_throttle_enabled,
|
||||
"auth_trust_forwarded_for": settings.auth_trust_forwarded_for,
|
||||
"modbus_polling_enabled": settings.modbus_polling_enabled,
|
||||
"mqtt_enabled": settings.mqtt_enabled,
|
||||
"mqtt_broker_host": settings.mqtt_broker_host,
|
||||
"mqtt_broker_port": settings.mqtt_broker_port,
|
||||
"mqtt_username": settings.mqtt_username,
|
||||
"mqtt_password": settings.mqtt_password,
|
||||
"mqtt_tls_enabled": settings.mqtt_tls_enabled,
|
||||
"ha_discovery_enabled": settings.ha_discovery_enabled,
|
||||
"ha_discovery_prefix": settings.ha_discovery_prefix,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user