esphome / esphome/feature-requests
Blueprints/Template devices in the Dashboard
- 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