Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024.9.0b2 #4251

Merged
merged 7 commits into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion Doxygen
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 2024.9.0b1
PROJECT_NUMBER = 2024.9.0b2

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ESPHOME_PATH = ../esphome
ESPHOME_REF = 2024.9.0b1
ESPHOME_REF = 2024.9.0b2
PAGEFIND_VERSION=1.1.0
PAGEFIND=pagefind
NET_PAGEFIND=../pagefindbin/pagefind
Expand Down
2 changes: 1 addition & 1 deletion _static/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2024.9.0b1
2024.9.0b2
8 changes: 8 additions & 0 deletions changelog/2024.9.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ Breaking Changes
- Move I2S config settings the the base i2sAudio files. Phase 1 :esphomepr:`7183` by :ghuser:`nielsnl68` (breaking-change)
- [i2s_audio] Add more options to speakers and microphones :esphomepr:`7306` by :ghuser:`pyos` (breaking-change)

Beta Changes
^^^^^^^^^^^^

- [voice-assistant] Dont error on ``no_wake_word`` timeout error with streaming wake word :esphomepr:`7435` by :ghuser:`jesserockz`
- Improve manufacturer data tracing to identify BLE devices a bit easie… :esphomepr:`7332` by :ghuser:`tomer-w`

All changes
^^^^^^^^^^^

Expand Down Expand Up @@ -127,6 +133,8 @@ All changes
- [uponor_smatrix] Modifies sending algorithm :esphomepr:`7326` by :ghuser:`skasi7`
- User configurable frame buffer. :esphomepr:`7360` by :ghuser:`ajwahab`
- [Modbus Controller] Added preference to change command retries :esphomepr:`7312` by :ghuser:`0x3333`
- [voice-assistant] Dont error on ``no_wake_word`` timeout error with streaming wake word :esphomepr:`7435` by :ghuser:`jesserockz`
- Improve manufacturer data tracing to identify BLE devices a bit easie… :esphomepr:`7332` by :ghuser:`tomer-w`

Past Changelogs
---------------
Expand Down
7 changes: 7 additions & 0 deletions components/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ The ESPHome native API is based on a custom TCP protocol using protocol buffers.
the protocol data structure definitions here: `api.proto <https://github.com/esphome/esphome/blob/dev/esphome/components/api/api.proto>`__
A Python library that implements this protocol is `aioesphomeapi <https://github.com/esphome/aioesphomeapi>`__.

.. note::

**Actions** were previously called **Services**. ESPHome changed the name in line with
`Home Assistant <https://developers.home-assistant.io/blog/2024/07/16/service-actions/>`__
but will continue to support YAML with ``services`` and ``homeassistant.service`` for the foreseeable future.
Documentation will only refer to **Actions**.

.. code-block:: yaml

# Example configuration entry
Expand Down
6 changes: 3 additions & 3 deletions components/binary_sensor/custom.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Custom Binary Sensor

.. warning::

Custom components are deprecated, not recommended for new configurations and will be removed from ESPHome in a
future release. Please look at creating a real ESPHome component and "importing" it into your configuration with
:doc:`/components/external_components`.
:ref:`Custom Components are deprecated<a_note_about_custom_components>`, not recommended for new configurations and
will be removed from ESPHome in a future release. Please look at creating a real ESPHome component and "importing"
it into your configuration with :doc:`/components/external_components`.

You can find some basic documentation on creating your own components at :ref:`contributing_to_esphome`.

Expand Down
6 changes: 3 additions & 3 deletions components/climate/custom.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Custom Climate

.. warning::

Custom components are deprecated, not recommended for new configurations and will be removed from ESPHome in a
future release. Please look at creating a real ESPHome component and "importing" it into your configuration with
:doc:`/components/external_components`.
:ref:`Custom Components are deprecated<a_note_about_custom_components>`, not recommended for new configurations and
will be removed from ESPHome in a future release. Please look at creating a real ESPHome component and "importing"
it into your configuration with :doc:`/components/external_components`.

You can find some basic documentation on creating your own components at :ref:`contributing_to_esphome`.

Expand Down
6 changes: 3 additions & 3 deletions components/cover/custom.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Custom Cover

.. warning::

Custom components are deprecated, not recommended for new configurations and will be removed from ESPHome in a
future release. Please look at creating a real ESPHome component and "importing" it into your configuration with
:doc:`/components/external_components`.
:ref:`Custom Components are deprecated<a_note_about_custom_components>`, not recommended for new configurations and
will be removed from ESPHome in a future release. Please look at creating a real ESPHome component and "importing"
it into your configuration with :doc:`/components/external_components`.

You can find some basic documentation on creating your own components at :ref:`contributing_to_esphome`.

Expand Down
6 changes: 3 additions & 3 deletions components/light/custom.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Custom Light Output

.. warning::

Custom components are deprecated, not recommended for new configurations and will be removed from ESPHome in a
future release. Please look at creating a real ESPHome component and "importing" it into your configuration with
:doc:`/components/external_components`.
:ref:`Custom Components are deprecated<a_note_about_custom_components>`, not recommended for new configurations and
will be removed from ESPHome in a future release. Please look at creating a real ESPHome component and "importing"
it into your configuration with :doc:`/components/external_components`.

You can find some basic documentation on creating your own components at :ref:`contributing_to_esphome`.

Expand Down
9 changes: 8 additions & 1 deletion components/lvgl/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ The graphic display should be configured with ``auto_clear_enabled: false`` and

For interactivity, a :doc:`Touchscreen </components/touchscreen/index>` (capacitive highly preferred), a :doc:`/components/sensor/rotary_encoder` or a custom keypad made up from discrete :doc:`Binary Sensors </components/binary_sensor/index>` can be used.

Check out the detailed examples in :ref:`the Cookbook <lvgl-cookbook>` which demonstrate a number of ways you can integrate your environment with LVGL and ESPHome.

Basics
------
Expand Down Expand Up @@ -146,6 +147,7 @@ The following configuration variables apply to the main ``lvgl`` component, in o
align: CENTER
text: 'Hello World!'

See :ref:`lvgl-cookbook-navigator` in the Cookbook for an example which demonstrates how to implement a page navigation bar at the bottom of the screen.

.. _lvgl-color:

Expand Down Expand Up @@ -176,6 +178,7 @@ You can use :ref:`fonts configured normally<display-fonts>`, the glyphs will be

For best results, set ``bpp: 4`` to get the glyphs rendered with proper anti-aliasing.

Check out :ref:`lvgl-cookbook-icontext`, :ref:`lvgl-cookbook-iconstat` and :ref:`lvgl-cookbook-iconbatt` in the Cookbook for examples which demonstrate how to use icons and text with TrueType/OpenType fonts.

**Library fonts**

Expand Down Expand Up @@ -378,6 +381,7 @@ So the precedence happens like this: state based styles override the locally spe

Feel free to experiment to discover inheritance and precedence of the styles based on states between the nested widgets.

:ref:`lvgl-cookbook-theme` The Cookbook contains an example which demonstrates how to implement a gradient style for your widgets.

.. _lvgl-layouts:

