Skip to content

Commit

Permalink
Merge branch 'next' into component_climate_ir_samsung
Browse files Browse the repository at this point in the history
  • Loading branch information
jorofi authored Jan 25, 2025
2 parents 8faf6b2 + 88d2adb commit 5c73fe2
Show file tree
Hide file tree
Showing 57 changed files with 660 additions and 1,906 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/component-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
component: ${{ needs.prepare.outputs.name }}

- name: Upload
uses: actions/upload-artifact@v4.5.0
uses: actions/upload-artifact@v4.6.0
id: upload-artifact
with:
name: ${{ needs.prepare.outputs.name }}
Expand Down
14 changes: 14 additions & 0 deletions _redirects
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,20 @@
/components/sensor/mmc5063.html /components/sensor/mmc5603.html 301
/components/sensor/kalman_combinator.html /components/sensor/combination.html 301

/components/binary_sensor/custom* /guides/contributing#a-note-about-custom-components 301
/components/climate/custom* /guides/contributing#a-note-about-custom-components 301
/components/cover/custom* /guides/contributing#a-note-about-custom-components 301
/components/light/custom* /guides/contributing#a-note-about-custom-components 301
/components/output/custom* /guides/contributing#a-note-about-custom-components 301
/components/sensor/custom* /guides/contributing#a-note-about-custom-components 301
/components/switch/custom* /guides/contributing#a-note-about-custom-components 301
/components/text_sensor/custom* /guides/contributing#a-note-about-custom-components 301
/custom/custom_component* /guides/contributing#a-note-about-custom-components 301
/custom/i2c* /guides/contributing#a-note-about-custom-components 301
/custom/index* /guides/contributing#a-note-about-custom-components 301
/custom/spi* /guides/contributing#a-note-about-custom-components 301
/custom/uart* /guides/contributing#a-note-about-custom-components 301

/cookbook/brilliant-mirabella-genio-smart-plugs.html https://devices.esphome.io/devices/Mirabella-Genio-Wi-Fi-1-USB 301
/cookbook/zemismart-rgbw-downlights.html https://devices.esphome.io/devices/Zemismart-LED-RGBWW-Downlight 301
/cookbook/relay.html https://devices.esphome.io/devices/Generic-Relay 301
Expand Down
20 changes: 17 additions & 3 deletions changelog/2024.12.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,30 @@ This is due to both waning support as it relates to tooling and performance reas
more modern architecture, especially if you're using the ESPHome Device Compiler to build/compile firmware for your
devices.

Release 2024.12.1 - December 19
-------------------------------

- [core] Bugfix: Implement ring buffer with xRingbuffer :esphomepr:`7973` by :ghuser:`kahrendt`


Release 2024.12.2 - December 20
-------------------------------

- [esp32] Fix flash size warning when using IDF :esphomepr:`7983` by :ghuser:`kbx81`
- [esp32_ble] Fix for Improv :esphomepr:`7984` by :ghuser:`kbx81`

Release 2024.12.1 - December 19
-------------------------------

- [core] Bugfix: Implement ring buffer with xRingbuffer :esphomepr:`7973` by :ghuser:`kahrendt`
Release 2024.12.3 - January 17
------------------------------

- Fixed libretiny preference wrongly detecting change in the data to store :esphomepr:`7990` by :ghuser:`szupi-ipuzs`
- [http_request] Bugfix: run update function in a task :esphomepr:`8018` by :ghuser:`kahrendt`


Release 2024.12.4 - January 17
------------------------------

- Bump python3-setuptools to 66.1.1-1+deb12u1 :esphomepr:`8074` by :ghuser:`jesserockz`


Full list of changes
Expand Down
2 changes: 1 addition & 1 deletion changelog/v1.14.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ Notable Changes & New Features
generated using automated scripts. This is a big step towards making the API more flexible, for
example cross-device communication (:esphomepr:`633`).
- New class :apiclass:`api::CustomAPIDevice` to declare user-defined services straight from custom components.
See the updated :doc:`custom component guide </custom/custom_component>`.
See the updated custom component guide.
- :ref:`Sensors <config-sensor>` have a new ``force_update`` option (:esphomepr:`783`).
- Add GPIO Switch :ref:`interlock_wait_time <switch-gpio-interlocking>` (:esphomepr:`777`).
- Add a configurable priority for WiFi network selection (:esphomepr:`658`, :doc:`docs </components/wifi>`).
Expand Down
2 changes: 1 addition & 1 deletion components/animation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Configuration variables:
- ``RGB565``: Lossy RGB color stored. Uses 2 bytes per pixel, 3 with an alpha channel.
- ``RGB``: Full RGB color stored. Uses 3 bytes per pixel, 4 with an alpha channel.

