Add configuration for Synology NAS

This commit is contained in:
Nick Waring 2016-02-15 08:06:20 +00:00
parent 133692cf7e
commit d8d60e8ffe
2 changed files with 211 additions and 0 deletions

View file

@ -74,6 +74,182 @@ Running these commands will:
- Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123)
</div> <!-- INSTALL-INSTRUCTIONS RASPBERRY -->
<div class='install-instructions synology' markdown='1'>
The following configuration has been tested on a Synology 415+ running DSM 5.2-5644 Update 3
Running these commands will:
- Install Home Assistant
- Ebable 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
```
Execute the following code in a console:
```bash
$ sudo pip3 install homeassistant
$ hass
```
</div> <!-- INSTALL-INSTRUCTIONS SYNOLOGY -->
</div>
### {% linkable_title Troubleshooting %}