{"id":19186516,"url":"https://github.com/tronikos/google_assistant_sdk_custom","last_synced_at":"2025-10-06T13:52:11.618Z","repository":{"id":92280635,"uuid":"606225263","full_name":"tronikos/google_assistant_sdk_custom","owner":"tronikos","description":"Fork of Google Assistant SDK integration to allow getting responses from commands to Google Assistant","archived":false,"fork":false,"pushed_at":"2025-06-11T23:08:02.000Z","size":108,"stargazers_count":37,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-12T00:22:41.241Z","etag":null,"topics":["google","google-assistant-api","google-assistant-sdk","hacs","hacs-integration","home-assistant","home-assistant-component","home-assistant-hacs","homeassistant","homeassistant-custom-component","homeassistant-integration"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tronikos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-24T22:15:57.000Z","updated_at":"2025-06-11T23:06:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"c42896e1-d2ee-4bd7-aeab-df3f5cfe260a","html_url":"https://github.com/tronikos/google_assistant_sdk_custom","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/tronikos/google_assistant_sdk_custom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronikos%2Fgoogle_assistant_sdk_custom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronikos%2Fgoogle_assistant_sdk_custom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronikos%2Fgoogle_assistant_sdk_custom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronikos%2Fgoogle_assistant_sdk_custom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tronikos","download_url":"https://codeload.github.com/tronikos/google_assistant_sdk_custom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronikos%2Fgoogle_assistant_sdk_custom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621836,"owners_count":26017253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google","google-assistant-api","google-assistant-sdk","hacs","hacs-integration","home-assistant","home-assistant-component","home-assistant-hacs","homeassistant","homeassistant-custom-component","homeassistant-integration"],"created_at":"2024-11-09T11:15:19.543Z","updated_at":"2025-10-06T13:52:11.602Z","avatar_url":"https://github.com/tronikos.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Google Assistant SDK Custom integration for Home Assistant\n\n[![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg)](https://github.com/hacs/integration)\n\n# About\n\nThis integration is a copy of [Google Assistant SDK integration](https://www.home-assistant.io/integrations/google_assistant_sdk/) with the following additional features:\n\n- HTML responses as text from commands to Google Assistant\n\n## Why aren't these changes in the core Google Assistant SDK integration?\n\nDue to a [bug](https://github.com/googlesamples/assistant-sdk-python/issues/391) in the Google Assistant API,\nnot all responses contain text, especially for home control commands, like turn on the lights.\nThe workaround, per the linked bug, is to enable HTML output and then parse the HTML for the text.\nBecause the core integrations are [not allowed](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md) to parse HTML,\nthis custom integration is needed.\n\n# Installation\n\n## HACS\n\n1. [Add](http://homeassistant.local:8123/hacs/integrations) custom integrations repository: \u003chttps://github.com/tronikos/google_assistant_sdk_custom\u003e\n2. Select \"Google Assistant SDK Custom\" in the Integration tab and click download\n3. Restart Home Assistant\n4. Enable the integration\n\n## Manual\n\n1. Copy directory `custom_components/google_assistant_sdk_custom` to your `\u003cconfig dir\u003e/custom_components` directory\n2. Restart Home-Assistant\n3. Enable the integration\n\n## Enable the integration\n\n1. Go to [Settings / Devices \u0026 Services / Integrations](http://homeassistant.local:8123/config/integrations). Click **+ ADD INTEGRATION**\n2. Search for \"Google Assistant SDK Custom\" and click on it\n\n# Examples\n\n## Nest Guard\n\nFollowing example allows controlling Nest Guard and getting its status in a text helper.\nA similar approach, especially the automation that polls the status, can be used for other devices,\nfor which a template, e.g. [template light](https://www.home-assistant.io/integrations/light.template/), might make more sense. \nHere a [Template Alarm Control Panel](https://www.home-assistant.io/integrations/alarm_control_panel.template/) wouldn't work\nbecause Google Assistant doesn't allow disarming Nest Guard.\n\nCreate a text [helper](http://homeassistant.local:8123/config/helpers) with:\n\n```yaml\nName: Nest Guard Status\nIcon: mdi:shield-home\nEntity ID: input_text.nest_guard_status\n```\n\nCreate following [scripts](http://homeassistant.local:8123/config/script/dashboard):\n\n```yaml\nnest_guard_refresh:\n  alias: \"Nest Guard: Refresh\"\n  sequence:\n    - service: google_assistant_sdk_custom.send_text_command\n      data:\n        command: what is the status of nest guard\n      response_variable: response\n    - service: input_text.set_value\n      data:\n        value: \"{{ response.responses[0].text }}\"\n      target:\n        entity_id: input_text.nest_guard_status\n  mode: single\n  icon: mdi:shield-refresh\nnest_guard_away:\n  alias: 'Nest Guard: Away'\n  sequence:\n  - service: google_assistant_sdk_custom.send_text_command\n    data:\n      command: Set Nest Guard to away and guarding\n  - service: script.nest_guard_refresh\n    data: {}\n  mode: single\n  icon: mdi:shield-lock\nnest_guard_home:\n  alias: 'Nest Guard: Home'\n  sequence:\n  - service: google_assistant_sdk_custom.send_text_command\n    data:\n      command: Set Nest Guard to home and guarding\n  - service: script.nest_guard_refresh\n    data: {}\n  mode: single\n  icon: mdi:shield-home\n```\n\nCreate [automation](http://homeassistant.local:8123/config/automation/dashboard):\n\n```yaml\nalias: \"Nest Guard: status\"\ndescription: \"\"\ntrigger:\n  - platform: time_pattern\n    minutes: \"10\"\ncondition: []\naction:\n  - service: script.nest_guard_refresh\n    data: {}\nmode: queued\nmax: 10\n```\n\nAdd the following Entities card in the lovelace dashboard:\n\n```yaml\ntype: entities\nentities:\n  - input_text.nest_guard_status\nfooter:\n  type: buttons\n  entities:\n    - entity: script.nest_guard_home\n      show_icon: true\n      show_name: true\n    - entity: script.nest_guard_away\n      show_icon: true\n      show_name: true\n    - entity: script.nest_guard_refresh\n      show_icon: true\n      show_name: true\n```\n\n## Other examples\n\n(You will have to replace `google_assistant_sdk.send_text_command` with `google_assistant_sdk_custom.send_text_command`).\n\n- [360 vacuum](https://community.home-assistant.io/t/360-s6-vacuum-robot/124990/29)\n- [robot mowers](https://github.com/tronikos/google_assistant_sdk_custom/issues/2#issuecomment-1473697969)\n- [Hisense air conditioning](https://github.com/tronikos/google_assistant_sdk_custom/issues/3#issuecomment-1520227069)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftronikos%2Fgoogle_assistant_sdk_custom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftronikos%2Fgoogle_assistant_sdk_custom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftronikos%2Fgoogle_assistant_sdk_custom/lists"}