Piotras Smart Button
A high-performance button card for Home Assistant ā Most cards go silent after calling a service. This one tells you it worked.
Features
- Visual Editor ā full GUI with tabs: General, Size, Background, Icon, Text, Layout, Slider & Power, Filters, Actions, Service. No manual YAML needed.
- 9-Grid Layout System ā place Icon, Name, and State badge independently across a 3Ć3 matrix.
- Adaptive Auto-Sliders ā smart detection of Brightness, Color Temp, Volume, Cover Position, Fan Speed. Zero configuration required.
- Dynamic Backgrounds ā solid color, 2/3-color gradients, or full-resolution background images.
- Smart Filter Engine ā CSS filters (brightness, saturation, grayscale) applied automatically per ON/OFF state.
- Service Countdown ā animated SVG circle or progress bar after
call-service, with optional card blockade. - Power Monitoring ā real-time consumption bar with configurable pulse warning threshold.
- Font Styles ā 4 text presets for Name and State labels.
- Advanced Action Engine ā Tap, Double-Tap, and Hold, optimized for both mobile and desktop.
- Visual Editor Full GUI ā General, Size, Background, Icon, Text, Layout, Slider & Power, Filters, Actions, Service tabs. No YAML required.
Navigation Mode
Light & Auto-Dimmer Slider
Socket & Power Monitoring
Script Button
Media Player
Installation
Method 1: Via HACS (Recommended)
- Click the button below to automatically add the repository to your HACS:
- Click Add in the pop-up window.
- Once the repository page opens, click Download.
- After downloading, do a Hard reload of your browser.
Method 2: Manual Installation
- Download this repository as a ZIP file and extract it.
- Inside your Home Assistant
config/www/directory, create a new folder namedpiotras-smart-button. - Copy the compiled files (from
dist/folder) intoconfig/www/piotras-smart-button/. - Go to Settings ā Dashboards ā Resources.
- Click Add Resource and enter:
/local/piotras-smart-button/piotras-smart-button-loader.js?v=1.0.0
- Resource type: JavaScript Module
- Hard reload your browser (
Ctrl+Shift+R).









