About me Contact

Home Assistant integrations – how to connect devices and systems

Home Assistant can bring devices and services from different manufacturers together in one system, but not every connection works in the same way. Sometimes adding a ready-made integration is enough; in other cases, you may need the manufacturer’s gateway, a connection to a cloud service, an MQTT broker, or a more technical communication method such as ADB.

This guide explains what Home Assistant integrations are, how devices can communicate with the system, how an integration differs from a protocol such as Zigbee or Wi-Fi, and what you can expect after connecting a particular device.

If you are just getting to know Home Assistant and first want to understand what the overall system is, go to the guide below.

What is Home Assistant?

What does an integration mean in Home Assistant?

An integration is the way Home Assistant communicates with a device, service, or another system. It may be responsible for reading data, sending commands, discovering devices, and making their capabilities available in Home Assistant.

For example, a thermostat may expose the temperature, its current operating mode, and the option to change the setpoint. A television may be represented as a media player, while a sensor may provide several separate entities for temperature, humidity, or battery level.

However, this does not mean that every function available in the manufacturer’s app will automatically appear in Home Assistant. The available capabilities depend on the specific device, the communication method, and the information that the device or manufacturer’s service makes available to the integration.

An integration is not the same as Zigbee, Wi-Fi or Matter

Zigbee, Wi-Fi, Matter, Bluetooth, and Ethernet describe how a device communicates. An integration determines how Home Assistant recognises the device, reads its data, and allows you to control it.

This is why two devices using Wi-Fi may be handled by completely different integrations. They may use different protocols, authentication methods, or entirely different manufacturer services.

Likewise, a Zigbee device does not appear in Home Assistant simply because it uses Zigbee. You need a suitable coordinator and a solution that manages the Zigbee network.

In Home Assistant, this may be ZHA, for example. Another option is Zigbee2MQTT, which manages Zigbee devices and passes information to Home Assistant through MQTT.

If the problem concerns the stability of the Zigbee network itself, use the separate guide.

Zigbee keeps disconnecting?

Local connection, cloud, or manufacturer gateway

Some integrations communicate with devices directly over the local network. Home Assistant and the device then exchange data within the home network, without having to send every command through external servers.

Other devices use the manufacturer’s cloud service. Home Assistant communicates with the manufacturer’s server, and that service then passes information to the device or retrieves data from it.

A cloud connection is not necessarily a bad solution in itself. For some devices, it is the only available integration method. However, you should remember the additional dependence on the internet, the availability of the manufacturer’s servers, and the way its API works.

Some devices also require their own gateway. Home Assistant then communicates with the gateway, which is responsible for contacting the end devices.

A fixed IP address for local integrations

For devices that communicate locally over the network, especially through Wi-Fi or Ethernet, a stable IP address can be very important.

If an integration was configured with a specific IP address and the router assigns the device a different address after a restart, Home Assistant may lose its connection to the device.

In such cases, it is worth giving the device a fixed address on the network. The best approach is usually a DHCP reservation in the router, so that the device always receives the same IP address.

Not every integration requires a fixed IP address. Some use automatic discovery, hostnames, or other mechanisms to find the device. However, if a local integration refers directly to an IP address, it is worth keeping that address stable.

Built-in integrations and community solutions

Home Assistant includes a large number of integrations available directly in the system. In many cases, the device is discovered automatically, or you only need to select the appropriate integration and complete its setup.

There are also integrations developed independently by the community. They are not part of a standard Home Assistant installation, but they can add support for devices and services that do not have a suitable built-in solution.

HACS is often used to install and update these extensions.

HACS provides access to additional community projects, but the presence of an integration in HACS does not mean that it is maintained and tested in the same way as an integration included in Home Assistant. It is worth checking the project documentation, its updates, and compatibility with the Home Assistant version you use.

MQTT – a flexible way to exchange data

MQTT is often used when a device or another system can provide data but does not necessarily have a typical integration that can be added with one click.

Communication takes place through an MQTT broker. A device or other software can publish information such as temperature, input state, battery level, or current operating mode. Home Assistant can receive this information and represent it as the appropriate entities.

Communication can also work in the other direction. Home Assistant can send a command through MQTT, which is then received by the device or an intermediary system.

