Skip to content

TheWhiteWolf1985/ESPHomeGuiEasy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

143 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

esphomeGuieasy

License: AGPL v3 Non-Commercial Platform: PyQt6 Status: In Development

Donate

If this project helped you, you can support the development via PayPal donation!


πŸ“Œ Full changelog available here


πŸ“ Description

ESPHomeGUIeasy is a standalone desktop application written in Python with a modern PyQt6 interface, designed to simplify how you create, configure, and deploy firmware for ESPHome-compatible devices (ESP32, ESP8266, etc.).

It provides a full visual workflow β€” from device configuration to firmware flashing β€” with no need to write YAML manually (but you can if you want to).

Whether you're a beginner in home automation or a power user managing multiple devices, ESPHomeGUIeasy makes the process easier, faster, and more organized.


πŸ’‘ Key Features

  • 🧱 Visual β€œblock-style” editor
    Drag & drop preconfigured sensor/action blocks β€” no YAML syntax needed

  • ✍️ Live YAML preview & editing
    The interface updates YAML as you go β€” and you can still tweak it manually

  • πŸ–₯️ Cross-platform UI
    Clean and responsive PyQt6-based GUI, available in multiple languages (EN, IT, ES, DE)

  • πŸ“„ Project Manager (since v1.4.0)
    Organize projects by category with metadata, changelogs, and quick actions

  • πŸ”Œ Integrated Flashing
    Supports USB and OTA uploads with built-in log viewer

  • 🧰 Console with build logs
    Real-time output while building and flashing firmware

  • πŸ“ Local project folder & YAML structure
    Compatible with ESPHome CLI structure

  • πŸ’Ύ Works out of the box
    No Python installation or venv required β€” ships with Python embedded


πŸ“š Technical Documentation

  • \ref boards "πŸ“¦ Supported Boards"
  • \ref modules_schema "🧱 Modules Schema"
  • \ref sensors "🌑 Sensor Definitions"

πŸ’Ύ Installation

πŸ”Ή Option 1: Windows Installer

  1. Download the .exe file from the Releases
  2. Run the installer
  3. Follow the wizard to complete installation
  4. On first launch:
    • You will be prompted to select a language
    • A config database will be created at:
      %LOCALAPPDATA%\ESPHomeGUIeasy\user_config.db
    • Logs will be saved to:
      %LOCALAPPDATA%\ESPHomeGUIeasy\esphomeguieasy_log.txt

⚠️ Note: SmartScreen or antivirus may falsely flag the installer. Click "More info" > "Run anyway".


πŸ”Ή Option 2: macOS

  1. Download the .tar.gz file from the Releases
  2. Open the downloaded .tar.gz file and drag ESPHomeGUIeasy into /Applications.
  3. On first launch:
    • If you see "App is from unidentified developer", right-click the app and select "Open".
    • Accept language selection prompt.

πŸ” If serial ports do not appear: Grant Terminal and App full disk and USB access via System Settings > Privacy & Security


πŸ”Ή Option 3: Linux

  1. Download the .tar.gz from Releases
  2. Extract the archive and run the application:
    tar -xzf ESPHomeGUIeasy.tar.gz
    ./ESPHomeGUIeasy/ESPHomeGUIeasy.sh
    

πŸ” Grant serial port permissions:

sudo usermod -aG dialout $(whoami)
reboot

πŸ›  Dependencies like Python are bundled. You don’t need to install them separately.


πŸ”Ή Option 4: Running from source (for advanced or hybrid users)

1. Prerequisites

  • Python 3.10 or higher
  • ESPHome installed globally:
    pip install esphome

2. Clone the repository

git clone https://github.com/TheWhiteWolf1985/ESPHomeGuiEasy.git
cd ESPHomeGuiEasy

3. Create a virtual environment

python -m venv venv
# Activate:
venv\Scripts\activate       # On Windows
source venv/bin/activate     # On macOS/Linux

4. Install dependencies

pip install -r requirements.txt

5. Run the app

python main.py

πŸ–Ό Screenshots

🏠 Main Interface

Main Interface

🧱 Sensor Configuration (Bricks)

Sensor Configuration

βš™οΈ Compilation and Upload

Compilation and Upload

πŸ”§ Settings Panel

Settings


🧰 Dependencies (bundled in embedded build)

  • PyQt6 β€” GUI interface
  • ruamel.yaml β€” YAML support
  • pyserial β€” serial communication

πŸ›  Troubleshooting

  • The program doesn't start

    • Extract all files before running
    • Check antivirus or run from terminal:
      ./ESPHomeGUIeasy > log.txt 2>&1
  • ESPHome not found

    • Make sure it's in your PATH, or install it:
      pip install esphome
  • Serial port errors on Linux/macOS

    sudo usermod -aG dialout $(whoami)
    reboot

πŸ“ Project Structure

core/        # YAML handling, flashing, logging
config/      # JSON definitions: boards, sensors, modules
docs/        # Doxygen documentation
gui/         # GUI interface (PyQt6)
assets/      # Icons and UI graphics
main.py      # Entry point for the app

πŸ—‚οΈ User Configuration & Logs

All user data is stored in:

  • Windows: %LOCALAPPDATA%\ESPHomeGUIeasy
  • macOS/Linux: ~/.config/ESPHomeGUIeasy or $XDG_CONFIG_HOME/ESPHomeGUIeasy

Files:

  • user_config.db β€” language and startup preferences
  • esphomeguieasy_log.txt β€” crash and debug log

You can safely delete this folder to reset the app.


πŸ“œ License

AGPL v3 with additional terms – see LICENSE.txt

⚠️ This project is released for personal, educational, and non-commercial use only.
Commercial use is strictly prohibited without prior written permission from the author.


🀝 Contributing

Contributions are welcome via pull request or issue.
Please report bugs in the Issues section with:

  • OS and version
  • Python version
  • Steps to reproduce the problem

About

Develop repository for ESPHomeGUIEasy

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors