HASS Configurator


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.

Feature list

  • Web-based editor to modify your files with syntax highlighting.
  • Upload and download files.
  • Stage and commit changes in Git repositories, create and switch between branches, push to remotes.
  • Lists of available triggers, events, entities, conditions and services. The selected element gets inserted into the editor at the last cursor position.
  • 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.

Add-on Configuration

{
  "username": "admin",
  "password": "secret",
  "certfile": "fullchain.pem",
  "keyfile": "privkey.pem",
  "ssl": false,
  "allowed_networks": ["192.168.0.0/16"],
  "banned_ips": ["8.8.8.8"],
  "banlimit": 0,
  "ignore_pattern": ["__pycache__"],
  "dirsfirst": false,
  "sesame": "somesecretnobodycanguess"
}
  • username (Required): Set a username to access your configuration is protected.
  • password (Required): Set a password for access.
  • ssl (Optional): Enable or Disable SSL/TLS for the editor.
  • allowed_networks (Optional): Limit access to the configurator by adding allowed IP addresses/networks to the list.
  • banned_ips (Optional): List of statically banned IP addresses.
  • banlimit (Optional): Ban access from IPs after banlimit failed login attempts. The default value 0 disables this feature. Restart the add-on to clear the list of banned IP addresses.
  • ignore_pattern (Optional): Files and folders to ignore in the UI.
  • dirsfirst (Optional): List directories before files in the file browser.
  • sesame (Optional): 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 boom! Open Sesame! You can use the Network status menu to revoke IP addresses for which access has been granted.

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!

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