diff --git a/_config.yml b/_config.yml index 71a0b54acf9..72a86c50e1b 100644 --- a/_config.yml +++ b/_config.yml @@ -99,10 +99,10 @@ social: account: home_assistant # Home Assistant release details -current_major_version: 2020 -current_minor_version: 12 -current_patch_version: 2 -date_released: 2020-12-30 +current_major_version: 2021 +current_minor_version: 1 +current_patch_version: 0 +date_released: 2021-01-06 # 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/_posts/2021-01-06-release-20211.markdown b/source/_posts/2021-01-06-release-20211.markdown new file mode 100644 index 00000000000..e20537d0b8c --- /dev/null +++ b/source/_posts/2021-01-06-release-20211.markdown @@ -0,0 +1,796 @@ +--- +layout: post +title: "2021.1: Beta release notes" +description: "Beta release notes!" +date: 2020-12-30 00:00:00 +date_formatted: "January 6, 2021" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: Release-Notes +og_image: /images/blog/2021-01/social.png +--- + + + +These are the beta release notes for Home Assistant Core 2021.1 (and is thus a +work in progress). + +If you encounter any issues with the beta release, please report them on GitHub: + +- Issues with integrations, automations and such (Core related):
+ +- Issues with the frontend/Lovelace:
+ +- Issues with the Supervisor:
+ +- Issues with the documentation:
+ + +Please be sure to include the beta version you are running in the issue +description (not title), so we can classify your issue correctly. + +Issues introduced in the beta are processed with priority. + +## Table of contents + +- [Table of contents](#table-of-contents) +- [Lorem ipsum](#lorem-ipsum) +- [Other noteworthy changes](#other-noteworthy-changes) +- [New Integrations](#new-integrations) +- [New Platforms](#new-platforms) +- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui) +- [If you need help...](#if-you-need-help) +- [Breaking Changes](#breaking-changes) +- [Farewell to the following](#farewell-to-the-following) +- [All changes](#all-changes) + +## Lorem ipsum + +Lorem ipsum + + + +## Other noteworthy changes + + + +From Core: + +- Add HmIP-HDM1 and HmIPW-DRD3 to Homematic IP Cloud ([@SukramJ] - [#43132]) ([homematicip_cloud docs]) +- Refactor LCN integration ([@alengwenus] - [#40665]) ([lcn docs]) +- Add ZHA Coordinator to LightLink cluster groups ([@Adminiuga] - [#43959]) ([zha docs]) +- Add target temperature range to homekit_controller ([@thevoltagesource] - [#42817]) ([homekit_controller docs]) +- Add UV unit to meteo_france UV sensor ([@mbo18] - [#43992]) ([meteo_france docs]) (breaking-change) +- Add discovery for MQTT device tracker ([@PeteBa] - [#42327]) ([mqtt docs]) +- Add pause and resume services to Rachio ([@brg468] - [#43944]) ([rachio docs]) +- Expose spider device information ([@peternijssen] - [#44085]) ([spider docs]) +- Add code_arm_required to IFTTT alarm ([@k2v1n58] - [#43928]) ([ifttt docs]) +- Support MSSQL in SQL Sensor ([@dgomes] - [#42778]) ([sql docs]) +- Add zha AnalogOutput cluster support ([@Shulyaka] - [#44092]) ([zha docs]) +- Add OAuth to Neato ([@Santobert] - [#44031]) ([neato docs]) (breaking-change) +- Add new sensors to meteo_france ([@mbo18] - [#44150]) ([meteo_france docs]) +- Temperatures, fan and battery in Glances sensors ([@guix77] - [#43500]) ([glances docs]) (breaking-change) +- Add send animation service to telegram ([@tofuSCHNITZEL] - [#41489]) ([telegram_bot docs]) +- Add extended device info and some attributes to Apple TV ([@postlund] - [#44277]) ([apple_tv docs]) ([media_player docs]) +- Publish timestamps in nest events ([@allenporter] - [#44641]) ([nest docs]) +- Add Wind to Accuweather sensors ([@abmantis] - [#44364]) ([accuweather docs]) +- Add options flow for Recollect Waste ([@bachya] - [#44234]) ([recollect_waste docs]) +- Home connect functional and ambient light added ([@Sjack-Sch] - [#44091]) ([home_connect docs]) (new-platform) +- Add xiamoi_miio the water_box / mop status ([@JJdeVries] - [#43355]) ([xiaomi_miio docs]) +- Support area on entities for google assistant ([@elupus] - [#44300]) ([google_assistant docs]) +- Add Olivia voice to Amazon Polly TTS ([@aque0us] - [#44513]) ([amazon_polly docs]) +- Add google cloud tts SSML + fix ([@lufton] - [#40203]) ([google_cloud docs]) +- Add album art support in the mpd component ([@mweinelt] - [#44527]) ([mpd docs]) +- Add OutdoorPlug to wemo ([@mattbilodeau] - [#44629]) ([wemo docs]) + +From frontend: + +- Mark entity ID as optional for button card (#7967) [@spacegaier] +- Do not render "No Area" in device table to reduce clutter (#7986) [@spacegaier] + +## New Integrations + +This release has not introduced new integrations. + +## New Platforms + +The following integration got support for a new platform: + +- [Somfy][somfy docs] added the climate controls and battery sensors, + added by [@tetienne] +- [Home Connect][home_connect docs] added support for functional and ambient + lights, added by [@Sjack-Sch] +- [Gree][gree docs] added support for device light panels, added by [@cmroche] + +## Integrations now available to set up from the UI + +The following integrations are now available via the Home Assistant UI: + +- [BMW Connected Drive][bmw_connected_drive docs], done by [@rikroe] + +## If you need help... + +...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). + +Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/core/issues). Make sure to fill in all fields of the issue template. + + + +## Breaking Changes + +Below is a listing of the breaking change for this release, per subject or +integration. Click on one of those to read more about the breaking change +for that specific item. + +
+ Météo-France +

