
Changes from DSM 5.2: - Synology Python package is now Python 3.5 (was 3.4) - it appears the install location for the Python binaries has changed - does not assume `pip` is installed with the Python package (it wasn't on my machine) - `-r` wasn't an option for `chown` or `chmod`, but `-R` is (applies the commands recursively. I'm not sure whether this was originally a typo, or I have a different version of these commands - `chmod` flags set to `660` for the `/volume1/homeassistant` directory made it so that the admin users can't enter it. `664` seems to work well.
8.9 KiB
layout, title, description, date, sidebar, comments, sharing, footer
layout | title | description | date | sidebar | comments | sharing | footer |
---|---|---|---|---|---|---|---|
page | Getting Started | Step by step guide to get started with Home Assistant. | 2014-12-18 22:57 | false | false | true | true |
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.
$ 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
If you prefer to watch a video tutorial, tktino has made some great ones.
{% 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:
$ 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. 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:
$ sudo pip3 install homeassistant
$ hass
Running these commands will:
- Install Home Assistant
- Launch Home Assistant and serve the web interface on http://localhost:8123
There is also a video tutorial created by 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 413j running DSM 6.0-7321 Update 1.
Running these commands will:
- Install Home Assistant
- Enable Home Assistant to be launched on 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 /volume1/@appstore/py3k/usr/local/bin)
$ cd /volume1/@appstore/py3k/usr/local/bin
Install PIP (Python's package management system)
$ python -m ensurepip
Use PIP to install Homeassistant package
$ pip3 install homeassistant
Create homeassistant config directory & switch to it
$ mkdir /volume1/homeassistant
$ cd /volume1/homeassistant
Create hass-daemon file using the following code (edit the variables in uppercase if necessary)
#!/bin/sh
# Package
PACKAGE="homeassistant"
DNAME="Home Assistant"
# Others
USER="homeassistant"
PYTHON_DIR="/volume1/@appstore/py3k/usr/local/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:
$ ln -s /volume1/@appstore/py3k/usr/local/bin python3
$ ln -s /volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/homeassistant
Set the owner and permissions on your config folder
$ chown -R homeassistant:users /volume1/homeassistant
$ chmod -R 664 /volume1/homeassistant
Make the daemon file executable:
$ chmod 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:
$ sh hass-daemon start
- Stop Home Assistant:
$ sh hass-daemon stop
- Restart Home Assistant:
$ sh hass-daemon restart
- Upgrade Home Assistant::
$ python3 -m pip install --upgrade homeassistant
{% linkable_title Troubleshooting %}
If you run into any issues, please see the troubleshooting page. It contains solutions to many of the more commonly encountered issues.
In addition to this site, check out these sources for additional help:
- Forum for Home Assistant discussions and questions.
- Gitter Chat Room for real-time chat about Home Assistant.
- GitHub Page for issue reporting.
{% linkable_title What's next %}
If you want to have Home Assistant start on boot, autostart instructions can be found here.
To see what Home Assistant can do, launch demo mode: hass --demo-mode
or visit the demo page.