Site updated at 2016-10-28 06:22:31 UTC

This commit is contained in:
Travis CI 2016-10-28 06:22:32 +00:00
parent 209397fb3b
commit 3f4a6d9a01
67 changed files with 262 additions and 165 deletions

View file

@ -1,332 +0,0 @@
<!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>Home Assistant Database - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Details about the database which Home Assistant is using.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/topics/database/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant Database">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/topics/database/">
<meta property="og:type" content="article">
<meta property="og:description" content="Details about the database which Home Assistant is using.">
<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="Home Assistant Database">
<meta name="twitter:description" content="Details about the database which Home Assistant is using.">
<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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_topics/database.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Home Assistant Database
</h1>
</header>
<hr class="divider">
<p>The default database that is used for Home Assistant is <a href="https://www.sqlite.org/">SQLite</a> and is stored in your <a href="/getting-started/configuration/">configuration directory</a>, eg. <code class="highlighter-rouge">&lt;path to config dir&gt;/.homeassistant/home-assistant_v2.db</code>. You will need an installation of <code class="highlighter-rouge">sqlite3</code>, the command-line for SQLite database, or <a href="http://sqlitebrowser.org/">DB Browser for SQLite</a> which provide an editor for executing SQL commands.
First load your database with <code class="highlighter-rouge">sqlite3</code>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sqlite3 home-assistant_v2.db
SQLite version 3.13.0 2016-05-18 10:57:30
Enter <span class="s2">".help"</span> <span class="k">for </span>usage hints.
<span class="gp">sqlite&gt; </span>
</code></pre>
</div>
<p>It helps to set some options to make the output better readable.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>.header on
<span class="gp">sqlite&gt; </span>.mode column
</code></pre>
</div>
<p>You could also start <code class="highlighter-rouge">sqlite3</code> and attach the database later. Not sure what database you are working with? Check it, especially if you are going to delete data.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>.databases
seq name file
--- --------------- ----------------------------------------------------------
0 main /home/fab/.homeassistant/home-assistant_v2.db
</code></pre>
</div>
<h3><a class="title-link" name="schema" href="#schema"></a> Schema</h3>
<p>Get all available tables from your current Home Assistant database.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>SELECT sql FROM sqlite_master;
-------------------------------------------------------------------------------------
CREATE TABLE events <span class="o">(</span>
event_id INTEGER NOT NULL,
event_type VARCHAR<span class="o">(</span>32<span class="o">)</span>,
event_data TEXT,
origin VARCHAR<span class="o">(</span>32<span class="o">)</span>,
time_fired DATETIME,
created DATETIME,
PRIMARY KEY <span class="o">(</span>event_id<span class="o">)</span>
<span class="o">)</span>
CREATE INDEX ix_events_event_type ON events <span class="o">(</span>event_type<span class="o">)</span>
CREATE TABLE recorder_runs <span class="o">(</span>
run_id INTEGER NOT NULL,
start DATETIME,
<span class="s2">"end"</span> DATETIME,
closed_incorrect BOOLEAN,
created DATETIME,
PRIMARY KEY <span class="o">(</span>run_id<span class="o">)</span>,
CHECK <span class="o">(</span>closed_incorrect IN <span class="o">(</span>0, 1<span class="o">))</span>
<span class="o">)</span>
CREATE TABLE states <span class="o">(</span>
state_id INTEGER NOT NULL,
domain VARCHAR<span class="o">(</span>64<span class="o">)</span>,
entity_id VARCHAR<span class="o">(</span>64<span class="o">)</span>,
state VARCHAR<span class="o">(</span>255<span class="o">)</span>,
attributes TEXT,
event_id INTEGER,
last_changed DATETIME,
last_updated DATETIME,
created DATETIME,
PRIMARY KEY <span class="o">(</span>state_id<span class="o">)</span>,
FOREIGN KEY<span class="o">(</span>event_id<span class="o">)</span> REFERENCES events <span class="o">(</span>event_id<span class="o">)</span>
<span class="o">)</span>
CREATE INDEX states__significant_changes ON states <span class="o">(</span>domain, last_updated, entity_id<span class="o">)</span>
CREATE INDEX states__state_changes ON states <span class="o">(</span>last_changed, last_updated, entity_id<span class="o">)</span>
CREATE TABLE sqlite_stat1<span class="o">(</span>tbl,idx,stat<span class="o">)</span>
</code></pre>
</div>
<p>To only show the details about the <code class="highlighter-rouge">states</code> table as we are using that one in the next examples.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>SELECT sql FROM sqlite_master WHERE <span class="nb">type</span> <span class="o">=</span> <span class="s1">'table'</span> AND tbl_name <span class="o">=</span> <span class="s1">'states'</span>;
</code></pre>
</div>
<h3><a class="title-link" name="query" href="#query"></a> Query</h3>
<p>The identification of the available columns in the table is done and we are now able to create a query. Lets list of your Top 10 entities.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>.width 30, 10,
<span class="gp">sqlite&gt; </span>SELECT entity_id, COUNT<span class="o">(</span><span class="k">*</span><span class="o">)</span> as count FROM states GROUP BY entity_id ORDER BY count DESC LIMIT 10;
entity_id count
------------------------------ ----------
sensor.cpu 28874
sun.sun 21238
sensor.time 18415
sensor.new_york 18393
cover.kitchen_cover 17811
switch.mystrom_switch 14101
sensor.internet_time 12963
sensor.solar_angle1 11397
sensor.solar_angle 10440
group.all_switches 8018
</code></pre>
</div>
<h3><a class="title-link" name="delete" href="#delete"></a> Delete</h3>
<p>If you dont want to keep certain entities, you can delete them permanently.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>DELETE FROM states WHERE <span class="nv">entity_id</span><span class="o">=</span><span class="s2">"sensor.cpu"</span>;
</code></pre>
</div>
<p>The <code class="highlighter-rouge">VACUUM</code> command cleans the your database.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>VACUUM;
</code></pre>
</div>
<p>For a more interactive way to work with the database or the create statistics, checkout our <a href="http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/">Jupyther notebooks</a>.</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">
<h1 class="title delta">About Home Assistant</h1>
<ul class="divided">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/topics/database/"
data-counturl="https://home-assistant.io/topics/database/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/topics/database/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
<li class="post">
<a href="/blog/2016/10/22/flash-briefing-updater-hacktoberfest/">0.31: Reading you the news, some serious business, spooky hackery and a breaking Z-Wave change</a>
</li>
<li class="post">
<a href="/blog/2016/10/08/hassbian-rest-digital-ocean/">0.30: More Async, HASSbian, Digital Ocean, statistics, REST</a>
</li>
<li class="post">
<a href="/blog/2016/10/02/hacktoberfest/">Participating in Hacktoberfest</a>
</li>
<li class="post">
<a href="/blog/2016/10/01/we-have-raspberry-image-now/">We have a Raspberry Pi image now</a>
</li>
</ul>
</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>

