esphome / esphome/feature-requests

Blueprints/Template devices in the Dashboard

Open
#2,898 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
450
Forks
29
PR merge metrics
No merged PRs in 30d

Description

**Describe the problem you have/What new integration you would like**
Seeing how both Home Assistant and ESPHome has evolved to be more and more user friendly, it would be great with a feature to allow users to create pre-configured templates for popular devices (e.g., Shelly devices), with fields for user-editable information such as device name and friendly name etc.

**Please describe your use case for this integration and alternatives you've tried:**
The user would be able to import yaml config files "as template/blueprint" then when creating a new ESPHome device, you can create it from the blueprint. The user would then need to fill in the template fields from the blueprint. Say: device name, friendly name etc. Then simply press install and ESPHome would compile the firmware for their device.
This would require some kind of linting of the template/blueprint files. So that a standard for !secret wifi_password etc is used.

This would simply the user experience for less-experienced users since they would not be overwhelmed by the "yaml code" as they would only see a few UI fields they need to enter, then hit install. Similar to Automation blueprints or script blueprints in Home Assistant.
This could then integrate sites like: [devices.esphome.io](https://devices.esphome.io/devices/Shelly-Plug-S).

This could also improve the creation/management of users who have a lot of devices of the same type (Example Shelly Plug S), they could create/tweak their template then create multiple devices from that template. Then if they device all those devices also need a text_sensor that displays x info they add it to the template and can simply press update on the devices inheriting from that template.
Also vendors selling pre-installed ESPHome devices could provide a template/blueprint to their buyers.

**Additional context**
A UI example of this i feel is the 3D Printer spool management software [Spoolman](https://github.com/Donkie/Spoolman).
1. You create your Vendors.
2. Then using your created vendors you create Filaments.
3. Then using your created filaments you create your actual spools.
So when buying new spools of filament all the settings(empty spool weight, density, price, color etc) is already done. You can very simply and fast add 10 spools of the same brand/type of filament, and any change in the settings for the Filament is reflected in your spools.

Contributor guide

No contributing guide indexed for this repository

Research direction

No repository files, tests, or entry points are named. Start by reviewing ESPHome YAML configuration and the Home Assistant automation and script blueprint models referenced in the request, then compare the devices.esphome.io use case; done would require an agreed blueprint format, editable fields, validation, device creation, and update behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
yaml
Domain
embedded-iot, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.