Skip to content

Commit

Permalink
Merge branch 'current' into next
Browse files Browse the repository at this point in the history
  • Loading branch information
frenck committed Oct 25, 2023
2 parents bf14f24 + 1a874b0 commit 8b6ebd2
Show file tree
Hide file tree
Showing 12 changed files with 39 additions and 43 deletions.
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ GEM
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.6)
rouge (4.1.3)
rouge (4.2.0)
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sass (3.4.25)
Expand Down
47 changes: 23 additions & 24 deletions source/_integrations/google_assistant.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
6. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant` in the **Fulfillment URL** textbox, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable.
7. Select **Save**.
8. Select the three little dots (more) icon in the upper right corner, select **Project settings**.
9. Make note of the **Project ID** that are listed on the **GENERAL** tab of the **Settings** page.
9. Make note of the **Project ID** that are listed on the **General** tab of the **Settings** page.
2. **Account linking** is required for your app to interact with Home Assistant.
1. Start by going back to the **Overview** tab.
2. Select on **Setup account linking** under the **Quick Setup** section of the **Overview** page.
Expand All @@ -73,18 +73,17 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
4. In the **Credentials** view, select **Create credentials** and next **Service account**.
1. **Service account name**: Give your account a self-selected name.
2. Select **Create and Continue**.
3. **Select a role**: **Service Accounts** and **Service Account Token Creator**.
4. Select **Continue**.
5. Select **Done**.
5. Under **Service Accounts** there should now be an account called [name from 4.1]@[projectname].iam.gserviceaccount.com.
6. Click on the pencil button of that service account.
7. Go to **Keys** and **ADD KEY**.
3. Under **Select a role**, select **Service Accounts** > **Service Account Token Creator**.
4. Select **Continue** and then **Done**.
5. Under **Service Accounts**, there should now be an account called [name from 4.1]@[projectname].iam.gserviceaccount.com.
6. Select the pencil button of that service account.
7. Go to **Keys** and **Add key**.
8. Create a private key, make sure it is in JSON format.
9. This will start a download of a JSON file.
9. This will start a download of a JSON file.
1. Rename the file to `SERVICE_ACCOUNT.JSON`.
2. Add this file to your config-folder. This will be the same folder as your `configuration.yaml`.
10. Go back to [Google Cloud Platform](https://console.cloud.google.com/) and select **Close**.
11. Then select **SAVE**.
11. Then select **Save**.
12. Go to the **Search products and resources** and search for **Homegraph API** and select it.
13. Enable the HomeGraph API.

Expand All @@ -95,39 +94,39 @@ To use Google Assistant, your Home Assistant configuration has to be [externally

<div class='note'>

If you've added Home Assistant to your phone's home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant redirecting back to the Google Home app.
If you've added Home Assistant to your phone's home screen, you have to first remove it from the home screen. Otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant redirecting back to the Google Home app.

</div>

### Allow Other Users
### Allow other users

If you want to allow other household users to control the devices:

1. Open the project you created in the [Actions on Google console](https://console.actions.google.com/).
2. Select **Test** on the top of the page, then select **Simulator** located to the page left, then click the three little dots (more) icon in the upper right corner of the console.
3. Select **Manage user access**. This redirects you to the Google Cloud Platform IAM permissions page.
4. Select **GRANT ACCESS** at the top of the page.
4. Select **Grant access** at the top of the page.
1. Enter the email address of the user you want to add.
2. Select **Select a role** and choose **Project** > **Viewer**.
3. Select **SAVE**.
3. Select **Save**.
4. Copy and share the Actions project link (`https://console.actions.google.com/project/YOUR_PROJECT_ID/simulator`) with the new user.
5. Have the new user open the link with their own Google account, agree to the Terms of Service popup. Then select **Start Testing**, select **VERSION - Draft** in the dropdown, and select **Done**.
5. Have the new user open the link with their own Google account, agree to the **Terms of Service** popup. Then select **Start Testing**, select **Version - Draft** in the dropdown, and select **Done**.
6. Have the new user go to their **Google Assistant** app to add `[test] your app name` to their account.

### Enable Device Sync
### Enable device sync

If you want to support active reporting of state to Google's server (configuration option `report_state`) and synchronize Home Assistant devices with the Google Home app (`google_assistant.request_sync` service), you will need to create a service account. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device in Home Assistant that you wish to control via the Google Assistant integration. This allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting)).

