ESPHome 2024.11.0 - 20th November 2024
ESPHome has grown over time and become more friendly for vendors to create and pre-install ESPHome onto devices they sell / give away / provide. We are seeing more devices with ESPHome pre-installed, and we are so happy to see how accessible it is becoming for regular Home Assistant users (not just developers or tech-savvy people) to get their hands on a device that; A, works out of the box, B, works locally, and C can be fully customized by the person who bought it if they choose to do so. Because there are now more devices you can buy and do not have to install ESPHome onto yourself, we have made some updates to allow ignoring these discovered devices from the ESPHome Dashboard as for most of these devices, you don’t actually need to take control and write and manage your own firmware for them.Further to this, we have slightly changed the identity of ESPHome as an add-on in Home Assistant. It is now called ESPHome Device Compiler, because that is what it does, and most people do not need it if they are not going to actually compile anything.
OpenTherm

This release brings OpenTherm support to ESPHome. Please see the documentation for detailed information about it and how to use it.
ESPHome armv7
Docker Support

We will be retiring ESPHome’s Docker support for armv7
hardware in the February 2025 release.
This is due to both waning support as it relates to tooling and performance reasons. We strongly recommend moving to a more modern architecture, especiallly if you’re using the ESPHome Device Compiler to build/compile firmware for your devices.
Release 2024.11.1 - November 22

- [http_request] Fix within context with parameters. (Bugfix) esphome#7790 by @clydebarrow
- [rtttl] Clamp gain between 0 and 1 esphome#7793 by @jesserockz
- [speaker] Add missing auto-load for
audio
esphome#7794 by @jesserockz - [qspi_dbi] Fix garbled graphics on RM690B0 esphome#7795 by @manuelkasper
- Check for min_version earlier in validation esphome#7797 by @spuder
- Fix for OTA mode not activating in safe_mode when OTA section has an on_xxxx action esphome#7796 by @Dilbert66
- Ensure storage I/O for ignored devices runs in the executor esphome#7792 by @bdraco
Release 2024.11.2 - November 27

- [lvgl] Bugfixes esphome#7803 by @clydebarrow
- [docker] Leave run-time required libraries installed. esphome#7804 by @clydebarrow
- [qspi_dbi] Fix init sequences (Bugfix) esphome#7805 by @clydebarrow
- fix modbus crashing when bad data returned esphome#7810 by @ssieb
- [Modbus Controller] Fix issue #6477. Online automation triggering Offline esphome#7801 by @0x3333
- [fix] Status sensor does not check if required network component is missing esphome#7734 by @rvalitov
- keypad binary sensors should be initially off esphome#7808 by @ssieb
- fix 32 char SSIDs esphome#7834 by @ssieb
- [honeywell] use warning instead of failing esphome#7862 by @ssieb
Release 2024.11.3 - December 6

- [opentherm] Fix out of memory errors on ESP8266 esphome#7835 by @olegtarasov
- fix local time timestamp calculation esphome#7807 by @ssieb
- [online_image]Don’t access decoder if not initialized esphome#7882 by @guillempages
- Add IRAM_ATTR to all functions used during interrupts on esp8266 chips. esphome#7840 by @FreeBear-nc
- [st7920] Remove unnecessary warning when drawing outside display bounds esphome#7868 by @jesserockz
- Fix recalc_timestamp_utc esphome#7894 by @RouNNdeL
- Cast port to int for ota pushing esphome#7888 by @jesserockz
- [lvgl] Bugfixes esphome#7896 by @clydebarrow
- [lvgl] Fix msgbox content esphome#7912 by @clydebarrow
- [esp32] Fix crash with empty
platformio_options:
value esphome#7920 by @clydebarrow
Full list of changes

New Features

- Support ignoring discovered devices from the dashboard esphome#7665 by @jesserockz (new-feature)
- [media_player] Add new media player conditions esphome#7667 by @kahrendt (new-feature)
New Components

