WTH are integrations and addons in two separate places?

A thing which has always been strange to me is, why integrations and addons have to be kept in two separate places? I think this makes a bit more difficult/less intuitive for some end users (as myself), as I have to look both places to find what I’m looking for. Why not have it under the same section and then they could be marked with two different colours/markings/whatever, if it is important to know, that it is two different things - which it isn’t for me at least. It just makes it a bit more confusing.

Integrations allow Home Assistant to communicate with devices and other applications.

Addons, on the other hand, are entirely separate applications. Technically, they are independent from Home Assistant. You’ll notice that if you install and run an addon, you will still need an integration to go along with it.

In other words, they are separate because they serve two distinct functions.


It could still be possible to make that distinction clearer or simpler, however. What did you have in mind?

7 Likes

That and addons are not available for all install methods.

4 Likes

Yeah. But for me as an end user that really doesn’t make a difference :slight_smile:
When I want to get something in to HA e.g my TV, I do not think if it is a addon or an integration. I just want to “integrate” (sorry couldn’t think of a better word) it. So in my opinion I should be able to search for addon and integration in the same place and view the ones I have installed in the same place. And then they could be distinguished somehow, if it is important for someone to know :slight_smile:
Hope you understand my explanation.

3 Likes

It would be more confusing though because you’d have to choose the addon or integration with the same name, like zwave Or NUT

1 Like

Sorry for being noob here. Tried to google zwave and “nut” to find out the difference - but couldn’t find anything on the later….

But let’s say I wanted to get my vacuum in, then currently I have the Roborock integration. If I could search for addons and integrations in the same place, then it wouldn’t show up as both things as it only exists as one of them. And then if one (let’s say addon) needed both addon and integration to work (if that is what you are trying to tell me?) then I would assume they came as as “package”. Sorry if this makes zero sense for someone on your level. I just know that for someone on my low level, it makes it more confusing. And this can be why some find it difficult to start with HA compared to other options.

No need to apologize. Those are fair questions.

While I can see why it is confusing at first, it actually prevents further confusion down the road. I get that from a new user perspective, you don’t care what needs to be done behind the scenes, you just want it to work. The challenge here is that integrations and addons are so fundamentally different that not learning the difference will likely bite you in the butt later on.

I’d be interested in hearing if anyone can think of a way to make them simpler for new users without blurring the lines between them.

4 Likes

Haha, well. I can then tell you, that I have been using HA for some years now, and a lot of my home is automated. And to be honest I am still not sure about the difference :upside_down_face:
But does it make a difference for me? No! Only that I have to look in different places. :slight_smile: So I do not see that the argument is valid, that it will bite me further down the road.

1 Like

This is a bit dangerous since I am not an expert on this either. But this is how I would formulatie it:

  • Addons are usually not related to devices. They add capabilities to HA that weren’t there before.
  • Integrations are related to devices, they tell HA what to do with information received from devices and which commands can be sent to them. They’re more like translators so HA can talk to your device, but don’t really add any new features to HA itself.
    I don’t think there are devices that require an add-on?
    The most confusing part is HACS. If your device has no official integration, but there is a custom integration that someone made, but is not part of HA because it didn’t go through the extensive quality control process, you can find this with HACS. HACS is an add-on, that allows you to search and install custom integrations.
3 Likes

Add-ons are non-HA applications that can be easily installed (“added on” to) a HAOS server. If you run HA on another OS you have to install applications according to your chosen OS (for example using pip, apt, or docker containers). If you run HA on HAOS you can install 3rd-party applications using add-ons. It’s important to note these applications are written and maintained by groups completely outside the purview of HA developers. I grant you “add-on” is not the best name. (personally, I would have gone with “container for home assistant operating system”, or chaos).

Integrations are what HA calls its code to add devices and services to Home Assistant. This code is part of the HA application, or can add on (ugh)…umm… extend the application’s core code. Most applications just call these snippets of code “plugins” because the word “integration” is overloaded with meanings. My favorite example is the integral integration (!), which literally integrates (in the area-under-the-curve calculus sense) data without integrating (in the computer science sense) any new devices. Again, a better name could have been picked.

Some Integrations require you to first install an add-on (application), usually a server daemon, to handle their network or hardware connections. To make this even more confusing, they often both have the same name. But here’s where it’s important to understand the difference because add-on applications can usually be installed anywhere on your network, not just on the HA server, whereas integration code has to be inside HA. For example, my NUT (network UPS tools) server runs on my NAS, so no add-on needed for me, just the integration code which fetches data from the server. Similarly, I also used to run zwavejs2mqtt on a separate rpi4 under docker, so again my HA server (thin client) only needed an integration and no add-on.