View file

@ -95,21 +95,12 @@
<p>Home Assistant is built from many small building blocks that together offer a powerful and customizable system. This page is a collection of the more advanced topics.</p>
<ul>
<li>
<p><a href="/topics/updater_details/">Details about the updater</a></p>
</li>
<li>
<p><a href="/topics/webserver_details/">Details about the web server</a></p>
</li>
<li>
<p><a href="/topics/platform_options/">Entity component platform options</a></p>
</li>
<li>
<p><a href="/topics/events/">Events</a></p>
</li>
<li>
<p><a href="/topics/database/">Home Assistant Database</a></p>
</li>
<li>
<p><a href="/topics/splitting_configuration/">Splitting up the configuration</a></p>
</li>

View file

@ -1,301 +0,0 @@
<!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>Details about the updater - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Details what the updater component is reporting about your Home Assistant instance.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/topics/updater_details/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Details about the updater">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/topics/updater_details/">
<meta property="og:type" content="article">
<meta property="og:description" content="Details what the updater component is reporting about your Home Assistant instance.">
<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="Details about the updater">
<meta name="twitter:description" content="Details what the updater component is reporting about your Home Assistant instance.">
<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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_topics/updater_details.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Details About the Updater
</h1>
</header>
<hr class="divider">
<p>Starting with 0.31 the <a href="/components/updater/">updater component</a> sends an optional report about Home Assistant instance.</p>
<p>We are only collecting this information to better understand our user base to provide better long term support and feature development.</p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
<th>Data Source</th>
</tr>
</thead>
<tbody>
<tr>
<td><code class="highlighter-rouge">arch</code></td>
<td>CPU Architecture</td>
<td><code class="highlighter-rouge">x86_64</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">distribution</code></td>
<td>Linux Distribution name (only Linux)</td>
<td><code class="highlighter-rouge">Ubuntu</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">docker</code></td>
<td>True if running inside Docker</td>
<td><code class="highlighter-rouge">false</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">first_seen_datetime</code></td>
<td>First time instance ID was submitted</td>
<td><code class="highlighter-rouge">2016-10-22T19:56:03.542Z</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_city</code></td>
<td>GeoIP determined city</td>
<td><code class="highlighter-rouge">Oakland</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_country_code</code></td>
<td>GeoIP determined country code</td>
<td><code class="highlighter-rouge">US</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_country_name</code></td>
<td>GeoIP determined country name</td>
<td><code class="highlighter-rouge">United States</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_latitude</code></td>
<td>GeoIP determined latitude</td>
<td><code class="highlighter-rouge">37.8047</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_longitude</code></td>
<td>GeoIP determined longitude</td>
<td><code class="highlighter-rouge">-122.2124</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_metro_code</code></td>
<td>GeoIP determined metro code</td>
<td><code class="highlighter-rouge">807</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_region_code</code></td>
<td>GeoIP determined region code</td>
<td><code class="highlighter-rouge">CA</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_region_name</code></td>
<td>GeoIP determined region name</td>
<td><code class="highlighter-rouge">California</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_time_zone</code></td>
<td>GeoIP determined time zone</td>
<td><code class="highlighter-rouge">America/Los_Angeles</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">geo_zip_code</code></td>
<td>GeoIP determined zip code</td>
<td><code class="highlighter-rouge">94602</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">last_seen_datetime</code></td>
<td>Most recent time instance ID was submitted</td>
<td><code class="highlighter-rouge">2016-10-22T19:56:03.542Z</code></td>
<td>Update Server</td>
</tr>
<tr>
<td><code class="highlighter-rouge">os_name</code></td>
<td>Operating system name</td>
<td><code class="highlighter-rouge">Darwin</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">os_version</code></td>
<td>Operating system version</td>
<td><code class="highlighter-rouge">10.12</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">python_version</code></td>
<td>Python version</td>
<td><code class="highlighter-rouge">3.5.2</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">timezone</code></td>
<td>Timezone</td>
<td><code class="highlighter-rouge">America/Los_Angeles</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">user_agent</code></td>
<td>User agent used to submit analytics</td>
<td><code class="highlighter-rouge">python-requests/2.11.1</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">uuid</code></td>
<td>Unique identifier</td>
<td><code class="highlighter-rouge">10321ee6094d4a2ebb5ed55c675d5f5e</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">version</code></td>
<td>Home Assistant version</td>
<td><code class="highlighter-rouge">0.31.0</code></td>
<td>Local Instance</td>
</tr>
<tr>
<td><code class="highlighter-rouge">virtualenv</code></td>
<td>True if running inside virtualenv</td>
<td><code class="highlighter-rouge">true</code></td>
<td>Local Instance</td>
</tr>
</tbody>
</table>
<p>In addition to the above collected data, the server will also use your IP address to do a geographic IP address lookup to determine a general geographic area that your address is located in. To be extremely, extremely clear about this bit: <strong>The Home Assistant updater does not: store your IP address in a database and also does not submit the location information from your <code class="highlighter-rouge">configuration.yaml</code>.</strong></p>
<p>Our tests showed that at best, we get 4 digits of accuracy on your IP address location which is a 5 mile radius of your actual IP location, assuming that it is even correct in the first place (geo IP lookups are very hit or miss).</p>
<p>The server also adds two timestamps to the data:</p>
<ul>
<li>the original date your instance UUID was first seen</li>
<li>the timestamp of the last time we have seen your instance</li>
</ul>
<p>There are currently no plans to publicly expose any of this information. If we did do such a thing in the future we would of course notify you in advance. It must also be stated that we will never sell or allow the use of this information for non-Home Assistant purposes.</p>
</article>
</div>
</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>

