Changelog - Version 1.20.0 - 21st July 2021
===========================================

.. seo::
    :description: Changelog for ESPHome version 1.20.0.
    :image: /_static/changelog-1.20.0.png
    :author: ESPHome
    :author_twitter: @esphome_

.. imgtable::
    :columns: 2

    Number Core, components/number/index, folder-open.svg, dark-invert
    Template Number, components/number/template, description.svg, dark-invert
    Havells Inverter, components/sensor/havells_solar, havellsgti5000d_s.jpg
    Anova Cooker, components/climate/anova, anova.png


Here's to another timely release bringing a few new components and a whole bunch of changes under
the hood to existing ones.


Number Entities
---------------

Creating ``number`` entities in Home Assistant from ESPHome is now supported. This basically replaces
creating an ``input_number`` and then importing that sensor into ESPHome as a sensor with
``platform: homeassistant``. The state of the number can also be updated directly on the ESPHome device
and will be reflected in Home Assistant.

I would like to see what other platforms people can come up with for the number component,
I have a few ideas myself.


Light Changes
-------------

Unfortunately, some breaking changes had to be made:

- For addressable RGBW lights, the brightness now also applies to the white channel (this was already the case for
  non-addressable RGBW lights). If you want to control only the brightness of the color channel, use the new ``color_brightness`` option.
- For RGBW lights, the white channel is no longer normalized by the color intensity in the ``light.turn_on`` and
  ``light.control`` actions. In previous versions, if the red value was set to 60% and the white value to 30%, this
  would result in the white channel being at 50% brightness. Starting with this version, this will result in the
  white channel being set to 30%, as expected.


ESPHome Dashboard
-----------------

Thanks :ghuser:`balloob` for making a small, but very significant change to the dashboard cards so now people who suffer from color-blindness
will know whether or not the node is online.

.. figure:: images/online-indicator.png
    :align: center
    :width: 50.0%


Nextion
-------

The Nextion component has had a major rewrite this release bringing many more features to those that use the displays.
I am not sure how to describe the changes except for listing the main change points from the PR and linking to the docs
for you to read yourself. :doc:`/components/display/nextion`

- Sensors/binary sensors/switch/text sensors and touch have all been added.
- Over the air TFT file upload
- Polling has been added to all the components
- Display on_wake/on_sleep
- Many API helpers (get_string/get_int) have been added

Release 1.20.1 - July 27
------------------------

- Fix git pull for external_components :esphomepr:`2055` by :ghuser:`mmakaay`
- midea_ac: fix presets implementation :esphomepr:`2054` by :ghuser:`dudanov`
- Fixes new auto mode COOL and HEAT after :esphomepr:`1994` :esphomepr:`2053` by :ghuser:`carstenschroeder`
- Log warning about lack of support for Anova nano :esphomepr:`2063` by :ghuser:`buxtronix`
- Couple more updates for the Tuya component :esphomepr:`2065` by :ghuser:`nuttytree`
- Fix MQTT climate custom fan modes without regular ones :esphomepr:`2071` by :ghuser:`OttoWinter`

Release 1.20.2 - July 29
------------------------

- More Tuya MCU robustness :esphomepr:`2080` by :ghuser:`jkl1337`
- Bump esphome dashboard to 20210728.0 :esphomepr:`2081` by :ghuser:`jesserockz`
- HLW8012 - Dump energy sensor config :esphomepr:`2082` by :ghuser:`jesserockz`
- Use sensor_schema for total_daily_energy :esphomepr:`2090` by :ghuser:`jesserockz`

Release 1.20.3 - July 30
------------------------

- Set pulse meter total to use state class measurement and last reset type auto :esphomepr:`2097` by :ghuser:`jesserockz`

Release 1.20.4 - August 4
-------------------------

- Correctly invert esp32 RMT TX :esphomepr:`2022` by :ghuser:`WeekendWarrior1`
- Move configure_rmt() into setup() :esphomepr:`2028` by :ghuser:`WeekendWarrior1`
- Fix climate restore schema changed resulting in invalid restore :esphomepr:`2068` by :ghuser:`OttoWinter`
- Fix PID climate breaks when restoring old modes :esphomepr:`2086` by :ghuser:`OttoWinter`
- fix diplay trigger missing base class :esphomepr:`2099` by :ghuser:`glmnet`
- Fix min/max keys in MQTT Number to match Home Assistant :esphomepr:`2102` by :ghuser:`paulmonigatti`
- Use proper schema for the analog pin shorthand :esphomepr:`2103` by :ghuser:`nonameplum`
- [duty_cycle] initialize two missing variables :esphomepr:`2088` by :ghuser:`CarlosGS`
- Fix time.on_time triggering if time jumped back :esphomepr:`1806` by :ghuser:`brambo123`
- Fix external components not refreshing with default or high refresh time :esphomepr:`2122` by :ghuser:`OttoWinter`

