* Fix issue where an MQTT device is removed linked to two config entries
* Update homeassistant/components/mqtt/discovery.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Update homeassistant/components/mqtt/debug_info.py
Co-authored-by: J. Nick Koston <nick@koston.org>
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Create bound callback_message_received method for handling mqtt callbacks
* refactor a bit
* fix ruff
* reduce overhead
* cleanup
* cleanup
* Revert changes alarm_control_panel
* Add sensor and binary sensor
* use same pattern for MqttAttributes/MqttAvailability
* remove useless function since we did not need to add to it
* code cleanup
* collapse
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Improve lists for MQTT integration
* Extra diagnostics tests
* Revert changes where the original version was probably faster
* Revert change to gather and await in series
* Improve typing debug_info
* Improve typing device_automation
* Improve typing device_trigger
* Improve typing fan
* Additional type hints device_trigger
* Set fan type hints to class level
* Cleanup and mypy
* Follow up and missed hint
* Follow up comment
* Add MQTT debug_info to dataclass
* Remove total attr, assign factory
* Rename typed dict to MqttDebugInfo and use helper
* Split entity and trigger debug info
* Refactor
* More rework