View file

@ -1,161 +0,0 @@
<!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>Details about the web server - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Use nmap to scan your Home Assistant instance.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/topics/webserver_details/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Details about the web server">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/topics/webserver_details/">
<meta property="og:type" content="article">
<meta property="og:description" content="Use nmap to scan your Home Assistant instance.">
<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="Details about the web server">
<meta name="twitter:description" content="Use nmap to scan your Home Assistant instance.">
<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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_topics/webserver_details.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Details About the Web Server
</h1>
</header>
<hr class="divider">
<p>It was only a matter of time till the first queries for tools like <a href="https://www.shodan.io/search?query=Home+Assistant">https://www.shodan.io</a> to search for Home Assistant instances showed up.</p>
<p>To get an idea about how your Home Assistant instance looks like for network scanner, you can use <code class="highlighter-rouge">nmap</code>. The <code class="highlighter-rouge">nmap</code> tool is already available if you are using the <a href="/components/device_tracker/">nmap device tracker</a>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">$ nmap -sV -p 8123 --script=http-title,http-headers 192.168.1.3</span>
<span class="s">Starting Nmap 7.12 ( https://nmap.org ) at 2016-10-06 10:01 CEST</span>
<span class="s">Nmap scan report for 192.168.1.3 (192.168.1.3)</span>
<span class="s">Host is up (0.00011s latency).</span>
<span class="s">PORT STATE SERVICE VERSION</span>
<span class="s">8123/tcp open http CherryPy wsgiserver</span>
<span class="pi">|</span> <span class="err">http-headers:</span>
<span class="err">|</span><span class="no"> Content-Type: text/html; charset=utf-8</span>
<span class="err">|</span><span class="no"> Content-Length: 4309</span>
<span class="err">|</span><span class="no"> Connection: close</span>
<span class="err">|</span><span class="no"> Date: Thu, 06 Oct 2016 08:01:31 GMT</span>
<span class="err">|</span><span class="no"> Server: Home Assistant</span>
<span class="err">|</span>
<span class="err">|</span><span class="no">_ (Request type: GET)</span>
<span class="err">|</span><span class="no">_http-server-header: Home Assistant</span>
<span class="err">|</span><span class="no">_http-title: Home Assistant</span>
<span class="err">S</span><span class="no">ervice detection performed. Please report any incorrect results at https://nmap.org/submit/ .</span>
<span class="err">N</span><span class="no">map done: 1 IP address (1 host up) scanned in 6.70 seconds</span>
</code></pre>
</div>
</article>
</div>
</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>