@scrypted/google-device-access

0.0.99 • Public • Published

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 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
  1. 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)
  39. Select 'Enable' and click 'Create Project'
  40. Make a note of the Project ID - this is to be entered into Scrypted plugin Google Device Access settings page for Project ID
  41. Make a note of the 'Pub/Sub Topic'
  42. Go back to the Scrypte plugin and choose 'Login'
  43. Select your email address
  44. 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
  45. Select 'Next'
  46. Choose your email account again
  47. Click 'Continue' when prompted even though the app has not been verified
  48. Click 'Continue' on the page stating 'scrypted.app wants to access your Google Account'
  49. Your new devices will be added to Scrypted.
  50. Now we need to setup the Google Cloud Pub/Sub - browse to https://console.cloud.google.com/cloudpubsub/subscription/list
  51. Click on ‘Create Subscription’
  52. In ‘Subscription ID’ field enter any value, eg ‘Scrypted’
  53. Click the drop down title ‘Select a Cloud Pub/Sub topic’
  54. Click on ‘ENTER TOPIC MANUALLY’
  55. Enter the noted pub/sub topic from step 42 and click 'Save'
  56. Change 'Delivery type' to Push
  57. Enter the URL from Scrypted Google Device Access Settings page (bottom box - 'Pub/Sub Address') in the 'Endpoint URL'
  58. Change ‘Message Retention’ to 1 hour rather than 7 days otherwise the system can get overloaded
  59. Click ‘Create’

Package Sidebar

Install

npm i @scrypted/google-device-access

Weekly Downloads

65

Version

0.0.99

License

none

Unpacked Size

317 kB

Total Files

4

Last publish

Collaborators

  • billyzoellers
  • bjia56
  • koush
  • alexleeds