Home Assistant Unofficial Reference 2024.12.1
homeassistant.components.mqtt.config_flow Namespace Reference

Classes

class  FlowHandler
 
class  MQTTOptionsFlowHandler
 

Functions

str _get_uploaded_file (HomeAssistant hass, str id)
 
bool async_get_broker_settings (ConfigFlow|OptionsFlow flow, OrderedDict[Any, Any] fields, MappingProxyType[str, Any]|None entry_config, dict[str, Any]|None user_input, dict[str, Any] validated_user_input, dict[str, str] errors)
 
str|None check_certicate_chain ()
 
bool try_connection (dict[str, Any] user_input)
 
dict[str, Any] update_password_from_user_input (str|None entry_password, dict[str, Any] user_input)
 

Variables

 _LOGGER = logging.getLogger(__name__)
 
int ADDON_SETUP_TIMEOUT = 5
 
int ADDON_SETUP_TIMEOUT_ROUNDS = 5
 
string ADVANCED_OPTIONS = "advanced_options"
 
 BOOLEAN_SELECTOR = BooleanSelector()
 
 BROKER_VERIFICATION_SELECTOR
 
 CA_CERT_UPLOAD_SELECTOR
 
list CA_VERIFICATION_MODES
 
 CERT_UPLOAD_SELECTOR
 
 KEEPALIVE_SELECTOR
 
 KEY_UPLOAD_SELECTOR = FileSelector(FileSelectorConfig(accept=".key,application/pkcs8"))
 
int MQTT_TIMEOUT = 5
 
 PASSWORD_SELECTOR = TextSelector(TextSelectorConfig(type=TextSelectorType.PASSWORD))
 
 PORT_SELECTOR
 
 PROTOCOL_SELECTOR
 
 PUBLISH_TOPIC_SELECTOR = TextSelector(TextSelectorConfig(type=TextSelectorType.TEXT))
 
string PWD_NOT_CHANGED = "__**password_not_changed**__"
 
 QOS_SELECTOR
 
 REAUTH_SCHEMA
 
string SET_CA_CERT = "set_ca_cert"
 
string SET_CLIENT_CERT = "set_client_cert"
 
list SUPPORTED_TRANSPORTS
 
 TEXT_SELECTOR = TextSelector(TextSelectorConfig(type=TextSelectorType.TEXT))
 
 TRANSPORT_SELECTOR
 
 WS_HEADERS_SELECTOR
 

Detailed Description

Config flow for MQTT.

Function Documentation

◆ _get_uploaded_file()

str homeassistant.components.mqtt.config_flow._get_uploaded_file ( HomeAssistant  hass,
str  id 
)
private
Get file content from uploaded file.

Definition at line 738 of file config_flow.py.

◆ async_get_broker_settings()

bool homeassistant.components.mqtt.config_flow.async_get_broker_settings ( ConfigFlow | OptionsFlow  flow,
OrderedDict[Any, Any]  fields,
MappingProxyType[str, Any] | None  entry_config,
dict[str, Any] | None  user_input,
dict[str, Any]  validated_user_input,
dict[str, str]  errors 
)
Build the config flow schema to collect the broker settings.

Shows advanced options if one or more are configured
or when the advanced_broker_options checkbox was selected.
Returns True when settings are collected successfully.

Definition at line 748 of file config_flow.py.

◆ check_certicate_chain()

str | None homeassistant.components.mqtt.config_flow.check_certicate_chain ( )
Check the MQTT certificates.

Definition at line 1071 of file config_flow.py.

◆ try_connection()

bool homeassistant.components.mqtt.config_flow.try_connection ( dict[str, Any]  user_input)
Test if we can connect to an MQTT broker.

Definition at line 1033 of file config_flow.py.

◆ update_password_from_user_input()

dict[str, Any] homeassistant.components.mqtt.config_flow.update_password_from_user_input ( str | None  entry_password,
dict[str, Any]   user_input 
)
Update the password if the entry has been updated.

As we want to avoid reflecting the stored password in the UI,
we replace the suggested value in the UI with a sentitel,
and we change it back here if it was changed.

Definition at line 182 of file config_flow.py.

Variable Documentation

◆ _LOGGER

homeassistant.components.mqtt.config_flow._LOGGER = logging.getLogger(__name__)
private

Definition at line 100 of file config_flow.py.

◆ ADDON_SETUP_TIMEOUT

int homeassistant.components.mqtt.config_flow.ADDON_SETUP_TIMEOUT = 5

Definition at line 102 of file config_flow.py.

◆ ADDON_SETUP_TIMEOUT_ROUNDS

int homeassistant.components.mqtt.config_flow.ADDON_SETUP_TIMEOUT_ROUNDS = 5

Definition at line 103 of file config_flow.py.

◆ ADVANCED_OPTIONS

string homeassistant.components.mqtt.config_flow.ADVANCED_OPTIONS = "advanced_options"

Definition at line 107 of file config_flow.py.

◆ BOOLEAN_SELECTOR

homeassistant.components.mqtt.config_flow.BOOLEAN_SELECTOR = BooleanSelector()

Definition at line 111 of file config_flow.py.

◆ BROKER_VERIFICATION_SELECTOR

homeassistant.components.mqtt.config_flow.BROKER_VERIFICATION_SELECTOR
Initial value:
1 = SelectSelector(
2  SelectSelectorConfig(
3  options=CA_VERIFICATION_MODES,
4  mode=SelectSelectorMode.DROPDOWN,
5  translation_key=SET_CA_CERT,
6  )
7 )

Definition at line 155 of file config_flow.py.

◆ CA_CERT_UPLOAD_SELECTOR

