ESPHome 2023.4.0 - 19th April 2023 ================================== .. seo:: :description: Changelog for ESPHome 2023.4.0. :image: /_static/changelog-2023.4.0.png :author: Jesse Hills :author_twitter: @jesserockz .. imgtable:: :columns: 3 Voice Assistant, components/voice_assistant, voice-assistant.svg Microphone Core, components/microphone/index, microphone.svg I2S Microphone, components/microphone/i2s_audio, i2s_audio.svg MMC5603, components/sensor/mmc5603, mmc5603.jpg KSZ8081 Ethernet, components/ethernet, ethernet.svg Voice Assistant --------------- This year is the Year of the Voice for Home Assistant, and ESPHome is charging ahead with this in mind. We've added a new :doc:`/components/voice_assistant` component that allows you to use ESPHome devices as an input for `assist `__ in Home Assistant. With this also comes preliminary :doc:`microphone ` support, which has been built in a way that multiple components, like ``voice_assistant`` can request start / stop of the microphone and get the data. We hope this leads to more interesting use cases for the microphone in the future. .. note:: TODO: Add link to tutorial for setting up M5Stack Atom Echo with Voice Assistant. Breaking Changes ---------------- Default restore mode for Switches, Fans and Lights ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The default ``restore_mode`` for switches, fans and lights has been changed from ``RESTORE_DEFAULT_OFF`` to ``ALWAYS_OFF`` with the intention that restoring values from flash should be manually specified by a user if desired in their YAML configuration. Number ``step`` ^^^^^^^^^^^^^^^ The ``number`` components have always internally set a ``step`` required in config, but allowed it to be not specified at all. This caused issues on the Home Assistant side of things. This is only a breaking change for external components that have a ``number`` platform. UART ids ^^^^^^^^ Due to ``uart0`` / ``uart1`` / ``uart2`` being defined in some of the platform code ESPHome uses, ESPHome will now disallow these ids from being used in the config. You can simply change them to ``uart_0`` to continue using. Full list of changes -------------------- New Components ^^^^^^^^^^^^^^ - Added in mmc5603 code :esphomepr:`4175` by :ghuser:`benhoff` (new-integration) - Add push to talk voice assistant :esphomepr:`4648` by :ghuser:`jesserockz` (new-integration) Breaking Changes ^^^^^^^^^^^^^^^^ - Disallow uart0/1/2 as ids in config :esphomepr:`4446` by :ghuser:`jesserockz` (breaking-change) - Require step to be set when calling register_number :esphomepr:`4622` by :ghuser:`jesserockz` (breaking-change) - Fix restore :esphomepr:`4655` by :ghuser:`spacemanspiff2007` (breaking-change) All changes ^^^^^^^^^^^ - Mark unique_id() virtual method as deprecated :esphomepr:`4538` by :ghuser:`oxan` - Drop deprecated entity property base methods :esphomepr:`4539` by :ghuser:`oxan` - Format test files :esphomepr:`4541` by :ghuser:`jesserockz` - EntityBase: Icon string can stay in flash. :esphomepr:`4566` by :ghuser:`Fabian-Schmidt` - Update the delta filter to be able to take a percentage change :esphomepr:`4391` by :ghuser:`TrentHouliston` - Added missing PM_1_0 and PM_10_0 for PMS5003T and PMS5003ST :esphomepr:`4560` by :ghuser:`genestealer` - Add an option to force SPI into software mode :esphomepr:`4556` by :ghuser:`wupeka` - allow using a binary output for the status led :esphomepr:`4532` by :ghuser:`ssieb` - Add option flip_x :esphomepr:`4555` by :ghuser:`rafal83` - Bump aioesphomeapi from 13.5.0 to 13.5.1 :esphomepr:`4572` by :ghuser:`dependabot[bot]` - Verbose output of define. :esphomepr:`4576` by :ghuser:`Fabian-Schmidt` - Add support for ESP32 CAM 3MP and 5MP resolutions and arbitrary camera clock. :esphomepr:`4580` by :ghuser:`peterhalicky` - Add a simple 'skip_initial' filter :esphomepr:`4582` by :ghuser:`sybrenstuvel` - Fix outdated filter string in platformio_api :esphomepr:`4587` by :ghuser:`LordMike` - Split test3.yaml :esphomepr:`4591` by :ghuser:`jesserockz` - Disallow uart0/1/2 as ids in config :esphomepr:`4446` by :ghuser:`jesserockz` (breaking-change) - Upgrade clang-format to v13 :esphomepr:`4535` by :ghuser:`oxan` - B/W support for GooDisplay GDEY029T94 (as used on Adafruit MagTag) :esphomepr:`4222` by :ghuser:`AaronJackson` - Fix negative sqrt root in ct_clamp_sensor.cpp :esphomepr:`4236` by :ghuser:`jerome992` - Wrap ipv6 code a bit more :esphomepr:`4574` by :ghuser:`jesserockz` - Remove EntityBase from sprinkler :esphomepr:`4606` by :ghuser:`jesserockz` - Fix wrong port multiplexer name in dump GPIO function of sx1509 :esphomepr:`4592` by :ghuser:`skaldo` - Bump zeroconf from 0.47.3 to 0.47.4 :esphomepr:`4597` by :ghuser:`dependabot[bot]` - Bump pytest-asyncio from 0.20.3 to 0.21.0 :esphomepr:`4599` by :ghuser:`dependabot[bot]` - Limit range on filter time period for remote_receiver :esphomepr:`4604` by :ghuser:`RoboMagus` - add select_schema to select component :esphomepr:`4545` by :ghuser:`regevbr` - Add ability to clear the gatt cache :esphomepr:`4621` by :ghuser:`bdraco` - Bump actions/stale from 7 to 8 :esphomepr:`4615` by :ghuser:`dependabot[bot]` - Require step to be set when calling register_number :esphomepr:`4622` by :ghuser:`jesserockz` (breaking-change) - Lower range of CONF_FREQUENCY :esphomepr:`4619` by :ghuser:`berendhaan` - Allow entity names to be set to None :esphomepr:`4607` by :ghuser:`jesserockz` - Fix platform restriction for bme680_bsec :esphomepr:`4616` by :ghuser:`jesserockz` - Fix EzoCommandType enum :esphomepr:`4593` by :ghuser:`alfredopironti` - `EntityBase` Name can stay in flash. :esphomepr:`4594` by :ghuser:`Fabian-Schmidt` - feat: Add support to unsubscribe from BLE advertisements :esphomepr:`4620` by :ghuser:`richardhopton` - EntityBase: Move ObjectId to Flash :esphomepr:`4569` by :ghuser:`Fabian-Schmidt` - Add workflow to sync device classes with HA dev :esphomepr:`4629` by :ghuser:`jesserockz` - Synchronise Device Classes from Home Assistant :esphomepr:`4633` by :ghuser:`github-actions[bot]` - Remove AUTO_LOAD from as3935 :esphomepr:`4630` by :ghuser:`jesserockz` - Add ifdef to new bt proxy unsubscribe :esphomepr:`4634` by :ghuser:`jesserockz` - add bluetooth mac address in dump_config() :esphomepr:`4628` by :ghuser:`felixlungu` - Binary map bugfixes :esphomepr:`4636` by :ghuser:`kahrendt` - entity_base avoid padding bytes. :esphomepr:`4637` by :ghuser:`Fabian-Schmidt` - Avoid sensor padding. :esphomepr:`4638` by :ghuser:`Fabian-Schmidt` - Support advanced UART customization :esphomepr:`4465` by :ghuser:`Fabian-Schmidt` - Log calibration results at level INFO :esphomepr:`4240` by :ghuser:`Duckle29` - Number step not optional :esphomepr:`4649` by :ghuser:`RoboMagus` - VSCode / devcontainer updates :esphomepr:`4647` by :ghuser:`jesserockz` - Retry PN532_COMMAND_VERSION_DATA on setup() (fixes esphome/issues#3823) :esphomepr:`4651` by :ghuser:`tracestep` - Bump pylint from 2.16.4 to 2.17.2 :esphomepr:`4650` by :ghuser:`dependabot[bot]` - Added in mmc5603 code :esphomepr:`4175` by :ghuser:`benhoff` (new-integration) - Bump black from 23.1.0 to 23.3.0 :esphomepr:`4635` by :ghuser:`dependabot[bot]` - fix compilation with latest esp-idf :esphomepr:`4671` by :ghuser:`Mic92` - Bump zeroconf from 0.47.4 to 0.56.0 :esphomepr:`4674` by :ghuser:`dependabot[bot]` - Bump pytest from 7.2.2 to 7.3.0 :esphomepr:`4673` by :ghuser:`dependabot[bot]` - Add push to talk voice assistant :esphomepr:`4648` by :ghuser:`jesserockz` (new-integration) - Fix ESP32 SPI hardware assignment in Arduino fw :esphomepr:`4669` by :ghuser:`kbx81` - Fix some NFC/PN532 crashes :esphomepr:`4678` by :ghuser:`kbx81` - Add support for SSD1306 72x40 displays :esphomepr:`4659` by :ghuser:`johnsto` - Fix pin schema for i2s microphone :esphomepr:`4680` by :ghuser:`jesserockz` - Fix BedJet setup priority [fixes esphome/issues#3807] :esphomepr:`4677` by :ghuser:`jhansche` - Add always trigger stop :esphomepr:`4249` by :ghuser:`X-Ryl669` - Fix graph limits for negative values and other corner cases :esphomepr:`4253` by :ghuser:`unhold` - Fix cut-off on 2.13" waveshare/ttgo epaper displays :esphomepr:`4255` by :ghuser:`unhold` - [Ethernet] Add PHY KSZ8081 support :esphomepr:`4668` by :ghuser:`Fabian-Schmidt` - Fix restore :esphomepr:`4655` by :ghuser:`spacemanspiff2007` (breaking-change) Past Changelogs --------------- - :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`