MQTT devices unavailable

I have a problem where all my DIY devices using Wemos D1 Mini have stopped working. They connect to Home Assistant via MQTT, but all of them are showing as unavailable. I can see in the logs that the devices are connecting, but they don’t appear on the dashboard—they’re marked as unavailable. This issue started occurring one day ago. HA also showed me that there is something deprecated (the message is not showing anymore). I’m not sure what the problem is. Below is my part of configuration.yaml:

mqtt:
  cover:
    - name: "Kitchen Shades"
      command_topic: "homeassistant/sensor/kitchen_shades/pos"
      position_topic: "homeassistant/sensor/kitchen_shades/position"
      set_position_topic: "homeassistant/sensor/kitchen_shades/set_position"
      availability_topic: "homeassistant/sensor/kitchen_shades/availability"
      qos: 0
      retain: true
      payload_open: "OPEN"
      payload_close: "CLOSE"
      payload_stop: "STOP"
      position_open: 0
      position_closed: 100
      payload_available: "online"
      payload_not_available: "offline"
      optimistic: false
      unique_id: "kitchen_shades_001"
  switch:
    - unique_id: post_switch_001
      name: "Post Switch"
      command_topic: "homeassistant/sensor/post/set"
      state_topic: "homeassistant/sensor/post/swstate"
      availability_topic: "homeassistant/sensor/post/availability"
      payload_on: "ON"
      payload_off: "OFF"
      state_on: "ON"
      state_off: "OFF"
      optimistic: false
      qos: 0
      retain: true
  sensor:
    - name: "Outdoor Temperature"
      state_topic: "homeassistant/weatherstation/temperatureOut"
      unit_of_measurement: "°C"
      qos: 0
      unique_id: "weatherstation_temperatureOut"
      availability_topic: "homeassistant/weatherstation/availability"
    
    - name: "Outdoor Humidity"
      state_topic: "homeassistant/weatherstation/humidityOut"
      unit_of_measurement: "%"
      qos: 0
      unique_id: "weatherstation_humidityOut"
      availability_topic: "homeassistant/weatherstation/availability"
    
    - name: "Wind Speed"
      state_topic: "homeassistant/weatherstation/windSpeed"
      unit_of_measurement: "m/s"
      qos: 0
      unique_id: "weatherstation_windSpeed"
      availability_topic: "homeassistant/weatherstation/availability"
    
    - name: "Max Wind Speed"
      state_topic: "homeassistant/weatherstation/maxWindSpeed"
      unit_of_measurement: "m/s"
      qos: 0
      unique_id: "weatherstation_maxWindSpeed"
      availability_topic: "homeassistant/weatherstation/availability"
    
    - name: "Wind Description"
      state_topic: "homeassistant/weatherstation/windDescription"
      qos: 0
      unique_id: "weatherstation_windDescription"
      availability_topic: "homeassistant/weatherstation/availability"

Hi,
The first check is to use https://mqtt-explorer.com/ to see what is actually connected to the broker. The usual issue is an unexpected IPv4 change of the HASS server, and clients are stranded.

You’ve not said what the ESPs are running - Tasmota? ESPhome? Arduino?

There was a trivial change to make for ESPhome updates an upgrade below, but you’ve read the release notes. You have read the release notes? :slight_smile:


#include <usual advice>
Here’s a wakthrough with a direct link to the HASS MQTT settings to define a local user:

If this helps, :heart: this post!