ESPHome 2021.10.0 - 20th October 2021
=====================================

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

.. imgtable::
    :columns: 3

    AirThings Wave Mini, components/sensor/airthings_ble, airthings_logo.png
    Current-Based Cover, components/cover/current_based, flash.svg, dark-invert
    Daly BMS, components/sensor/daly_bms, daly_bms.jpg
    EPEVER Tracer, cookbook/tracer-an, tracer-an.jpg
    LTR390, components/sensor/ltr390, ltr390.jpg
    Modbus Controller, components/modbus_controller, modbus.png
    Safe Mode Switch, components/switch/safe_mode, restart-alert.svg, dark-invert
    SCD4X, components/sensor/scd4x, scd4x.jpg
    Tuya Cover, components/cover/tuya, tuya.png


Learn from the creators about the new encryption, support for any ESP32 variant and how Otto came up with ESPHome

.. raw:: html

    <iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/X10ToPN1gIk"
            title="YouTube video player" frameborder="0"
            allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
            allowfullscreen>
    </iframe>

ESP-IDF
-------

A huge effort has been put into reorganising, restructuring and rewriting a whole lot of code
to allow ESP32 based boards to be compiled using ESP-IDF as the framework instead of Arduino.
This allows ESPHome to keep up with new features and support for new ESP32 based chips
that Espressif add to the ESP-IDF, such as the ESP32-C3 that a lot of people had been asking about.

There are known issues and specific components that are missing support for ESP-IDF as those ones rely
on an Arduino library and need more time to be rewritten in a compatible way.

The new documentation is here at :doc:`/components/esp32`.

If you come across an issue while switching to ESP-IDF, please file an
`issue on GitHub <https://github.com/esphome/issues/issues/new?assignees=&labels=&template=bug_report.yml>`__
using the ``ESP32-IDF`` option as the platform.

Dashboard Node Import
---------------------

If you intend on creating and distributing devices preinstalled with ESPHome, check out :doc:`/guides/creators`
for more information and the best ways to give the end users the best experience.

The newest feature of this set is the importing of devices found on the network. If the device is running
ESPHome 2021.10 or newer, it can be configured to broadcast a url via mDNS and the ESPHome dashboard will pick this up
and prompt the user to import the device and create a minimal configuration for it.

Modbus Controller
-----------------

Support for generic modbus device data has been added. This allows you as a user
to get data and control a modbus device without a native ESPHome component. Although a
native component is still better and preferred if it exists.

- :doc:`Modbus Controller </components/modbus_controller>`
- :doc:`Sensors </components/sensor/modbus_controller>`
- :doc:`Binary Sensors </components/binary_sensor/modbus_controller>`
- :doc:`Text Sensors </components/text_sensor/modbus_controller>`
- :doc:`Numbers </components/number/modbus_controller>`
- :doc:`Switches </components/switch/modbus_controller>`
- :doc:`Outputs </components/output/modbus_controller>`

Text Sensor filters
-------------------

``text_sensors`` now have ``filters`` that allow you to do string manipulation before the value is
given to the frontend. Check out the :ref:`docs here <text_sensor-filters>`.

Lighting
--------

The Tuya light platform now supports RGB and HSV datapoints for those TuyaMCU based lights.

Partitions now support adding non-addressable lights into the sequence. As an example you
could build a "fake" addressable light from regular rgb leds.

Graphs
------

There is new :ref:`Graph <display-graphs>` building functions for displays that will allow you to
draw the history of sensors over time. See the docs for examples and images on what this looks like.

``wait_until``
--------------

The ``wait_until`` action now has an optional ``timeout`` option that lets you continue or cancel (using an
if action afterwards) your automations if the condition does not become true after a period of time.


Combination of MiScale 1 & 2
----------------------------

:esphomepr:`2266` combines the two miscale platforms into one as the code was mostly the
same and autodetection could be done to detemine which one you are using.

Float Output state changes
--------------------------

When using a float output with both invert and min/max values, prevously
the end resut value was being calculated incorrectly. :esphomepr:`2368` fixed this.


Release 2021.10.1 - October 21
------------------------------

