Google Home UI Automator
Google Home Automator can help you automating your Google Home App.
Getting Started
Prerequisites
Python 3
You need a python 3 environment to run the script. Google Home UI Automator requires python 3.9 or newer.
Android phone
- turn on User Debugging mode on your android phone.
- connect your android phone to computer.
Google Home App
- You need to install Google Home App on your Android phone.
- Login to your Google Home App.
- Make sure the Google Home App's version is between
3.1.1.14
and 3.10.1.6
(latest public version). Or 3.12.4.1
.
NOTE: Please select the correct Google account on Google Home App.
Installation
- clone this repo.
cd
to the folder.- Run
pip install .
Usage
Commissioning Matter device
$ ui-automator --commission DEVICE_NAME,PAIRING_CODE,ROOM_NAME
DEVICE_NAME
: desired Matter device, e.g. m5stack
PAIRING_CODE
: pairing code of your Matter device, e.g. 34970112332
ROOM_NAME
: room that is going to be assigned, e.g. Office
Decommissioning Matter device
$ ui-automator --decommission DEVICE_NAME
DEVICE_NAME
: display name of commissioned Matter device on GHA, e.g. m5stack
Regression Test
$ ui-automator --commission DEVICE_NAME,PAIRING_CODE,ROOM_NAME --regtest [--repeat <REPEAT_TIMES>]
- flag
--regtest
is required - regression test need to be used with flag
--commission
- regression test now only supports commissioning/decommissioning cycle
- defaultly, regression test will run until users use keyboard interrupt to stop the process
- add
--repeat
to run regression test in limited times REPEAT_TIMES
: repeated times for regression test
Roadmap
- [x] Commissioning Matter device
- [x] Decommissioning Matter device
- [x] Regression test of cycling commissioning/decommissioning
- [ ] Support regression test for devices that need additionally manual operations after decommissioning to recover to BLE commissioning mode
- [ ] Share Fabric
- [ ] Get pairing code when sharing fabric
Notice
- While UI Automation is processing, interfering android phone with any UI operation might fail the automation.
Report issue
- Click here to report any encountered issues.