Skip to content

Commit 184f973

Browse files
authored
Merge branch 'next' into feat/#3215_modbus_controller_courtesy_response
2 parents aa5db62 + d20e3f7 commit 184f973

File tree

15 files changed

+363
-22
lines changed

15 files changed

+363
-22
lines changed

changelog/2025.7.0.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,18 @@ Release 2025.7.4 - July 28
460460
- Fail with old lerp :esphomepr:`9914` by :ghuser:`HeMan`
461461

462462

463+
Release 2025.7.5 - August 5
464+
---------------------------
465+
466+
.. collapse:: Show
467+
:open:
468+
469+
- [lvgl] Bugfix for tileview :esphomepr:`9938` by :ghuser:`clydebarrow`
470+
- [api] Fix OTA progress updates not being sent when main loop is blocked :esphomepr:`10049` by :ghuser:`bdraco`
471+
- [font] Catch file load exception :esphomepr:`10058` by :ghuser:`clydebarrow`
472+
- [i2s_audio] Use high-pass filter for dc offset correction :esphomepr:`10005` by :ghuser:`doobry`
473+
474+
463475
Full list of changes
464476
--------------------
465477

components/display/mipi_spi.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ Driver chips
5656
"GC9D01N", "240x240"
5757
"AXS15231", "320x240"
5858
"ST7735", "128x160"
59+
"CO5300", "466x466"
5960
"CUSTOM", "Customisable"
6061

6162
Boards with integrated displays
@@ -72,6 +73,7 @@ Boards with integrated displays
7273
"S3BOXLITE", "Espressif", "https://www.espressif.com/en/products/devkits/esp32-s3-box-lite"
7374
"WAVESHARE-4-TFT", "Waveshare", "https://www.waveshare.com/4inch-tft-touch-shield.htm"
7475
"PICO-RESTOUCH-LCD-3.5", "Waveshare", "https://www.waveshare.com/pico-restouch-lcd-3.5.htm"
76+
"WAVESHARE-ESP32-S3-TOUCH-AMOLED-1.75", "Waveshare", "https://www.waveshare.com/esp32-s3-touch-amoled-1.75.htm"
7577
"WT32-SC01-PLUS", "Wireless-Tag", "https://www.wireless-tag.com/portfolio/wt32-sc01-plus/"
7678
"ESP32-2432S028", "Sunton", "https://www.espressif.com/en/products/devkits/esp32-2432s028"
7779
"JC3248W535", "Guition", "https://www.aliexpress.com/item/1005007566332450.html"

components/display/ssd1327.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Over I²C
1111
--------
1212