- Fix MDNS for ESP8266 devices :esphomepr:`2571` by :ghuser:`mmakaay`
- Fix ESP8266 GPIO0 Pullup Validation :esphomepr:`2572` by :ghuser:`OttoWinter`
- Fix wifi ble coexistence check :esphomepr:`2573` by :ghuser:`OttoWinter`
- Arduino global delay/millis/... symbols workaround :esphomepr:`2575` by :ghuser:`OttoWinter`
- Fix ESP8266 OTA adds unnecessary Update library :esphomepr:`2579` by :ghuser:`OttoWinter`
- Fix ESP8266 dallas GPIO16 INPUT_PULLUP :esphomepr:`2581` by :ghuser:`OttoWinter`
- Fix platformio version in Dockerfile doesn't match requirements :esphomepr:`2582` by :ghuser:`OttoWinter`
- Fix platformio_install_deps no longer installing all lib_deps :esphomepr:`2584` by :ghuser:`OttoWinter`

Release 2021.10.2 - October 22
------------------------------

- Fix HeatpumpIR pin :esphomepr:`2585` by :ghuser:`OttoWinter`
- Fix PlatformIO version for latest Arduino framework :esphomepr:`2590` by :ghuser:`oxan`
- Fix pin/component switchup in SX1509 pin configuration :esphomepr:`2593` by :ghuser:`oxan`
- Fix old-style `arduino_version` on ESP8266 and with magic values :esphomepr:`2591` by :ghuser:`oxan`
- Bump esphome-dashboard from 20211021.0 to 20211021.1 :esphomepr:`2594` by :ghuser:`dependabot[bot]`
- Fix validation of addressable light IDs :esphomepr:`2588` by :ghuser:`oxan`
- Fix socket connection closed not detected :esphomepr:`2587` by :ghuser:`OttoWinter`
- Bump noise-c from 0.1.3 to 0.1.4 :esphomepr:`2602` by :ghuser:`OttoWinter`
- Add OTA upload compression for ESP8266 :esphomepr:`2601` by :ghuser:`OttoWinter`
- Re-raise keyboardinterrupt :esphomepr:`2603` by :ghuser:`OttoWinter`
- Add owner to all libraries used :esphomepr:`2604` by :ghuser:`OttoWinter`
- Fix compiler warnings and update platformio line filter :esphomepr:`2607` by :ghuser:`OttoWinter`
- Fix ESP8266 OTA compression only starting framework v2.7.0 :esphomepr:`2610` by :ghuser:`OttoWinter`
- Bugfix tca9548a and idf refactor anh :esphomepr:`2612` by :ghuser:`andreashergert1984`

Release 2021.10.3 - October 27
------------------------------

- fixed dependency for pca9685 component :esphomepr:`2614` by :ghuser:`andreashergert1984`
- Bump platform-espressif8266 from 2.6.2 to 2.6.3 :esphomepr:`2620` by :ghuser:`OttoWinter`
- Autodetect flash size :esphomepr:`2615` by :ghuser:`agners`
- Teleinfo ptec :esphomepr:`2599` by :ghuser:`0hax`
- Fix glue code missing micros() :esphomepr:`2623` by :ghuser:`OttoWinter`
- Remove power and energy from sensors that are not true power :esphomepr:`2628` by :ghuser:`jesserockz`
- fix modbus output :esphomepr:`2630` by :ghuser:`martgras`
- Fix pin number validation for sn74hc595 :esphomepr:`2621` by :ghuser:`sairon`
- Fix select.set using lambda :esphomepr:`2633` by :ghuser:`jesserockz`

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

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

