ESPHome 2021.8.0 - 18th August 2021
===================================

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

.. imgtable::
    :columns: 4

    AM43, components/sensor/am43, am43.jpg
    AM43 Cover, components/cover/am43, am43.jpg
    Color Temperature Light, components/light/color_temperature, brightness-medium.svg
    Demo, components/demo, description.svg
    DSMR, components/sensor/dsmr, dsmr.svg
    HRXL MaxSonar WR, components/sensor/hrxl_maxsonar_wr, hrxl_maxsonar_wr.jpg
    PipSolar - compatible PV Inverter, components/pipsolar, pipsolar.jpg
    PM1006 Sensor, components/sensor/pm1006, pm1006.jpg
    PMSA003I, components/sensor/pmsa003i, pmsa003i.jpg
    RGBCT Light, components/light/rgbct, rgbw.png
    SDP3x, components/sensor/sdp3x, sdp31.jpg
    Selec Meter, components/sensor/selec_meter, selec_meter_em2m.jpg
    T6613/15, components/sensor/t6615, t6615.png
    TLC5947, components/output/tlc5947, tlc5947.jpg
    Select Core, components/select/index, folder-open.svg
    Template Select, components/select/template, description.svg
    TSL2591, components/sensor/tsl2591, tsl2591.jpg


Since starting monthly cycles, it just made sense to make this release, **ESPHome 2021.8.0**. From now ESPHome will
be versioned according to the year and month of the release. We hope that this will not confuse everyone too much =).

There are a bunch of new integrations this release as seen above and a few breaking changes below. Hopefully nothing
has been missed out.

Also, look at that nice sorted and categorized home page of sensors. Thanks to :ghuser:`patfelst` for doing this.


Select Entities
---------------

ESPHome devices can now create :doc:`Select</components/select/index>` entities in Home Assistant. This allows you to
not have to create ``input_select`` from HA and then import the current option into ESPHome.
The chosen option can be updated from both sides and will be reflected accordinlgy.


Light Color Modes
-----------------

:ghuser:`oxan` has been at it working hard on getting the all of the light code up to scratch and working
really well with the latest changes to Home Assistant. This is mostly an internal change, but ESPHome has
been updated to properly support Home Assistant's color modes for lights. For the most part it mainly
fixes issues that have come up with the color mode on Home Assistant not doing what people expected in ESPHome.


DSMR
----

:ghuser:`glmnet` and :ghuser:`zuidwijk` have worked together to bring DSMR support to ESPHome.
This platform allows you to read your DSMR smart meter via the P1 port. Check out the
`repo <https://github.com/zuidwijk/dsmr>`_ with more info on the hardware required for this.


Thermostat Breaking changes
---------------------------

:ghuser:`kbx81` Has made a few changes to the :doc:`thermostat</components/climate/thermostat>` climate platform
in :esphomepr:`2032`, :esphomepr:`2073` and :esphomepr:`2114` to allow for the many different use cases that everyone has.
Unfortunately this means you might need to make some changes to your YAML configuration to utilize the new code.

 - ``hysteresis`` has been replaced with ``cool_deadband``, ``cool_overrun``, ``heat_deadband`` and ``heat_overrun``.
 - Climate action timers now govern how quickly climate actions may be called:

   - ``min_idle_time`` is required for all configurations.
   - ``min_cooling_off_time`` and  ``min_cooling_run_time`` are required where cool_action or dry_action is used.
   - ``min_heating_off_time`` and ``min_heating_run_time`` are required where heat_action is used.
   - ``min_fanning_off_time`` and ``min_fanning_run_time`` are required where fan_only_action is used.
   - ``min_fan_mode_switching_time`` is required where any ``fan_mode`` actions (ex.: ``fan_mode_auto_action``, ``fan_mode_on_action``) are used.


Anova Souve
-----------

There is a change with the :doc:`Anova BLE Souve</components/climate/anova>` climate platform that has a new **required**
config option: ``unit_of_measurement``.


Home Assistant Add-on
---------------------

