Skip to content

Commit a234dca

Browse files
authored
Merge pull request #4685 from esphome/bump-2025.2.0
2025.2.0
2 parents 7039732 + 827497b commit a234dca

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+2395
-2149
lines changed

Doxygen

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome"
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = 2024.12.4
41+
PROJECT_NUMBER = 2025.2.0
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ESPHOME_PATH = ../esphome
2-
ESPHOME_REF = 2024.12.4
2+
ESPHOME_REF = 2025.2.0
33
PAGEFIND_VERSION=1.1.1
44
PAGEFIND=pagefind
55
NET_PAGEFIND=../pagefindbin/pagefind

_redirects

+14
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,20 @@
1414
/components/sensor/mmc5063.html /components/sensor/mmc5603.html 301
1515
/components/sensor/kalman_combinator.html /components/sensor/combination.html 301
1616

17+
/components/binary_sensor/custom* /guides/contributing#a-note-about-custom-components 301
18+
/components/climate/custom* /guides/contributing#a-note-about-custom-components 301
19+
/components/cover/custom* /guides/contributing#a-note-about-custom-components 301
20+
/components/light/custom* /guides/contributing#a-note-about-custom-components 301
21+
/components/output/custom* /guides/contributing#a-note-about-custom-components 301
22+
/components/sensor/custom* /guides/contributing#a-note-about-custom-components 301
23+
/components/switch/custom* /guides/contributing#a-note-about-custom-components 301
24+
/components/text_sensor/custom* /guides/contributing#a-note-about-custom-components 301
25+
/custom/custom_component* /guides/contributing#a-note-about-custom-components 301
26+
/custom/i2c* /guides/contributing#a-note-about-custom-components 301
27+
/custom/index* /guides/contributing#a-note-about-custom-components 301
28+
/custom/spi* /guides/contributing#a-note-about-custom-components 301
29+
/custom/uart* /guides/contributing#a-note-about-custom-components 301
30+
1731
/cookbook/brilliant-mirabella-genio-smart-plugs.html https://devices.esphome.io/devices/Mirabella-Genio-Wi-Fi-1-USB 301
1832
/cookbook/zemismart-rgbw-downlights.html https://devices.esphome.io/devices/Zemismart-LED-RGBWW-Downlight 301
1933
/cookbook/relay.html https://devices.esphome.io/devices/Generic-Relay 301

_static/changelog-2025.2.0.png

103 KB
Loading

_static/version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2024.12.4
1+
2025.2.0

automations/all_actions.rst

+2
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@
3232
- **logger:** ``log``
3333
- **max6956:** ``set_brightness_global``, ``set_brightness_mode``
3434
- **media_player:** ``pause``, ``play``, ``play_media``, ``stop``, ``toggle``, ``volume_down``, ``volume_set``, ``volume_up``
35+
- **media_player.speaker:** ``play_on_device_media_file``
3536
- **mhz19:** ``abc_disable``, ``abc_enable``, ``calibrate_zero``
3637
- **micro_wake_word:** ``start``, ``stop``
3738
- **microphone:** ``capture``, ``stop_capture``
3839
- **midea_ac:** ``beeper_off``, ``beeper_on``, ``display_toggle``, ``follow_me``, ``power_off``, ``power_on``, ``power_toggle``, ``swing_step``
40+
- **mixer_speaker:** ``apply_ducking``
3941
- **mqtt:** ``publish``, ``publish_json``
4042
- **number:** ``decrement``, ``increment``, ``operation``, ``set``, ``to_max``, ``to_min``
4143
- **output:** ``set_level``, ``turn_off``, ``turn_on``

changelog/2025.2.0.rst

+423
Large diffs are not rendered by default.

changelog/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Changelog
22
=========
33

44
.. redirect::
5-
:url: /changelog/2024.12.0.html
5+
:url: /changelog/2025.2.0.html
66

77
.. toctree::
88
:glob:

changelog/v1.14.0.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ Notable Changes & New Features
276276
generated using automated scripts. This is a big step towards making the API more flexible, for
277277
example cross-device communication (:esphomepr:`633`).
278278
- New class :apiclass:`api::CustomAPIDevice` to declare user-defined services straight from custom components.
279-
See the updated :doc:`custom component guide </custom/custom_component>`.
279+
See the updated custom component guide.
280280
- :ref:`Sensors <config-sensor>` have a new ``force_update`` option (:esphomepr:`783`).
281281
- Add GPIO Switch :ref:`interlock_wait_time <switch-gpio-interlocking>` (:esphomepr:`777`).
282282
- Add a configurable priority for WiFi network selection (:esphomepr:`658`, :doc:`docs </components/wifi>`).

