Skip to content

A powerful visual editor for Home Assistant automations and scripts.

Notifications You must be signed in to change notification settings

saihgupr/HomeAssistantEditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home Assistant Editor

A powerful visual editor for Home Assistant automations and scripts. This add-on provides a cleaner, more intuitive interface for creating and editing automations, with built-in version history that allows you to review changes and restore previous versions when needed.

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

Features

  • Three-Column Layout - Sidebar navigation, items list, and editor workspace side by side
  • Visual Action Blocks - Color-coded, expandable blocks for triggers, conditions, and actions
  • Version History & Restore - Browse "commits" and restore previous versions via Version Control integration
  • Advanced Editing - Inline editing with searchable pickers and instant Visual/YAML toggles
  • Smart Folders & Hashtags - Organize and filter your items using custom folders and tags
  • Trace Replay Mode - Step through past runs to debug logic and inspect condition failures
  • Professional YAML Support - Handles !include patterns and orphan entity cleanup automatically
  • Instant Sync - Changes are saved directly to your YAML and auto-reloaded in Home Assistant

Installation

There are two ways to install Home Assistant Editor: as a Home Assistant add-on or as a standalone Docker container.

1. Home Assistant Add-on (Recommended for most users)

  1. Add Repository: Click the button below to add the repository to your Home Assistant instance:

    Open your Home Assistant instance and show the add-on store

    Or manually add it:

    • Navigate to SettingsAdd-onsAdd-on Store
    • Click the three dots (⋮) in the top right corner and select Repositories
    • Add the repository URL: https://github.com/saihgupr/ha-addons
  2. Install the Add-on: Search for "Home Assistant Editor" in the store and click Install.

  3. Start: Start the add-on and click Open Web UI.

2. Standalone Docker Installation

For Docker users who aren't using the Home Assistant add-on, you have three deployment options:

Option A: Docker Compose (recommended):

  1. Download the compose.yaml file:

    curl -o compose.yaml https://github.com/saihgupr/HomeAssistantEditor/raw/main/compose.yaml
  2. Edit the file to set your paths:

    nano compose.yaml
    # Update the volume path: /path/to/your/ha/config
  3. Start the service:

    docker compose up -d

Option B: Docker Run (pre-built image):

docker run -d \
  --name ha-editor \
  -v /path/to/your/ha/config:/config \
  -e HA_URL="http://your-home-assistant-ip:8123" \
  -e SUPERVISOR_TOKEN="your_long_lived_access_token" \
  -p 54002:54002 \
  ghcr.io/saihgupr/homeassistant-editor:latest

Tip

Use the IP address (e.g. 192.168.1.100) instead of homeassistant.local for HA_URL and VC_URL to ensure reliable communication between containers.

Option C: Build locally:

git clone https://github.com/saihgupr/HomeAssistantEditor.git
cd HomeAssistantEditor/homeassistant-editor
docker build -t ha-editor .

docker run -d \
  --name ha-editor \
  -v /path/to/your/ha/config:/config \
  -e HA_URL="http://your-home-assistant-ip:8123" \
  -e SUPERVISOR_TOKEN="your_long_lived_access_token" \
  -p 54002:54002 \
  ha-editor

Local Development

# Clone the repository
git clone https://github.com/saihgupr/HomeAssistantEditor.git
cd HomeAssistantEditor/homeassistant-editor

# Install dependencies
npm install

# Start the server (uses ./test-config as the config path)
CONFIG_PATH=./test-config npm run dev

Configuration

Environment Variables

When running in Docker mode, the application can be configured using the following environment variables:

Variable Description Default
HA_URL The external URL of your Home Assistant instance null
SUPERVISOR_TOKEN A Long Lived Access Token created in your HA profile null
CONFIG_PATH The internal path to the HA config directory /config
VC_URL The URL of your Home Assistant Version Control instance null
PORT The port the server listens on 54002

Note

For standalone usage, SUPERVISOR_TOKEN and HA_URL are required for the editor to communicate with Home Assistant. VC_URL is required to enable Version History features.

Usage

  1. Select a group - Choose between Automations or Scripts in the left sidebar
  2. Select an item - Click any automation or script to load it in the editor
  3. Edit visually - Modify triggers, conditions, and actions using the visual blocks
  4. Toggle to YAML - Click the Visual/YAML toggle to see or edit raw YAML
  5. Save - Click Save to write changes and reload in Home Assistant

Context Menu Options

Right-click on items or blocks to access powerful context-sensitive actions:

  • On Automations/Scripts: Quickly Enable/Disable, Run, Duplicate, or Delete without opening the item.
  • On Visual Blocks: Right-click anywhere on a block to Duplicate, Delete, Enable/Disable, Show YAML, or Run individual actions instantly.

Keyboard Shortcuts

Shortcut Action
Cmd/Ctrl + S Save current item
Escape Close modal dialogs
Right Click Context menu (Items & Blocks)

Version Control & History

The Home Assistant Editor includes deep integration with the Home Assistant Version Control addon.

Important

To enable Version History features, you must have the Home Assistant Version Control addon installed and running on your instance.

Contributing

Found a bug or have a feature idea? Please open an issue.

Want to contribute code? Pull requests are welcome! We use the main branch for stable releases and the develop branch for active development.

Support

Home Assistant Editor is open-source and free. If you find it useful, consider giving it a star ⭐ or making a donation to support development.

About

A powerful visual editor for Home Assistant automations and scripts.

Topics

Resources

Stars

Watchers

Forks

Sponsor this project

Packages