1. Service Account
1. In the Google Cloud Platform Console, go to the [Create Service account key](https://console.cloud.google.com/iam-admin/serviceaccounts/create) page.
2. At the top left of the page next to "Google Cloud Platform" logo, select your project created in the Actions on Google console. Confirm this by reviewing the project ID and it ensure it matches.
3. From the Service account list, select **CREATE SERVICE ACCOUNT**.
3. From the Service account list, select **Create service account**.
4. In the **Service account name** field, enter a name.
5. In the **Service account ID** field, enter an ID.
6. From the **Role** list, select **Service Accounts** > **Service Account Token Creator**.
7. Select **CONTINUE** and then **DONE**. You are returned to the service account list, and your new account is shown.
6. Under **Select a role**, select **Service Accounts** > **Service Account Token Creator**.
7. Select **Continue** and then **Done**. You are returned to the service account list, and your new account is shown.
8. Select the three dots menu under **Actions** next to your new account, and select **Manage keys**. You are taken to a **Keys** page.
9. Select **ADD KEY** then **Create new key**. Leave the **key type** as **JSON** and select **CREATE**. A JSON file that contains your key downloads to your computer.
9. Select **Add key** then **Create new key**. Leave the **key type** as **JSON** and select **Create**. A JSON file that contains your key downloads to your computer.
10. Use the information in this file or the file directly to add to the `service_account` key in the configuration.
11. Select **Close**.
2. HomeGraph API
Expand All @@ -136,7 +135,7 @@ If you want to support active reporting of state to Google's server (configurati
3. Select **Enable HomeGraph API**.
3. Try "OK Google, sync my devices" - the Google Home app should import your exposed Home Assistant devices and prompt you to assign them to rooms.

### Enable Local Fulfillment
### Enable local fulfillment

Google Assistant devices can send their commands locally to Home Assistant allowing them to respond faster.

Expand All @@ -162,7 +161,7 @@ For secure remote access, use a reverse proxy such as the {% my supervisor_addon
2. Select **Develop** on the top of the page, then select **Actions** located in the hamburger menu on the top left.
3. Upload `app.js` from [here](https://github.com/NabuCasa/home-assistant-google-assistant-local-sdk/releases/latest) for both Node and Chrome by selecting the **Upload JavaScript files** button.
4. Add device scan configuration:
1. Select **+ New scan config** if no configuration exists
1. Select **+ New scan config** if no configuration exists.
2. Select **MDNS**.
3. Set **MDNS service name** to `_home-assistant._tcp.local`
4. Select **Add field**, then under **Select a field**, choose **Name**.
Expand All @@ -175,7 +174,7 @@ For secure remote access, use a reverse proxy such as the {% my supervisor_addon

You can debug the setup by following [these instructions](https://developers.home.google.com/local-home/test#debugging_from_chrome).

### YAML Configuration
### YAML configuration

Now add your setup to your `configuration.yaml` file, such as:

Expand Down Expand Up @@ -297,7 +296,7 @@ Some of these devices may not display correctly in the Google Home app, such as

</div>

### Secure Devices
### Secure devices

Certain devices are considered secure. This includes devices in the `lock` domain, the `alarm_control_panel` domain, as well as `covers` with device types `door`, `garage`, or `gate`.

Expand All @@ -317,7 +316,7 @@ The automatic room assignment will not work when multiple homes are set up in yo

</div>

### Climate Operation Modes
### Climate operation modes

There is not an exact 1-1 match between Home Assistant and Google Assistant for the available operation modes.
Here are the modes that are currently available:
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/input_boolean.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ automations by using them in their {% term conditions %}.
The preferred way to configure input boolean helpers is via the user interface,
in which they are known as Toggle Helpers. To add one, go to
**{% my helpers title="Settings > Devices & Services > Helpers" %}** and click the add button;
next choose the **{% my config_flow_start domain=input_boolean title="Toggle" %}** option.
next choose the **{% my config_flow_start domain="input_boolean" title="Toggle" %}** option.

To be able to add **Helpers** via the user interface you should have
`default_config:` in your `configuration.yaml`, it should already be there by
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/input_button.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ like an automation.

The preferred way to configure button helpers is via the user interface.
To add one, go to **{% my helpers title="Settings -> Devices & Services -> Helpers" %}**
and click the add button; next choose the **{% my config_flow_start domain=input_button title="Button" %}** option.
and click the add button; next choose the **{% my config_flow_start domain="input_button" title="Button" %}** option.

To be able to add **Helpers** via the user interface you should have
`default_config:` in your `configuration.yaml`, it should already be there by
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/input_datetime.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The `input_datetime` integration allows the user to define date and time values
that can be controlled via the frontend and can be used within automations and
templates.

The preferred way to configure input datetime is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain=input_datetime title="Date and/or time" %}** option.
The preferred way to configure input datetime is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_datetime" title="Date and/or time" %}** option.

To be able to add **{% my helpers title="Helpers" %}** via the user interface you should have `default_config:` in your `configuration.yaml`, it should already be there by default unless you removed it.
If you removed `default_config:` from your configuration, you must add `input_datetime:` to your `configuration.yaml` first, then you can use the UI.
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/input_select.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ha_integration_type: helper

The `input_select` integration allows the user to define a list of values that can be selected via the frontend and can be used within conditions of an automation. When a user selects a new item, a state transition event is generated. This state event can be used in an `automation` trigger.

The preferred way to configure an input select is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain=input_select title="Dropdown" %}** option.
The preferred way to configure an input select is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_select" title="Dropdown" %}** option.

To be able to add **Helpers** via the user interface you should have `default_config:` in your `configuration.yaml`, it should already be there by default unless you removed it.
If you removed `default_config:` from you configuration, you must add `input_select:` to your `configuration.yaml` first, then you can use the UI.
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/input_text.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ha_integration_type: helper

The `input_text` integration allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. Changes to the value stored in the text box generate state events. These state events can be utilized as `automation` triggers as well. It can also be configured in password mode (obscured text).

The preferred way to configure an input text is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain=input_text title="Text" %}** option.
The preferred way to configure an input text is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Click the add button and then choose the **{% my config_flow_start domain="input_text" title="Text" %}** option.

To be able to add **Helpers** via the user interface you should have `default_config:` in your `configuration.yaml`, it should already be there by default unless you removed it.
If you removed `default_config:` from your configuration, you must add `input_text:` to your `configuration.yaml` first, then you can use the UI.
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/template.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ _For old sensor/binary sensor configuration format, [see below](#legacy-binary-s

# UI configuration

Sensor template and binary sensor template can be configured using the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Select the **+ Add helper** button and then select the **{% my config_flow_start domain=input_datetime title="Template" %}** helper.
Sensor template and binary sensor template can be configured using the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}**. Select the **+ Add helper** button and then select the **{% my config_flow_start domain=page.ha_domain title=page.title %}** helper.

To be able to add **{% my helpers title="Helpers" %}** via the user interface, you should have `default_config:` in your `configuration.yaml`. It should already be there by default unless you removed it.

Expand Down
5 changes: 1 addition & 4 deletions source/_integrations/timer.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,8 @@ However, automations using the `timer.finished` event **will not** trigger if th
</div>

## Configuration
The preferred way to configure timer helpers is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}** and click the add button; next choose the {% my config_flow_start domain=timer title="Timer" %} option.

You can also click the following button to be redirected to the Helpers page of your Home Assistant instance.

{% my helpers badge %}
The preferred way to configure timer helpers is via the user interface at **{% my helpers title="Settings > Devices & Services > Helpers" %}** and click the add button; next choose the {% my config_flow_start domain=page.ha_domain title=page.title %} option.

To be able to add Helpers via the user interface you should have `default_config:` in your `configuration.yaml`, it should already be there by default unless you removed it. If you removed `default_config:` from your configuration, you must add `timer:` to your `configuration.yaml` first, then you can use the UI.

Expand Down
2 changes: 1 addition & 1 deletion source/getting-started/integration.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: "Instructions to add an integration."
---
Let's start by adding your first {% term integration %} so that you can see and change a smart home {% term device %}.

From the sidebar, click on {% my integrations title="Settings > Devices & Services" %}. At this screen you will be able to set up integrations with Home Assistant. You might notice a *discovered* section. This section contains integrations that were found on your network and can easily be added with a few clicks. If your integrations are not discovered, click the **Add integration** button in the lower right and search for your integration in that list.
From the sidebar, select {% my integrations title="Settings > Devices & Services" %}. At this screen you will be able to set up integrations with Home Assistant. You might notice a **Discovered** section. This section contains integrations that were found on your network and can easily be added with a few clicks. If your integrations are not discovered, click the **Add integration** button in the lower right and search for your integration in that list.

In this example, we'll add a Chromecast to Home Assistant. Chromecast uses the [Google Cast integration](/integrations/cast). Although the below example has already discovered the device, let's add it manually.

Expand Down
6 changes: 3 additions & 3 deletions source/voice_control/thirteen-usd-voice-remote.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ your smart home. Issue commands and get responses!

## Installing the openWakeWord add-on

As a first step, you need to install the openWakeWord add on. This must be installed before setting up the ATOM Echo.
As a first step, you need to install the openWakeWord add-on. This must be installed before setting up the ATOM Echo.

1. Go to {% my supervisor_addon addon="core_openwakeword" title="**Settings** > **Add-ons** > **openWakeWord**" %} and select **Install**.
2. Start the add-on.
Expand Down Expand Up @@ -64,14 +64,14 @@ If you have used the ATOM Echo on Home Assistant before and have it installed vi
Before you can use this device with Home Assistant, you need to install a bit of software on it.

1. Make sure this page is opened in a Chromium-based browser on a desktop. It does not work on a tablet or phone.
- Select the **Connect** button below. If your browser does not support web serial, there is no button but a text.
- Select the **Connect** button below. If your browser does not support web serial, you will see a warning instead of a button.

<script type="module" src="https://unpkg.com/esp-web-tools@9/dist/web/install-button.js?module"></script>
<esp-web-install-button manifest="https://firmware.esphome.io/voice-assistant/m5stack-atom-echo/manifest.json"></esp-web-install-button>
- **For advanced users**: The configuration file is available on [GitHub](https://github.com/esphome/firmware/blob/main/voice-assistant/m5stack-atom-echo.yaml).

2. Connect the ATOM Echo to your computer.
- In the popup window, view the available ports.
- In the pop-up window, view the available ports.
- Plug the USB-C cable into the ATOM Echo and connect it to your computer.
- In the pop-up window, there should now appear a new entry. Select this USB serial port and select **Connect**.
- Depending on your computer, the entry might look different.
Expand Down
Loading

0 comments on commit 8b6ebd2

Please sign in to comment.