components/animation.rst

+6-9
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ It adds additional lambda methods: ``next_frame()``, ``prev_frame()`` and ``set_
1212
- file: "animation.gif"
1313
id: my_animation
1414
resize: 100x100
15+
type: RGB565
1516
1617
The animation can be rendered just like the image component with the ``image()`` function of the display component.
1718

@@ -50,18 +51,15 @@ Configuration variables:
5051
in your display code.
5152
- **resize** (*Optional*, string): If set, this will resize all the frames to fit inside the given dimensions ``WIDTHxHEIGHT``
5253
and preserve the aspect ratio.
53-
- **type** (*Optional*): Specifies how to encode each frame internally. Defaults to ``BINARY``.
54+
- **type** (**Required**): Specifies how to encode image internally. See the :ref:`image component <display-image>` for more information.
5455

5556
- ``BINARY``: Two colors, suitable for 1 color displays or 2 color image in color displays. Uses 1 bit
56-
per pixel, 8 pixels per byte.
57-
- ``TRANSPARENT_BINARY``: One color, any pixel that is fully transparent will not be drawn, and any other pixel
58-
will be the on color. Uses 1 bit per pixel, 8 pixels per byte.
57+
per pixel, 8 pixels per byte. Only ``chroma_key`` transparency is available.
5958
- ``GRAYSCALE``: Full scale grey. Uses 8 bits per pixel, 1 pixel per byte.
60-
- ``RGB565``: Lossy RGB color stored. Uses 2 bytes per pixel.
61-
- ``RGB24``: Full RGB color stored. Uses 3 bytes per pixel.
62-
- ``RGBA``: Full RGB color stored. Uses 4 bytes per pixel. Any pixel with an alpha value < 127 will not be drawn.
59+
- ``RGB565``: Lossy RGB color stored. Uses 2 bytes per pixel, 3 with an alpha channel.
60+
- ``RGB``: Full RGB color stored. Uses 3 bytes per pixel, 4 with an alpha channel.
6361

64-
- **use_transparency** (*Optional*): If set the alpha channel of the input image will be taken into account, and pixels with alpha < 127 will not be drawn. For image types without explicit alpha channel, the color (0, 0, 1) (very dark blue) will be mapped to black, to be able to store transparency information within the image. Explicitly transparent types (``TRANSPARENT_BINARY`` and ``RGBA``) default to ``True`` and cannot be set to ``False``; other types default to ``False``.
62+
- **transparency** (*Optional*): If set the alpha channel of the input image will be taken into account. The possible values are ``opaque`` (default), ``chroma_key`` and ``alpha_channel``. See discussion on transparency in the :ref:`image component <display-image>`.
6563
- **loop** (*Optional*): If you want to loop over a subset of your animation (e.g. a fire animation where the fire "starts", then "burns" and "dies") you can specify some frames to loop over.
6664

6765
- **start_frame** (*Optional*, int): The frame to loop back to when ``end_frame`` is reached. Defaults to the first frame in the animation.
@@ -83,4 +81,3 @@ Actions:
8381

8482
- **id** (**Required**, :ref:`config-id`): The ID of the animation to animate.
8583
- **frame** (**Required**, int): The frame index to show next.
86-

