Skip to content

ESPHome 2023.4.0 - 19th April 2023

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 Voice Assistant component that allows you to use ESPHome devices as an input for assist in Home Assistant 2023.5 or later.

With this also comes preliminary 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.

Home Assistant is hosting a live stream all about the Year of the Voice - Chapter 2.

Nabu Casa is pleased to announce that long time contributor Keith Burzinski (@kbx81) is joining the team as a full time developer to help out on ESPHome. Keith created the Sprinkler, Thermostat, a bunch of the ssd display components and a few other components as well as fixing many bug along the way. I expect his house climate and garden area are kept well in line.

Looking forward to working with you Keith.

With the introduction of the I2S Audio, the media player platform has some required breaking changes to the YAML configuration. This involves moving the i2s_lrclk_pin and i2s_bclk_pin to a new I2S Audio component.

# Before
media_player:
- platform: i2s_audio
name: ESPHome I2S Media Player
dac_type: external
i2s_lrclk_pin: GPIO33
i2s_bclk_pin: GPIO19
i2s_dout_pin: GPIO22
mode: mono
# After
i2s_audio:
i2s_lrclk_pin: GPIO33
i2s_bclk_pin: GPIO19
media_player:
- platform: i2s_audio
name: ESPHome I2S Media Player
dac_type: external
i2s_dout_pin: GPIO22
mode: mono

Default restore mode for Switches, Fans and Lights

Section titled “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.

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.

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.