ESPHome 2023.5.0 - 17th May 2023
================================

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

.. imgtable::
    :columns: 4

    Speaker Core, components/speaker/index, speaker.svg, dark-invert
    I2S Speaker, components/speaker/i2s_audio, i2s_audio.svg
    MLX90614, components/sensor/mlx90614, mlx90614.jpg
    MAX6956 I/O expander - I²C Bus, components/max6956, max6956.jpg
    PCA6416A I/O Expander, components/pca6416a, pca6416a.svg
    HYT271, components/sensor/hyt271, hyt271.jpg
    GP8403, components/output/gp8403, gp8403.svg
    ESP32 RMT LED Strip, components/light/esp32_rmt_led_strip, color_lens.svg


Speakers!!!
-----------

Following on from last months release adding :doc:`microphones </components/microphone/index>`,
this release adds :doc:`speaker </components/speaker/index>` support!

These new changes allows the :doc:`/components/voice_assistant` to request the raw audio
stream response from Home Assistant to playback without using a full :doc:`/components/media_player/index`.
This has much lower latency and allows for a much more responsive voice assistant experience.


More Microphones
----------------

This release also adds a bit more configuration for the i2s_audio microphone components.
There is a breaking-change that requires new configuration fields to be added in YAML.
See the :doc:`microphone documentation </components/microphone/i2s_audio>` for the configuration details,
but below is a small example for the M5Stack Atom Echo.

.. code-block:: yaml

    # Old
    microphone:
      platform: i2s_audio
      i2s_din_pin: GPIO23
      id: my_microphone

    # New
    microphone:
      platform: i2s_audio
      i2s_din_pin: GPIO23
      adc_type: external
      pdm: false

Release 2023.5.1 - May 18
-------------------------

- Remove i2c dependency from ttp229_bsf :esphomepr:`4851` by :ghuser:`jesserockz`
- Sprinkler fixes :esphomepr:`4816` by :ghuser:`kbx81`

Release 2023.5.2 - May 22
-------------------------

- Fix i2s_audio media_player mutex acquisition :esphomepr:`4867` by :ghuser:`kroimon`

Release 2023.5.3 - May 22
-------------------------

- Allow microphone channel to be specified in config :esphomepr:`4871` by :ghuser:`jesserockz`
- [PSRam] Change log unit to KB to minimize rounding error. :esphomepr:`4872` by :ghuser:`Fabian-Schmidt`

Release 2023.5.4 - May 24
-------------------------

- [internal_temperature] ESP32-S3 needs ESP IDF V4.4.3 or higher :esphomepr:`4873` by :ghuser:`Fabian-Schmidt`
- Update cover.h for compile errors with stop() :esphomepr:`4879` by :ghuser:`Davrosx`
- Print ESPHome version when running commands :esphomepr:`4883` by :ghuser:`jesserockz`
- fix modbus sending FP32_R values :esphomepr:`4882` by :ghuser:`ssieb`
- Fix esp32_rmt_led_strip color modes :esphomepr:`4886` by :ghuser:`jesserockz`

Release 2023.5.5 - May 29
-------------------------

- Fix version printing not breaking yaml parsing :esphomepr:`4904` by :ghuser:`jesserockz`

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

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

- Add mlx90614 sensors :esphomepr:`3749` by :ghuser:`jesserockz` (new-integration)
- Add PCA6416A Support :esphomepr:`4681` by :ghuser:`Mat931` (new-integration)
- Add support for hyt271 :esphomepr:`4282` by :ghuser:`Philippe12` (new-integration)
- Max6956 support added :esphomepr:`3764` by :ghuser:`looping40` (new-integration)
- Speaker support  :esphomepr:`4743` by :ghuser:`jesserockz` (new-integration)
- Add gp8403 output component :esphomepr:`4495` by :ghuser:`jesserockz` (new-integration)
- Create esp32 rmt addressable light driver :esphomepr:`4708` by :ghuser:`jesserockz` (new-integration)
- Add host target platform :esphomepr:`4783` by :ghuser:`jesserockz` (new-integration)

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

- Remove climate legacy away flags :esphomepr:`4744` by :ghuser:`jesserockz` (breaking-change)
- Revert "Template sensors always publish on update interval (#2224)" :esphomepr:`4774` by :ghuser:`nuttytree` (breaking-change)

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