For a while there has been an option in the Add-on to allow specifying the ``esphome_version``
which would allow the addon to download a specific version to use. This has been removed
in this release as it causes more issues than it solves. It may be added back to the ``development`` addon
**only** in the future if there is demand, but the stable add-ons should stay stable. If you
need to downgrade the esphome version because a new version does not work the way you expect, then you
should be using the snapshot/backup feature built into Home Assistant Supervisor to rollback.


Release 2021.8.1 - August 24
----------------------------

- Fix pypi download url :esphomepr:`2177` by :ghuser:`jesserockz`
- Light: include ON_OFF capability to BRIGHTNESS ColorMode :esphomepr:`2186` by :ghuser:`puuu`
- Fix addressable light control without transitions & effects with transitions :esphomepr:`2187` by :ghuser:`oxan`
- mqtt_light: remove legacy API config that is not compatible with HA 2021.8 :esphomepr:`2183` by :ghuser:`puuu`
- Tuya fan component uses enum datapoint type for speed instead of integer :esphomepr:`2182` by :ghuser:`nuttytree`
- Fix template select lambda :esphomepr:`2198` by :ghuser:`ssieb`
- Send Celsius temperature unit in MQTT discovery message :esphomepr:`1840` by :ghuser:`mtl010957`

Release 2021.8.2 - August 25
----------------------------

- Revert "Light: include ON_OFF capability to BRIGHTNESS ColorMode" :esphomepr:`2202` by :ghuser:`jesserockz`

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

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

- Allow entities to be disabled by default in HA :esphomepr:`2113` by :ghuser:`jesserockz` (new-feature)

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

- Added support for pvvx_mithermometer sensor :esphomepr:`1546` by :ghuser:`pasiz` (new-integration)
- Added support for Selec Energy Meter :esphomepr:`1993` by :ghuser:`sourabhjaiswal` (new-integration)
- pm1006: add rx-only support :esphomepr:`2038` by :ghuser:`Habbie` (new-integration)
- Add SDP3x sensor :esphomepr:`2064` by :ghuser:`Azimath` (new-integration)
- Add support for the TLC5947 24-Channel, 12-Bit PWM LED Driver :esphomepr:`2066` by :ghuser:`rnauber` (new-integration)
- Add T6615 :esphomepr:`1170` by :ghuser:`tylermenezes` (new-integration)
- Add support for the HRXL MaxSonar WR series sensors :esphomepr:`2020` by :ghuser:`netmikey` (new-integration)
- Add demo integration :esphomepr:`2085` by :ghuser:`OttoWinter` (new-integration)
- Add select entities and implement template select :esphomepr:`2067` by :ghuser:`jesserockz` (new-integration) (notable-change)
- Added support for Hitachi AC424 remote type :esphomepr:`2101` by :ghuser:`sourabhjaiswal` (new-integration)
- Adds CGPR1 - Qingping Motion & Ambient light sensor support :esphomepr:`1675` by :ghuser:`Tommatheussen` (new-integration)
- Dsmr component :esphomepr:`1881` by :ghuser:`glmnet` (new-integration)
- Support component tsl2591 :esphomepr:`2131` by :ghuser:`wjcarpenter` (new-integration)
- Add support for PMSA003i :esphomepr:`1501` by :ghuser:`sjtrny` (new-integration)
- Add rgbct and color_temperature light platforms :esphomepr:`2138` by :ghuser:`jesserockz` (new-integration)
- Feature pipsolar anh :esphomepr:`1664` by :ghuser:`andreashergert1984` (new-integration)
- Support for AM43 BLE blind motors :esphomepr:`1744` by :ghuser:`buxtronix` (new-integration)

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

- Merge build flags from platformio_options :esphomepr:`1651` by :ghuser:`trvrnrth` (breaking-change)
- Color mode implementation :esphomepr:`2012` by :ghuser:`oxan` (notable-change) (breaking-change)
- Fix parity bit calculation for ESP8266SoftwareSerial :esphomepr:`1873` by :ghuser:`esev` (breaking-change)
- Dont force 0 state instead of min_power unless explicit config set :esphomepr:`2107` by :ghuser:`jesserockz` (breaking-change)
- Anova fahrenheit support :esphomepr:`2126` by :ghuser:`buxtronix` (breaking-change)
- Tidy HA addon :esphomepr:`1937` by :ghuser:`jesserockz` (breaking-change)
- Thermostat enhancements 2 :esphomepr:`2114` by :ghuser:`kbx81` (breaking-change)

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