- Add TC74 temperature sensor esphome#7460 by @sethgirvan (new-integration)
- Add support for Analog Devices MAX17043 battery fuel gauge esphome#7522 by @blacknell (new-integration)
- [speaker, i2s_audio] I2S Speaker implementation using a ring buffer esphome#7605 by @kahrendt (new-integration)
- [axs15231] Touchscreen driver esphome#7592 by @clydebarrow (new-integration)
- i2c_device esphome#7641 by @gabest11 (new-integration)
- [es8311] Add es8311 dac component esphome#7693 by @kahrendt (new-integration)
- Add OpenTherm component (part 3: rest of the sensors) esphome#7676 by @olegtarasov (new-integration)
New Platforms

- [qspi_dbi] Rename from qspi_amoled, add features esphome#7594 by @clydebarrow (breaking-change) (new-platform)
- Add OpenTherm component (part 2.1: sensor platform) esphome#7529 by @olegtarasov (new-platform)
Breaking Changes

- [qspi_dbi] Rename from qspi_amoled, add features esphome#7594 by @clydebarrow (breaking-change) (new-platform)
- [lvgl] light schema should require
widget:
notled:
(Bugfix) esphome#7649 by @clydebarrow (breaking-change) - [http_request] Always return defined server response status esphome#7689 by @clydebarrow (breaking-change)
- [touchscreen] Calibration fixes esphome#7704 by @clydebarrow (breaking-change)
- [spi_device] rename mode to spi_mode esphome#7724 by @clydebarrow (breaking-change)
- Update UNIT_VOLT_AMPS_REACTIVE = “var” (Currently ‘VAR’) esphome#7643 by @Roving-Ronin (breaking-change)
Beta Changes

- Fix temperature and humidity for bme680 with bsec2 esphome#7728 by @luar123
- [i2s_audio] Bugfix: Adjust I2S speaker setup priority esphome#7759 by @kahrendt
- Update UNIT_VOLT_AMPS_REACTIVE = “var” (Currently ‘VAR’) esphome#7643 by @Roving-Ronin (breaking-change)
- Fix reactive power unit of measurement from VAR to var esphome#7757 by @felipecrs
- Disable bluetooth proxy during update esphome#7695 by @jzucker2
- ld2420: fix typo in log message esphome#7758 by @bfabio
- TuyaFan control should use oscillation_type esphome#7776 by @pethans
- Bump esphome-dashboard to 20241118.0 esphome#7782 by @jesserockz
- [http_request] Feed watchdog timeout around http request functions esphome#7786 by @jesserockz
- Bump esphome-dashboard to 20241120.0 esphome#7787 by @jesserockz
All changes

