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-controlGoogle 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
- Go to the Google Cloud Console.
- Create a new project (e.g., "My Smart Home").
- Enable the Google Assistant API.
2. Configure OAuth
- Go to APIs & Services > Credentials.
- Configure your OAuth Consent Screen (set User Type to "External" and add yourself as a test user).
- Create an OAuth 2.0 Client ID with the type Desktop app.
- 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.jsonfile 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
@byungkyuGoogle 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).
google-play
@byungkyuGoogle 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).
Free Ride - Unlimited free AI
@shaivpidadiManages free AI models from OpenRouter for OpenClaw. Automatically ranks models by quality, configures fallbacks for rate-limit handling, and updates opencla...
Playwright MCP
@spiceman161Browser automation via Playwright MCP server. Navigate websites, click elements, fill forms, extract data, take screenshots, and perform full browser automation workflows.
Playwright (Automation + MCP + Scraper)
@ivangdavilaAutomates, 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).