FAQ


This is a community curated list of frequently asked questions (FAQ) about the installation, setup, and usage of Home Assistant. If you want to get details about a term, please check the glossary.

Common

Python 2

There will be no support for Python 2.x. Python 2 will be EOL in 2020 and it doesn’t make any sense to support a release which was planned to be retired in 2015.

Releases

New versions of Home Assistant are released on the first Wednesday of every month. The exact dates can be seen in the upcoming events calendar on the Home Assistant Developers website.

The last week of our release schedule is primarily focused on beta testing. Users who participate in the beta can view the changelog under beta release notes and get help in the #beta channel of Home Assistant’s Discord server. Testers are also encouraged to report issues on GitHub.

Configuration

My integration does not show up

When an integration does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the home-assistant.log file and see if there are any errors related to your integration you are trying to set up.

If you have incorrect entries in your configuration files you can use the CLI script to check your configuration, each installation type has it’s own section in the common-tasks about this:

This entity does not have a unique ID?

If you try to access the configuration dialog for an entity in your Home Assistant, you might end up seeing this message:

Screenshot of popup for no unique ID

This means that this entity does not have a unique identification, e.g., a serial number or another identifier that is guaranteed to be static and never changes. As a result, the normal editing process that allows you to change various settings through the user interface (such as the entity ID, icon, friendly name, etc.) is not possible here.

Typically, you’ll see this when you create entities manually using YAML, but it can also appear if the integration that provides this entity, cannot determine a unique ID. This however is not an error, but just a limitation of the integration you use. A few selected integrations (such as template and mqtt) allow the user to define a unique ID.

Used where?

Unique ID:

  • Only internally in Home Assistant.

Entity ID:

  • Entity with a unique ID: Entity ID only used as a reference, e.g., in automations or dashboards.
  • Entity without a unique ID: Entity ID acts as the replacement for the non-existing unique ID plus as a reference, e.g., in automations or dashboards.

Can be changed?

Unique ID:

  • No. It is a static identifier.

Entity ID:

  • Entity with a unique ID: Entity ID can be adjusted freely (as long as it follows the format <domain>.<id> and does not result in duplicates in your Home Assistant). Keep in mind that if you change the entity ID, you also need to update the references, e.g., in automations and dashboards.
  • Entity without a unique ID: Entity ID is considered a fixed, static identifier and cannot be changed.

If your user profile has the “Advanced Mode” activated, you will also see the second paragraph in the popup with a link to the customization user interface for this specific entity, which offers some customization options.

In case you want to read more about unique IDs, head over to this developer documentation page.

Why are you using YAML for the configuration file?

And not JSON or XML for the configuration file? Because YAML can be written by hand, you don’t have to care about commas or tag and it’s a superset of JSON.

Documentation

Documentation tools

Why are you not using tools X for the documentation? Because the current solution works for us and we see no additional value in using a separate publishing platform.

Missing Documentation

Home Assistant is a FAST moving open source project. This means occasionally the official documentation will not be 100% current or complete. Since this is an open source volunteer project, we would encourage anyone who finds gaps in the documentation to click the EDIT link at the bottom and submit any corrections/enhancements they may find useful. A step-by-step guide on how to contribute to the documentation can be found here.

In the absence of information, many users find it beneficial to look at other people’s configurations to find examples of what they want to accomplish in their own configurations. The easiest way to find these configurations is through this GitHub search.

Home Assistant

404 Client Error: Not Found (’no such image: homeassistant/…)

This error indicates the image, whether for updating to Home Assistant or installing or updating an add-on, was not able to be pulled to your system. This is usually a situation where there is not enough space for the image to be downloaded. The first thing to check for is the available space on your system.

Please note, if you are running the operating system as a virtual machine; the default VM image is only about 6GB. Many VM users run into this as they have not allocated enough storage. 32GB is the minimum recommended size.

You will need to explore your own system to determine where space has gone. Using df -h in the SSH add-on console to you can quickly check to see if you have space available.

If there is plenty of space available then you might check to see if you are having network issues that are preventing images from being downloaded.

Do I need to leave the USB stick connected for Wi-Fi?

No. The USB “CONFIG” stick is only used to import a network profile to /etc/NetworkManager/system-connections/ and can be removed.

I’m trying to find my files on the host or SD card. Where are they?

On a Home Assistant OS install, your files are on the data partition within /mnt/data/supervisor/. On the SD itself, this is an EXT4 partition labeled hassos-data.

On a Supervised install, they are in /usr/share/hassio/.

Is USB Boot for the Raspberry Pi 4 supported?

