-
Notifications
You must be signed in to change notification settings - Fork 1
Advanced Features
aspenrt78 edited this page Jul 29, 2026
·
4 revisions
Use Theme above the live preview to choose which appearance controls remain global across a button's ON and OFF states. You can save the selected controls as a named theme and reuse them in later designs.

Generate button configurations using natural language descriptions.
- Get a free API key from Google AI Studio
- Click Magic Build in Button Builder
- Enter your API key (stored locally in your browser)
Describe your button in plain English:
- "A glowing cyan button for my bedroom fan that pulses when on"
- "Minimal dark button for garage door with large icon"
- "Glassmorphism style media player with album art"
Use any Google Font:
- Visit fonts.google.com
- Select a font → Get embed code → Copy the URL
- In Typography section:
-
Font Name: Exact font name (e.g.,
Orbitron) - Google Fonts URL: The embed URL
-
Font Name: Exact font name (e.g.,
Use JavaScript templates for dynamic values:
[[[ return entity.state === 'on' ? 'Active' : 'Inactive' ]]][[[ return entity.attributes.temperature + '°C' ]]][[[ return entity.state === 'on' ? 'mdi:lightbulb-on' : 'mdi:lightbulb-off' ]]]Define reusable values for templates:
| Variable | Value |
|---|---|
my_color |
#ff5500 |
threshold |
50 |
Use in templates:
[[[ return variables.my_color ]]]Create conditional styling based on entity state:
- Add a State Style rule
- Set Operator: equals, not_equals, above, below, regex
- Set Value: The state to match
- Configure styling for that state
| Operator | Description | Example |
|---|---|---|
| equals | Exact match |
on, playing
|
| not_equals | Does not match | != off |
| above | Greater than (numeric) | > 50 |
| below | Less than (numeric) | < 20 |
| regex | Pattern match | play.* |
| template | JavaScript condition | [[[ return ... ]]] |
Use a different entity to trigger state changes than the main entity:
Useful for:
- Buttons that control one entity but show state of another
- Multi-entity controls
Add custom CSS that isn't available in the UI:
card:
- background: linear-gradient(45deg, red, blue)
- transform: skewX(-5deg)
icon:
- filter: drop-shadow(0 0 10px gold)Import existing button-card configurations:
- Click Import in header
- Paste your existing YAML
- Button Builder parses and loads the settings
- Modify as needed in the visual editor
Getting Started
Button Builder
Help