All of the entities and services available in Home Assistant are provided by integrations.
Integrations can process and trigger events, offer services, and maintain states. Integrations consist of the base logic and platforms.
Platforms are provided by some integrations that are to be used by other integrations
A platform lets you integrate with other integrations.
Each integration has a unique and reserved name known as the domain name.
It is this name that you see in the YAML file entry.
Example Integrations -MQTT,Light
Home assistant comes with some built in integrations and others can be added.
The following example is taken from the documentation
A device is a collection of entities
A device is a model that represents a physical or logical unit and contains entities.
Devices have properties such as ID, manufacturer, name, model, hardware version, firmware version, connections, etc.
Entities are usually part of a device or a service but can also be what is known as standalone entities examples of which are automations,scenes etc.
Entities have states and state properties as well as option attributes e.g. friendly name, unit of measurement etc
When making entries in the Yaml file we observe the following hierarchy integration->platform->device->entity
Platform Configuration example
If you look at the entity name kitchen_lightswitch_http when you look in entities the actual name is switch.kitchen_lightswitch_http.
The prefix switch is the integration.
To add and configure Integrations go to Settings>Devices and Services.
It opens and shows the currently installed integrations.
You can configure them and add new ones here.
You should also see that it shows the devices and entities controlled by that integrations as you can see with the MQTT integration shown below:
If you click on the device option you get a list of devices as shown below.
Notice it shows the integration controlling the device and the area assigned to the device (optional).
The entity option will display all of the entities which can be a very long list an example is shown below:
From the entity tab you can disable/enable and remove entities as shown above.
Related Tutorials and Resources:
- Control and Monitor HTTP Devices in Home Assistant
- Home Assistant Configuration.yaml File Basics
- Adding a MQTT Sensor To Home Assistant
- Running Home Assistant in a Docker Container
- Using Tasmota Devices with Home Assistant and MQTT