421 lines
28 KiB
HTML
421 lines
28 KiB
HTML
<!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="Instructions on how to install and use the HASS Configurator">
|
||
<meta name="viewport" content="width=device-width">
|
||
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/hass-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/docs/ecosystem/hass-configurator/">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:description" content="Instructions on how to install and use the HASS Configurator">
|
||
<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="HASS Configurator">
|
||
<meta name="twitter:description" content="Instructions on how to install and use the HASS Configurator">
|
||
<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="/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>
|
||
</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/_docs/ecosystem/hass-configurator.markdown'>Edit this page on GitHub</a></div>
|
||
<header>
|
||
<h1 class="title indent">
|
||
HASS Configurator
|
||
</h1>
|
||
</header>
|
||
<hr class="divider">
|
||
<h3><a class="title-link" name="configuration-ui-for-home-assistant" href="#configuration-ui-for-home-assistant"></a> Configuration UI for Home Assistant</h3>
|
||
<p>Since there currently is no nice way to edit the yaml-files Home Assistant is using through the frontend, here is a small webapp that hopefully makes the configuration easier. It is a customized and embedded <a href="https://ace.c9.io/">Ace editor</a>, which has syntax highlighting for yaml, the format used for Home Assistants configuration files. There is an integrated file browser to select whatever file you want to edit. When you’re done with editing the file, click the save-button and it will replace the original.<br />
|
||
Essentially this is a browser-based alternative to modifying your configuration through SSH, Windows + SMB, Github etc..</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</li>
|
||
<li>Upload and download files</li>
|
||
<li>Git integration</li>
|
||
<li>Lists of available triggers, events, entities, conditions and services. Selected element gets inserted into the editor at the last cursor position.</li>
|
||
<li>Check valid configuration and restart Home Assistant directly with the click of a button</li>
|
||
<li>SSL support</li>
|
||
<li>Optional authentication and IP filtering for additional security</li>
|
||
<li>Direct links to Home Assistant documentation and icons</li>
|
||
<li>Execute shell commands</li>
|
||
<li>Runs on pretty much any machine Home Assistant can run on</li>
|
||
</ul>
|
||
<p class="note warning">
|
||
This tool allows you to browse your filesystem and modify files. So be careful which files you edit, or you might break critical parts of your system.<br />
|
||
Consider running the configurator as a user with limited privileges to limit possible damage.</p>
|
||
<h3><a class="title-link" name="installation-linux-os-x" href="#installation-linux-os-x"></a> Installation (Linux, OS X)</h3>
|
||
<p>There are no dependencies on Python modules that are not part of the standard library. And all the fancy JavaScript libraries are loaded from CDN (which means this doesn’t work when you’re offline).</p>
|
||
<ul>
|
||
<li>Copy <a href="https://github.com/danielperna84/hass-configurator/blob/master/configurator.py">configurator.py</a> to your Home Assistant configuration directory (e.g /home/homeassistant/.homeassistant)</li>
|
||
<li>Make it executable: <code class="highlighter-rouge">sudo chmod 755 configurator.py</code></li>
|
||
<li>(Optional) Set the <code class="highlighter-rouge">GIT</code> variable in configurator.py to <code class="highlighter-rouge">True</code> if <a href="https://gitpython.readthedocs.io/">GitPython</a> is installed on your system. This is required if you want to make use of the Git integration.</li>
|
||
<li>Execute it: <code class="highlighter-rouge">sudo ./configurator.py</code></li>
|
||
<li>To terminate the process do the usual <code class="highlighter-rouge">CTRL+C</code>, maybe once or twice</li>
|
||
</ul>
|
||
<h3><a class="title-link" name="configuration" href="#configuration"></a> Configuration</h3>
|
||
<p>Near the top of the configurator.py-file you will find some global variables you can change to customize the configurator. If you are unfamiliar with Python: when setting variables of the type <em>string</em>, you have to write that within quotation marks. The default settings are fine for just checking out the configurator quickly. With more customized setups you should change some settings though.<br />
|
||
To keep your settings across updates it is also possible to save settings in an external file. In that case copy <a href="https://github.com/danielperna84/hass-configurator/blob/master/settings.conf">settings.conf</a> whereever you like and append the full path to the file to the command when starting the configurator. E.g. <code class="highlighter-rouge">sudo .configurator.py /home/homeassistant/.homeassistant/mysettings.conf</code>. This file is in JSON format. So make sure it has a valid syntax (you can set the editor to JSON to get syntax highlighting for the settings). The major difference to the settings in the py-file is, that <code class="highlighter-rouge">None</code> becomes <code class="highlighter-rouge">null</code>.</p>
|
||
<h4>LISTENIP (string)</h4>
|
||
<p>The IP the service is listening on. By default it is binding to <code class="highlighter-rouge">0.0.0.0</code>, which is every interface on the system.</p>
|
||
<h4>LISTENPORT (integer)</h4>
|
||
<p>The port the service is listening on. By default it is using <code class="highlighter-rouge">3218</code>, but you can change this if you need to.</p>
|
||
<h4>BASEPATH (string)</h4>
|
||
<p>It is possible to place configurator.py somewhere else. Set the <code class="highlighter-rouge">BASEPATH</code> to something like <code class="highlighter-rouge">"/home/homeassistant/.homeassistant"</code>, and no matter where you are running the configurator from, it will start serving files from there. This is needed if you plan on running the configurator with systemd or some other way of daemonizing the configurator.</p>
|
||
<h4>SSL_CERTIFICATE / SSL_KEY (string)</h4>
|
||
<p>If you are using SSL, set the paths to your SSL files here. This is similar to the SSL setup you can do in Home Assistant.</p>
|
||
<h4>HASS_API (string)</h4>
|
||
<p>The configurator fetches some data from your running Home Assistant instance. If the API is not available through the default URL, modify this variable to fix this.</p>
|
||
<h4>HASS_API_PASSWORD (string)</h4>
|
||
<p>If you plan on using the restart button, you have to set your API password. Calling the restart service of Home Assistant is prohibited without authentication.</p>
|
||
<h4>CREDENTIALS (string)</h4>
|
||
<p>Set credentials in the form of <code class="highlighter-rouge">"username:password"</code> if authentication should be required for access to the configurator.</p>
|
||
<h4>ALLOWED_NETWORKS (list)</h4>
|
||
<p>Limit access to the configurator by adding allowed IP addresses / networks to the list, e.g <code class="highlighter-rouge">ALLOWED_NETWORKS = ["192.168.0.0/24", "172.16.47.23"]</code></p>
|
||
<h4>BANNED_IPS (list)</h4>
|
||
<p>List of statically banned IP addresses, e.g. <code class="highlighter-rouge">BANNED_IPS = ["1.1.1.1", "2.2.2.2"]</code></p>
|
||
<h4>BANLIMIT (integer)</h4>
|
||
<p>Ban IPs after <code class="highlighter-rouge">n</code> failed login attempts. Restart the service to reset banning. The default of <code class="highlighter-rouge">0</code> disables this feature. <code class="highlighter-rouge">CREDENTIALS</code> has to be set for this to work.</p>
|
||
<h4>GIT (bool)</h4>
|
||
<p>Set this variable to <code class="highlighter-rouge">True</code> to enable Git integration. This feature requires <a href="https://gitpython.readthedocs.io">GitPython</a>
|
||
to be installed on the system that is running the configurator. For technical reasons this feature can not be enabled with the static settings file.</p>
|
||
<p><strong>Note regarding <code class="highlighter-rouge">ALLOWED_NETWORKS</code>, <code class="highlighter-rouge">BANNED_IPS</code> and <code class="highlighter-rouge">BANLIMIT</code></strong>:<br />
|
||
The way this is implemented works in the following order:</p>
|
||
<ol>
|
||
<li>(Only if <code class="highlighter-rouge">CREDENTIALS</code> is set) Check credentials
|
||
<ul>
|
||
<li>Failure: Retry <code class="highlighter-rouge">BANLIMIT</code> times, after that return error 420 (unless you try again without any authentication headers set, e.g. private tab of your browser)</li>
|
||
<li>Success: Continue</li>
|
||
</ul>
|
||
</li>
|
||
<li>Check if client IP address is in <code class="highlighter-rouge">BANNED_IPS</code>
|
||
<ul>
|
||
<li>Yes: Return error 420</li>
|
||
<li>No: Continue</li>
|
||
</ul>
|
||
</li>
|
||
<li>Check if client IP address is in <code class="highlighter-rouge">ALLOWED_NETWORKS</code>
|
||
<ul>
|
||
<li>No: Return error 420</li>
|
||
<li>Yes: Continue and display UI of configurator</li>
|
||
</ul>
|
||
</li>
|
||
</ol>
|
||
<h3><a class="title-link" name="embedding-into-home-assistant" href="#embedding-into-home-assistant"></a> Embedding into Home Assistant</h3>
|
||
<p>Home Assistant has the <a href="https://home-assistant.io/components/panel_iframe/">panel_iframe</a> component. With this it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration through the Home Assistant frontend.<br />
|
||
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://123.123.132.132:3218</span>
|
||
</code></pre>
|
||
</div>
|
||
<p class="note warning">
|
||
Be careful when setting up port forwarding to the configurator while embedding it into Home Assistant. If you don’t restrict access by requiring authentication and / or blocking based on client IP addresses, your configuration will be exposed to the internet!</p>
|
||
<h3><a class="title-link" name="daemonizing--keeping-the-configurator-running" href="#daemonizing--keeping-the-configurator-running"></a> Daemonizing / Keeping the configurator running</h3>
|
||
<p>Since the configurator script on its own is no service, you will have to take some extra steps to keep it running. Here are five options (for Linux), but there are more, depending on your usecase.</p>
|
||
<ol>
|
||
<li>Fork the process into the background with the command:<br />
|
||
<code class="highlighter-rouge">nohup sudo ./configurator.py &</code></li>
|
||
<li>If your system is using systemd (that’s usually what you’ll find on a Raspberry PI), there’s a <a href="https://github.com/danielperna84/hass-configurator/blob/master/hass-poc-configurator.systemd">template file</a> you can use and then apply the same process to integrate it as mentioned in the <a href="https://home-assistant.io/docs/autostart/systemd/">Home Assistant documentation</a>. If you use this method you have to set the <code class="highlighter-rouge">BASEPATH</code> variable according to your environment.</li>
|
||
<li>If you have <a href="http://supervisord.org/">supervisor</a> running on your system, <a href="https://github.com/danielperna84/hass-configurator/blob/master/hass-poc-configurator.supervisor">hass-poc-configurator.supervisor</a> would be an example configuration you could use to control the configurator.</li>
|
||
<li>A tool called <a href="https://tmux.github.io/">tmux</a>, which should be pre-installed with <a href="https://home-assistant.io/docs/hassbian/">HASSbian</a>.</li>
|
||
<li>A tool called <a href="http://ss64.com/bash/screen.html">screen</a> (alternative to tmux). If it’s not already installed on your system, you can do <code class="highlighter-rouge">sudo apt-get install screen</code> or <code class="highlighter-rouge">sudo yum install screen</code> to get it. When it’s installed, start a screen session by executing <code class="highlighter-rouge">screen</code>. Then navigate to your Home Assistant directory and start the configurator like described above. Put the screen session into the background by pressing <code class="highlighter-rouge">CTRL+A</code> and then <code class="highlighter-rouge">CTRL+D</code>. It is now safe to disconnect from your SSH session.
|
||
To resume the screen session, log in to your machine and execute <code class="highlighter-rouge">screen -r</code>.</li>
|
||
</ol>
|
||
<h3><a class="title-link" name="troubleshooting-issues-etc" href="#troubleshooting-issues-etc"></a> Troubleshooting, Issues etc.</h3>
|
||
<p>If you encounter difficulties setting up the configurator or stumble upon a possible bug, head over to the <a href="https://github.com/danielperna84/hass-configurator/issues">Issues</a> section of the configurator repository. Additionally there is a thread at the <a href="https://community.home-assistant.io/t/simplistic-configuration-ui/10175">Home Assistant Community</a> where common problems may have been discussed already. And if not, there are always friendly people around to help finding solutions.</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='/docs/installation/'>Installation </a>
|
||
<ul>
|
||
<li><a href='/docs/installation/virtualenv/'>Python Virtual Env </a></li>
|
||
<li><a href='/docs/installation/raspberry-pi-all-in-one/'>Raspberry Pi All-in-One </a></li>
|
||
<li><a href='/docs/installation/updating/'>Updating </a></li>
|
||
<li><a href='/docs/installation/troubleshooting/'>Troubleshooting </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/hassbian/'>Hassbian </a>
|
||
<ul>
|
||
<li><a href='/docs/hassbian/installation/'>Installation </a></li>
|
||
<li><a href='/docs/hassbian/customization/'>Customization </a></li>
|
||
<li><a href='/docs/hassbian/common-tasks/'>Common tasks </a></li>
|
||
<li><a href='/docs/hassbian/integrations/'>Integrations </a></li>
|
||
<li><a href='/docs/hassbian/upgrading/'>Upgrading </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/configuration/'>Configuration </a>
|
||
<ul>
|
||
<li><a href='/docs/configuration/yaml/'>YAML </a></li>
|
||
<li><a href='/docs/configuration/basic/'>Basic information </a></li>
|
||
<li><a href='/docs/configuration/devices/'>Setting up devices </a></li>
|
||
<li><a href='/docs/configuration/customizing-devices/'>Customizing devices and services </a></li>
|
||
<li><a href='/docs/configuration/troubleshooting/'>Troubleshooting </a></li>
|
||
<li><a href='/docs/configuration/securing/'>Security Check Points </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
Advanced Configuration
|
||
<ul>
|
||
<li><a href='/docs/configuration/remote/'>Remote access </a></li>
|
||
<li><a href='/docs/configuration/packages/'>Packages </a></li>
|
||
<li><a href='/docs/configuration/splitting_configuration/'>Splitting up the configuration </a></li>
|
||
<li><a href='/docs/configuration/secrets/'>Storing Secrets </a></li>
|
||
<li><a href='/docs/configuration/templating/'>Templating </a></li>
|
||
<li><a href='/docs/configuration/group_visibility/'>Group Visibility </a></li>
|
||
<li><a href='/docs/configuration/platform_options/'>Entity component platform options </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
Core objects
|
||
<ul>
|
||
<li><a href='/docs/configuration/events/'>Events </a></li>
|
||
<li><a href='/docs/configuration/state_object/'>State Objects </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/automation/'>Automation </a>
|
||
<ul>
|
||
<li><a href='/docs/automation/examples/'>Examples </a></li>
|
||
<li><a href='/docs/automation/trigger/'>Triggers </a></li>
|
||
<li><a href='/docs/automation/condition/'>Conditions </a></li>
|
||
<li><a href='/docs/automation/action/'>Actions </a></li>
|
||
<li><a href='/docs/automation/templating/'>Templates </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/frontend/'>Frontend </a>
|
||
<ul>
|
||
<li><a href='/docs/frontend/mobile/'>Android/iOS Homescreen </a></li>
|
||
<li><a href='/docs/frontend/webserver/'>Web server fingerprint </a></li>
|
||
<li><a href='/docs/frontend/browsers/'>Browser Compatibility List </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/backend/'>Backend </a>
|
||
<ul>
|
||
<li><a href='/docs/backend/database/'>Database </a></li>
|
||
<li><a href='/docs/backend/updater/'>Updater </a></li>
|
||
<li><a href='/developers/api/'>API </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/scripts/'>Scripts </a>
|
||
<ul>
|
||
<li><a href='/docs/scripts/service-calls/'>Service Calls </a></li>
|
||
<li><a href='/docs/scripts/conditions/'>Conditions </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/tools/'>Tools and Helpers </a>
|
||
<ul>
|
||
<li><a href='/docs/tools/dev-tools/'>Developer Tools </a></li>
|
||
<li><a href='/docs/tools/hass/'>hass </a></li>
|
||
<li><a href='/docs/tools/scripts/'>Scripts </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/z-wave/'>Z-Wave </a>
|
||
<ul>
|
||
<li><a href='/docs/z-wave/controllers/'>Controllers </a></li>
|
||
<li><a href='/docs/z-wave/settings/'>Modifying Settings </a></li>
|
||
<li><a href='/docs/z-wave/device-specific/'>Device Specific </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/mqtt/'>MQTT </a>
|
||
<ul>
|
||
<li><a href='/docs/mqtt/broker/'>Broker </a></li>
|
||
<li><a href='/docs/mqtt/certificate/'>Certificate </a></li>
|
||
<li><a href='/docs/mqtt/discovery/'>Discovery </a></li>
|
||
<li><a href='/docs/mqtt/service/'>Publish service </a></li>
|
||
<li><a href='/docs/mqtt/birth_will/'>Birth and last will messages </a></li>
|
||
<li><a href='/docs/mqtt/testing/'>Testing your setup </a></li>
|
||
<li><a href='/docs/mqtt/logging/'>Logging </a></li>
|
||
<li><a href='/docs/mqtt/processing_json/'>Processing JSON </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/ecosystem/ios/'>iOS </a>
|
||
<ul>
|
||
<li><a href='/docs/ecosystem/ios/notifications/basic/'>Basic notifications </a></li>
|
||
<ul>
|
||
<li><a href='/docs/ecosystem/ios/notifications/sounds/'>Sounds </a></li>
|
||
<li><a href='/docs/ecosystem/ios/notifications/architecture/'>Architecture </a></li>
|
||
<li><a href='/docs/ecosystem/ios/notifications/privacy_security_rate_limits/'>Privacy, rate limiting and security </a></li>
|
||
</ul>
|
||
<li>Advanced notifications</li>
|
||
<ul>
|
||
<li><a href='/docs/ecosystem/ios/notifications/attachments/'>Attachments </a></li>
|
||
<li><a href='/docs/ecosystem/ios/notifications/content_extensions/'>Dynamic content </a></li>
|
||
<li><a href='/docs/ecosystem/ios/notifications/actions/'>Actionable notifications </a></li>
|
||
<li><a href='/docs/ecosystem/ios/notifications/requesting_location_updates/'>Requesting location updates </a></li>
|
||
</ul>
|
||
<li><a href='/docs/ecosystem/ios/location/'>Location Tracking </a></li>
|
||
<li><a href='/docs/ecosystem/ios/integration/'>Integration with other apps </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/ecosystem/'>Ecosystem </a>
|
||
<ul>
|
||
<li>
|
||
<a href='/docs/autostart/'>Autostart </a>
|
||
<ul>
|
||
<li><a href='/docs/autostart/systemd/'>systemd (Linux) </a></li>
|
||
<li><a href='/docs/autostart/upstart/'>Upstart (Linux) </a></li>
|
||
<li><a href='/docs/autostart/init.d/'>init.d (Linux) </a></li>
|
||
<li><a href='/docs/autostart/macos/'>macOS </a></li>
|
||
<li><a href='/docs/autostart/synology/'>Synology NAS </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/ecosystem/appdaemon/'>AppDaemon </a>
|
||
<ul>
|
||
<li><a href='/docs/ecosystem/appdaemon/installation/'>Installation </a></li>
|
||
<li><a href='/docs/ecosystem/appdaemon/configuration/'>Configuration </a></li>
|
||
<li><a href='/docs/ecosystem/appdaemon/example_apps/'>Example Apps </a></li>
|
||
<li><a href='/docs/ecosystem/appdaemon/running/'>Running AppDaemon </a></li>
|
||
<li><a href='/docs/ecosystem/appdaemon/reboot/'>Starting AppDaemon at Reboot </a></li>
|
||
<li><a href='/docs/ecosystem/appdaemon/operation/'>Operation </a></li>
|
||
<li><a href='/docs/ecosystem/appdaemon/windows/'>AppDaemon on Windows </a></li>
|
||
<li><a href='/docs/ecosystem/appdaemon/updating/'>Updating AppDaemon </a></li>
|
||
<li><a href='/docs/ecosystem/appdaemon/tutorial/'>AppDaemon Tutorial </a></li>
|
||
<li><a href='/docs/ecosystem/appdaemon/api/'>AppDaemon API Reference </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/ecosystem/hadashboard/'>HADashboard </a>
|
||
<ul>
|
||
<li><a href='/docs/ecosystem/hadashboard/installation/'>Installation </a></li>
|
||
<li><a href='/docs/ecosystem/hadashboard/dash_config/'>Dashboard Configuration </a></li>
|
||
<li><a href='/docs/ecosystem/hadashboard/hapush/'>HAPush </a></li>
|
||
<li><a href='/docs/ecosystem/hadashboard/reboot/'>Reboot </a></li>
|
||
<li><a href='/docs/ecosystem/hadashboard/updating/'>Updating HADashboard </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/docs/ecosystem/notebooks/'>Notebooks </a>
|
||
<ul>
|
||
<li><a href='/docs/ecosystem/notebooks/'>Introduction </a></li>
|
||
<li><a href='/docs/ecosystem/notebooks/installation/'>Installation </a></li>
|
||
<li><a href='/docs/ecosystem/notebooks/graph/'>Graph </a></li>
|
||
<li><a href='/docs/ecosystem/notebooks/api/'>Home Assistant API </a></li>
|
||
<li><a href='/docs/ecosystem/notebooks/database/'>Databsase </a></li>
|
||
<li><a href='/docs/ecosystem/notebooks/stats/'>Statistics </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
Remote access
|
||
<ul>
|
||
<li><a href='/docs/ecosystem/apache/'>Apache </a></li>
|
||
<li><a href='/docs/ecosystem/nginx/'>NGINX </a></li>
|
||
<li><a href='/docs/ecosystem/tor/'>Tor Onion Service </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
Certificates
|
||
<ul>
|
||
<li><a href='/docs/ecosystem/certificates/tls_self_signed_certificate/'>Self-signed certificate </a></li>
|
||
<li><a href='/docs/ecosystem/certificates/tls_domain_certificate/'>Certificate domain owners </a></li>
|
||
<li><a href='/docs/ecosystem/certificates/lets_encrypt/'>Let's Encrypt (detailed) </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
Backup
|
||
<ul>
|
||
<li><a href='/docs/ecosystem/backup/backup_github/'>Backup to GitHub </a></li>
|
||
<li><a href='/docs/ecosystem/backup/backup_dropbox/'>Backup to Dropbox </a></li>
|
||
<li><a href='/docs/ecosystem/backup/backup_usb/'>Backup to USB device </a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href='/docs/ecosystem/scenegen/'>scenegen </a></li>
|
||
<li><a href='/docs/ecosystem/synology/'>Synology </a></li>
|
||
<li><a class='active' href='/docs/ecosystem/hass-configurator/'>HASS Configurator </a></li>
|
||
</ul>
|
||
</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>
|
||
<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>
|
||
</body>
|
||
</html>
|