- Fixed access point for ESP32 IDF platform :esphomepr:`4784` by :ghuser:`HeMan`
- Remove AUTO_LOAD from apds9960 :esphomepr:`4746` by :ghuser:`jesserockz`
- Supposed to fix #4069, by changing the default value to 0s (timeunit … :esphomepr:`4806` by :ghuser:`Alex1602`
- Wording :esphomepr:`4805` by :ghuser:`fgsch`
- Tuya: Prevent loop when setting colors on case-sensitive dps :esphomepr:`4809` by :ghuser:`richardhopton`
- Fix i2s media player volume control :esphomepr:`4813` by :ghuser:`jesserockz`
- Dont try stop if not actually started :esphomepr:`4814` by :ghuser:`jesserockz`
- Fix missing stop trait in send_cover_info :esphomepr:`4826` by :ghuser:`RoboMagus`
- Bump aioesphomeapi from 13.7.2 to 13.7.5 :esphomepr:`4830` by :ghuser:`dependabot[bot]`
- Update PulseLightEffect with range brightness :esphomepr:`4820` by :ghuser:`max246`
- Bump esphome-dashboard to 20230516.0 :esphomepr:`4831` by :ghuser:`jesserockz`
- Fix time period validation for the auto cleaning interval :esphomepr:`4811` by :ghuser:`fgsch`
- Bump tzlocal from 4.2 to 5.0.1 :esphomepr:`4829` by :ghuser:`dependabot[bot]`
- Start UART assignment at UART0 if the logger is not enabled or is not configured for hardware logging on ESP32 :esphomepr:`4762` by :ghuser:`spectrumjade`
- Synchronise Device Classes from Home Assistant :esphomepr:`4825` by :ghuser:`github-actions[bot]`
- support sending keys to the collector :esphomepr:`4838` by :ghuser:`ssieb`
- handle Wiegand 8-bit keys :esphomepr:`4837` by :ghuser:`ssieb`

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

