When launched for the first time, Home Assistant will create a default configuration file enabling the web interface and device discovery. It can take up to a minute after startup for your devices to be discovered and appear in the user interface.
The web interface can be found at
http://ip.ad.dre.ss:8123/ - for example if your Home Assistant system has the IP address
192.168.0.40 then you’ll find the web interface as
The location of the folder differs between operating systems:
If you want to use a different folder for configuration, use the configuration command line parameter:
hass --config path/to/config.
Inside your configuration folder is the file
configuration.yaml. This is the main file that contains integrations to be loaded with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable functionality.
Test any changes to your configuration files from the command line with
hass --script check_config. This script allows you to test changes without the need to restart Home Assistant. Remember to run this as the user you run Home Assistant as. Configuration changes can also be tested using the UI by navigating to Configuration, Server Controls and clicking “Check Configuration”.
There are many ways you can edit
configuration.yaml. Here are three options to get you started:
The simplest is to use the “File Editor” add-on. This will allow you to edit your configuration from within Home Assistant itself.
Perhaps the most robust option is to load the Visual Studio Code add-on. VS Code offers live syntax checking and auto-fill of various Home Assistant entities.
You can use Samba file share (you need to install the “Samba” add-on) and your favorite file editor.
The most basic is to use SSH to connect to the system (you may need to install the SSH add-on) and then use
vim) to edit the file.
You will have to restart Home Assistant for most changes to
configuration.yaml to take effect.
You can load changes to the following components without restarting, by using the UI. Navigate to Configuration, Server Controls and scrolling down to the YAML configuration reloading: automations, core (customize), groups, history stats, HomeKit, input_booleans, input_datetimes, input_numbers, input_selects, input_texts, MQTT, persons, scenes, scripts, statistics, template sensors, timers, zones, and more without restarting.
If you’ve made any changes, remember to check your configuration before trying to reload or restart.
If you want to migrate your configuration to a new system then you can copy the contents of your configuration folder from the current system to the new system. Be aware that some of the files you need start with
., which is hidden by default from both
ls (in SSH), in Windows Explorer, and macOS Finder. You’ll need to ensure that you’re viewing all files before you copy them.
Suggest an edit to this page, or provide/view feedback for this page.