Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
a01ba93
Bump version to 2026.2.0-dev
swoboda1337 Jan 14, 2026
c8aee5f
Merge branch 'beta' into next
swoboda1337 Jan 14, 2026
4c2e2d8
Update changelog for 2026.1.0 (#5919)
bdraco Jan 14, 2026
54a99bd
Add OTA update callout to 2026.1 release notes (#5920)
kbx81 Jan 14, 2026
64421b2
Update web_server and captive_portal compression default to gzip (#5924)
bdraco Jan 15, 2026
05d133b
[mipi_dsi] add Guition JC8012P4A1 (#5922)
remcom Jan 16, 2026
1accab6
[select] Document `select.is` condition (#5928)
clydebarrow Jan 16, 2026
0ecd066
[hub75] Update scan enum values (#5923)
stuartparmenter Jan 17, 2026
a4a53b1
Fix Made for ESPHome logo links and add missing PNGs (#5917)
swoboda1337 Jan 14, 2026
aee5e18
Fix unresolved image warnings and fail build on missing images (#5918)
swoboda1337 Jan 17, 2026
b6af5cd
Bump version to 2026.1.0b2
swoboda1337 Jan 17, 2026
dbc1b17
Replace "name" key for display color with "id" key in docs (#5927)
dschafer Jan 16, 2026
a61e949
Update changelog for 2025.12.7
swoboda1337 Jan 17, 2026
1bad0db
Update supporters for 2025.12.7
swoboda1337 Jan 17, 2026
7e2a59e
Update changelog for 2026.1.0b2
swoboda1337 Jan 15, 2026
2a0ff5b
Merge branch 'beta' into next
swoboda1337 Jan 17, 2026
c7391da
Add reference to water heater template documentation (#5953)
lboue Jan 20, 2026
d480060
[mipi_spi] Add docs for CYD variants (#5947)
clydebarrow Jan 20, 2026
ae37686
[status] Document update_interval option (#5943)
bdraco Jan 20, 2026
4e016fc
[debug] Document min_free sensor and ESP32 fragmentation support (#5921)
bdraco Jan 20, 2026
753b060
[water_heater] Fix incorrect Home Assistant integration and target_te…
bdraco Jan 20, 2026
483ccec
Merge branch 'beta' into next
swoboda1337 Jan 20, 2026
a47e56f
Describe the max_delta filter (#5807)
polyfloyd Jan 20, 2026
bd332d1
Merge branch 'current' into next
swoboda1337 Jan 21, 2026
2e2e160
[heatpumpir] Add ESP-IDF framework support to docs (#5959)
swoboda1337 Jan 21, 2026
f79591f
[nextion] Add configurable startup and queue timeout constants (#5454)
edwardtfn Jan 22, 2026
823e08d
[mipi_dsi] add M5Stack-Tab5-V2 model (#5677)
miniskipper Jan 22, 2026
0032448
[bthome_mithermometer] add encrypted beacon support (#5961)
nagyrobi Jan 22, 2026
a3247d8
[sensor] Update clamp filter docs (#5966)
clydebarrow Jan 22, 2026
676f1c0
Add Claude Code PR workflow skill (#5930)
swoboda1337 Jan 21, 2026
08cc589
Fix example (#5963)
kbx81 Jan 21, 2026
32698fb
[esp32] `esp-idf` is now the default for all variants (#5960)
ximex Jan 21, 2026
dea23c5
Remove media players that do not support Sendspin (#5965)
balloob Jan 22, 2026
8bbb257
Merge branch 'current' into next
swoboda1337 Jan 22, 2026
35a4992
Import bmp581 changes back from incorrect branch state (#5914)
danielkent-net Jan 24, 2026
29c791c
initial creation for sy6970 component (#5935)
linkedupbits Jan 24, 2026
e338b01
Add Dew Point Sensor Component to DIY examples (#5964)
iret33 Jan 24, 2026
18ffa6a
docs(scd4x): fix indent in yaml example (#5967)
hashier Jan 24, 2026
35b5979
[waveshare_epaper] Update docs for WeAct 3-color e-paper displays
pgolawsk Jan 25, 2026
c5c621e
Clarifications added
pgolawsk Jan 25, 2026
7320619
docs: Add WeAct 3-color e-paper displays to epaper_spi documentation
pgolawsk Feb 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 6 additions & 17 deletions content/changelog/2026.1.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -522,6 +522,8 @@ For detailed migration guides and API documentation, see the [ESPHome Developers

## Full list of changes

The lists below are grouped by tag and may contain duplicates across sections.

### New Features

- [esp32] Add OTA rollback support [esphome#12460](https://github.com/esphome/esphome/pull/12460) by [@swoboda1337](https://github.com/swoboda1337) (new-feature)
Expand All @@ -533,7 +535,7 @@ For detailed migration guides and API documentation, see the [ESPHome Developers
- [water_heater] (1/4) Implement API/Core/component for new water_heater component [esphome#12498](https://github.com/esphome/esphome/pull/12498) by [@dhoeben](https://github.com/dhoeben) (new-component) (new-feature)
- Add Event Component to UART [esphome#11765](https://github.com/esphome/esphome/pull/11765) by [@eoasmxd](https://github.com/eoasmxd) (new-feature) (new-platform)
- [bme68x_bsec2] add `id:` to allow extending [esphome#12649](https://github.com/esphome/esphome/pull/12649) by [@ssieb](https://github.com/ssieb) (new-feature)
- Add BTHome advertisments parsing to Xiaomi Mijia BLE Sensors [esphome#12635](https://github.com/esphome/esphome/pull/12635) by [@nagyrobi](https://github.com/nagyrobi) (new-component) (new-feature) (new-platform)
- Add BTHome advertisements parsing to Xiaomi Mijia BLE Sensors [esphome#12635](https://github.com/esphome/esphome/pull/12635) by [@nagyrobi](https://github.com/nagyrobi) (new-component) (new-feature) (new-platform)
- [spi] Allow any achievable data rate [esphome#12753](https://github.com/esphome/esphome/pull/12753) by [@tuct](https://github.com/tuct) (new-feature)
- [mhz19] Make detection range configurable [esphome#12677](https://github.com/esphome/esphome/pull/12677) by [@jvanderneutstulen](https://github.com/jvanderneutstulen) (new-feature)
- [water_heater] (2/4) Implement template for new water_heater component [esphome#12516](https://github.com/esphome/esphome/pull/12516) by [@dhoeben](https://github.com/dhoeben) (new-feature)
Expand Down Expand Up @@ -567,7 +569,7 @@ For detailed migration guides and API documentation, see the [ESPHome Developers
- Add hmac-sha256 support [esphome#12437](https://github.com/esphome/esphome/pull/12437) by [@dwmw2](https://github.com/dwmw2) (new-component)
- [aqi, hm3301, pmsx003] Air Quality Index improvements [esphome#12203](https://github.com/esphome/esphome/pull/12203) by [@jasstrong](https://github.com/jasstrong) (new-component) (new-feature) (breaking-change)
- [water_heater] (1/4) Implement API/Core/component for new water_heater component [esphome#12498](https://github.com/esphome/esphome/pull/12498) by [@dhoeben](https://github.com/dhoeben) (new-component) (new-feature)
- Add BTHome advertisments parsing to Xiaomi Mijia BLE Sensors [esphome#12635](https://github.com/esphome/esphome/pull/12635) by [@nagyrobi](https://github.com/nagyrobi) (new-component) (new-feature) (new-platform)
- Add BTHome advertisements parsing to Xiaomi Mijia BLE Sensors [esphome#12635](https://github.com/esphome/esphome/pull/12635) by [@nagyrobi](https://github.com/nagyrobi) (new-component) (new-feature) (new-platform)
- [nrf52,zigbee] add support for binary_input [esphome#11535](https://github.com/esphome/esphome/pull/11535) by [@tomaszduda23](https://github.com/tomaszduda23) (new-component) (new-feature)
- [rd03d] Add Ai-Thinker RD-03D mmWave radar component [esphome#12764](https://github.com/esphome/esphome/pull/12764) by [@jasstrong](https://github.com/jasstrong) (new-component) (new-feature) (new-platform)
- [infrared] Implement experimental API/Core/component for new component/entity type [esphome#13129](https://github.com/esphome/esphome/pull/13129) by [@kbx81](https://github.com/kbx81) (new-component)
Expand All @@ -576,7 +578,7 @@ For detailed migration guides and API documentation, see the [ESPHome Developers
### New Platforms

- Add Event Component to UART [esphome#11765](https://github.com/esphome/esphome/pull/11765) by [@eoasmxd](https://github.com/eoasmxd) (new-feature) (new-platform)
- Add BTHome advertisments parsing to Xiaomi Mijia BLE Sensors [esphome#12635](https://github.com/esphome/esphome/pull/12635) by [@nagyrobi](https://github.com/nagyrobi) (new-component) (new-feature) (new-platform)
- Add BTHome advertisements parsing to Xiaomi Mijia BLE Sensors [esphome#12635](https://github.com/esphome/esphome/pull/12635) by [@nagyrobi](https://github.com/nagyrobi) (new-component) (new-feature) (new-platform)
- [rd03d] Add Ai-Thinker RD-03D mmWave radar component [esphome#12764](https://github.com/esphome/esphome/pull/12764) by [@jasstrong](https://github.com/jasstrong) (new-component) (new-feature) (new-platform)
- [aqi] Implement a sensor that computes AQI [esphome#12958](https://github.com/esphome/esphome/pull/12958) by [@jasstrong](https://github.com/jasstrong) (new-feature) (new-platform)

Expand Down Expand Up @@ -720,7 +722,7 @@ For detailed migration guides and API documentation, see the [ESPHome Developers
- [ethernet_info] Eliminate heap allocations in DNS text sensor [esphome#12756](https://github.com/esphome/esphome/pull/12756) by [@bdraco](https://github.com/bdraco)
- [core] Add format_hex_pretty_to buffer helper and reduce code duplication [esphome#12687](https://github.com/esphome/esphome/pull/12687) by [@bdraco](https://github.com/bdraco)
- [core] Make LockFreeQueue more widely available [esphome#12766](https://github.com/esphome/esphome/pull/12766) by [@clydebarrow](https://github.com/clydebarrow)
- Add BTHome advertisments parsing to Xiaomi Mijia BLE Sensors [esphome#12635](https://github.com/esphome/esphome/pull/12635) by [@nagyrobi](https://github.com/nagyrobi) (new-component) (new-feature) (new-platform)
- Add BTHome advertisements parsing to Xiaomi Mijia BLE Sensors [esphome#12635](https://github.com/esphome/esphome/pull/12635) by [@nagyrobi](https://github.com/nagyrobi) (new-component) (new-feature) (new-platform)
- [mipi_spi] Use stack buffer for hex formatting in verbose logging [esphome#12778](https://github.com/esphome/esphome/pull/12778) by [@bdraco](https://github.com/bdraco)
- Fix display driver fill implementations to honor clipping correctly [esphome#12808](https://github.com/esphome/esphome/pull/12808) by [@stuartparmenter](https://github.com/stuartparmenter) (breaking-change)
- [mipi_dsi] Use stack buffer for hex formatting in very verbose logging [esphome#12776](https://github.com/esphome/esphome/pull/12776) by [@bdraco](https://github.com/bdraco)
Expand Down Expand Up @@ -1117,19 +1119,6 @@ For detailed migration guides and API documentation, see the [ESPHome Developers
- [safe_mode] Detect bootloader rollback support at runtime [esphome#13230](https://github.com/esphome/esphome/pull/13230) by [@swoboda1337](https://github.com/swoboda1337)
- [qr_code] Allocate and free memory for QR code buffer [esphome#13161](https://github.com/esphome/esphome/pull/13161) by [@rootnegativ1](https://github.com/rootnegativ1)
- [web_server][captive_portal] Change default compression from Brotli to gzip [esphome#13246](https://github.com/esphome/esphome/pull/13246) by [@bdraco](https://github.com/bdraco)
- [sprinkler] Fix scheduler deprecation warnings and heap churn with FixedVector [esphome#13251](https://github.com/esphome/esphome/pull/13251) by [@bdraco](https://github.com/bdraco)
- [dallas_temp] Use const char* for set_timeout to fix deprecation warning and heap churn [esphome#13250](https://github.com/esphome/esphome/pull/13250) by [@bdraco](https://github.com/bdraco)
- [api] Fix clock conflicts when multiple clients connected to homeassistant time [esphome#13253](https://github.com/esphome/esphome/pull/13253) by [@bdraco](https://github.com/bdraco)
- [esp32_ble_client] Reduce GATT data event logging to prevent firmware update failures [esphome#13252](https://github.com/esphome/esphome/pull/13252) by [@bdraco](https://github.com/bdraco)
- [ntc, resistance] change log level to verbose [esphome#13268](https://github.com/esphome/esphome/pull/13268) by [@mrtoy-me](https://github.com/mrtoy-me)
- [hmac_sha256] Replace unsafe sprintf with format_hex_to [esphome#13290](https://github.com/esphome/esphome/pull/13290) by [@bdraco](https://github.com/bdraco)
- [hub75] Bump esp-hub75 version to 0.3.0 [esphome#13243](https://github.com/esphome/esphome/pull/13243) by [@stuartparmenter](https://github.com/stuartparmenter) (breaking-change)
- [http_request] Unable to handle chunked responses [esphome#7884](https://github.com/esphome/esphome/pull/7884) by [@HLFCode](https://github.com/HLFCode)
- [network] Fix IPAddress::str_to() to lowercase IPv6 hex digits [esphome#13325](https://github.com/esphome/esphome/pull/13325) by [@bdraco](https://github.com/bdraco)
- [api] Fix truncation of Home Assistant attributes longer than 255 characters [esphome#13348](https://github.com/esphome/esphome/pull/13348) by [@bdraco](https://github.com/bdraco)
- [core] Fix state leakage and module caching when processing multiple configurations [esphome#13368](https://github.com/esphome/esphome/pull/13368) by [@swoboda1337](https://github.com/swoboda1337)
- [x9c] Fix potentiometer unable to decrement [esphome#13382](https://github.com/esphome/esphome/pull/13382) by [@swoboda1337](https://github.com/swoboda1337)
- [wifi_info] Fix missing state when both IP+DNS or SSID+BSSID configure [esphome#13385](https://github.com/esphome/esphome/pull/13385) by [@bdraco](https://github.com/bdraco)

</details>

Expand Down
1 change: 1 addition & 0 deletions content/components/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -506,6 +506,7 @@ Sensors are organized into categories; if a given sensor fits into more than one
"Resol VBus","components/vbus","resol_deltasol_bs_plus.jpg",""
"Rotary Encoder","components/sensor/rotary_encoder","rotary_encoder.jpg",""
"SMT100","components/sensor/smt100","smt100.jpg","Moisture & Temperature"
"SY6970","components/sensor/sy6970","sy6970.jpg","Battery charge IC"
"Sound Level","components/sensor/sound_level","waveform.svg","dark-invert"
"Tuya Sensor","components/sensor/tuya","tuya.png",""
"TX20","components/sensor/tx20","tx20.jpg","Wind speed & Wind direction"
Expand Down
8 changes: 5 additions & 3 deletions content/components/binary_sensor/status.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
description: "Instructions for setting up MQTT status binary sensors."
description: "Instructions for setting up status binary sensors."
title: "Status Binary Sensor"
params:
seo:
description: Instructions for setting up MQTT status binary sensors.
description: Instructions for setting up status binary sensors.
image: server-network.svg
---

Expand All @@ -21,7 +21,9 @@ binary_sensor:

## Configuration variables

- All options from [Binary Sensor](/components/binary_sensor#config-binary_sensor). (Inverted mode is not supported)
- **update_interval** (*Optional*, {{< docref "/guides/configuration-types#time" "Time" >}}): The interval
to check the connection status. Defaults to `1s`.
- All other options from [Binary Sensor](/components/binary_sensor#config-binary_sensor). (Inverted mode is not supported)

## See Also

Expand Down
5 changes: 3 additions & 2 deletions content/components/captive_portal.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,9 @@ captive_portal:
## Configuration variables

- **compression** (*Optional*, string): The compression algorithm used for the embedded web assets.
Options are `br` (Brotli) or `gzip`. Brotli provides ~24% smaller size than gzip.
Defaults to `br`.
Options are `gzip` or `br` (Brotli). Brotli provides ~24% smaller size than gzip, but some browsers
only support Brotli over HTTPS connections. Since the captive portal is served over HTTP, gzip is recommended
for maximum compatibility. Defaults to `gzip`.

## See Also

Expand Down
2 changes: 1 addition & 1 deletion content/components/climate/climate_ir.md
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ climate:

The `heatpumpir` platform supports dozens of manufacturers and hundreds of AC units by utilising the [Arduino-HeatpumpIR library](https://github.com/ToniA/arduino-heatpumpir).

This platform compiles only under `arduino` framework or LibreTiny, and should only be used if your AC unit is not supported by any of the other (native) platforms from above. No support can be provided for Arduino-HeatpumpIR, because it is a third party library.
This platform works with the `arduino` framework and ESP-IDF (on ESP32), and should only be used if your AC unit is not supported by any of the other (native) platforms from above. No support can be provided for Arduino-HeatpumpIR, because it is a third party library.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Hyphenate compound modifier "third-party".

The phrase "third party" should be hyphenated when used as a compound modifier before a noun.

✏️ Proposed fix
-This platform works with the `arduino` framework and ESP-IDF (on ESP32), and should only be used if your AC unit is not supported by any of the other (native) platforms from above. No support can be provided for Arduino-HeatpumpIR, because it is a third party library.
+This platform works with the `arduino` framework and ESP-IDF (on ESP32), and should only be used if your AC unit is not supported by any of the other (native) platforms from above. No support can be provided for Arduino-HeatpumpIR, because it is a third-party library.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
This platform works with the `arduino` framework and ESP-IDF (on ESP32), and should only be used if your AC unit is not supported by any of the other (native) platforms from above. No support can be provided for Arduino-HeatpumpIR, because it is a third party library.
This platform works with the `arduino` framework and ESP-IDF (on ESP32), and should only be used if your AC unit is not supported by any of the other (native) platforms from above. No support can be provided for Arduino-HeatpumpIR, because it is a third-party library.
🧰 Tools
🪛 LanguageTool

[grammar] ~353-~353: Use a hyphen to join words.
Context: ...rduino-HeatpumpIR, because it is a third party library. This platform utilises t...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
In `@content/components/climate/climate_ir.md` at line 353, The phrase "third
party" in the sentence referencing Arduino-HeatpumpIR should be hyphenated as a
compound modifier; update the text that reads "No support can be provided for
Arduino-HeatpumpIR, because it is a third party library." to "No support can be
provided for Arduino-HeatpumpIR, because it is a third-party library." so the
compound modifier is correct (look for the sentence containing
"Arduino-HeatpumpIR" / "third party library").


This platform utilises the library's generic one-size-fits-all API, which might not line up perfectly with all of the supported AC units. For example, some AC units have more fan speed options than what the generic API supports.

Expand Down
14 changes: 9 additions & 5 deletions content/components/debug.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,12 @@ sensor:
- platform: debug
free:
name: "Heap Free"
fragmentation:
name: "Heap Fragmentation"
block:
name: "Heap Max Block"
min_free:
name: "Heap Min Free"
fragmentation:
name: "Heap Fragmentation"
loop_time:
name: "Loop Time"
psram:
Expand Down Expand Up @@ -76,12 +78,14 @@ sensor:

- **free** (*Optional*): Reports the free heap size in bytes. All options from [Sensor](/components/sensor).

- **block** (*Optional*): Reports the largest contiguous free RAM block on the heap in bytes. All options from [Sensor](/components/sensor).

- **min_free** (*Optional*): Reports the minimum free heap size since boot in bytes. This is useful for detecting memory leaks or high-water-mark usage. Only available on ESP32 and LibreTiny. All options from [Sensor](/components/sensor).

- **fragmentation** (*Optional*): Reports the fragmentation metric of the heap
(0% is clean, more than ~50% is not harmless). Only available on ESP8266 with Arduino 2.5.2+.
(0% is clean, more than ~50% may cause allocation failures). Available on ESP8266 with Arduino 2.5.2+ and ESP32.
All options from [Sensor](/components/sensor).

- **block** (*Optional*): Reports the largest contiguous free RAM block on the heap in bytes. All options from [Sensor](/components/sensor).

- **loop_time** (*Optional*): Reports the longest time between successive iterations of the main loop. All options from [Sensor](/components/sensor).

- **psram** (*Optional*): Reports the free PSRAM in bytes. Only available on ESP32. All options from [Sensor](/components/sensor).
Expand Down
2 changes: 2 additions & 0 deletions content/components/display/epaper_spi.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ the pins used to interface to the display to be specified.
|---------------------|--------------|----------------------------------------------------|
| Waveshare-2.13in-v3 | Waveshare | <https://www.waveshare.com/pico-epaper-2.13.htm> |
| Waveshare-4.26in | Waveshare | <https://www.waveshare.com/4.26inch-e-paper.htm> |
| WeAct-2.9in-3c | WeAct | 2.9" 3-color e-paper (128x296, SSD1683) |
| WeAct-4.2in-3c | WeAct | 4.2" 3-color e-paper (400x300, SSD1683) |

## Supported integrated display boards

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions content/components/display/mipi_dsi.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,27 @@ specified, or a custom init sequence can be provided.
| ---------------------- | ------------ | ----------------------------------------------------------------------------- |
| JC1060P470 | Guition | <https://aliexpress.com/item/1005008328088576.html> |
| JC4880P443 | Guition | <https://aliexpress.com/item/1005009618259341.html> |
| JC8012P4A1 | Guition | <https://aliexpress.com/item/1005008789890066.html> |
| M5STACK-TAB5 | M5Stack | <https://shop.m5stack.com/products/m5stack-tab5-iot-development-kit-esp32-p4> |
| M5STACK-TAB5-V2 | M5Stack | <https://shop.m5stack.com/products/m5stack-tab5-iot-development-kit-esp32-p4> |
| WAVESHARE-P4-NANO-10.1 | Waveshare | <https://www.waveshare.com/esp32-p4-nano.htm?sku=29031> |
| WAVESHARE-P4-86-PANEL | Waveshare | <https://www.waveshare.com/esp32-p4-wifi6-touch-lcd-4b.htm?sku=31570> |

> [!NOTE]
The M5Stack Tab5 has two hardware revisions with different display chips requiring different model selections.

Units manufactured before October 14, 2025 use the ILI9881C display driver with separate GT911 touch driver (use `M5STACK-TAB5`).
Units manufactured on or after that date use the integrated ST7123 display-touch driver (use `M5STACK-TAB5-V2`).

If unsure which model you have, check the sticker on the back of the device for the display driver chip name.
The label is just above the ESPressif icon. See image below for example of V2 hardware.

Selection of the wrong display driver model will cause the display to simply fail to work with no relevant logging.
Selection of the wrong touchscreen driver however will display an error message in the log output, so if in doubt,
verify the correct touchscreen driver first to accurately identify the board before configuring the display driver.

{{< img src="tab5-version-label.jpg" alt="Tab5 version label showing model identification" width="50%" class="align-center" >}}

## Configuration

```yaml
Expand Down
Loading
Loading