diff --git a/atom.xml b/atom.xml index 2e3c8337c1..481203ee40 100644 --- a/atom.xml +++ b/atom.xml @@ -4,7 +4,7 @@
Many linux distributions use the Upstart system (or similar) for managing daemons. Typically, systems based on Debian 7 or previous use Upstart. This includes Ubuntu releases before 15.04 and all current Raspian releases. If you are unsure if your system is using Upstart, you may check with the following command:
@@ -247,6 +249,55 @@ Home Assistant has been uninstalled.To get Home Assistant to automatically start when you boot your Synology NAS:
+ +SSH onto your synology & login as admin or root
+ +$ cd /volume1/homeassistant +
Create “homeassistant.conf” file using the following code
+ +# only start this service after the httpd user process has started +start on started httpd-user + +# stop the service gracefully if the runlevel changes to 'reboot' +stop on runlevel [06] + +# run the scripts as the 'http' user. Running as root (the default) is a bad ide +#setuid admin + +# exec the process. Use fully formed path names so that there is no reliance on +# the 'www' file is a node.js script which starts the foobar application. +exec /bin/sh /volume1/homeassistant/hass-daemon start +
Register the autostart
+ +$ ln -s homeassistant-conf /etc/init/homeassistant-conf +
Make the relevant files executable:
+ +$ chmod -r 777 /etc/init/homeassistant-conf +
That’s it - reboot your NAS and Home Assistant should automatically start
+Installing and running Home Assistant on your local machine is easy. Make sure you have Python 3.4 or higher installed and execute the following code in a console:
@@ -191,6 +193,233 @@ $ hassThe following configuration has been tested on Synology 415+ running DSM 5.2-5644 Update 3.
+ +Running these commands will:
+ +Using the Synology webadmin:
+ +SSH onto your synology & login as admin or root
+ +Check the path to python3 (assumed to be /usr/local/python3/bin)
+ +$ cd /usr/local/python3/bin +
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="/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:
+ +$ 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
+ +$ chown -r homeassistant:users /volume1/homeassistant +$ chmod -r 660 /volume1/homeassistant +
Make the daemon file executable:
+ +$ 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:
+ +$ sh hass-daemon start +
$ sh hass-daemon stop +
$ sh hass-daemon restart +
$ python3/pip3 install --upgrade homeassistant +