home-assistant.github.io/getting-started/installation-synology/index.html
2016-06-21 09:20:39 +00:00

456 lines
No EOL
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Installation on a Synology NAS - Home Assistant</title>
<meta name="author" content="Paulus Schoutsen">
<meta name="description" content="Instructions to install Home Assistant on a Synology NAS.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/getting-started/installation-synology/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on a Synology NAS">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/getting-started/installation-synology/">
<meta property="og:type" content="website">
<meta property="og:description" content="Instructions to install Home Assistant on a Synology NAS.">
<meta property="og:image" content="https://home-assistant.io/images/default-social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:title" content="Installation on a Synology NAS">
<meta name="twitter:description" content="Instructions to install Home Assistant on a Synology NAS.">
<meta name="twitter:image" content="https://home-assistant.io/images/default-social.png">
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
<link href="/atom.xml" rel="alternate" title="Home Assistant" type="application/atom+xml">
<link rel='shortcut icon' href='/images/favicon.ico' />
<link rel='icon' type='image/png' href='/images/favicon-192x192.png' sizes='192x192' />
</head>
<body >
<header>
<div class="grid-wrapper">
<div class="grid">
<div class="grid__item three-tenths lap-two-sixths palm-one-whole ha-title">
<a href="/" class="site-title">
<img width='40' src='/demo/favicon-192x192.png'>
<span>Home Assistant</span>
</a>
</div>
<div class="grid__item seven-tenths lap-four-sixths palm-one-whole">
<nav>
<input type="checkbox" id="toggle">
<label for="toggle" class="toggle" data-open="Main Menu" data-close="Close Menu"></label>
<ul class="menu pull-right">
<li><a href='/getting-started/'>Getting started</a></li>
<li><a href='/components/'>Components</a></li>
<li><a href='/cookbook/'>Examples</a></li>
<li><a href="/developers/">Developers</a></li>
<li><a href="/blog/">Blog</a></li>
<li><a href="/help/">Need help?</a></li>
</ul>
</nav>
</div>
</div>
</div>
</header>
<div class="grid-wrapper">
<div class="grid grid-center">
<div class="grid__item two-thirds lap-one-whole palm-one-whole">
<article class="page">
<header>
<h1 class="title indent">
Installation on a Synology NAS
</h1>
</header>
<hr class="divider">
<p>The following configuration has been tested on Synology 413j running DSM 6.0-7321 Update 1.</p>
<p>Running these commands will:</p>
<ul>
<li>Install Home Assistant</li>
<li>Enable Home Assistant to be launched on <a href="http://localhost:8123">http://localhost:8123</a></li>
</ul>
<p>Using the Synology webadmin:</p>
<ul>
<li>Install python3 using the Synology package centre</li>
<li>Create homeassistant user and add to the “users” group</li>
</ul>
<p>SSH onto your synology &amp; login as admin or root</p>
<p>Check the path to python3 (assumed to be /volume1/@appstore/py3k/usr/local/bin)</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ cd /volume1/@appstore/py3k/usr/local/bin
</pre></div>
</div>
</div>
<p>Install PIP (Pythons package management system)</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ python -m ensurepip
</pre></div>
</div>
</div>
<p>Use PIP to install Homeassistant package</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ pip3 install homeassistant
</pre></div>
</div>
</div>
<p>Create homeassistant config directory &amp; switch to it</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ mkdir /volume1/homeassistant
$ cd /volume1/homeassistant
</pre></div>
</div>
</div>
<p>Create hass-daemon file using the following code (edit the variables in uppercase if necessary)</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>#!/bin/sh
# Package
PACKAGE=&quot;homeassistant&quot;
DNAME=&quot;Home Assistant&quot;
# Others
USER=&quot;homeassistant&quot;
PYTHON_DIR=&quot;/volume1/@appstore/py3k/usr/local/bin&quot;
PYTHON=&quot;$PYTHON_DIR/python3&quot;
HASS=&quot;$PYTHON_DIR/hass&quot;
INSTALL_DIR=&quot;/volume1/homeassistant&quot;
PID_FILE=&quot;$INSTALL_DIR/home-assistant.pid&quot;
FLAGS=&quot;-v --config $INSTALL_DIR --pid-file $PID_FILE --daemon&quot;
REDIRECT=&quot;&gt; $INSTALL_DIR/home-assistant.log 2&gt;&amp;1&quot;
start_daemon ()
{
su ${USER} -s /bin/sh -c &quot;$PYTHON $HASS $FLAGS $REDIRECT;&quot;
}
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} ] &amp;&amp; kill -0 `cat ${PID_FILE}` &gt; /dev/null 2&gt;&amp;1; then
return
fi
rm -f ${PID_FILE}
return 1
}
wait_for_status ()
{
counter=$2
while [ ${counter} -gt 0 ]; do
daemon_status
[ $? -eq $1 ] &amp;&amp; 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
</pre></div>
</div>
</div>
<p>Create links to python folders to make things easier in the future:</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ ln -s /volume1/@appstore/py3k/usr/local/bin python3
$ ln -s /volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/homeassistant
</pre></div>
</div>
</div>
<p>Set the owner and permissions on your config folder</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ chown -R homeassistant:users /volume1/homeassistant
$ chmod -R 664 /volume1/homeassistant
</pre></div>
</div>
</div>
<p>Make the daemon file executable:</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ chmod 777 /volume1/homeassistant/hass-daemon
</pre></div>
</div>
</div>
<p>Copy your configuration.yaml file into the config folder<br />
Thats it… youre all set to go</p>
<p>Here are some useful commands:</p>
<ul>
<li>Start Home Assistant:</li>
</ul>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ sh hass-daemon start
</pre></div>
</div>
</div>
<ul>
<li>Stop Home Assistant:</li>
</ul>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ sh hass-daemon stop
</pre></div>
</div>
</div>
<ul>
<li>Restart Home Assistant:</li>
</ul>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ sh hass-daemon restart
</pre></div>
</div>
</div>
<ul>
<li>Upgrade Home Assistant::</li>
</ul>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre>$ python3 -m pip install --upgrade homeassistant
</pre></div>
</div>
</div>
<h3><a class="title-link" name="troubleshooting" href="#troubleshooting"></a> Troubleshooting</h3>
<p>If you run into any issues, please see <a href="/getting-started/troubleshooting/">the troubleshooting page</a>. It contains solutions to many of the more commonly encountered issues.</p>
<p>In addition to this site, check out these sources for additional help:</p>
<ul>
<li><a href="https://community.home-assistant.io">Forum</a> for Home Assistant discussions and questions.</li>
<li><a href="https://gitter.im/balloob/home-assistant">Gitter Chat Room</a> for real-time chat about Home Assistant.</li>
<li><a href="https://github.com/home-assistant/home-assistant/issues">GitHub Page</a> for issue reporting.</li>
</ul>
<h3><a class="title-link" name="whats-next" href="#whats-next"></a> Whats next</h3>
<p>If you want to have Home Assistant start on boot, <a href="/getting-started/autostart-synology/">autostart instructions can be found here</a>.</p>
<p>To see what Home Assistant can do, launch demo mode: <code>hass --demo-mode</code> or visit the <a href="/demo">demo page</a>.</p>
<h3><a href="/getting-started/configuration/">Next step: Configuring Home Assistant »</a></h3>
</article>
</div>
<aside id="sidebar" class="grid__item one-third lap-one-whole palm-one-whole">
<div class="grid">
<section class="aside-module grid__item one-whole lap-one-half">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.io/tree/master/source/getting-started/installation-synology.markdown'>Edit this page on GitHub</a></div>
<div class='section'>
<h1 class="title delta">Getting Started Guide</h1>
<ul class='divided sidebar-menu'>
<li>
<a href='/getting-started/'>Installation </a>
<ul>
<li><a href='/getting-started/installation-raspberry-pi/'>Raspberry Pi </a></li>
<li><a href='/getting-started/installation-raspberry-pi-all-in-one/'>Raspberry Pi All-In-One Installer </a></li>
<li><a href='/getting-started/installation-docker/'>Docker </a></li>
<li><a href='/getting-started/installation-vagrant/'>Vagrant </a></li>
<li><a class='active' href='/getting-started/installation-synology/'>Synology NAS </a></li>
<li><a href='/getting-started/installation-virtualenv/'>Virtualenv Linux </a></li>
<li><a href='/getting-started/updating/'>Updating </a></li>
<li><a href='/getting-started/troubleshooting/'>Troubleshooting </a></li>
</ul>
</li>
<li>
<a href='/getting-started/configuration/'>Configuration </a>
<ul>
<li><a href='/getting-started/yaml/'>YAML </a></li>
<li><a href='/getting-started/basic/'>Basic information </a></li>
<li><a href='/getting-started/devices/'>Setting up devices </a></li>
<li><a href='/getting-started/customizing-devices/'>Customizing devices and services </a></li>
<li><a href='/getting-started/presence-detection/'>Presence Detection </a></li>
<li><a href='/getting-started/troubleshooting-configuration/'>Troubleshooting </a></li>
</ul>
</li>
<li>
<a href='/getting-started/automation/'>Automation </a>
<ul>
<li><a href='/getting-started/automation-create-first/'>Tutorial </a></li>
<li><a href='/getting-started/automation-trigger/'>Triggers </a></li>
<li><a href='/getting-started/automation-condition/'>Conditions </a></li>
<li><a href='/getting-started/automation-action/'>Actions </a></li>
<li><a href='/getting-started/automation-templating/'>Templates </a></li>
</ul>
</li>
<li>
<a href='/getting-started/scripts/'>Scripts </a>
<ul>
<li><a href='/getting-started/scripts-service-calls/'>Service Calls </a></li>
<li><a href='/getting-started/scripts-conditions/'>Conditions </a></li>
</ul>
</li>
<li>
<a href='/getting-started/z-wave/'>Z-Wave </a>
<ul>
<li><a href='/getting-started/z-wave-controllers/'>USB Controllers </a></li>
<li><a href='/getting-started/z-wave-settings/'>Modifying Settings </a></li>
<li><a href='/getting-started/z-wave-device-specific/'>Device Specific </a></li>
</ul>
</li>
<li>
<a href='/getting-started/autostart/'>Autostart </a>
<ul>
<li><a href='/getting-started/autostart-systemd/'>Linux - systemd </a></li>
<li><a href='/getting-started/autostart-upstart/'>Linux - Upstart </a></li>
<li><a href='/getting-started/autostart-macos/'>OS X </a></li>
<li><a href='/getting-started/autostart-synology/'>Synology NAS </a></li>
</ul>
</li>
<li><a href='/topics/'>Advanced Topics </a></li>
<li><a href='/getting-started/android/'>Add to Android Homescreen </a></li>
<li><a href='/getting-started/browsers/'>Browser Compatibility List </a></li>
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
<div class="grid__item">
<div class="copyright">
<a rel="me" href='https://twitter.com/home_assistant'><i class="icon-twitter"></i></a>
<a rel="me" href='https://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
<div class="credit">
Contact us at <a href='mailto:hello@home-assistant.io'>hello@home-assistant.io</a>.<br>
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />
Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.
</div>
</div>
</div>
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>