components/audio_adc/es7210.rst

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
ES7210
2+
======
3+
4+
.. seo::
5+
:description: Instructions for using ESPHome's ES7210 platform to configure microphone inputs.
6+
:image: es7210.svg
7+
:keywords: ES7210, Audio, ADC, I2S, ESP32
8+
9+
The ``es7210`` platform allows your ESPHome devices to use the ES7210 high performance four channel audio ADC
10+
(`datasheet <http://www.everest-semi.com/pdf/ES7210%20PB.pdf>`__).
11+
This allows attached microphones to be used as a microphone input via :doc:`/components/microphone/i2s_audio`.
12+
13+
The :ref:`I²C bus <i2c>` is required in your configuration as this is used to communicate with the ES7210.
14+
15+
.. code-block:: yaml
16+
17+
# Example configuration entry
18+
audio_adc:
19+
- platform: es7210
20+
21+
.. _config-es7210:
22+
23+
Configuration variables:
24+
------------------------
25+
26+
- **bits_per_sample** (*Optional*, enum): The bit depth of the audio samples. One of ``16bit``, ``24bit`` or ``32bit``.
27+
Defaults to ``16bit``.
28+
- **mic_gain** (*Optional*, enum): The gain applied to the ADC microphones. One of ``0DB``, ``3DB``, ``6DB``, ``9DB``,
29+
``12DB``, ``15DB``, ``18DB``, ``21DB``, ``24DB``, ``27DB``, ``30DB``, ``33DB``, ``34.5DB``, ``36DB``, or ``37.5DB``.
30+
Defaults to ``24DB``.
31+
- **sample_rate** (*Optional*, positive integer): I2S sample rate. Defaults to ``16000``.
32+
- **address** (*Optional*, int): The I²C address of the driver. Defaults to ``0x40``.
33+
- **i2c_id** (*Optional*): The ID of the :ref:`I²C bus <i2c>` the ES7210 is connected to.
34+
- All other options from :ref:`Audio ADC <config-audio_adc>`.
35+
36+
Automations
37+
-----------
38+
39+
All :ref:`Audio ADC Automations <automations-audio_adc>` are supported by this platform.
40+
41+
Configuration Examples
42+
----------------------
43+
44+
**ESP32 S3 Box 3**:
45+
46+
.. code-block:: yaml
47+
48+
audio_adc:
49+
- platform: es7210
50+
id: es7210_adc
51+
bits_per_sample: 16bit
52+
sample_rate: 16000
53+
54+
i2s_audio:
55+
- id: i2s_audio_bus
56+
i2s_lrclk_pin: GPIO45
57+
i2s_bclk_pin: GPIO17
58+
i2s_mclk_pin: GPIO2
59+
60+
microphone:
61+
- platform: i2s_audio
62+
id: box_mic
63+
sample_rate: 16000
64+
i2s_din_pin: GPIO16
65+
bits_per_sample: 16bit
66+
adc_type: external
67+
68+
See Also
69+
--------
70+
71+
- :doc:`index`
72+
- :apiref:`es7210/es7210.h`
73+
- :ghedit:`Edit`

components/audio_adc/es7243e.rst

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
ES7243E
2+
=======
3+
4+
.. seo::
5+
:description: Instructions for using ESPHome's ES7243E platform to configure microphone inputs.
6+
:image: es7243e.svg
7+
:keywords: ES7243E, Audio, ADC, I2S, ESP32
8+
9+
The ``es7243e`` platform allows your ESPHome devices to use the ES7243E high performance four channel audio ADC
10+
(`datasheet <https://www.lcsc.com/datasheet/lcsc_datasheet_2410121611_Everest-semi-Everest-Semiconductor-ES7243E_C2929446.pdf>`__).
11+
This allows attached microphones to be used as a microphone input via :doc:`/components/microphone/i2s_audio`.
12+
13+
The :ref:`I²C bus <i2c>` is required in your configuration as this is used to communicate with the ES7243e.
14+
15+
.. code-block:: yaml
16+
17+
# Example configuration entry
18+
audio_adc:
19+
- platform: es7243e
20+
21+
.. _config-es7243e:
22+
23+
Configuration variables:
24+
------------------------
25+
26+
- **mic_gain** (*Optional*, enum): The gain applied to the ADC microphones. One of ``0DB``, ``3DB``, ``6DB``, ``9DB``,
27+
``12DB``, ``15DB``, ``18DB``, ``21DB``, ``24DB``, ``27DB``, ``30DB``, ``33DB``, ``34.5DB``, ``36DB``, or ``37.5DB``.
28+
Defaults to ``24DB``.
29+
- **address** (*Optional*, int): The I²C address of the driver. Defaults to ``0x40``.
30+
- **i2c_id** (*Optional*): The ID of the :ref:`I²C bus <i2c>` the ES7243e is connected to.
31+
- All other options from :ref:`Audio ADC <config-audio_adc>`.
32+
33+
Automations
34+
-----------
35+
36+
All :ref:`Audio ADC Automations <automations-audio_adc>` are supported by this platform.
37+
38+
Configuration Examples
39+
----------------------
40+
41+
**ESP32 S3 Box Lite**:
42+
43+
.. code-block:: yaml
44+
45+
audio_adc:
46+
- platform: es7243e
47+
id: es7243e_adc
48+
49+
i2s_audio:
50+
- id: i2s_audio_bus
51+
i2s_lrclk_pin: GPIO47
52+
i2s_bclk_pin: GPIO17
53+
i2s_mclk_pin: GPIO2
54+
55+
microphone:
56+
- platform: i2s_audio
57+
id: box_mic
58+
sample_rate: 16000
59+
i2s_din_pin: GPIO16
60+
bits_per_sample: 16bit
61+
adc_type: external
62+
63+
See Also
64+
--------
65+
66+
- :doc:`index`
67+
- :apiref:`es7243e/es7243e.h`
68+
- :ghedit:`Edit`