Due to the complexity of USB and the USB mass storage device class booting from a USB device is brittle. Since booting from a USB drive this process has to be done multiple times (firmware/boot loader and the operating system), there is a high chance that this process doesn’t complete in one of these stages. In general, the Linux USB stack is solid. Due to this, it is recommended to boot Home Assistant OS from an SD card and use a USB attached flash drive as data partition only. The datactl command, available on the OS shell, allows moving of the data partition.

That said, booting Home Assistant OS completely from a USB drive (SSD or any other USB mass storage device) works with some USB devices. USB Devices that are known to work with Raspberry Pi OS (check the Raspberry Pi Forum) are more likely to work with Home Assistant OS. However, because Home Assistant OS has also U-Boot in the boot chain, there are devices which are known to work with Raspberry Pi OS but do not work with Home Assistant OS.

Is the Raspberry Pi 4 with 8GB RAM supported?

The Raspberry Pi 4 with 8GB RAM is supported with Home Assistant OS 5.5 and later using the 32-bit and 64-bit image. The 64-bit is the better tested option at this point.

Why does the start button for an add-on flash red when I click it?

If you are looking for more information about add-ons, which won’t start or install, navigate to Supervisor > System in the UI and check the logs.

The logs on this page are the same you would see using ha logs in the custom CLI.

Installation

Home Assistant vs. Home Assistant Core

Home Assistant Core is a Python program, in simple words. It can be run on various operating systems and provide the ability to track, control and automate your devices. When people talking about Home Assistant Core they usually refer to a standalone installation method.

Home Assistant is a combination of Home Assistant Core and tools which allows one to run it easily on a Raspberry Pi and other platforms without setting up an operating system first. Home Assistant is an all-in one-solution and has a management user interface that can be used from the Home Assistant frontend. This interface is not present in a Home Assistant Core setup.

Be aware that add-ons are only available in regular Home Assistant installations.

No module named pip

Pip should come bundled with the latest Python 3 but is omitted by some distributions. If you are unable to run python3 -m pip --version you can install pip by downloading the installer and running it with Python 3:

python3 get-pip.py

distutils.errors.DistutilsOptionError

The problem which leads to distutils.errors.DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both is a known issue if you’re on a Mac using Homebrew to install Python. Please follow these instructions to resolve it.

libyaml is not found or a compiler error

On a Debian system, install the Python 3 YAML library by sudo apt-get install python3-yaml.

pip3: command not found

This utility should have been installed as part of the Python 3 installation. Check if Python 3 is installed by running python3 --version. If it is not installed, download it here.

If you are able to successfully run python3 --version but not pip3, install Home Assistant by running the following command instead:

python3 -m pip install homeassistant

On a Debian system, you can also install python3 by sudo apt-get install python3 and pip3 by sudo apt-get install python3-pip.

If you run into errors during installation, check that you’ve installed all the necessary prerequisite packages, which include python3-dev, libffi-dev, and libssl-dev. On a Debian-based system, you can install these via apt-get:

sudo apt-get install python3-dev libffi-dev libssl-dev

Usage

After upgrading, your browser login gets stuck

After upgrading to a new version, you may notice your browser gets stuck at the “loading data” login screen. Close the window/tab and go into your browser settings and delete all the cookies for your URL. You can then log back in and it should work.

Android Chrome:

chrome -> settings -> site settings -> storage -> search for your URL for Home Assistant-> “clear & reset”

Connection error

It can happen that you get a traceback that notify you about connection issues while running Home Assistant. Eg.

ConnectionRefusedError: [Errno 111] Connection refused

The chance is very high that this is not a bug but an issue with the service/daemon itself. Check your network (DNS, DHCP, uplink, etc.) first and make sure that Home Assistant and the service are properly configured. Keep in mind that webservices can be down.

Dependencies

The dependencies which are used by Home Assistant are stored in the folder deps of the configuration folder directory. After an upgrade the dependencies will be upgraded as well.

Frontend is acting weird

Close the windows or tab and clear the cache. The frontend is aggressively caching and clearing the cache ensures that the frontend is reloaded when you access it the next time.

Problems with dependencies

Almost all integrations have external dependencies to communicate with your devices and services. Sometimes Home Assistant is unable to install the necessary dependencies. If this is the case, it should show up in home-assistant.log.

The first step is trying to restart Home Assistant and see if the problem persists. If it does, look at the log to see what the error is. If you can’t figure it out, please report it so we can investigate what is going on.

found character ’ ’ that cannot start any token

This error means that you used a tab, rather than two spaces. Replace the tab with spaces.