Build better interfaces
Everything you need to create custom Home Assistant dashboards
Flexible API
Choose render props for full control or hooks for direct access. Both patterns work seamlessly.
Lightweight & Performant
Built for speed and efficiency. Smart subscription management means you can build complex dashboards without worrying about performance.
Headless Design
Completely unstyled components. Build exactly the interface you want with full design control.
Real-time Updates
Automatic WebSocket connection management. Entity states update without having to manage polling.
Built-in State Management
No Redux or Context needed. Automatic state synchronization and WebSocket management out of the box.
Simple Service Calls
Clean API for turning on lights, calling scripts, and triggering any Home Assistant service.
// Render props
<Light entityId="light.floor_lamp">
{({ isOn, toggle }) => (
<button onClick={toggle}>
{isOn ? 'ON' : 'OFF'}
</button>
)}
</Light>
// Or hooks
const light = useLight('light.floor_lamp')
<button onClick={light.toggle}>
{light.isOn ? 'ON' : 'OFF'}
</button>Choose your style
Use render props for full control or hooks for direct access
Component Library
Light, Switch, MediaPlayer, Climate, and more built-in components.
Fully Typed
Complete type definitions for all entities and their properties.
Auth Just Works
OAuth 2.0 and long-lived token support with auto-detection.