Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2023-04-05 10:00:42 +02:00
commit b8e9019a2d
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
26 changed files with 289 additions and 80 deletions

View File

@ -18,7 +18,7 @@ jobs:
app_id: ${{ secrets.PROJECTS_APP_ID }}
private_key: ${{ secrets.PROJECTS_APP_PEM }}
- name: Add to Project
uses: actions/add-to-project@v0.4.1
uses: actions/add-to-project@v0.5.0
with:
project-url: https://github.com/orgs/home-assistant/projects/10
github-token: ${{ steps.token.outputs.token }}

View File

@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.1)
addressable (2.8.3)
public_suffix (>= 2.0.2, < 6.0)
chunky_png (1.4.0)
colorator (1.1.0)
@ -115,7 +115,7 @@ GEM
tilt (2.1.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2023.2)
tzinfo-data (1.2023.3)
tzinfo (>= 1.0.0)
unicode-display_width (2.4.2)
webrick (1.8.1)

View File

@ -1194,7 +1194,6 @@ $ha__primary_color: #03a9f4;
.fab {
bottom: 12px;
right: 12px;
display: none;
}
#buy-dialog {

View File

@ -5,7 +5,7 @@ description: "All the different ways how automations can be triggered."
Triggers are what starts the processing of an automation rule. When _any_ of the automation's triggers becomes true (trigger _fires_), Home Assistant will validate the [conditions](/docs/automation/condition/), if any, and call the [action](/docs/automation/action/).
An automation can be triggered by an event, with a certain entity state, at a given time, and more. These can be specified directly or more flexible via templates. It is also possible to specify multiple triggers for one automation.
An automation can be triggered by an event, a certain entity state, at a given time, and more. These can be specified directly or more flexible via templates. It is also possible to specify multiple triggers for one automation.
- [Trigger ID](#trigger-id)
- [Trigger variables](#trigger-variables)

View File

@ -61,7 +61,7 @@ CT clamp sensors measure your energy usage by looking at the current passing thr
The off-the-shelf solution that we advise is the [Shelly EM](https://shop.shelly.cloud/shelly-em-2-x-120a-clamp-wifi-smart-home-automation?tracking=A7FsiPIfUWsFpnfKHa8SRyUYLXjr2hPq). The device has a local API, updates are pushed to Home Assistant and it has a high quality integration.
You can build your own using ESPHome's [CT Clamp Current sensor](https://esphome.io/components/sensor/ct_clamp.html) or energy meter sensors like the [ATM90E32](https://esphome.io/components/sensor/atm90e32.html). For the DIY route, check out [this video by digiblur](https://www.youtube.com/watch?v=n2XZzciz0s4) to get started.
You can build your own using ESPHome's [CT Clamp Current sensor](https://esphome.io/components/sensor/ct_clamp.html) or energy meter sensors like the [ATM90E32](https://esphome.io/components/sensor/atm90e32.html) or [PZEM-004T V3](https://esphome.io/components/sensor/pzemac.html). For the DIY route, check out [this video by digiblur](https://www.youtube.com/watch?v=n2XZzciz0s4) to get started.
_Attention! Installing CT clamp sensor devices requires opening your electrical cabinet. This work should be done by someone familiar with electrical wiring. Your qualified installer will know how to do this._

View File

@ -58,7 +58,7 @@ Your new application will now appear on the left. Upon clicking on the applicati
1. In the **Settings** -> **Devices & Services** menu, click **+** and then select "ecobee" from the pop-up menu.
2. In the pop-up box, enter the API key you obtained from ecobee's [developer portal](https://ecobee.com/developers).
3. In the next pop-up box, you will be presented with a unique four-character PIN code which you will need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by logging in, selecting **My Apps** from the hamburger menu, clicking **Add Application** on the left, entering the PIN code from Home Assistant, clicking **Validate** and then **Add Application** in the bottom right.
3. In the next pop-up box, you will be presented with a unique 8 character code separated by a dash (format: XXXX-XXXX), which you will need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by logging in, selecting **My Apps** from the hamburger menu, clicking **Add Application** on the left, entering the PIN code from Home Assistant, clicking **Validate** and then **Add Application** in the bottom right.
4. After authorizing the app with ecobee, return to Home Assistant and click **Submit**. If the authorization was successful, a configuration entry will be created and your thermostats, ventilators and sensors will be available in Home Assistant.
## Manual Configuration

View File

@ -20,7 +20,7 @@ ha_integration_type: integration
---
Supervisor integration allows you to monitor and control Supervisor add-ons and operating system from Home Assistant.
This integration is installed automatically if you run Home Assistant OS or Supervised.
This integration is already installed if you run Home Assistant OS or Supervised.
## Sensor entities

View File

@ -68,10 +68,11 @@ This integration requires an internet accessible incoming webhook to receive pus
## Setup instructions
After completing the prerequisite steps above you are ready to setup the integration! See [troubleshooting](#troubleshooting) if you are having issues setting up the integration.
After completing the prerequisite steps above, you are ready to setup the integration! See [troubleshooting](#troubleshooting) if you are having issues setting up the integration.
1. From Home Assistant, navigate to 'Configuration' then 'Integrations'. Click the plus icon and type/select 'SmartThings'.
1. Confirm the callback URL is correct. If using Home Assistant Cloud it will start with `https://hooks.nabuca.casa`. If the URL is not correct, update your Home Assistant configuration, restart, and try again.
{% include integrations/config_flow.md %}
1. Confirm the callback URL is correct. If using Home Assistant Cloud, it will start with `https://hooks.nabuca.casa`. If the URL is not correct, update your Home Assistant configuration, restart, and try again.
1. Enter your Personal Access Token.
1. Select the SmartThings Location to add to Home Assistant.
1. On the window that opens:

View File

@ -36,53 +36,48 @@ an application at Spotify using the Spotify Developer website. This will
provide you with the Spotify application credentials Home Assistant needs
to allow you to log in with your Spotify account.
1. If Spotify was previously integrated with your Home Assistant with _outdated_ credentials, it might be required to remove these old Spotify account credentials using the {% my application_credentials title="Home Assistant Application Credentials dashboard" %}.
1. If Spotify was previously integrated with your Home Assistant with _outdated_ credentials,
it might be required to remove these old Spotify account credentials using the
{% my application_credentials title="Home Assistant Application Credentials dashboard" %}.
2. Log in to the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard).
3. Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page.
4. Click the **CREATE AN APP** button in the top right. Enter a name and
description; feel free to use any name and description you like.
![Creating a Spotify Application](/images/integrations/spotify/create-spotify-application.png)
3. Click the [**Create app**](https://developer.spotify.com/dashboard/create) button in the top right.
4. Check the box to agree with the requirements and click the **CREATE** button
to confirm the application creation.
5. Spotify will now show the new application you have just created. Click on
the **EDIT SETTINGS** button to configure it. You will need to make a final
adjustment to this new application for it to work correctly.
![Spotify Developer Dashboard](/images/integrations/spotify/create-spotify-application.png)
![Edit the Spotify Application settings](/images/integrations/spotify/edit-settings.png)
4. Enter a name and description; feel free to use any name and description you like.
6. Next, we need to set the _"Redirect URI"_ to the following:
Set the _"Redirect URI"_ to the following:
`https://my.home-assistant.io/redirect/oauth`
Please copy and paste the exact URL above. You **do not** have to change it.
![Add a redirect URI to the Spotify Application](/images/integrations/spotify/redirect-uri.png)
![Creating a Spotify Application](/images/integrations/spotify/create-spotify-application.png)
Enter the above redirect URL into the _"Redirect URI"_ field (marked as 1).
and be sure to press the **ADD** button (marked as 2).
5. Check the box to agree with the requirements and click the **Save** button
to confirm the application creation.
7. Save the application settings by scrolling down the current page and
clicking the **SAVE** button at the bottom left.
6. Spotify will now show the new application you have just created. Click on
the **Settings** button in the top right to configure it.
![Make sure to save the Spotify Application settings changes](/images/integrations/spotify/save-application.png)
![Edit the Spotify Application settings](/images/integrations/spotify/edit-settings.png)
8. You now have successfully created a Spotify application! Before we
can start configuring Home Assistant, we need to grab the application
7. Before we can start configuring Home Assistant, we need to grab the application
credentials Home Assistant needs.
Click on the **SHOW CLIENT SECRET** button to reveal the client secret.
Click on the **View client secret** button to reveal the client secret.
![Show the client secret of the Spotify Application](/images/integrations/spotify/show-client-secret.png)
9. The _"Client ID"_ and _"Client Secret"_ are the two pieces of information
8. The _"Client ID"_ and _"Client secret"_ are the two pieces of information
that Home Assistant needs to communicate with Spotify and is what we
call: Application credentials.
![Get the application credentials from the Spotify Application](/images/integrations/spotify/application-credentials.png)
You will need the _"Client ID"_ and _"Client Secret"_ during the Spotify
You will need the _"Client ID"_ and _"Client secret"_ during the Spotify
integration setup process in Home Assistant.
You can now continue with the next chapter to configure the Spotify integration

View File

@ -153,7 +153,7 @@ latest_version_topic:
required: false
type: string
name:
description: The name of the Select.
description: The name of the Update.
required: false
type: string
object_id:
@ -191,7 +191,7 @@ title:
required: false
type: string
unique_id:
description: An ID that uniquely identifies this Select. If two Selects have the same unique ID Home Assistant will raise an exception.
description: An ID that uniquely identifies this Update. If two Updates have the same unique ID Home Assistant will raise an exception.
required: false
type: string
value_template:

View File

@ -259,34 +259,6 @@ Call this service to use the Command Class API directly. In most cases, the `zwa
| `method_name` | yes | The name of the method that is being called from the CC API. |
| `parameters` | yes | A list of parameters to pass to the CC API method. |
### Service `zwave_js.ping`
> NOTE: This service has been deprecated and replaced with a new button entity. The service will still work for now but will be removed in a future release. Users are advised to move their automations to use the `button.press` service with the new entity which is a like for like replacement.
Calling this service forces Z-Wave JS to try to reach a node. This can be used to update the status of the node in the Z-Wave network when you think it doesn't accurately reflect reality, e.g. reviving a failed/dead node or marking the node as asleep.
| Service Data Attribute | Required | Description |
|------------------------ |---------- |-------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | Entity (or list of entities) to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `device_id` | no | Device ID (or list of device IDs) to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
| `area_id` | no | Area ID (or list of area IDs) for devices/entities to ping. At least one `entity_id`, `device_id`, or `area_id` must be provided. |
This service can be used in tandem with the node status sensor to track the node's status and fire the command when needed. Here's an example automation that would ping a node when the node status sensor state has changed to dead and remained dead for 30 minutes. Note that this may be useful for some devices but will definitely not be useful for all. In cases where it is not useful, all you will be doing is generating additional traffic on your Z-Wave network which could slow down communication.
```yaml
trigger:
platform: state
entity_id:
- sensor.z_wave_thermostat_node_status
- sensor.z_wave_lock_node_status
to: "dead"
for: "00:30:00"
action:
- service: zwave_js.ping
target:
entity_id: "{{ trigger.entity_id }}"
```
### Service `zwave_js.reset_meter`
This service will reset the meters on a device that supports the Meter Command Class.

View File

@ -81,17 +81,10 @@ layout: page
"scroll",
function (e) {
const header = document.querySelector(".site-header");
const fab = document.querySelector(".fab");
if (e.currentTarget.scrollTop > 180) {
header.style.backgroundColor = "#ffffff";
if (fab) {
fab.style.display = "flex";
}
} else {
header.style.backgroundColor = "#ffffff66";
if (fab) {
fab.style.display = "none";
}
}
},
{ passive: true, capture: true }

View File

@ -0,0 +1,127 @@
---
layout: post
title: "Android 2023.3: Multiple servers & Windows 11 app"
description: "It's finally here: add multiple servers to the Home Assistant Android app, install the app on Windows 11 devices and more!"
date: 2023-03-30 00:00:00
date_formatted: "March 30, 2023"
author: Joris Pelgröm
comments: true
categories:
- Release-Notes
og_image: /images/blog/2023-03-30-android/social.png
---
![Home Assistant logo with 'Android Companion 2023.3' text](/images/blog/2023-03-30-android/social.png)
It's finally here, one of the most common feature requests for the Home Assistant
Android Companion app: you can now configure multiple Home Assistant servers. The
app can send sensor updates to all servers and easily mix and match widgets, tiles,
and controls for different servers 🎉
Plus, a preview of the Home Assistant app is now available via the Amazon Appstore
on Windows 11, which allows you to quickly connect your computer to Home Assistant.
There are also other changes that add some polish to the app and improve support
for features in the latest Home Assistant releases, so let's dig into the update!
## Configure multiple Home Assistant servers
Sometimes, one Home Assistant instance is not enough. You like Home Assistant so
much that you decide to help someone else get started, there's a second home in
your life, or you regularly visit someplace else where they're using Home Assistant.
Before this update, if you wanted to access more than one server it was a bit of a
hassle. Switching apps, creating bookmarks, and using different profiles. Let alone
connecting your Android device to multiple servers for features like sensors
and notifications.
This issue now belongs to the past, as there's a new option in **{% my config title="Settings" %}** >
**Companion app** to configure a second server, and another one after that, and another...
They will all show up in the app, and you can use all features you've come to
expect, like lots of sensors for your device and support for push notifications.
Each one gets individual settings, so if you don't want to share your step count
and enable location tracking everywhere, that's OK.
![Screenshots of a phone showing different dashboards in the app, one of them showing a pop-up titled 'Choose server'](/images/blog/2023-03-30-android/multiserver.png)
That's not all - you can also use all servers _outside_ the app, mixing and
matching servers when using shortcuts, notifications, widgets, tiles and controls.
Toggling lights from three different homes side-by-side? No problem!
Note: the Wear OS app does not yet support multiple servers.
## Now available on Windows 11 (preview)
The Home Assistant Android Companion app is now available [via the Amazon Appstore]
on [supported Windows 11 devices]. While there are already great options to integrate your
computer from the community out there, the Companion app makes it easy to start
and benefits from all the work on the Android app, frequently adding new features.
![Screenshot of the Home Assistant Android app on a Windows 11 device](/images/blog/2023-03-30-android/windows.png)
Windows does not always provide correct information to the app and may shut down
background work, including sensors, after several minutes, which is why we are
releasing Windows 11 support for the app as a preview. Android support in Windows
11 continues to get better and we intend to make adjustments to improve the
experience in the future.
[via the Amazon Appstore]: amzn://apps/android?asin=B09RP3DM5T
[supported Windows 11 devices]: https://support.microsoft.com/windows/f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c
## Refining Wear OS
The Home Assistant app has been available for over a year now on Wear OS watches
and continues to improve. Earlier this year, initial support for Assist was added,
and in this update [@dshokouhi] made it easier to access using a watchface
complication. Now Assist is only a tap away!
Got a lot of entities and want to hide the clutter on your watch? You could already
add favorites which would be displayed at the top of the app, but it would still load
all entities below them. Now, there is an option to only show favorites to reduce
what gets loaded and prevent accidental changes. Try it out and let us know if you
prefer this more focused experience!
![Screenshots of a Wear OS device, showing an Assist complication a watchface, updated launch screen, and favorites only home screen](/images/blog/2023-03-30-android/wear.png)
[@SkechyWolf] and [@dshokouhi] also worked on the look and feel of the app to make it
fit in better with other modern Wear apps.
[@SkechyWolf]: https://github.com/SkechyWolf
[@dshokouhi]: https://github.com/dshokouhi
<!--more-->
## Other noteworthy changes
There's more in this update, here are some highlights:
- Any sensor with a location attached will now show up for navigation when using Android
Auto. Nice one, [@dshokouhi]!
- [@jpelgrom] added initial support for the new Thread integration in 2023.3. Thank you!
- [@Adi146] and [@dshokouhi] worked to make the Beacon Monitor more reliable when in the
background and when toggling it on and off, nice to see improvements!
- Put a lot of work in a custom dashboard, only to have it break on your phone because of
text that is ever so slightly too small or unwanted auto-rotation? No more, as [@dmiales]
tweaked settings to prevent this from happening!
- Got a notification that should only show up on your watch? In the previous update, support
was added for notifications to the Wear OS app, and in this update work continues by
[@dshokouhi], with the app now supporting TTS notifications.
Even more people worked on fixing bugs in this update, like [@Suxsem] and [@JBassett]. Thanks
to all of those who contributed. If you have a good idea to improve the app or found a bug to
fix, feel free to [join us on the forums] or [contribute on GitHub].
[join us on the forums]: https://community.home-assistant.io/c/mobile-apps/android-companion/42
[contribute on GitHub]: https://github.com/home-assistant/android
[@Adi146]: https://github.com/Adi146
[@dmiales]: https://github.com/dmiales
[@JBassett]: https://github.com/JBassett
[@jpelgrom]: https://github.com/jpelgrom
[@Suxsem]: https://github.com/Suxsem
## All changes
You can find a complete list of all changes made for this update here:
[Full changelog for Home Assistant Android 2023.3.0].
[Full changelog for Home Assistant Android 2023.3.0]: https://github.com/home-assistant/android/releases/tag/2023.3.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -26,6 +26,48 @@ frontpage_image: /images/skyconnect/skyconnect-cover.png
max-width: 750px;
margin: 100px auto;
}
.material-card .documentation-card svg {
height: 42px;
max-width: 42px;
min-width: 42px;
align-self: center;
}
.material-card .documentation-card {
text-decoration: none !important;
color: black !important;
display: flex;
flex-direction: row;
justify-content: space-between;
margin: 8px 0;
}
.material-card .documentation-card .content-container {
display: flex;
}
.material-card .documentation-card .content-container div:first-of-type {
margin-right: 24px;
}
.material-card .documentation-card .content-container div:first-of-type img, .material-card .documentation-card .content-container div:first-of-type svg {
max-width: 170px;
max-height: 170px;
min-width: 170px;
min-height: 170px;
padding: 32px;
border-radius: 3px;
box-shadow: rgba(0,0,0,0.06) 0 0 10px;
vertical-align: middle;
border: 5px solid #fff;
}
.material-card .documentation-card div {
display: flex;
align-items: center;
}
</style>
<div class="content">
@ -175,6 +217,25 @@ frontpage_image: /images/skyconnect/skyconnect-cover.png
<div style="margin-top: 24px; text-align: center; font-size: .8rem;">
1: Relies on the experimental EmberZNet support in Zigbee2MQTT.
</div>
<div class="material-card text spaced-card" style="margin-top: 72px;">
<a href="https://skyconnect.home-assistant.io/" target="_blank"
class="documentation-card">
<div class="content-container">
<div>
<svg width="24" height="24" viewBox="0 0 24 24">
<path
d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6H6m0 2h7v5h5v11H6V4m2 8v2h8v-2H8m0 4v2h5v-2H8Z"
/>
</svg>
</div>
<div>
<h1>View documentation</h1>
</div>
</div>
{% include assets/chevron_right.html %}
</a>
</div>
<div id="buy-dialog" class="dialog">
<div class="material-card text dialog-content">
@ -378,7 +439,7 @@ frontpage_image: /images/skyconnect/skyconnect-cover.png
</div>
<div
class="fab"
class="fab" style="position: fixed; top: 78px; height: 48px;"
onclick="showBuyDialog()"
title="pre-order Home Assistant SkyConnect"
>

View File

@ -60,6 +60,47 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
flex-direction: column;
}
}
.material-card .documentation-card svg {
height: 42px;
max-width: 42px;
min-width: 42px;
align-self: center;
}
.material-card .documentation-card {
text-decoration: none !important;
color: black !important;
display: flex;
flex-direction: row;
justify-content: space-between;
margin: 8px 0;
}
.material-card .documentation-card .content-container {
display: flex;
}
.material-card .documentation-card .content-container div:first-of-type {
margin-right: 24px;
}
.material-card .documentation-card .content-container div:first-of-type img, .material-card .documentation-card .content-container div:first-of-type svg {
max-width: 170px;
max-height: 170px;
min-width: 170px;
min-height: 170px;
padding: 32px;
border-radius: 3px;
box-shadow: rgba(0,0,0,0.06) 0 0 10px;
vertical-align: middle;
border: 5px solid #fff;
}
.material-card .documentation-card div {
display: flex;
align-items: center;
}
</style>
@ -122,7 +163,7 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
</div>
<div class="material-card spaced-card">
<img src="/images/yellow/home-assistant-yellow-exploded-and-labeled.png">
<a href="https://yellow.home-assistant.io/yellow-v1.2-standard/" target="_blank"><img src="/images/yellow/home-assistant-yellow-exploded-and-labeled.png"></a>
</div>
<div class="material-card text spaced-card">
@ -150,7 +191,7 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
<div class="yellow-variant">
<div><img src="/images/yellow/yellow-2d.jpg" alt="2D overview of the content of the Home Assistant Yellow Kit"></div>
<div>
<b>Yellow Kit with Power Supply</b><br>
<b>Yellow Kit with power supply</b><br>
<a href="https://yellow.home-assistant.io/power-supply/">Some assembly required!</a> This kit includes everything in the flagship version except the Raspberry Pi Compute Module 4.
<br><br>
This option allows you to pick the compute module with the memory and eMMC storage to fit your needs. You will need to install Home Assistant on the compute module you provide. Custom enclosure, custom heat sink, and Ethernet cable included. This version comes with a power supply, but does not support Power-over-Ethernet.
@ -160,14 +201,14 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
<div class="material-card text spaced-card">
<h1>Open Hardware</h1>
<h1>Open hardware</h1>
<p>
We spend a lot of time and resources on getting our products to work great. We want to make it possible for other people to study our work and be able to learn how to make great products for the smart home, so we've released the schematics of Yellow as open-source.
<a href="https://yellow.home-assistant.io/yellow-v1.2-standard/">Explore the board</a> and <a href="https://github.com/NabuCasa/yellow/">view the source.</a>
</p>
</div>
<div class="sub-title">Features & Specifications</div>
<div class="sub-title">Features & specifications</div>
<div class="flex">
<ul>
<li>
@ -258,6 +299,26 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
</ul>
</div>
<div class="material-card text spaced-card">
<a href="https://yellow.home-assistant.io/" target="_blank"
class="documentation-card">
<div class="content-container">
<div>
<svg width="24" height="24" viewBox="0 0 24 24">
<path
d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6H6m0 2h7v5h5v11H6V4m2 8v2h8v-2H8m0 4v2h5v-2H8Z"
/>
</svg>
</div>
<div>
<h1>View documentation</h1>
</div>
</div>
{% include assets/chevron_right.html %}
</a>
</div>
<div id="buy-dialog" class="dialog">
<div class="material-card text dialog-content">
<div class="close-container"></div>
@ -311,7 +372,7 @@ frontpage_image: /images/frontpage/yellow-frontpage.jpg
</div>
<div
class="fab"
class="fab" style="position: fixed; top: 78px; height: 48px;"
onclick="showBuyDialog()"
title="pre-order Home Assistant Yellow"
>