- Only allow 5 jobs from each CI run to be in parallel :esphomepr:`4682` by :ghuser:`jesserockz`
- Add Bayesian type for binary_sensor_map component :esphomepr:`4640` by :ghuser:`kahrendt`
- Bump aioesphomeapi from 13.5.1 to 13.7.0 :esphomepr:`4676` by :ghuser:`dependabot[bot]`
- Bump peter-evans/create-pull-request from 4 to 5 :esphomepr:`4661` by :ghuser:`dependabot[bot]`
- Bump docker/build-push-action from 3 to 4 :esphomepr:`4367` by :ghuser:`dependabot[bot]`
- Keep Device Class in Flash. :esphomepr:`4639` by :ghuser:`Fabian-Schmidt`
- Add support for passive WiFi scanning :esphomepr:`4666` by :ghuser:`BellaCoola`
- Initial attempt at supporting ESP-IDF 5.0.0 :esphomepr:`4364` by :ghuser:`kbx81`
- Get Sunrise & Sunset for a Specific Date :esphomepr:`4712` by :ghuser:`RebbePod`
- Add `supports_stop` trait to Cover :esphomepr:`3897` by :ghuser:`amomchilov`
- Bump aioesphomeapi from 13.7.0 to 13.7.1 :esphomepr:`4725` by :ghuser:`dependabot[bot]`
- Add on_tag_removed trigger for RC522 :esphomepr:`4742` by :ghuser:`kbx81`
- Fix 'blutooth' typo in esp32_ble component :esphomepr:`4738` by :ghuser:`RoboMagus`
- Bump pylint from 2.17.2 to 2.17.3 :esphomepr:`4740` by :ghuser:`dependabot[bot]`
- Bump tornado from 6.2 to 6.3.1 :esphomepr:`4741` by :ghuser:`dependabot[bot]`
- Bump pytest from 7.3.0 to 7.3.1 :esphomepr:`4686` by :ghuser:`dependabot[bot]`
- Expand the platformio dep installer to also install platforms and tools :esphomepr:`4716` by :ghuser:`jesserockz`
- Remove climate legacy away flags :esphomepr:`4744` by :ghuser:`jesserockz` (breaking-change)
- Add mlx90614 sensors :esphomepr:`3749` by :ghuser:`jesserockz` (new-integration)
- Move am43 sensor code and remove auto load on cover :esphomepr:`4631` by :ghuser:`jesserockz`
- Fix assumed_state switch webserver :esphomepr:`4259` by :ghuser:`RoboMagus`
- Bump aioesphomeapi from 13.7.1 to 13.7.2 :esphomepr:`4753` by :ghuser:`dependabot[bot]`
- Bump git version in Dockerfile :esphomepr:`4763` by :ghuser:`jesserockz`
- Power down PN532 before deep sleep :esphomepr:`4707` by :ghuser:`tracestep`
- Switch ESPAsyncTCP-esphome to esphome fork :esphomepr:`4764` by :ghuser:`jesserockz`
- Bump pyupgrade from 3.3.1 to 3.3.2 :esphomepr:`4751` by :ghuser:`dependabot[bot]`
- Only pre-install libraries in docker images :esphomepr:`4766` by :ghuser:`jesserockz`
- Add PCA6416A Support :esphomepr:`4681` by :ghuser:`Mat931` (new-integration)
- play_folder bugfix and addition of play_mp3 :esphomepr:`4758` by :ghuser:`llluis`
- RF Codec for Drayton Digistat heating controller :esphomepr:`4494` by :ghuser:`marshn`
- Add support for hyt271 :esphomepr:`4282` by :ghuser:`Philippe12` (new-integration)
- Add support for BLE passkey authentication :esphomepr:`4258` by :ghuser:`Mat931`
- Add support for V2 of the waveshare 5.83in e-paper display. :esphomepr:`3660` by :ghuser:`cooki35`
- Max6956 support added :esphomepr:`3764` by :ghuser:`looping40` (new-integration)
- Bump zeroconf from 0.56.0 to 0.60.0 :esphomepr:`4767` by :ghuser:`dependabot[bot]`
- Revert "Template sensors always publish on update interval (#2224)" :esphomepr:`4774` by :ghuser:`nuttytree` (breaking-change)
- update schema gen to 2023.4.0 :esphomepr:`4772` by :ghuser:`glmnet`
- Speaker support  :esphomepr:`4743` by :ghuser:`jesserockz` (new-integration)
- Add gp8403 output component :esphomepr:`4495` by :ghuser:`jesserockz` (new-integration)
- Create esp32 rmt addressable light driver :esphomepr:`4708` by :ghuser:`jesserockz` (new-integration)
- Bump ESP32-audioI2s to 2.0.7 :esphomepr:`4796` by :ghuser:`jesserockz`
- SM2135 Add optional current configuration, avoid communication failures. :esphomepr:`3850` by :ghuser:`BoukeHaarsma23`
- Fix ezo parsing :esphomepr:`4792` by :ghuser:`alfredopironti`
- [ili9xxx] Improve fill operation performance :esphomepr:`4702` by :ghuser:`Fabian-Schmidt`
- Add host target platform :esphomepr:`4783` by :ghuser:`jesserockz` (new-integration)
- Add more envs to root platformio :esphomepr:`4799` by :ghuser:`jesserockz`
- Keep Unit of Measurement in Flash. :esphomepr:`4719` by :ghuser:`Fabian-Schmidt`
- [display] Small display print performance improvement :esphomepr:`4788` by :ghuser:`Fabian-Schmidt`
- Fixed calculation of start and end dhcp range :esphomepr:`4785` by :ghuser:`HeMan`
- Add more configuration for microphones - i2s/pdm/adc :esphomepr:`4775` by :ghuser:`jesserockz`
- Wrap VA code :esphomepr:`4800` by :ghuser:`jesserockz`
- Make i2s_audio bclk_pin optional :esphomepr:`4801` by :ghuser:`jesserockz`
- Validate project details are set for dashboard_import :esphomepr:`4802` by :ghuser:`jesserockz`
- Fixed access point for ESP32 IDF platform :esphomepr:`4784` by :ghuser:`HeMan`
- Remove AUTO_LOAD from apds9960 :esphomepr:`4746` by :ghuser:`jesserockz`
- Supposed to fix #4069, by changing the default value to 0s (timeunit … :esphomepr:`4806` by :ghuser:`Alex1602`
- Wording :esphomepr:`4805` by :ghuser:`fgsch`
- Tuya: Prevent loop when setting colors on case-sensitive dps :esphomepr:`4809` by :ghuser:`richardhopton`
- Fix i2s media player volume control :esphomepr:`4813` by :ghuser:`jesserockz`
- Dont try stop if not actually started :esphomepr:`4814` by :ghuser:`jesserockz`
- Fix missing stop trait in send_cover_info :esphomepr:`4826` by :ghuser:`RoboMagus`
- Bump aioesphomeapi from 13.7.2 to 13.7.5 :esphomepr:`4830` by :ghuser:`dependabot[bot]`
- Update PulseLightEffect with range brightness :esphomepr:`4820` by :ghuser:`max246`
- Bump esphome-dashboard to 20230516.0 :esphomepr:`4831` by :ghuser:`jesserockz`
- Fix time period validation for the auto cleaning interval :esphomepr:`4811` by :ghuser:`fgsch`
- Bump tzlocal from 4.2 to 5.0.1 :esphomepr:`4829` by :ghuser:`dependabot[bot]`
- Start UART assignment at UART0 if the logger is not enabled or is not configured for hardware logging on ESP32 :esphomepr:`4762` by :ghuser:`spectrumjade`
- Synchronise Device Classes from Home Assistant :esphomepr:`4825` by :ghuser:`github-actions[bot]`
- support sending keys to the collector :esphomepr:`4838` by :ghuser:`ssieb`
- handle Wiegand 8-bit keys :esphomepr:`4837` by :ghuser:`ssieb`

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

- :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`
