home-assistant.github.io/addons/configurator/index.html
2018-01-21 17:19:21 +00:00

218 lines
13 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>HASS Configurator - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Browser-based configuration file editor for Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/addons/configurator/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="HASS Configurator">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/addons/configurator/">
<meta property="og:type" content="article">
<meta property="og:description" content="Browser-based configuration file editor for Home Assistant.">
<meta property="og:image" content="https://home-assistant.io/images/hassio/screenshots/addon-hass-configurator.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:title" content="HASS Configurator">
<meta name="twitter:description" content="Browser-based configuration file editor for Home Assistant.">
<meta name="twitter:image" content="https://home-assistant.io/images/hassio/screenshots/addon-hass-configurator.png">
<link href="/stylesheets/screen.css" media="screen, projection, print" 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 class='site-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="/docs/">Docs</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>
<li><a href='#' class='show-search'><i class="icon-search"></i></a></li>
</ul>
</nav>
<div class='search-container' style='display: none'>
<div class='search'>
<i class="icon-search"></i>
<input id='search' placeholder='Search the docs…'>
<a href='#' class='close'><i class="icon-remove-sign"></i></a>
</div>
</div>
</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/_addons/configurator.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
HASS Configurator
</h1>
</header>
<hr class="divider">
<p>As long as a fully featured configuration GUI for Home Assistant is still under development, you can use this add-on to add a browser-based file-editor to your Hass.IO installation. By default it will listen on port <code class="highlighter-rouge">3218</code> of the host Hass.IO is running on.</p>
<p>More information and a standalone version for regular Home Assistant installations can be found in the <a href="https://github.com/danielperna84/hass-configurator">GitHub repository</a>.</p>
<p class="img">
<img src="/images/hassio/screenshots/addon-hass-configurator.png" />
Screenshot of the HASS Configurator.
</p>
<h3><a class="title-link" name="feature-list" href="#feature-list"></a> Feature list</h3>
<ul>
<li>Web-Based editor to modify your files with syntax highlighting.</li>
<li>Upload and download files.</li>
<li>Stage and commit changes in Git repositories, create and switch between branches, push to remotes.</li>
<li>Lists of available triggers, events, entities, conditions, and services. The selected element gets inserted into the editor at the last cursor position.</li>
<li>Restart Home Assistant directly with the click of a button. Reloading groups, automations, etc. can be done as well. An API-password is required.</li>
<li>SSL support.</li>
<li>Optional authentication and IP filtering for added security.</li>
<li>Direct links to Home Assistant documentation and icons.</li>
<li>Execute shell commands within the add-on container.</li>
<li>Editor settings are saved in your browser.</li>
</ul>
<h3><a class="title-link" name="add-on-configuration" href="#add-on-configuration"></a> Add-on Configuration</h3>
<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">{</span><span class="w">
</span><span class="nt">"username"</span><span class="p">:</span><span class="w"> </span><span class="s2">"admin"</span><span class="p">,</span><span class="w">
</span><span class="nt">"password"</span><span class="p">:</span><span class="w"> </span><span class="s2">"secret"</span><span class="p">,</span><span class="w">
</span><span class="nt">"certfile"</span><span class="p">:</span><span class="w"> </span><span class="s2">"fullchain.pem"</span><span class="p">,</span><span class="w">
</span><span class="nt">"keyfile"</span><span class="p">:</span><span class="w"> </span><span class="s2">"privkey.pem"</span><span class="p">,</span><span class="w">
</span><span class="nt">"ssl"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="nt">"allowed_networks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"192.168.0.0/16"</span><span class="p">],</span><span class="w">
</span><span class="nt">"banned_ips"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"8.8.8.8"</span><span class="p">],</span><span class="w">
</span><span class="nt">"banlimit"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nt">"ignore_pattern"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"__pycache__"</span><span class="p">],</span><span class="w">
</span><span class="nt">"dirsfirst"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
</span><span class="err">}</span><span class="w">
</span></code></pre>
</div>
<ul>
<li><strong>username</strong> (<em>Optional</em>): Set a username to access your configuration is protected.</li>
<li><strong>password</strong> (<em>Required</em>): Set a password for access.</li>
<li><strong>ssl</strong> (<em>Optional</em>): Enable or Disable SSL for the editor.</li>
<li><strong>allowed_networks</strong> (<em>Optional</em>): Limit access to the configurator by adding allowed IP addresses/networks to the list.</li>
<li><strong>banned_ips</strong> (<em>Optional</em>): List of statically banned IP addresses.</li>
<li><strong>banlimit</strong> (<em>Optional</em>): Ban access from IPs after <code class="highlighter-rouge">banlimit</code> failed login attempts. The default value <code class="highlighter-rouge">0</code> disables this feature. Restart the add-on to clear the list of banned IP addresses.</li>
<li><strong>ignore_pattern</strong> (<em>Optional</em>): Files and folders to ignore in the UI.</li>
<li><strong>dirsfirst</strong> (<em>Optional</em>): List directories before files in the file browser.</li>
</ul>
<h3><a class="title-link" name="embedding-into-home-assistant" href="#embedding-into-home-assistant"></a> Embedding into Home-Assistant</h3>
<p>Using the Home Assistant component <a href="https://home-assistant.io/components/panel_iframe/">panel_iframe</a> it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration from within the Home Assistant frontend.</p>
<p>An example configuration would look like this:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">panel_iframe</span><span class="pi">:</span>
<span class="s">configurator</span><span class="pi">:</span>
<span class="s">title</span><span class="pi">:</span> <span class="s">Configurator</span>
<span class="s">icon</span><span class="pi">:</span> <span class="s">mdi:wrench</span>
<span class="s">url</span><span class="pi">:</span> <span class="s">http://hassio.local:3218</span>
</code></pre>
</div>
<p class="note warning">
Be careful when setting up port forwarding to the configurator while embedding into Home Assistant. If you dont restrict access by requiring authentication and/or blocking based on client IP addresses, your configuration will be exposed to the internet!
</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='section'>
<h1 class="title delta">Topics</h1>
<ul class='divided sidebar-menu'>
<li>
<a href='/hassio/'>Hass.io </a>
<ul>
<li><a href='/hassio/installation/'>Installation </a></li>
<li><a href='/addons/'>Available add-ons </a></li>
<li><a href='/hassio/installing_third_party_addons/'>Installing third-party add-ons </a></li>
</ul>
</li>
</ul>
<ul class='divided sidebar-menu'>
<li>
Advanced
<ul>
<li><a href='/hassio/zwave/'>Z-Wave </a></li>
<li><a href='/hassio/external_storage/'>External storage </a></li>
<li><a href='/hassio/run_local/'>Execute local things </a></li>
</ul>
</li>
</ul>
<ul class='divided sidebar-menu'>
<li><a href='/developers/hassio/addon_development/'>Looking to create an add-on?</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> (no support!).<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>
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">home-assistant.io</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.
</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>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css" />
<script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script>
<script type="text/javascript">
docsearch({
apiKey: 'ae96d94b201c5444c8a443093edf3efb',
indexName: 'home-assistant',
inputSelector: '#search',
debug: false // Set debug to true if you want to inspect the dropdown
});
document.querySelector('.search .close').addEventListener('click', function(ev) {
ev.preventDefault();
document.querySelector('.search-container').style.display = 'none';
});
document.querySelector('.show-search').addEventListener('click', function(ev) {
ev.preventDefault();
document.querySelector('.search-container').style.display = 'block';
document.getElementById('toggle').checked = false;
document.querySelector('.search-container input').focus();
});
</script>
</body>
</html>