Skip to content

API Reference

The haclient package re-exports its public API at the top level. The table below maps every name in haclient.__all__ to the reference page where it is documented.

Public exports

Name Kind Reference
HAClient Async client facade HAClient (facade)
SyncHAClient Blocking wrapper Sync Client
ConnectionConfig Configuration Configuration
ServicePolicy Configuration Configuration
Entity Entity base class Entity
Connection Core Connection
EventBus Core Event Bus
ServiceCaller Core Service Caller
StateStore Core State Store
EntityRegistry Core Entity Registry
EntityFactory Core Entity Factory
DomainAccessor Plugins Plugins
DomainRegistry Plugins Plugins
DomainSpec Plugins Plugins
register_domain Plugins Plugins
Clock Port protocol Ports
RestPort Port protocol Ports
WebSocketPort Port protocol Ports
HAClientError Exception Exceptions
AuthenticationError Exception Exceptions
CommandError Exception Exceptions
ConnectionClosedError Exception Exceptions
EntityNotFoundError Exception Exceptions
HTTPError Exception Exceptions
TimeoutError Exception Exceptions

Package

haclient

Async-first, high-level Home Assistant client for Python.

The two main entry points are:

  • HAClient — the async client.
  • SyncHAClient — a blocking wrapper suitable for scripts / REPL use.

Custom domains can be added by registering a DomainSpec via register_domain (or by exposing an entry point under haclient.domains).