- **use_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>`.
- **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>`.
- **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.

- **start_frame** (*Optional*, int): The frame to loop back to when ``end_frame`` is reached. Defaults to the first frame in the animation.
Expand Down
30 changes: 22 additions & 8 deletions components/es7210.rst → components/audio_adc/es7210.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,37 @@ ES7210
:image: es7210.svg
:keywords: ES7210, Audio, ADC, I2S, ESP32

The ``es7210`` platform allows your ESPHome devices to use the ES7210 high performance four channels audio ADC (`datasheet <http://www.everest-semi.com/pdf/ES7210%20PB.pdf>`__).
The ``es7210`` platform allows your ESPHome devices to use the ES7210 high performance four channel audio ADC
(`datasheet <http://www.everest-semi.com/pdf/ES7210%20PB.pdf>`__).
This allows attached microphones to be used as a microphone input via :doc:`/components/microphone/i2s_audio`.

The :ref:`I²C bus <i2c>` is required in your configuration as this is used to communicate with the ES7210.

.. code-block:: yaml
# Example configuration entry
es7210:
audio_adc:
- platform: es7210
.. _config-es7210:

Configuration variables:
------------------------
- **bits_per_sample** (*Optional*, enum): The bit depth of the audio samples. One of ``16bit``, ``24bit``, or ``32bit``. Defaults to ``16bit``.

- **bits_per_sample** (*Optional*, enum): The bit depth of the audio samples. One of ``16bit``, ``24bit`` or ``32bit``.
Defaults to ``16bit``.
- **mic_gain** (*Optional*, enum): The gain applied to the ADC microphones. One of ``0DB``, ``3DB``, ``6DB``, ``9DB``,
``12DB``, ``15DB``, ``18DB``, ``21DB``, ``24DB``, ``27DB``, ``30DB``, ``33DB``, ``34.5DB``, ``36DB``, or ``37.5DB``.
Defaults to ``24DB``.
- **sample_rate** (*Optional*, positive integer): I2S sample rate. Defaults to ``16000``.
- **mic_gain** (*Optional*, enum): The gain applied to the ADC microphones. One of ``0DB``, ``3DB``, ``6DB``, ``9DB``, ``12DB``, ``15DB``, ``18DB``, ``21DB``, ``24DB``, ``27DB``, ``30DB``, ``33DB``, ``34.5DB``, ``36DB``, or ``37.5DB``. Defaults to ``24DB``.
- **address** (*Optional*, int): The I²C address of the driver. Defaults to ``0x40``.
- **i2c_id** (*Optional*): The ID of the :ref:`I²C bus <i2c>` the ES7210 is connected to.
- All other options from :ref:`Audio ADC <config-audio_adc>`.

Automations
-----------

All :ref:`Audio ADC Automations <automations-audio_adc>` are supported by this platform.

Configuration Examples
----------------------
Expand All @@ -32,10 +45,11 @@ Configuration Examples

.. code-block:: yaml
es7210:
id: es7210_adc
bits_per_sample: 16bit
sample_rate: 16000
audio_adc:
- platform: es7210
id: es7210_adc
bits_per_sample: 16bit
sample_rate: 16000
i2s_audio:
- id: i2s_audio_bus
Expand Down
68 changes: 68 additions & 0 deletions components/audio_adc/es7243e.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
ES7243E
=======

.. seo::
:description: Instructions for using ESPHome's ES7243E platform to configure microphone inputs.
:image: es7243e.svg
:keywords: ES7243E, Audio, ADC, I2S, ESP32

The ``es7243e`` platform allows your ESPHome devices to use the ES7243E high performance four channel audio ADC
(`datasheet <https://www.lcsc.com/datasheet/lcsc_datasheet_2410121611_Everest-semi-Everest-Semiconductor-ES7243E_C2929446.pdf>`__).
This allows attached microphones to be used as a microphone input via :doc:`/components/microphone/i2s_audio`.

The :ref:`I²C bus <i2c>` is required in your configuration as this is used to communicate with the ES7243e.

.. code-block:: yaml
# Example configuration entry
audio_adc:
- platform: es7243e
.. _config-es7243e:

Configuration variables:
------------------------

- **mic_gain** (*Optional*, enum): The gain applied to the ADC microphones. One of ``0DB``, ``3DB``, ``6DB``, ``9DB``,
``12DB``, ``15DB``, ``18DB``, ``21DB``, ``24DB``, ``27DB``, ``30DB``, ``33DB``, ``34.5DB``, ``36DB``, or ``37.5DB``.
Defaults to ``24DB``.
- **address** (*Optional*, int): The I²C address of the driver. Defaults to ``0x40``.
- **i2c_id** (*Optional*): The ID of the :ref:`I²C bus <i2c>` the ES7243e is connected to.
- All other options from :ref:`Audio ADC <config-audio_adc>`.

