Tweak MQTT availability (#37719)
This commit is contained in:
parent
67b18aef5b
commit
383db60dff
1 changed files with 6 additions and 3 deletions
|
@ -1045,11 +1045,14 @@ class MqttAvailability(Entity):
|
|||
"""Subscribe MQTT events."""
|
||||
await super().async_added_to_hass()
|
||||
await self._availability_subscribe_topics()
|
||||
async_dispatcher_connect(self.hass, MQTT_CONNECTED, self.async_mqtt_connect)
|
||||
async_dispatcher_connect(self.hass, MQTT_DISCONNECTED, self.async_mqtt_connect)
|
||||
self.async_on_remove(
|
||||
async_dispatcher_connect(self.hass, MQTT_CONNECTED, self.async_mqtt_connect)
|
||||
)
|
||||
self.async_on_remove(
|
||||
async_dispatcher_connect(
|
||||
self.hass, MQTT_DISCONNECTED, self.async_mqtt_connect
|
||||
)
|
||||
)
|
||||
|
||||
async def availability_discovery_update(self, config: dict):
|
||||
"""Handle updated discovery message."""
|
||||
|
@ -1116,7 +1119,7 @@ class MqttAvailability(Entity):
|
|||
@property
|
||||
def available(self) -> bool:
|
||||
"""Return if the device is available."""
|
||||
if not self.hass.data[DATA_MQTT].connected:
|
||||
if not self.hass.data[DATA_MQTT].connected and not self.hass.is_stopping:
|
||||
return False
|
||||
return not self._avail_topics or self._available
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue