Skip to content

Commit 9ff5c5a

Browse files
authored
Merge pull request #5346 from esphome/bump-2025.9.0b1
2025.9.0b1
2 parents 4b10305 + 806e327 commit 9ff5c5a

33 files changed

+2084
-1490
lines changed

content/changelog/2025.9.0.md

Lines changed: 397 additions & 0 deletions
Large diffs are not rendered by default.

content/changelog/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ description: "Changelog"
33
title: "Changelog"
44
---
55

6-
{{< redirect url="/changelog/2025.8.0.html" >}}
6+
{{< redirect url="/changelog/2025.9.0.html" >}}
133 KB
Loading

content/components/_index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ Sensors are organized into categories; if a given sensor fits into more than one
323323
"ATM90E32","components/sensor/atm90e32","atm90e32.jpg","Voltage & Current & Power"
324324
"BL0906","components/sensor/bl0906","bl0906.png","Voltage & Current & Power & Energy"
325325
"BL0939","components/sensor/bl0939","bl0939.png","Voltage & Current & Power & Energy"
326-
"BL0940","components/sensor/bl0940","bl0940.png","Voltage & Current & Power"
326+
"BL0940","components/sensor/bl0940","bl0940.png","Voltage & Current & Power & Energy"
327327
"BL0942","components/sensor/bl0942","bl0942.png","Voltage & Current & Power"
328328
"CS5460A","components/sensor/cs5460a","cs5460a.png","Voltage & Current & Power"
329329
"CSE7761","components/sensor/cse7761","cse7761.svg","Voltage & Current & Power"
@@ -722,6 +722,7 @@ Often known as "tag" or "card" readers within the community.
722722
{{< imgtable >}}
723723
"Addressable Light","components/display/addressable_light","addressable_light.jpg"
724724
"MIPI DSI Displays","components/display/mipi_dsi","tab5.jpg"
725+
"MIPI RGB Displays","components/display/mipi_rgb","indicator.jpg"
725726
"MIPI SPI Displays","components/display/mipi_spi","t4-s3.jpg"
726727
"ILI9xxx","components/display/ili9xxx","ili9341.jpg"
727728
"ILI9341","components/display/ili9xxx","ili9341.svg"
@@ -730,7 +731,7 @@ Often known as "tag" or "card" readers within the community.
730731
"ILI9486","components/display/ili9xxx","ili9341.jpg"
731732
"ILI9488","components/display/ili9xxx","ili9488.svg"
732733
"WSPICOLCD","components/display/ili9xxx","ili9488.svg"
733-
"Inkplate","components/display/inkplate6","inkplate6.jpg"
734+
"Inkplate","components/display/inkplate","inkplate6.jpg"
734735
"LCD Display","components/display/lcd_display","lcd.jpg"
735736
"MAX7219 Dot Matrix","components/display/max7219digit","max7219digit.jpg"
736737
"MAX7219","components/display/max7219","max7219.jpg"
@@ -1038,6 +1039,7 @@ ESPHome to cellular networks. **Does not encompass Wi-Fi.**
10381039
## Miscellaneous Components
10391040

10401041
{{< imgtable >}}
1042+
"Camera Encoder","components/camera/camera_encoder","camera.svg","dark-invert"
10411043
"ESP32 Camera","components/esp32_camera","camera.svg","dark-invert"
10421044
"Exposure Notifications","components/exposure_notifications","exposure_notifications.png",""
10431045
"GPS","components/gps","crosshairs-gps.svg","dark-invert"

content/components/bluetooth_proxy.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,12 @@ please search for it in the [Home Assistant Integrations](https://www.home-assis
4545

4646
```yaml
4747
bluetooth_proxy:
48+
# Active connections are now enabled by default
49+
# To disable active connections (previous default behavior), use:
50+
# active: false
4851
```
4952

50-
- **active** (*Optional*, boolean): Enables proxying active connections. Defaults to `false`.
53+
- **active** (*Optional*, boolean): Enables proxying active connections. Defaults to `true`.
5154
- **cache_services** (*Optional*, boolean): Enables caching GATT services in NVS flash storage which significantly speeds up active connections. Defaults to `true` when using the ESP-IDF framework.
5255
- **connection_slots** (*Optional*, int): The maximum number of BLE connection slots to use.
5356
Each configured slot consumes ~1KB of RAM. This can only be adjusted when using
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
description: "Instructions for setting up the camera encoder component in ESPHome."
3+
title: "Camera Encoder"
4+
params:
5+
seo:
6+
description: Instructions for setting up the camera encoder component in ESPHome.
7+
image: camera.svg
8+
---
9+
10+
The ``camera_encoder`` component provides image compression support for software-based cameras or cameras without
11+
internal compression. It allows raw camera frames to be compressed into a format suitable for transmission to API
12+
clients, such as Home Assistant, which expect JPEG-compressed images.
13+
14+
It supports different encoder implementations, such as a ESP32 Camera software JPEG encoder that can be configured with
15+
options like image quality and incremental encoding. These settings make it possible to balance image
16+
quality and performance depending on the use case.
17+
18+
{{< note >}}
19+
The default software JPEG encoder enables devices like the ESP32-S3 to stream images.
20+
It is primarily intended for smallar images due to limited processing power and memory,
21+
and supports only devices from the ESP32 family.
22+
{{< /note >}}
23+
24+
```yaml
25+
# Example configuration entry
26+
camera_encoder:
27+
```
28+
29+
## Configuration variables
30+
31+
- **type** (*Optional*): ``esp32_camera``
32+
33+
## esp32_camera Options
34+
35+
- **quality** (*Optional*, int): Sets JPEG compression quality.
36+
Valid values range from ``1`` (lowest quality, highest compression) to ``100`` (best quality, least compression). Defaults: ``80``.
37+
38+
- **buffer_size** (*Optional*, int): Initial size of the output buffer in bytes, used to store the JPEG-encoded image data.
39+
- Minimum: 1024 bytes
40+
- Maximum: 2097152 bytes (2 MB), sufficient for ESP32-S3 and ESP32-P4
41+
- Default: ``4096``.
42+
43+
- **buffer_expand_size** (*Optional*, int): Number of bytes to expand the output buffer if it is too small to hold the JPEG-encoded image. A value of ``0`` disables expansion.
44+
- Maximum: 2097152 bytes (2 MB), sufficient for ESP32-S3 and ESP32-P4
45+
- Default: ``1024``.
46+
47+
## See Also
48+
49+
- {{< apiref "camera/encoder.h" "camera/encoder.h" >}}
50+
- {{< apiref "camera_encoder/esp32_camera_jpeg_encoder.h" "camera_encoder/esp32_camera_jpeg_encoder.h" >}}

content/components/climate/thermostat.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -216,12 +216,6 @@ climate actions. Instead, they are climate *modes*. These [actions](#config-acti
216216
in that they could be used, for example, to toggle a group of LEDs on and/or off to provide a visual
217217
indication of the current climate mode.
218218

219-
- **auto_mode** (*Optional*, [Action](#config-action)): The action to call when
220-
the climate device is placed into "auto" mode (it may both cool and heat as required).
221-
222-
- **off_mode** (*Optional*, [Action](#config-action)): The action to call when
223-
the climate device is placed into "off" mode (it is completely disabled).
224-
225219
- **heat_mode** (*Optional*, [Action](#config-action)): The action to call when
226220
the climate device is placed into heat mode (it may heat as required, but not cool).
227221

@@ -232,8 +226,20 @@ indication of the current climate mode.
232226
the climate device is placed into dry mode (for dehumidification).
233227

234228
- **fan_only_mode** (*Optional*, [Action](#config-action)): The action to call when
235-
the climate device is placed into fan only mode (it may not heat or cool, but will activate
236-
its fan as needed based on the upper target temperature value).
229+
the climate device is placed into fan-only mode (it may not heat or cool, but will activate
230+
its fan either immediately or, when `fan_only_cooling` is `true`, as needed based on the upper
231+
target temperature value).
232+
233+
- **heat_cool_mode** (*Optional*, [Action](#config-action)): The action to call when
234+
the climate device is placed into "heat/cool" mode (it may both cool and heat as required).
235+
236+
- **auto_mode** (*Optional*, [Action](#config-action)): The action to call when
237+
the climate device is placed into "auto" mode (it may both cool and heat as required). This mode is
238+
different from `heat_cool_mode` (above) in that it takes control of the set points away from the user;
239+
it's generally intended for exclusive use by automations.
240+
241+
- **off_mode** (*Optional*, [Action](#config-action)): The action to call when
242+
the climate device is placed into "off" mode (it is completely disabled).
237243

238244
**The above actions are not to be used to activate cooling or heating devices!**
239245
See the previous section for those.

content/components/display/_index.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ params:
77
image: folder-open.svg
88
---
99

10-
The `display` component houses ESPHome's powerful rendering and display
11-
engine. Fundamentally, there are these types of displays:
10+
The `display` component houses ESPHome's graphical rendering and display
11+
engine. It caters for a wide range of different display types, from simple character displays to
12+
graphical displays with fully addressable pixels.
1213

1314
- Character displays like {{< docref "max7219" "7-Segment displays" >}} or
1415
{{< docref "lcd_display" "LCD displays" >}}.
1516

1617
- Serial displays like {{< docref "nextion/" >}} that have their own processors for graphics rendering.
17-
- Graphical displays with fully addressable pixels, like {{< docref "waveshare_epaper" "E-Paper" >}},
18-
{{< docref "ssd1306" "OLED" >}} or {{< docref "ili9xxx" "TFT" >}} displays.
18+
- Graphical displays with fully addressable pixels, such as
19+
{{< docref "mipi_spi" "SPI interfaced LCDs" >}},
20+
{{< docref "waveshare_epaper" "E-Paper" >}},
21+
and {{< docref "ssd1306" "OLED" >}}.
1922

2023
For graphical displays, which offer the greatest flexibility, there are two options for displaying content:
2124

@@ -587,7 +590,7 @@ display:
587590
- **from** (*Optional*, [ID](#config-id)): A page id. If set the automation is only triggered if changing from this page. Defaults to all pages.
588591
- **to** (*Optional*, [ID](#config-id)): A page id. If set the automation is only triggered if changing to this page. Defaults to all pages.
589592

590-
Additionally the old page will be given as the variable `from` and the new one as the variable `to`.
593+
Additionally, the old page will be given as the variable `from` and the new one as the variable `to`.
591594

592595
### Troubleshooting
593596

@@ -619,7 +622,10 @@ For displays in 8 bit mode you will see distinct color blocks rather than a smoo
619622
### See Also
620623

621624
- {{< apiref "display/display_buffer.h" "display/display_buffer.h" >}}
622-
- {{< docref "/components/lvgl/index" "LVGL" >}}
625+
- {{< docref "/components/lvgl/index" >}}
626+
- {{< docref "/components/display/mipi_spi" >}}
627+
- {{< docref "/components/display/mipi_rgb" >}}
628+
- {{< docref "/components/display/mipi_dsi" >}}
623629
- [Fonts](#display-fonts)
624630
- [Graph Component](#display-graphs)
625631
- [QR Code Component](#display-qrcode)

content/components/display/ili9xxx.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ beyond the basic SPI connections, and a reasonable amount of RAM, it is not well
4747
{{< warning >}}
4848
This component has been made redundant since this class of displays is now supported by the [MIPI SPI Display Driver](#mipi_spi).
4949
This component may be removed in a future release.
50-
5150
{{< /warning >}}
51+
5252
{{< note >}}
5353
PSRAM is not automatically enabled on the ESP32 (this changed with the 2025.2 release.) If PSRAM is available, you
5454
should enable it with the {{< docref "/components/psram" "PSRAM configuration" >}}.

content/components/display/inkplate6.md renamed to content/components/display/inkplate.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ mcp23017:
2424
address: 0x20
2525

2626
display:
27-
- platform: inkplate6
27+
- platform: inkplate
2828
id: inkplate_display
2929
greyscale: false
3030
partial_updating: false
@@ -78,6 +78,7 @@ It just ignores the function call in that case.
7878

7979
- **greyscale** (*Optional*, boolean): Makes the screen display 3 bit colors. Defaults to `false`
8080
- **partial_updating** (*Optional*, boolean): Makes the screen update partially, which is faster, but leaves burnin. Defaults to `false`
81+
- **custom_waveform** (*Optional*, int): Sets a custom predefined waveform for the display. Accepts values from 1 to 4. Useful if the greyscale of the image seems washed. **Inkplate10 ONLY**. Defaults to `0`
8182
- **full_update_every** (*Optional*, int): When partial updating is enabled, forces a full screen update after chosen number of updates. Defaults to `10`
8283
- **transform** (*Optional*): Transform the display presentation.
8384

@@ -240,7 +241,7 @@ font:
240241
size: 48
241242
242243
display:
243-
- platform: inkplate6
244+
- platform: inkplate
244245
id: inkplate_display
245246
greyscale: false
246247
partial_updating: false
@@ -351,7 +352,7 @@ pca6416a:
351352
address: 0x20
352353
353354
display:
354-
- platform: inkplate6
355+
- platform: inkplate
355356
id: inkplate_display
356357
greyscale: true
357358
partial_updating: false
@@ -395,7 +396,7 @@ pca6416a:
395396
address: 0x20
396397
397398
display:
398-
- platform: inkplate5
399+
- platform: inkplate
399400
id: inkplate_display
400401
greyscale: true
401402
partial_updating: false
@@ -485,7 +486,7 @@ sensor:
485486
- multiply: 2 # Compensate for voltage divider (1:2 ratio)
486487
487488
display:
488-
- platform: inkplate6
489+
- platform: inkplate
489490
id: inkplate_display
490491
greyscale: true
491492
partial_updating: false
@@ -521,4 +522,4 @@ display:
521522

522523
- {{< docref "index/" >}}
523524
- {{< docref "/components/touchscreen/ektf2232" >}}
524-
- [Arduino Inkplate 6 library](https://github.com/e-radionicacom/Inkplate-6-Arduino-library) by [E-radionica.com](https://e-radionica.com/)
525+
- [Inkplate Arduino library](https://github.com/SolderedElectronics/Inkplate-Arduino-library) by [Soldered Electronics](https://soldered.com/)

0 commit comments

Comments
 (0)