Matter Controller Kotlin App Example#

This is a Matter Controller Kotlin app that can be used to commission and control Matter accessory devices.



Requirements for building#

You need to have the following two software installed on your Ubuntu system:

  1. Java Runtime Environment (JRE)

  2. Java Development Kit (JDK)

openjdk version “11.0.20.1” or above is needed

First, check if we have the Java Runtime Environment and Java Development Kit installed on our system or not.

java -version

If not, you can install the Java Runtime Environment and Java Development Kit on your system through the following command as root:

sudo apt install default-jre
sudo apt install default-jdk

You also need to install kotlin compiler on your Ubuntu system:

kotlin compiler version 1.8.10 or above is needed to compile kotlin-matter-controller, if you already have lower version kotlin compiler installed on your Ubuntu from apt,
you need to remove the Kotlin compiler package, run the following command:

sudo apt-get remove kotlin

Wait for the removal process to complete. Once it’s done, the Kotlin compiler will be removed from your system.

(Optional) If you want to remove any configuration files associated with Kotlin, run the following command:

sudo apt-get purge kotlin

Install kotlin compiler 1.8.10 or above, such as kotlin-compiler-1.8.10-url

cd /usr/lib \
&& sudo wget -q [kotlin-compiler-1.8.10-url] \
&& sudo unzip kotlin-compiler-*.zip \
&& sudo rm kotlin-compiler-*.zip \
&& sudo rm -f kotlinc/bin/*.bat

Add a directory to PATH permanently by editing the .bashrc file located in the Home directory. Follow these steps:

  1. Open the .bashrc file using a text editor.

  2. Go to the end of the file.

  3. Paste the export syntax at the end of the file.

export PATH="/usr/lib/kotlinc/bin:$PATH"

Linux#

export JAVA_PATH=[JDK path]

Preparing for build#

Complete the following steps to prepare the Matter build:

  1. Check out the Matter repository.

  2. Run bootstrap (only required first time)

    source scripts/bootstrap.sh
    

Building & Running the app#

This is the simplest option. In the command line, run the following command from the top Matter directory:

./scripts/build/build_examples.py --target linux-x64-kotlin-matter-controller build

The Java executable file kotlin-matter-controller will be generated at out/linux-x64-kotlin-matter-controller/bin/

Run the kotlin-matter-controller

java -Djava.library.path=../lib/jni -jar kotlin-matter-controller