
* Converting HASS Configurator to the new configuration template format. * Adding in sesame * Added back in the markup from previous descriptions... * Add missing default and clean up description to match. * Fixes from comments * Update source/_addons/configurator.markdown Co-Authored-By: tmcarr <tmcarr89@gmail.com> * Update source/_addons/configurator.markdown Co-Authored-By: tmcarr <tmcarr89@gmail.com>
5.2 KiB
layout, title, description, date, sidebar, comments, sharing, footer, featured, og_image
layout | title | description | date | sidebar | comments | sharing | footer | featured | og_image |
---|---|---|---|---|---|---|---|---|---|
page | HASS Configurator | Browser-based configuration file editor for Home Assistant. | 2018-07-16 14:00 | true | false | true | true | true | /images/hassio/screenshots/addon-hass-configurator.png |
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 3218
of the host Hass.io is running on.
More information and a standalone version for regular Home Assistant installations can be found in the GitHub repository.
Screenshot of the HASS Configurator.
{% linkable_title Feature list %}
- Web-based editor to modify your files with syntax highlighting and YAML linting.
- Upload and download files.
- Stage, stash and commit changes in Git repositories, create and switch between branches, push to remotes, view diffs.
- Lists with available entities, triggers, events, conditions and services.
- Restart Home Assistant directly with the click of a button. Reloading groups, automations, etc. can be done as well. An API password is required.
- SSL/TLS support.
- Optional authentication and IP filtering for added security.
- Direct links to Home Assistant documentation and icons.
- Execute shell commands within the add-on container.
- Editor settings are saved in your browser.
- And much more...
{% linkable_title Add-on Configuration %}
{
"username": "admin",
"password": "secret",
"ssl": false,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem",
"verify_hostname": false,
"allowed_networks": [
"192.168.0.0/16",
"172.30.0.0/16"
],
"banned_ips": [
"8.8.8.8"
],
"banlimit": 0,
"ignore_pattern": [
"__pycache__"
],
"dirsfirst": false,
"enforce_basepath": false,
"notify_service": "persistent_notification.create"
}
{% configuration %}
username:
description: Set a username so that access your configuration is protected.
required: true
type: string
password:
description: Set a password for access.
required: true
type: string
ssl:
description: Enable or Disable SSL/TLS for the editor.
required: true
type: boolean
default: false
certfile:
description: Set the path the your SSL certificate if the ssl-option is set to true
.
required: true
type: string
keyfile:
description: Set the path the your SSL private key if the ssl-option is set to true
.
required: true
type: string
allowed_networks:
description: Limit access to the configurator by adding allowed IP addresses/networks to the list.
required: true
type: string
banned_ips:
description: List of statically banned IP addresses.
required: true
type: string
banlimit:
description: Ban access from IPs after banlimit
failed login attempts, setting the value to 0 disables this feature. Restart the add-on to clear the list of banned IP addresses.
required: true
type: integer
default: 0
ignore_pattern:
description: Regex of files and folders to ignore in the UI.
required: true
type: string
dirsfirst:
description: List directories before files in the file browser.
required: true
type: boolean
default: false
enforce_basepath:
description: If set to true
, access is limited to files within the /config
directory.
required: true
type: boolean
default: false
notify_service:
description: Specify a custom notify-service to be used to push notifications.
required: true
type: string
loglevel:
description: The log level the configurator should run with. Valid values are debug
, info
, warning
, error
, critical
.
required: false
type: string
default: info
sesame:
description: Secret token to dynamically allow access from the IP the request originates from. Open your bookmark https://hassio.yourdomain.com:8123/somesecretnobodycanguess while allowed_networks
is set to []
and your IP will get whitelisted. You can use the Network status menu to revoke IP addresses for which access has been granted. Regular authentication is still required.
required: false
type: string
sesame_totp_secret:
description: Like the sesame
option, but instead as Base32 encoded secret string must be provided. This string then can be added to a TOTP App like Google Authenticator. This way you get a 6-digit sesame
that changes every 30 seconds.
required: false
type: string
{% endconfiguration %}
Be careful when setting up port forwarding to the configurator while embedding 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!
{% linkable_title Embedding into Home Assistant %}
Using the Home Assistant component panel_iframe it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration from within the Home Assistant frontend.
An example configuration would look like this:
panel_iframe:
configurator:
title: Configurator
icon: mdi:wrench
url: http://hassio.local:3218