mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-21 08:16:53 +00:00
Add configuration for Synology NAS
This commit is contained in:
parent
133692cf7e
commit
d8d60e8ffe
@ -13,9 +13,11 @@ footer: true
|
||||
<input name='advanced-installs' type='radio' id='upstart-install' checked>
|
||||
<input name='advanced-installs' type='radio' id='systemd-install'>
|
||||
<input name='advanced-installs' type='radio' id='osx-install'>
|
||||
<input name='advanced-installs' type='radio' id='synology-install'>
|
||||
<label class='menu-selector upstart' for='upstart-install'>Upstart Daemon</label>
|
||||
<label class='menu-selector systemd' for='systemd-install'>Systemd Daemon</label>
|
||||
<label class='menu-selector osx' for='osx-install'>OS X</label>
|
||||
<label class='menu-selector synology' for='synology-install'>Synology NAS</label>
|
||||
|
||||
<div class='advanced-installs upstart' markdown='1'>
|
||||
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:
|
||||
@ -130,6 +132,39 @@ Home Assistant has been uninstalled.
|
||||
```
|
||||
|
||||
</div> <!-- OSX -->
|
||||
|
||||
<div class='advanced-installs synology' markdown='1'>
|
||||
To get Home Assistant to automatically start when you boot your Synology NAS:
|
||||
|
||||
SSH onto your synology & login as admin or root
|
||||
```bash
|
||||
$ cd /volume1/homeassistant
|
||||
```
|
||||
Create "homeassistnat.conf" file using the following code
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
$ ln -s homeassistant-conf /etc/init/homeassistant-conf
|
||||
```
|
||||
Make the relevant files executable:
|
||||
```bash
|
||||
$ chmod -r 777 /etc/init/homeassistant-conf
|
||||
```
|
||||
That's it - reboot your NAS and homeassistant should automatically start
|
||||
</div> <!-- SYNOLOGY -->
|
||||
</div>
|
||||
|
||||
### [« Back to Getting Started](/getting-started/)
|
||||
|
@ -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 %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user