Integrations, add-ons and custom integrations

Integrations and add-ons are not the same thing.

Integrations connect Home Assistant with devices and external services. Many of them are for vendor-specific devices, such as Philips Hue lights and switches; others, like the Sun integration provide a service - in this case using your location to track whether the sun is above or below the horizon. Either way, the device or service is represented in HA in a standardized way, allowing it to be connected with everything else.

To find and install an integration, go to Settings | Devices & Services | Integrations. Most can be installed via the GUI, but there are still a few that require configuration in yaml - if this is the case, the Add Integration dialog will give you a link to the documentation.

Add-ons are additional standalone third-party software packages that can be installed on Home Assistant OS, such as Mosquitto, an MQTT broker. Most of them have an associated integration - MQTT in the case of Mosquitto.

All HA installations support integrations, but not all support add-ons:

Under the hood, add-ons are actually separate Docker containers managed by the Home Assistant supervisor. This is why they are only available with either HAOS or HA Supervised installation methods. However, most add-ons can be found (and were likely originally developed) as separate Docker containers before their add-on counterparts were created. If you run a non-supervised installation method and have the ability to run and manage Docker containers yourself, you won’t miss out on any functionality provided by add-ons.

To find and install an add-on, go to Settings | Add-ons.

Custom integrations are created by the community and are usually downloaded through the Home Assistant Community Store. Many of them have thousands of users and receive regular updates. but they are not tested or supported by the Home Assistant developers, so there is no guarantee that they will remain viable in the long term. HACS also provides a great many custom dashboard cards, but it doesn’t supply add-ons.

If you use HACS integrations you will get messages in your logs like this when you restart:

2024-03-29 11:27:55.731 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration zha_toolkit which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

This is a standard warning - nothing to worry about.


The Home Assistant Cookbook - Index.

2 Likes

I like it.

Let’s see if we can explain the difference also in context of some commonly used integration / add-ons.

Example - zwave add-on vs zwave integration

Also add-ons are usually servers, integrations are usually clients.

Maybe that is too technical a description though.

Feel free, gents! :grin:

The challenge is those terms are overloaded and not understandable by non technical folks. Isn’t a server the person who brings me a beer?

Somethings require add_on and other don’t. If I want to monitor my UPS, I may need the Nut Add On and the Nut Integration. Same with zwave, I need an add on and an integration. For modbus you just me the integration. I may use the MariaDB add-on (there is no integration for this)

So to achieve a function you may need an integration or an add-on; or an integration and an add-on.

How do we explain that to a non-rocket scientist?

As I’m not a rocket scientist, could I ask you to add a couple of lines on this?

Without too much techno-babble? (Hah! :rofl:) A non-rocket scientist might be a professor of philosophy… though possibly not.

A knowledgeable post on different communication protocols - zigbee/z-wave/wi-if - might be useful? Pros and cons. I’m sure a lot of people get deeply involved with Zigbee without realising it’s not really what they need.

1 Like

I made an attempt at adding some detail on what add-ons really are. But if someone new is reading this and doesn’t even know what a ‘Docker container’ is, then this may just cause more confusion. Being a community guide, feel free to modify or completely remove that paragraph.

1 Like