+ +The unit of measurement of the UV sensor was missing and has been added. You +may have to adapt your configuration accordingly, if you were depending on the +unit of this sensor in any automations, scripts or 3rd party data loggers. + +([@mbo18] - [#43992]) ([meteo_france docs]) + +

+
+ +
+ Glances +

+ +Previously, the Glances integration was presuming that all sensors were +temperatures. Now, we can distinguish temperatures, fan speeds and battery +charges. + +In consequence, those entities have new Entity IDs, so you should update your +configuration in the UI or in your YAML files. + +Previously, they were all suffixed by `_temp`. Now they are suffixed by +`_temperature`, `_fan_speed` and `_charge`. + +Examples: + +- `sensor.glances_core_0_temp => sensor.glances_core_0_temperature` +- `sensor.glances_battery_temp => sensor.glances_battery_charge` +- `sensor.glances_thinkpad_1_temp => sensor.glances_thinkpad_1_fan_speed` + +([@guix77] - [#43500]) ([glances docs]) + +

+
+ +
+ Neato +

+ +Neato now uses a new authentication method: OAuth2. + +If you are an existing Neato user, you will need to update your YAML +configuration, as per the updated [Neato documentation][neato docs]. The +integration will then automatically be migrated. + +Vorwerk support is dropped from the neato integration. The parent library still +supports Vorwerk however, the authentication is completely different and +therefore will require a separate integration created. + +([@Santobert] - [#44031]) ([neato docs]) + +

+
+ +
+ Tado +

+ +The Tado Bridge sensor has been removed and replaced by its corresponding device +sensor. + +([@Noltari] - [#44475]) ([tado docs]) + +

+
+ +
+ OpenTherm Gateway +

+ +This release breaks `binary_sensor` and `sensor` entities of the `opentherm_gw` +integration. More specifically, all existing `binary_sensor` and `sensor` +entities are recreated with a different `entity_id`, `unique_id` and friendly +name. + +Some entities are recreated once, others will be recreated twice for different +data sources (boiler and thermostat). All entities that are recreated are +disabled by default. + +The old `sensor` and `binary_sensor` entities will log a deprecation warning +and change behavior slightly if they are enabled. They will be automatically +removed if they are disabled. Behavioral changes of the old entities may include +a delayed update and a possible change of data source (boiler vs. thermostat) +which may only become apparent when an override is active on the OpenTherm +Gateway. + +The `climate` entity is not affected. + +The OpenTherm Gateway sits between the thermostat and the boiler and thus deals +with 2 streams of information. Before this release, the status info we received +contained overlapping information from both streams of information, which led +to issues when the gateway was overriding some values. + +As of this release, therestatus is split up in multiple parts to reflect this. +Each part contains the status of its respective information stream. With this +change, we create sensor entities for each stream where necessary. + +([@mvn23] - [#43352]) ([opentherm_gw docs]) + +

+
+ +
+ BMW Connected Drive +

+ +BMW Connected Drive has been migrated for configuration via the UI. + +Your old entries from `configuration.yaml` are automatically imported __once__ +for initial setup. + +It is recommended to rename the device_tracker of your car(s) in +`config/known_devices.yaml` (you can e.g., add `_old` to the entity name) +before updating, otherwise a second device tracker entity (ending with `_2`) +per car will be created. + +After updating, the entity can be removed from known_devices as that will no +longer be used. + +([@rikroe] - [#39585]) ([bmw_connected_drive docs]) + +

+
+ +## Farewell to the following + +The following integrations have been removed: + +- **Avri** ([@timvancann] - [#44478]) + +Avri has changed their API and it seems not possible to use the new one. + +## All changes + +
+ Click to see all changes! + +- Rewrite the kira/test_init.py unittests to pytest style test functions ([@erogleva] - [#42753]) ([kira docs]) +- Add HmIP-HDM1 and HmIPW-DRD3 to Homematic IP Cloud ([@SukramJ] - [#43132]) ([homematicip_cloud docs]) +- Change config flow unique_id for devolo Home Control ([@Shutgun] - [#43005]) ([devolo_home_control docs]) +- Improve look up speed by inverting dictionaries ([@Kane610] - [#43883]) ([deconz docs]) +- Add reproduce state for Number ([@Shulyaka] - [#43870]) ([number docs]) +- Add number entity value property ([@MartinHjelmare] - [#43902]) ([demo docs]) ([number docs]) +- Bump icmplib to 2.0 for ping ([@bdraco] - [#43868]) ([ping docs]) +- Upgrade respx to 0.16.2 ([@lundberg] - [#43892]) ([rest docs]) +- Don't send MQTT birth message in tests ([@emontnemery] - [#43917]) ([mqtt docs]) +- Refactor ZHA core channel initialization ([@Adminiuga] - [#43953]) ([zha docs]) +- Remove zerproc threaded upstream reconnect logic ([@emlove] - [#43910]) ([zerproc docs]) +- Address PR cleanup for nest device triggers ([@allenporter] - [#43961]) ([nest docs]) +- Refactor LCN integration ([@alengwenus] - [#40665]) ([lcn docs]) +- Add reverse repeatmode mapping constant to Spotify ([@frenck] - [#43968]) ([spotify docs]) +- Add ZHA Coordinator to LightLink cluster groups ([@Adminiuga] - [#43959]) ([zha docs]) +- Cleanup ZHA fan channel ([@Adminiuga] - [#43973]) ([zha docs]) +- Add target temperature range to homekit_controller ([@thevoltagesource] - [#42817]) ([homekit_controller docs]) +- Add discovery of sensors on DS2409 MicroLan ([@awrede] - [#43599]) ([onewire docs]) +- Bump voluptuous to 0.12.1 ([@spacegaier] - [#44002]) +- Bump fritzconnection to 1.4.0 ([@springstan] - [#43996]) ([fritz docs]) ([fritzbox_callmonitor docs]) ([fritzbox_netmonitor docs]) +- Add support for system health to GIOS integration ([@bieniu] - [#43280]) ([gios docs]) +- Allow manual configuration of ignored config entries ([@nivnoach] - [#43947]) ([shelly docs]) +- Add UV unit to meteo_france UV sensor ([@mbo18] - [#43992]) ([meteo_france docs]) (breaking-change) +- Fix LCN service calls (invoking coroutines) ([@alengwenus] - [#43932]) ([lcn docs]) +- Add discovery for MQTT device tracker ([@PeteBa] - [#42327]) ([mqtt docs]) +- Unregister updates when a Wemo entry is removed ([@esev] - [#44005]) ([wemo docs]) +- Fix ZHA switch group test ([@dmulcahey] - [#44021]) ([zha docs]) +- Add pause and resume services to Rachio ([@brg468] - [#43944]) ([rachio docs]) +- Bump dependency to add more multi channel devices to HomematicIP Cloud ([@SukramJ] - [#43914]) ([homematicip_cloud docs]) +- Bump ciscomobilityexpress version: 0.3.3 → 0.3.9 ([@fbradyirl] - [#44050]) ([cisco_mobility_express docs]) +- Bump openwebifpy version: 3.1.1 → 3.1.6 ([@fbradyirl] - [#44064]) ([enigma2 docs]) +- Create httpx helper to wrap a shared httpx.AsyncClient ([@bdraco] - [#43877]) ([pvoutput docs]) ([rest docs]) ([scrape docs]) +- Include Hyperion in coverage testing ([@dermotduffy] - [#44096]) +- Bump up dependencies on pyserial and pyserial-asyncio ([@Adminiuga] - [#44089]) ([acer_projector docs]) ([serial docs]) ([zha docs]) +- Small cleanup of MQTT ([@emontnemery] - [#44110]) ([mqtt docs]) +- Address old review comments of Tasmota fan ([@emontnemery] - [#44112]) ([tasmota docs]) +- Add tests for the wemo component ([@esev] - [#44088]) ([wemo docs]) +- Cache Astral object in moon integration, to use less CPU ([@huonw] - [#44012]) ([moon docs]) +- Initialize numeric_state trigger tests ([@amelchio] - [#44114]) ([homeassistant docs]) +- Nuki to use entity platform ([@balloob] - [#43774]) ([nuki docs]) +- Expose spider device information ([@peternijssen] - [#44085]) ([spider docs]) +- Add code_arm_required to IFTTT alarm ([@k2v1n58] - [#43928]) ([ifttt docs]) +- Increase test coverage for nest camera ([@allenporter] - [#44144]) ([nest docs]) +- Update strings.json to clarify the requirements for the API key ([@finity69x2] - [#44143]) ([nws docs]) +- Log unique_id of device when ESPHome connection fails ([@ofalvai] - [#44152]) ([esphome docs]) +- Test edge cases in wemo platform code ([@esev] - [#44136]) ([wemo docs]) +- Increase nest climate test coverage ([@allenporter] - [#44146]) ([nest docs]) +- Share wemo entity code to reduce duplicate boilerplate ([@esev] - [#44113]) ([wemo docs]) +- Clear mpd source playlist when not playing a playlist ([@CrashWorksLLC] - [#44164]) ([mpd docs]) +- Add myself to the codeowners manifest for openhome and tapsaff ([@bazwilliams] - [#44188]) ([openhome docs]) ([tapsaff docs]) +- Upgrade restrictedpython to 5.1 (needed for python 3.9 support) ([@mikeage] - [#44181]) ([python_script docs]) +- Upgrade youtube_dl to version 2020.12.07 ([@BKPepe] - [#44004]) ([media_extractor docs]) +- Temperatures, fan and battery in Glances sensors ([@guix77] - [#43500]) ([glances docs]) (breaking-change) +- Add opensky longitude and latitude event metadata ([@SteveBrandt] - [#43205]) ([opensky docs]) +- Support MSSQL in SQL Sensor ([@dgomes] - [#42778]) ([sql docs]) +- Bump python-holidays ([@sermayoral] - [#44215]) ([workday docs]) +- Add zha AnalogOutput cluster support ([@Shulyaka] - [#44092]) ([zha docs]) +- Upgrade bandit to 1.7.0 ([@scop] - [#44184]) +- Use new PocketCast dependency ([@nwithan8] - [#44007]) +- Fix double underscore typo in fan_mode ValueError ([@allenporter] - [#44182]) ([nest docs]) +- Replace hard-coded domain strings with constants in the Wemo module ([@esev] - [#44222]) ([wemo docs]) +- Add tests for the Wemo __init__ module ([@esev] - [#44196]) ([wemo docs]) +- Register Wemo fan services with entity service helper ([@esev] - [#44192]) ([wemo docs]) +- Add send animation service to telegram ([@tofuSCHNITZEL] - [#41489]) ([telegram_bot docs]) +- Add Somfy climate platform ([@tetienne] - [#43895]) ([somfy docs]) (new-platform) +- Bump google-nest-sdm to 0.2.1 to support more SDM Pub/Sub realms ([@SeraphimSerapis] - [#44163]) ([nest docs]) +- Change shelly CONNECTION_CLASS to CONN_CLASS_LOCAL_PUSH ([@thecode] - [#44260]) ([shelly docs]) +- Bump python-qbittorrent to 0.4.2 ([@geoffreylagaisse] - [#44268]) +- Bump pychromecast to 7.6.0 ([@emontnemery] - [#44289]) ([cast docs]) +- Add OAuth to Neato ([@Santobert] - [#44031]) ([neato docs]) (breaking-change) +- Add reauth step to Hyperion config flow ([@dermotduffy] - [#43797]) ([hyperion docs]) +- Bump version to 2021.1 ([@balloob] - [#44298]) ([cloud docs]) +- Increase surepetcare api timeout to 60s ([@benleb] - [#44316]) ([surepetcare docs]) +- Fix philips_js channel and source name entry ([@elupus] - [#44296]) ([philips_js docs]) +- Refactor Airly tests ([@bieniu] - [#44315]) ([airly docs]) +- Add Somfy battery sensor ([@tetienne] - [#44311]) ([somfy docs]) (new-platform) +- Add extended device info and some attributes to Apple TV ([@postlund] - [#44277]) ([apple_tv docs]) ([media_player docs]) +- Update quality_scale for Hyperion ([@dermotduffy] - [#44306]) ([hyperion docs]) +- Revert "Change http to auto for cast media image url" ([@emontnemery] - [#44327]) ([cast docs]) +- Refactor Airly config flow ([@bieniu] - [#44330]) ([airly docs]) +- Update ReCollect docs to use proper name ([@bachya] - [#44291]) ([recollect_waste docs]) +- Upgrade Telegram lib, refactor component for breaking changes ([@ofalvai] - [#44147]) ([telegram_bot docs]) +- Add new sensors to meteo_france ([@mbo18] - [#44150]) ([meteo_france docs]) +- Convert filter tests to use pytest style ([@chrisgramberg678] - [#41743]) ([filter docs]) +- Alphabetize hyperion const.py ([@dermotduffy] - [#44343]) ([hyperion docs]) +- Bump pyps4-2ndscreen to 1.2.0 ([@ktnrg45] - [#44273]) ([ps4 docs]) +- Bump codecov/codecov-action from v1.0.15 to v1.1.0 (@dependabot - [#44346]) +- Bump actions/setup-python from v2.1.4 to v2.2.0 (@dependabot - [#44345]) +- Update sensor.py ([@elbueno222] - [#44350]) ([bme280 docs]) +- Adjust Rachio logging level when adding shared controllers ([@brg468] - [#44323]) ([rachio docs]) +- Add another xml content type for JSON conversion in RESTful sensor ([@emufan] - [#44312]) ([rest docs]) +- Enable more Bandit tests ([@scop] - [#44307]) ([recorder docs]) +- Use singleton enum for "not set" sentinels ([@scop] - [#41990]) ([camera docs]) ([cloud docs]) ([deconz docs]) ([person docs]) +- Add Wind to Accuweather sensors ([@abmantis] - [#44364]) ([accuweather docs]) +- Convert zerproc to use new upstream async api ([@emlove] - [#44357]) ([zerproc docs]) +- Strip "adb shell " prefix in `androidtv.adb_command` service ([@JeffLIrion] - [#44225]) ([androidtv docs]) +- Bump venstarcolortouch to 0.13 ([@doug-hoffman] - [#44373]) ([venstar docs]) +- Clean Airly config flow ([@bieniu] - [#44352]) ([airly docs]) +- Add filter sensor device class from source entity ([@dgomes] - [#44304]) ([filter docs]) +- Set amazon polly network timeout settings ([@eyager1] - [#44185]) ([amazon_polly docs]) +- Fix setup of SimpliSafe options flow test ([@bachya] - [#44375]) ([simplisafe docs]) +- Add options flow for Recollect Waste ([@bachya] - [#44234]) ([recollect_waste docs]) +- Connect concurrently to discovered Zerproc lights ([@emlove] - [#44376]) ([zerproc docs]) +- Home connect functional and ambient light added ([@Sjack-Sch] - [#44091]) ([home_connect docs]) (new-platform) +- Handle expiration of nest auth credentials ([@allenporter] - [#44202]) ([nest docs]) +- Add support for toggling Daikin streamers ([@viiru-] - [#40418]) ([daikin docs]) +- Add xiamoi_miio the water_box / mop status ([@JJdeVries] - [#43355]) ([xiaomi_miio docs]) +- Add google cloud tts SSML + fix ([@lufton] - [#40203]) ([google_cloud docs]) +- Bump meteofrance-api to 1.0.1 ([@oncleben31] - [#44389]) ([meteo_france docs]) +- Bump actions/setup-python from v2.2.0 to v2.2.1 (@dependabot - [#44420]) +- Update denonavr to 0.9.9 ([@scarface-4711] - [#44411]) ([denonavr docs]) +- Reduce IPP errors when printer is offline ([@dgomes] - [#44413]) ([ipp docs]) +- Add additional debug launch methods in launch.json ([@oncleben31] - [#44419]) +- Cleanup and optimization for Zerproc ([@emlove] - [#44430]) ([zerproc docs]) +- Add ecobee humidity attributes ([@treylok] - [#44366]) ([ecobee docs]) +- Support area on entities for google assistant ([@elupus] - [#44300]) ([google_assistant docs]) +- KNX BinarySensor takes float values for `reset_after` ([@farmio] - [#44446]) ([knx docs]) +- Fix KNX issue if 0 kelvin is reported by device ([@phibos] - [#44392]) ([knx docs]) +- Bump codecov/codecov-action from v1.1.0 to v1.1.1 (@dependabot - [#44442]) +- Remove Travis CI config ([@scop] - [#44443]) +- Move Legacy Works With Nest integration to subdirectory ([@allenporter] - [#44368]) ([nest docs]) (new-integration) +- Bump hyperion-py to 0.6.1 ([@dermotduffy] - [#44490]) ([hyperion docs]) +- Motion Blinds upgrade to local push ([@starkillerOG] - [#44391]) ([motion_blinds docs]) +- Fix filter sensor None state ([@dgomes] - [#44439]) ([filter docs]) +- Translate siri requests to turn on thermostats to valid targets ([@bdraco] - [#44236]) ([homekit docs]) +- Periodically attempt to discover new wemo devices ([@esev] - [#44361]) ([wemo docs]) +- Fix the docstring in type_fans.py ([@tomaszpieczykolan] - [#44511]) ([homekit docs]) +- Remove useless async_add_executor_job ([@tetienne] - [#44496]) ([somfy docs]) +- Support auto as Dyson fan on device state ([@GreenTentacle] - [#44472]) ([dyson docs]) +- Bump pywemo to 0.5.6 ([@mattbilodeau] - [#44440]) ([wemo docs]) +- Convert mpd component to use the async MPDClient ([@mweinelt] - [#44384]) ([mpd docs]) +- Handle missing Somfy devices during update ([@tetienne] - [#44425]) ([somfy docs]) +- Update README.rst to avoid redirects ([@hmmbob] - [#44519]) +- Upgrade huawei-lte-api to 1.4.17 ([@scop] - [#44499]) ([huawei_lte docs]) +- Add album art support in the mpd component ([@mweinelt] - [#44527]) ([mpd docs]) +- Add Olivia voice to Amazon Polly TTS ([@aque0us] - [#44513]) ([amazon_polly docs]) +- Fully remove Avri integration ([@timvancann] - [#44478]) (breaking-change) +- Add explicit support for Luxembourg Smarty meter in dsmr integration ([@RobBie1221] - [#43975]) ([dsmr docs]) +- Simplify nest event handling ([@allenporter] - [#44367]) ([nest docs]) +- Tado: add full list of devices ([@Noltari] - [#44475]) ([tado docs]) (breaking-change) +- Improve nest setup error handling ([@allenporter] - [#44385]) ([nest docs]) +- Tado: use proper variable name to avoid confusion ([@Noltari] - [#44571]) ([tado docs]) +- Soma cover battery level attribute ([@badguy99] - [#44459]) ([soma docs]) +- Turn on denonavr receiver when a source is changed ([@knyar] - [#44473]) ([denonavr docs]) +- Ensure consistent spelling of "ID" ([@spacegaier] - [#44585]) +- Reset hs color/color temperature when changing the other one (ZHA) ([@TheJulianJES] - [#44566]) ([zha docs]) +- Improve TDBU motion blinds control ([@starkillerOG] - [#44500]) ([motion_blinds docs]) +- Add support for Gree device light panels ([@cmroche] - [#42979]) ([gree docs]) (new-platform) +- Update pyotgw to 1.0b1 ([@mvn23] - [#43352]) ([opentherm_gw docs]) (breaking-change) +- Optimize api calls between envoy_reader and Home Assistant ([@gtdiehl] - [#42857]) ([enphase_envoy docs]) +- Bump version to fix returned data for old firmware ([@gtdiehl] - [#44600]) ([enphase_envoy docs]) +- Add Config Flow to bmw_connected_drive ([@rikroe] - [#39585]) ([bmw_connected_drive docs]) (breaking-change) +- Simplify motion blinds push callback ([@starkillerOG] - [#44579]) ([motion_blinds docs]) +- Fix typo in sensor names ([@tsvi] - [#44598]) ([jewish_calendar docs]) +- Move HomeKit autostart to advanced options flow ([@bdraco] - [#44599]) ([homekit docs]) +- Use entity service for motion blinds ([@starkillerOG] - [#44611]) ([motion_blinds docs]) +- Bump skybellpy to 0.6.3 ([@MisterWil] - [#44619]) ([skybell docs]) +- Add discovery to Motion Blinds ([@starkillerOG] - [#44615]) ([motion_blinds docs]) +- Updated frontend to 20201229.0 ([@bramkragten] - [#44632]) ([frontend docs]) +- Add OutdoorPlug to wemo ([@mattbilodeau] - [#44629]) ([wemo docs]) +- Support homekit discovery for roku ([@ctalkington] - [#44625]) ([roku docs]) +- Initial Verisure cleanups ([@frenck] - [#44639]) ([verisure docs]) +- Add debug logging for failed OAuth token refreshes to help users diagnose ([@allenporter] - [#44637]) +- Upgrade psutil to 5.8.0 ([@fabaff] - [#44640]) ([systemmonitor docs]) +- Publish timestamps in nest events ([@allenporter] - [#44641]) ([nest docs]) +- Fix shelly shutdown AttributeError ([@chemelli74] - [#44172]) ([shelly docs]) +- Upgrade youtube_dl to 2020.12.29 ([@fabaff] - [#44643]) ([media_extractor docs]) + +
+ +[#39585]: https://github.com/home-assistant/core/pull/39585 +[#40203]: https://github.com/home-assistant/core/pull/40203 +[#40418]: https://github.com/home-assistant/core/pull/40418 +[#40665]: https://github.com/home-assistant/core/pull/40665 +[#41489]: https://github.com/home-assistant/core/pull/41489 +[#41743]: https://github.com/home-assistant/core/pull/41743 +[#41990]: https://github.com/home-assistant/core/pull/41990 +[#42327]: https://github.com/home-assistant/core/pull/42327 +[#42753]: https://github.com/home-assistant/core/pull/42753 +[#42778]: https://github.com/home-assistant/core/pull/42778 +[#42817]: https://github.com/home-assistant/core/pull/42817 +[#42857]: https://github.com/home-assistant/core/pull/42857 +[#42979]: https://github.com/home-assistant/core/pull/42979 +[#43005]: https://github.com/home-assistant/core/pull/43005 +[#43132]: https://github.com/home-assistant/core/pull/43132 +[#43205]: https://github.com/home-assistant/core/pull/43205 +[#43280]: https://github.com/home-assistant/core/pull/43280 +[#43352]: https://github.com/home-assistant/core/pull/43352 +[#43355]: https://github.com/home-assistant/core/pull/43355 +[#43500]: https://github.com/home-assistant/core/pull/43500 +[#43599]: https://github.com/home-assistant/core/pull/43599 +[#43774]: https://github.com/home-assistant/core/pull/43774 +[#43797]: https://github.com/home-assistant/core/pull/43797 +[#43868]: https://github.com/home-assistant/core/pull/43868 +[#43870]: https://github.com/home-assistant/core/pull/43870 +[#43877]: https://github.com/home-assistant/core/pull/43877 +[#43883]: https://github.com/home-assistant/core/pull/43883 +[#43892]: https://github.com/home-assistant/core/pull/43892 +[#43895]: https://github.com/home-assistant/core/pull/43895 +[#43902]: https://github.com/home-assistant/core/pull/43902 +[#43910]: https://github.com/home-assistant/core/pull/43910 +[#43914]: https://github.com/home-assistant/core/pull/43914 +[#43917]: https://github.com/home-assistant/core/pull/43917 +[#43928]: https://github.com/home-assistant/core/pull/43928 +[#43932]: https://github.com/home-assistant/core/pull/43932 +[#43944]: https://github.com/home-assistant/core/pull/43944 +[#43947]: https://github.com/home-assistant/core/pull/43947 +[#43953]: https://github.com/home-assistant/core/pull/43953 +[#43959]: https://github.com/home-assistant/core/pull/43959 +[#43961]: https://github.com/home-assistant/core/pull/43961 +[#43968]: https://github.com/home-assistant/core/pull/43968 +[#43973]: https://github.com/home-assistant/core/pull/43973 +[#43975]: https://github.com/home-assistant/core/pull/43975 +[#43992]: https://github.com/home-assistant/core/pull/43992 +[#43996]: https://github.com/home-assistant/core/pull/43996 +[#44002]: https://github.com/home-assistant/core/pull/44002 +[#44004]: https://github.com/home-assistant/core/pull/44004 +[#44005]: https://github.com/home-assistant/core/pull/44005 +[#44007]: https://github.com/home-assistant/core/pull/44007 +[#44012]: https://github.com/home-assistant/core/pull/44012 +[#44021]: https://github.com/home-assistant/core/pull/44021 +[#44031]: https://github.com/home-assistant/core/pull/44031 +[#44050]: https://github.com/home-assistant/core/pull/44050 +[#44064]: https://github.com/home-assistant/core/pull/44064 +[#44085]: https://github.com/home-assistant/core/pull/44085 +[#44088]: https://github.com/home-assistant/core/pull/44088 +[#44089]: https://github.com/home-assistant/core/pull/44089 +[#44091]: https://github.com/home-assistant/core/pull/44091 +[#44092]: https://github.com/home-assistant/core/pull/44092 +[#44096]: https://github.com/home-assistant/core/pull/44096 +[#44110]: https://github.com/home-assistant/core/pull/44110 +[#44112]: https://github.com/home-assistant/core/pull/44112 +[#44113]: https://github.com/home-assistant/core/pull/44113 +[#44114]: https://github.com/home-assistant/core/pull/44114 +[#44136]: https://github.com/home-assistant/core/pull/44136 +[#44143]: https://github.com/home-assistant/core/pull/44143 +[#44144]: https://github.com/home-assistant/core/pull/44144 +[#44146]: https://github.com/home-assistant/core/pull/44146 +[#44147]: https://github.com/home-assistant/core/pull/44147 +[#44150]: https://github.com/home-assistant/core/pull/44150 +[#44152]: https://github.com/home-assistant/core/pull/44152 +[#44163]: https://github.com/home-assistant/core/pull/44163 +[#44164]: https://github.com/home-assistant/core/pull/44164 +[#44172]: https://github.com/home-assistant/core/pull/44172 +[#44181]: https://github.com/home-assistant/core/pull/44181 +[#44182]: https://github.com/home-assistant/core/pull/44182 +[#44184]: https://github.com/home-assistant/core/pull/44184 +[#44185]: https://github.com/home-assistant/core/pull/44185 +[#44188]: https://github.com/home-assistant/core/pull/44188 +[#44192]: https://github.com/home-assistant/core/pull/44192 +[#44196]: https://github.com/home-assistant/core/pull/44196 +[#44202]: https://github.com/home-assistant/core/pull/44202 +[#44215]: https://github.com/home-assistant/core/pull/44215 +[#44222]: https://github.com/home-assistant/core/pull/44222 +[#44225]: https://github.com/home-assistant/core/pull/44225 +[#44234]: https://github.com/home-assistant/core/pull/44234 +[#44236]: https://github.com/home-assistant/core/pull/44236 +[#44260]: https://github.com/home-assistant/core/pull/44260 +[#44268]: https://github.com/home-assistant/core/pull/44268 +[#44273]: https://github.com/home-assistant/core/pull/44273 +[#44277]: https://github.com/home-assistant/core/pull/44277 +[#44289]: https://github.com/home-assistant/core/pull/44289 +[#44291]: https://github.com/home-assistant/core/pull/44291 +[#44296]: https://github.com/home-assistant/core/pull/44296 +[#44298]: https://github.com/home-assistant/core/pull/44298 +[#44300]: https://github.com/home-assistant/core/pull/44300 +[#44304]: https://github.com/home-assistant/core/pull/44304 +[#44306]: https://github.com/home-assistant/core/pull/44306 +[#44307]: https://github.com/home-assistant/core/pull/44307 +[#44311]: https://github.com/home-assistant/core/pull/44311 +[#44312]: https://github.com/home-assistant/core/pull/44312 +[#44315]: https://github.com/home-assistant/core/pull/44315 +[#44316]: https://github.com/home-assistant/core/pull/44316 +[#44323]: https://github.com/home-assistant/core/pull/44323 +[#44327]: https://github.com/home-assistant/core/pull/44327 +[#44330]: https://github.com/home-assistant/core/pull/44330 +[#44343]: https://github.com/home-assistant/core/pull/44343 +[#44345]: https://github.com/home-assistant/core/pull/44345 +[#44346]: https://github.com/home-assistant/core/pull/44346 +[#44350]: https://github.com/home-assistant/core/pull/44350 +[#44352]: https://github.com/home-assistant/core/pull/44352 +[#44357]: https://github.com/home-assistant/core/pull/44357 +[#44361]: https://github.com/home-assistant/core/pull/44361 +[#44364]: https://github.com/home-assistant/core/pull/44364 +[#44366]: https://github.com/home-assistant/core/pull/44366 +[#44367]: https://github.com/home-assistant/core/pull/44367 +[#44368]: https://github.com/home-assistant/core/pull/44368 +[#44373]: https://github.com/home-assistant/core/pull/44373 +[#44375]: https://github.com/home-assistant/core/pull/44375 +[#44376]: https://github.com/home-assistant/core/pull/44376 +[#44384]: https://github.com/home-assistant/core/pull/44384 +[#44385]: https://github.com/home-assistant/core/pull/44385 +[#44389]: https://github.com/home-assistant/core/pull/44389 +[#44391]: https://github.com/home-assistant/core/pull/44391 +[#44392]: https://github.com/home-assistant/core/pull/44392 +[#44411]: https://github.com/home-assistant/core/pull/44411 +[#44413]: https://github.com/home-assistant/core/pull/44413 +[#44419]: https://github.com/home-assistant/core/pull/44419 +[#44420]: https://github.com/home-assistant/core/pull/44420 +[#44425]: https://github.com/home-assistant/core/pull/44425 +[#44430]: https://github.com/home-assistant/core/pull/44430 +[#44439]: https://github.com/home-assistant/core/pull/44439 +[#44440]: https://github.com/home-assistant/core/pull/44440 +[#44442]: https://github.com/home-assistant/core/pull/44442 +[#44443]: https://github.com/home-assistant/core/pull/44443 +[#44446]: https://github.com/home-assistant/core/pull/44446 +[#44459]: https://github.com/home-assistant/core/pull/44459 +[#44472]: https://github.com/home-assistant/core/pull/44472 +[#44473]: https://github.com/home-assistant/core/pull/44473 +[#44475]: https://github.com/home-assistant/core/pull/44475 +[#44478]: https://github.com/home-assistant/core/pull/44478 +[#44490]: https://github.com/home-assistant/core/pull/44490 +[#44496]: https://github.com/home-assistant/core/pull/44496 +[#44499]: https://github.com/home-assistant/core/pull/44499 +[#44500]: https://github.com/home-assistant/core/pull/44500 +[#44511]: https://github.com/home-assistant/core/pull/44511 +[#44513]: https://github.com/home-assistant/core/pull/44513 +[#44519]: https://github.com/home-assistant/core/pull/44519 +[#44527]: https://github.com/home-assistant/core/pull/44527 +[#44566]: https://github.com/home-assistant/core/pull/44566 +[#44571]: https://github.com/home-assistant/core/pull/44571 +[#44579]: https://github.com/home-assistant/core/pull/44579 +[#44585]: https://github.com/home-assistant/core/pull/44585 +[#44598]: https://github.com/home-assistant/core/pull/44598 +[#44599]: https://github.com/home-assistant/core/pull/44599 +[#44600]: https://github.com/home-assistant/core/pull/44600 +[#44611]: https://github.com/home-assistant/core/pull/44611 +[#44615]: https://github.com/home-assistant/core/pull/44615 +[#44619]: https://github.com/home-assistant/core/pull/44619 +[#44625]: https://github.com/home-assistant/core/pull/44625 +[#44629]: https://github.com/home-assistant/core/pull/44629 +[#44632]: https://github.com/home-assistant/core/pull/44632 +[#44637]: https://github.com/home-assistant/core/pull/44637 +[#44639]: https://github.com/home-assistant/core/pull/44639 +[#44640]: https://github.com/home-assistant/core/pull/44640 +[#44641]: https://github.com/home-assistant/core/pull/44641 +[#44643]: https://github.com/home-assistant/core/pull/44643 +[@Adminiuga]: https://github.com/Adminiuga +[@BKPepe]: https://github.com/BKPepe +[@CrashWorksLLC]: https://github.com/CrashWorksLLC +[@GreenTentacle]: https://github.com/GreenTentacle +[@JJdeVries]: https://github.com/JJdeVries +[@JeffLIrion]: https://github.com/JeffLIrion +[@Kane610]: https://github.com/Kane610 +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@MisterWil]: https://github.com/MisterWil +[@Noltari]: https://github.com/Noltari +[@PeteBa]: https://github.com/PeteBa +[@RobBie1221]: https://github.com/RobBie1221 +[@Santobert]: https://github.com/Santobert +[@SeraphimSerapis]: https://github.com/SeraphimSerapis +[@Shulyaka]: https://github.com/Shulyaka +[@Shutgun]: https://github.com/Shutgun +[@Sjack-Sch]: https://github.com/Sjack-Sch +[@SteveBrandt]: https://github.com/SteveBrandt +[@SukramJ]: https://github.com/SukramJ +[@TheJulianJES]: https://github.com/TheJulianJES +[@abmantis]: https://github.com/abmantis +[@alengwenus]: https://github.com/alengwenus +[@allenporter]: https://github.com/allenporter +[@amelchio]: https://github.com/amelchio +[@aque0us]: https://github.com/aque0us +[@awrede]: https://github.com/awrede +[@bachya]: https://github.com/bachya +[@badguy99]: https://github.com/badguy99 +[@balloob]: https://github.com/balloob +[@bazwilliams]: https://github.com/bazwilliams +[@bdraco]: https://github.com/bdraco +[@benleb]: https://github.com/benleb +[@bieniu]: https://github.com/bieniu +[@bramkragten]: https://github.com/bramkragten +[@brg468]: https://github.com/brg468 +[@chemelli74]: https://github.com/chemelli74 +[@chrisgramberg678]: https://github.com/chrisgramberg678 +[@cmroche]: https://github.com/cmroche +[@ctalkington]: https://github.com/ctalkington +[@dermotduffy]: https://github.com/dermotduffy +[@dgomes]: https://github.com/dgomes +[@dmulcahey]: https://github.com/dmulcahey +[@doug-hoffman]: https://github.com/doug-hoffman +[@elbueno222]: https://github.com/elbueno222 +[@elupus]: https://github.com/elupus +[@emlove]: https://github.com/emlove +[@emontnemery]: https://github.com/emontnemery +[@emufan]: https://github.com/emufan +[@erogleva]: https://github.com/erogleva +[@esev]: https://github.com/esev +[@eyager1]: https://github.com/eyager1 +[@fabaff]: https://github.com/fabaff +[@farmio]: https://github.com/farmio +[@fbradyirl]: https://github.com/fbradyirl +[@finity69x2]: https://github.com/finity69x2 +[@frenck]: https://github.com/frenck +[@geoffreylagaisse]: https://github.com/geoffreylagaisse +[@gtdiehl]: https://github.com/gtdiehl +[@guix77]: https://github.com/guix77 +[@hmmbob]: https://github.com/hmmbob +[@huonw]: https://github.com/huonw +[@k2v1n58]: https://github.com/k2v1n58 +[@knyar]: https://github.com/knyar +[@ktnrg45]: https://github.com/ktnrg45 +[@lufton]: https://github.com/lufton +[@lundberg]: https://github.com/lundberg +[@mattbilodeau]: https://github.com/mattbilodeau +[@mbo18]: https://github.com/mbo18 +[@mikeage]: https://github.com/mikeage +[@mvn23]: https://github.com/mvn23 +[@mweinelt]: https://github.com/mweinelt +[@nivnoach]: https://github.com/nivnoach +[@nwithan8]: https://github.com/nwithan8 +[@ofalvai]: https://github.com/ofalvai +[@oncleben31]: https://github.com/oncleben31 +[@peternijssen]: https://github.com/peternijssen +[@phibos]: https://github.com/phibos +[@postlund]: https://github.com/postlund +[@rikroe]: https://github.com/rikroe +[@scarface-4711]: https://github.com/scarface-4711 +[@scop]: https://github.com/scop +[@sermayoral]: https://github.com/sermayoral +[@spacegaier]: https://github.com/spacegaier +[@springstan]: https://github.com/springstan +[@starkillerOG]: https://github.com/starkillerOG +[@tetienne]: https://github.com/tetienne +[@thecode]: https://github.com/thecode +[@thevoltagesource]: https://github.com/thevoltagesource +[@timvancann]: https://github.com/timvancann +[@tofuSCHNITZEL]: https://github.com/tofuSCHNITZEL +[@tomaszpieczykolan]: https://github.com/tomaszpieczykolan +[@treylok]: https://github.com/treylok +[@tsvi]: https://github.com/tsvi +[@viiru-]: https://github.com/viiru- +[accuweather docs]: /integrations/accuweather/ +[acer_projector docs]: /integrations/acer_projector/ +[airly docs]: /integrations/airly/ +[amazon_polly docs]: /integrations/amazon_polly/ +[androidtv docs]: /integrations/androidtv/ +[apple_tv docs]: /integrations/apple_tv/ +[bme280 docs]: /integrations/bme280/ +[bmw_connected_drive docs]: /integrations/bmw_connected_drive/ +[camera docs]: /integrations/camera/ +[cast docs]: /integrations/cast/ +[cisco_mobility_express docs]: /integrations/cisco_mobility_express/ +[cloud docs]: /integrations/cloud/ +[daikin docs]: /integrations/daikin/ +[deconz docs]: /integrations/deconz/ +[demo docs]: /integrations/demo/ +[denonavr docs]: /integrations/denonavr/ +[devolo_home_control docs]: /integrations/devolo_home_control/ +[dsmr docs]: /integrations/dsmr/ +[dyson docs]: /integrations/dyson/ +[ecobee docs]: /integrations/ecobee/ +[enigma2 docs]: /integrations/enigma2/ +[enphase_envoy docs]: /integrations/enphase_envoy/ +[esphome docs]: /integrations/esphome/ +[filter docs]: /integrations/filter/ +[fritz docs]: /integrations/fritz/ +[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/ +[fritzbox_netmonitor docs]: /integrations/fritzbox_netmonitor/ +[frontend docs]: /integrations/frontend/ +[gios docs]: /integrations/gios/ +[glances docs]: /integrations/glances/ +[google_assistant docs]: /integrations/google_assistant/ +[google_cloud docs]: /integrations/google_cloud/ +[gree docs]: /integrations/gree/ +[home_connect docs]: /integrations/home_connect/ +[homeassistant docs]: /integrations/homeassistant/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homematicip_cloud docs]: /integrations/homematicip_cloud/ +[huawei_lte docs]: /integrations/huawei_lte/ +[hyperion docs]: /integrations/hyperion/ +[ifttt docs]: /integrations/ifttt/ +[ipp docs]: /integrations/ipp/ +[jewish_calendar docs]: /integrations/jewish_calendar/ +[kira docs]: /integrations/kira/ +[knx docs]: /integrations/knx/ +[lcn docs]: /integrations/lcn/ +[media_extractor docs]: /integrations/media_extractor/ +[media_player docs]: /integrations/media_player/ +[meteo_france docs]: /integrations/meteo_france/ +[moon docs]: /integrations/moon/ +[motion_blinds docs]: /integrations/motion_blinds/ +[mpd docs]: /integrations/mpd/ +[mqtt docs]: /integrations/mqtt/ +[neato docs]: /integrations/neato/ +[nest docs]: /integrations/nest/ +[nuki docs]: /integrations/nuki/ +[number docs]: /integrations/number/ +[nws docs]: /integrations/nws/ +[onewire docs]: /integrations/onewire/ +[openhome docs]: /integrations/openhome/ +[opensky docs]: /integrations/opensky/ +[opentherm_gw docs]: /integrations/opentherm_gw/ +[person docs]: /integrations/person/ +[philips_js docs]: /integrations/philips_js/ +[ping docs]: /integrations/ping/ +[ps4 docs]: /integrations/ps4/ +[pvoutput docs]: /integrations/pvoutput/ +[python_script docs]: /integrations/python_script/ +[rachio docs]: /integrations/rachio/ +[recollect_waste docs]: /integrations/recollect_waste/ +[recorder docs]: /integrations/recorder/ +[rest docs]: /integrations/rest/ +[roku docs]: /integrations/roku/ +[scrape docs]: /integrations/scrape/ +[serial docs]: /integrations/serial/ +[shelly docs]: /integrations/shelly/ +[simplisafe docs]: /integrations/simplisafe/ +[skybell docs]: /integrations/skybell/ +[soma docs]: /integrations/soma/ +[somfy docs]: /integrations/somfy/ +[spider docs]: /integrations/spider/ +[spotify docs]: /integrations/spotify/ +[sql docs]: /integrations/sql/ +[surepetcare docs]: /integrations/surepetcare/ +[systemmonitor docs]: /integrations/systemmonitor/ +[tado docs]: /integrations/tado/ +[tapsaff docs]: /integrations/tapsaff/ +[tasmota docs]: /integrations/tasmota/ +[telegram_bot docs]: /integrations/telegram_bot/ +[venstar docs]: /integrations/venstar/ +[verisure docs]: /integrations/verisure/ +[wemo docs]: /integrations/wemo/ +[workday docs]: /integrations/workday/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[zerproc docs]: /integrations/zerproc/ +[zha docs]: /integrations/zha/ diff --git a/source/images/blog/2021-01/social.png b/source/images/blog/2021-01/social.png new file mode 100644 index 00000000000..a31d7908335 Binary files /dev/null and b/source/images/blog/2021-01/social.png differ