Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printablefalse

This application note provides instructions on how to set up Home Assistant and the Matter plugin on NAVQ Plus. It also covers the process of connecting a Matter device to the Home Assistant platform.

1. Home Assistant

Home Assistant is an open-source home automation platform that allows you to control and automate various smart devices and services within your home. It provides a unified interface to interact with devices from different brands and protocols, enabling seamless integration and automation.

Home Assistant supports a wide range of devices, including lights, thermostats, cameras, sensors, and more. Home Assistant also offers a user-friendly web-based interface and mobile apps for convenient control and management of your smart home.

With Home Assistant, you can create custom automations, set up schedules, and create complex routines to control your devices based on different triggers and conditions. It also integrates with popular voice assistants like Amazon Alexa and Google Assistant, allowing you to control your smart home using voice commands.

Home Assistant has a large and active community of users and developers who contribute to its continuous improvement. It offers extensive customization options, flexibility, and compatibility with a wide range of smart home devices, making it a popular choice for DIY smart home enthusiasts.

With Home Assistant, you can integrate all your smart devices into a single unified platform. You can connect and integrate Matter, Thread, and Zigbee devices. This application note provides guidance on connecting Matter devices using both Bluetooth Low Energy (BLE) and Wi-Fi protocols. To connect to a Zigbee network, you will need a Zigbee adapter. For detailed instructions on Zigbee connectivity, please refer to the Zigbee Adapter section of the Using Zigbee on NAVQ Plus application note.

Similarly, to connect to a Thread network, you will need a Thread adapter. For specifics on setting up a Thread radio co-processor, please consult the Thread Radio Co-Processor section of the Setting up OpenThread Border Router on NAVQ Plus application note.

2. Matter Protocol

The Matter protocol, formerly known as Project CHIP (Connected Home over IP), is an open-source smart home connectivity standard developed by the Connectivity Standards Alliance (CSA). It aims to create a unified and secure standard for smart home devices, allowing them to seamlessly communicate with each other and integrate into different ecosystems.

Matter protocol is designed to address the interoperability challenges faced by consumers, device manufacturers, and smart home platforms. By adopting a common networking protocol, Matter enables devices from different brands to work together, regardless of their underlying technology or communication method. This simplifies the setup process, enhances device compatibility, and provides a more cohesive and user-friendly smart home experience.

Matter protocol is built upon existing IP-based technologies, such as Ethernet, Wi-Fi, and Thread, and leverages standard internet protocols like IPv6 and TCP/UDP. It aims to provide reliable and secure connectivity while ensuring data privacy and minimizing latency.

With the support of major industry players, including Apple, Google, Amazon, and other members of the CSA, the Matter protocol is expected to become a widely adopted standard, driving the growth and development of the smart home industry.

3. Docker

This application note provides instructions on running Home Assistant and Matter Server within Docker containers.

Docker is an open-source platform that enables developers to automate the deployment and management of applications within isolated, lightweight containers. It provides a way to package software and its dependencies into a standardized unit called a container. These containers provide a consistent and portable environment that can run on any system, regardless of its underlying infrastructure.

4. Prerequisites

Before proceeding with the setup, ensure that you have the following:

  • NAVQ Plus #1: This will serve as the Matter device.

  • NAVQ Plus #2: This will serve as the Home Assistant server.

5. Software Setup

To enable a user to use Docker, execute the following command:

Code Block
user@imx8mpnavq:~$ sudo usermod -aG docker user

This command adds the specified user to the "docker" group, allowing them to run Docker commands without requiring root privileges. After executing the command, you will need to log out and log back in for the changes to take effect.

To create a directory structure for container configuration files, use the following commands:

Code Block
user@imx8mpnavq:~$ mkdir docker
user@imx8mpnavq:~$ mkdir -p docker/homeassistant/config
user@imx8mpnavq:~$ mkdir -p docker/matter-server/data

The resulting directory structure will look like this:

Code Block
└── docker
    ├── homeassistant
    │   └── config
    └── matter-server
        └── data

This directory tree allows you to organize your Docker configurations for both Home Assistant and the Matter server effectively.

Switch directory to docker/homeassistant and create docker-compose configuration file compose.yaml:

Code Block
user@imx8mpnavq:~$ cd docker/homeassistant
user@imx8mpnavq:~/docker/homeassistant$ vim compose.yaml

Modify the file contents as follows:

Code Block
languageyaml
version: '3'
services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - /home/user/docker/homeassistant/config:/config
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    privileged: true
    network_mode: host

Switch directory to docker/matter-server and create a docker-compose configuration file compose.yamlfor Matter Server:

Code Block
user@imx8mpnavq:~$ cd docker/matter-server
user@imx8mpnavq:~/docker/matter-server$ vim compose.yaml 

Modify the file contents as follows:

Code Block
languageyaml
version: "3.8"
services:
  # python-matter-server
  matter-server:
    image: ghcr.io/home-assistant-libs/python-matter-server:stable
    container_name: matter-server
    restart: unless-stopped
    # Required for mDNS to work correctly
    network_mode: host
    security_opt:
      # Needed for Bluetooth via dbus
      - apparmor:unconfined
    volumes:
      # Create an .env file that sets the USERDIR environment variable.
      - /home/user/docker/matter-server/data:/data/
      - /run/dbus:/run/dbus:ro

Resulting directory tree will look like:

Code Block
└── docker
    ├── homeassistant
    │   ├── compose.yaml
    │   └── config
    └── matter-server
        ├── compose.yaml
        └── data

Start docker-compose for Home Assistant:

Code Block
user@imx8mpnavq:~$ cd docker/homeassistant
user@imx8mpnavq:~/docker/homeassistant$ docker-compose up -d

Start docker-compose for Matter Server:

Code Block
user@imx8mpnavq:~$ cd docker/matter-server
user@imx8mpnavq:~/docker/matter-server$ docker-compose up -d

To verify that the containers have started, use the docker ps command. Command output should look like the following:

Code Block
user@imx8mpnavq:~/docker/homeassistant$ docker ps
CONTAINER ID   IMAGE                                                     COMMAND                  CREATED        STATUS             PORTS     NAMES
cfbc0752b992   ghcr.io/home-assistant/home-assistant:stable              "/init"                  25 hours ago   Up About an hour             homeassistant
d87544b232cb   ghcr.io/home-assistant-libs/python-matter-server:stable   "matter-server --sto…"   25 hours ago   Up About an hour             matter-server

6. Setting up Home Assistant

To configure Home Assistant, open your browser and enter your NAVQ Plus IP address followed by port 8123. For example, http://192.168.68.118:8123/

Proceed with the configuration steps in Home Assistant to create your smart home, including user creation and setting up your home location.

7. Installing Matter Plugin

When the setup is complete, let's proceed to install the Matter plugin. Click the button below to add the Matter integration plugin:

Image RemovedImage Added

You will be prompted to open your Home Assistant:

Click on the Open Link button. You will be prompted with a message asking, Do you want to set up Matter (BETA)?Click OK.

You will be asked to provide the location information for your Matter server:

Click on Submit to finalize setting up of the Matter integration plugin. After completing the process, you will receive a notification confirming the successful creation of the Matter configuration.

8. Home Assistant Companion

You need to use the Home Assistant Companion app on your mobile phone to commission Matter devices.

The Home Assistant Companion app is a mobile application designed to work in conjunction with the Home Assistant platform. It is available for both iOS and Android devices.

The Companion app serves as a convenient tool for controlling and monitoring your smart home from your smartphone or tablet. It allows you to access and interact with your Home Assistant installation remotely, providing a seamless and user-friendly interface.

Please refer to this page for installation instructions for Home Assistant: https://companion.home-assistant.io/

Connect Home Assistant Companion app to your Home Assistant.

9. Starting Matter Device

Please refer to the Running Matter Device on NAVQ Plus application note for information on how to start the Demo Matter Device that controls the Status LED on NAVQ Plus. Additionally, it will provide instructions on how to obtain the QR code required for the next step.

10. Adding Matter Device Using QR Code

In the Home Assistant Companion app, go to Settings → Devices & Services. Tap on the Add Integration button and select Add Matter device from the list:

When you run Matter Device Python script, the program output will include a link to a QR code for connecting your device via Matter. The link will be in the following format: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J042C00KA0648G00

Open the QR code in your web browser.

Scan the QR code within the app and proceed with connecting your device to Home Assistant.

Once connected, Home Assistant Companion will display device information:

Return to your Home Assistant web interface. You will find our Test Product listed under Devices.

You can now click on the slider in the Controls section for TEST_PRODUCT, and it will turn on (or off) the Status LED on NAVQ Plus.

Additionally, the Logbook will display recent device activity: