home-assistant.github.io/getting-started/installation-raspberry-pi/index.html
2016-09-29 06:50:41 +00:00

373 lines
No EOL
21 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>Manual installation on a Raspberry Pi - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to install Home Assistant on a Raspberry Pi runnning Raspbian Lite.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/getting-started/installation-raspberry-pi/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Manual installation on a Raspberry Pi">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/getting-started/installation-raspberry-pi/">
<meta property="og:type" content="website">
<meta property="og:description" content="Instructions to install Home Assistant on a Raspberry Pi runnning Raspbian Lite.">
<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="Manual installation on a Raspberry Pi">
<meta name="twitter:description" content="Instructions to install Home Assistant on a Raspberry Pi runnning Raspbian Lite.">
<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">
Manual Installation on a Raspberry Pi
</h1>
</header>
<hr class="divider">
<h3><a class="title-link" name="installation" href="#installation"></a> Installation</h3>
<p>Theres currently three documented ways to install Home Assistant on a Raspberry Pi.</p>
<ul>
<li><a href="/getting-started/installation-raspberry-pi/#Manual-Installation">Manual installation</a>. Following this guide doing each step manually. This is highly recommended as a first installation since you get a good overview of the installation.</li>
<li><a href="/getting-started/installation-raspberry-pi-image">Hassbian image</a>. Basic installation with the same settings as following the manual installation guide. Some additional software is preinstalled to make installation quicker and easier.</li>
<li><a href="/getting-started/installation-raspberry-pi-all-in-one/">All-in-One Installer</a>. Fabric based installation script that installs and compiles many of the things an advanced Home Assistant install is likely to need.</li>
</ul>
<h3><a class="title-link" name="manual-installation" href="#manual-installation"></a> Manual Installation</h3>
<p>This installation of Home Assistant requires the Raspberry Pi to run <a href="https://www.raspberrypi.org/downloads/raspbian/">Raspbian Lite</a>.
The installation will be installed in a <a href="/getting-started/installation-virtualenv">Virtual Environment</a> with minimal overhead. Instructions assume this is a new installation of Raspbian Lite.</p>
<p>Connect to the Raspberry Pi over ssh. Default password is <code class="highlighter-rouge">raspberry</code>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>ssh pi@ipadress
</code></pre>
</div>
<p>Changing the default password is encouraged.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>passwd
</code></pre>
</div>
<p>Update the system.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get update
<span class="gp">$ </span>sudo apt-get upgrade -y
</code></pre>
</div>
<p>Install the dependencies.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get install python3 python3-venv python3-pip
</code></pre>
</div>
<p>Add an account for Home Assistant called <code class="highlighter-rouge">homeassistant</code>.<br />
Since this account is only for running Home Assistant the extra arguments of <code class="highlighter-rouge">-rm</code> is added to create a system account and create a home directory.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo useradd -rm homeassistant
</code></pre>
</div>
<p>Next we will create a directory for the installation of Home Assistant and change the owner to the <code class="highlighter-rouge">homeassistant</code> account.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">cd</span> /srv
<span class="gp">$ </span>sudo mkdir homeassistant
<span class="gp">$ </span>sudo chown homeassistant:homeassistant homeassistant
</code></pre>
</div>
<p>Next up is to create and change to a virtual environment for Home Assistant. This will be done as the <code class="highlighter-rouge">homeassistant</code> account.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo su -s /bin/bash homeassistant
<span class="gp">$ </span><span class="nb">cd</span> /srv/homeassistant
<span class="gp">$ </span>python3 -m venv homeassistant_venv
<span class="gp">$ </span><span class="nb">source</span> /srv/homeassistant/homeassistant_venv/bin/activate
</code></pre>
</div>
<p>Once you have activated the virtual environment you will notice the prompt change and then you can install Home Assistant.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="o">(</span>homeassistant_venv<span class="o">)</span> homeassistant@raspberrypi:/srv/homeassistant <span class="nv">$ </span>pip3 install homeassistant
</code></pre>
</div>
<p>Start Home Assistant for the first time. This will complete the installation, create the <code class="highlighter-rouge">.homeasssistant</code> configuration directory in the <code class="highlighter-rouge">/home/homeassistant</code> directory and install any basic dependencies.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="o">(</span>homeassistant_venv<span class="o">)</span> <span class="nv">$ </span>hass
</code></pre>
</div>
<p>You can now reach your installation on your raspberry pi over the web interface on <a href="http://ipaddress:8123">http://ipaddress:8123</a>.
For instruction on how to configure Home Assistant continue on with <a href="/getting-started/configuration/">Configuring Home Assistant</a>.</p>
<h3><a class="title-link" name="raspberry-pi-hardware-specific-components" href="#raspberry-pi-hardware-specific-components"></a> Raspberry Pi Hardware Specific Components</h3>
<p>Some components that are specific for the Raspberry Pi can require some further configuration outside of Home Assistant. All commands below are assumed to be executed with the <code class="highlighter-rouge">pi</code> account. For full documentation of these components refer to the <a href="/components">components</a> page.</p>
<h3><a class="title-link" name="bluetooth-tracker" href="#bluetooth-tracker"></a> Bluetooth Tracker</h3>
<p>The Bluetooth tracker will work on a Raspberry Pi 3 with the built-in Bluetooth module or with a USB Bluetooth device on any of the other Raspberry Pis.</p>
<p>Install the following external dependencies.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get install bluetooth libbluetooth-dev
</code></pre>
</div>
<p>After this follow the <a href="/components/device_tracker.bluetooth_tracker/">Bluetooth Tracker component</a> and <a href="/components/device_tracker/">Device Tracker page</a> pages.</p>
<h3><a class="title-link" name="raspberry-pi-camera" href="#raspberry-pi-camera"></a> Raspberry Pi Camera</h3>
<p>The Raspberry Pi Camera is a specific camera for the Raspberry Pi boards. For more information about the camera I suggest reading the <a href="https://www.raspberrypi.org/documentation/usage/camera/">documentation</a> from the Raspberry Pi foundation.</p>
<p>To use the camera it needs to be enabled with the <code class="highlighter-rouge">raspi-config</code> utility.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo raspi-config
</code></pre>
</div>
<p>Select <code class="highlighter-rouge">Enable camera</code> choose <code class="highlighter-rouge">&lt;Yes&gt;</code> and hit <code class="highlighter-rouge">Enter</code>, then go to <code class="highlighter-rouge">Finish</code> and youll be prompted to reboot.<br />
After reboot add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">video</code> group.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant video
</code></pre>
</div>
<p>After this follow the <a href="/components/camera.rpi_camera/">Raspberry Pi Camera component</a> page.</p>
<h3><a class="title-link" name="raspberry-pi-gpio" href="#raspberry-pi-gpio"></a> Raspberry Pi GPIO</h3>
<p>Each of the following devices are connected to the GPIO pins on the Raspberry Pi.
For more details about the GPIO layout, visit the <a href="https://www.raspberrypi.org/documentation/usage/gpio/">documentation</a> from the Raspberry
Pi foundation.<br />
Since these are not normally used some extra permission will need to be added.
In general the permission that is needed is granted by adding the <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group.</p>
<h4><a class="title-link" name="raspberry-pi-cover" href="#raspberry-pi-cover"></a> Raspberry Pi Cover</h4>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/cover.rpi_gpio/">Raspberry Pi Cover component</a> page.</p>
<h4><a class="title-link" name="dht-sensor" href="#dht-sensor"></a> DHT Sensor</h4>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/sensor.dht/">DHT Sensor component</a> page.</p>
<h4><a class="title-link" name="raspberry-pi-gpio-binary-sensor" href="#raspberry-pi-gpio-binary-sensor"></a> Raspberry PI GPIO Binary Sensor</h4>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/binary_sensor.rpi_gpio/">Raspberry PI GPIO Binary Sensor component</a> page.</p>
<h4><a class="title-link" name="raspberry-pi-gpio-switch" href="#raspberry-pi-gpio-switch"></a> Raspberry PI GPIO Switch</h4>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/switch.rpi_gpio/">Raspberry PI GPIO Switch component</a> page.</p>
<h4><a class="title-link" name="raspberry-pi-rf-switch" href="#raspberry-pi-rf-switch"></a> Raspberry Pi RF Switch</h4>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/switch.rpi_rf/">Raspberry Pi RF Switch component</a> page.</p>
<h4><a class="title-link" name="one-wire-sensor" href="#one-wire-sensor"></a> One wire Sensor</h4>
<p>The One wire sensor requires that support for it is enabled on the Raspberry Pi and that the One Wire device is connected to GPIO pin 4.
To enable One Wire support add the following line to the end of <code class="highlighter-rouge">/boot/config.txt</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">dtoverlay=w1-gpio</span>
</code></pre>
</div>
<p>After this follow the <a href="/components/sensor.onewire/">One Wire Sensor component</a> page.</p>
<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/home-assistant/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-systemd/">autostart instructions can be found here</a>.</p>
<p>To see what Home Assistant can do, launch demo mode: <code class="highlighter-rouge">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.github.io/tree/current/source/getting-started/installation-raspberry-pi.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 class='active' 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-raspberry-pi-image/'>Raspberry Pi Image </a></li>
<li><a href='/getting-started/installation-docker/'>Docker </a></li>
<li><a href='/getting-started/installation-vagrant/'>Vagrant </a></li>
<li><a 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/'>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://facebook.com/homeassistantio'><i class="icon-facebook"></i></a>
<a rel="me" href='https://plus.google.com/110560654828510104551'><i class="icon-google-plus"></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>