You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<strong>▶️ Click to watch the latest feature walkthrough</strong>
13
15
</div>
14
16
17
+
**No more hand-coding ESPHome display lambdas! 🎉**
15
18
19
+
---
20
+
21
+
22
+
---
16
23
17
-
**No more hand-coding ESPHome display lambdas! 🎉**
18
24
19
25
Building a custom smart display for Home Assistant? Frustrated with manually writing C++ lambdas and guessing coordinates?
20
26
21
27
Design ESPHome displays right inside Home Assistant. This HACS integration offers a drag-and-drop editor with direct access to your sensor library via an intuitive entity picker.
22
28
23
29
It enables you to build premium, touch-interactive dashboards for various ESP32-based devices (like the Seeed reTerminal, TRMNL, standard touch screens, and more) without writing a single line of display code.
24
30
25
-
26
31
## What Does It Do?
27
32
28
33
-**Visual drag-and-drop editor** - Design layouts in your browser, see your actual HA entities update live on the canvas
34
+
<palign="center"><imgsrc="screenshots/draganddrop.gif"width="800"alt="Drag & Drop Editor"></p>
29
35
-**Multiple pages** - Navigate with hardware buttons, set different refresh rates per page
30
36
-**Auto-generates ESPHome config** - Clean, readable YAML that you can paste into your existing ESPHome setup
31
37
-**Round-trip editing** - Import existing ESPHome configs back into the editor
@@ -72,7 +78,8 @@ Then create a new ESPHome device:
72
78
3. Drag widgets onto the canvas
73
79
4. Add your sensors, weather entities, icons, shapes
74
80
5. Create multiple pages with different refresh rates
75
-
6. Click **"Generate Snippet"**
81
+
6.**Live Preview**: Your YAML is generated on the fly as you design! Just look at the YAML snippet box.
5.**Upload**: Take the generated `.bin` file and upload it via the Home Assistant ESPHome dashboard (Install → Manual Download).
245
+
Upload: Take the generated .bin file and upload it via the Home Assistant ESPHome dashboard (Install → Manual Download).
246
+
247
+
248
+
## Video Overview (Legacy)
249
+
250
+
Looking for a deep dive? While some UI elements have evolved, you can watch an **[explanation video of an older version here](https://youtu.be/bzCbiUypN_4)** to understand the core concepts.
278
251
279
252
## License
280
253
281
254
Made with love ❤️ - free and Open Source under the GPL 3.0 license. Share the love!
282
255
256
+
<div align="center">
257
+
258
+
☕ **If you find this project useful, consider supporting its development!**
1.**Legacy Devices (E-Ink):** Defined in `devices.js`. Work 100% Offline.
5
+
2.**New Devices (LCD/YAML):** Defined in `frontend/hardware/*.yaml`. **Online Only**.
6
+
7
+
## adding a New Device (LCD)
8
+
9
+
### 1. Create YAML Package
10
+
Create a new file in `frontend/hardware/my-device.yaml`.
11
+
This should be a standard ESPHome package file.
12
+
13
+
### 2. Register Device
14
+
Edit `frontend/js/io/devices.js` and add an entry:
15
+
16
+
```javascript
17
+
my_device_key: {
18
+
name:"My Device Name",
19
+
isPackageBased:true,
20
+
hardwarePackage:"hardware/my-device.yaml", // URL path relative to index.html
21
+
features: { psram:true, ... }
22
+
},
23
+
```
24
+
25
+
### 3. Verify
26
+
***Locally (`file://`):** You will see a warning message in the YAML box ("Only available when deployed..."). This confirms the app is trying to load your file.
27
+
***Online (Home Assistant):** The full YAML including your package will be generated.
28
+
29
+
## Why Online Only?
30
+
Browsers block access to local files (`file://`) for security. To load a YAML file dynamically, it must be served by a web server (like Home Assistant or a local Python server). We chose this trade-off to keep the development workflow simple (no build scripts required).
0 commit comments