I had the same issue.
I was trying to set up garHAge, which allows me to monitor the status of two “covers”. It also allows me to trigger a relay to open / close them. (Garage doors).
I initially configured it with the embedded mqtt broker. It was working with the exception of the trigger. So I could read information from the IOT device, but couldn’t publish anything to it. So I thought it may be a mqtt issue, so I removed the embedded mqtt and set up mosquito.
It got worse, then. It would only read the status sporadically, and I still couldn’t trigger the door.
So I uninstalled mosquito through the add-on interface, restarted, and went back to the embedded mqtt. But now, it seems confused. I was getting read errors in the homeassistant.log, and I was also seeing
Data in your config entry is going to override your configuration.yaml: {'broker': '192.168.1.115', 'discovery': False, 'password': '<redacted>', 'port': 1883, 'username': 'mqttuser'}
I then did some tests on my garHAge interface, and discovered that the relay was an ACTIVE_LOW_RELAY (not a ACTIVE_HIGH_RELAY). So I made an adjustment to the code and flashed the device.
Back to hass.io
Finally, I found an obscure (to me anyway), file located in .storage with the name core.config_entries. In that file was a section referencing mqtt. First, I backed up the file, then removed this section.
Next, I removed the mqtt: section from my configuration.yaml file and restarted HA. I wanted to have a clean slate.
Next, I added mqtt: back into the configuration.yaml file and restarted again.
From there, I went to configuration->integrations and configured the mqtt component.
I booted up my garHAge device and now everything is working.
Sorry to be so verbose, but I wanted to include as much as I could so others googling could hopefully find a solution.