Automations
-----------

All :ref:`Audio ADC Automations <automations-audio_adc>` are supported by this platform.

Configuration Examples
----------------------

**ESP32 S3 Box Lite**:

.. code-block:: yaml
audio_adc:
- platform: es7243e
id: es7243e_adc
i2s_audio:
- id: i2s_audio_bus
i2s_lrclk_pin: GPIO47
i2s_bclk_pin: GPIO17
i2s_mclk_pin: GPIO2
microphone:
- platform: i2s_audio
id: box_mic
sample_rate: 16000
i2s_din_pin: GPIO16
bits_per_sample: 16bit
adc_type: external
See Also
--------

- :doc:`index`
- :apiref:`es7243e/es7243e.h`
- :ghedit:`Edit`
53 changes: 53 additions & 0 deletions components/audio_adc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Audio ADC Core
==============

.. seo::
:description: Instructions for using ESPHome's Audio ADC Core component.
:image: i2s_audio.svg
:keywords: Audio, ADC, I2S, ESP32

The `audio_adc` component allows your ESPHome devices to use audio ADC hardware components, allowing the
capture/recording of audio via the microcontroller from a range of sources.

.. code-block:: yaml
# Example configuration entry
audio_adc:
- platform: ...
Platforms
---------

.. toctree::
:maxdepth: 1
:glob:

*

.. _config-audio_adc:

Configuration variables:
------------------------

- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.

.. _automations-audio_adc:

Automations
-----------

``audio_adc.set_mic_gain`` Action
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This action sets the (microphone) gain of the ADC.

Configuration variables:

- **id** (**Required**, :ref:`config-id`): The ID of the ``audio_adc`` platform.
- **mic_gain** (**Required**, percentage, :ref:`templatable <config-templatable>`): The desired gain level in decibels
for the input.

See Also
--------

- :ghedit:`Edit`
75 changes: 75 additions & 0 deletions components/audio_dac/es8156.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
ES8156
======

.. seo::
:description: Instructions for using ESPHome's ES8156 audio DAC platform to play media from your devices.
:image: es8156.svg
:keywords: ES8156, Audio, DAC, I2S, ESP32

The ``es8156`` platform allows your ESPHome devices to use the ES8156 low power mono audio codec.
This allows the playback of audio via the microcontroller from a range of sources via :doc:`/components/speaker/index` or
:doc:`/components/media_player/index`.

The :ref:`I²C bus <i2c>` is required in your configuration as this is used to communicate with the ES8156.

.. code-block:: yaml
# Example configuration entry
audio_dac:
- platform: es8156
.. _config-es8156:

Configuration variables:
------------------------

- **address** (*Optional*, int): The I²C address of the driver. Defaults to ``0x18``.
- **i2c_id** (*Optional*): The ID of the :ref:`I²C bus <i2c>` the ES8156 is connected to.
- All other options from :ref:`Audio DAC <config-audio_dac>`.

Automations
-----------

All :ref:`Audio DAC Automations <automations-audio_dac>` are supported by this platform.

Configuration Examples
----------------------

**ESP32 S3 Box 3 Lite**:

.. code-block:: yaml
audio_dac:
- platform: es8156
id: es8156_dac
i2s_audio:
- id: i2s_output
i2s_lrclk_pin: GPIO47
i2s_bclk_pin: GPIO17
i2s_mclk_pin: GPIO2
speaker:
- platform: i2s_audio
i2s_audio_id: i2s_output
id: speaker_id
i2s_dout_pin: GPIO15
dac_type: external
sample_rate: 16000
bits_per_sample: 16bit
channel: stereo
audio_dac: es8156_dac
switch:
- platform: gpio
name: "Speaker Enable"
pin: GPIO46
restore_mode: RESTORE_DEFAULT_ON
See Also
--------

- :doc:`index`
- :apiref:`es8156/es8156.h`
- :apiref:`audio_dac/audio_dac.h`
- :ghedit:`Edit`
18 changes: 9 additions & 9 deletions components/audio_dac/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,15 @@ audio via the microcontroller from a range of sources via :doc:`/components/medi
audio_dac:
- platform: ...
Platforms
---------

.. toctree::
:maxdepth: 1
:glob:

*

.. _config-audio_dac:

Configuration variables:
Expand Down Expand Up @@ -56,15 +65,6 @@ Configuration variables:
- **volume** (**Required**, percentage, :ref:`templatable <config-templatable>`): The desired volume level for the
output from 0% to 100%.

Platforms
---------

.. toctree::
:maxdepth: 1
:glob:

*

See Also
--------

Expand Down
Loading

0 comments on commit 5c73fe2

Please sign in to comment.