homeassistant.components.mqtt.config_flow.CA_CERT_UPLOAD_SELECTOR
Initial value:
1 = FileSelector(
2  FileSelectorConfig(accept=".crt,application/x-x509-ca-cert")
3 )

Definition at line 164 of file config_flow.py.

◆ CA_VERIFICATION_MODES

list homeassistant.components.mqtt.config_flow.CA_VERIFICATION_MODES
Initial value:
1 = [
2  "off",
3  "auto",
4  "custom",
5 ]

Definition at line 150 of file config_flow.py.

◆ CERT_UPLOAD_SELECTOR

homeassistant.components.mqtt.config_flow.CERT_UPLOAD_SELECTOR
Initial value:
1 = FileSelector(
2  FileSelectorConfig(accept=".crt,application/x-x509-user-cert")
3 )

Definition at line 167 of file config_flow.py.

◆ KEEPALIVE_SELECTOR

homeassistant.components.mqtt.config_flow.KEEPALIVE_SELECTOR
Initial value:
1 = vol.All(
2  NumberSelector(
3  NumberSelectorConfig(
4  mode=NumberSelectorMode.BOX, min=15, step="any", unit_of_measurement="sec"
5  )
6  ),
7  vol.Coerce(int),
8 )

Definition at line 123 of file config_flow.py.

◆ KEY_UPLOAD_SELECTOR

homeassistant.components.mqtt.config_flow.KEY_UPLOAD_SELECTOR = FileSelector(FileSelectorConfig(accept=".key,application/pkcs8"))

Definition at line 170 of file config_flow.py.

◆ MQTT_TIMEOUT

int homeassistant.components.mqtt.config_flow.MQTT_TIMEOUT = 5

Definition at line 105 of file config_flow.py.

◆ PASSWORD_SELECTOR

homeassistant.components.mqtt.config_flow.PASSWORD_SELECTOR = TextSelector(TextSelectorConfig(type=TextSelectorType.PASSWORD))

Definition at line 118 of file config_flow.py.

◆ PORT_SELECTOR

homeassistant.components.mqtt.config_flow.PORT_SELECTOR
Initial value:
1 = vol.All(
2  NumberSelector(NumberSelectorConfig(mode=NumberSelectorMode.BOX, min=1, max=65535)),
3  vol.Coerce(int),
4 )

Definition at line 114 of file config_flow.py.

◆ PROTOCOL_SELECTOR

homeassistant.components.mqtt.config_flow.PROTOCOL_SELECTOR
Initial value:
1 = SelectSelector(
2  SelectSelectorConfig(
3  options=SUPPORTED_PROTOCOLS,
4  mode=SelectSelectorMode.DROPDOWN,
5  )
6 )

Definition at line 131 of file config_flow.py.

◆ PUBLISH_TOPIC_SELECTOR

homeassistant.components.mqtt.config_flow.PUBLISH_TOPIC_SELECTOR = TextSelector(TextSelectorConfig(type=TextSelectorType.TEXT))

Definition at line 113 of file config_flow.py.

◆ PWD_NOT_CHANGED

string homeassistant.components.mqtt.config_flow.PWD_NOT_CHANGED = "__**password_not_changed**__"

Definition at line 178 of file config_flow.py.

◆ QOS_SELECTOR

homeassistant.components.mqtt.config_flow.QOS_SELECTOR
Initial value:
1 = vol.All(
2  NumberSelector(NumberSelectorConfig(mode=NumberSelectorMode.BOX, min=0, max=2)),
3  vol.Coerce(int),
4 )

Definition at line 119 of file config_flow.py.

◆ REAUTH_SCHEMA

homeassistant.components.mqtt.config_flow.REAUTH_SCHEMA
Initial value:
1 = vol.Schema(
2  {
3  vol.Required(CONF_USERNAME): TEXT_SELECTOR,
4  vol.Required(CONF_PASSWORD): PASSWORD_SELECTOR,
5  }
6 )

Definition at line 172 of file config_flow.py.

◆ SET_CA_CERT

string homeassistant.components.mqtt.config_flow.SET_CA_CERT = "set_ca_cert"

Definition at line 108 of file config_flow.py.

◆ SET_CLIENT_CERT

string homeassistant.components.mqtt.config_flow.SET_CLIENT_CERT = "set_client_cert"

Definition at line 109 of file config_flow.py.

◆ SUPPORTED_TRANSPORTS

list homeassistant.components.mqtt.config_flow.SUPPORTED_TRANSPORTS
Initial value:
1 = [
2  SelectOptionDict(value=TRANSPORT_TCP, label="TCP"),
3  SelectOptionDict(value=TRANSPORT_WEBSOCKETS, label="WebSocket"),
4 ]

Definition at line 137 of file config_flow.py.

◆ TEXT_SELECTOR

homeassistant.components.mqtt.config_flow.TEXT_SELECTOR = TextSelector(TextSelectorConfig(type=TextSelectorType.TEXT))

Definition at line 112 of file config_flow.py.

◆ TRANSPORT_SELECTOR

homeassistant.components.mqtt.config_flow.TRANSPORT_SELECTOR
Initial value:
1 = SelectSelector(
2  SelectSelectorConfig(
3  options=SUPPORTED_TRANSPORTS,
4  mode=SelectSelectorMode.DROPDOWN,
5  )
6 )

Definition at line 141 of file config_flow.py.

◆ WS_HEADERS_SELECTOR

homeassistant.components.mqtt.config_flow.WS_HEADERS_SELECTOR
Initial value:
1 = TextSelector(
2  TextSelectorConfig(type=TextSelectorType.TEXT, multiline=True)
3 )

Definition at line 147 of file config_flow.py.