ESPHome 2023.8.0 - 16th August 2023
===================================

.. seo::
    :description: Changelog for ESPHome 2023.8.0.
    :image: /_static/changelog-2023.8.0.png
    :author: Jesse Hills
    :author_twitter: @jesserockz

.. imgtable::
    :columns: 2

    A01NYUB, components/sensor/a01nyub, a01nyub.jpg
    KMeterISO, components/sensor/kmeteriso, kmeteriso.jpg
    BMP581, components/sensor/bmp581, bmp581.jpg
    GCJA5, components/sensor/gcja5, gcja5.svg

LD2410
------

The LD2410 component has had a massive upgrade thanks to :ghuser:`regevbr`!
It now supports settings most if not all configuration parameters via ``switches`` / ``numbers`` and ``selects``
and exposes more data via various ``sensors``.
This includes breaking changes that mean the existing gate configuration options have been moved to the ``number`` platform.

Release 2023.8.1 - August 18
----------------------------

- Fix checksum calculation for sml :esphomepr:`5271` by :ghuser:`Mat931`
- Change haier from AUTO to HEAT_COOL :esphomepr:`5267` by :ghuser:`jesserockz` (breaking-change)

Release 2023.8.2 - August 21
----------------------------

- Move libcairo to all architectures in docker :esphomepr:`5276` by :ghuser:`jesserockz`
- Resolve offline ESPs in dashboard when using ESPHOME_DASHBOARD_USE_PING=true :esphomepr:`5281` by :ghuser:`mwolter805`
- Align SPI data rates in C++ code with Python :esphomepr:`5284` by :ghuser:`clydebarrow`
- Change htu21d sensors from required to optional :esphomepr:`5285` by :ghuser:`jesserockz`
- Reserve keyword "clock" :esphomepr:`5279` by :ghuser:`clydebarrow`

Release 2023.8.3 - September 6
------------------------------

- Introduce cv.temperature_delta and fix problematic thermostat configuration behavior :esphomepr:`5297` by :ghuser:`sebastianrasor`
- fix to PR # 3887 MQTT connection not using discovery: false :esphomepr:`5275` by :ghuser:`luka6000`
- Attempt to fix secret blurring :esphomepr:`5326` by :ghuser:`jesserockz`
- Bugfix: disable channels after IO if multiple tca9548a  I2C multiplexers are configured :esphomepr:`5317` by :ghuser:`kahrendt`
- Fix checksum calculation for pipsolar :esphomepr:`5299` by :ghuser:`Mat931`

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

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

- Add support for a01nyub :esphomepr:`4863` by :ghuser:`MrSuicideParrot` (new-integration)
- Add KMeterISO component. :esphomepr:`5170` by :ghuser:`Rudd-O` (new-integration)
- New component: Add support for bmp581 pressure and temperature sensors :esphomepr:`4657` by :ghuser:`kahrendt` (new-integration)
- New PM sensor Panasonic SN-GCJA5 :esphomepr:`4988` by :ghuser:`gcormier` (new-integration)
- Add configuration flow abilites to the ld2410 component :esphomepr:`4434` by :ghuser:`regevbr` (new-integration) (notable-change) (breaking-change)

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

- Coolix IR protocol improvements :esphomepr:`5105` by :ghuser:`dudanov` (breaking-change)
- Speaker return bytes written and do not wait for queue :esphomepr:`5182` by :ghuser:`jesserockz` (breaking-change)
- Change device name in MQTT discovery messages to friendly names :esphomepr:`5205` by :ghuser:`pidpawel` (breaking-change)
- Add configuration flow abilites to the ld2410 component :esphomepr:`4434` by :ghuser:`regevbr` (new-integration) (notable-change) (breaking-change)

Beta Changes
^^^^^^^^^^^^

- Read string of bool env and match against well known values :esphomepr:`5232` by :ghuser:`jesserockz`
- fix aeha data template :esphomepr:`5231` by :ghuser:`ssieb`
- Expose start to speaker interface :esphomepr:`5228` by :ghuser:`jesserockz`
- New features added for Haier integration :esphomepr:`5196` by :ghuser:`paveldn`
- pca9554 cache reads :esphomepr:`5137` by :ghuser:`hwstar`
- fix midea: undo approved PR#4053 :esphomepr:`5233` by :ghuser:`dudanov`
- Fixing smartair2 protocol implementation if no Wi-Fi :esphomepr:`5238` by :ghuser:`paveldn`
- tuya: add time sync callback only once to prevent memleak :esphomepr:`5234` by :ghuser:`afflux`
- Fix duplicate tuya time warning :esphomepr:`5243` by :ghuser:`jesserockz`
- Change XL9535 `setup_priority` to IO :esphomepr:`5246` by :ghuser:`mreditor97`
- rmt_base additional minor changes :esphomepr:`5245` by :ghuser:`dudanov`
- Fix 24 bit signed integer parsing in sml parser :esphomepr:`5250` by :ghuser:`mulder-fbi`
- Fix IDFI2CBus::writev ignoring stop parameter :esphomepr:`4840` by :ghuser:`CarsonF`
- Add configuration flow abilites to the ld2410 component :esphomepr:`4434` by :ghuser:`regevbr` (new-integration) (notable-change) (breaking-change)

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

- Change MQTT client for ESP32 Arduino :esphomepr:`5157` by :ghuser:`HeMan` (notable-change)
- Add configuration flow abilites to the ld2410 component :esphomepr:`4434` by :ghuser:`regevbr` (new-integration) (notable-change) (breaking-change)

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

- Mk2 to prepare color.h for idf >= 5 :esphomepr:`5070` by :ghuser:`HeMan`
- display: Add helper methods to `Display::clip` and `Display::clamp_x/y_` :esphomepr:`5003` by :ghuser:`ayufan`
- Mark repo as safe directory to git config :esphomepr:`5102` by :ghuser:`davet2001`
- Bump click from 8.1.3 to 8.1.5 :esphomepr:`5099` by :ghuser:`dependabot[bot]`
- Bump pyyaml from 6.0 to 6.0.1 :esphomepr:`5117` by :ghuser:`dependabot[bot]`
- ignore components folder in root :esphomepr:`5130` by :ghuser:`jesserockz`
- Add size getter to CallbackManager :esphomepr:`5129` by :ghuser:`jesserockz`
- Make docker use pip installed pillow :esphomepr:`5074` by :ghuser:`HeMan`
- Change datatype in e131 addressable light :esphomepr:`5127` by :ghuser:`HeMan`
- Streamer mode :esphomepr:`5119` by :ghuser:`grahambrown11`
- Version bump for ESP32 IDF and Arduino :esphomepr:`5035` by :ghuser:`HeMan`
- Synchronise Device Classes from Home Assistant :esphomepr:`5136` by :ghuser:`esphomebot`
- Update known boards to 5.4.0 :esphomepr:`5134` by :ghuser:`jesserockz`
- Init colorama in ESPHome main :esphomepr:`5111` by :ghuser:`kuba2k2`
- Coolix IR protocol improvements :esphomepr:`5105` by :ghuser:`dudanov` (breaking-change)
- Allow esp32 idf components to specify submodules and specific components :esphomepr:`5128` by :ghuser:`jesserockz`
- Synchronise Device Classes from Home Assistant :esphomepr:`5147` by :ghuser:`esphomebot`
- Prepare some components for IDF >= 5 :esphomepr:`5061` by :ghuser:`HeMan`
- Bump clang-tidy from 11 to 14 :esphomepr:`5160` by :ghuser:`dudanov`
- climate triggers Climate and ClimateCall references :esphomepr:`5028` by :ghuser:`dudanov`
- remote_base changes :esphomepr:`5124` by :ghuser:`dudanov`
- Add 'map_linear' and 'clamp' sensor filters :esphomepr:`5040` by :ghuser:`Mat931`
- Adding Inkplate 6 v2 model variant :esphomepr:`5165` by :ghuser:`mullerdavid`
- duty_time: fix build without binary_sensor. Parented in automations. :esphomepr:`5156` by :ghuser:`dudanov`
- Add standardized CRC helper functions :esphomepr:`4798` by :ghuser:`Mat931`
- Enable IPv6 for ESP32 Arduino, wifi and ethernet :esphomepr:`4865` by :ghuser:`HeMan`
- Bump zeroconf from 0.69.0 to 0.71.4 :esphomepr:`5148` by :ghuser:`dependabot[bot]`
- Bump black from 23.3.0 to 23.7.0 :esphomepr:`5126` by :ghuser:`dependabot[bot]`
- Bump pylint from 2.17.4 to 2.17.5 :esphomepr:`5172` by :ghuser:`dependabot[bot]`
- Bump pyupgrade from 3.7.0 to 3.9.0 :esphomepr:`5083` by :ghuser:`dependabot[bot]`
- Vertical and horizontal airflow actions fix for Haier climate :esphomepr:`5164` by :ghuser:`paveldn`
- Microphone add is_stopped :esphomepr:`5183` by :ghuser:`jesserockz`
- Add get_board function to esp32 module :esphomepr:`5184` by :ghuser:`jesserockz`
- Speaker return bytes written and do not wait for queue :esphomepr:`5182` by :ghuser:`jesserockz` (breaking-change)
- Update components "if x in config" :esphomepr:`5181` by :ghuser:`jesserockz`
- Bump click from 8.1.5 to 8.1.6 :esphomepr:`5179` by :ghuser:`dependabot[bot]`
- PWM Output on RP2040 for high frequencies :esphomepr:`5204` by :ghuser:`matemaciek`
- Fix some configs after #5181 :esphomepr:`5209` by :ghuser:`jesserockz`
- Improved compensation sgp30 :esphomepr:`5208` by :ghuser:`arno1801`
- Add support for a01nyub :esphomepr:`4863` by :ghuser:`MrSuicideParrot` (new-integration)
- Change device name in MQTT discovery messages to friendly names :esphomepr:`5205` by :ghuser:`pidpawel` (breaking-change)
- Add ESP32-S2/S3 capacitive touch support :esphomepr:`5116` by :ghuser:`kbx81`
- Bump zeroconf from 0.71.4 to 0.74.0 :esphomepr:`5199` by :ghuser:`dependabot[bot]`
- Implemented Waveshare 7.5in B V3 :esphomepr:`5210` by :ghuser:`lucasprim`
- Refactor `pulse_meter` to better handle higher frequencies :esphomepr:`4231` by :ghuser:`TrentHouliston`
- Change MQTT client for ESP32 Arduino :esphomepr:`5157` by :ghuser:`HeMan` (notable-change)
- Add read interface to microphone :esphomepr:`5131` by :ghuser:`jesserockz`
- i2c: fix build on ESP-IDF >= 5.1 :esphomepr:`5200` by :ghuser:`stintel`
- Add socket define for rp2040 dev :esphomepr:`4968` by :ghuser:`jesserockz`
- core: read ESP32 MAC address from eFuse if IEEE802.15.4 is supported :esphomepr:`5176` by :ghuser:`stintel`
- esp32_ble_beacon: enable CONFIG_BT_BLE_42_FEATURES_SUPPORTED :esphomepr:`5211` by :ghuser:`stintel`
- Bump pytest-asyncio from 0.21.0 to 0.21.1 :esphomepr:`5187` by :ghuser:`dependabot[bot]`
- ledc: check SOC_LEDC_SUPPORT_APB_CLOCK :esphomepr:`5212` by :ghuser:`stintel`
- Add arm night to alarm control panel :esphomepr:`5186` by :ghuser:`primeroz`
- Bump pyupgrade from 3.9.0 to 3.10.1 :esphomepr:`5189` by :ghuser:`dependabot[bot]`
- Add KMeterISO component. :esphomepr:`5170` by :ghuser:`Rudd-O` (new-integration)
- Bump platformio from 6.1.7 to 6.1.9 :esphomepr:`5066` by :ghuser:`dependabot[bot]`
- New component: Add support for bmp581 pressure and temperature sensors :esphomepr:`4657` by :ghuser:`kahrendt` (new-integration)
- New PM sensor Panasonic SN-GCJA5 :esphomepr:`4988` by :ghuser:`gcormier` (new-integration)
- Daly BMS improvements :esphomepr:`3388` by :ghuser:`matthias882`
- Add missing `on_(arming|pending|armed_home|armed_night|armed_away|disarmed)` triggers to alarm_control_panel :esphomepr:`5219` by :ghuser:`primeroz`
- add value option to timeout filter :esphomepr:`5222` by :ghuser:`ssieb`
- Tweak Color init because IDF 5+ :esphomepr:`5221` by :ghuser:`kbx81`
- Read string of bool env and match against well known values :esphomepr:`5232` by :ghuser:`jesserockz`
- fix aeha data template :esphomepr:`5231` by :ghuser:`ssieb`
- Expose start to speaker interface :esphomepr:`5228` by :ghuser:`jesserockz`
- New features added for Haier integration :esphomepr:`5196` by :ghuser:`paveldn`
- pca9554 cache reads :esphomepr:`5137` by :ghuser:`hwstar`
- fix midea: undo approved PR#4053 :esphomepr:`5233` by :ghuser:`dudanov`
- Fixing smartair2 protocol implementation if no Wi-Fi :esphomepr:`5238` by :ghuser:`paveldn`
- tuya: add time sync callback only once to prevent memleak :esphomepr:`5234` by :ghuser:`afflux`
- Fix duplicate tuya time warning :esphomepr:`5243` by :ghuser:`jesserockz`
- Change XL9535 `setup_priority` to IO :esphomepr:`5246` by :ghuser:`mreditor97`
- rmt_base additional minor changes :esphomepr:`5245` by :ghuser:`dudanov`
- Fix 24 bit signed integer parsing in sml parser :esphomepr:`5250` by :ghuser:`mulder-fbi`
- Fix IDFI2CBus::writev ignoring stop parameter :esphomepr:`4840` by :ghuser:`CarsonF`
- Add configuration flow abilites to the ld2410 component :esphomepr:`4434` by :ghuser:`regevbr` (new-integration) (notable-change) (breaking-change)
- Add `libfreetype-dev` Debian package for armv7 Docker builds :esphomepr:`5262` by :ghuser:`pierlon`
- Add delay before enabling ipv6 :esphomepr:`5256` by :ghuser:`HeMan`
- Bump zeroconf from 0.74.0 to 0.80.0 :esphomepr:`5260` by :ghuser:`dependabot[bot]`

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

- :doc:`2023.7.0`
- :doc:`2023.6.0`
- :doc:`2023.5.0`
- :doc:`2023.4.0`
- :doc:`2023.3.0`
- :doc:`2023.2.0`
- :doc:`2022.12.0`
- :doc:`2022.11.0`
- :doc:`2022.10.0`
- :doc:`2022.9.0`
- :doc:`2022.8.0`
- :doc:`2022.6.0`
- :doc:`2022.5.0`
- :doc:`2022.4.0`
- :doc:`2022.3.0`
- :doc:`2022.2.0`
- :doc:`2022.1.0`
- :doc:`2021.12.0`
- :doc:`2021.11.0`
- :doc:`2021.10.0`
- :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`