- Update
pillow
to 10.4.0 esphome#7566 by @hostcc - Bump actions/upload-artifact from 4.4.2 to 4.4.3 esphome#7575 by @dependabot[bot]
- [fix] ESP32-C6 Reset Reasons esphome#7578 by @rvalitov
- [light] Add
initial_state
configuration esphome#7577 by @jesserockz - [CI] failures when installing using apt-get. esphome#7593 by @clydebarrow
- [web_server] expose event compoent to REST esphome#7587 by @RFDarter
- Update test_build_components esphome#7597 by @tomaszduda23
- [fix] ESP32-C6: internal temperature reporting esphome#7579 by @rvalitov
- [code-quality] statsd component esphome#7603 by @tomaszduda23
- [automation] Implement all and any condition shortcuts esphome#7565 by @clydebarrow
- Add TC74 temperature sensor esphome#7460 by @sethgirvan (new-integration)
- [display] filled_ring and filled_gauge methods added esphome#7420 by @artemyevav
- [fix] deprecated functions warnings for logger component with ESP IDF version 5.3.0+ esphome#7600 by @rvalitov
- [lvgl] Implement better software rotation esphome#7595 by @clydebarrow
- [qspi_dbi] Rename from qspi_amoled, add features esphome#7594 by @clydebarrow (breaking-change) (new-platform)
- Add support for Analog Devices MAX17043 battery fuel gauge esphome#7522 by @blacknell (new-integration)
- chore: bump pyyaml to 6.0.2 to support py3.13 build esphome#7610 by @chenrui333
- chore: bump platformio to 6.1.16 to support py3.13 build esphome#7590 by @chenrui333
- [speaker, i2s_audio] I2S Speaker implementation using a ring buffer esphome#7605 by @kahrendt (new-integration)
- Bump arduino-mlx90393 to 1.0.2 esphome#7618 by @functionpointer
- [fix] ESP32-C6 BLE compile error esphome#7580 by @rvalitov
- [axs15231] Touchscreen driver esphome#7592 by @clydebarrow (new-integration)
- [lvgl] Roller and Dropdown enhancements; esphome#7608 by @clydebarrow
- [code-quality] udp component esphome#7602 by @tomaszduda23
- [lvgl] Revise code generation to allow early widget creation esphome#7611 by @clydebarrow
- [lvgl] Allow esphome::Image in lambda to update image source directly esphome#7624 by @guillempages
- Bump bme68x_bsec2 version to 1.8.2610 esphome#7626 by @shvmm
- Update Pull request template esphome#7620 by @jesserockz
- [lvgl] Defer display rotation reset until setup(). (Bugfix) esphome#7627 by @clydebarrow
- [lvgl] light schema should require
widget:
notled:
(Bugfix) esphome#7649 by @clydebarrow (breaking-change) - [image] Fix compile time problem with host image not using lvgl esphome#7654 by @clydebarrow
- [lvgl] Fix rotation code for 90deg (Bugfix) esphome#7653 by @clydebarrow
- [lvgl] Allow strings to be interpreted as integers (Bugfix) esphome#7652 by @clydebarrow
- [rtttl] Add
get_gain()
esphome#7647 by @edwardtfn - feat(MQTT): Add subscribe QoS to discovery esphome#7648 by @Rapsssito
- i2c_device esphome#7641 by @gabest11 (new-integration)
- Bump actions/cache from 4.1.1 to 4.1.2 in /.github/actions/restore-python esphome#7659 by @dependabot[bot]
- Bump actions/cache from 4.1.1 to 4.1.2 esphome#7660 by @dependabot[bot]
- [speaker, i2s_audio] Support audio_dac component, mute actions, and improved logging esphome#7664 by @kahrendt
- unified way how all platforms handle copy_files esphome#7614 by @tomaszduda23
- updating ESP32 board definitions esphome#7650 by @asolochek
- Support ignoring discovered devices from the dashboard esphome#7665 by @jesserockz (new-feature)
- Bump esphome-dashboard to 20241025.0 esphome#7669 by @jesserockz
- unified way how all platforms handle get_download_types esphome#7617 by @tomaszduda23
- [media_player] Add new media player conditions esphome#7667 by @kahrendt (new-feature)
- [code-quality] weikai.h esphome#7601 by @tomaszduda23
- Bump actions/setup-python from 5.2.0 to 5.3.0 in /.github/actions/restore-python esphome#7671 by @dependabot[bot]
- Bump actions/setup-python from 5.2.0 to 5.3.0 esphome#7670 by @dependabot[bot]
- [image][online_image][animation] Fix transparency in RGB565 esphome#7631 by @clydebarrow
- Add OpenTherm component (part 2.1: sensor platform) esphome#7529 by @olegtarasov (new-platform)
- gp8403 : Add the possibility to use substitution for channel selection esphome#7681 by @SeByDocKy
- [lvgl] Implement qrcode esphome#7623 by @clydebarrow
- [bytebuffer] Rework ByteBuffer using templates esphome#7638 by @clydebarrow
- [http_request] Always return defined server response status esphome#7689 by @clydebarrow (breaking-change)
- [font] Fix failure with bitmap fonts esphome#7691 by @clydebarrow
- [http_request] Add enum for status codes esphome#7690 by @clydebarrow
- Support W5500 SPI-Ethernet polling mode if framework is supported esphome#7503 by @slakichi
- Add asdf to gitignore (and dockerignore) esphome#7686 by @jzucker2
- Add more prometheus metrics esphome#7683 by @jzucker2
- Mopeka Pro Check improvement to allow user to configure the sensor reporting for lower quality readings esphome#7475 by @spbrogan
- fix(WiFi): Fix strncpy missing NULL terminator [-Werror=stringop-truncation] esphome#7668 by @Rapsssito
- let make new platform implementation in external components esphome#7615 by @tomaszduda23
- remove use of delay esphome#7680 by @ssieb
- fix build error esphome#7694 by @tomaszduda23
- fix: [climate] Allow substitutions in
visual.temperature_step.{target_temperature,current_temperature}
esphome#7679 by @hostcc - Add in area and device to the prometheus labels esphome#7692 by @jzucker2
- [http_request] Implement
on_error
trigger for requests esphome#7696 by @clydebarrow - Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0 esphome#7700 by @dependabot[bot]
- [es8311] Add es8311 dac component esphome#7693 by @kahrendt (new-integration)
- [sdl] Allow window to be resized. esphome#7698 by @clydebarrow
- Add config for current temperature precision esphome#7699 by @JasonN3
- [spi] Add mosi pin checks for displays esphome#7702 by @clydebarrow
- [CI] Fix webserver defines to be present based on platform, not just framework esphome#7703 by @jesserockz
- [touchscreen] Calibration fixes esphome#7704 by @clydebarrow (breaking-change)
- [font] Add support for “glyphsets” esphome#7429 by @paravoid
- [lvlg] fix tests esphome#7708 by @clydebarrow
- [esp32_ble] Add disconnect as a virtual function to
ESPBTClient
esphome#7705 by @jesserockz - handle bad pin schemas esphome#7711 by @ssieb
- datetime fix build_language_schema esphome#7710 by @tomaszduda23
- [lvgl] Don’t just throw key error if someone types a bad layout type esphome#7722 by @jesserockz
- [spi_device] rename mode to spi_mode esphome#7724 by @clydebarrow (breaking-change)
- feat(MQTT): Add
enable
,disable
andenable_on_boot
esphome#7716 by @Rapsssito - [lvgl] Allow multiple LVGL instances esphome#7712 by @clydebarrow
- [fix] deprecated legacy driver tsens esphome#7658 by @rvalitov
- [lvgl] Fix id config for the lvgl component (Bugfix) esphome#7731 by @clydebarrow
- Bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.2 esphome#7730 by @dependabot[bot]
- OTA: Fix IPv6 and multiple address support esphome#7414 by @dwmw2
- Fix dashboard ip resolving esphome#7747 by @jesserockz
- [docker] Bump curl, iputils-ping and libssl-dev esphome#7748 by @jesserockz
- Remove the choice for MQTT logging if it is disabled esphome#7723 by @solarkennedy
- [sensor] Make some values templatable esphome#7735 by @clydebarrow
- [lvgl] Implement keypads esphome#7719 by @clydebarrow
- [midea] Add temperature validation in do_follow_me method (bugfix) esphome#7736 by @DjordjeMandic
- Add OpenTherm component (part 3: rest of the sensors) esphome#7676 by @olegtarasov (new-integration)
- [i2s_audio] I2S speaker improvements esphome#7749 by @kahrendt
- [opentherm] Message to string extend esphome#7755 by @FreeBear-nc
- [sun] Implements
is_above_horizon()
esphome#7754 by @edwardtfn - [core] Ring buffer write functions use const pointer parameter esphome#7750 by @kahrendt
- [Modbus Controller] Added
on_online
andon_offline
automation esphome#7417 by @0x3333 - Updated dfplayer logging to be more user-friendly esphome#7740 by @solarkennedy
- Fix temperature and humidity for bme680 with bsec2 esphome#7728 by @luar123
- [i2s_audio] Bugfix: Adjust I2S speaker setup priority esphome#7759 by @kahrendt
- Update UNIT_VOLT_AMPS_REACTIVE = “var” (Currently ‘VAR’) esphome#7643 by @Roving-Ronin (breaking-change)
- Fix reactive power unit of measurement from VAR to var esphome#7757 by @felipecrs
- Disable bluetooth proxy during update esphome#7695 by @jzucker2
- ld2420: fix typo in log message esphome#7758 by @bfabio
- TuyaFan control should use oscillation_type esphome#7776 by @pethans
- Bump esphome-dashboard to 20241118.0 esphome#7782 by @jesserockz
- [http_request] Feed watchdog timeout around http request functions esphome#7786 by @jesserockz
- Bump esphome-dashboard to 20241120.0 esphome#7787 by @jesserockz
Past Changelogs

