Merge branch 'pr/219'

This commit is contained in:
Paulus Schoutsen 2016-02-17 00:13:08 -08:00
commit a20a7ef405
3 changed files with 253 additions and 12 deletions

View File

@ -205,7 +205,7 @@ p.note {
}
.install-instructions-container {
#normal-install, #raspberry-install, #docker-install, .install-instructions {
#normal-install, #raspberry-install, #docker-install, #synology-install, .install-instructions {
display: none;
}
@ -224,14 +224,16 @@ p.note {
#normal-install:checked ~ .menu-selector.normal,
#raspberry-install:checked ~ .menu-selector.raspberry,
#docker-install:checked ~ .menu-selector.docker
#docker-install:checked ~ .menu-selector.docker,
#synology-install:checked ~ .menu-selector.synology
{
border-bottom-color: $blue;
}
#normal-install:checked ~ .install-instructions.normal,
#raspberry-install:checked ~ .install-instructions.raspberry,
#docker-install:checked ~ .install-instructions.docker
#docker-install:checked ~ .install-instructions.docker,
#synology-install:checked ~ .install-instructions.synology
{
display: block;
}
@ -243,7 +245,7 @@ p.note {
.advanced-installs-container {
#upstart-install, #systemd-install, #osx-install, .advanced-installs {
#upstart-install, #systemd-install, #osx-install, #synology-install, .advanced-installs {
display: none;
}
@ -262,14 +264,16 @@ p.note {
#upstart-install:checked ~ .menu-selector.upstart,
#systemd-install:checked ~ .menu-selector.systemd,
#osx-install:checked ~ .menu-selector.osx
#osx-install:checked ~ .menu-selector.osx,
#synology-install:checked ~ .menu-selector.synology
{
border-bottom-color: $blue;
}
#upstart-install:checked ~ .advanced-installs.upstart,
#systemd-install:checked ~ .advanced-installs.systemd,
#osx-install:checked ~ .advanced-installs.osx
#osx-install:checked ~ .advanced-installs.osx,
#synology-install:checked ~ .advanced-installs.synology
{
display: block;
}

View File

@ -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,47 @@ 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 "homeassistant.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 Home Assistant should automatically start
</div> <!-- SYNOLOGY -->
</div>
### [&laquo; Back to Getting Started](/getting-started/)

View File

@ -13,9 +13,11 @@ footer: true
<input name='install-instructions' type='radio' id='normal-install' checked>
<input name='install-instructions' type='radio' id='raspberry-install'>
<input name='install-instructions' type='radio' id='docker-install'>
<label class='menu-selector normal' for='normal-install'>Install on local machine</label>
<label class='menu-selector raspberry' for='raspberry-install'>Install on a Raspberry Pi</label>
<label class='menu-selector docker' for='docker-install'>Install using Docker</label>
<input name='install-instructions' type='radio' id='synology-install'>
<label class='menu-selector normal' for='normal-install'>Local machine</label>
<label class='menu-selector raspberry' for='raspberry-install'>Raspberry Pi</label>
<label class='menu-selector docker' for='docker-install'>Docker</label>
<label class='menu-selector synology' for='synology-install'>Synology NAS</label>
<div class='install-instructions normal' markdown='1'>
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:
@ -29,8 +31,8 @@ Running these commands will:
- Install Home Assistant
- Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123)
If would prefer to watch a video tutorial however, [tktino](https://github.com/tktino) has made some great ones.
- [Windows 10](https://www.youtube.com/watch?v=X27eVvuqwnY)
@ -74,6 +76,199 @@ 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 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
```
</div> <!-- INSTALL-INSTRUCTIONS SYNOLOGY -->
</div>
### {% linkable_title Troubleshooting %}
@ -84,7 +279,6 @@ For additional help, in addition to this site, there are four sources:
- [Forum](https://automic.us/forum/)
- [Gitter Chatroom](https://gitter.im/balloob/home-assistant) for general Home Assistant discussions and questions.
- [Development Mailing List](https://groups.google.com/forum/#!forum/home-assistant-dev) for development related questions and discussing new features.
- [GitHub Page](https://github.com/balloob/home-assistant/issues) for issue reporting.
### What's next