Google Home UI Automator can help you automate your Google Home app (GHA) to commission, decommission Matter, or run a regression test on your commission.
Prerequisities
To use Google Home UI Automator, have the following ready:
Python 3
It is recommended to use Python 3 environment to run the script.
Google Home UI Automator requires python 3.11
or newer.
Android phone
- Turn on User Debugging mode on your Android phone. See Enable Developer options to turn on the debugging setting.
- Connect your Android phone to your computer.
Google Home app
- Install GHA on your Android phone.
Make sure the GHA's version is
3.1.1.14
and3.24.1.4
. - Login to your Google Account in GHA.
Install Google Home UI Automator
There are two ways to install Google Home UI Automator, PyPI or from source code. We recommend installing with PyPI.
PyPI (recommended)
pip install google-home-ui-automator
Build from source code
To build from a source code, follow these steps in your terminal:
Clone this repository:
git clone https://testsuite-smarthome-matter.googlesource.com/ui-automator
Navigate to the cloned repository:
cd ui-automator
Run the following command:
pip install .
Commission a Matter device
To commission a Matter device, enter the following command:
ui-automator --commission DEVICE_NAME,PAIRING_CODE,ROOM_NAME
Input value | Description | Example |
---|---|---|
DEVICE_NAME |
Selected Matter device. | m5stack |
PAIRING_CODE |
Pairing code of your Matter device. | 34970112332 |
ROOM_NAME |
Assigned room. | Office |
Decommission a Matter device
To decommission a Matter device, enter the following command:
ui-automator --decommission DEVICE_NAME
Input value | Description | Example |
---|---|---|
DEVICE_NAME |
Displays name of commissioned Matter device on GHA. | m5stack |
Run a Regression Test
To run a regression test, enter the following code. You must include flag
--regtest
and --commission
to run the regression test.
ui-automator --commission DEVICE_NAME,PAIRING_CODE,ROOM_NAME --regtest [--repeat REPEAT_TIMES] [--hub HUB_VERSION] [--dut MODEL,TYPE,PROTOCOL] [--fw DEVICE_FIRMWARE]
The regression test only supports the commissioning and decommissioning cycle. By default, the regression test will run until users use the keyboard to stop the process.
You can add the following for more in-depth test results:
Value | Input value | Description | Example |
---|---|---|---|
--repeat |
REPEAT_TIMES |
Run regression test in limited times and repeated times. | 5 |
--hub |
HUB_VERSION |
Hub version for controlling devices on GHA. | 15.20221210.3.1 |
--dut |
Device under test. | ||
MODEL |
Device model. | X123123 |
|
TYPE |
Device type. | LIGHT |
|
PROTOCOL |
Device protocol. | MATTER |
|
--fw |
DEVICE_FIRMWARE |
Device firmware. | 2.2.0 |
Feedback
To submit your thoughts or feedback on how to improve your experience with the Google Home UI Automator, complete our Feedback Form.
Report issues
Report encountered issues using the issue tracker.