home-assistant.github.io/getting-started/installation-raspberry-pi-all-in-one/index.html
2016-12-21 15:08:59 +00:00

318 lines
No EOL
16 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>Raspberry Pi All-In-One Installer - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/getting-started/installation-raspberry-pi-all-in-one/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Raspberry Pi All-In-One Installer">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/getting-started/installation-raspberry-pi-all-in-one/">
<meta property="og:type" content="website">
<meta property="og:description" content="">
<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="Raspberry Pi All-In-One Installer">
<meta name="twitter:description" content="">
<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="/ecosystem/">Ecosystem</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">
Raspberry Pi All-In-One Installer
</h1>
</header>
<hr class="divider">
<p>The <a href="https://github.com/home-assistant/fabric-home-assistant">Raspberry Pi All-In-One Installer</a> deploys a complete Home Assistant server including support for MQTT with websockets, Z-Wave, and the Open-Zwave Control Panel.</p>
<p>The only requirement is that you have a Raspberry Pi with a fresh installation of <a href="https://www.raspberrypi.org/downloads/raspbian/">Raspbian</a> connected to your network.</p>
<ul>
<li>Login to Raspberry Pi. For example with <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
<li>Run the following command</li>
</ul>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh <span class="o">&amp;&amp;</span> chown pi:pi hass_rpi_installer.sh <span class="o">&amp;&amp;</span> bash hass_rpi_installer.sh
</code></pre>
</div>
<p class="note warning">
Note this command is one-line and not run as sudo.
</p>
<p>Installation will take approx. 1-2 hours depending on the Raspberry Pi model the installer is being run against. The installer will identitfy what Raspberry PI hardware revision you are using and adjust commands accordingly. A complete log of the install is located at: <code class="highlighter-rouge">/home/pi/fabric-home-assistant/installation_report.txt</code> The installer has been updated to simply log any errors encountered, but resume installing. Please consult the “installation report” if your install encountered issues.</p>
<p><a href="http://www.bruhautomation.com">BRUH automation</a> has created <a href="https://www.youtube.com/watch?v=VGl3KTrYo6s">a tutorial video</a> explaining how to install Raspbian on your Raspberry Pi and install Home Assistant using the All-In-One Installer.</p>
<p>Once rebooted, your Raspberry Pi will be up and running with Home Assistant. You can access it at <a href="http://your_raspberry_pi_ip:8123">http://your_raspberry_pi_ip:8123</a>.</p>
<p>The Home Assistant configuration is located at <code class="highlighter-rouge">/home/hass/.homeassistant</code>. The <a href="https://virtualenv.pypa.io/en/latest/">virtualenv</a> with the Home Assistant installation is located at <code class="highlighter-rouge">/srv/homeassistant/homeassistant_venv</code>. As part of the secure installation, a new user (<strong>homeassistant</strong>) is added to your Raspberry Pi to run Home Assistant. This is a system account and does not have login or other abilities by design. When editing your <code class="highlighter-rouge">configuration.yaml</code> files, you will need to run the commands with <code class="highlighter-rouge">sudo</code> or by switching user.</p>
<p class="note note">
<em>Windows users</em>: Setting up WinSCP to allow this seemlessly is at the end of this page.
</p>
<p>By default, installation makes use of a Python Virtualenv. If you wish to not follow this recommendation, you may add the flag <code class="highlighter-rouge">-n</code> to the end of the install command specified above.</p>
<p>The All-In-One Installer script will do the following automatically:</p>
<ul>
<li>Create all needed directories</li>
<li>Create needed service accounts</li>
<li>Install OS and Python dependencies</li>
<li>Setup a python virtualenv to run Home Assistant and components inside.</li>
<li>Run as <code class="highlighter-rouge">homeassistant</code> service account</li>
<li>Install Home Assistant in a virtualenv</li>
<li>Install Mosquitto with websocket support running on ports 1883 and 9001</li>
<li>Build and Install Python-openzwave in the Home Assistant virtualenv</li>
<li>Build openzwave-control-panel in <code class="highlighter-rouge">/srv/homeassistant/src/open-zwave-control-panel</code></li>
<li>Add Home Assistant to systemd services to start at boot</li>
</ul>
<h3><a class="title-link" name="upgrading" href="#upgrading"></a> Upgrading</h3>
<p>To upgrade the All-In-One setup manually:</p>
<ul>
<li>Login to Raspberry Pi <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
<li>Change to homeassistant user <code class="highlighter-rouge">sudo su -s /bin/bash homeassistant</code></li>
<li>Change to virtual enviroment <code class="highlighter-rouge">source /srv/homeassistant/homeassistant_venv/bin/activate</code></li>
<li>Update HA <code class="highlighter-rouge">pip3 install --upgrade homeassistant</code></li>
<li>Type <code class="highlighter-rouge">exit</code> to logout the hass user and return to the <code class="highlighter-rouge">pi</code> user.</li>
</ul>
<p>To upgrade with fabric:</p>
<ul>
<li>Login to Raspberry Pi <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
<li>Change to <code class="highlighter-rouge">cd ~/fabric-home-assistant</code></li>
<li>Run <code class="highlighter-rouge">fab upgrade_homeassistant</code></li>
</ul>
<p>After upgrading, you can restart Home Assistant a few different ways:</p>
<ul>
<li>Restarting the Raspberry Pi <code class="highlighter-rouge">sudo reboot</code></li>
<li>Restarting the Home-Assistant Service <code class="highlighter-rouge">sudo systemctl restart home-assistant.service</code></li>
</ul>
<h3><a class="title-link" name="to-change-the-mqtt-default-password" href="#to-change-the-mqtt-default-password"></a> To change the MQTT default password</h3>
<ul>
<li>Login to Raspberry Pi <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
<li>Change password <code class="highlighter-rouge">sudo mosquitto_passwd /etc/mosquitto/pwfile pi</code></li>
<li>Restart mosquitto <code class="highlighter-rouge">sudo systemctl restart mosquitto.service</code></li>
<li>Be sure to update your <code class="highlighter-rouge">configuration.yaml</code> to reflect the new password.</li>
</ul>
<h3><a class="title-link" name="using-the-ozwcp-web-application" href="#using-the-ozwcp-web-application"></a> Using the OZWCP web application</h3>
<p>To launch the OZWCP web application:</p>
<ul>
<li>Make sure Home Assistant is not running! So stop that first</li>
<li>Login to Raspberry Pi <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
<li>Change to the ozwcp directory <code class="highlighter-rouge">cd /srv/homeassistant/src/open-zwave-control-panel/</code></li>
<li>Launch the control panel <code class="highlighter-rouge">sudo ./ozwcp -p 8888</code></li>
<li>Open a web browser to <code class="highlighter-rouge">http://your_pi_ip:8888</code></li>
<li>Specify your zwave controller, for example <code class="highlighter-rouge">/dev/ttyACM0</code> and hit initialize</li>
</ul>
<p class="note warning">
Dont check the USB box regardless of using a USB based device.
</p>
<h3><a class="title-link" name="using-the-gpios" href="#using-the-gpios"></a> Using the GPIOs</h3>
<p>The (<strong>homeassistant</strong>)user is added to the GPIO group as part of the install now.</p>
<h3><a class="title-link" name="winscp" href="#winscp"></a> WinSCP</h3>
<p>If you are Windows users who is using <a href="https://winscp.net/">WinSCP</a>, please note that after running the installer, you will need to modify settings allowing you to “switch users” to edit your configuration files. The needed change within WinSCP is: <strong>Environment</strong> -&gt; <strong>SCP/Shell</strong> -&gt; <strong>Shell</strong> and set it to <code class="highlighter-rouge">sudo su -</code>.</p>
</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-all-in-one.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 class='active' 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>
<li><a href='/getting-started/securing/'>Security Check Points </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-init.d/'>Linux - init.d </a></li>
<li><a href='/getting-started/autostart-macos/'>macOS </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='/details/'>Details </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>