diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index ae390f2f1a0..fa3d74cbfe7 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -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 }} diff --git a/Gemfile b/Gemfile index 78514995c0f..86e4ca72daa 100644 --- a/Gemfile +++ b/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 diff --git a/Gemfile.lock b/Gemfile.lock index b709384d230..585a9dd12cc 100644 --- a/Gemfile.lock +++ b/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 diff --git a/_config.yml b/_config.yml index a767e236040..375278bdccb 100644 --- a/_config.yml +++ b/_config.yml @@ -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. diff --git a/source/_includes/installation/supervised.md b/source/_includes/installation/supervised.md index d962580863c..decb6cde869 100644 --- a/source/_includes/installation/supervised.md +++ b/source/_includes/installation/supervised.md @@ -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 home-assistant/supervised-installer 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/" %} diff --git a/source/_integrations/blink.markdown b/source/_integrations/blink.markdown index 3a18f796e5e..97e0e276368 100644 --- a/source/_integrations/blink.markdown +++ b/source/_integrations/blink.markdown @@ -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. diff --git a/source/_integrations/netdata.markdown b/source/_integrations/netdata.markdown index fc3c55e0535..0c79ff959ab 100644 --- a/source/_integrations/netdata.markdown +++ b/source/_integrations/netdata.markdown @@ -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 diff --git a/source/_integrations/sony_projector.markdown b/source/_integrations/sony_projector.markdown index 3d5498aad16..27b147a9286 100644 --- a/source/_integrations/sony_projector.markdown +++ b/source/_integrations/sony_projector.markdown @@ -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. diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index 43b9ab93ea3..b6f5209a048 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -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 %} diff --git a/source/_integrations/text.mqtt.markdown b/source/_integrations/text.mqtt.markdown index 78ca8a1b69b..5fd60fde2fc 100644 --- a/source/_integrations/text.mqtt.markdown +++ b/source/_integrations/text.mqtt.markdown @@ -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 --- diff --git a/source/_integrations/unifi.markdown b/source/_integrations/unifi.markdown index 6dedac69f17..ac1282cde4b 100644 --- a/source/_integrations/unifi.markdown +++ b/source/_integrations/unifi.markdown @@ -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. diff --git a/source/_posts/2022-12-07-release-202212.markdown b/source/_posts/2022-12-07-release-202212.markdown index 3077359df26..dd1daee8f57 100644 --- a/source/_posts/2022-12-07-release-202212.markdown +++ b/source/_posts/2022-12-07-release-202212.markdown @@ -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 diff --git a/source/_posts/2022-12-20-year-of-voice.markdown b/source/_posts/2022-12-20-year-of-voice.markdown new file mode 100644 index 00000000000..7d7093d095a --- /dev/null +++ b/source/_posts/2022-12-20-year-of-voice.markdown @@ -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. + +
It is our goal for 2023 to let users control Home Assistant in their own language.
+ +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: + +
Spoken languages times possible actions
+
+ +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. + + +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). + +![Screenshot of the conversation dialog in Home Assistant](/images/blog/2022-12-20-year-of-voice/conversation.png) + +## 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). + + diff --git a/source/images/blog/2022-12-20-year-of-voice/conversation.png b/source/images/blog/2022-12-20-year-of-voice/conversation.png new file mode 100644 index 00000000000..22b849a19f7 Binary files /dev/null and b/source/images/blog/2022-12-20-year-of-voice/conversation.png differ diff --git a/source/images/blog/2022-12-20-year-of-voice/voice-work.png b/source/images/blog/2022-12-20-year-of-voice/voice-work.png new file mode 100644 index 00000000000..c74adec4696 Binary files /dev/null and b/source/images/blog/2022-12-20-year-of-voice/voice-work.png differ diff --git a/source/images/zone/zone_edit_ui.png b/source/images/integrations/zone/zone_edit_ui.png similarity index 100% rename from source/images/zone/zone_edit_ui.png rename to source/images/integrations/zone/zone_edit_ui.png