Skip to content

Commit

Permalink
Merge branch 'current' into rc
Browse files Browse the repository at this point in the history
  • Loading branch information
frenck committed Feb 7, 2024
2 parents 71082fc + 1522646 commit ae75499
Show file tree
Hide file tree
Showing 25 changed files with 518 additions and 220 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
- name: Check out files from GitHub
uses: actions/[email protected]
- name: Setting up Node.js
uses: actions/[email protected].1
uses: actions/[email protected].2
with:
node-version: 20
cache: "npm"
Expand All @@ -27,7 +27,7 @@ jobs:
- name: Check out files from GitHub
uses: actions/[email protected]
- name: Setting up Node.js
uses: actions/[email protected].1
uses: actions/[email protected].2
with:
node-version: 20
cache: "npm"
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ group :jekyll_plugins do
end

gem 'sinatra', '4.0.0'
gem 'nokogiri', '1.16.0'
gem 'nokogiri', '1.16.2'

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library
Expand Down
10 changes: 5 additions & 5 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ GEM
multi_json (1.15.0)
mustermann (3.0.0)
ruby2_keywords (~> 0.0.1)
nokogiri (1.16.0-x86_64-linux)
nokogiri (1.16.2-x86_64-linux)
racc (~> 1.4)
parallel (1.24.0)
parser (3.3.0.5)
Expand All @@ -84,7 +84,7 @@ GEM
prism (0.19.0)
public_suffix (5.0.4)
racc (1.7.3)
rack (3.0.8)
rack (3.0.9)
rack-protection (4.0.0)
base64 (>= 0.1.0)
rack (>= 3.0.0, < 4)
Expand Down Expand Up @@ -134,14 +134,14 @@ GEM
rack-protection (= 4.0.0)
rack-session (>= 2.0.0, < 3)
tilt (~> 2.0)
sorbet-runtime (0.5.11222)
sorbet-runtime (0.5.11230)
stringex (2.8.6)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
tilt (2.3.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2023.4)
tzinfo-data (1.2024.1)
tzinfo (>= 1.0.0)
unicode-display_width (2.5.0)
webrick (1.8.1)
Expand All @@ -156,7 +156,7 @@ DEPENDENCIES
jekyll-paginate (= 1.1.0)
jekyll-sitemap (= 1.4.0)
jekyll-toc (= 0.18.0)
nokogiri (= 1.16.0)
nokogiri (= 1.16.2)
rackup (= 2.1.0)
rake (= 13.1.0)
rubocop (= 1.60.2)
Expand Down
248 changes: 142 additions & 106 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"remark-lint-prohibited-strings": "^3.1.0",
"remark-lint-unordered-list-marker-style": "^3.1.2",
"remark-stringify": "^11.0.0",
"textlint": "^13.4.1",
"textlint": "^14.0.1",
"textlint-filter-rule-comments": "^1.2.2",
"textlint-rule-common-misspellings": "^1.0.1",
"textlint-rule-terminology": "^4.0.1"
Expand Down
4 changes: 2 additions & 2 deletions source/_integrations/advantage_air.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
title: Advantage Air
description: Instructions on how to integrate Advantage Air A/C controller into Home Assistant.
ha_category:
- Binary switch
- Binary sensor
- Climate
- Cover
- Light
- Select
- Sensor
- Switch
- Update
- Update
ha_release: 0.117
ha_iot_class: Local Polling
ha_config_flow: true
Expand Down
10 changes: 10 additions & 0 deletions source/_integrations/airnow.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,16 @@ To generate an AirNow API key, go to the [AirNow Developer Tools Page](https://d

{% include integrations/config_flow.md %}

## Troubleshooting

The EPA AirNow API is often flaky and will occasionally not return any results for a particular location. This will prevent the integration from being added to Home Assistant, but the situation is usually temporary and will resolve itself later.

If the integration continues to report "No results found for that location" and cannot be added to Home Assistant, please do the following before submitting a bug report.

First, navigate to the [AirNow Current Observations By Lat/Lon](https://docs.airnowapi.org/CurrentObservationsByLatLon/query) page, enter the same latitude/longitude and station radius, select `application/json` as the output format, select "Build" and then "Run".

If the query returns a result other than `[]`, open a bug report and include the query result (you may sanitize the data to remove your latitude and longitude, but please do not remove any fields). This information will help a lot to figure out the source of the issue.

<div class="note">

The AirNow API allows 500 data updates per hour, but since observations are only updated hourly, the default update rate is set to 2 per hour and should not trigger rate limiting. If you use this API key for other purposes, ensure the total request rate does not exceed 500 per hour.
Expand Down
4 changes: 4 additions & 0 deletions source/_integrations/blink.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ ha_integration_type: integration

The **Blink** {% term integration %} lets you view camera images and motion events from [Blink](https://blinkforhome.com/) camera and security systems.

<p class='note'>
This integration does NOT allow for live viewing of your Blink camera within Home Assistant.
</p>

## Setup

You will need your Blink login information (username, which is usually your email address, and password) to use this module.
Expand Down
3 changes: 2 additions & 1 deletion source/_integrations/brother.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ Some very old Brother printers use different data format and these models are no

## Configuring the printer

To enable SNMP, navigate to the printer's web interface (for example: `http://192.168.5.6`) and turn it on under Network / Protocol / SNMP.
To enable SNMP, navigate to the printer's web interface (for example: `http://192.168.5.6`) and turn it on under Network / Protocol / SNMP. For some models, access to the web interface is password-protected. For some printers, the default password is printed on a sticker on the back of the printer, preceded by "Pwd:". If the printer does not have a password on the sticker, the default password is "initpass".

For some Brother devices, `SNMPv3 read-write access and v1/v2c read-only access` is the option required (under advanced settings).

![SNMP settings on Brother Printer web interface](/images/integrations/brother/brother-printer-webui.png)
Expand Down
55 changes: 54 additions & 1 deletion source/_integrations/google_assistant_sdk.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,60 @@ The integration setup will next give you instructions to enter the [Application

{% enddetails %}

## Enable personal results (for advanced users)

This guide shows you how to enable personal commands such as "remind me tomorrow at 9 pm to take out the trash".

This guide is for advanced users only. It requires creating an OAuth client ID of the Desktop app, running a Python program on your desktop or laptop, copying the resulting credentials to your Home Assistant config files, and likely running an Android emulator.

### Prerequisites

- Successfully installed the Google Assistant integration.

{% details "Create credentials" %}

1. Navigate to [Google Developers Console > Credentials](https://console.cloud.google.com/apis/credentials).
2. Select the project you created earlier from the dropdown menu in the upper left corner.
3. Select **Create credentials** (at the top of the screen), then select **OAuth client ID**.
4. Set the Application type to **Desktop app** and give this credential set a name (like "Home Assistant Desktop Credentials").
5. Select **Create**.
6. In the OAuth client-created screen, select **Download JSON**.
7. Rename the downloaded file to `client_secret.json`.
8. On your Windows, Linux, or Mac machine, download Python if you don't have it already.
9. Open the terminal (on Windows, select **Start** and then type `cmd`).
10. In the terminal, run the following commands (preferably in a Python virtual environment):
11. `python -m pip install --upgrade google-auth-oauthlib[tool]`
- Under Windows: `google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype --scope https://www.googleapis.com/auth/gcm --save --client-secrets %userprofile%\Downloads\client_secret.json`
- Under Linux: `google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype --scope https://www.googleapis.com/auth/gcm --save --client-secrets ~/Downloads/client_secret.json`
- **Result**: A browser window will open, asking you to select the account to continue to the cloud project you created earlier.
12. Once you select the correct account, select both checkboxes:
- **Use your Google Assistant: broad access to your Google account**
- **Send information to your Android device**
13. Select **Continue**.
- **Result**: If everything was successful, you will get a **The authentication flow has completed. You may close this window** message in your browser.
- In your terminal you will see the path where the credentials were saved. For example: `credentials saved: C:\Users\user\AppData\Roaming\google-oauthlib-tool\credentials.json`
14. Open the `credentials.json` in a text editor. Keep it open since you will need to copy several values from it.
15. In the file editor of your Home Assistant, typically http://homeassistant.local:8123/core_configurator, open `/homeassistant/.storage/application_credentials`.
- Locate the entry for `google_assistant_sdk` and modify `client_id` and `client_secret` to match the ones from `credentials.json`.
- Save the file.
16. Open `/homeassistant/.storage/core.config_entries`.
- Locate the entry for `google_assistant_sdk` and modify `refresh_token` to match the one from `credentials.json`.
- Save the file.
17. Restart Home Assistant.

{% enddetails %}

{% details "Enable personal results" %}

1. Go to **{% my developer_services title="Developer Tools > Services" %}** and issue a query that requires personal results, for example call `google_assistant_sdk.send_text_command` with `command: "what is my name"`
2. On your phone, you should receive a notification **Allow personal answers** **Allow Google Assistant to answer your questions about your calendar, trips, and more**.
3. DO NOT tap on **ALLOW** (it won't work until you enter a device name). Instead, tap on the notification text.
4. If the app doesn't open, you need to retry on a device running Android 12. If you don't have such a device, you can use an Android emulator.
5. Tap on **Device Name**, enter any device name (like Home Assistant), and tap on **OK**.
6. Only after having a non-empty device name, enable the checkbox next to **Personal results**.

{% enddetails %}

## Troubleshooting

If you have an error with your credentials you can delete them in the [Application Credentials](/integrations/application_credentials/) user interface.
Expand All @@ -82,7 +136,6 @@ The easiest way to check if the integration is working is to check [My Google Ac
## Limitations/known issues

- Multiple Google accounts are not supported.
- Personal results are not supported yet since that requires creating an OAuth client ID of the Desktop app.
- If you see the issued commands in [My Google Activity](https://myactivity.google.com/myactivity), the integration is working fine. If the commands don't have the expected outcome, don't open an issue in the Home Assistant Core project or the [underlying library](https://github.com/tronikos/gassist_text). You should instead report the issue directly to Google [here](https://github.com/googlesamples/assistant-sdk-python/issues). Examples of known Google Assistant API issues:
- Media playback commands (other than play news, play podcast, play white noise, or play rain sounds) don't work.
- Routines don't work.
Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/influxdb.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The default InfluxDB configuration doesn't enforce authentication. If you have i
influxdb:
```
You will still need to create a database named `home_assistant` via InfluxDB's command-line interface. For instructions on how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed.
You will still need (not for version 2) to create a database named `home_assistant` via InfluxDB's command-line interface. For instructions on how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed.

{% configuration %}
api_version:
Expand Down
Loading

0 comments on commit ae75499

Please sign in to comment.