1313
The ``ssd1327_i2c`` display platform allows you to use
14-
SSD1327 (`datasheet <https://www.generationrobots.com/media/Ecran_OLED_0_96/SSD1327_datasheet.pdf>`__,
14+
SSD1327 (`datasheet <https://www.waveshare.com/w/upload/a/ac/SSD1327-datasheet.pdf>`__,
1515
`Waveshare <https://www.waveshare.com/1.5inch-oled-module.htm>`__) displays with ESPHome. Note that this component is for
1616
displays that are connected via the :ref:`I²C Bus <i2c>`. If your SSD1327 is connected via the 4-Wire
1717
:ref:`SPI bus <spi>`, see :ref:`ssd1327-spi`.

components/esp32_ble.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ can run.
2323
esp32_ble:
2424
io_capability: keyboard_only
2525
disable_bt_logs: true # Default, saves flash
26+
connection_timeout: 20s # Default, matches client timeout
27+
max_notifications: 12 # Default, increase if needed
2628
2729
Configuration variables:
2830
------------------------
@@ -48,6 +50,25 @@ Configuration variables:
4850

4951
The ``disable_bt_logs`` option intelligently disables only the Bluetooth logging categories that are not required by your configuration. Each Bluetooth component registers the specific loggers it needs, and all unused loggers are automatically disabled during compilation. This includes loggers for Classic Bluetooth features (like RFCOMM, A2DP, HID) that are not used by ESPHome's BLE implementation.
5052

53+
- **connection_timeout** (*Optional*, :ref:`config-time`): The maximum time to wait for a BLE connection to be established. Only available when using ESP-IDF framework. Defaults to ``20s``.
54+
55+
- Range: 10 to 180 seconds
56+
- This timeout should align with the timeout used by your BLE client software to prevent connection slot waste
57+
58+
.. note::
59+
60+
The ``connection_timeout`` option is particularly important when using ESPHome as a Bluetooth proxy. The default of 20 seconds matches the timeout used by aioesphomeapi and bleak-retry-connector. If a connection attempt times out on the client side but ESP-IDF continues trying to connect, the connection slot remains occupied and unavailable for new connections. Setting this to match your client timeout ensures connection slots are freed immediately when a connection fails.
61+
62+
- **max_notifications** (*Optional*, integer): The maximum number of BLE characteristics that can have notifications enabled across all connections. Only available when using ESP-IDF framework. Defaults to ``12``.
63+
64+
- Range: 1 to 64
65+
- This is a global limit shared across all BLE connections
66+
- Increase if you see ``ESP_GATT_NO_RESOURCES`` (status=128) errors when enabling notifications
67+
68+
.. note::
69+
70+
The ``max_notifications`` option controls the ``CONFIG_BT_GATTC_NOTIF_REG_MAX`` ESP-IDF setting. This limit is per GATT client interface, not per connection. If you're using ESPHome as a Bluetooth proxy with multiple devices that have many characteristics requiring notifications, you may need to increase this value. The error ``status=128`` in logs indicates you've hit this limit.
71+
5172
``ble.disable`` Action
5273
-----------------------
5374

components/espnow.rst

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ Configuration variables:
3333
Automations:
3434

3535
- **on_receive** (*Optional*, :ref:`Automation <automation>`): An automation to perform when data is received. See :ref:`espnow-on_receive`.
36-
- **on_unknown_peer** (*Optional*, :ref:`Automation <automation>`): An automation to perform when data is received from an unknown peer.
37-
Cannot be used when ``auto_add_peer`` is set to ``true``. See :ref:`espnow-on_unknown_peer`.
36+
- **on_unknown_peer** (*Optional*, :ref:`Automation <automation>`): An automation to perform when data is received from an unknown peer. See :ref:`espnow-on_unknown_peer`.
3837
- **on_broadcast** (*Optional*, :ref:`Automation <automation>`): An automation to perform when a broadcast packet is received.
3938
See :ref:`espnow-on_broadcast`.
4039

@@ -76,7 +75,7 @@ Configuration variables:
7675
``on_unknown_peer``
7776
*******************
7877

79-
This automation will be triggered when data is received from a peer that is not in the list of known peers.
78+
This automation will be triggered when data is received from a peer that is not in the list of known peers. This trigger gives you one possibility to decide if the unknown peer can be added or not.
8079

8180
.. _espnow-on_broadcast:
8281

@@ -118,14 +117,17 @@ Configuration variables:
118117

119118
- **address** (**Required**, :ref:`templatable <config-templatable>`, MAC Address): The MAC address of the receiving device to send to.
120119
- **data** (**Required**, :ref:`templatable <config-templatable>`, string or list of bytes): The data to be sent.
121-
- **on_sent** (*Optional*, :ref:`Automation <automation>`): An automation to perform when the data is sent successfully.
122120
- **wait_for_sent** (*Optional*, boolean): The automation will wait for the data to be sent and for the ``on_sent`` or ``on_error``
123121
actions to be finished before continuing with the next action.
124122
Defaults to ``true``.
125-
- **on_error** (*Optional*, :ref:`Automation <automation>`): An automation to perform when the data could not be sent.
126123
- **continue_on_error** (*Optional*, boolean): If set to ``false``, the next action will not be triggered if the data could not be sent.
127124
Defaults to ``true``.
128125

126+
Automations:
127+
128+
- **on_sent** (*Optional*, :ref:`Automation <automation>`): An automation to perform when the data is sent successfully.
129+
- **on_error** (*Optional*, :ref:`Automation <automation>`): An automation to perform when the data could not be sent.
130+
129131

130132
.. _espnow-broadcast-action:
131133

@@ -189,6 +191,24 @@ Configuration variables:
189191

190192
- **address** (**Required**, MAC Address): The Peer address that needs to be removed from the list of allowed peers.
191193

194+
.. _espnow-set_channel-action:
195+
196+
``espnow.set_channel`` Action
197+
*****************************
198+
199+
This is an :ref:`Action <config-action>` to change the channel that espnow is sending and receiving on.
200+
201+
.. code-block:: yaml
202+
203+
on_...:
204+
- espnow.set_channel:
205+
channel: 1
206+
- espnow.set_channel: 1
207+
208+
Configuration variables:
209+
210+
- **channel** (**Required**, int): This can be a value between ``0`` and ``15``. The maximum channel number depends on the country or region where you are using the device (for example, channels 1-11 are allowed in the US and most of Europe, 1-13 in many other countries, and 1-14 in Japan). For details, see the `Wi-Fi channel regulations by country <https://en.wikipedia.org/wiki/List_of_WLAN_channels>`__ or consult the `Espressif ESP-NOW documentation <https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/network/esp_now.html>`__. ``0`` means that espnow will set the channel number itself (most of the time it would be ``1``).
211+
192212

193213
.. _espnow-peers:
194214

@@ -204,6 +224,7 @@ will be an error when trying to send data to a peer.
204224
Setting ``auto_add_peer`` to ``true`` will allow the component to automatically add any incoming device as a peer, and will
205225
automatically add any peer that data is sent to.
206226

227+
207228
See Also
208229
--------
209230

components/remote_transmitter.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1024,6 +1024,24 @@ Configuration variables:
10241024

10251025
Toto remotes repeat all codes three times at a 36ms interval. This behavior will occur by default, but may be overridden by specifying ``repeat`` and ``wait time`` configuration variables.
10261026

1027+
.. _remote_transmitter-digital_write:
1028+
1029+
``remote_transmitter.digital_write`` **Action**
1030+
***********************************************
1031+
1032+
This :ref:`action <config-action>` sets the output value of the pin.
1033+
1034+
.. code-block:: yaml
1035+
1036+
on_...:
1037+
- remote_transmitter.digital_write:
1038+
value: true
1039+
1040+
Configuration variables:
1041+
1042+
- **transmitter_id** (*Optional*, :ref:`config-id`): The remote transmitter to set the pin value on. Defaults to
1043+
the first one defined in the configuration.
1044+
- **value** (**Required**, bool): The output value of the pin.
10271045

10281046
.. _remote_transmitter-rc_switch-protocol:
10291047

components/sensor/ld2450.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,12 @@ Configuration variables:
285285
- **presence_timeout** (**Required**, int): The duration, in seconds, for which the
286286
:ref:`presence states<ld2450-binary-sensors>` will persist even after the detection is cleared. Default is ``5``
287287
seconds. All options from :ref:`Number <config-number>`.
288+
289+
.. note::
290+
291+
The ``presence_timeout`` value applies *only* to the :ref:`presence binary sensor states<ld2450-binary-sensors>`.
292+
It does **not** apply to any other sensor data, such as target count or target details.
293+
288294
- **zone_N** (*Optional*): Configuration for the zone (N = 1 to 3), defined as a rectangular area in front of and
289295
relative to the sensor. A maximum of three zones can be configured: ``zone_1``, ``zone_2``, ``zone_3``. The zone
290296
coordinates consist of ``x1``, ``y1`` (near-left) to ``x2``, ``y2`` (far-right) and are specified in
@@ -475,7 +481,7 @@ Here is the complete example configuration for :doc:`ld2450`.
475481
bluetooth:
476482
name: "Bluetooth"
477483
multi_target:
478-
name: Multi Target Tracking"
484+
name: "Multi Target Tracking"
479485
480486
select:
481487
- platform: ld2450

components/sensor/ms5611.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ MS5611 Atmospheric Pressure Sensor
66
:image: ms5611.jpg
77
:keywords: MS5611
88

9-
The ``ms5611`` sensor platform allows you to use your MS5611 atmospheric pressure sensors
10-
(`hobbytronics`_) temperature and pressure sensors with ESPHome. The :ref:`I²C <i2c>` is
11-
required to be set up in your configuration for this sensor to work.
9+
The ``ms5611`` sensor platform allows you to use the MS5611 atmospheric pressure-and-temperature sensor with
10+
ESPHome (see the `datasheet`_ for technical details). The :ref:`I²C <i2c>` is required to be set up in your
11+
configuration for this sensor to work.
1212

1313
.. figure:: images/ms5611-full.jpg
1414
:align: center
1515
:width: 50.0%
1616

1717
MS5611 Atmospheric Pressure Sensor
1818

19-
.. _hobbytronics: http://www.hobbytronics.co.uk/ms5611-altitude-sensor
19+
.. _datasheet: https://www.te.com/commerce/DocumentDelivery/DDEController?Action=showdoc&DocId=Data+Sheet%7FMS5611-01BA03%7FB3%7Fpdf%7FEnglish%7FENG_DS_MS5611-01BA03_B3.pdf%7FCAT-BLPS0036
2020

2121
.. figure:: images/ms5611-ui.png
2222
:align: center

components/sensor/sensor-filter-delta.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This difference can be calculated in two ways an absolute difference or a percen
77

88
If a number is specified, it will be used as the absolute difference required.
99
For example if the filter were configured with a value of 2 and the last value passed through was 10,
10-
only values greater than 12 or less than 8 would be passed through.
10+
only values greater than or equal to 12 or less than or equal to 8 would be passed through.
1111

1212
.. code-block:: yaml
1313
@@ -16,8 +16,9 @@ only values greater than 12 or less than 8 would be passed through.
1616
1717
If a percentage is specified a percentage of the last value will be used as the required difference.
1818
For example if the filter were configured with a value of 20% and the last value passed through was 10,
19-
only values greater than 12 or less than 8 would be passed through.
20-
However, if the last value passed through was 100 only values greater than 120 or less than 80 would be passed through.
19+
only values greater than or equal to 12 or less than or equal to 8 would be passed through.
20+
However, if the last value passed through was 100 only values greater than or equal to 120 or less than or
21+
equal to 80 would be passed through.
2122

2223
.. code-block:: yaml
2324

components/stepper/index.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,20 @@ Configuration variables:
8181
number: GPIOXX
8282
inverted: true
8383
84+
.. note::
85+
86+
TMC drivers are pin-compatible with the A4988, but instead of a ``SLEEP`` pin they expose an ``ENABLE`` pin.
87+
When using a TMC driver with the ``a4988`` platform you therefore need to invert the ``sleep_pin``:
88+
89+
.. code-block:: yaml
90+
91+
stepper:
92+
- platform: a4988
93+
# ...
94+
sleep_pin:
95+
number: GPIOXX
96+
inverted: true
97+
8498
ULN2003 Component
8599
-----------------
86100

0 commit comments

Comments
 (0)