- Always send all light state values in API :esphomepr:`2150` by :ghuser:`oxan`
- Let sensors announce their state_class via mqtt :esphomepr:`2155` by :ghuser:`puuu`
- Thermostat delayed fan mode fix :esphomepr:`2158` by :ghuser:`kbx81`
- Fix native API log level enum values :esphomepr:`2151` by :ghuser:`OttoWinter`
- Initialize color temperature to value within range if possible :esphomepr:`2168` by :ghuser:`oxan`
- Add a dummy color temp :esphomepr:`2161` by :ghuser:`DotNetDann`
- Add Gas device class to DSMR component :esphomepr:`2169` by :ghuser:`frenck`
- Send dirty states when screen wakes up :esphomepr:`2167` by :ghuser:`jesserockz`
- Remove specified accuracy_decimals from total_daily_energy :esphomepr:`2174` by :ghuser:`jesserockz`
- Add new total_increasing state-class for Home Assistant 2021.9+ :esphomepr:`2166` by :ghuser:`jesserockz`

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

- Color mode implementation :esphomepr:`2012` by :ghuser:`oxan` (notable-change) (breaking-change)
- Add select entities and implement template select :esphomepr:`2067` by :ghuser:`jesserockz` (new-integration) (notable-change)

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

- Always tick mdns in ethernet component :esphomepr:`2018` by :ghuser:`flacjacket`
- Bump black from 21.6b0 to 21.7b0 :esphomepr:`2031` by :ghuser:`dependabot[bot]`
- Convert Arduino boolean to bool :esphomepr:`2042` by :ghuser:`jesserockz`
- Fix ESP32-C3 using v2.0.0-alpha1 support :esphomepr:`2035` by :ghuser:`agners`
- Bump pylint from 2.8.2 to 2.9.4 :esphomepr:`2047` by :ghuser:`dependabot[bot]`
- Bump pylint from 2.9.4 to 2.9.5 :esphomepr:`2050` by :ghuser:`dependabot[bot]`
- Thermostat fixes+updates 1 :esphomepr:`2032` by :ghuser:`kbx81`
- Add test5 back to CI :esphomepr:`2052` by :ghuser:`jesserockz`
- Added support for pvvx_mithermometer sensor :esphomepr:`1546` by :ghuser:`pasiz` (new-integration)
- Added support for Selec Energy Meter :esphomepr:`1993` by :ghuser:`sourabhjaiswal` (new-integration)
- Add TAG to all compile units :esphomepr:`2060` by :ghuser:`agners`
- Fix minor build issues with Arduino ESP32 2.0.0-rc1 :esphomepr:`2057` by :ghuser:`agners`
- Fix clang-format script behaviour without -i + code cleanup :esphomepr:`2002` by :ghuser:`oxan`
- Merge build flags from platformio_options :esphomepr:`1651` by :ghuser:`trvrnrth` (breaking-change)
- Print BLE 128-bit UUIDs according to spec :esphomepr:`2061` by :ghuser:`agners`
- Support library override using named library with repository :esphomepr:`2056` by :ghuser:`agners`
- Initial ESP32-C3-DevKitM-1 board support :esphomepr:`2062` by :ghuser:`agners`
- Fix a bunch of typos :esphomepr:`2058` by :ghuser:`oxan`
- pm1006: add rx-only support :esphomepr:`2038` by :ghuser:`Habbie` (new-integration)
- Add sensor monetary device_class :esphomepr:`2083` by :ghuser:`OttoWinter`
- Make light.addressable_set color parameters behave as documented & consistent with elsewhere :esphomepr:`2009` by :ghuser:`oxan`
- Bump pylint from 2.9.5 to 2.9.6 :esphomepr:`2087` by :ghuser:`dependabot[bot]`
- Bump ESPAsyncWebServer-esphome to 1.3.0 :esphomepr:`2075` by :ghuser:`agners`
- Add SDP3x sensor :esphomepr:`2064` by :ghuser:`Azimath` (new-integration)
- Add support for the TLC5947 24-Channel, 12-Bit PWM LED Driver :esphomepr:`2066` by :ghuser:`rnauber` (new-integration)
- Add T6615 :esphomepr:`1170` by :ghuser:`tylermenezes` (new-integration)
- Add support for the HRXL MaxSonar WR series sensors :esphomepr:`2020` by :ghuser:`netmikey` (new-integration)
- Pull ESP32 Wifi fixes from arduino-esp32 :esphomepr:`2069` by :ghuser:`OttoWinter`
- Add demo integration :esphomepr:`2085` by :ghuser:`OttoWinter` (new-integration)
- Add device class support to MQTT cover :esphomepr:`2092` by :ghuser:`krconv`
- Color mode implementation :esphomepr:`2012` by :ghuser:`oxan` (notable-change) (breaking-change)
- Convert more code to async-def syntax :esphomepr:`2095` by :ghuser:`OttoWinter`
- Fix parity bit calculation for ESP8266SoftwareSerial :esphomepr:`1873` by :ghuser:`esev` (breaking-change)
- Convert sensor_schema to use kwargs :esphomepr:`2094` by :ghuser:`OttoWinter`
- Fix MQTT light include :esphomepr:`2104` by :ghuser:`OttoWinter`
- Fix missing include in light_traits.h :esphomepr:`2105` by :ghuser:`jkl1337`
- Add select entities and implement template select :esphomepr:`2067` by :ghuser:`jesserockz` (new-integration) (notable-change)
- pmsx003: add standard particle, particle counts :esphomepr:`1694` by :ghuser:`warthog9`
- Dont force 0 state instead of min_power unless explicit config set :esphomepr:`2107` by :ghuser:`jesserockz` (breaking-change)
- Fix import :esphomepr:`2108` by :ghuser:`jesserockz`
- Thermostat enhancements and code clean-up :esphomepr:`2073` by :ghuser:`kbx81`
- Bump esptool from 2.8 to 3.1 :esphomepr:`1839` by :ghuser:`dependabot[bot]`
- Add min_save_interval to total_energy/integration for memory wear :esphomepr:`1665` by :ghuser:`andreashergert1984`
- Add support for Waveshare E-Paper 4.2" B V2 :esphomepr:`1610` by :ghuser:`brettp`
- Add SM16703 to supported FastLED chipsets :esphomepr:`1751` by :ghuser:`robgridley`
- Migrate COLOR constants to Color class & disallow implicit conversions to Color :esphomepr:`2093` by :ghuser:`oxan`
- Add version argument to ESPDEPRECATED macro :esphomepr:`2116` by :ghuser:`oxan`
- Fix mixup between ColorMode and ColorCapability :esphomepr:`2121` by :ghuser:`oxan`
- Various follow-up fixes to color mode changes :esphomepr:`2118` by :ghuser:`oxan`
- Fix crash when using addressable_set with out-of-range indices :esphomepr:`2120` by :ghuser:`oxan`
- Add state classes to pvvx_mithermometer :esphomepr:`2125` by :ghuser:`jesserockz`
- Add support for ESP8266 Arduino v3.0.1 :esphomepr:`2128` by :ghuser:`oxan`
- Drop legacy esphomeyaml command wrapper code :esphomepr:`2130` by :ghuser:`oxan`
- Allow multiple unnamed libraries :esphomepr:`2132` by :ghuser:`agners`
- Don't stop effects if brightness goes to zero :esphomepr:`2134` by :ghuser:`oxan`
- Added support for Hitachi AC424 remote type :esphomepr:`2101` by :ghuser:`sourabhjaiswal` (new-integration)
- Anova fahrenheit support :esphomepr:`2126` by :ghuser:`buxtronix` (breaking-change)
- Tidy HA addon :esphomepr:`1937` by :ghuser:`jesserockz` (breaking-change)
- Removed unused arguments from rgbww code :esphomepr:`2137` by :ghuser:`jesserockz`
- Only compile protobuf dumping when very verbose logging is enabled :esphomepr:`2139` by :ghuser:`oxan`
- Refactor clang-tidy script to use actual compiler flags and includes :esphomepr:`2133` by :ghuser:`oxan`
- Add Toshiba AC generic IR remote protocol :esphomepr:`2019` by :ghuser:`kbx81`
- Add new Toshiba AC unit protocol :esphomepr:`1987` by :ghuser:`kbx81`
- Add Dish Network protocol :esphomepr:`2117` by :ghuser:`ianchi`
- Fix some issues with deprecated argv syntax detection :esphomepr:`2127` by :ghuser:`OttoWinter`
- Don't discard cold/warm white brightness in constant brightness mode :esphomepr:`2136` by :ghuser:`oxan`
- Allow entities to be disabled by default in HA :esphomepr:`2113` by :ghuser:`jesserockz` (new-feature)
- Adds CGPR1 - Qingping Motion & Ambient light sensor support :esphomepr:`1675` by :ghuser:`Tommatheussen` (new-integration)
- Don't mark COLOR_* constants as static in header :esphomepr:`2141` by :ghuser:`oxan`
- RFC: status_led: allow to share single light :esphomepr:`1974` by :ghuser:`ianchi`
- waveshare_epaper: add support for ttgo t5 b74 variant display :esphomepr:`1869` by :ghuser:`osresearch`
- Thermostat enhancements 2 :esphomepr:`2114` by :ghuser:`kbx81` (breaking-change)
- Dsmr component :esphomepr:`1881` by :ghuser:`glmnet` (new-integration)
- Always abort on allocation when out-of-memory :esphomepr:`2129` by :ghuser:`oxan`
- Support component tsl2591 :esphomepr:`2131` by :ghuser:`wjcarpenter` (new-integration)
- Add support for PMSA003i :esphomepr:`1501` by :ghuser:`sjtrny` (new-integration)
- Increase task wdt timeout for ESP32/ESP32-C3 :esphomepr:`2096` by :ghuser:`agners`
- Format dev temp idedata :esphomepr:`2142` by :ghuser:`OttoWinter`
- Add rgbct and color_temperature light platforms :esphomepr:`2138` by :ghuser:`jesserockz` (new-integration)
- Warn if underscore character is used in hostname :esphomepr:`2079` by :ghuser:`davet2001`
- Break the Tuya set_datapoint_value method into separate methods per datapoint type :esphomepr:`2059` by :ghuser:`nuttytree`
- Feature pipsolar anh :esphomepr:`1664` by :ghuser:`andreashergert1984` (new-integration)
- Add deassert_rts_dtr option to force RTS/DTR low when using miniterm :esphomepr:`2089` by :ghuser:`agners`
- Support for AM43 BLE blind motors :esphomepr:`1744` by :ghuser:`buxtronix` (new-integration)
- Fix format warning in Tuya component :esphomepr:`1954` by :ghuser:`agners`
- Modular light transformers :esphomepr:`2124` by :ghuser:`oxan`
- Support for the DKE screen version of LilyGo-TTGO-T5 V2.3 :esphomepr:`1969` by :ghuser:`blambov`
- Support multiple configuration directories for update-all subcommand :esphomepr:`1925` by :ghuser:`oxan`
- Always send all light state values in API :esphomepr:`2150` by :ghuser:`oxan`
- Let sensors announce their state_class via mqtt :esphomepr:`2155` by :ghuser:`puuu`
- Thermostat delayed fan mode fix :esphomepr:`2158` by :ghuser:`kbx81`
- Fix native API log level enum values :esphomepr:`2151` by :ghuser:`OttoWinter`
- Initialize color temperature to value within range if possible :esphomepr:`2168` by :ghuser:`oxan`
- Add a dummy color temp :esphomepr:`2161` by :ghuser:`DotNetDann`
- Add Gas device class to DSMR component :esphomepr:`2169` by :ghuser:`frenck`
- Send dirty states when screen wakes up :esphomepr:`2167` by :ghuser:`jesserockz`
- Remove specified accuracy_decimals from total_daily_energy :esphomepr:`2174` by :ghuser:`jesserockz`
- Add new total_increasing state-class for Home Assistant 2021.9+ :esphomepr:`2166` by :ghuser:`jesserockz`

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

- :doc:`v1.20.0`
- :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`