Expand All @@ -388,6 +392,7 @@ Layouts aim to position widgets automatically, eliminating the need to specify `

The layout configuration options are applied to any parent widget or page, influencing the appearance of the children. The position and size calculated by the layout overwrites the *normal* ``x``, ``y``, ``width``, and ``height`` settings of the children.

Check out :ref:`lvgl-cookbook-flex`, :ref:`lvgl-cookbook-grid` and :ref:`lvgl-cookbook-weather` in the Cookbook for examples which demonstrate how to automate widget positioning, potentially reducing the size of your device's YAML configuration, and saving you from lots of manual calculations.

The ``hidden``, ``ignore_layout`` and ``floating`` :ref:`flags <lvgl-widget-flags>` can be used on widgets to ignore them in layout calculations.

Expand Down Expand Up @@ -594,7 +599,7 @@ This :ref:`action <actions-action>` redraws the entire screen, or optionally onl

This :ref:`action <actions-action>` pauses the activity of LVGL, including rendering.

- **show_snow** (*Optional*, boolean): When paused, display random colored pixels across the entire screen in order to minimize screen burn-in, to relief the tension put on each individual pixel.
- **show_snow** (*Optional*, boolean): When paused, display random colored pixels across the entire screen in order to minimize screen burn-in, to relief the tension put on each individual pixel. See :ref:`lvgl-cookbook-antiburn` for an example which demonstrates how to use this.

.. code-block:: yaml

Expand Down Expand Up @@ -801,6 +806,7 @@ The ``on_idle`` :ref:`triggers <automation>` are activated when inactivity time
- light.turn_off: display_backlight
- lvgl.pause:

See :ref:`lvgl-cookbook-idlescreen` for an example which demonstrates how to implement screen saving with idle settings.

See Also
--------
Expand All @@ -811,6 +817,7 @@ See Also

*

- :doc:`LVGL Examples in the Cookbook </cookbook/lvgl>`
- :doc:`/components/display/index`
- :doc:`/components/touchscreen/index`
- :doc:`/components/sensor/rotary_encoder`
Expand Down
29 changes: 24 additions & 5 deletions components/lvgl/widgets.rst
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ To apply styles to the states, you need to specify them one level above, for exa

The state itself can be can be changed by interacting with the widget, or through :ref:`actions <lvgl-automation-actions>` with ``lvgl.widget.update``.

See :ref:`lvgl-cookbook-cover` for a cookbook example which demonstrates how to use styling and properties to show different states of a Home Assistant entity.

.. _lvgl-widget-flags:

In addition to visual styling, each widget supports some boolean **flags** to influence the behavior:
Expand Down Expand Up @@ -114,7 +116,7 @@ In addition to visual styling, each widget supports some boolean **flags** to in

.. note::

LVGL only supports **integers** for numeric ``value``. Visualizer widgets can't display floats directly, but they allow scaling by 10s.
LVGL only supports **integers** for numeric ``value``. Visualizer widgets can't display floats directly, but they allow scaling by 10s. Some examples in the :doc:`Cookbook </cookbook/lvgl>` cover how to do that.

.. _lvgl-widget-parts:

Expand Down Expand Up @@ -264,6 +266,8 @@ The animation image is similar to the normal ``image`` widget. The main differen
repeat_count: 100
duration: 300ms

See :ref:`lvgl-cookbook-animbatt` in the Cookbook for a more detailed example.

.. _lvgl-widget-arc:

``arc``
Expand Down Expand Up @@ -345,7 +349,9 @@ If the ``adv_hittest`` :ref:`flag <lvgl-widget-flags>` is enabled the arc can be

The ``on_value`` trigger is sent as the arc knob is dragged or changed with keys. The event is sent *continuously* while the arc knob is being dragged; this generally has a negative effect on performance. To mitigate this, consider using a :ref:`universal interaction trigger <lvgl-automation-triggers>` like ``on_release``, to get the ``x`` variable once after the interaction has completed.

The ``arc`` can be also integrated as :doc:`Number </components/number/lvgl>` or :doc:`Sensor </components/sensor/lvgl>` component.
The ``arc`` can be also integrated as a :doc:`Number </components/number/lvgl>` or :doc:`Sensor </components/sensor/lvgl>` component.

See :ref:`lvgl-cookbook-bright` and :ref:`lvgl-cookbook-volume` for examples which demonstrate how to use a slider (or an arc) to control entities in Home Assistant.

.. _lvgl-widget-bar:

Expand Down Expand Up @@ -466,6 +472,8 @@ To have a button with a text label on it, add a child :ref:`lvgl-widget-label` w

The ``button`` can be also integrated as a :doc:`Binary Sensor </components/binary_sensor/lvgl>` or as a :doc:`Switch </components/switch/lvgl>` component.

See :ref:`lvgl-cookbook-binent` for an example which demonstrates how to use a checkable button to act on a Home Assistant service.

.. _lvgl-widget-buttonmatrix:

``buttonmatrix``
Expand Down Expand Up @@ -596,7 +604,7 @@ The button matrix widget is a lightweight way to display multiple buttons in row

.. tip::

The Button Matrix widget supports the :ref:`key_collector` to collect the button presses as key press sequences for further automations.
The Button Matrix widget supports the :ref:`key_collector` to collect the button presses as key press sequences for further automations. Check out :ref:`lvgl-cookbook-keypad` for an example.

.. _lvgl-widget-checkbox:

Expand Down Expand Up @@ -656,7 +664,7 @@ The checkbox widget is made internally from a *tick box* and a label. When the c

.. note::

In case you configure ``default_font`` in the main section to a custom font, the checkmark will not be shown correctly when the checkbox is in the checked state.
In case you configure ``default_font`` in the main section to a custom font, the checkmark will not be shown correctly when the checkbox is in the checked state. See :ref:`lvgl-cookbook-ckboxmark` for how to easily resolve this.

The ``checkbox`` can be also integrated as a :doc:`Switch </components/switch/lvgl>` component.

Expand Down Expand Up @@ -988,6 +996,8 @@ The ``led`` can be also integrated as :doc:`Light </components/light/lvgl>` comp

If configured as a light component, ``color`` and ``brightness`` are overridden by the light at startup, according to its ``restore_mode`` setting.

Check out :ref:`lvgl-cookbook-keypad` in the Cookbook for an example which demonstrates how to change the ``led`` styling properties from an automation.

.. _lvgl-widget-line:

``line``
Expand Down Expand Up @@ -1139,6 +1149,8 @@ The meter widget can visualize data in very flexible ways. It can use arcs, need
id: temperature_needle
value: 3

See :ref:`lvgl-cookbook-gauge`, :ref:`lvgl-cookbook-thermometer` and :ref:`lvgl-cookbook-clock` in the Cookbook for examples which demonstrate how to effectively use this widget.

.. _lvgl-widget-msgbox:

``msgboxes``
Expand Down Expand Up @@ -1362,6 +1374,8 @@ Normally, the slider can be adjusted either by dragging the knob, or by clicking

The ``slider`` can be also integrated as :doc:`Number </components/number/lvgl>` or :doc:`Sensor </components/sensor/lvgl>` component.

See :ref:`lvgl-cookbook-bright` and :ref:`lvgl-cookbook-volume` for examples which demonstrate how to use a slider to control entities in Home Assistant.

.. _lvgl-widget-spinbox:

``spinbox``
Expand Down Expand Up @@ -1437,7 +1451,9 @@ The spinbox contains a numeric value (as text) which can be increased or decreas
format: "Spinbox value is %f"
args: [ x ]

The ``spinbox`` can be also integrated as :doc:`Number </components/number/lvgl>` or :doc:`Sensor </components/sensor/lvgl>` component.
The ``spinbox`` can be also integrated as a :doc:`Number </components/number/lvgl>` or :doc:`Sensor </components/sensor/lvgl>` component.

See :ref:`lvgl-cookbook-climate` for an example which demonstrates how to implement a thermostat control using the spinbox.

.. _lvgl-widget-spinner:

Expand Down Expand Up @@ -1531,6 +1547,8 @@ The switch looks like a little slider and can be used to turn something on and o

The ``switch`` can be also integrated as a :doc:`Switch </components/switch/lvgl>` component.

See :ref:`lvgl-cookbook-relay` for an example which demonstrates how to use a switch to act on a local component.

.. _lvgl-widget-tabview:

``tabview``
Expand Down Expand Up @@ -1781,6 +1799,7 @@ This powerful :ref:`action <actions-action>` allows changing/updating any widget
id: my_label_id
hidden: true

Check out in the Cookbook :ref:`lvgl-cookbook-binent` for an example which demonstrates how to use a template to update the state.

.. _lvgl-automation-shorthands:

Expand Down
6 changes: 3 additions & 3 deletions components/output/custom.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Custom Output

.. warning::

Custom components are deprecated, not recommended for new configurations and will be removed from ESPHome in a
future release. Please look at creating a real ESPHome component and "importing" it into your configuration with
:doc:`/components/external_components`.
:ref:`Custom Components are deprecated<a_note_about_custom_components>`, not recommended for new configurations and
will be removed from ESPHome in a future release. Please look at creating a real ESPHome component and "importing"
it into your configuration with :doc:`/components/external_components`.

You can find some basic documentation on creating your own components at :ref:`contributing_to_esphome`.

Expand Down
14 changes: 6 additions & 8 deletions components/sensor/bmi160.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,13 @@ BMI160 Accelerometer/Gyroscope Sensor

The ``bmi160`` sensor platform allows you to use your BMI160 Accelerometer/Gyroscope
(`datasheet <https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi160-ds000.pdf>`__,
`SparkFun`_) sensors with
ESPHome. The :ref:`I²C Bus <i2c>` is
required to be set up in your configuration for this sensor to work.

This component only does some basic filtering and no calibration. Due to the complexity of
this sensor and the amount of possible configuration options, you should probably
create a custom component by copying and modifying the existing code if you want a specific
new feature. Supporting all possible use-cases would be quite hard.
`SparkFun`_) sensors with ESPHome. The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this
sensor to work.

This component only does some basic filtering and no calibration. Due to the complexity of this sensor and the amount
of possible configuration options, you should probably create an :doc:`external component</components/external_components>`
by copying and modifying the existing code if you want a specific new feature. Supporting all possible use cases would
be quite hard.

.. figure:: images/bmi160-full.jpg
:align: center
Expand Down
6 changes: 3 additions & 3 deletions components/sensor/custom.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Custom Sensor Component

.. warning::

Custom components are deprecated, not recommended for new configurations and will be removed from ESPHome in a
future release. Please look at creating a real ESPHome component and "importing" it into your configuration with
:doc:`/components/external_components`.
:ref:`Custom Components are deprecated<a_note_about_custom_components>`, not recommended for new configurations and
will be removed from ESPHome in a future release. Please look at creating a real ESPHome component and "importing"
it into your configuration with :doc:`/components/external_components`.

You can find some basic documentation on creating your own components at :ref:`contributing_to_esphome`.

Expand Down
14 changes: 6 additions & 8 deletions components/sensor/mpu6050.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,13 @@ MPU6050 Accelerometer/Gyroscope Sensor

The ``mpu6050`` sensor platform allows you to use your MPU6050 Accelerometer/Gyroscope
(`datasheet <https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf>`__,
`SparkFun`_) sensors with
ESPHome. The :ref:`I²C Bus <i2c>` is
required to be set up in your configuration for this sensor to work.

This component only does some basic filtering and no calibration. Due to the complexity of
this sensor and the amount of possible configuration options, you should probably
create a custom component by copying and modifying the existing code if you want a specific
new feature. Supporting all possible use-cases would be quite hard.
`SparkFun`_) sensors with ESPHome. The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this
sensor to work.

This component only does some basic filtering and no calibration. Due to the complexity of this sensor and the amount
of possible configuration options, you should probably create an :doc:`external component</components/external_components>`
by copying and modifying the existing code if you want a specific new feature. Supporting all possible use cases would
be quite hard.

.. figure:: images/mpu6050-full.jpg
:align: center
Expand Down
Loading