ESPHome 2023.12.0 - 20th December 2023
Graphical Menu

Following on from the previous LCD Menu that was only for LCD displays, there is now a new Graphical Display Menu that can be used with any graphical/pixel based display.
Pin Reuse validation

There is a new validation performed on configurations to ensure that pins are not reused unintentionally. This is a common source of issues and generally a pin does not need to be reused across multiple components in a single configuration. Pins should only be reused in a very limited set of circumstances and seeing the error will generally mean that you need to reorganise your configuration to not reuse the pins. The error can be bypassed by specifically adding another config item to all of the duplicate pin definitions. See the Pin Schema for details.
Touchscreen internal changes

The touchscreen compoenent code has had a big overhaul which breaks any external components or open PRs for new touchscreens. See esphome#4596 for details if this affects you.
MCP3008 breaking changes

The MCP3008 has has a restructure of the code and at the same time the default update interval has been changed to 60 seconds, the units, device class and state class default have also been set to sane defaults expected for a voltage sensor.
Release 2023.12.1 - December 21

- Fix replaced - in allowed characters during object_id sanitizing esphome#5983 by @jesserockz
Release 2023.12.2 - December 22

- ESP32-S3 and ESP-IDF don’t play well with USB_CDC and need USB_SERIAL_JTAG esphome#5929 by @clydebarrow
- Update libtiff6 esphome#5985 by @cvandesande
- Override GPIOs 12 and 13 on the airm2m (LuatOS) board esphome#5982 by @davidmonro
- Add workaround for crash in Arduino 2.0.9 when CDC is configured esphome#5987 by @kbx81
- web_server.py: return empty content when file doesn’t exist esphome#5980 by @jessicah
Release 2023.12.3 - December 22

- Fix unexpected disconnects when outgoing buffer is full during keepalive esphome#5988 by @bdraco
- Regenerate api_pb2 after manual changes were added incorrectly in #5732 esphome#5990 by @jesserockz
- Improved sensor readings in htu21d component. esphome#5839 by @matzman666
- Fix dashboard logs when api is disabled and using MQTT esphome#5992 by @bdraco
- Fix broken configs with non-existent components esphome#5993 by @jesserockz
Release 2023.12.4 - December 25

- dashboard: Only ping when polling is active esphome#6001 by @bdraco
- tt21100: restore init read esphome#6008 by @nielsnl68
- dashboard: Fix file writes on Windows esphome#6013 by @bdraco
- Display: fix class inherence in Python script esphome#6009 by @nielsnl68
Release 2023.12.5 - December 25

- Fix docker builds esphome#6012 by @bdraco
Release 2023.12.6 - January 15

- Fix device not requesting Home Assistant time at the update interval esphome#6022 by @bdraco
- fix compilation error for libretiny esphome#6064 by @tomaszduda23
- pylontech: Fix parsing error with US2000 esphome#6061 by @functionpointer
- Support full (>460 char) dumps of Pronto IR commands esphome#6040 by @rpaskowitz
- ESP32-C3 USB_CDC fixes esphome#6069 by @kbx81
- Improv Serial – don’t wait for incoming bytes esphome#6089 by @kbx81
- add STATE_CLASS_TOTAL_INCREASING to bl0940 and bl0942 esphome#6090 by @tomaszduda23
- Fallback to pure-python loader for better error when YAML loading fails esphome#6081 by @bdraco
Release 2023.12.7 - January 17

- Fix RMT timing clock base esphome#6101 by @majkrzak
- Create RingBuffer for VoiceAssistant esphome#6102 by @jesserockz
- Inkplate6: Fix crash with initial set of greyscale esphome#6038 by @clydebarrow
Release 2023.12.8 - January 19

- Let show_*_page actions depend on “Display” esphome#6092 by @guillempages
- Fix some Voice Assistant bugs esphome#6121 by @jesserockz
Release 2023.12.9 - January 22

- fix sen5x negative temperature esphome#6082 by @ssieb
- negative values for all DHT22 variants esphome#6074 by @ssieb
- fix negative temperature for pmsx003 esphome#6083 by @ssieb
- fix: negative temperatures on PMS5003T sensors esphome#6100 by @aschmitz
Full list of changes

New Components

- Add ENS160 Sensor esphome#4243 by @vincentscode (new-integration)
- Create GT911 Touchscreen component esphome#4027 by @jesserockz (new-integration)
- Pylontech integration (solar battery bank) esphome#4688 by @functionpointer (new-integration)
- Add Chamberlain/HomEntry HE60R garage door opener esphome#5834 by @clydebarrow (new-integration)
- Add graphical display menu esphome#4105 by @MrMDavidson (new-integration)
- Updating the touchscreen interface structure esphome#4596 by @nielsnl68 (new-integration) (breaking-change)
- Added the A02YYUW distance sensor esphome#5729 by @TH-Braemer (new-integration)
- Add support for PN7160 esphome#5486 by @kbx81 (new-integration)
- Add support for PN7150 esphome#5487 by @kbx81 (new-integration)
Breaking Changes

- Add proper support for SH1107 to SSD1306 component esphome#5166 by @nikitakuklev (breaking-change)
- sen5x fix temperature compensation and gas tuning esphome#4901 by @matt7aylor (breaking-change)
- Ensure names containing characters other than
a-z
A-Z
0-9
or_
are unique esphome#5810 by @bdraco (breaking-change) - mcp3008: Tidy up and fix auto load bug esphome#5842 by @jesserockz (breaking-change)
- Nextion colors parameters esphome#5699 by @edwardtfn (breaking-change)
- Checks for pins used in multiple places esphome#5666 by @clydebarrow (breaking-change)
- Updating the touchscreen interface structure esphome#4596 by @nielsnl68 (new-integration) (breaking-change)
Beta Changes

- Allow use of CDC/JTAG loggers on esp32 variants with Arduino esphome#4658 by @jesserockz
- [Logger] ESP32 S3 serial logger esphome#4853 by @Fabian-Schmidt
- Support toggle action for template cover esphome#5917 by @jochenvg
- Fix SplitDefault with variants esphome#5928 by @jesserockz
- Update ENS160 TVOC device_class and AQI units to match required by HA esphome#5939 by @mrtoy-me
- Bump zeroconf from 0.128.4 to 0.130.0 esphome#5950 by @dependabot[bot]
- UARTComponent inline doc esphome#5930 by @edwardtfn
- Fix - Tuya Fan - Allow integer speed datapoint esphome#5948 by @cram42
- i2s_audio: Set player_task’s prio to 1 esphome#5945 by @gaaf
- esp32_camera: Set framebuffer task prio to 1 esphome#5943 by @gaaf
- web_server_idf: fix call with hardcoded http code esphome#5942 by @dentra
- Revert pure virtual functions in UART component from #5920 esphome#5932 by @DrCoolzic
- Use the correct UART/
Serial
when CDC is enabled esphome#5957 by @kbx81 - rename
set_raw_touch_position_
toadd_raw_touch_position_
esphome#5962 by @nielsnl68 - Fix build issue with UART component when building with Arduino and CDC esphome#5964 by @kbx81
- Fix
I2CBus::write()
bug and add i2c documentation esphome#5947 by @DrCoolzic - Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 esphome#5961 by @mathieu-mp
- Speed up writing protobuf strings/bytes esphome#5828 by @bdraco
- Bump aioesphomeapi to 21.0.1 esphome#5969 by @bdraco
- image: allow the image to by auto-loaded by animation esphome#5139 by @ayufan
- Fix pin reuse error with pin expanders esphome#5973 by @jesserockz
All changes

- Nextion support to
esp-idf
esphome#5667 by @edwardtfn - fix pin range for xl9535 esphome#5722 by @ssieb
- Bump black from 23.10.1 to 23.11.0 esphome#5702 by @dependabot[bot]
- Speed up YAML by using YAML C loader when available esphome#5721 by @bdraco
- Bump Arduino Pico Framework to 3.6.0 and Platform to 1.10.0 esphome#5731 by @HeMan
- Correct url for Arduino platform esphome#5744 by @HeMan
- remote_base: added helper class and schemas esphome#5169 by @dudanov
- Bump zeroconf from 0.123.0 to 0.126.0 esphome#5748 by @dependabot[bot]
- Make precommit checks happy esphome#5751 by @HeMan
- dashboard: Use mdns cache when available if device connection is OTA esphome#5724 by @bdraco
- Speed up OTAs esphome#5720 by @bdraco
- dashboard: convert ping thread to use asyncio esphome#5749 by @bdraco
- dashboard: Break apart dashboard into separate modules esphome#5764 by @bdraco
- dashboard: split dashboard web server code into its own module esphome#5770 by @bdraco
- Bump zeroconf from 0.126.0 to 0.127.0 esphome#5768 by @dependabot[bot]
- dashboard: fix subprocesses blocking the event loop esphome#5772 by @bdraco
- dashboard: use fastest available yaml loader in the dashboard esphome#5771 by @bdraco
- dashboard: Centralize dashboard entries into DashboardEntries class esphome#5774 by @bdraco
- Pass the name to the log runner when available esphome#5759 by @bdraco
- Add proper support for SH1107 to SSD1306 component esphome#5166 by @nikitakuklev (breaking-change)
- Split release workflow jobs per system arch esphome#5723 by @jesserockz
- Bump aioesphomeapi to 18.5.3 esphome#5785 by @bdraco
- Refactor log api client to let aioesphomeapi manage zeroconf esphome#5783 by @bdraco
- dashboard: Add support for firing events esphome#5775 by @bdraco
- dashboard: Ensure disk I/O happens in the executor esphome#5789 by @bdraco
- dashboard: Add lookup by name to entries esphome#5790 by @bdraco
- Refactor StorageJSON to keep loaded_integrations a set until its converted to JSON esphome#5793 by @bdraco
- wifi: Don’t build SoftAP/DHCPS support unless ‘ap’ is in config. esphome#5649 by @kpfleming
- ssd1306: handle V_COM differently for SH1106 esphome#5796 by @papillon81
- Bump aioesphomeapi from 18.5.3 to 18.5.5 esphome#5804 by @dependabot[bot]
- dashboard: Fix online status when api is disabled esphome#5792 by @bdraco
- Haier component updated to support new protocol variations esphome#5713 by @paveldn
- sen5x fix temperature compensation and gas tuning esphome#4901 by @matt7aylor (breaking-change)
- Add startup_delay to interval. esphome#5327 by @clydebarrow
- Pillow: bump to 10.1.0 esphome#5815 by @hostcc
- dashboard: set nodelay on the websocket to avoid a delay seeing log messages esphome#5802 by @bdraco
- Bump aioesphomeapi from 18.5.5 to 18.5.7 esphome#5822 by @dependabot[bot]
- Ensure names containing characters other than
a-z
A-Z
0-9
or_
are unique esphome#5810 by @bdraco (breaking-change) - Add ENS160 Sensor esphome#4243 by @vincentscode (new-integration)
- Bump actions/github-script from 6.4.1 to 7.0.1 esphome#5803 by @dependabot[bot]
- Run all tests when local testing. esphome#5717 by @Fabian-Schmidt
- Bump aioesphomeapi from 18.5.7 to 18.5.9 esphome#5830 by @dependabot[bot]
- Allow split uart pin inversion for ESP-IDF esphome#5831 by @clydebarrow
- Add
is_detected()
for Nextion displays esphome#5825 by @edwardtfn - Pull PollingComponent up from individual display drivers to Display. esphome#5444 by @clydebarrow
- Implement variable length single word SPI writes. esphome#5678 by @clydebarrow
- Add ’enable_on_boot’ feature to power_supply esphome#5826 by @clydebarrow
- mcp3008: Tidy up and fix auto load bug esphome#5842 by @jesserockz (breaking-change)
- Create GT911 Touchscreen component esphome#4027 by @jesserockz (new-integration)
- Bump aioesphomeapi from 18.5.9 to 19.1.2 esphome#5844 by @dependabot[bot]
- Nextion - Standardizing log messages esphome#5837 by @edwardtfn
- dashboard: Small cleanups to dashboard esphome#5841 by @bdraco
- Pylontech integration (solar battery bank) esphome#4688 by @functionpointer (new-integration)
- Implement deep sleep and clear screen on Waveshare 7.5in B V3 esphome#5239 by @lucasprim
- Fix ESP-IDF uart initialisation sequence to match Espressif docs. esphome#5838 by @clydebarrow
- Nextion - Align strings on
dump_config
esphome#5824 by @edwardtfn - Speed up (and fix) ili9xxx display component. esphome#5406 by @clydebarrow
- Fix regex for ‘byte’ custom CI check esphome#5851 by @jesserockz
- Pass through additional arguments to create number esphome#5849 by @clydebarrow
- Nextion
on_touch
trigger esphome#5833 by @edwardtfn - Nextion colors parameters esphome#5699 by @edwardtfn (breaking-change)
- dashboard: fix supervisor auth doing I/O in the event loop esphome#5807 by @bdraco
- Improve reliability of Nextion TFT uploads (Arduino) esphome#5683 by @edwardtfn
- Add Pro Check Universal sensor support. esphome#5798 by @spbrogan
- Bump aioesphomeapi from 19.1.2 to 19.1.7 esphome#5859 by @dependabot[bot]
- Pn532 non blocking scan esphome#5191 by @sharkydog
- Add Chamberlain/HomEntry HE60R garage door opener esphome#5834 by @clydebarrow (new-integration)
- Bump aioesphomeapi from 19.1.7 to 19.2.1 esphome#5863 by @dependabot[bot]
- Bump tornado from 6.3.3 to 6.4 esphome#5862 by @dependabot[bot]
- add missing ifdef to pvvx_mithermometer esphome#5880 by @ssieb
- Fix un-initialized version string esphome#5865 by @descipher
- fix a01nyub data reading esphome#5882 by @ssieb
- Bump pytest-asyncio from 0.21.1 to 0.23.2 esphome#5888 by @dependabot[bot]
- Bump zeroconf from 0.127.0 to 0.128.0 esphome#5889 by @dependabot[bot]
- Bump pylint from 2.17.6 to 3.0.2 esphome#5592 by @dependabot[bot]
- Bump voluptuous from 0.13.1 to 0.14.1 esphome#5784 by @dependabot[bot]
- Security improvement: Support wifi ap_timeout=0s (disable) esphome#5887 by @fornellas
- Suppress full config output of “esphome config” when -q option is used. esphome#5852 by @clydebarrow
- Checks for pins used in multiple places esphome#5666 by @clydebarrow (breaking-change)
- Nextion support to idf with
cinttypes
esphome#5876 by @edwardtfn - Fix test4.yaml after #5666 esphome#5890 by @kbx81
- Fix template text component length check esphome#5881 by @fornellas
- RC522 - Fix error counter error esphome#5873 by @kbx81
- feat(packages): support removing components esphome#5821 by @TMaYaD
- dashboard: Add some basic tests for the dashboard esphome#5870 by @bdraco
- Nextion exit reparse mode on startup esphome#5868 by @edwardtfn
- Bump aioesphomeapi from 19.2.1 to 19.3.0 esphome#5895 by @dependabot[bot]
- Add framework info to Nextion log tags esphome#5864 by @edwardtfn
- Handle case where using enetity level name: None with MQTT esphome#5897 by @mtl010957
- Bump actions/setup-python from 4.7.1 to 5.0.0 esphome#5896 by @dependabot[bot]
- Bump zeroconf from 0.128.0 to 0.128.4 esphome#5906 by @dependabot[bot]
- Fix 18 bit displays. esphome#5908 by @clydebarrow
- fix RGBW Mode on RP2040 esphome#5907 by @firegore
- Add graphical display menu esphome#4105 by @MrMDavidson (new-integration)
- Added on_image callback to ESP32 Cam esphome#4860 by @freekode
- Bump actions/stale from 8.0.0 to 9.0.0 esphome#5899 by @dependabot[bot]
- Bump pylint from 3.0.2 to 3.0.3 esphome#5905 by @dependabot[bot]
- Bump frenck/action-yamllint from 1.4.1 to 1.4.2 esphome#5716 by @dependabot[bot]
- Bump dessant/lock-threads from 4.0.1 to 5.0.1 esphome#5820 by @dependabot[bot]
- Add support for fan preset modes esphome#5694 by @mill1000
- Fix uninitialized climate target temperature esphome#5795 by @ckoca
- Bump aioesphomeapi from 19.3.0 to 20.0.0 esphome#5911 by @dependabot[bot]
- Bump black from 23.11.0 to 23.12.0 esphome#5912 by @dependabot[bot]
- Updating the touchscreen interface structure esphome#4596 by @nielsnl68 (new-integration) (breaking-change)
- Added the A02YYUW distance sensor esphome#5729 by @TH-Braemer (new-integration)
- Fix AHT10 / AHT20 communication esphome#5198 by @flaminggoat
- Fix crash when handling pin_check error esphome#5915 by @clydebarrow
- Bump aioesphomeapi to 20.1.0 esphome#5914 by @bdraco
- Remove setpoint-change from error when calculating derivative in pid controller esphome#4737 by @Newspaperman57
- ir_transmitter: add support for repeated commands in NEC protocol esphome#4995 by @ngilles
- BP1658CJ - Fix timing for all platforms, now consistent with other drivers esphome#5799 by @Cossid
- Add humidity support to climate esphome#5732 by @kroimon
- Remove lingering note esphome#5916 by @jesserockz
- Fix typo added in esp32 post_build filename esphome#5918 by @jesserockz
- Copy esp32 custom partition files to build folder esphome#5919 by @jesserockz
- UART change at runtime esphome#5909 by @edwardtfn
- Bump aioesphomeapi from 20.1.0 to 21.0.0 esphome#5922 by @dependabot[bot]
- Fix the initial run of lambda light effects esphome#5921 by @smithjacobj
- Exposes
load_settings
toUARTComponent
class esphome#5920 by @edwardtfn - Add support for PN7160 esphome#5486 by @kbx81 (new-integration)
- Add support for PN7150 esphome#5487 by @kbx81 (new-integration)
- Allow use of CDC/JTAG loggers on esp32 variants with Arduino esphome#4658 by @jesserockz
- [Logger] ESP32 S3 serial logger esphome#4853 by @Fabian-Schmidt
- Support toggle action for template cover esphome#5917 by @jochenvg
- Fix SplitDefault with variants esphome#5928 by @jesserockz
- Update ENS160 TVOC device_class and AQI units to match required by HA esphome#5939 by @mrtoy-me
- Bump zeroconf from 0.128.4 to 0.130.0 esphome#5950 by @dependabot[bot]
- UARTComponent inline doc esphome#5930 by @edwardtfn
- Fix - Tuya Fan - Allow integer speed datapoint esphome#5948 by @cram42
- i2s_audio: Set player_task’s prio to 1 esphome#5945 by @gaaf
- esp32_camera: Set framebuffer task prio to 1 esphome#5943 by @gaaf
- web_server_idf: fix call with hardcoded http code esphome#5942 by @dentra
- Revert pure virtual functions in UART component from #5920 esphome#5932 by @DrCoolzic
- Use the correct UART/
Serial
when CDC is enabled esphome#5957 by @kbx81 - rename
set_raw_touch_position_
toadd_raw_touch_position_
esphome#5962 by @nielsnl68 - Fix build issue with UART component when building with Arduino and CDC esphome#5964 by @kbx81
- Fix I2CBus::write() bug and add i2c documentation esphome#5947 by @DrCoolzic
- Add deep sleep between updates for waveshare epaper 1.54in and 1.54inv2 esphome#5961 by @mathieu-mp
- Speed up writing protobuf strings/bytes esphome#5828 by @bdraco
- Bump aioesphomeapi to 21.0.1 esphome#5969 by @bdraco
- image: allow the image to by auto-loaded by animation esphome#5139 by @ayufan
- Fix pin reuse error with pin expanders esphome#5973 by @jesserockz
Past Changelogs

- 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