Lovelace UI vs YAML


Untill now I always started the configuration of my dashboard using the UI, which I find most of the time very handy.

But when a dashboard gets complicated it doesn’t work so well. My main limitations are :

  • some custom cards cannot be parameterized in the UI. When they include other cards (for example tabbed, swipe, stack-in), the included cards also cannot be UI edited anymore, so in the end it can be a lot of cards.
  • Impossible to reuse a card in a different dashboard (with custom:decluttering-card)

So now I am thinking to switch to a full YAML mode, with a sync on a git repository and using a proper IDE.
But when I try to find some information about it, I see many discussions saying “it’s the end of the YAML, Home Assistant wants to switch to UI only…etc”.
So I’m a bit lost, should I stay with the UI and face the limitations mentioned above ? Or should I switch the “old” YAML solution ?

Thanks in advance for your help!

I completely understand where you’re coming from… but there are many kinds of dashboards that can be created - they don’t have to be Lovelace UI… have you looked into ui minimalist which is great for cell phones (some examples of what I have are below):

If you want to switch to yaml mode then go ahead. I seriously doubt that a mandatory switch to UI only config for the dashboards will happen any time soon if ever.

Use yaml for the main config, storage for testing.

Ok thank you for your advices.
I didn’t know minimalist UI, but I doubt it could solve my issues, I use some cards like frigate to communicate from a wall tablet to my intercom, advanced sets of custom cards to build a kind of media player connected to my Spotify playlists…etc
So I think I’ll give a try to the YAML mode, even better if I can keep one dashboard handled in the UI for testing.

Now how do you deploy your devs from VS Code (or any IDE) to your home assistant?

  • direct dev on the server, like here
  • using a CI/CD pipeline, like here
  • other ways ?

With Ansible.

Running HA & VSCode in Docker on same host.
Then access VSCode via web.