mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-19 15:26:59 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
3e34cf111c
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v6.0.1
|
||||
- uses: actions/stale@v7.0.0
|
||||
if: ${{ github.repository_owner == 'home-assistant' }}
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
2
Gemfile
2
Gemfile
@ -19,7 +19,7 @@ group :jekyll_plugins do
|
||||
gem 'jekyll-toc', '0.17.1'
|
||||
end
|
||||
|
||||
gem 'sinatra', '3.0.4'
|
||||
gem 'sinatra', '3.0.5'
|
||||
gem 'nokogiri', '1.13.10'
|
||||
|
||||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
|
21
Gemfile.lock
21
Gemfile.lock
@ -27,6 +27,8 @@ GEM
|
||||
ffi (1.15.5)
|
||||
ffi (1.15.5-x64-mingw32)
|
||||
forwardable-extended (2.6.0)
|
||||
google-protobuf (3.21.12)
|
||||
google-protobuf (3.21.12-x64-mingw32)
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.12.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
@ -49,8 +51,8 @@ GEM
|
||||
jekyll-commonmark (1.4.0)
|
||||
commonmarker (~> 0.22)
|
||||
jekyll-paginate (1.1.0)
|
||||
jekyll-sass-converter (2.2.0)
|
||||
sassc (> 2.0.1, < 3.0)
|
||||
jekyll-sass-converter (3.0.0)
|
||||
sass-embedded (~> 1.54)
|
||||
jekyll-sitemap (1.4.0)
|
||||
jekyll (>= 3.7, < 5.0)
|
||||
jekyll-toc (0.17.1)
|
||||
@ -81,27 +83,32 @@ GEM
|
||||
public_suffix (5.0.1)
|
||||
racc (1.6.1)
|
||||
rack (2.2.4)
|
||||
rack-protection (3.0.4)
|
||||
rack-protection (3.0.5)
|
||||
rack
|
||||
rake (13.0.6)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rexml (3.2.5)
|
||||
rouge (4.0.0)
|
||||
rouge (4.0.1)
|
||||
ruby2_keywords (0.0.5)
|
||||
safe_yaml (1.0.5)
|
||||
sass (3.4.25)
|
||||
sass-embedded (1.57.1)
|
||||
google-protobuf (~> 3.21)
|
||||
rake (>= 10.0.0)
|
||||
sass-embedded (1.57.1-x64-mingw32)
|
||||
google-protobuf (~> 3.21)
|
||||
sass-globbing (1.1.5)
|
||||
sass (>= 3.1)
|
||||
sassc (2.1.0)
|
||||
ffi (~> 1.9)
|
||||
sassc (2.1.0-x64-mingw32)
|
||||
ffi (~> 1.9)
|
||||
sinatra (3.0.4)
|
||||
sinatra (3.0.5)
|
||||
mustermann (~> 3.0)
|
||||
rack (~> 2.2, >= 2.2.4)
|
||||
rack-protection (= 3.0.4)
|
||||
rack-protection (= 3.0.5)
|
||||
tilt (~> 2.0)
|
||||
stringex (2.8.5)
|
||||
terminal-table (3.0.2)
|
||||
@ -129,7 +136,7 @@ DEPENDENCIES
|
||||
rake (= 13.0.6)
|
||||
sass-globbing (= 1.1.5)
|
||||
sassc (= 2.1.0)
|
||||
sinatra (= 3.0.4)
|
||||
sinatra (= 3.0.5)
|
||||
stringex (= 2.8.5)
|
||||
tzinfo (~> 2.0)
|
||||
tzinfo-data
|
||||
|
@ -110,8 +110,8 @@ social:
|
||||
# Home Assistant release details
|
||||
current_major_version: 2022
|
||||
current_minor_version: 12
|
||||
current_patch_version: 6
|
||||
date_released: 2022-12-14
|
||||
current_patch_version: 8
|
||||
date_released: 2022-12-21
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -14,6 +14,6 @@ Unless you really need this installation type, you should install Home Assistant
|
||||
supported). So, make sure you understand the requirements from step 1 above.
|
||||
3. Then head over to <a href="https://github.com/home-assistant/supervised-installer" target="_blank">home-assistant/supervised-installer</a> to set it up.
|
||||
|
||||
Once the Home Assistant Supervised installation is running and Home Assistant accessible you can continue with onboarding.
|
||||
Once the Home Assistant Supervised installation is running and Home Assistant is accessible you can continue with onboarding.
|
||||
|
||||
{% include getting-started/next_step.html step="Onboarding" link="/getting-started/onboarding/" %}
|
||||
|
@ -34,7 +34,7 @@ The preferred method for setting this up is by using the configuration flow. Go
|
||||
|
||||
1. You are sent an email asking for you to allow Home Assistant to access Blink. In this case, leave the pin field blank and hit `Submit`.
|
||||
|
||||
2. You are sent an email containing a 2FA pin. In this case, please enter the pin and hit `Submit`.
|
||||
2. You are sent an email or SMS containing a 2FA pin. In this case, please enter the pin and hit `Submit`.
|
||||
|
||||
Your integration will then set up. Given that setup is asynchronous, you may see your sensors before they have finished extracting data from the Blink servers. After a few minutes (at most) this information should populate.
|
||||
|
||||
|
@ -13,7 +13,11 @@ ha_platforms:
|
||||
ha_integration_type: integration
|
||||
---
|
||||
|
||||
The `netdata` sensor platform allows you to display information collected by [Netdata](https://my-netdata.io/).
|
||||
The `netdata` sensor platform allows you to display information collected by [Netdata](https://www.netdata.cloud/).
|
||||
|
||||
## Prerequisites
|
||||
|
||||
A running Netdata instance, accessible from your Home Assistant instance. For more information on setting up Netdata, [check out their documentation](https://learn.netdata.cloud/docs/).
|
||||
|
||||
## Setup
|
||||
|
||||
|
@ -35,3 +35,5 @@ name:
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
You may need to enable/start the PJ Talk service under your projector's web interface Advanced Settings.
|
||||
|
@ -329,7 +329,9 @@ If the template accesses every state on the system, a rate limit of one update p
|
||||
|
||||
### Startup
|
||||
|
||||
If you are using the state of a platform that might not be available during startup, the Template Sensor may get an `unknown` state. To avoid this, use `is_state()` function in your template. For example, you would replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an `unknown` result:
|
||||
If you are using the state of a platform that might not be available during startup, the Template Sensor may get an `unknown` state. To avoid this, use the `states()` function in your template. For example, you should replace {% raw %}`{{ states.sensor.moon.state }}`{% endraw %} with this equivalent that returns the state and never results in `unknown`: {% raw %}`{{ states('sensor.moon') }}` {% endraw %}.
|
||||
|
||||
The same would apply to the `is_state()` function. You should replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an `unknown` result:
|
||||
|
||||
{% raw %}
|
||||
|
||||
|
@ -3,7 +3,7 @@ title: "MQTT Text"
|
||||
description: "Instructions on how to interact with a device exposing text capability through MQTT from within Home Assistant."
|
||||
ha_category:
|
||||
- Text
|
||||
ha_release: "2021.12"
|
||||
ha_release: "2022.12"
|
||||
ha_iot_class: Configurable
|
||||
ha_domain: mqtt
|
||||
---
|
||||
|
@ -61,6 +61,8 @@ This platform allows you to detect presence by looking at devices connected to a
|
||||
|
||||
### Troubleshooting and Time Synchronization
|
||||
|
||||
If tracked devices continue to show "Home" when not connect/present and show connected in the UniFi Controller, disable 802.11r Fast Roaming. When enabled, it has been observed on the various UniFi Controller versions, failure to declare disconnected clients.
|
||||
|
||||
Presence detection depends on accurate time configuration between Home Assistant and the UniFi Network application.
|
||||
|
||||
If Home Assistant and the UniFi Network application are running on separate machines or VMs ensure that all clocks are synchronized. Failing to have synchronized clocks will lead to Home Assistant failing to mark a device as home.
|
||||
|
@ -66,6 +66,8 @@ Happy holidays and for the last time in 2022: Enjoy the release!
|
||||
- [Release 2022.12.4 - December 12](#release-2022124---december-12)
|
||||
- [Release 2022.12.5 - December 13](#release-2022125---december-13)
|
||||
- [Release 2022.12.6 - December 14](#release-2022126---december-14)
|
||||
- [Release 2022.12.7 - December 17](#release-2022127---december-17)
|
||||
- [Release 2022.12.8 - December 21](#release-2022128---december-21)
|
||||
- [Need help? Join the community!](#need-help-join-the-community)
|
||||
- [Breaking Changes](#breaking-changes)
|
||||
- [Farewell to the following](#farewell-to-the-following)
|
||||
@ -567,6 +569,115 @@ The following integrations are now available via the Home Assistant UI:
|
||||
[sleepiq docs]: /integrations/sleepiq/
|
||||
[zha docs]: /integrations/zha/
|
||||
|
||||
## Release 2022.12.7 - December 17
|
||||
|
||||
- Bump pySwitchbot to 0.23.2 ([@bdraco] - [#84002]) ([switchbot docs])
|
||||
- Re-add missing Growatt TLX values ([@muppet3000] - [#84040]) ([growatt_server docs])
|
||||
- Update frontend to 20221213.1 ([@bramkragten] - [#84058]) ([frontend docs])
|
||||
- Bump govee-ble to 0.19.3 ([@bdraco] - [#84062]) ([govee_ble docs])
|
||||
- Update Tibber lib, improve realtime streaming ([@Danielhiversen] - [#84065]) ([tibber docs])
|
||||
- Bump bluetooth-auto-recovery to 1.0.3 ([@bdraco] - [#84075]) ([bluetooth docs])
|
||||
- Make sure philips_hs remote entity calls parent added ([@elupus] - [#84082]) ([philips_js docs])
|
||||
- Bump ical to 4.2.3 ([@allenporter] - [#84104]) ([local_calendar docs])
|
||||
- Fix check if Surveillance Station is available in Synology DSM ([@mib1185] - [#84140]) ([synology_dsm docs])
|
||||
- Fix KNX ConfigFlow for manual secure tunnel keys ([@farmio] - [#84155]) ([knx docs])
|
||||
|
||||
[#83482]: https://github.com/home-assistant/core/pull/83482
|
||||
[#83592]: https://github.com/home-assistant/core/pull/83592
|
||||
[#83778]: https://github.com/home-assistant/core/pull/83778
|
||||
[#83797]: https://github.com/home-assistant/core/pull/83797
|
||||
[#83870]: https://github.com/home-assistant/core/pull/83870
|
||||
[#83944]: https://github.com/home-assistant/core/pull/83944
|
||||
[#83998]: https://github.com/home-assistant/core/pull/83998
|
||||
[#84002]: https://github.com/home-assistant/core/pull/84002
|
||||
[#84040]: https://github.com/home-assistant/core/pull/84040
|
||||
[#84058]: https://github.com/home-assistant/core/pull/84058
|
||||
[#84062]: https://github.com/home-assistant/core/pull/84062
|
||||
[#84065]: https://github.com/home-assistant/core/pull/84065
|
||||
[#84075]: https://github.com/home-assistant/core/pull/84075
|
||||
[#84082]: https://github.com/home-assistant/core/pull/84082
|
||||
[#84104]: https://github.com/home-assistant/core/pull/84104
|
||||
[#84140]: https://github.com/home-assistant/core/pull/84140
|
||||
[#84155]: https://github.com/home-assistant/core/pull/84155
|
||||
[@Danielhiversen]: https://github.com/Danielhiversen
|
||||
[@allenporter]: https://github.com/allenporter
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bdraco]: https://github.com/bdraco
|
||||
[@bramkragten]: https://github.com/bramkragten
|
||||
[@elupus]: https://github.com/elupus
|
||||
[@farmio]: https://github.com/farmio
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@mib1185]: https://github.com/mib1185
|
||||
[@muppet3000]: https://github.com/muppet3000
|
||||
[abode docs]: /integrations/abode/
|
||||
[accuweather docs]: /integrations/accuweather/
|
||||
[bluetooth docs]: /integrations/bluetooth/
|
||||
[braviatv docs]: /integrations/braviatv/
|
||||
[cast docs]: /integrations/cast/
|
||||
[fritzbox docs]: /integrations/fritzbox/
|
||||
[frontend docs]: /integrations/frontend/
|
||||
[govee_ble docs]: /integrations/govee_ble/
|
||||
[growatt_server docs]: /integrations/growatt_server/
|
||||
[justnimbus docs]: /integrations/justnimbus/
|
||||
[knx docs]: /integrations/knx/
|
||||
[local_calendar docs]: /integrations/local_calendar/
|
||||
[philips_js docs]: /integrations/philips_js/
|
||||
[sleepiq docs]: /integrations/sleepiq/
|
||||
[switchbot docs]: /integrations/switchbot/
|
||||
[synology_dsm docs]: /integrations/synology_dsm/
|
||||
[tibber docs]: /integrations/tibber/
|
||||
[zha docs]: /integrations/zha/
|
||||
|
||||
## Release 2022.12.8 - December 21
|
||||
|
||||
- Add missing preset for Overkiz atlantic electrical heater ([@nyroDev] - [#84080]) ([overkiz docs])
|
||||
- Fix connectable Bluetooth devices not going available after scanner recovers ([@bdraco] - [#84172]) ([bluetooth docs])
|
||||
- Bump ical to 4.2.4 ([@allenporter] - [#84248]) ([local_calendar docs])
|
||||
- Bump bluetooth-data-tools to 0.3.1 ([@bdraco] - [#84258]) ([bluetooth docs]) ([led_ble docs])
|
||||
- Skip client metadata values that are None ([@ludeeus] - [#84293]) ([cloud docs])
|
||||
- Improve Tibber rt Pulse streaming ([@Danielhiversen] - [#84313]) ([tibber docs])
|
||||
- Fix attribute check in prometheus exporter ([@mib1185] - [#84321]) ([prometheus docs])
|
||||
|
||||
[#83482]: https://github.com/home-assistant/core/pull/83482
|
||||
[#83592]: https://github.com/home-assistant/core/pull/83592
|
||||
[#83778]: https://github.com/home-assistant/core/pull/83778
|
||||
[#83797]: https://github.com/home-assistant/core/pull/83797
|
||||
[#83870]: https://github.com/home-assistant/core/pull/83870
|
||||
[#83944]: https://github.com/home-assistant/core/pull/83944
|
||||
[#83998]: https://github.com/home-assistant/core/pull/83998
|
||||
[#84080]: https://github.com/home-assistant/core/pull/84080
|
||||
[#84162]: https://github.com/home-assistant/core/pull/84162
|
||||
[#84172]: https://github.com/home-assistant/core/pull/84172
|
||||
[#84248]: https://github.com/home-assistant/core/pull/84248
|
||||
[#84258]: https://github.com/home-assistant/core/pull/84258
|
||||
[#84293]: https://github.com/home-assistant/core/pull/84293
|
||||
[#84313]: https://github.com/home-assistant/core/pull/84313
|
||||
[#84321]: https://github.com/home-assistant/core/pull/84321
|
||||
[@Danielhiversen]: https://github.com/Danielhiversen
|
||||
[@allenporter]: https://github.com/allenporter
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bdraco]: https://github.com/bdraco
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@ludeeus]: https://github.com/ludeeus
|
||||
[@mib1185]: https://github.com/mib1185
|
||||
[@nyroDev]: https://github.com/nyroDev
|
||||
[abode docs]: /integrations/abode/
|
||||
[accuweather docs]: /integrations/accuweather/
|
||||
[bluetooth docs]: /integrations/bluetooth/
|
||||
[braviatv docs]: /integrations/braviatv/
|
||||
[cast docs]: /integrations/cast/
|
||||
[cloud docs]: /integrations/cloud/
|
||||
[fritzbox docs]: /integrations/fritzbox/
|
||||
[frontend docs]: /integrations/frontend/
|
||||
[justnimbus docs]: /integrations/justnimbus/
|
||||
[led_ble docs]: /integrations/led_ble/
|
||||
[local_calendar docs]: /integrations/local_calendar/
|
||||
[overkiz docs]: /integrations/overkiz/
|
||||
[prometheus docs]: /integrations/prometheus/
|
||||
[sleepiq docs]: /integrations/sleepiq/
|
||||
[tibber docs]: /integrations/tibber/
|
||||
[zha docs]: /integrations/zha/
|
||||
|
||||
## Need help? Join the community!
|
||||
|
||||
Home Assistant has a great community of users who are all more than willing
|
||||
|
67
source/_posts/2022-12-20-year-of-voice.markdown
Normal file
67
source/_posts/2022-12-20-year-of-voice.markdown
Normal file
@ -0,0 +1,67 @@
|
||||
---
|
||||
layout: post
|
||||
title: "2023: Home Assistant's year of Voice"
|
||||
description: "Our goal for 2023 is to let users control Home Assistant in their own language."
|
||||
date: 2022-12-20 00:00:00
|
||||
date_formatted: "December 20, 2022"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories:
|
||||
- Announcements
|
||||
og_image: /images/blog/2022-12-20-year-of-voice/conversation.png
|
||||
---
|
||||
|
||||
_**TL;DR**: It is our goal for 2023 to let users control Home Assistant in their own language. Mike Hansen, creator of Rhasspy, has joined Nabu Casa to lead this effort. We’re starting off by building a [collection of intent matching sentences in every language](https://github.com/home-assistant/intents)._
|
||||
|
||||
Usually, the month of December is meant to reflect back. However, we already did that last month when we hosted the [State of the Open Home 2022](https://www.youtube.com/watch?v=D936T1Ze8-4). We didn’t only reflect, we also announced our focus for next year: 2023 is going to be the year of voice.
|
||||
|
||||
<blockquote>It is our goal for 2023 to let users control Home Assistant in their own language.</blockquote>
|
||||
|
||||
It's a big and bold goal, but achievable given the right constraints. The amount of work laid out for us can be summarised as follows:
|
||||
|
||||
<center><img src='/images/blog/2022-12-20-year-of-voice/voice-work.png' alt='Spoken languages times possible actions' class='no-shadow' /></center>
|
||||
<br>
|
||||
|
||||
Our #1 priority is supporting different languages. There are enough projects out there trying to create an English voice assistant. But for us, that just doesn't cut it. People need to be able to speak in their own language, as that is the most accessible and only acceptable language for a voice assistant for the smart home.
|
||||
<!--more-->
|
||||
|
||||
To keep the amount of work ahead of us manageable, we're going to limit the number of possible actions and focus on the basics of interacting with your smart home. No web searches, making calls, or voice games. And definitely no "by the way"s!
|
||||
|
||||
We are going to start with a few actions and build up the language models around that. Home Assistant supports 62 different languages in its user interface. And it's our goal to support all these languages with voice. We think that we can achieve that by leveraging Home Assistant's strongest asset: our community.
|
||||
|
||||
## Our history with voice assistants
|
||||
|
||||
If you follow the news, it might sound like voice assistants have failed. Amazon is set to [lose $10 billion on Alexa this year](https://arstechnica.com/gadgets/2022/11/amazon-alexa-is-a-colossal-failure-on-pace-to-lose-10-billion-this-year/) and is planning layoffs. Google too, is reducing its [support for Google Assistant](https://arstechnica.com/gadgets/2022/10/report-google-doubles-down-on-pixel-hardware-cuts-google-assistant-support/) as it’s trying to cut costs. The truth is that voice, as the next computing platform that drives billions of dollars of extra revenue, has failed. Instead, users mainly use their voice assistants to manage shopping lists, set timers, play music, and control their homes. Voice has failed being a source of revenue, it has not failed its users.
|
||||
|
||||
With Home Assistant we’ve always been interested in voice. We used to work with [Snips](https://snips.ai/) back in the day, but they got acquired and shut down. We worked with Stanford on their [Almond/Genie platform](/blog/2021/12/21/stanford-genie/), but it is a research driven project that never got production ready. And yes, you can use Home Assistant to send all your data to the clouds of Google and Amazon to leverage their voice assistants, but you shouldn't have to give up your privacy to turn on the lights by voice.
|
||||
|
||||
The most promising project out there is [Rhasspy](https://rhasspy.readthedocs.io/en/latest/), created by [Mike Hansen](https://github.com/synesthesiam). A project that allows people to build their own local voice assistant, which can also tie into Home Assistant. Rhasspy stands out from other open source voice projects because Mike doesn’t focus on just English. Instead, his goal is to make it work for everyone. This is going great as Rhasspy supports already 16 different languages today.
|
||||
|
||||
With Home Assistant we want to make a privacy and locally focused smart home available to everyone. Mike’s approach with Rhasspy aligns with Home Assistant, and so we’re happy to announce that Mike has joined Nabu Casa to work full-time on voice in Home Assistant.
|
||||
|
||||
## Iterating in the open
|
||||
|
||||
With Home Assistant we prefer to get the things we’re building in the user's hands as early as possible. Even basic functionality allows users to find things that work and don’t work, allowing us to address the direction if needed.
|
||||
|
||||
A voice assistant has a lot of different parts: hot word detection, speech to text, intent recognition, intent execution, text to speech. Making each work in every language is a lot of work. The most important part is the intent recognition and intent execution. We need to be able to understand your commands and execute them.
|
||||
|
||||
We started gathering these command sentences in our new [intents repository](https://github.com/home-assistant/intents). It will soon power the existing [conversation integration](/integrations/conversation) in Home Assistant, allowing you to use our app to write and say commands.
|
||||
|
||||
The conversation integration is exposed in Home Assistant via a service call and is also available [via an API to external applications or scripts](https://developers.home-assistant.io/docs/intent_conversation_api). This allows developers to experiment with sending commands from various sources, like [a telegram chatbot](https://github.com/frenck/home-assistant-config/tree/7c41afa541193e7c9fd4eab3acec2a00ed3c33e9/custom_components/telegram_bot_conversation).
|
||||
|
||||

|
||||
|
||||
## How you can help
|
||||
|
||||
For each language we're collecting sentences of commands that control your smart home in [our intents repository](https://github.com/home-assistant/intents). Each sentence will need to be annotated with its intention.
|
||||
|
||||
Take for example the sentence: `Turn on the bedroom lights`. Write it up like `Turn on the {area} lights` and it becomes a generic command to turn on all the lights in a specific area. Now we need to collect all the other variations too.
|
||||
|
||||
We’ve created a YAML-based format to [declare and test](https://github.com/home-assistant/intents#intents-for-home-assistant) these sentences. The next step is that we need you 🫵
|
||||
|
||||
For each language we’re going to need one or more language leaders. Language leaders are responsible for reviewing the contributions in their language and making sure that they are grammatically correct. If you want to apply to be a language leader, join us in `#devs_voice` on [Discord](/join-chat/) or open an issue in [our intents repository](https://github.com/home-assistant/intents/issues).
|
||||
|
||||
We also need people that want to contribute sentences to their language to help build out our collection. See our intents repository on [how to get started](https://github.com/home-assistant/intents#contributing-sentences).
|
||||
|
||||
|
BIN
source/images/blog/2022-12-20-year-of-voice/conversation.png
Normal file
BIN
source/images/blog/2022-12-20-year-of-voice/conversation.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
BIN
source/images/blog/2022-12-20-year-of-voice/voice-work.png
Normal file
BIN
source/images/blog/2022-12-20-year-of-voice/voice-work.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 215 KiB After Width: | Height: | Size: 215 KiB |
Loading…
x
Reference in New Issue
Block a user