Another UI fail. (YAML wouldn't be a problem)

So, firstly I was of the opinion that converting integrations to the UI on the basis that they were 'set-up-and-leave-alone’, was a not unreasonable direction…

…however…

I installed the Smart Irrigation Integration to have a play with it.
Having decided that right now it is not for me I tried to uninstall it via the UI.

image
image

The very fact that I can show you those screen shots tells you that it didn’t work. Or maybe it did because now I get this error in my log every time I restart

image

What can I do?
Apart from edit .storage which we all know is not good advice.

It looks it might be a ‘FAIL’ for the UI.

And yes, I know this is not a ‘core’ integration but should that matter?

Short answer: No.

Long answer: No but it’s not necessarily a flaw in config flow’s architecture but in how this integration implemented it. Whether it’s an official integration or a custom one, if deleting it causes an error that means there’s a bug (I’ve deleted integrations without causing errors). Report it to the integration’s author.

This usually happens if you remove the integration from custom_components directory before removing it via the UI.

The steps you are suppose to follow are:

  1. Remove integration from UI
  2. Delete files/uninstall via HACS

Yes, I might have done that. I could try re-installing it and then uninstalling it the ‘right way’?

However, who knew there was a right way? I thought a shiny UI was meant to do away with all these vagaries :smiling_imp:

Yup that’ll allow you to remove it.

If you think about it, it works perfectly with the core integrations because you’re not going to remove the files :stuck_out_tongue:

Once you delete the config_flow.py it doesn’t know how to “uninstall” anymore. One thing I could think of is a check put into Home Assistant that if the config flow file goes MIA to maybe disable the integration in the screen ie gray’ed out (since you may have deleted it on accident).

Maybe HACS could check to see if it’s still loaded in the config and block you for uninstalling it as well :man_shrugging:

And it’s gone, thank you.

1 Like

Perhaps you have exercised a failure scenario that was not anticipated when config flow was designed. Deleting the integration’s files prior to uninstalling it will often break established associations (try doing that with an installed app on most operating systems and the result can be equally problematic). Alternatively, it was anticipated but the integration’s developer didn’t implement the mitigation procedure. That’s why it’s best to report it to the author so that it can be improved.

https://github.com/home-assistant/core/pull/36130 added support for the scenario described out in this thread.

4 Likes