--- layout: page title: "Getting Started" description: "Step by step guide to get started with Home Assistant." date: 2014-12-18 22:57 sidebar: false comments: false sharing: true footer: true ---
Installing and running Home Assistant on your local machine is easy. Make sure you have [Python 3.4 or higher](https://www.python.org/downloads/) installed and execute the following code in a console:

It's highly recommended to use a [virtual environment](https://docs.python.org/3.4/library/venv.html) to keep things separated. A virtual environment can be created by exceuting the following command: `python3 -m venv /path/where/you/home-assistant/`. Then change to the created directory and go the next step.

```bash $ pip3 install homeassistant $ hass --open-ui ``` Running these commands will: - Install Home Assistant - Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123) If you prefer to watch a video tutorial, [tktino](https://github.com/tktino) has made some great ones. - [Windows 10](https://www.youtube.com/watch?v=X27eVvuqwnY) - [Mac OS X](https://www.youtube.com/watch?v=hej6ipN86ls) - [Ubuntu 14.04](https://www.youtube.com/watch?v=SXaAG1lGNH0) ### {% linkable_title Updating %} To update Home Assistant to the latest release when available, run: `pip3 install --upgrade homeassistant` You have to restart Home Assistant (`hass` itself or with the help of the autostarting daemon if you use any) for the changes to take effect.
Installation with Docker is straightforward. Adjust the following command so that `/path/to/your/config/` points at the folder where you want to store your config and run it: ```bash $ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host balloob/home-assistant ``` This will launch Home Assistant and serve the web interface from port 8123 on your Docker host.

When using boot2docker on OS X you are unable to map the local time to your Docker container. Replace `-v /etc/localtime:/etc/localtime:ro` with `-e "TZ=America/Los_Angeles"` (replacing America/Los_Angeles with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones))

Home Assistant requires the Raspberry Pi to run [Raspbian Jessie](https://www.raspberrypi.org/downloads/raspbian/). This version was released on September 24, 2015 and comes by default with Python 3.4 which is required for Home Assistant. Execute the following code in a console: ```bash $ sudo pip3 install homeassistant $ hass ``` Running these commands will: - Install Home Assistant - Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123) There is also a [video tutorial](https://www.youtube.com/watch?v=GjzOXkPb7XE) created by [brusc](https://github.com/brusc). ### {% linkable_title Updating %} To update Home Assistant to the latest release when available, run: `pip3 install --upgrade homeassistant` You have to restart Home Assistant (`hass` itself or with the help of the autostarting daemon if you use any) for the changes to take effect.
The following configuration has been tested on Synology 415+ running DSM 5.2-5644 Update 3. Running these commands will: - Install Home Assistant - Enable Home Assistant to be launched on [http://localhost:8123](http://localhost:8123) Using the Synology webadmin: - Install python3 using the Synology package centre - Create homeassistant user and add to the "users" group SSH onto your synology & login as admin or root Check the path to python3 (assumed to be /usr/local/python3/bin) ```bash $ cd /usr/local/python3/bin ``` Use PIP to install Homeassistant package ```bash $ pip3 install homeassistant ``` Create homeassistant config directory & switch to it ```bash $ mkdir /volume1/homeassistant $ cd /volume1/homeassistant ``` Create hass-daemon file using the following code (edit the variables in uppercase if necessary) ```bash #!/bin/sh # Package PACKAGE="homeassistant" DNAME="Home Assistant" # Others USER="homeassistant" PYTHON_DIR="/usr/local/python3/bin" PYTHON="$PYTHON_DIR/python3" HASS="$PYTHON_DIR/hass" INSTALL_DIR="/volume1/homeassistant" PID_FILE="$INSTALL_DIR/home-assistant.pid" FLAGS="-v --config $INSTALL_DIR --pid-file $PID_FILE --daemon" REDIRECT="> $INSTALL_DIR/home-assistant.log 2>&1" start_daemon () { su ${USER} -s /bin/sh -c "$PYTHON $HASS $FLAGS $REDIRECT;" } stop_daemon () { kill `cat ${PID_FILE}` wait_for_status 1 20 || kill -9 `cat ${PID_FILE}` rm -f ${PID_FILE} } daemon_status () { if [ -f ${PID_FILE} ] && kill -0 `cat ${PID_FILE}` > /dev/null 2>&1; then return fi rm -f ${PID_FILE} return 1 } wait_for_status () { counter=$2 while [ ${counter} -gt 0 ]; do daemon_status [ $? -eq $1 ] && return let counter=counter-1 sleep 1 done return 1 } case $1 in start) if daemon_status; then echo ${DNAME} is already running exit 0 else echo Starting ${DNAME} ... start_daemon exit $? fi ;; stop) if daemon_status; then echo Stopping ${DNAME} ... stop_daemon exit $? else echo ${DNAME} is not running exit 0 fi ;; restart) if daemon_status; then echo Stopping ${DNAME} ... stop_daemon echo Starting ${DNAME} ... start_daemon exit $? else echo ${DNAME} is not running echo Starting ${DNAME} ... start_daemon exit $? fi ;; status) if daemon_status; then echo ${DNAME} is running exit 0 else echo ${DNAME} is not running exit 1 fi ;; log) echo ${LOG_FILE} exit 0 ;; *) exit 1 ;; esac ``` Create links to python folders to make things easier in the future: ```bash $ ln -s /usr/local/python3/bin python3 $ ln -s /usr/local/python3/lib/python3.4/site-packages/homeassistant ``` Set the owner and permissions on your config folder ```bash $ chown -r homeassistant:users /volume1/homeassistant $ chmod -r 660 /volume1/homeassistant ``` Make the daemon file executable: ```bash $ chmod -r 777 /volume1/homeassistant/hass-daemon ``` Copy your configuration.yaml file into the config folder That's it... you're all set to go Here are some useful commands: - Start Home Assistant: ```bash $ sh hass-daemon start ``` - Stop Home Assistant: ```bash $ sh hass-daemon stop ``` - Restart Home Assistant: ```bash $ sh hass-daemon restart ``` - Upgrade Home Assistant:: ```bash $ python3/pip3 install --upgrade homeassistant ```
### {% linkable_title Troubleshooting %} If you run into any issues, please see [the troubleshooting page](/getting-started/troubleshooting/). It contains solutions to many of the more commonly encountered issues. In addition to this site, check out these sources for additional help: - [Forum](https://community.home-assistant.io) for Home Assistant discussions and questions. - [Gitter Chat Room](https://gitter.im/balloob/home-assistant) for real-time chat about Home Assistant. - [GitHub Page](https://github.com/home-assistant/home-assistant/issues) for issue reporting. ### {% linkable_title What's next %} If you want to have Home Assistant start on boot, [autostart instructions can be found here](/getting-started/autostart/). To see what Home Assistant can do, launch demo mode: `hass --demo-mode` or visit the [demo page](/demo). ### [Next step: Configuring Home Assistant »](/getting-started/configuration/)