Skip to main content

Google Home UI Automator

Google Home Automator can help you automate 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.11 or newer.

Android phone

  1. Turn on User Debugging mode on your android phone.
  2. Connect your android phone to computer.

Google Home App

  1. You need to install Google Home App on your Android phone.
  2. Login to your Google Home App.
  3. Make sure the Google Home App's version is between 3.1.1.14 and 3.32.126.2. Dogfood version 3.32.192.0-dog-food is also supported.

NOTE: Please select the correct Google account on Google Home App.

NOTE: This tool only works with the English version of the Google Home App.

Installation

$ pip install google-home-ui-automator

Build from source code

  1. clone this repo.

    $ git clone https://testsuite-smarthome-matter.googlesource.com/ui-automator
    
  2. cd to the folder.

  3. Run pip install .

Usage

Commissioning Matter device

Follow the steps below to automatically commission a matter device.

$ ui-automator --commission DEVICE_NAME,PAIRING_CODE,ROOM_NAME [--google_account <GOOGLE_ACCOUNT>]
  • 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
  • GOOGLE_ACCOUNT: Optional. Account to use in Google Home App, e.g. test@gmail.com

Decommissioning Matter device

Follow the steps below to decommission a matter device.

$ ui-automator --decommission DEVICE_NAME [--google_account <GOOGLE_ACCOUNT>]
  • DEVICE_NAME: display name of commissioned Matter device on GHA, e.g. m5stack
  • GOOGLE_ACCOUNT: Optional. Account to use in Google Home App, e.g. test@gmail.com

Regression Test

Follow the steps below to run a 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>] [--google_account <GOOGLE_ACCOUNT>]
  • 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
  • --repeat: Optional. Specifies the number of times to repeat the regression test.
    • REPEAT_TIMES: Number of times to repeat the regression test, e.g., 10.
  • --hub: Optional. Includes the hub version in the test report.
    • HUB_VERSION: Version of the hub controlling the devices in GHA, e.g., 1.0.0
  • --dut: Optional. Includes the device under test information in the test report.
    • MODEL: Model of the device. e.g. X123123
    • TYPE: Type of the device. e.g. LIGHT
    • PROTOCOL: Protocol used by the device. e.g. MATTER
  • --fw: Optional. Includes the device firmware in the test report.
    • DEVICE_FIRMWARE: Firmware of test device.
  • GOOGLE_ACCOUNT: Optional. Account to use in Google Home App, e.g. test@gmail.com

Roadmap

  • Commissioning Matter device
  • Decommissioning Matter device
  • 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.

Disclaimer

This project is not an official Google project. It is not supported by Google and Google specifically disclaims all warranties as to its quality, merchantability, or fitness for a particular purpose.

Metadata

Release files for google-home-ui-automator 1.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for google-home-ui-automator 1.0.5
File Size Uploaded Provenance Actions
google_home_ui_automator-1.0.5.tar.gz 4.5 MB Without provenance Details for google_home_ui_automator-1.0.5.tar.gz

Release files / google_home_ui_automator-1.0.5.tar.gz

Download URL google_home_ui_automator-1.0.5.tar.gz
Size 4.5 MB
Tags Source
SHA-256 checksum
How to use checksums
06de461a489c99a8f36584f4da6a1a273bcaf2875e4940bee4628183be4e0380
BLAKE2b-256 checksum
How to use checksums
a0f545c45b6530243a48e50d09539ecb73f6f00ae20bd574a135b57c9d8ec9d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Security for google-home-ui-automator 1.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page