Skip to content

EspHome-Editor is a tool designed to streamline the creation and management of YAML configurations for EspHome. If you're working with devices that have many similar components or deploying multiple similar devices, this tool is here to save you time and effort

License

Notifications You must be signed in to change notification settings

Morcatko/EspHome-Editor

Repository files navigation

Editor for ESPHome

ESPHome-Editor is a self-hosted, offline code editor built on top of ESPHome. It's designed to simplify the configuration of ESPHome devices by streamlining the process of writing and managing repetitive sections of your configuration YAML files.

This tool generates ESPHome YAML configurations through the following steps:

  • Converts all .eta files (etajs template) to YAML.
  • Combines all .yaml files into a final ESPHome YAML configuration.
  • Uploads configuration to your ESPHome instance
  • Compiles & OTA updates our device

See Use Cases for more details.

Quick Start

Editor for ESPHome works as

If you only want to see how it works then run docker run -d -p 8080:3000 morcatko/esphome-editor. It will run Editor on port 8080 with some sample devices

Otherwise continue with following steps:

  1. Prepare a folder to store your Editor device configurations (e.g., /home/esphome-editor/devices).
# docker-compose.yaml
name: editor-for-esphome
services:
  editor-for-esphome:
    image: morcatko/esphome-editor:latest
    container_name: esphome-for-esphome
    environment:
      - ESPHOME_URL=__ESPHOME_URL__                               # e.g., ESPHOME_URL=http://192.168.0.99:6052
    ports:
      - __EXTERNAL_PORT__:3000                                    # e.g., 8080:3000
    volumes:
      - __path_to_editor_config__:/app/work-folder/devices        # e.g., /home/editor/devices:/app/work-folder/devices (!!! Not a path to ESPHome config files !!!)
  1. Run the command:
docker compose up -d

Limitations

Since this project is in an early stage, it has limited functionality and specific requirements:

  • The ESPHome instance must be accessible without authentication (i.e., Home Assistant add-on is not supported).
  • The Web UI does not support local file management.
  • ESPHome devices cannot be created directly from the Editor.

See Documentation for more info

Roadmap (unordered)

  • Tabs/multiple editors
  • File management via Web UI
  • Syntax/error highlighting
  • YAML Patches

About

EspHome-Editor is a tool designed to streamline the creation and management of YAML configurations for EspHome. If you're working with devices that have many similar components or deploying multiple similar devices, this tool is here to save you time and effort

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages