ESPHome 2024.5.0 - 15th May 2024
Read the ESPHome 2024.5.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”- Add valve component esphome#6447 by @kbx81 (new-integration)
- Add the WeiKai SPI/I2C UART/IO Expander components to esphome esphome#5218 by @DrCoolzic (new-integration)
- Event entity support esphome#6451 by @nohat (new-integration)
- SPI and I2C for BMP390 and BMP380 esphome#6652 by @latonita (new-integration) (breaking-change)
Breaking Changes
Section titled “Breaking Changes”- Add DNS sensor and simplify format esphome#6450 by @HeMan (breaking-change)
- SM2135 - Use standard channel ordering. esphome#6573 by @Cossid (breaking-change)
- [sn74hc595] Enforce type field to distinguish gpio vs spi mode esphome#6609 by @jesserockz (breaking-change)
- Add datetime entities esphome#6513 by @jesserockz (breaking-change)
- SPI and I2C for BMP390 and BMP380 esphome#6652 by @latonita (new-integration) (breaking-change)
Beta Changes
Section titled “Beta Changes”- [github] Upgrade to actions/[upload,download]-artifact v4 esphome#6698 by @jesserockz
- [nextion] Replace flags to
USE_ARDUINOesphome#6700 by @edwardtfn - [remote_receiver, remote_transmitter] Improve error messages on the ESP32 esphome#6701 by @Mat931
- [ethernet] Use constexpr instead of inline define for KSZ80XX_PC2R_REG_ADDR esphome#6705 by @jesserockz
- Add PHY register writes to enable external clock on Ethernet with RTL8201 esphome#6704 by @heythisisnate
- Bump recommended ESP-IDF to 4.4.7 esphome#6703 by @bdraco
- [core] Ensure that a generated ID name is distinct from its type. esphome#6706 by @clydebarrow
- [color] Fix crash when hex color parses as int, improve error reporting. esphome#6707 by @clydebarrow
- [github] Fix digest artifact name esphome#6710 by @jesserockz
- fix(ltr390): stuck ALS values when configured for ALS+UV readings esphome#6723 by @CodeInPolish
- Set FEATURE_API_AUDIO flag also if the speaker component is not used esphome#6712 by @gnumpi
- Bump platformio from 6.1.13 to 6.1.15 esphome#6634 by @dependabot[bot]
- Fix ESPHOME_PROJECT_VERSION_30 esphome#6731 by @jesserockz
- Voice-Assistant: Start-order change for VAD disabled: start va-pipeline when microphon… esphome#6391 by @gnumpi
- Add ANNOUNCING state to media_player. esphome#6691 by @gnumpi
- [adc] Fix 11db deprecation warning esphome#6749 by @jesserockz (notable-change)
Notable Changes
Section titled “Notable Changes”- [adc] Fix 11db deprecation warning esphome#6749 by @jesserockz (notable-change)
All changes
Section titled “All changes”- Add some components to the new testing framework (H) esphome#6179 by @kbx81
- Added Htu21d model option esphome#6511 by @MRemy2
- Add bk72xx base test file esphome#6522 by @jesserockz
- Add “log” alias for “logs” command esphome#6519 by @pzich
- Add DNS sensor and simplify format esphome#6450 by @HeMan (breaking-change)
- Add all missing
remote_receiveron_...tests esphome#6524 by @kbx81 - Add actions to http_request tests esphome#6529 by @kbx81
- Update homeassistant component tests with actions esphome#6528 by @kbx81
- Define
USE_PSRAMesphome#6526 by @edwardtfn - Bump black from 24.2.0 to 24.4.0 esphome#6539 by @dependabot[bot]
- Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 esphome#6525 by @dependabot[bot]
- Bump python version in sync-device-classes workflow to 3.12 for HA esphome#6541 by @jesserockz
- Bump pylint from 3.0.3 to 3.1.0 esphome#6287 by @dependabot[bot]
- Bump aioesphomeapi from 23.2.0 to 24.0.0 esphome#6544 by @dependabot[bot]
- Bump pyupgrade from 3.15.1 to 3.15.2 esphome#6543 by @dependabot[bot]
- Add enum option to typed_schema esphome#6546 by @jesserockz
- Move esphome-fork startup script to main repo. esphome#6523 by @jesserockz
- Call workflow for addon with dev version esphome#6549 by @jesserockz
- Use trusted publishing token for pypi esphome#6545 by @jesserockz
- Fix uart to work with new enum definition in esp-idf-v5.2.1 esphome#6487 by @luar123
- Housecleaning: Use walrus operator in datetime esphome#6552 by @jesserockz
- Housecleaning: Use walrus operator in text esphome#6560 by @jesserockz
- Housecleaning: Use walrus operator in light esphome#6556 by @jesserockz
- Housecleaning: Use walrus operator in select esphome#6557 by @jesserockz
- Housecleaning: Use walrus operator in number esphome#6561 by @jesserockz
- Housecleaning: Use walrus operator in cover esphome#6562 by @jesserockz
- Housecleaning: Use walrus operator in climate esphome#6551 by @jesserockz
- Housecleaning: Use walrus operator in fan esphome#6555 by @jesserockz
- Housecleaning: Use walrus operator in text_sensor esphome#6559 by @jesserockz
- Bump zeroconf to 0.132.2 esphome#6548 by @bdraco
- Housecleaning: Use walrus operator in switch esphome#6558 by @jesserockz
- Housecleaning: Use walrus operator in lock esphome#6554 by @jesserockz
- Housecleaning: Use walrus operator in sensor esphome#6553 by @jesserockz
- Bump pytest-mock from 3.12.0 to 3.14.0 esphome#6572 by @dependabot[bot]
- Bump peter-evans/create-pull-request from 6.0.3 to 6.0.4 esphome#6569 by @dependabot[bot]
- Nextion - Review set_protocol_reparse_mode() esphome#6567 by @edwardtfn
- Allow component final_validate esphome#6475 by @kbx81
- SM2135 - Use standard channel ordering. esphome#6573 by @Cossid (breaking-change)
- Nextion - Do not refresh sensors while updating esphome#6566 by @edwardtfn
- Nextion - Review types esphome#6565 by @edwardtfn
- On failure, dump the output of preceding jobs in CI status esphome#6564 by @clydebarrow
- Nextion
send_commandmethod esphome#6540 by @edwardtfn - Fix some printf formats for size_t. esphome#6542 by @clydebarrow
- remove delay from tmp102 esphome#6577 by @ssieb
- Create
component_dirsubstitution for local files to be included in… esphome#6575 by @jesserockz - Define
USE_ESP32_BLEesphome#6585 by @edwardtfn - Bump aioesphomeapi from 24.0.0 to 24.3.0 esphome#6602 by @dependabot[bot]
- Add yamllint and clang-format to pre-commit hooks esphome#6578 by @clydebarrow
- Use clang-format version from requirements_dev file esphome#6606 by @jesserockz
- Add some components to the new testing framework (P) esphome#6213 by @kbx81
- Add some components to the new testing framework (M part 1) esphome#6207 by @kbx81
- Add some components to the new testing framework (M part 2) esphome#6208 by @kbx81
- Add some components to the new testing framework (O) esphome#6211 by @kbx81
- [mopeka_std_check] Fix test file indentation esphome#6610 by @jesserockz
- Add valve component esphome#6447 by @kbx81 (new-integration)
- Add some components to the new testing framework (R) esphome#6219 by @kbx81
- [sn74hc595] Enforce type field to distinguish gpio vs spi mode esphome#6609 by @jesserockz (breaking-change)
- [tests] Run yaml tests in groups if over 100 to run esphome#6612 by @jesserockz
- Add some components to the new testing framework (I) esphome#6185 by @kbx81
- Add some components to the new testing framework (T) esphome#6229 by @kbx81
- Add some components to the new testing framework (S part 1) esphome#6224 by @kbx81
- Add some components to the new testing framework (S part 2) esphome#6227 by @kbx81
graphical_display_menurequires a Display, not DisplayBuffer esphome#6614 by @clydebarrow- Add null GPIO pin esphome#6611 by @clydebarrow
- Allow UART to be AUTO LOADed esphome#6617 by @jesserockz
- Add the WeiKai SPI/I2C UART/IO Expander components to esphome esphome#5218 by @DrCoolzic (new-integration)
- Sort mqtt_const alphabetically esphome#6619 by @jesserockz
- Limit Rx wait loop time to 3 seconds. esphome#6594 by @descipher
- Event entity support esphome#6451 by @nohat (new-integration)
- Only check c/c++ files with clang-format esphome#6620 by @jesserockz
- Added base64 helper esphome#4866 by @freekode
- Add Roomba IR protocol esphome#4595 by @rforro
- Fix issue when setting cw/ww brightness via temperature esphome#5976 by @patagonaa
- Add get/set color temperature functions in Kelvin esphome#5006 by @danielkent-net
- Move CONF_PLATFORM_VERSION to global const.py esphome#6629 by @tomaszduda23
- Ble client fixes for proxy esphome#6596 by @elupus
- Fix for #6614- use background_color, improve anti-aliasing esphome#6618 by @clydebarrow
- Fix graph hangs when y ≤ 0 esphome#6593 by @chiahsing
- Feature add last_operation to time based cover esphome#6084 by @xprofiler
- Add
event,text_sensorandvalvedevice classes to sync script esphome#6624 by @kbx81 - Add datetime entities esphome#6513 by @jesserockz (breaking-change)
- Multiple Daly-BMS support esphome#6615 by @latonita
- Remove text_sensor from sync-device-class job esphome#6637 by @kbx81
- Synchronise Device Classes from Home Assistant esphome#6638 by @esphomebot
- Display: add diagnostic test_card option esphome#6608 by @nielsnl68
- waveshare_epaper: Add 2.90in-dke esphome#6492 by @polyfloyd
- Extract core comments from #6241 esphome#6643 by @javawizard
- [hm3301] Updated the AQI based on the airnow document esphome#6004 by @optimusprimespace
- Fix command line substitutions without any yaml substitutions esphome#6644 by @jesserockz
- Allow platform dependencies esphome#6623 by @kbx81
- [light] Add transition_length to strobe effect. esphome#6595 by @lhartmann
- Fixed the issue that graph draws out of the boundary. esphome#6651 by @chiahsing
- Fix upload command. MQTT user and password is missing from configuration. #5093 esphome#5766 by @dylan09
- patch esphome cli to skip mqtt based device discovery if —device option is specified esphome#6371 by @quigleymd
- Fix for #4866 - inconsistent arguments esphome#6639 by @clydebarrow
- [template/text] Fix lambda config esphome#6655 by @asergunov
- web_server: Add support for v3 local server_index esphome#6563 by @pzich
- Update webserver local assets to 20240429-211523 esphome#6657 by @esphomebot
- [nextion] Exit reparse before update TFT esphome#6589 by @edwardtfn
- [nextion] Set alternative TFT update baud rate esphome#6587 by @edwardtfn
- [TM1637] Let turn off the display esphome#6656 by @asergunov
- [nextion] Use persistent http connection for TFT upload (Arduino) esphome#6582 by @edwardtfn
- Extend MQTT tests esphome#6648 by @kbx81
- Extend and consolidate
scripttests esphome#6663 by @kbx81 - [nextion] Use persistent http connection for TFT upload (ESP-IDF) esphome#6576 by @edwardtfn
- Add a function to return the loop_interval esphome#6666 by @tronikos
- Remote receiver improvements esphome#4642 by @Mat931
- Make fast update intervals in qmc5883l work esphome#6647 by @tronikos
- SPI and I2C for BMP390 and BMP380 esphome#6652 by @latonita (new-integration) (breaking-change)
- Set
CONF_CI counter to fail on 3 or more definitions esphome#6668 by @jesserockz - [core] Rename ALWAYS_INLINE to ESPHOME_ALWAYS_INLINE esphome#6636 by @tomaszduda23
- print task name if logger is called from other than main thread esphome#6630 by @tomaszduda23
- Fix recent definitions into
defines.hesphome#6667 by @edwardtfn - Add fast update to HMC5883L esphome#6669 by @mkmer
- Minor tidy up of BME280 code esphome#6672 by @latonita
- External components: optional configurable path for git source esphome#6677 by @twasilczyk
- Use clang-apply-replacements when clang-apply-replacements-14 does not exist esphome#6684 by @Links2004
- fix conflict with EMPTY macro in zephyr esphome#6679 by @tomaszduda23
- Bump actions/checkout from 4.1.1 to 4.1.5 esphome#6685 by @dependabot[bot]
- Fix Datetime-Datetime compiler error esphome#6686 by @RFDarter
- Bump esphome/ESPAsyncWebServer-esphome to 3.2.0 esphome#6687 by @jesserockz
- fix date_time validation esphome#6688 by @RFDarter
- proceed if AP mode is set up esphome#6631 by @ssieb
- Migrate some constants to core code esphome#6692 by @clydebarrow
- Consolidate test files where all tests are identical esphome#6690 by @kbx81
- Make
pulse_meterPULSE filter report the pulse as soon as it can esphome#6014 by @TrentHouliston - Update webserver local assets to 20240507-231331 esphome#6696 by @esphomebot
- [github] Upgrade to actions/[upload,download]-artifact v4 esphome#6698 by @jesserockz
- [nextion] Replace flags to
USE_ARDUINOesphome#6700 by @edwardtfn - [remote_receiver, remote_transmitter] Improve error messages on the ESP32 esphome#6701 by @Mat931
- [ethernet] Use constexpr instead of inline define for KSZ80XX_PC2R_REG_ADDR esphome#6705 by @jesserockz
- Add PHY register writes to enable external clock on Ethernet with RTL8201 esphome#6704 by @heythisisnate
- Bump recommended ESP-IDF to 4.4.7 esphome#6703 by @bdraco
- [core] Ensure that a generated ID name is distinct from its type. esphome#6706 by @clydebarrow
- [color] Fix crash when hex color parses as int, improve error reporting. esphome#6707 by @clydebarrow
- [github] Fix digest artifact name esphome#6710 by @jesserockz
- fix(ltr390): stuck ALS values when configured for ALS+UV readings esphome#6723 by @CodeInPolish
- Set FEATURE_API_AUDIO flag also if the speaker component is not used esphome#6712 by @gnumpi
- Bump platformio from 6.1.13 to 6.1.15 esphome#6634 by @dependabot[bot]
- Fix ESPHOME_PROJECT_VERSION_30 esphome#6731 by @jesserockz
- Voice-Assistant: Start-order change for VAD disabled: start va-pipeline when microphon… esphome#6391 by @gnumpi
- Add ANNOUNCING state to media_player. esphome#6691 by @gnumpi
- [adc] Fix 11db deprecation warning esphome#6749 by @jesserockz (notable-change)