components/audio_adc/index.rst

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
Audio ADC Core
2+
==============
3+
4+
.. seo::
5+
:description: Instructions for using ESPHome's Audio ADC Core component.
6+
:image: i2s_audio.svg
7+
:keywords: Audio, ADC, I2S, ESP32
8+
9+
The `audio_adc` component allows your ESPHome devices to use audio ADC hardware components, allowing the
10+
capture/recording of audio via the microcontroller from a range of sources.
11+
12+
.. code-block:: yaml
13+
14+
# Example configuration entry
15+
audio_adc:
16+
- platform: ...
17+
18+
Platforms
19+
---------
20+
21+
.. toctree::
22+
:maxdepth: 1
23+
:glob:
24+
25+
*
26+
27+
.. _config-audio_adc:
28+
29+
Configuration variables:
30+
------------------------
31+
32+
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
33+
34+
.. _automations-audio_adc:
35+
36+
Automations
37+
-----------
38+
39+
``audio_adc.set_mic_gain`` Action
40+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41+
42+
This action sets the (microphone) gain of the ADC.
43+
44+
Configuration variables:
45+
46+
- **id** (**Required**, :ref:`config-id`): The ID of the ``audio_adc`` platform.
47+
- **mic_gain** (**Required**, percentage, :ref:`templatable <config-templatable>`): The desired gain level in decibels
48+
for the input.
49+
50+
See Also
51+
--------
52+
53+
- :ghedit:`Edit`

components/audio_dac/es8156.rst

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
ES8156
2+
======
3+
4+
.. seo::
5+
:description: Instructions for using ESPHome's ES8156 audio DAC platform to play media from your devices.
6+
:image: es8156.svg
7+
:keywords: ES8156, Audio, DAC, I2S, ESP32
8+
9+
The ``es8156`` platform allows your ESPHome devices to use the ES8156 low power mono audio codec.
10+
This allows the playback of audio via the microcontroller from a range of sources via :doc:`/components/speaker/index` or
11+
:doc:`/components/media_player/index`.
12+
13+
The :ref:`I²C bus <i2c>` is required in your configuration as this is used to communicate with the ES8156.
14+
15+
.. code-block:: yaml
16+
17+
# Example configuration entry
18+
audio_dac:
19+
- platform: es8156
20+
21+
.. _config-es8156:
22+
23+
Configuration variables:
24+
------------------------
25+
26+
- **address** (*Optional*, int): The I²C address of the driver. Defaults to ``0x18``.
27+
- **i2c_id** (*Optional*): The ID of the :ref:`I²C bus <i2c>` the ES8156 is connected to.
28+
- All other options from :ref:`Audio DAC <config-audio_dac>`.
29+
30+
Automations
31+
-----------
32+
33+
All :ref:`Audio DAC Automations <automations-audio_dac>` are supported by this platform.
34+
35+
Configuration Examples
36+
----------------------
37+
38+
**ESP32 S3 Box 3 Lite**:
39+
40+
.. code-block:: yaml
41+
42+
audio_dac:
43+
- platform: es8156
44+
id: es8156_dac
45+
46+
i2s_audio:
47+
- id: i2s_output
48+
i2s_lrclk_pin: GPIO47
49+
i2s_bclk_pin: GPIO17
50+
i2s_mclk_pin: GPIO2
51+
52+
speaker:
53+
- platform: i2s_audio
54+
i2s_audio_id: i2s_output
55+
id: speaker_id
56+
i2s_dout_pin: GPIO15
57+
dac_type: external
58+
sample_rate: 16000
59+
bits_per_sample: 16bit
60+
channel: stereo
61+
audio_dac: es8156_dac
62+
63+
switch:
64+
- platform: gpio
65+
name: "Speaker Enable"
66+
pin: GPIO46
67+
restore_mode: RESTORE_DEFAULT_ON
68+
69+
See Also
70+
--------
71+
72+
- :doc:`index`
73+
- :apiref:`es8156/es8156.h`
74+
- :apiref:`audio_dac/audio_dac.h`
75+
- :ghedit:`Edit`

0 commit comments

Comments
 (0)