This makes MQTT well suited to custom devices, microcontrollers, non-standard controllers, DIY solutions, and systems in which you need to define the method of data exchange yourself.

However, MQTT is not a universal way to connect any piece of hardware. The device or intermediary software must actually support MQTT, or a suitable communication layer must be prepared.

ADB – non-standard communication with Android TV and Google TV

Another example of a more technical communication method is ADB, or Android Debug Bridge.

ADB can be used to communicate with devices running Android TV or Google TV if the device provides ADB access and has been configured correctly.

One example is NVIDIA Shield. ADB can be used to send specific commands, launch applications, read selected information about the device’s state, and later use that information in Home Assistant automations.

ADB can also be part of a custom solution in which the received information is used to create additional scripts, automations, or helper entities.

It is not a standard way to create entities, but a non-standard communication method that can be used to build additional logic in Home Assistant.

A standard Chromecast is normally supported through Google Cast. ADB may be useful with devices running Android TV or Google TV, such as NVIDIA Shield or a Chromecast with Google TV, if ADB access is available and enabled on that device.

What can you check before buying a device?

Before buying a device, it is worth checking whether a Home Assistant integration exists for the manufacturer, device family, or specific model, and how it works.

You can check whether the device communicates locally, uses the manufacturer’s cloud, requires an additional gateway, or needs specific intermediary hardware.

However, it is not always possible to determine exactly which entities and functions will appear after adding the device to Home Assistant before you buy it.

The manufacturer usually describes the device’s capabilities in its own app, but this does not automatically mean that all of those functions will also be available through the Home Assistant integration.

The available scope may depend on the specific model, hardware version, firmware, region, communication method, and the information exposed by the device or the manufacturer’s service.

Checking the integration before purchase therefore reduces the risk of making the wrong choice, but it should not be treated as a guarantee of obtaining a particular set of entities and functions.

“Supported” does not always mean fully supported

A device may be detected correctly by Home Assistant but expose only some of its capabilities.

For example, a sensor may provide temperature and battery level even though the manufacturer’s app also shows additional information.

A television may allow playback control and application launching but not expose every setting available from the original remote control.

Similar limitations may apply to air conditioning, heating systems, inverters, robot vacuum cleaners, and many other devices.

Information that a device is supported by Home Assistant should therefore not be treated as a guarantee of access to every one of its functions.

Why can a working integration stop working later?

The cause of a problem is not always within Home Assistant itself.

A cloud-based integration may stop working after the manufacturer changes its API, login method, or authorisation process.

A local device may receive a different IP address, stop responding because of a Wi-Fi problem, or change its behaviour after a firmware update.

For community integrations, compatibility with a new Home Assistant version may be important.

With MQTT, the problem may be in the broker, the device publishing the data, the topic configuration, or network communication.

Troubleshooting an integration should therefore cover the entire communication path between the device and Home Assistant, rather than only checking whether the integration itself is visible in the system.

How should you choose devices for Home Assistant?

Before choosing hardware, it is worth checking how it communicates, whether a suitable integration is available, which intermediary devices are required, and whether the solution works locally or through a cloud service.

If the documentation or the experiences of users of a specific model make it possible to determine the available functions, this is also worth considering. However, it is not always possible to predict the exact set of entities before running the device in your own system.

For devices that work locally through Wi-Fi or Ethernet, it is also worth checking whether the configuration requires a stable IP address and preparing a DHCP reservation if necessary.

The most important thing is to choose the integration method consciously for your own system instead of assuming that a compatibility label guarantees access to every capability of the device.

Integrations connect devices and services in one system

Integrations are one of the most important parts of Home Assistant because they allow devices and services from different manufacturers to work in one system.

The integration method may be very simple, but sometimes a manufacturer gateway, MQTT communication, a community solution, or a more technical method such as ADB is required.

Not every integration provides access to all device functions, and not every problem means that Home Assistant itself is at fault. The limitation may be the communication method, the local network, firmware, the manufacturer’s cloud, or the capabilities of the particular hardware.

Need help with a Home Assistant integration?

If you want to connect a device, set up a non-standard integration, or use MQTT, ADB or another available communication method, I can help check the available options and configure a suitable solution.

Contact me → click here