3 Likes

These are great explanations, however, they also illustrate your point that they are not trivial distinctions to understand.

I have been trying to think of a simple way to illustrate the difference. While this is not at all an exhaustive analogy, I think it gets the point across:

  • Home Assistant == iOS/Android
  • Addons == apps
  • Integrations == software upgrades/features

The apps can be made by anyone and are not directly related to iOS/Android. They run on the phone, but aren’t necessarily related to it in any way. The software upgrades/features are essential to the phone and iOS/Android cannot work without them. They are made
and maintained by the phone company and are the glue that makes everything work together.

While I understand all your explanations, it still doesn’t change my mind. I also use HACS (as one of you mentioned) and this is a great example for me actually. Now updates for HACS addons/integrations are shown in the same place as all others. This really helped me as an end user, as I now have to look one less place.
So yeah, I understand all your arguments that it is almost like mixing apples and pears from your point of view - but for me it is mixing green apples and red apples. It adds some functionality to HA that wasn’t there before.

I don’t think I have any better arguments, but it is just a suggestion from my side. Something which have confused me several times :slight_smile:

HACS doesn’t have addons.

HACS has integrations, dashboard cards, themes, and python scripts.

Addons are only available via the supervisor tab and custom ones are also managed through that page, however you have to manually add the custom ones.

I think you may need to revisit what you understand because you’re confusing addons and integrations still.

3 Likes

I intentionally wrote both addon and integration to prove my point (that for me it doesn’t matter). Haha, sorry :smiley:
But yeah, I do not have a lot more to say. I think it would be a small step in the right direction of making it a bit more intuitive, but I do not have the insight to know if it is a huge task - and if it triggers the OCD of programmers too much to mix the two things. :smiley:

I’m sorry, but I have to disagree. As said above, this would provide duplicates and people would not understand they need to install 2 items in the same list. It just does not make sense. They are separated to ensure you understand the differences between them.

One is something built into home assistant. The other is something that runs next to home assistant. You can add addons that do not interact with home assistant at all.

This is a very important distinction. It may not make sense to you now, but it’s something you should spend time understanding.

Also, Container and Core installations run without any addons. They aren’t even installable.

5 Likes

Do you have another example (instead of the “zwave vs nut” already provided) where it would require me to install two things addon AND integration if they were shown in the same location? Because I have several of both and I do not recall that I have had any, where I had to install both for the same. Hope you understand what I mean?
Eg when I have Node-RED as addon it does not require me to install a Node-RED integration as well.

An example would be Music Assistant

To use Music Assistant, you need to run the Music Assistant server software. This is available as an add-on, but you could also choose to run it in a docker container or on a completely separate system within your network. It’s doesn’t interact with Home Assistant on it’s own, but it does provide the interface to Music Assistant and you can use it to set up music providers, set up the players to use in Music Assistant, search for music in your library and play music on the players you’ve set up.

On the other hand there is the Music Assistant integration, which allows you to connect Home Assistant to the Music Assistant server software. If you do that, you can make media players which you have in Home Assistant (like ESPHome based devices) available to Music Assistant. Vice versa it will allow you to control Music Assistant using actions in Home Assistant, so you can use Home Assistant to play media on a Music Assistant media player.

2 completely different things, both called Music Assistant

3 Likes

Off the top of my head: MQTT, Frigate, Adguard, Zigbee2MQTT (Requires 2 addons, 1 integration),

This is assuming that you plan on using these addons in home assistant. Otherwise the addons are not needed if you have another server that runs these softwares. Hence why this distinction is needed. The only thing that is required in home assistant is the integration. All the addons can be ran as their traditional versions of the software on separate machines and HA can connect to those.

1 Like

Yes, yes it does. Look in HACS. Node Red Websocket. That’s the Node red integration that allows the HA nodes in NR.

2 Likes

I actually think that your example just strengthens my argument. :slight_smile: By having them in the same place (e.g. one search result but a pop-up with the two different types with links to descriptions) would make it less confusing. By having them two different places we have the risk of someone going to addons and search for it, trying to set it up and being annoyed that it didn’t work - because they didn’t know, that it also existed under an integration search. You can argument that they should do some better research prior trying to setting something like that up, but not everybody will.