For the 2022.11 release, we have been adjusting our integration manifests to better differentiate between hubs, devices, and services. Additionally, we are introducing a new type of integration: A virtual integration.
Differentiating hubs, devices, and services
A confusing aspect: config entries can either integrate a single device (ESPHome), a whole range of devices via a hub (Hue), or a service (AdGuard).
We want to start to distinguish between those in the UI in the near future, but are not currently able to do this because integrations don’t expose this information.
We already have a
manifest property, which we have extended to support these new types:
device: The integration integrates a single device at a time.
hub: The integration integrates multiple devices.
service: The integration integrates a service.
The difference between a
hub and a
device is defined by the
nature of the integration. A
hub provides a gateway to multiple other
devices or services.
device are integrations that provide
a single device or service per config entry.
Some products are supported by integrations that are not named after the product. For example, Roborock vacuums are integrated via the Xiaomi Miio integration.
There are also cases where a product line only supports a standard IoT standard like Zigbee or Z-Wave. For example, the U-tec ultraloq works via Z-Wave and has no specific dedicated integration.
For end-users, it can be confusing to find how to integrate those products with Home Asssistant. To help with these above cases, we introduce: Virtual integrations.
Virtual integrations are not real integrations but are used to help users find the right integration for their device. They only have a single manifest file without any additional code.
There are two types of virtual integrations: A virtual integration supported by another integration and one that uses an existing IoT standard.
Removing the supported brands feature
Virtual integrations replace the previous "supported brands" feature. This feature was only used by Home Assistant Core integrations, and all those have been migrated to use virtual integrations instead.
There is no usage left, therefore, the supported brands feature has been removed without a deprecation period.