npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@scrypted/google-device-access

v0.0.99

Published

The Google Device Access Plugin allows you to import and control your Nest and Google devices from Scrypted.

Downloads

409

Readme

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
  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’