Phil and Rohan take a quick opportunity to explain custom components, lovelace cards, themes and the Home Assistant Community Store (HACS)
Types of Custom Components
Custom Integrations
- Act like any other integration of Home Assistant, offering additional sensors or functionality to Home Assistant
- Have the ability to overwrite and extend the capabilities of public Home Assistant components.
- Developers may release components as custom components for testing.
- A recent example would be the Life360 component, which was released as a custom component first while bugs were ironed out.
Custom Lovelace Cards
- Provide a complete new card type to the front-end
- Rarely provide any additional data which can be used by Home Assistant for automations. These are only for displaying information on the Home Assistant front end
- Examples of popular custom cards include the mini media player card
HASS IO Add-ons
- Home Assistant HASS IO add-ons are available exclusively for users of HASS IO.
- HASS IO addons install completely new features separate of Home Assistant.
- Some examples of HASS IO addons include InfluxDB and Grafana, allowing you to store Home Assistant data long term and display graphs, or Adguard, a network wide ad blocking service.
- HASS IO addons can be installed from the HASS IO addon store, and are created using Docker Containers.
- Users who are not using HASS IO but want to install an addon should look at installing a non-hassio docker container of the service.
Installing Custom Components
Depending on the type of component you want to install, the location will vary slightly.Custom Lovelace Cards
- Must be installed under the www folder in Home Assistant configuration. Contains Javascript code which is used by the Lovelace configuration YAML. Also requires updates to the Lovelace YAML file.
Custom Components
- Installed to a custom components folder. Contains Python code, and must follow strict file structures when overwriting core integrations.