42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
---
|
|
title: "Entity Architecture"
|
|
sidebar_label: Entity
|
|
---
|
|
|
|
![Architecture overview of Hass.io](/img/en/architecture/entities_architecture.png)
|
|
|
|
## Configuration
|
|
|
|
Configuration is provided by the [configuration.yaml file](configuration_yaml_index.md) or by a [Config Entry](config_entries_index.md).
|
|
|
|
## 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.
|
|
|
|
## Entity Registry
|
|
|
|
The [Entity Registry](entity_registry_index.md) will track entities and allows users to store extra settings for an entity.
|
|
|
|
## Platform
|
|
|
|
Examples of platforms: `light.hue`, `switch.wemo`.
|
|
|
|
Platform uses configuration to query the external device/service and add entities to the entity platform.
|