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

Classes

class  _SetupNonEntityHelperCallbackProtocol
 
class  MqttAttributesMixin
 
class  MqttAvailabilityMixin
 
class  MqttDiscoveryDeviceUpdateMixin
 
class  MqttDiscoveryUpdateMixin
 
class  MqttEntity
 
class  MqttEntityDeviceInfo
 

Functions

None _handle_discovery_failure (HomeAssistant hass, MQTTDiscoveryPayload discovery_payload)
 
bool _verify_mqtt_config_entry_enabled_for_discovery (HomeAssistant hass, str domain, MQTTDiscoveryPayload discovery_payload)
 
None async_clear_discovery_topic_if_entity_removed (HomeAssistant hass, DiscoveryInfoType discovery_data, Event[er.EventEntityRegistryUpdatedData] event)
 
None async_handle_schema_error (MQTTDiscoveryPayload discovery_payload, vol.Invalid err)
 
None async_remove_discovery_payload (HomeAssistant hass, DiscoveryInfoType discovery_data)
 
bool async_removed_from_device (HomeAssistant hass, Event[EventDeviceRegistryUpdatedData] event, str mqtt_device_id, str config_entry_id)
 
None async_setup_entity_entry_helper (HomeAssistant hass, ConfigEntry entry, type[MqttEntity]|None entity_class, str domain, AddEntitiesCallback async_add_entities, VolSchemaType discovery_schema, VolSchemaType platform_schema_modern, dict[str, type[MqttEntity]]|None schema_class_mapping=None)
 
None async_setup_non_entity_entry_helper (HomeAssistant hass, str domain, _SetupNonEntityHelperCallbackProtocol async_setup, vol.Schema discovery_schema)
 
None cleanup_device_registry (HomeAssistant hass, str|None device_id, str|None config_entry_id)
 
DeviceInfo|None device_info_from_specifications (dict[str, Any]|None specifications)
 
None ensure_via_device_exists (HomeAssistant hass, DeviceInfo|None device_info, ConfigEntry config_entry)
 
tuple[str, str] get_discovery_hash (DiscoveryInfoType discovery_data)
 
None init_entity_id_from_config (HomeAssistant hass, Entity entity, ConfigType config, str entity_id_format)
 
None send_discovery_done (HomeAssistant hass, DiscoveryInfoType discovery_data)
 
None stop_discovery_updates (HomeAssistant hass, DiscoveryInfoType discovery_data, Callable[[], None]|None remove_discovery_updated=None)
 
str|None update_device (HomeAssistant hass, ConfigEntry config_entry, ConfigType config)
 

Variables

 _LOGGER = logging.getLogger(__name__)
 
dictionary MQTT_ATTRIBUTES_BLOCKED
 

Detailed Description

MQTT (entity) component mixins and helpers.

Function Documentation

◆ _handle_discovery_failure()

None homeassistant.components.mqtt.entity._handle_discovery_failure ( HomeAssistant  hass,
MQTTDiscoveryPayload  discovery_payload 
)
private
Handle discovery failure.

Definition at line 163 of file entity.py.

◆ _verify_mqtt_config_entry_enabled_for_discovery()

bool homeassistant.components.mqtt.entity._verify_mqtt_config_entry_enabled_for_discovery ( HomeAssistant  hass,
str  domain,
MQTTDiscoveryPayload   discovery_payload 
)
private
Verify MQTT config entry is enabled or log warning.

Definition at line 173 of file entity.py.

◆ async_clear_discovery_topic_if_entity_removed()

None homeassistant.components.mqtt.entity.async_clear_discovery_topic_if_entity_removed ( HomeAssistant  hass,
DiscoveryInfoType  discovery_data,
Event[er.EventEntityRegistryUpdatedData]  event 
)
Clear the discovery topic if the entity is removed.

Definition at line 646 of file entity.py.

◆ async_handle_schema_error()

None homeassistant.components.mqtt.entity.async_handle_schema_error ( MQTTDiscoveryPayload  discovery_payload,
vol.Invalid   err 
)
Help handling schema errors on MQTT discovery messages.

Definition at line 150 of file entity.py.

◆ async_remove_discovery_payload()

None homeassistant.components.mqtt.entity.async_remove_discovery_payload ( HomeAssistant  hass,
DiscoveryInfoType   discovery_data 
)
Clear retained discovery payload.

