mirror of
https://github.com/home-assistant/developers.home-assistant.git
synced 2025-05-04 01:58:37 +00:00
38 lines
1.1 KiB
Markdown
38 lines
1.1 KiB
Markdown
---
|
|
title: "Entity Architecture"
|
|
sidebar_label: Entity
|
|
---
|
|
|
|

|
|
|
|
## Configuration
|
|
|
|
Configuration is provided by the configuration.yaml file or by a Config Entry from the Config Manager.
|
|
|
|
## Component
|
|
|
|
Examples of components: `light`, `switch`.
|
|
|
|
The component is responsible for defining the Abstract Entity Class and services to control the entities.
|
|
|
|
## Entity Component
|
|
|
|
The Entity Component is responsible for:
|
|
|
|
- Distributing the configuration to the platforms
|
|
- Forward config entries and discoveries
|
|
- Collect entities for service calls
|
|
- Optionally maintain a group of all entities
|
|
|
|
## Entity Platform
|
|
|
|
The Entity Platform manages all entities for the platform and polls them for updates if necessary.
|
|
|
|
When adding entities, the Entity Platform will query the Entity Registry to make sure that the entities to be added have the correct entity IDs.
|
|
|
|
## Platform
|
|
|
|
Examples of platforms: `light.hue`, `switch.wemo`.
|
|
|
|
Platform uses configuration to query the external device/service and add entities to the entity platform.
|