Skip to main content

The React toolkit for Home Assistant UIs

A headless React library providing hooks for Home Assistant entities, services, and real-time state. Build custom dashboards and interfaces without the hassle of WebSockets or HASS service calls.

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.

Ready to build?

Start creating custom Home Assistant interfaces today