Full list of changes
--------------------

New Features
^^^^^^^^^^^^

- Allow WiFi AP to use device name :esphomepr:`1990` by :ghuser:`jesserockz` (new-feature)
- Add Number entities (from Home Assistant) :esphomepr:`1971` by :ghuser:`jesserockz` (new-feature) (new-integration) (notable-change)
- Nextion upload and sensors :esphomepr:`1464` by :ghuser:`SenexCrenshaw` (cherry-picked) (new-feature) (notable-change)
- Adding last_reset_type to sensors that should support it. :esphomepr:`2039` by :ghuser:`jesserockz` (cherry-picked) (new-feature)

New Components
^^^^^^^^^^^^^^

- Climate component for Ballu air conditioners with remote model YKR-K/002E :esphomepr:`1939` by :ghuser:`bazuchan` (new-integration)
- Anova ble component :esphomepr:`1752` by :ghuser:`buxtronix` (new-integration)
- Add Number entities (from Home Assistant) :esphomepr:`1971` by :ghuser:`jesserockz` (new-feature) (new-integration) (notable-change)
- Added support for havells_solar sensor :esphomepr:`1988` by :ghuser:`sourabhjaiswal` (new-integration)

Breaking Changes
^^^^^^^^^^^^^^^^

- remote_receiver use config parent receiver for registering dumpers :esphomepr:`1980` by :ghuser:`jesserockz` (breaking-change)
- Change color model to fix white channel issues :esphomepr:`1895` by :ghuser:`oxan` (breaking-change)
- Remove a whole bunch of deprecated/removed stuff :esphomepr:`1981` by :ghuser:`jesserockz` (breaking-change)
- catch 0.0 in float set_level pre-adjustment :esphomepr:`2013` by :ghuser:`WeekendWarrior1` (breaking-change)
- Climate mode meaning was changed :esphomepr:`1995` by :ghuser:`OttoWinter` (breaking-change)

Beta Fixes
^^^^^^^^^^

- Nextion upload and sensors :esphomepr:`1464` by :ghuser:`SenexCrenshaw` (cherry-picked) (new-feature) (notable-change)
- Fix ethernet component hostname handling :esphomepr:`2010` by :ghuser:`flacjacket` (cherry-picked)
- Refactor docker build system and workflows :esphomepr:`2023` by :ghuser:`OttoWinter` (cherry-picked)
- GH Actions CI use GHCR :esphomepr:`2027` by :ghuser:`OttoWinter` (cherry-picked)
- Dashboard disable assets caching :esphomepr:`2025` by :ghuser:`OttoWinter` (cherry-picked)
- Improve external components error messages :esphomepr:`2026` by :ghuser:`OttoWinter` (cherry-picked)
- Number and Template Number updates :esphomepr:`2036` by :ghuser:`jesserockz` (cherry-picked)
- Add restore_value to template number :esphomepr:`2041` by :ghuser:`jesserockz` (cherry-picked)
- midea_ac: Fix turbo boost mode. Preset PRESET_BOOST. :esphomepr:`2029` by :ghuser:`dudanov` (cherry-picked)
- Bump dashboard to 20210719.0 :esphomepr:`2043` by :ghuser:`balloob` (cherry-picked)
- Correct ADS1115 handling of multiple sensors in continuous mode :esphomepr:`2016` by :ghuser:`flacjacket` (cherry-picked)
- ESP32 ADC use esp-idf :esphomepr:`2024` by :ghuser:`OttoWinter` (cherry-picked)
- Fix white value transition for addressable lights :esphomepr:`2045` by :ghuser:`oxan` (cherry-picked)
- Adding last_reset_type to sensors that should support it. :esphomepr:`2039` by :ghuser:`jesserockz` (cherry-picked) (new-feature)
- Remove superfluous polling on ADS1115 :esphomepr:`2015` by :ghuser:`flacjacket` (cherry-picked)

Notable Changes
^^^^^^^^^^^^^^^

