Custom Component: HACS

Manage (Install, track, upgrade) and discover custom elements for Home Assistant directly from the UI.

What?

HACS is an abbreviation of “Home Assistant Community Store”.

Although “Store” is not “technically” correct since nothing is sold, it’s more like a marketplace? but “HACM” didn’t have the same ring to it.

HACS is a component that gives the user a powerful UI to handle downloads of custom needs.

Highlights of what HACS can do:

  • Help you discover new custom elements.
  • Help you install (download) new custom elements.
  • Help you keep track of your custom elements.
    • Manage(Install/Upgrade/Remove)
    • Shortcuts to repositories/issue tracker

Why?

About half a year after the first version of custom_updater, I started to hate it, really hate it and I didn’t see any way of getting it to a state where I would have been happy with it, most of my issues with that you can find here https://github.com/custom-components/custom_updater/issues/117.

With the amount of users it had/have(/has?) I figured it would be better to start over with the same “mission”, that’s where HACS came to life.

HACS is not a full replacement for custom_updater and even though their “mission” is the same how they work is completely different, where the main issue is to make it easy for both the user and the developer, for most elements it will just work (with some exceptions of course).

Useful links

Issues

If When you experience issues/bugs with this the best way to report them is to open an issue in the repository https://hacs.xyz/docs/issues, GitHub is AWESOME for tracking/searching issues.

So again, since this is kinda important, If when you experience issues/bugs with this, post them to GitHub, not here.

Issues posted in a forum thread is really, really, really hard to track/follow :slight_smile:
The same goes for feature requests.

78 Likes

Very interested in trying this out.
I am reading through your documentation - step 5 says to see step 7… but I think this is suppose to be step 6.

On the same token, in step 6 it says to go back to step 6… I think this is suppose to say go back to step 5.

I’m going to try and install this soon and see how it works (running on Linux with Docker HA container install).

Cheers!
DeadEnd

Awesome!
There are probably many, many, many other flaws there.
When you find them there is a edit button on every page, if you find something wrong it would be greatly appreciated if you submit a PR to correct that :slight_smile:

Will do.
I am still new to Github, but I’ll do my best to do it correctly :slight_smile:

DeadEnd

1 Like

Ok tomorrow’s task will be to uninstall custom_updater and try this out.

Is there a list of compatible custom components I can browse before installing?

A list like that would not be possible to make, any GitHub repository that follow the requirements can be added :slight_smile:

By default any card in https://github.com/custom-cards or component in https://github.com/custom-components is included (as long as they follow the requirements), as well as a handful of other repositories added by their respective developers. You can add repos that aren’t in the default set to HACS from the settings tab, but, as @ludeeus mentioned, they need to follow the requirements for HACS.

1 Like

Yeah I was after a list of the ones that do follow the requirements.

Let me try that again :slight_smile:
A list like that is not possible to create/maintain, any compliant GitHub repository can be added as a custom repository, if you are after the default ones that’s is more manageable, but not something I would make since there would be to much to maintain.

1 Like

Yesterday I converted most things from custom updater to HACS successfully. This is just awesome! Thanks a lot!

I had one updated plugin during the process, but almost missed it because I did not notice the orange color of the icon. Perhaps it’s an idea to also change the fontcolor of the name as well?

Please open a feature request on the issue tracker for that :wink:

I’m aware, but since that’s not really possible I thought I would offer a bit more info. :slight_smile:

1 Like

The only ones I use not supported are the custom dark-sky animated card (@mpfranklin) and sun custom component (@pnbruckner) and believe it or not @ludeeus own authenticated sensor. All the rest are in there now. (All were previously supported by custom_updater)

2 Likes

Other custom_components not included that I use are alexa_media and life360. Tho, life360 will hopefully soon become a full component so it won’t be needed.

I was able to manually add a few other lovelace plugins that I use but several weren’t able to be added since they weren’t compatible.

Heck, I was even able to get my own fan control lovelace plug in added to the default store so if I can figure out how to do that then anybody can. :smile:

2 Likes

If you restart HA, it is now :slight_smile:
https://i.ibb.co/h8kzKLT/image.png

2 Likes

Nice… a reload made it showup too so loaded and then restarted. Thanks.

1 Like

I’d like to switch to this, and make my own custom cards compatible, but it appears that I can’t do this without breaking their existing compatibility with custom_updater.

Currently they support the “super_custom cards” method of custom_updater which requires the name of the Javascript file to exactly match the repo name, but it seems that the new HACS component requires the Javascript file to exclude the lovelace- prefix if present in the repo name. Since my repo names start with lovelace-, it seems I can only support one or the other but I don’t want to exclude those who haven’t yet updated to use HACS. Is there any way around this?

I can maybe fix that limitation, got a link to a repo with that?

Here is one of my repos for a custom card, which currently works with custom_updater:

1 Like

Should be acceptable in 0.8.0 when that drops :wink:

1 Like