- ESPHome 2024.10.0 - 16th October 2024
- ESPHome 2024.9.0 - 18th September 2024
- ESPHome 2024.8.0 - 21st August 2024
- ESPHome 2024.7.0 - 17th July 2024
- ESPHome 2024.6.0 - 19th June 2024
- ESPHome 2024.5.0 - 15th May 2024
- ESPHome 2024.4.0 - 17th April 2024
- ESPHome 2024.3.0 - 20th March 2024
- ESPHome 2024.2.0 - 21st February 2024
- ESPHome 2023.12.0 - 20th December 2023
- ESPHome 2023.11.0 - 15th November 2023
- ESPHome 2023.10.0 - 18th October 2023
- ESPHome 2023.9.0 - 27th September 2023
- ESPHome 2023.8.0 - 16th August 2023
- ESPHome 2023.7.0 - 19th July 2023
- ESPHome 2023.6.0 - 21st June 2023
- ESPHome 2023.5.0 - 17th May 2023
- ESPHome 2023.4.0 - 19th April 2023
- ESPHome 2023.3.0 - 15th March 2023
- ESPHome 2023.2.0 - 15th February 2023
- ESPHome 2022.12.0 - 14th December 2022
- ESPHome 2022.11.0 - 16th November 2022
- ESPHome 2022.10.0 - 19th October 2022
- ESPHome 2022.9.0 - 21st September 2022
- ESPHome 2022.8.0 - 17th August 2022
- ESPHome 2022.6.0 - 15th June 2022
- ESPHome 2022.5.0 - 18th May 2022
- ESPHome 2022.4.0 - 20th April 2022
- ESPHome 2022.3.0 - 16th March 2022
- ESPHome 2022.2.0 - 16th February 2022
- ESPHome 2022.1.0 - 19th January 2022
- ESPHome 2021.12.0 - 11th December 2021
- ESPHome 2021.11.0 - 17th November 2021
- ESPHome 2021.10.0 - 20th October 2021
- ESPHome 2021.9.0 - 15th September 2021
- ESPHome 2021.8.0 - 18th August 2021
- Changelog - Version 1.20.0 - 21st July 2021
- Changelog - Version 1.19.0 - 16th June 2021
- Changelog - Version 1.18.0 - 19th May 2021
- Changelog - Version 1.17.0 - 4th May 2021
- Changelog - Version 1.16.0 - February 3, 2021
- Changelog - Version 1.15.0 - September 13, 2020
- Changelog - Version 1.14.0 - November 1
- Changelog - Version 1.13.0 - May 30th 2019
- Changelog - Version 1.12.0
- Changelog - Version 1.11.0
- Changelog - Version 1.10.0
- Changelog - Version 1.9.0
- Version 1.8.0
- Version 1.7.0