Home AssistantHome AssistantContributors
On this page

An integration connects Home Assistant to a device, a service, or an idea. It lives in its own folder, describes itself in a manifest, sets itself up from a config entry, and hands its data to Home Assistant as entities.

This part of the site walks through all of it, task by task. It is written for people who write Python. You do not need to read it front to back: start with the tutorial, and come back for the rest when your integration needs it.

Tip

Want to add support for a new device or service? Read how an integration fits in, then build one in the tutorial. Check first whether it belongs in core: the project recommends publishing a new integration in the Marketplace first, and new integrations in core need to reach at least the Bronze tier of the quality scale.

Getting started

Setup and configuration

Data and updates

Discovery

Devices and registries

Integration features

Reference

Who to talk to

  • Ask in the #core channel on the Home Assistant Discord. Share a link to your branch, so people can see the code you are asking about.
  • Look at a well maintained integration that does something similar. Many integrations at the Platinum tier of the quality scale, like airgradient, are good examples of current patterns.
  • Not sure if your idea fits Home Assistant? Open a discussion in the architecture repository before you write a lot of code.
Was this page helpful?

Last updated on .