- Add Number entities (from Home Assistant) :esphomepr:`1971` by :ghuser:`jesserockz` (new-feature) (new-integration) (notable-change)
- Nextion upload and sensors :esphomepr:`1464` by :ghuser:`SenexCrenshaw` (cherry-picked) (new-feature) (notable-change)

All changes
^^^^^^^^^^^

- Update ambiguous command :esphomepr:`1889` by :ghuser:`jesserockz`
- Configure clang-format for consistent pointer alignment :esphomepr:`1890` by :ghuser:`OttoWinter`
- Activate some clang-tidy checks :esphomepr:`1884` by :ghuser:`OttoWinter`
- Avoid non-const globals and enable clang-tidy check :esphomepr:`1892` by :ghuser:`agners`
- Convert st7735.cpp to use Unix line separators :esphomepr:`1894` by :ghuser:`oxan`
- Split files in light component :esphomepr:`1893` by :ghuser:`oxan`
- Fix CI by avoiding non-const global :esphomepr:`1907` by :ghuser:`oxan`
- Adds support cpp to vscode :esphomepr:`1828` by :ghuser:`dentra`
- Support ESP8266 Arduino 3.0.0 :esphomepr:`1897` by :ghuser:`agners`
- Run script/setup in devcontainer instead of pip install :esphomepr:`1913` by :ghuser:`OttoWinter`
- Fix typo in test3.yaml :esphomepr:`1928` by :ghuser:`loongyh`
- Fix error print in script/helpers.py :esphomepr:`1935` by :ghuser:`agners`
- Add variable bit width for Samsung protocol :esphomepr:`1927` by :ghuser:`kbx81`
- Add data sizes to log message :esphomepr:`1938` by :ghuser:`jesserockz`
- Update generation script to add const :esphomepr:`1945` by :ghuser:`jesserockz`
- Bump dashboard to 20210621.0 :esphomepr:`1946` by :ghuser:`balloob`
- Improve DHT read timings :esphomepr:`1901` by :ghuser:`agners`
- More VSCode devcontainer improvements :esphomepr:`1934` by :ghuser:`agners`
- Validate color temperature values for RGBWW/CWWW lights :esphomepr:`1957` by :ghuser:`oxan`
- Fix on_multi_click min_length :esphomepr:`1960` by :ghuser:`jesserockz`
- Climate component for Ballu air conditioners with remote model YKR-K/002E :esphomepr:`1939` by :ghuser:`bazuchan` (new-integration)
- Simplify initializing glyph_data :esphomepr:`1970` by :ghuser:`gladhorn`
- Add device_class support for MQTT integration :esphomepr:`1832` by :ghuser:`definitio`
- Rename master branch to release :esphomepr:`1976` by :ghuser:`OttoWinter`
- Fix tuya fan speed send :esphomepr:`1978` by :ghuser:`trvrnrth`
- Time Based Cover: Fixed apparent race condition on ESP32 chips :esphomepr:`1984` by :ghuser:`pdoidge`
- Fix invalid escape sequences in regex (fix pytest warning) :esphomepr:`1814` by :ghuser:`oxan`
- Bump hypothesis from 5.21.0 to 5.49.0 :esphomepr:`1753` by :ghuser:`mweinelt`
- Bump pytest-mock from 3.5.1 to 3.6.1 :esphomepr:`1754` by :ghuser:`dependabot[bot]`
- hlw8012: fix constants for BL0937 :esphomepr:`1973` by :ghuser:`ianchi`
- Anova ble component :esphomepr:`1752` by :ghuser:`buxtronix` (new-integration)
- Add stepper.set_acceleration and stepper.set_deceleration to stepper component :esphomepr:`1977` by :ghuser:`WeekendWarrior1`
- remote_receiver use config parent receiver for registering dumpers :esphomepr:`1980` by :ghuser:`jesserockz` (breaking-change)
- Don't try compat parsing for "esphome version" :esphomepr:`1966` by :ghuser:`oxan`
- Change color model to fix white channel issues :esphomepr:`1895` by :ghuser:`oxan` (breaking-change)
- Allow WiFi AP to use device name :esphomepr:`1990` by :ghuser:`jesserockz` (new-feature)
- Support custom fan modes in mqtt_climate :esphomepr:`1989` by :ghuser:`mgorven`
- Bump protobuf from 3.17.0 to 3.17.3 :esphomepr:`1986` by :ghuser:`dependabot[bot]`
- Bump pytest-cov from 2.11.1 to 2.12.1 :esphomepr:`1855` by :ghuser:`dependabot[bot]`
- Bump pytest-asyncio from 0.14.0 to 0.15.1 :esphomepr:`1793` by :ghuser:`dependabot[bot]`
- Improve climate mode code docs :esphomepr:`1995` by :ghuser:`OttoWinter`
- Climate modes COOL and HEAT are auto modes :esphomepr:`1994` by :ghuser:`carstenschroeder`
- Add state callback to ota component :esphomepr:`1816` by :ghuser:`mmakaay`
- Fix deprecation message for old climate swing mode methods :esphomepr:`2003` by :ghuser:`oxan`
- Add Number entities (from Home Assistant) :esphomepr:`1971` by :ghuser:`jesserockz` (new-feature) (new-integration) (notable-change)
- Fixed lolin32 lite key :esphomepr:`2001` by :ghuser:`monkeyclass`
- Add support for IBS-TH1 External Sensor :esphomepr:`1983` by :ghuser:`MikkoTervala`
- Bang bang climate new mode meanings :esphomepr:`1996` by :ghuser:`OttoWinter`
- Sgp30 sensor improvements :esphomepr:`1510` by :ghuser:`huubeikens`
- Color brightness fixes :esphomepr:`2008` by :ghuser:`oxan`
- Bump black from 21.5b1 to 21.6b0 :esphomepr:`2011` by :ghuser:`dependabot[bot]`
- Added support for havells_solar sensor :esphomepr:`1988` by :ghuser:`sourabhjaiswal` (new-integration)
- Remove a whole bunch of deprecated/removed stuff :esphomepr:`1981` by :ghuser:`jesserockz` (breaking-change)
- catch 0.0 in float set_level pre-adjustment :esphomepr:`2013` by :ghuser:`WeekendWarrior1` (breaking-change)
- Introduce clamp as a template function :esphomepr:`1953` by :ghuser:`agners`
- [Teleinfo] do not stop parsing frame if there is only a CRC error on … :esphomepr:`1999` by :ghuser:`St4n`
- Nextion upload and sensors :esphomepr:`1464` by :ghuser:`SenexCrenshaw` (cherry-picked) (new-feature) (notable-change)
- Fix ethernet component hostname handling :esphomepr:`2010` by :ghuser:`flacjacket` (cherry-picked)
- Refactor docker build system and workflows :esphomepr:`2023` by :ghuser:`OttoWinter` (cherry-picked)
- GH Actions CI use GHCR :esphomepr:`2027` by :ghuser:`OttoWinter` (cherry-picked)
- Dashboard disable assets caching :esphomepr:`2025` by :ghuser:`OttoWinter` (cherry-picked)
- Improve external components error messages :esphomepr:`2026` by :ghuser:`OttoWinter` (cherry-picked)
- Number and Template Number updates :esphomepr:`2036` by :ghuser:`jesserockz` (cherry-picked)
- Add restore_value to template number :esphomepr:`2041` by :ghuser:`jesserockz` (cherry-picked)
- midea_ac: Fix turbo boost mode. Preset PRESET_BOOST. :esphomepr:`2029` by :ghuser:`dudanov` (cherry-picked)
- Bump dashboard to 20210719.0 :esphomepr:`2043` by :ghuser:`balloob` (cherry-picked)
- Correct ADS1115 handling of multiple sensors in continuous mode :esphomepr:`2016` by :ghuser:`flacjacket` (cherry-picked)
- ESP32 ADC use esp-idf :esphomepr:`2024` by :ghuser:`OttoWinter` (cherry-picked)
- Fix white value transition for addressable lights :esphomepr:`2045` by :ghuser:`oxan` (cherry-picked)
- Adding last_reset_type to sensors that should support it. :esphomepr:`2039` by :ghuser:`jesserockz` (cherry-picked) (new-feature)
- Remove superfluous polling on ADS1115 :esphomepr:`2015` by :ghuser:`flacjacket` (cherry-picked)

Past Changelogs
---------------

- :doc:`v1.19.0`
- :doc:`v1.18.0`
- :doc:`v1.17.0`
- :doc:`v1.16.0`
- :doc:`v1.15.0`
- :doc:`v1.14.0`
- :doc:`v1.13.0`
- :doc:`v1.12.0`
- :doc:`v1.11.0`
- :doc:`v1.10.0`
- :doc:`v1.9.0`
- :doc:`v1.8.0`
- :doc:`v1.7.0`
