ESPHome 2024.12.0 - 18th December 2024¶
ESP-IDF¶
ESPHome has now updated the core ESP32 code to use ESP-IDF 5.1.5. This is a major upgrade and should bring more features, chip support (Most notably the ESP32-C6 that people keep raving on about) and in general more stability.
To acommodate this change, ESPHome has moved away from the “official” platformio provided ESP32 platform, and is now using a community fork pioarduino/platform-espressif32 as platformio has decided to stop providing ESP-IDF updates to their platform for Espressif chips. As a user, you should not notice any difference.
As we are unable to test every single component and board, there might be issues with specific configurations. Please report these in the ESPHome issue tracker on GitHub.
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, especially if you’re using the ESPHome Device Compiler to build/compile firmware for your devices.
Full list of changes¶
New Components¶
Add: Seeed Studio mr60fda2 mmwave sensor esphome#7576 by @limengdu (new-integration)
Add: Seeed Studio MR60BHA2 mmWave Sensor esphome#7589 by @limengdu (new-integration)
New Platforms¶
binary_sensor for switch state esphome#7819 by @ssieb (new-platform)
Add H-Bridge switch component esphome#7421 by @dwmw2 (new-platform)
Breaking Changes¶
Fix entity name validation to allow “Off” and “On” esphome#7821 by @jesserockz (breaking-change)
MQTT sensors handling of publishing NaN values esphome#7768 by @kbullet (breaking-change)
Synchronise esp32 boards with platform version 51.03.07 esphome#7945 by @jesserockz (breaking-change)
[sgp30] Set default update interval to 60s esphome#7952 by @jesserockz (breaking-change)
Beta Changes¶
[const] Add RMT CONF variables to const.py esphome#7953 by @swoboda1337
[sgp30] Set default update interval to 60s esphome#7952 by @jesserockz (breaking-change)
[dallas_temp] Move delay_microseconds_safe to iram esphome#7957 by @swoboda1337
[i2s_audio] Bugfix: Correctly set ring buffer size esphome#7959 by @kahrendt
[adc] Restore missing LIBRETINY code in a separated file esphome#7955 by @edwardtfn
[font] cleanly handle font file format exception (Bugfix) esphome#7970 by @clydebarrow
[dashboard] Accept basic auth header esphome#7965 by @jesserockz
Bump esphome-dashboard to 20241217.1 esphome#7971 by @jesserockz
[esp32_ble] Use RAMAllocator to avoid panic abort from
new
esphome#7936 by @jesserockz
All changes¶
Bump codecov/codecov-action from 4 to 5 esphome#7771 by @dependabot[bot]
[remote_base] Fix extra comma in dump raw esphome#7774 by @swoboda1337
[nextion] New trigger on_buffer_overflow esphome#7772 by @edwardtfn
enable rp2040 for online_image esphome#7769 by @afflux
[nextion] Add publish actions esphome#7646 by @pkejval
[wifi] Make wifi_channel_() public esphome#7818 by @nielsnl68
feat(WiFi): Add wifi.configure action esphome#7335 by @Rapsssito
allow multiple graphical menus esphome#7809 by @ssieb
Move
CONF_NAME_ADD_MAC_SUFFIX
toconst.py
esphome#7820 by @jesserockzbinary_sensor for switch state esphome#7819 by @ssieb (new-platform)
[nextion] Remove assignment within if esphome#7824 by @kbx81
[ota] void functions should return nothing esphome#7825 by @kbx81
[safe_mode] Remove unused capture esphome#7826 by @kbx81
[stepper] Remove unnecessary
#include
esphome#7827 by @kbx81[sx1509] Fix up includes esphome#7828 by @kbx81
[uart] void functions should return nothing esphome#7829 by @kbx81
[audio] Header modernization esphome#7832 by @kbx81
[opentherm] Follow variable naming convention esphome#7833 by @kbx81
[opentherm] Add nolint for 8266 static global esphome#7837 by @kbx81
[helpers] Add NOLINT for Mutex private field
handle_
esphome#7838 by @kbx81Add waveshare 1 45 in v2 b support esphome#7052 by @programmingbgloDE
added Waveshare BWR Mode for the 7.5in Display esphome#7687 by @JonasB2497
[homeassistant.number] Return when value not set esphome#7839 by @kbx81
[CI] Add/update some system include paths esphome#7831 by @kbx81
add on_key trigger to matrix_keypad esphome#7830 by @ssieb
Add: Seeed Studio mr60fda2 mmwave sensor esphome#7576 by @limengdu (new-integration)
[lvgl] clang-tidy fixes for #7822 esphome#7843 by @kbx81
[xiaomi_ble] clang-tidy fixes for #7822 esphome#7860 by @kbx81
[wireguard] clang-tidy fixes for #7822 esphome#7859 by @kbx81
[dsmr] clang-tidy fixes for #7822 esphome#7848 by @kbx81
Fix entity name validation to allow “Off” and “On” esphome#7821 by @jesserockz (breaking-change)
[camera_web_server] Add
NOLINT
due to naming esphome#7823 by @kbx81[display_menu_base] clang-tidy fixes for #7822 esphome#7847 by @kbx81
[nextion] clang-tidy fixes for #7822 esphome#7852 by @kbx81
[shelly_dimmer] clang-tidy fixes for #7822 esphome#7844 by @kbx81
[sim800l] clang-tidy fixes for #7822 esphome#7856 by @kbx81
[nfc, pn532, pn7150, pn7160] clang-tidy fixes for #7822 esphome#7853 by @kbx81
[output] clang-tidy fixes for #7822 esphome#7854 by @kbx81
[sun_gtil2] clang-tidy fixes for #7822 esphome#7858 by @kbx81
[pipsolar] clang-tidy fixes for #7822 esphome#7855 by @kbx81
[ltr501] clang-tidy fixes for #7822 esphome#7850 by @kbx81
[cse7766] clang-tidy fixes for #7822 esphome#7846 by @kbx81
[alarm_control_panel] clang-tidy fixes for #7822 esphome#7845 by @kbx81
[sprinkler] clang-tidy fixes for #7822 esphome#7857 by @kbx81
[haier] clang-tidy fixes for #7822 esphome#7849 by @kbx81
[mqtt] clang-tidy fixes for #7822 esphome#7851 by @kbx81
[helpers, optional] clang-tidy fixes for #7822 esphome#7841 by @kbx81
Move
USE_CAPTIVE_PORTAL
into all define groups it can be used with esphome#7863 by @jesserockzBump docker/build-push-action from 6.9.0 to 6.10.0 in /.github/actions/build-image esphome#7866 by @dependabot[bot]
python lint for platform components esphome#7864 by @tomaszduda23
[max31865] clang-tidy fixes for #7822 esphome#7876 by @kbx81
[esp32_ble] clang-tidy fixes for #7822 esphome#7883 by @kbx81
[mqtt] clang-tidy fixes for #7822 esphome#7877 by @kbx81
[uln2003] clang-tidy fixes for #7822 esphome#7881 by @kbx81
[rotary_encoder] clang-tidy fixes for #7822 esphome#7880 by @kbx81
[pca6416a, pca9554] clang-tidy fixes for #7822 esphome#7879 by @kbx81
[nextion] clang-tidy fixes for #7822 esphome#7878 by @kbx81
[various] clang-tidy fixes for #7822 esphome#7874 by @kbx81
[logger] clang-tidy fixes for #7822 esphome#7875 by @kbx81
[ezo] clang-tidy fixes for #7822 esphome#7873 by @kbx81
[apds9306] clang-tidy fixes for #7822 esphome#7872 by @kbx81
[dht] clang-tidy fixes for #7822 esphome#7871 by @kbx81
[network] clang-tidy fixes for #7822 esphome#7870 by @kbx81
[lvgl] Make image update via lambda work esphome#7886 by @clydebarrow
[deep_sleep] fix deep_sleep not keeping awake when sleep_duration is defined esphome#7885 by @makstech
[hx711] clang-tidy fixes for #7822 esphome#7900 by @kbx81
[modbus_controller] Clang fixes esphome#7899 by @kbx81
Add H-Bridge switch component esphome#7421 by @dwmw2 (new-platform)
[CI] Bump GHA runners to
ubuntu-24.04
esphome#7905 by @kbx81[font et. al.] Remove explicit check for pillow installed. esphome#7891 by @clydebarrow
[CI] Update clang-tidy to 18.1.3 esphome#7822 by @kbx81
MQTT sensors handling of publishing NaN values esphome#7768 by @kbullet (breaking-change)
[ble] Allow setting shorter name for ble advertisements esphome#7867 by @jesserockz
[font] Restore correct default glyphs for bitmap fonts esphome#7907 by @clydebarrow
[helpers] clang-tidy fix for #7706 esphome#7909 by @kbx81
[docker] Fix clang-tidy installation esphome#7910 by @kbx81
[sntp] Resolve warnings from ESP-IDF 5.x esphome#7913 by @clydebarrow
Add strftime variant with background color esphome#7714 by @mikosoft83
[i2s_audio] Bugfix: Follow configured bits per sample esphome#7916 by @kahrendt
Haier AC quiet mode switch fix esphome#7902 by @paveldn
[CI] Update clang-tidy to 18.1.8 esphome#7915 by @syssi
[i2s_audio] Speaker type fix esphome#7919 by @kbx81
[esp32_rmt_led_strip] Add
COMPONENT_SCHEMA
extending esphome#7918 by @jesserockz[esp32] Use pioarduino + IDF 5.1.5 as default for IDF builds esphome#7706 by @kbx81
Bump actions/cache from 4.1.2 to 4.2.0 esphome#7926 by @dependabot[bot]
Bump actions/cache from 4.1.2 to 4.2.0 in /.github/actions/restore-python esphome#7925 by @dependabot[bot]
Add OCI Image Labels esphome#7924 by @Passific
Move docker oci labels to correct image esphome#7927 by @jesserockz
Update project description esphome#7928 by @jesserockz
[modbus] More clean-up esphome#7921 by @kbx81
Add: Seeed Studio MR60BHA2 mmWave Sensor esphome#7589 by @limengdu (new-integration)
Optimize QMC5883L reads esphome#7889 by @dnschneid
[display] Fix strftime overload ignoring alignment esphome#7937 by @jesserockz
Add font anti-aliasing for grayscale display esphome#7934 by @koreapyj
Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3 esphome#7941 by @dependabot[bot]
[adc] Split files by platform esphome#7940 by @edwardtfn
[const] Move
CONF_TEMPERATURE_COMPENSATION
to common const.py esphome#7943 by @jesserockz[lvgl] Fix image mode property (Bugfix) esphome#7938 by @clydebarrow
[lvgl] Add on_change event esphome#7939 by @clydebarrow
Synchronise esp32 boards with platform version 51.03.07 esphome#7945 by @jesserockz (breaking-change)
[i2c] Use correct macro to determine number of i2c peripherals for idf esphome#7947 by @jesserockz
[const] Add RMT CONF variables to const.py esphome#7953 by @swoboda1337
[sgp30] Set default update interval to 60s esphome#7952 by @jesserockz (breaking-change)
[dallas_temp] Move delay_microseconds_safe to iram esphome#7957 by @swoboda1337
[i2s_audio] Bugfix: Correctly set ring buffer size esphome#7959 by @kahrendt
[adc] Restore missing LIBRETINY code in a separated file esphome#7955 by @edwardtfn
[font] cleanly handle font file format exception (Bugfix) esphome#7970 by @clydebarrow
[dashboard] Accept basic auth header esphome#7965 by @jesserockz
Bump esphome-dashboard to 20241217.1 esphome#7971 by @jesserockz
[esp32_ble] Use RAMAllocator to avoid panic abort from
new
esphome#7936 by @jesserockz