mirror of
https://github.com/koush/scrypted.git
synced 2026-02-12 10:02:04 +00:00
* Update README.md
Added step by step guide to help others set up Google Device Access
* Revert "Update README.md"
This reverts commit 353045675e.
* Update README.md
* Update README.md
Updated with step by step guide
112 lines
4.8 KiB
Markdown
112 lines
4.8 KiB
Markdown
# Google Device Access Plugin for Scrypted
|
||
|
||
The Google Device Access Plugin allows you to import and control your Nest and Google devices from Scrypted.
|
||
|
||
## Setup
|
||
|
||
### Scrypted Cloud
|
||
|
||
Scrypted Cloud must be installed so Google can push device status changes to the plugin.
|
||
|
||
1. Install the Scrypted Cloud plugin (@scrypted/cloud).
|
||
2. Log in to Scrypted Cloud.
|
||
|
||
### Google Account Creation
|
||
|
||
Follow steps at the link below to create your personal Google Device Access developer account Google Cloud developer account:
|
||
|
||
* Google Device Access Project aka GDA ($5)
|
||
* Google Cloud Project aka GCP (might be within the free tier)
|
||
https://developers.google.com/nest/device-access/get-started
|
||
|
||
### Google Cloud Setup
|
||
1. Create a API & Services -> Credentials -> Create Credentials -> OAuth -> WebApplication with the following redirect URIs:
|
||
```
|
||
https://home.scrypted.app/web/oauth/callback
|
||
https://www.google.com
|
||
```
|
||
2. Open the API Dashboard and enable the following APIs:
|
||
* Smart Device Management API
|
||
* Cloud Pub/Sub: You will come back to this again below.
|
||
|
||
### Google Device Access Setup
|
||
1. Create the project.
|
||
2. Add the GCP client id.
|
||
3. Note the pub/sub topic.
|
||
|
||
### Scrypted Plugin Setup
|
||
1. Enter the GDA project id, GCP client id, and GCP secret.
|
||
2. Login.
|
||
3. Note the pubsub url.
|
||
|
||
### Google Cloud PubSub Setup
|
||
|
||
Create a pubsub *push* subscription and configure it using the previously noted GDA topic and Scrypted pubsub url.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
### Step by Step Guide Of The Above
|
||
|
||
1. Browse to https://console.developers.google.com/apis/credentials
|
||
2. In the top left bar, click the drop down
|
||
3. Select 'New Project'
|
||
4. Enter a project name eg NestScrypted
|
||
5. Click 'Create'
|
||
6. You will be taken back to the 'APIs and services' page
|
||
7. In the top left bar, click the drop down and choose your newly created project
|
||
8. You need to configure OAuth consent screen - click 'CONFIGURE CONSENT SCREEN' to the right of the page
|
||
9. Select 'External' and click 'Create'
|
||
10. Complete all mandatory fields
|
||
11. Click 'Save and continue' for the next 3 screens
|
||
12. Click 'BACK TO DASHBOARD'
|
||
13. In the left column, select 'Credentials'
|
||
14. At the top of the screen, click '+ CREATE CREDENTIALS'
|
||
15. Choose 'OAuth client ID'
|
||
16. From the drop down, choose 'Web application' as the application type
|
||
17. Enter a name eg Scrypted OAuth
|
||
18. Under 'Authorised redirect URIs' click '+ ADD URI' and enter https://home.scrypted.app/web/oauth/callback
|
||
19. Click '+ ADD URI' and add https://www.google.com
|
||
20. Make a note of the OAuth 'Your Client ID' and 'Your Client Secret' - these are to be entered into Scrypted plugin Google Device Access settings
|
||
21. Click 'Create'
|
||
22. On the left column, select 'OAuth consent screen'
|
||
23. Scroll down to '+ ADD TEST USERS'
|
||
24. Add your gmail email addresss as a test user
|
||
25. In the left column click 'Enable APIs and services'
|
||
26. At the top of the page, click '+ ENABLE APIS AND SERVICES'
|
||
27. Search for 'Smart Device Management API'
|
||
28. Click the result and select 'ENABLE'
|
||
29. In the left column click 'Enable APIs and services'
|
||
30. At the top of the page, click '+ ENABLE APIS AND SERVICES'
|
||
31. Search for 'Cloud pub/sub api'
|
||
32. Select 'Cloud pub/sub api'
|
||
33. Click 'ENABLE'
|
||
34. Browse to https://console.nest.google.com/device-access/project-list
|
||
35. Create a project
|
||
36. Enter a name for the project
|
||
37. Click 'Next'
|
||
38. Enter the OAuth Client ID from step 20 (the same details you recorded on the Scrypted plugin Google D9vice Access settings page)
|
||
40. Select 'Enable' and click 'Create Project'
|
||
41. Make a note of the Project ID - this is to be entered into Scrypted plugin Google Device Access settings page for Project ID
|
||
42. Make a note of the 'Pub/Sub Topic'
|
||
43. Go back to the Scrypte plugin and choose 'Login'
|
||
44. Select your email address
|
||
45. Select all the relevant devices you wish to access in Scrypted, wait for 10 seconds to allow any other options to become active to select
|
||
46. Select 'Next'
|
||
47. Choose your email account again
|
||
48. Click 'Continue' when prompted even though the app has not been verified
|
||
49. Click 'Continue' on the page stating 'scrypted.app wants to access your Google Account'
|
||
50. Your new devices will be added to Scrypted.
|
||
51. Now we need to setup the Google Cloud Pub/Sub - browse to https://console.cloud.google.com/cloudpubsub/subscription/list
|
||
52. Click on ‘Create Subscription’
|
||
53. In ‘Subscription ID’ field enter any value, eg ‘Scrypted’
|
||
54. Click the drop down title ‘Select a Cloud Pub/Sub topic’
|
||
55. Click on ‘ENTER TOPIC MANUALLY’
|
||
56. Enter the noted pub/sub topic from step 42 and click 'Save'
|
||
57. Change 'Delivery type' to Push
|
||
58. Enter the URL from Scrypted Google Device Access Settings page (bottom box - 'Pub/Sub Address') in the 'Endpoint URL'
|
||
59. Change ‘Message Retention’ to 1 hour rather than 7 days otherwise the system can get overloaded
|
||
60. Click ‘Create’
|