Remove discovery topic in broker to avoid rediscovery
after a restart of Home Assistant.

Definition at line 634 of file entity.py.

◆ async_removed_from_device()

bool homeassistant.components.mqtt.entity.async_removed_from_device ( HomeAssistant  hass,
Event[EventDeviceRegistryUpdatedData]  event,
str  mqtt_device_id,
str  config_entry_id 
)
Check if the passed event indicates MQTT was removed from a device.

Definition at line 1533 of file entity.py.

◆ async_setup_entity_entry_helper()

None homeassistant.components.mqtt.entity.async_setup_entity_entry_helper ( HomeAssistant  hass,
ConfigEntry  entry,
type[MqttEntity] | None  entity_class,
str  domain,
AddEntitiesCallback  async_add_entities,
VolSchemaType  discovery_schema,
VolSchemaType  platform_schema_modern,
dict[str, type[MqttEntity]] | None   schema_class_mapping = None 
)
Set up entity creation dynamically through MQTT discovery.

Definition at line 236 of file entity.py.

◆ async_setup_non_entity_entry_helper()

None homeassistant.components.mqtt.entity.async_setup_non_entity_entry_helper ( HomeAssistant  hass,
str  domain,
_SetupNonEntityHelperCallbackProtocol  async_setup,
vol.Schema  discovery_schema 
)
Set up automation or tag creation dynamically through MQTT discovery.

Definition at line 199 of file entity.py.

◆ cleanup_device_registry()

None homeassistant.components.mqtt.entity.cleanup_device_registry ( HomeAssistant  hass,
str | None  device_id,
str | None   config_entry_id 
)
Clean up the device registry after MQTT removal.

Remove MQTT from the device registry entry if there are no remaining
entities, triggers or tags.

Definition at line 580 of file entity.py.

◆ device_info_from_specifications()

DeviceInfo | None homeassistant.components.mqtt.entity.device_info_from_specifications ( dict[str, Any] | None  specifications)
Return a device description for device registry.

Definition at line 1141 of file entity.py.

◆ ensure_via_device_exists()

None homeassistant.components.mqtt.entity.ensure_via_device_exists ( HomeAssistant  hass,
DeviceInfo | None  device_info,
ConfigEntry   config_entry 
)
Ensure the via device is in the device registry.

Definition at line 1189 of file entity.py.

◆ get_discovery_hash()

tuple[str, str] homeassistant.components.mqtt.entity.get_discovery_hash ( DiscoveryInfoType  discovery_data)
Get the discovery hash from the discovery data.

Definition at line 609 of file entity.py.

◆ init_entity_id_from_config()

None homeassistant.components.mqtt.entity.init_entity_id_from_config ( HomeAssistant  hass,
Entity  entity,
ConfigType  config,
str   entity_id_format 
)
Set entity_id from object_id if defined in config.

Definition at line 351 of file entity.py.

◆ send_discovery_done()

None homeassistant.components.mqtt.entity.send_discovery_done ( HomeAssistant  hass,
DiscoveryInfoType  discovery_data 
)
Acknowledge a discovery message has been handled.

Definition at line 615 of file entity.py.

◆ stop_discovery_updates()

None homeassistant.components.mqtt.entity.stop_discovery_updates ( HomeAssistant  hass,
DiscoveryInfoType  discovery_data,
Callable[[], None] | None   remove_discovery_updated = None 
)
Stop discovery updates of being sent.

Definition at line 621 of file entity.py.

◆ update_device()

str | None homeassistant.components.mqtt.entity.update_device ( HomeAssistant  hass,
ConfigEntry  config_entry,
ConfigType  config 
)
Update device registry.

Definition at line 1508 of file entity.py.

Variable Documentation

◆ _LOGGER

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

Definition at line 127 of file entity.py.

◆ MQTT_ATTRIBUTES_BLOCKED

dictionary homeassistant.components.mqtt.entity.MQTT_ATTRIBUTES_BLOCKED
Initial value:
1 = {
2  "assumed_state",
3  "available",
4  "device_class",
5  "device_info",
6  "entity_category",
7  "entity_picture",
8  "entity_registry_enabled_default",
9  "extra_state_attributes",
10  "force_update",
11  "icon",
12  "name",
13  "should_poll",
14  "state",
15  "supported_features",
16  "unique_id",
17  "unit_of_measurement",
18 }

Definition at line 129 of file entity.py.