{ "application_credentials": { "description": "Follow the [instructions]({more_info_url}) to configure the Cloud Console:\n\n1. Go to the [OAuth consent screen]({oauth_consent_url}) and configure\n1. Go to [Credentials]({oauth_creds_url}) and select **Create Credentials**.\n1. From the drop-down list select **OAuth client ID**.\n1. Select **Web Application** for the Application Type.\n1. Add `{redirect_url}` under *Authorized redirect URI*." }, "config": { "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_account%]", "already_in_progress": "[%key:common::config_flow::abort::already_in_progress%]", "authorize_url_timeout": "[%key:common::config_flow::abort::oauth2_authorize_url_timeout%]", "invalid_access_token": "[%key:common::config_flow::error::invalid_access_token%]", "missing_configuration": "[%key:common::config_flow::abort::oauth2_missing_configuration%]", "missing_credentials": "[%key:common::config_flow::abort::oauth2_missing_credentials%]", "no_url_available": "[%key:common::config_flow::abort::oauth2_no_url_available%]", "oauth_error": "[%key:common::config_flow::abort::oauth2_error%]", "oauth_failed": "[%key:common::config_flow::abort::oauth2_failed%]", "oauth_implementation_unavailable": "[%key:common::config_flow::abort::oauth2_implementation_unavailable%]", "oauth_timeout": "[%key:common::config_flow::abort::oauth2_timeout%]", "oauth_unauthorized": "[%key:common::config_flow::abort::oauth2_unauthorized%]", "pubsub_api_error": "[%key:component::nest::config::error::pubsub_api_error%]", "reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]", "unknown_authorize_url_generation": "[%key:common::config_flow::abort::unknown_authorize_url_generation%]" }, "create_entry": { "default": "[%key:common::config_flow::create_entry::authenticated%]" }, "error": { "bad_project_id": "Please enter a valid Cloud Project ID (check Cloud Console)", "no_pubsub_topics": "No eligible Pub/Sub topics found, please ensure Device Access Console has a Pub/Sub topic.", "pubsub_api_error": "Unknown error talking to Cloud Pub/Sub, see logs", "subscriber_error": "Unknown subscriber error, see logs", "wrong_project_id": "Please enter a valid Cloud Project ID (was same as Device Access Project ID)" }, "step": { "cloud_project": { "data": { "cloud_project_id": "Google Cloud Project ID" }, "data_description": { "cloud_project_id": "The Google Cloud Project ID which can be obtained from the Cloud Console" }, "description": "Enter the Cloud Project ID below e.g. *example-project-12345*. See the [Google Cloud Console]({cloud_console_url}) or the documentation for [more info]({more_info_url}).", "title": "Nest: Enter Cloud Project ID" }, "create_cloud_project": { "description": "The Nest integration allows you to integrate your Nest Thermostats, Cameras, and Doorbells using the Smart Device Management API. The SDM API **requires a US $5** one-time setup fee. See documentation for [more info]({more_info_url}).\n\n1. Go to the [Google Cloud Console]({cloud_console_url}).\n1. If this is your first project, select **Create Project** then **New Project**.\n1. Give your Cloud Project a name and then select **Create**.\n1. Save the Cloud Project ID e.g. *example-project-12345* as you will need it later\n1. Go to API Library for [Smart Device Management API]({sdm_api_url}) and select **Enable**.\n1. Go to API Library for [Cloud Pub/Sub API]({pubsub_api_url}) and select **Enable**.\n\nProceed when your Cloud Project is set up.", "title": "Nest: Create and configure Cloud Project" }, "device_project": { "data": { "project_id": "Device Access Project ID" }, "data_description": { "project_id": "The Device Access Project ID which can be obtained from the Device Access Console" }, "description": "Create a Nest Device Access project which **requires paying Google a US $5 fee** to set up.\n1. Go to the [Device Access Console]({device_access_console_url}), and through the payment flow.\n1. Select on **Create project**\n1. Give your Device Access project a name and select **Next**.\n1. Enter your OAuth Client ID\n1. Skip enabling events for now and select **Create project**.\n\nEnter your Device Access Project ID below ([more info]({more_info_url})).", "title": "Nest: Create a Device Access Project" }, "oauth_discovery": { "description": "Home Assistant has found a Google Nest device on your network. Be aware that the setup of Google Nest is more complicated than most other integrations and requires setting up a Nest Device Access project which **requires paying Google a US $5 fee**. Press **Submit** to continue setting up Google Nest." }, "pick_implementation": { "data": { "implementation": "[%key:common::config_flow::data::implementation%]" }, "data_description": { "implementation": "[%key:common::config_flow::description::implementation%]" }, "title": "[%key:common::config_flow::title::oauth2_pick_implementation%]" }, "pubsub_subscription": { "data": { "subscription_name": "Pub/Sub subscription name" }, "data_description": { "subscription_name": "The Pub/Sub subscription name to receive Nest device updates" }, "description": "Home Assistant receives realtime Nest device updates with a Cloud Pub/Sub subscription for topic `{topic}`.\n\nSelect an existing subscription below if one already exists, or the next step will create a new one for you. See the integration documentation for [more info]({more_info_url}).", "title": "Configure Cloud Pub/Sub subscription" }, "pubsub_topic": { "data": { "topic_name": "Pub/Sub topic name" }, "data_description": { "topic_name": "The Pub/Sub topic name configured in the Device Access Console" }, "description": "Nest devices publish updates on a Cloud Pub/Sub topic. You can select an existing topic if one exists, or choose to create a new topic and the next step will create it for you with the necessary permissions. See the integration documentation for [more info]({more_info_url}).", "title": "Configure Cloud Pub/Sub topic" }, "pubsub_topic_confirm": { "description": "The Nest Device Access Console needs to be configured to publish device events to your Pub/Sub topic.\n\n1. Visit the [Device Access Console]({device_access_console_url}).\n2. Open the project.\n3. Enable *Events* and set the Pub/Sub topic name to `{topic_name}`\n4. Click *Add & Validate* to verify the topic is configured correctly.\n\nSee the integration documentation for [more info]({more_info_url}).", "submit": "Confirm", "title": "Enable events" }, "reauth_confirm": { "description": "The Nest integration needs to re-authenticate your account", "title": "[%key:common::config_flow::title::reauth%]" } } }, "device_automation": { "trigger_type": { "camera_motion": "Motion detected", "camera_person": "Person detected", "camera_sound": "Sound detected", "doorbell_chime": "Doorbell pressed" } }, "entity": { "event": { "chime": { "name": "Chime", "state_attributes": { "event_type": { "state": { "doorbell_chime": "[%key:component::nest::entity::event::chime::name%]" } } } }, "motion": { "name": "[%key:component::event::entity_component::motion::name%]", "state_attributes": { "event_type": { "state": { "camera_motion": "[%key:component::event::entity_component::motion::name%]", "camera_person": "Person", "camera_sound": "Sound" } } } } } }, "exceptions": { "auth_client_error": { "message": "Client error during authentication, please check your network connection." }, "auth_server_error": { "message": "Error response from authentication server, please see logs for details." }, "device_api_error": { "message": "Error communicating with the Device Access API, please see logs for details." }, "reauth_required": { "message": "Reauthentication is required, please follow the instructions in the UI to reauthenticate your account." }, "subscriber_error": { "message": "Subscriber failed to connect to Google, please see logs for details." }, "subscriber_timeout": { "message": "Subscriber timed out while attempting to connect to Google. Please check your network connection and IPv6 configuration if applicable." } }, "selector": { "subscription_name": { "options": { "create_new_subscription": "Create new subscription" } }, "topic_name": { "options": { "create_new_topic": "Create new topic" } } } }