{"_id":"5af3cfc3fa33d200039f1641","project":"568bdc1483d2061900d86cdc","version":{"_id":"59a72290d61777001b6c42c3","project":"568bdc1483d2061900d86cdc","__v":33,"createdAt":"2017-08-30T20:39:44.453Z","releaseDate":"2017-08-30T20:39:44.453Z","categories":["59a7236e3fe4d90025117c10","59a72eb6cb0db3001b84cfe2","59a734eb757d030019b85af8","59c0243b1b2d07001a9d2b76","59c035e42126e10028effb12","59c06c40df5b3c0010584a13","59c1a5852cabe5002641a3e7","59c2fb00b2b45c0010b7a3d7","59c32ceb9aea850010ac4130","59c32e6e190c90003cb0d12f","59c33affb2b45c0010b7aa23","59c7dfa457bd8200105444dc","59c7e975c50cf30010d712a0","59cffdef0cd4dd0010294d54","59d0622ca91a810032c8f60c","59d06733c1aec60026253065","59d174d44ac471001a07b123","59d5a5e323e6e800103defb2","59ecf1d8ed507c001c52b255","59f76fef8581dc0010593e6f","5a0c003680a35b0012c35db0","5a8358722e78660075e45f42","5a846645b5ec3a001203517e","5b258091bc7a6700033b9cb5","5b26e48e024807000315a740","5b44edff3306680003663f5c","5b468abd3d4a9e0003789111","5b468d8f3dcb6a0003c6e374","5b47b0b93d4a9e000378a33a","5b538d114ea24f00033c726f","5b6a0efe402b32000336c33f","5bba5e5d7ba7710003bd902a","5bc2703349ac3a0013eec3e5"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"0.0.0","version":"0"},"category":{"_id":"5b44edff3306680003663f5c","project":"568bdc1483d2061900d86cdc","version":"59a72290d61777001b6c42c3","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2018-07-10T17:33:51.438Z","from_sync":false,"order":10,"slug":"integrations","title":"Integrations"},"user":"579bf67d90783b0e00842650","githubsync":"","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-05-10T04:51:15.609Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"# Configure Droplit Google Home Integration\n\n1. On the [Droplit portal](https://portal.droplit.io), go to the _Integrations_ tab.\n2. Under \"Platforms\", select _Google Home_.\n3. Select _Install_ to install the conduit.\n4. Since information from the portal will be needed to configure the Google Home Action, be sure to keep it open. \n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/83e9b47-portalNoFill.png\",\n        \"portalNoFill.png\",\n        1280,\n        720,\n        \"#1c1c1d\"\n      ],\n      \"caption\": \"The Google Home Integration page on the Droplit portal as it initially appears.\"\n    }\n  ]\n}\n[/block]\n# Configure Google Home Action\n\n1. Sign into the [Google Actions console](https://console.actions.google.com/) using a Google account. \n2. Select _Add/import project_.\n3. Name it after your company with regard to Droplit.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"NOTE\",\n  \"body\": \"The name of the project will not be public, and it should not **just** be the name of your company.\"\n}\n[/block]\n4. Select the category _Home control_, and select the project type _Smart home_.\n5. Be sure to fill in the other sections as they pertain to you. Droplit-specific configuration is only present in the _Account Linking_ and _Actions_ sections.\n\n## Account Linking\n\n1. Select _Account Linking_ toward the bottom of the sidebar under \"ADVANCED OPTIONS\".\n2. Under \"Account creation\", select: _No, I only want to allow account creation on my website_\n3. Linking type: _OAuth_.\n4. Grant Type: _Authorization Code_.\n5. Client ID, Client Secret, Authorization URL, and Token URL are all copied from the Google Home Integrations page on the Droplit portal.\n6. No scopes are necessary for this setup, so the \"Scopes\" field may be left blank.\n7. The \"Testing Instructions\" field may be filled out as you see fit.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/f1329d5-accountLinking.png\",\n        \"accountLinking.png\",\n        1280,\n        720,\n        \"#e2e3e5\"\n      ],\n      \"caption\": \"The \\\"Client information\\\" part of the \\\"Account linking\\\" section where all of the fields are properly populated with data from the Droplit portal.\"\n    }\n  ]\n}\n[/block]\n## Actions\n\n1. Select _Actions_ from the sidebar under \"BUILD\".\n2. Select _ADD YOUR FIRST ACTION_.\n3. Copy the \"Fulfillment URL\" from the Google Home integration configuration page on the Droplit portal, and paste it into the \"Add fulfillment URL\" field on the Actions page.\n4. Select _DONE_.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/118fe98-fulfillmentURL.png\",\n        \"fulfillmentURL.png\",\n        1280,\n        720,\n        \"#ebebeb\"\n      ],\n      \"caption\": \"The new action's page with the fulfillment URL correctly copied from the Droplit portal.\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"WARNING\",\n  \"body\": \"When testing the action, changes will not take effect until the _TEST_ button is selected for the Droplit action on the _Actions_ tab.\"\n}\n[/block]\n# Google Home Features Supported by Droplit\n\n## Report State\n\nImplementing Report State allows a device to report its state to Google's Home Graph rather than wait to be queried by the Google Home. This expedites the execution of Google Home commands because only the Home Graph needs to be referenced rather than waiting for several independent queries to be resolved. A device is configured to report its state whenever one of its service properties changes. For more information, see [Google's documentation on Report State](https://developers.google.com/actions/smarthome/report-state). Follow the below instructions to enable Report State.\n\n### Create New Google Cloud Project\n\n1. Login to [Google's Cloud Console](https://console.cloud.google.com/).\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"CAUTION\",\n  \"body\": \"When following the link to the Cloud Console, ensure that you are logged into the same Google account with which the action was created.\"\n}\n[/block]\n2. Create a project by selecting _NEW PROJECT_ from the dropdown on the top menu bar.\n3. Navigate to the new project's page.\n4. Under the \"APIs\" section, select _Go to APIs overview_.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/e6b9d72-reportStateAPIDash.png\",\n        \"reportStateAPIDash.png\",\n        1280,\n        720,\n        \"#f4f4f5\"\n      ],\n      \"caption\": \"The dashboard of the API page for the newly created Google Cloud project.\"\n    }\n  ]\n}\n[/block]\n### Enable the Home Graph API\n\n1. From the dashboard, select _ENABLE APIS AND SERVICES_.\n2. Go to the [HomeGraph API page](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview), and select _ENABLE_.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"CAUTION\",\n  \"body\": \"When following the link to the HomeGraph API page, ensure that you are logged into the same Google account with which the project was created and that the correct project is selected.\"\n}\n[/block]\n### Establish Credentials\n\n1. From the _APIs & Services_ menu on Google's Cloud Console, select _Credentials_.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/f2324bb-reportStateAPICred.png\",\n        \"reportStateAPICred.png\",\n        1280,\n        720,\n        \"#f6f6f7\"\n      ],\n      \"caption\": \"The \\\"Credentials\\\" tab on the API page for the project.\"\n    }\n  ]\n}\n[/block]\n2. Select _Create credentials_, then select _Service account key_.\n3. Select a service account, or create a new one:\n  1. Select a \"Service account name\" that best pertains to your needs.\n  2. For \"Role\", select _Security Review_ under \"IAM\" from the dropdown menu.\n4. For \"Key type\", select _JSON_.\n5. Select _Create_.\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/d1aa069-createServiceAccount.png\",\n        \"createServiceAccount.png\",\n        1280,\n        720,\n        \"#3d71e0\"\n      ],\n      \"caption\": \"The \\\"Create service account key\\\" page filled out with sample information for creating a new service account.\"\n    }\n  ]\n}\n[/block]\n### Enable Report State\n\n1. Copy the raw data of the newly downloaded JSON object; it contains the created credentials. \n2. On the [Droplit portal](https://portal.droplit.io), navigate to the Google Home Integration page.\n3. Enable _Report State_.\n4. Paste the copied JSON object into the \"Service Account Key\" field, and select _Save & apply_.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/04619ad-portalReportState.png\",\n        \"portalReportState.png\",\n        1280,\n        720,\n        \"#1c1c1d\"\n      ],\n      \"caption\": \"The Google Home Integrations page on the Droplit portal with all of the fields correctly filled out for enabling report stare functionality.\"\n    }\n  ]\n}\n[/block]\n## SYNC Request\n\nA SYNC Request asks Google to send a SYNC call to all devices associated with the identifier sent in the request. This enables a user's devices to be updated without having to unlink and relink their account. A SYNC request is made whenever a device is created, updated, or deleted within the environment in which the Google Home conduit has been activated. More information can be found on [Google's documentation for Request Sync](https://developers.google.com/actions/smarthome/create-app#request-sync).\n\n# FAQ\n\n## Set the logo of an Action\n\n1. Login to [Actions on Google](https://console.actions.google.com).\n2. Select the desired Action.\n3. Under the \"DEPLOY\" section of the sidebar, select _Directory information_.\n4. Select _Images_.\n5. Select the photo icons to upload the desired images, as shown below.\n6. Once the desired photos are uploaded, select _SAVE_.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/a8a0e0d-images.png\",\n        \"images.png\",\n        1280,\n        720,\n        \"#e3e4e4\"\n      ],\n      \"caption\": \"The \\\"Images\\\" section of the \\\"Directory information\\\" tab on the sidebar with the Droplit logo saved into the \\\"Small logo\\\" category.\"\n    }\n  ]\n}\n[/block]","excerpt":"Integrate Google Home into the Droplit System","slug":"google-home","type":"basic","title":"Google Home"}

Google Home

Integrate Google Home into the Droplit System

# Configure Droplit Google Home Integration 1. On the [Droplit portal](https://portal.droplit.io), go to the _Integrations_ tab. 2. Under "Platforms", select _Google Home_. 3. Select _Install_ to install the conduit. 4. Since information from the portal will be needed to configure the Google Home Action, be sure to keep it open. [block:image] { "images": [ { "image": [ "https://files.readme.io/83e9b47-portalNoFill.png", "portalNoFill.png", 1280, 720, "#1c1c1d" ], "caption": "The Google Home Integration page on the Droplit portal as it initially appears." } ] } [/block] # Configure Google Home Action 1. Sign into the [Google Actions console](https://console.actions.google.com/) using a Google account. 2. Select _Add/import project_. 3. Name it after your company with regard to Droplit. [block:callout] { "type": "info", "title": "NOTE", "body": "The name of the project will not be public, and it should not **just** be the name of your company." } [/block] 4. Select the category _Home control_, and select the project type _Smart home_. 5. Be sure to fill in the other sections as they pertain to you. Droplit-specific configuration is only present in the _Account Linking_ and _Actions_ sections. ## Account Linking 1. Select _Account Linking_ toward the bottom of the sidebar under "ADVANCED OPTIONS". 2. Under "Account creation", select: _No, I only want to allow account creation on my website_ 3. Linking type: _OAuth_. 4. Grant Type: _Authorization Code_. 5. Client ID, Client Secret, Authorization URL, and Token URL are all copied from the Google Home Integrations page on the Droplit portal. 6. No scopes are necessary for this setup, so the "Scopes" field may be left blank. 7. The "Testing Instructions" field may be filled out as you see fit. [block:image] { "images": [ { "image": [ "https://files.readme.io/f1329d5-accountLinking.png", "accountLinking.png", 1280, 720, "#e2e3e5" ], "caption": "The \"Client information\" part of the \"Account linking\" section where all of the fields are properly populated with data from the Droplit portal." } ] } [/block] ## Actions 1. Select _Actions_ from the sidebar under "BUILD". 2. Select _ADD YOUR FIRST ACTION_. 3. Copy the "Fulfillment URL" from the Google Home integration configuration page on the Droplit portal, and paste it into the "Add fulfillment URL" field on the Actions page. 4. Select _DONE_. [block:image] { "images": [ { "image": [ "https://files.readme.io/118fe98-fulfillmentURL.png", "fulfillmentURL.png", 1280, 720, "#ebebeb" ], "caption": "The new action's page with the fulfillment URL correctly copied from the Droplit portal." } ] } [/block] [block:callout] { "type": "warning", "title": "WARNING", "body": "When testing the action, changes will not take effect until the _TEST_ button is selected for the Droplit action on the _Actions_ tab." } [/block] # Google Home Features Supported by Droplit ## Report State Implementing Report State allows a device to report its state to Google's Home Graph rather than wait to be queried by the Google Home. This expedites the execution of Google Home commands because only the Home Graph needs to be referenced rather than waiting for several independent queries to be resolved. A device is configured to report its state whenever one of its service properties changes. For more information, see [Google's documentation on Report State](https://developers.google.com/actions/smarthome/report-state). Follow the below instructions to enable Report State. ### Create New Google Cloud Project 1. Login to [Google's Cloud Console](https://console.cloud.google.com/). [block:callout] { "type": "warning", "title": "CAUTION", "body": "When following the link to the Cloud Console, ensure that you are logged into the same Google account with which the action was created." } [/block] 2. Create a project by selecting _NEW PROJECT_ from the dropdown on the top menu bar. 3. Navigate to the new project's page. 4. Under the "APIs" section, select _Go to APIs overview_. [block:image] { "images": [ { "image": [ "https://files.readme.io/e6b9d72-reportStateAPIDash.png", "reportStateAPIDash.png", 1280, 720, "#f4f4f5" ], "caption": "The dashboard of the API page for the newly created Google Cloud project." } ] } [/block] ### Enable the Home Graph API 1. From the dashboard, select _ENABLE APIS AND SERVICES_. 2. Go to the [HomeGraph API page](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview), and select _ENABLE_. [block:callout] { "type": "warning", "title": "CAUTION", "body": "When following the link to the HomeGraph API page, ensure that you are logged into the same Google account with which the project was created and that the correct project is selected." } [/block] ### Establish Credentials 1. From the _APIs & Services_ menu on Google's Cloud Console, select _Credentials_. [block:image] { "images": [ { "image": [ "https://files.readme.io/f2324bb-reportStateAPICred.png", "reportStateAPICred.png", 1280, 720, "#f6f6f7" ], "caption": "The \"Credentials\" tab on the API page for the project." } ] } [/block] 2. Select _Create credentials_, then select _Service account key_. 3. Select a service account, or create a new one: 1. Select a "Service account name" that best pertains to your needs. 2. For "Role", select _Security Review_ under "IAM" from the dropdown menu. 4. For "Key type", select _JSON_. 5. Select _Create_. [block:image] { "images": [ { "image": [ "https://files.readme.io/d1aa069-createServiceAccount.png", "createServiceAccount.png", 1280, 720, "#3d71e0" ], "caption": "The \"Create service account key\" page filled out with sample information for creating a new service account." } ] } [/block] ### Enable Report State 1. Copy the raw data of the newly downloaded JSON object; it contains the created credentials. 2. On the [Droplit portal](https://portal.droplit.io), navigate to the Google Home Integration page. 3. Enable _Report State_. 4. Paste the copied JSON object into the "Service Account Key" field, and select _Save & apply_. [block:image] { "images": [ { "image": [ "https://files.readme.io/04619ad-portalReportState.png", "portalReportState.png", 1280, 720, "#1c1c1d" ], "caption": "The Google Home Integrations page on the Droplit portal with all of the fields correctly filled out for enabling report stare functionality." } ] } [/block] ## SYNC Request A SYNC Request asks Google to send a SYNC call to all devices associated with the identifier sent in the request. This enables a user's devices to be updated without having to unlink and relink their account. A SYNC request is made whenever a device is created, updated, or deleted within the environment in which the Google Home conduit has been activated. More information can be found on [Google's documentation for Request Sync](https://developers.google.com/actions/smarthome/create-app#request-sync). # FAQ ## Set the logo of an Action 1. Login to [Actions on Google](https://console.actions.google.com). 2. Select the desired Action. 3. Under the "DEPLOY" section of the sidebar, select _Directory information_. 4. Select _Images_. 5. Select the photo icons to upload the desired images, as shown below. 6. Once the desired photos are uploaded, select _SAVE_. [block:image] { "images": [ { "image": [ "https://files.readme.io/a8a0e0d-images.png", "images.png", 1280, 720, "#e3e4e4" ], "caption": "The \"Images\" section of the \"Directory information\" tab on the sidebar with the Droplit logo saved into the \"Small logo\" category." } ] } [/block]