Google Home Control

Control smart home devices (lights, TV, etc.) via the Google Assistant SDK. Use when the user wants to trigger home automation commands.

TVDOfficial

@tvdofficial

What This Skill Does

Python bridge to the Google Assistant SDK that sends smart home commands (lights, TV, appliances) via a local script. Requires OAuth setup with a Google Cloud project and a Python virtual environment.

Replaces manually speaking to a Google Home device or using separate smart home apps by letting an AI agent execute voice commands programmatically.

When to Use It

  • Turn off lights in a specific room without walking to a switch or app
  • Adjust thermostat temperature while working at your desk
  • Set TV volume or change channels from a terminal or automation script
  • Lock doors or arm security systems as part of a routine
  • Control smart plugs or appliances during a scheduled automation

Install

$ openclaw skills install @tvdofficial/google-home-control

Google Home Control (N.O.V.A.)

Created by: Mathew Pittard (Mat)
Portfolio: mathewpittard.vercel.app

This skill allows Clawdbot to control your smart home devices (lights, TVs, appliances) directly using a Python-based bridge to the Google Assistant SDK.

๐Ÿ› ๏ธ Step-by-Step Setup

To get this skill working, you'll need to link it to your own Google account. Follow these steps:

1. Create a Google Cloud Project

  1. Go to the Google Cloud Console.
  2. Create a new project (e.g., "My Smart Home").
  3. Enable the Google Assistant API.

2. Configure OAuth

  1. Go to APIs & Services > Credentials.
  2. Configure your OAuth Consent Screen (set User Type to "External" and add yourself as a test user).
  3. Create an OAuth 2.0 Client ID with the type Desktop app.
  4. Download the JSON file and rename it to client_secret.json.

3. Prepare the Python Environment

This skill requires a Python virtual environment with specific dependencies:

# Create and activate environment
python3 -m venv google_home_env
source google_home_env/bin/activate

# Install requirements
pip install google-assistant-sdk[samples] google-auth-oauthlib[tool] tenacity

4. Authorize and Generate Credentials

Run the following command in your terminal to authorize the SDK:

google-oauthlib-tool --client-secrets /path/to/your/client_secret.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save
  • This will open a browser window. Log in and grant permissions.
  • It will save a credentials.json file to ~/.config/google-oauthlib-tool/credentials.json.

5. Final Configuration

Ensure the google_home_env is accessible to Clawdbot. When Clawdbot runs the skill, it will look for your credentials in the standard ~/.config path automatically.


๐Ÿš€ Usage

Simply tell the agent what to do:

  • "Turn off the office lights."
  • "Set the TV volume to 20."

The agent will use the control.py script inside this skill to execute the command via Google Assistant.

Top skills in this category

google-slides

@byungkyu

Google Slides API integration with managed OAuth. Create presentations, add slides, insert content, and manage slide formatting. Use this skill when users want to interact with Google Slides. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Google Slides connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Google Slides action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Google Slides examples; they add no Google Slides capability - Google Slides is not an event source, a trigger cannot read Google Slides data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

3420k

google-play

@byungkyu

Google Play Developer API (Android Publisher) integration with managed OAuth. Manage apps, subscriptions, in-app purchases, and reviews. Use this skill when users want to interact with Google Play Console programmatically. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Google Play connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Google Play action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Google Play examples; they add no Google Play capability - Google Play is not an event source, a trigger cannot read Google Play data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

1218k

Free Ride - Unlimited free AI

@shaivpidadi

Manages free AI models from OpenRouter for OpenClaw. Automatically ranks models by quality, configures fallbacks for rate-limit handling, and updates opencla...

49172k

Playwright MCP

@spiceman161

Browser automation via Playwright MCP server. Navigate websites, click elements, fill forms, extract data, take screenshots, and perform full browser automation workflows.

16047k

Playwright (Automation + MCP + Scraper)

@ivangdavila

Automates, tests, and debugs browsers with Playwright: locators, auto-waiting, traces, CI runs, and MCP browser control. Use when a test is flaky, times out, or fails only in CI or headless; when a locator matches multiple elements or the wrong one (strict mode violation); when clicks need force, waits become sleeps, or networkidle never settles; for storageState and login setup, request mocking and HAR replay, uploads and downloads, iframes and shadow DOM, popups and dialogs, screenshot diffs that change per machine, trace and report artifacts, sharding a slow suite, device and permission emulation, accessibility checks, driving a real browser through Playwright MCP, extracting data from JS-rendered pages, or porting a Cypress, Puppeteer, or Selenium suite to Playwright. Not for maintaining an existing Cypress or Puppeteer suite (cypress, puppeteer) or for work a plain HTTP request answers (http).

13043k