- Added graphing component :esphomepr:`2109` by :ghuser:`synco` (new-integration) (new-feature)
- Add deep sleep wakeup from touch (#1238) :esphomepr:`2281` by :ghuser:`chrta` (new-feature)
- Allow non-addressable lights in light partitions :esphomepr:`2256` by :ghuser:`paulmonigatti` (new-feature)
- Add support for Waveshare 7.5 inch (C) bichromatic display (black-and-white only for now) :esphomepr:`1844` by :ghuser:`pixelspark` (new-feature)
- Wifi scan results :esphomepr:`1605` by :ghuser:`gpambrozio` (new-feature)
- Add SSD1305 support to SSD1306 integration along with few new options :esphomepr:`1902` by :ghuser:`zhangjingye03` (new-feature) (breaking-change)
- Adds light sensor support for b-parasites :esphomepr:`2391` by :ghuser:`rbaron` (new-feature)
- Tuya rgb support :esphomepr:`2278` by :ghuser:`irtimaled` (new-feature)
- add fan.cycle_speed action :esphomepr:`2329` by :ghuser:`WeekendWarrior1` (new-feature)
- Add cover toggle support :esphomepr:`1809` by :ghuser:`dtmuller` (new-feature)
- Support HSV-based color support on tuya light :esphomepr:`2400` by :ghuser:`irtimaled` (new-feature)
- String manipulation filters for text sensors! :esphomepr:`2393` by :ghuser:`WeekendWarrior1` (new-feature)
- Add optional timeout for wait_until action :esphomepr:`2282` by :ghuser:`jesserockz` (new-feature)

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

- Added graphing component :esphomepr:`2109` by :ghuser:`synco` (new-integration) (new-feature)
- Configurable Flash Write Interval :esphomepr:`2119` by :ghuser:`alexyao2015` (new-integration)
- Add support for Daly Smart BMS :esphomepr:`2156` by :ghuser:`s1lvi0` (new-integration)
- Add support for LTR390 :esphomepr:`1505` by :ghuser:`sjtrny` (new-integration)
- Modbus controller :esphomepr:`1779` by :ghuser:`martgras` (new-integration)
- Dashboard node import and render in browser :esphomepr:`2374` by :ghuser:`OttoWinter` (new-integration)
- Add Current based cover :esphomepr:`1439` by :ghuser:`djwmarcx` (new-integration)
- Add support for SCD4X :esphomepr:`2217` by :ghuser:`sjtrny` (new-integration)
- Add support for Airthing Wave Mini  :esphomepr:`2440` by :ghuser:`ncareau` (new-integration)
- Add Safe Mode Restart Switch :esphomepr:`2437` by :ghuser:`paulmonigatti` (new-integration)
- Added heatpumpir support :esphomepr:`1343` by :ghuser:`rob-deutsch` (new-integration)
- OTA firmware MD5 check + password support for esp-idf :esphomepr:`2507` by :ghuser:`mmakaay` (new-integration)

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

- Combine code of xiaomi_miscale and xiaomi_miscale2 :esphomepr:`2266` by :ghuser:`edenhaus` (breaking-change)
- Correctly invert the float output state :esphomepr:`2368` by :ghuser:`jesserockz` (breaking-change)
- Add SSD1305 support to SSD1306 integration along with few new options :esphomepr:`1902` by :ghuser:`zhangjingye03` (new-feature) (breaking-change)
- Disable dependency finder on ESP32 :esphomepr:`2435` by :ghuser:`agners` (breaking-change)

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

- Fix light state remaining on after turn off with transition :esphomepr:`2509` by :ghuser:`oxan`
- Fix: Light flash not restoring previous LightState :esphomepr:`2383` by :ghuser:`paulmonigatti`
- Disallow using UART2 for logger on ESP-32 variants that lack it :esphomepr:`2510` by :ghuser:`oxan`
- Fix BME680_BSEC compilation issue with ESP32 :esphomepr:`2516` by :ghuser:`paulmonigatti`
- add missing include in sgp30 :esphomepr:`2517` by :ghuser:`dmitriy5181`
- Fix: Color modes not being correctly used in light partitions :esphomepr:`2513` by :ghuser:`paulmonigatti`
- Add pressure compensation during runtime :esphomepr:`2493` by :ghuser:`martgras`
- Don't define UART_SELECTION_UART2 when UART2 is unavailable :esphomepr:`2512` by :ghuser:`oxan`
- Remove BME680_BSEC test :esphomepr:`2518` by :ghuser:`paulmonigatti`
- Fix Nextion HTTPClient error for ESP32 :esphomepr:`2524` by :ghuser:`kbx81`
- Fix bug in register name definition :esphomepr:`2526` by :ghuser:`martgras`
- OTA firmware MD5 check + password support for esp-idf :esphomepr:`2507` by :ghuser:`mmakaay` (new-integration)
- Replace framework version_hint with source option :esphomepr:`2529` by :ghuser:`oxan`
- Fix bitshift on read in ADE7953 :esphomepr:`2537` by :ghuser:`oxan`
- Allow downloading all bin files from backend in dashboard :esphomepr:`2514` by :ghuser:`jesserockz`
- Bump dashboard to 20211015.0 :esphomepr:`2525` by :ghuser:`balloob`
- Only show timestamp for dashboard access logs :esphomepr:`2540` by :ghuser:`OttoWinter`
- Fix const used for IDF recommended version :esphomepr:`2542` by :ghuser:`jesserockz`
- Fix Bluetooth setup_priorities :esphomepr:`2458` by :ghuser:`jesserockz`
- Autodetect ESP32 variant :esphomepr:`2530` by :ghuser:`oxan`
- Bump dashboard to 20211019.0 :esphomepr:`2549` by :ghuser:`jesserockz`
- Fix ADC pin validation on ESP32-C3 :esphomepr:`2551` by :ghuser:`oxan`
- ignore exception when not waiting for a response :esphomepr:`2552` by :ghuser:`martgras`
- Bump dashboard to 20211020.0 :esphomepr:`2556` by :ghuser:`jesserockz`
- Fix HA addon so it does not have logout button :esphomepr:`2558` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20211020.1 :esphomepr:`2559` by :ghuser:`jesserockz`
- A few esp32_ble_server/improv fixes :esphomepr:`2562` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20211021.0 :esphomepr:`2564` by :ghuser:`jesserockz`
- Move running process log line to debug level :esphomepr:`2565` by :ghuser:`OttoWinter`
- Revert nextion clang-tidy changes :esphomepr:`2566` by :ghuser:`OttoWinter`

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

- Drop obsolete comments from CONTRIBUTING.md :esphomepr:`2271` by :ghuser:`oxan`
- Support inverting color temperature on tuya lights :esphomepr:`2277` by :ghuser:`irtimaled`
- Untangle core headers (part 1) :esphomepr:`2276` by :ghuser:`oxan`
- Compatibility with clang-tidy v14 :esphomepr:`2272` by :ghuser:`oxan`
- Store strings only used for logging in flash :esphomepr:`2274` by :ghuser:`oxan`
- Expose select on Frontend `web_server:` :esphomepr:`2245` by :ghuser:`ayufan`
- Fix devcontainer scripts on Windows :esphomepr:`2239` by :ghuser:`alexyao2015`
- Fix SM300D2 sensor component routines so they correctly read the sensor output  :esphomepr:`2159` by :ghuser:`jamesbraid`
- Bump tzlocal from 2.1 to 3.0 :esphomepr:`2154` by :ghuser:`dependabot[bot]`
- Activate owning-memory clang-tidy check :esphomepr:`1891` by :ghuser:`OttoWinter`
- Fix issue #2054. PZEM004T Component doesn't set the module address. :esphomepr:`1784` by :ghuser:`0x3333`
- Convert st7735.h to use LF line endings :esphomepr:`2287` by :ghuser:`oxan`
- Add esphal.h include to inkplate6 component :esphomepr:`2286` by :ghuser:`oxan`
- Revert "Bump tzlocal from 2.1 to 3.0 (#2154)" :esphomepr:`2289` by :ghuser:`OttoWinter`
- Run clang-tidy against ESP32 :esphomepr:`2147` by :ghuser:`oxan`
- Run clang-tidy against Arduino 3 :esphomepr:`2146` by :ghuser:`oxan`
- Bump click from 7.1.2 to 8.0.1 :esphomepr:`1824` by :ghuser:`dependabot[bot]`
- Add stale/lock bots :esphomepr:`2299` by :ghuser:`OttoWinter`
- Use standard version of make_unique when available :esphomepr:`2292` by :ghuser:`oxan`
- Bug fix of NFC message & records becoming inaccessible in on_tag lambdas :esphomepr:`2309` by :ghuser:`JonasEr`
- Dsmr updates :esphomepr:`2157` by :ghuser:`glmnet`
- Support direct relay state feedback for tuya climate component :esphomepr:`1668` by :ghuser:`kroimon`
- ac_dimmer increase gate time for robotdyn :esphomepr:`1708` by :ghuser:`glmnet`
- Bump aioesphomeapi from 9.0.0 to 9.1.0 :esphomepr:`2306` by :ghuser:`dependabot[bot]`
- Bump black from 21.8b0 to 21.9b0 :esphomepr:`2305` by :ghuser:`dependabot[bot]`
- Add namespace to all PlatformIO library references :esphomepr:`2296` by :ghuser:`oxan`
- Allow transforms and flashes to not update remote_values :esphomepr:`2313` by :ghuser:`matthewmazzanti`
- Reduce stale/lock gh actions interval :esphomepr:`2341` by :ghuser:`OttoWinter`
- Add `esp8266_disable_ssl_support:` config option :esphomepr:`2236` by :ghuser:`ayufan`
- Bump pylint from 2.10.2 to 2.11.1 :esphomepr:`2334` by :ghuser:`dependabot[bot]`
- Add eco mode to tuya climate component :esphomepr:`1860` by :ghuser:`kroimon`
- Fix SPIDevice::write_byte16 to actually take a 16 bit argument :esphomepr:`2345` by :ghuser:`lgugelmann`
- Redo docker build system with buildkit+multi-stage and cache pio packages :esphomepr:`2338` by :ghuser:`OttoWinter`
- Calculating the AC only component of the samples :esphomepr:`1906` by :ghuser:`synco`
- Fix error reporting for DHT bit read loop :esphomepr:`2344` by :ghuser:`besteru`
- Also run docker CI when requirements change :esphomepr:`2347` by :ghuser:`OttoWinter`
- Added graphing component :esphomepr:`2109` by :ghuser:`synco` (new-integration) (new-feature)
- Properly calculate negative temperatures in sm300d2 :esphomepr:`2335` by :ghuser:`poptix`
- Fix docker release deploy push flag :esphomepr:`2348` by :ghuser:`OttoWinter`
- Add invert_colors option for st7735 :esphomepr:`2327` by :ghuser:`g5pw`
- Add deep sleep wakeup from touch (#1238) :esphomepr:`2281` by :ghuser:`chrta` (new-feature)
- Add ESPHOME_VERSION_CODE define :esphomepr:`2324` by :ghuser:`oxan`
- Install python requirements after apt ones for better caching :esphomepr:`2349` by :ghuser:`OttoWinter`
- Introduce call_dump_config() indirection :esphomepr:`2325` by :ghuser:`oxan`
- ESP-IDF support and generic target platforms :esphomepr:`2303` by :ghuser:`OttoWinter`
- CI cache only restore from direct matches :esphomepr:`2351` by :ghuser:`OttoWinter`
- fixes compilation error in rtttl :esphomepr:`2357` by :ghuser:`martgras`
- Fix MDNS not registered :esphomepr:`2359` by :ghuser:`OttoWinter`
- Fix src_filter in platformio.ini after src_dir change :esphomepr:`2353` by :ghuser:`OttoWinter`
- Fix duplicate defines and restore alphabetical order :esphomepr:`2352` by :ghuser:`oxan`
- Configurable Flash Write Interval :esphomepr:`2119` by :ghuser:`alexyao2015` (new-integration)
- Fix OTA password mismatch error. :esphomepr:`2363` by :ghuser:`mmakaay`
- Allow compilation against IDF from repository :esphomepr:`2355` by :ghuser:`oxan`
- Fix ESP8266 preferences not set up :esphomepr:`2362` by :ghuser:`OttoWinter`
- Fix ESP8266 preference loading :esphomepr:`2367` by :ghuser:`paulmonigatti`
- Allow non-addressable lights in light partitions :esphomepr:`2256` by :ghuser:`paulmonigatti` (new-feature)
- add = to default font glpyh list :esphomepr:`2361` by :ghuser:`WeekendWarrior1`
- Fix docker pio settings not applied :esphomepr:`2370` by :ghuser:`OttoWinter`
- Fix OTA crash during reading of new bin file. :esphomepr:`2366` by :ghuser:`mmakaay`
- Fix Dallas parent not being set :esphomepr:`2369` by :ghuser:`paulmonigatti`
- Discard SenseAir S8 commands echoes & fix calibration result check :esphomepr:`2358` by :ghuser:`nmaggioni`
- Add support for Daly Smart BMS :esphomepr:`2156` by :ghuser:`s1lvi0` (new-integration)
- Combine code of xiaomi_miscale and xiaomi_miscale2 :esphomepr:`2266` by :ghuser:`edenhaus` (breaking-change)
- Add support for Waveshare 7.5 inch (C) bichromatic display (black-and-white only for now) :esphomepr:`1844` by :ghuser:`pixelspark` (new-feature)
- ili9341: use larger SPI transfers :esphomepr:`1628` by :ghuser:`numo68`
- Correctly invert the float output state :esphomepr:`2368` by :ghuser:`jesserockz` (breaking-change)
- Add support for LTR390 :esphomepr:`1505` by :ghuser:`sjtrny` (new-integration)
- Allow sloppy Tuya datapoint message length :esphomepr:`1982` by :ghuser:`trvrnrth`
- Mqtt topics to support numeric fan speed :esphomepr:`1859` by :ghuser:`wifwucite`
- Wifi scan results :esphomepr:`1605` by :ghuser:`gpambrozio` (new-feature)
- Add SSD1305 support to SSD1306 integration along with few new options :esphomepr:`1902` by :ghuser:`zhangjingye03` (new-feature) (breaking-change)
- Fix broken compilation due to conflict between #1237 and IDF changes :esphomepr:`2372` by :ghuser:`oxan`
- Don't generate IDs with the name of loaded integrations :esphomepr:`2373` by :ghuser:`oxan`
- fix i2c scanning eror for Arduino :esphomepr:`2364` by :ghuser:`martgras`
- Bump tzlocal from 2.1 to 3.0 :esphomepr:`2294` by :ghuser:`dependabot[bot]`
- ledc: do not try to write_state to an uninitialized output :esphomepr:`1732` by :ghuser:`toelke`
- Fix two i2c error code return errors :esphomepr:`2375` by :ghuser:`OttoWinter`
- Fix ir_climate on ESP32-C3 :esphomepr:`2314` by :ghuser:`stintel`
- Fix ESP8266 ADC :esphomepr:`2376` by :ghuser:`paulmonigatti`
- Fix: Pin flags code generation returning FLAG_NONE :esphomepr:`2377` by :ghuser:`paulmonigatti`
- Add missing MockObj operators :esphomepr:`2378` by :ghuser:`OttoWinter`
- Fix esp-idf pinmask bit-shift overflow :esphomepr:`2380` by :ghuser:`chrta`
- Add i2c bus recovery during initialization :esphomepr:`2379` by :ghuser:`chrta`
- Bump voluptuous from 0.12.1 to 0.12.2 :esphomepr:`2381` by :ghuser:`dependabot[bot]`
- Read unencrypted DSMR telegrams in chunks :esphomepr:`2382` by :ghuser:`mmakaay`
- Fix clang-tidy header filter :esphomepr:`2385` by :ghuser:`OttoWinter`
- Fix InterruptLock on ESP-IDF :esphomepr:`2388` by :ghuser:`OttoWinter`
- Fix some issues with wifi driver after IDF refactor :esphomepr:`2387` by :ghuser:`OttoWinter`
- Fix arduino esp32 wifi v2 :esphomepr:`2389` by :ghuser:`OttoWinter`
- Misc fixes for esp-idf :esphomepr:`2386` by :ghuser:`OttoWinter`
- Adds light sensor support for b-parasites :esphomepr:`2391` by :ghuser:`rbaron` (new-feature)
- fix: Setting Tuya string DP value :esphomepr:`2394` by :ghuser:`irtimaled`
- Tuya rgb support :esphomepr:`2278` by :ghuser:`irtimaled` (new-feature)
- add fan.cycle_speed action :esphomepr:`2329` by :ghuser:`WeekendWarrior1` (new-feature)
- Modbus controller :esphomepr:`1779` by :ghuser:`martgras` (new-integration)
- Extend nfc ndef records with Text  :esphomepr:`2191` by :ghuser:`JonasEr`
- Fix NDEF URI casing :esphomepr:`2397` by :ghuser:`jesserockz`
- Dashboard node import and render in browser :esphomepr:`2374` by :ghuser:`OttoWinter` (new-integration)
- ccs811: Skip reading data if it is not available/ready :esphomepr:`2404` by :ghuser:`chrta`
- Add missing include for component bme680_bsec :esphomepr:`2403` by :ghuser:`mmakaay`
- fix: stop tuya light state getting reset :esphomepr:`2401` by :ghuser:`irtimaled`
- Add Current based cover :esphomepr:`1439` by :ghuser:`djwmarcx` (new-integration)
- Add cover toggle support :esphomepr:`1809` by :ghuser:`dtmuller` (new-feature)
- Fix handling of timestamps in Teleinfo component. :esphomepr:`2392` by :ghuser:`0hax`
- bump dashboard to 20210927.0 :esphomepr:`2405` by :ghuser:`balloob`
- Add str_sprintf function that returns std::string :esphomepr:`2408` by :ghuser:`oxan`
- Fix lint issues in web_server_base :esphomepr:`2409` by :ghuser:`jesserockz`
- Fix uninitialised use of ESPPreferenceObject.backend :esphomepr:`2411` by :ghuser:`paulmonigatti`
- Add support for SCD4X :esphomepr:`2217` by :ghuser:`sjtrny` (new-integration)
- Support HSV-based color support on tuya light :esphomepr:`2400` by :ghuser:`irtimaled` (new-feature)
- Tuya: add cover component :esphomepr:`2279` by :ghuser:`marmarek`
- Fix tuya cover lint checks :esphomepr:`2414` by :ghuser:`OttoWinter`
- Bump debian base to 5.1.0 / 20210902 :esphomepr:`2413` by :ghuser:`OttoWinter`
- Remove default initializations from tuya cover :esphomepr:`2415` by :ghuser:`jesserockz`
- Move #ifdef to after header include :esphomepr:`2417` by :ghuser:`oxan`
- String manipulation filters for text sensors! :esphomepr:`2393` by :ghuser:`WeekendWarrior1` (new-feature)
- Update web_server.cpp :esphomepr:`2419` by :ghuser:`arallsopp`
- Fix default environment for clang-tidy :esphomepr:`2420` by :ghuser:`oxan`
- Replace std::move() with const references where possible :esphomepr:`2421` by :ghuser:`oxan`
- Fix line endings normalization :esphomepr:`2407` by :ghuser:`oxan`
- Option to ignore CRC for EFuse MAC address :esphomepr:`2399` by :ghuser:`mmakaay`
- Fix attach_interrupt(...) for esp-idf framework :esphomepr:`2416` by :ghuser:`mmakaay`
- Fix I2C recovery on Arduino :esphomepr:`2412` by :ghuser:`mmakaay`
- Fix ESP32 esp-idf OTA updates :esphomepr:`2424` by :ghuser:`mmakaay`
- Add local MAC address to WiFi info :esphomepr:`2428` by :ghuser:`cvwillegen`
- Thermostat publish state fix :esphomepr:`2427` by :ghuser:`kbx81`
- Convert time to use tzdata :esphomepr:`2425` by :ghuser:`OttoWinter`
- Hotfix for ESP8266 OTA issue: ERROR Error binary size :esphomepr:`2432` by :ghuser:`mmakaay`
- Disable dependency finder on ESP32 :esphomepr:`2435` by :ghuser:`agners`
- Use size_t to fix comparision using RISC-V toolchain :esphomepr:`2436` by :ghuser:`agners`
- Fix I2C recovery ESP32 esp-idf :esphomepr:`2438` by :ghuser:`mmakaay`
- Fix esp32 no longer has Hash internal lib :esphomepr:`2441` by :ghuser:`OttoWinter`
- Fix restoring globals :esphomepr:`2442` by :ghuser:`OttoWinter`
- Always upload using esptool :esphomepr:`2433` by :ghuser:`OttoWinter`
- Add support for Airthing Wave Mini  :esphomepr:`2440` by :ghuser:`ncareau` (new-integration)
- Improved validation for Addressable Light Partition Segments :esphomepr:`2439` by :ghuser:`paulmonigatti`
- Bump pytest-cov from 2.12.1 to 3.0.0 :esphomepr:`2444` by :ghuser:`dependabot[bot]`
- Fix compilation error for shutdown component :esphomepr:`2447` by :ghuser:`martgras`
- Bump aioesphomeapi from 9.1.4 to 9.1.5 :esphomepr:`2449` by :ghuser:`dependabot[bot]`
- Only ping once every two seconds :esphomepr:`2448` by :ghuser:`alexiri`
- Bump esphome-dashboard to 20211006.0 :esphomepr:`2451` by :ghuser:`jesserockz`
- I2C re-introduce very verbose logging :esphomepr:`2446` by :ghuser:`OttoWinter`
- Add Safe Mode Restart Switch :esphomepr:`2437` by :ghuser:`paulmonigatti` (new-integration)
- Add id() for restoring global :esphomepr:`2454` by :ghuser:`jesserockz`
- Add timestamp to ESPHome dashboard/cli logs :esphomepr:`2455` by :ghuser:`alexiri`
- I2c fix :esphomepr:`2460` by :ghuser:`martgras`
- Correct I2C read() return val check in bh1750 component. :esphomepr:`2465` by :ghuser:`mmakaay`
- atm90e32: make the total_increasing class sensors actually be increasing totals. :esphomepr:`2459` by :ghuser:`davidmonro`
- Use enum for Tuya fan direction datapoint :esphomepr:`2471` by :ghuser:`rmounce`
- Fix MQTT cover state when position is supported :esphomepr:`2468` by :ghuser:`definitio`
- Sgp40 fix :esphomepr:`2462` by :ghuser:`natelust`
- EntityBase Refactor :esphomepr:`2418` by :ghuser:`paulmonigatti`
- Fix below freezing temperature for Inkbird sensors :esphomepr:`2466` by :ghuser:`nuttytree`
- Add configuration for cover topics :esphomepr:`2472` by :ghuser:`definitio`
- Add configuration for climate topics :esphomepr:`2473` by :ghuser:`definitio`
- Use arduino btStart for arduino framework :esphomepr:`2457` by :ghuser:`jesserockz`
- Bump click from 8.0.1 to 8.0.3 :esphomepr:`2481` by :ghuser:`dependabot[bot]`
- Bump flake8 from 3.9.2 to 4.0.1 :esphomepr:`2483` by :ghuser:`dependabot[bot]`
- Bump platformio from 5.2.0 to 5.2.1 :esphomepr:`2482` by :ghuser:`dependabot[bot]`
- Bump esphome-dashboard from 20211006.0 to 20211011.1 :esphomepr:`2484` by :ghuser:`dependabot[bot]`
- Replace deprecated COLOR_BLACK constant :esphomepr:`2487` by :ghuser:`davet2001`
- Fix color temperature persistence on CWWW lights :esphomepr:`2486` by :ghuser:`sairon`
- Fix reset on http_request without network connection :esphomepr:`2474` by :ghuser:`niklasweber`
- Consolidate CONF_RAW_DATA_ID to const.py :esphomepr:`2491` by :ghuser:`davet2001`
- Update Airthings BLE :esphomepr:`2453` by :ghuser:`jesserockz`
- Add on_open and on_closed triggers to cover :esphomepr:`2488` by :ghuser:`nuttytree`
- Fix LoadProhibited crash for logger baud_rate 0 on esp-idf :esphomepr:`2498` by :ghuser:`mmakaay`
- Added heatpumpir support :esphomepr:`1343` by :ghuser:`rob-deutsch` (new-integration)
- Reduce IRAM usage in test3 :esphomepr:`2499` by :ghuser:`oxan`
- Add optional timeout for wait_until action :esphomepr:`2282` by :ghuser:`jesserockz` (new-feature)
- Improves ct_clamp component accuracy :esphomepr:`2283` by :ghuser:`skasi7`
- Allow multiple pn532_spi entries :esphomepr:`2489` by :ghuser:`jesserockz`
- Add throttle_average sensor filter :esphomepr:`2485` by :ghuser:`sermayoral`
- Fix light state remaining on after turn off with transition :esphomepr:`2509` by :ghuser:`oxan`
- Fix: Light flash not restoring previous LightState :esphomepr:`2383` by :ghuser:`paulmonigatti`
- Disallow using UART2 for logger on ESP-32 variants that lack it :esphomepr:`2510` by :ghuser:`oxan`
- Fix BME680_BSEC compilation issue with ESP32 :esphomepr:`2516` by :ghuser:`paulmonigatti`
- add missing include in sgp30 :esphomepr:`2517` by :ghuser:`dmitriy5181`
- Fix: Color modes not being correctly used in light partitions :esphomepr:`2513` by :ghuser:`paulmonigatti`
- Add pressure compensation during runtime :esphomepr:`2493` by :ghuser:`martgras`
- Don't define UART_SELECTION_UART2 when UART2 is unavailable :esphomepr:`2512` by :ghuser:`oxan`
- Remove BME680_BSEC test :esphomepr:`2518` by :ghuser:`paulmonigatti`
- Fix Nextion HTTPClient error for ESP32 :esphomepr:`2524` by :ghuser:`kbx81`
- Fix bug in register name definition :esphomepr:`2526` by :ghuser:`martgras`
- OTA firmware MD5 check + password support for esp-idf :esphomepr:`2507` by :ghuser:`mmakaay` (new-integration)
- Replace framework version_hint with source option :esphomepr:`2529` by :ghuser:`oxan`
- Fix bitshift on read in ADE7953 :esphomepr:`2537` by :ghuser:`oxan`
- Allow downloading all bin files from backend in dashboard :esphomepr:`2514` by :ghuser:`jesserockz`
- Bump dashboard to 20211015.0 :esphomepr:`2525` by :ghuser:`balloob`
- Only show timestamp for dashboard access logs :esphomepr:`2540` by :ghuser:`OttoWinter`
- Fix const used for IDF recommended version :esphomepr:`2542` by :ghuser:`jesserockz`
- Fix Bluetooth setup_priorities :esphomepr:`2458` by :ghuser:`jesserockz`
- Autodetect ESP32 variant :esphomepr:`2530` by :ghuser:`oxan`
- Bump dashboard to 20211019.0 :esphomepr:`2549` by :ghuser:`jesserockz`
- Fix ADC pin validation on ESP32-C3 :esphomepr:`2551` by :ghuser:`oxan`
- ignore exception when not waiting for a response :esphomepr:`2552` by :ghuser:`martgras`
- Bump dashboard to 20211020.0 :esphomepr:`2556` by :ghuser:`jesserockz`
- Fix HA addon so it does not have logout button :esphomepr:`2558` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20211020.1 :esphomepr:`2559` by :ghuser:`jesserockz`
- A few esp32_ble_server/improv fixes :esphomepr:`2562` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20211021.0 :esphomepr:`2564` by :ghuser:`jesserockz`
- Move running process log line to debug level :esphomepr:`2565` by :ghuser:`OttoWinter`
- Revert nextion clang-tidy changes :esphomepr:`2566` by :ghuser:`OttoWinter`

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

- :doc:`2021.9.0`
- :doc:`2021.8.0`
- :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`
