ESPHome 2025.2.0 - 19th February 2025
Read the ESPHome 2025.2.0 release notes on the blog for the release overview, feature highlights, upgrade checklist, and breaking changes.
Full list of changes
Section titled “Full list of changes”New Components
Section titled “New Components”- [es7210] add support for es7210 ADC esphome#8007 by @kahrendt (new-integration)
- [audio_adc] Add new
audio_adccomponent esphome#8094 by @kbx81 (new-integration) - [es8156] Add support for ES8156 audio DAC esphome#8085 by @kbx81 (new-integration)
- [es7243e] Add support for ES7243E audio ADC esphome#8098 by @kbx81 (new-integration)
- [esp32_ble_server] Create custom services, characteristics and descriptors esphome#7009 by @Rapsssito (new-integration)
- [resampler] Media Player Components PR7 esphome#8169 by @kahrendt (new-integration)
- [mixer] Media Player Components PR8 esphome#8170 by @kahrendt (new-integration)
- [xxtea] Extract encryption functions to separate component esphome#8183 by @clydebarrow (new-integration)
- [logger] Add runtime level select esphome#8222 by @clydebarrow (new-integration)
- [speaker] Media Player Components PR9 esphome#8171 by @kahrendt (new-integration)
New Platforms
Section titled “New Platforms”- [uptime] Add text_sensor esphome#8028 by @clydebarrow (new-platform)
- Add: Human Presence and Target Count to the Seeed Studio MR60BHA2 esphome#8010 by @limengdu (new-platform)
- [sdl] Implement binary sensors from keystrokes esphome#8207 by @bdm310 (new-platform)
Breaking Changes
Section titled “Breaking Changes”- [esp32_rmt] Updates for IDF 5+ esphome#7770 by @swoboda1337 (breaking-change)
- [lvgl] remove default state esphome#8038 by @clydebarrow (breaking-change)
- [nextion] Brightness control tweaks esphome#8027 by @kbx81 (breaking-change)
- [image] Transparency changes; code refactor esphome#7908 by @clydebarrow (breaking-change)
- [ili9xxx] psram and 8 bit changes esphome#8084 by @clydebarrow (breaking-change)
- [core] Remove old style platform configuration esphome#8118 by @jesserockz (breaking-change)
- [custom] Remove platforms esphome#8119 by @kbx81 (breaking-change)
- Remove arm/v7 container image support esphome#8194 by @jesserockz (breaking-change)
- [esp32_rmt] Set pull-up and open-drain modes based on pin schema esphome#8178 by @swoboda1337 (breaking-change)
- [scd30] Increase minimal CONF_UPDATE_INTERVAL from 1 to 2 seconds esphome#8256 by @DjordjeMandic (breaking-change)
Beta Changes
Section titled “Beta Changes”- [online_image]Fix reset if buffer not allocated esphome#8236 by @guillempages
- [core] Ignore dot-prefixed config entries when looking for target platform esphome#8240 by @jesserockz
- Bump zeroconf to 0.144.1 esphome#8238 by @bdraco
- [core] Fix
config_dirfor dashboard esphome#8242 by @jesserockz - [cse7766] Remove
streamdependency esphome#7720 by @gabest11 - [graph] Remove
streamdependency esphome#8243 by @kbx81 - [modbus_controller] Remove
streamdependency esphome#8244 by @kbx81 - [logger] Fix bug causing global log level to be overwritten esphome#8248 by @swoboda1337
- Add support for the DAC on the S2 esphome#8030 by @maraid
- Fix crash when storage file doesnt exist yet esphome#8249 by @jesserockz
- don’t crash on null pages esphome#8254 by @ssieb
- [scd30] Increase minimal CONF_UPDATE_INTERVAL from 1 to 2 seconds esphome#8256 by @DjordjeMandic (breaking-change)
- Bump zeroconf to 0.144.3 esphome#8253 by @bdraco
- DHT platform now supports modules with inbuilt external resistor esphome#8257 by @deCodeIt
- Replace glyphsets with esphome_glyphsets esphome#8261 by @bdraco
- Bump aioesphomeapi to 29.1.0 esphome#8105 by @bdraco
- Bump openssh-client to 1:9.2p1-2+deb12u4 to fix docker builds esphome#8269 by @bdraco
- Increase default repeat delay for Toto remote transmitter protocol esphome#8265 by @G-Two
- Bump zeroconf to 0.145.1 esphome#8267 by @bdraco
All changes
Section titled “All changes”- [rotary_encoder] Fix volatile increment/decrement deprecation warnings esphome#7958 by @edwardtfn
- [pulse_counter] Fix volatile increment/decrement deprecation warnings esphome#7954 by @edwardtfn
- [nextion] Publishes
is_connected()esphome#7961 by @edwardtfn - Fix adc channel for ESP32-H2 esphome#7964 by @luar123
- [nextion] Remove
_internalfrom non-protected functions esphome#7656 by @edwardtfn - [opentherm] Message ordering, on-the-fly message editing, code improvements esphome#7903 by @olegtarasov
- [debug] Detailed reset reason esphome#7729 by @edwardtfn
- [uart] Use
SOC_UART_NUMas number of uarts instead ofUART_NUM_MAXesphome#7967 by @jesserockz - [ci] Dont run main ci suite on docker files esphome#7966 by @jesserockz
- Bump docker/setup-buildx-action from 3.7.1 to 3.8.0 in the docker-actions group esphome#7969 by @dependabot[bot]
- [core] Add c6 and h2 to split default esphome#7974 by @swoboda1337
- [midea] Add Fahrenheit support to
midea_ac.follow_meaction esphome#7762 by @DjordjeMandic - [esp32_rmt] Updates for IDF 5+ esphome#7770 by @swoboda1337 (breaking-change)
- [qspi_dbi] Bugfix and new features esphome#7979 by @clydebarrow
- [helpers] Provide calls to get free heap and largest available block. esphome#7978 by @clydebarrow
- Bump actions/upload-artifact from 4.4.3 to 4.5.0 esphome#7981 by @dependabot[bot]
- [esp32_ble] do not skip events if queue is blocked esphome#7960 by @tomaszduda23
- [ble_client, bluetooth_proxy, esp32_ble_client, esp32_ble_tracker] fix ble proxy stop working esphome#7901 by @tomaszduda23
- [esp32_rmt] IDF 5+ update fixes esphome#8002 by @swoboda1337
- Initialize esp32_rmt_led_strip buffer esphome#8036 by @pzich
- [addressable_light] Remove rmt channel from idf tests esphome#7987 by @clydebarrow
- Remove rmt channel from idf tests esphome#8054 by @clydebarrow
- Fixed comment typo in light_color_values.h esphome#8050 by @samunemeth
- Fix braceless else statements esphome#7799 by @pzich
- Enable udp to work (on ipv4) when ipv6 is enabled esphome#8060 by @HeMan
- Update sprinkler.cpp esphome#7996 by @jotaj91
- [lvgl] remove default state esphome#8038 by @clydebarrow (breaking-change)
- [lvgl] fix bg_image_src esphome#8005 by @clydebarrow
- [lgvl] disp_bg_image and disp_bg_opa changes esphome#8025 by @clydebarrow
- [spi_led_strip] Fix priority esphome#8021 by @clydebarrow
- [config] Early check for required version esphome#8000 by @clydebarrow
- [lvgl] Implement
lvgl.page.is_showing:condition esphome#8055 by @clydebarrow - [display] auto_clear_enabled defaults esphome#7986 by @clydebarrow
- Convert IPAddress to use Pythonmodule ipaddress esphome#8072 by @HeMan
- Add log level env var esphome#7604 by @briancw
- [spi] relay on KEY_TARGET_PLATFORM as the other platforms does esphome#8066 by @tomaszduda23
- Bump actions/upload-artifact from 4.5.0 to 4.6.0 esphome#8058 by @dependabot[bot]
- Bump peter-evans/create-pull-request from 7.0.5 to 7.0.6 esphome#8024 by @dependabot[bot]
- Bump docker/setup-qemu-action from 3.2.0 to 3.3.0 in the docker-actions group esphome#8052 by @dependabot[bot]
- Bump docker/build-push-action from 6.10.0 to 6.11.0 in /.github/actions/build-image esphome#8053 by @dependabot[bot]
- Allow CONF_RMT_CHANNEL parameter for IDF 4.X esphome#8035 by @gnumpi
- [esp32] Fix arch_get_cpu_freq_hz esphome#8047 by @swoboda1337
- Fix Waveshare 7in5bv3bwr image quality in BWR mode esphome#8043 by @zbikmarc
- [json] use correct formatting esphome#8039 by @clydebarrow
- [nextion] Brightness control tweaks esphome#8027 by @kbx81 (breaking-change)
- [image] Transparency changes; code refactor esphome#7908 by @clydebarrow (breaking-change)
- Added VERY_VERBOSE dfplayer printing esphome#8026 by @solarkennedy
- [core] fix comment for crc8 function in helpers.h esphome#8016 by @DjordjeMandic
- [debug] Add framework type to debug info esphome#8013 by @edwardtfn
- [debug] Add ESP32 partition table logging to
dump_configesphome#8012 by @edwardtfn - [psram] Improve total PSRAM display in logs by using rounded KB values esphome#8008 by @edwardtfn
- Use ESPHome logo on readme page according to theme (light/dark) esphome#7992 by @dougiteixeira
- Fix compile errors with pioarduino/platform-espressif32: wifi_component_esp32_arduino.cpp esphome#7998 by @bitflippersanonymous
- Include esp_mac.h and C++20 str_startswith/str_ends esphome#7999 by @bitflippersanonymous
- [esp32_wifi] Enhance WiFi component with TCPIP core locking. esphome#7997 by @bitflippersanonymous
- add missing include in base_automation.h esphome#8001 by @nielsnl68
- Fixed topic when mac is used esphome#7988 by @Hadatko
- web_server: Adds REST API POST endpoints to arm and disarm esphome#7985 by @heythisisnate
- [lvgl] fix tests esphome#8075 by @clydebarrow
- Allow external libraries to use ESP_LOGx macros esphome#8078 by @kroimon
- [uptime] Add text_sensor esphome#8028 by @clydebarrow (new-platform)
- [image] Fix mdi images esphome#8082 by @clydebarrow
- [ili9xxx] psram and 8 bit changes esphome#8084 by @clydebarrow (breaking-change)
- [spi] Restore
SPIDelegateDummyesphome#8019 by @clydebarrow - [lvgl] fix lvgl.widget.update and friends esphome#8087 by @clydebarrow
- fix(web_server/fan): send speed update values even when fan is off esphome#8086 by @distante
- [es7210] add support for es7210 ADC esphome#8007 by @kahrendt (new-integration)
- [event] Store
last_event_typein class esphome#8088 by @jesserockz - [prometheus] Select, media_player, and number prometheus metrics esphome#7895 by @jzucker2
- Bump docker/build-push-action from 6.11.0 to 6.12.0 in /.github/actions/build-image esphome#8090 by @dependabot[bot]
- Revert “Add resistance_sampler interface for config validation” esphome#8093 by @clydebarrow
- Fix running pre-commit on Windows esphome#8095 by @stellar-aria
- Remove black-formatter from pre-commit hooks esphome#8097 by @stellar-aria
- Increase Daly-BMS coltage cells from 16 to 18 cells esphome#8057 by @j-sepul
- [image]Rename option “use_transparency” esphome#8113 by @guillempages
- [online_image] Use RAMAllocator esphome#8114 by @guillempages
- Fixed incorrect display dimension esphome#8110 by @Duckle29
- Update defines.h for esp-idf 5.1.5 esphome#8117 by @jesserockz
- [audio_adc] Add new
audio_adccomponent esphome#8094 by @kbx81 (new-integration) - [uptime] Cosmetic improvements for uptime text_sensor esphome#8101 by @clydebarrow
- [es8156] Add support for ES8156 audio DAC esphome#8085 by @kbx81 (new-integration)
- [esp32_touch] Fix deprecated warning esphome#8092 by @swoboda1337
- [core] Remove old style platform configuration esphome#8118 by @jesserockz (breaking-change)
- Bump actions/stale from 9.0.0 to 9.1.0 esphome#8120 by @dependabot[bot]
- [custom] Remove platforms esphome#8119 by @kbx81 (breaking-change)
- Add: Human Presence and Target Count to the Seeed Studio MR60BHA2 esphome#8010 by @limengdu (new-platform)
- [es7243e] Add support for ES7243E audio ADC esphome#8098 by @kbx81 (new-integration)
- [debug] fix debug_esp32 printf for partition size and address esphome#8122 by @fightforlife
- [esp32] Set logger default interface for C6 esphome#8126 by @kbx81
- [core] add support for custom platform esphome#7616 by @tomaszduda23
- Add verbose logging for pulse width calculation in pulse_meter esphome#8124 by @DjordjeMandic
- [ads1115] Add sample rate control esphome#8102 by @brambo123
- Fix mqtt climate step rounding esphome#8121 by @olemmela
- [spi] Fix data type in bitbash transfer_() esphome#8125 by @oliv3r
- [online_image] Add binary bmp support esphome#8116 by @jesserockz
- [online_image] Code Improvements esphome#8130 by @guillempages
- Update mdns for ESP-IDF esphome#8145 by @HeMan
- Include Bluetooth connection slot allocations in connections free message esphome#8148 by @bdraco
- [esp32_ble_server] Create custom services, characteristics and descriptors esphome#7009 by @Rapsssito (new-integration)
- [online_image] Add JPEG support to online_image esphome#8127 by @guillempages
- [logger] Ensure PRIu32 and friends are available esphome#8155 by @clydebarrow
- Fix forgotten uses of use_transparency esphome#8115 by @kroimon
- Add multicast support to udp component esphome#8051 by @HeMan
- [display] Properly handle case of auto_clear_enabled: false esphome#8156 by @clydebarrow
- [esp32_rmt] Increase default symbols in led strip and remove IRAM config esphome#8133 by @swoboda1337
- [climate] Accept °K as intended esphome#8134 by @oliv3r
- Bump docker/build-push-action from 6.12.0 to 6.13.0 in /.github/actions/build-image esphome#8136 by @dependabot[bot]
- Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 esphome#8137 by @dependabot[bot]
- Bump actions/setup-python from 5.3.0 to 5.4.0 esphome#8154 by @dependabot[bot]
- Bump actions/setup-python from 5.3.0 to 5.4.0 in /.github/actions/restore-python esphome#8153 by @dependabot[bot]
- [remote_transmitter] Fix issues with 32bit rollover on esp8266 and libretiny esphome#8056 by @swoboda1337
- Use abspath for config path dir esphome#8044 by @NicoIIT
- [remote_base] Add default value for offset in is_valid esphome#8159 by @swoboda1337
- feat(core): Add support for
<...>includes esphome#8132 by @Rapsssito - Bump zeroconf to 0.143.0 esphome#8104 by @bdraco
- [i2s_audio] Media Player Components PR1 esphome#8163 by @kahrendt
- [audio, i2s_audio, speaker] Media Player Components PR2 esphome#8164 by @kahrendt
- [audio] Media Player Components PR3 esphome#8165 by @kahrendt
- Add virtual get_flags() to GPIOPin and implementation in InternalGPIOPin derivatives esphome#8151 by @DjordjeMandic
- Make get_flags() in GPIOPin mandatory esphome#8182 by @DjordjeMandic
- [audio] Media Player Components PR4 esphome#8166 by @kahrendt
- [audio] Media Player Components PR5 esphome#8167 by @kahrendt
- [audio] Media Player Components PR6 esphome#8168 by @kahrendt
- Remove arm/v7 container image support esphome#8194 by @jesserockz (breaking-change)
- [resampler] Media Player Components PR7 esphome#8169 by @kahrendt (new-integration)
- [mixer] Media Player Components PR8 esphome#8170 by @kahrendt (new-integration)
- [CI] Consolidate some tests (A) esphome#8184 by @kbx81
- [CI] Consolidate some tests (B) esphome#8185 by @kbx81
- [CI] Consolidate some tests (C) esphome#8186 by @kbx81
- [CI] Consolidate some tests (D) esphome#8189 by @kbx81
- [CI] Consolidate some tests (E) esphome#8191 by @kbx81
- [CI] Consolidate some tests (F) esphome#8195 by @kbx81
- [CI] Consolidate some tests (G) esphome#8196 by @kbx81
- [CI] Consolidate some tests (H) esphome#8198 by @kbx81
- [CI] Consolidate some tests (K, L) esphome#8201 by @kbx81
- [CI] Consolidate some tests (M) esphome#8202 by @kbx81
- [CI] Consolidate some tests (I, J) esphome#8200 by @kbx81
- [i2c] Workaround for i2c on s2 esphome#8188 by @swoboda1337
- [lvgl] add triggers for swipe gestures esphome#8190 by @clydebarrow
- [xxtea] Extract encryption functions to separate component esphome#8183 by @clydebarrow (new-integration)
- [lvgl] Make layouts work properly on base display esphome#8193 by @clydebarrow
- [preferences] Better handling of flash_write_interval esphome#8199 by @clydebarrow
- [CI] Consolidate some tests (N, O, P) esphome#8204 by @kbx81
- [CI] Consolidate some tests (Q, R) esphome#8205 by @kbx81
- [prometheus] Add update entity to prometheus metrics esphome#8173 by @jzucker2
- [uponor_smatrix] add target temperature as sensor esphome#7745 by @janschroeter
- [sdl] Implement binary sensors from keystrokes esphome#8207 by @bdm310 (new-platform)
- Bump the docker-actions group with 2 updates esphome#8215 by @dependabot[bot]
- [esp32_rmt] Set pull-up and open-drain modes based on pin schema esphome#8178 by @swoboda1337 (breaking-change)
- Add Toto protocol to remote receiver and transmitter esphome#8177 by @G-Two
- Markdown tweaks/updates esphome#8211 by @kbx81
- [CI] Consolidate some tests (S) esphome#8206 by @kbx81
- [CI] Consolidate some tests (U, V, W, X, Y, Z) esphome#8210 by @kbx81
- [CI] Consolidate some tests (T) esphome#8208 by @kbx81
- [online_image]Pin specific version of JPEG library esphome#8217 by @guillempages
- [logger] Add runtime level select esphome#8222 by @clydebarrow (new-integration)
- [online_image] Set Accept header esphome#8216 by @candrews
- [waveshare_epaper] Rationalise and complete tests esphome#8221 by @clydebarrow
- Fix pref conflict of WiFi creds and fast_connect esphome#8219 by @QRPp
- Don’t activate venv in devcontainer esphome#8128 by @kroimon
- Add ADC sampling method option esphome#8131 by @blind-oracle
- [ota] Increase socket timeout earlier in OTA script esphome#8129 by @swoboda1337
- [speaker] Media Player Components PR9 esphome#8171 by @kahrendt (new-integration)
- Add partial update of GDEW029T5 e-paper display esphome#8162 by @mystster
- Add waveshare 2.9inch e-Paper HAT (D) esphome#7906 by @TataGEEK
- [http_request]Use
std::stringfor headers esphome#8225 by @guillempages - [online_image] Improve error handling esphome#8212 by @guillempages
- [speaker] Bugfix: Ensure all audio is played after completely decoding a file esphome#8231 by @kahrendt
- [voice_assistant] Add announce support esphome#8232 by @kahrendt
- [prometheus] Adding valve entity metrics esphome#8223 by @jzucker2
- Added Waveshare e-paper display model “7.50inv2p” to the waveshare_epaper component. esphome#7751 by @tmpeh
- added Waveshare BWR Mode for the 4.2in Display esphome#7995 by @itpcc
- Add GDEY029T94 support esphome#7931 by @danielkoek
- GDEY042T81 e-paper displays support esphome#8061 by @mgruener
- Add support for Waveshare 7.3” ACeP 7-Color display esphome#6380 by @NeilSCGH
- Bump esphome-dashboard to 20250212.0 esphome#8235 by @jesserockz
- [online_image]Fix reset if buffer not allocated esphome#8236 by @guillempages
- [core] Ignore dot-prefixed config entries when looking for target platform esphome#8240 by @jesserockz
- Bump zeroconf to 0.144.1 esphome#8238 by @bdraco
- [core] Fix
config_dirfor dashboard esphome#8242 by @jesserockz - [cse7766] Remove
streamdependency esphome#7720 by @gabest11 - [graph] Remove
streamdependency esphome#8243 by @kbx81 - [modbus_controller] Remove
streamdependency esphome#8244 by @kbx81 - [logger] Fix bug causing global log level to be overwritten esphome#8248 by @swoboda1337
- Add support for the DAC on the S2 esphome#8030 by @maraid
- Fix crash when storage file doesnt exist yet esphome#8249 by @jesserockz
- don’t crash on null pages esphome#8254 by @ssieb
- [scd30] Increase minimal CONF_UPDATE_INTERVAL from 1 to 2 seconds esphome#8256 by @DjordjeMandic (breaking-change)
- Bump zeroconf to 0.144.3 esphome#8253 by @bdraco
- DHT platform now supports modules with inbuilt external resistor esphome#8257 by @deCodeIt
- Replace glyphsets with esphome_glyphsets esphome#8261 by @bdraco
- Bump aioesphomeapi to 29.1.0 esphome#8105 by @bdraco
- Bump openssh-client to 1:9.2p1-2+deb12u4 to fix docker builds esphome#8269 by @bdraco
- Increase default repeat delay for Toto remote transmitter protocol esphome#8265 by @G-Two
- Bump zeroconf to 0.145.1 esphome#8267 by @bdraco